From acbb59a589171a97f6a4276cb825c9c58d22d6f1 Mon Sep 17 00:00:00 2001 From: Trivikram Kamat <16024985+trivikr@users.noreply.github.com> Date: Thu, 19 Aug 2021 12:11:38 -0700 Subject: [PATCH] feat(clients): update clients as of 08/19/2021 (#2689) --- clients/client-appflow/Appflow.ts | 6 +- clients/client-appflow/AppflowClient.ts | 2 +- clients/client-appflow/README.md | 2 +- .../commands/CreateConnectorProfileCommand.ts | 4 +- clients/client-appflow/models/models_0.ts | 352 +- .../client-appflow/protocols/Aws_restJson1.ts | 186 + .../ApplicationAutoScaling.ts | 29 +- .../ApplicationAutoScalingClient.ts | 29 +- .../client-application-auto-scaling/README.md | 29 +- .../models/models_0.ts | 330 +- clients/client-cloud9/models/models_0.ts | 32 + .../client-cloud9/protocols/Aws_json1_1.ts | 3 + .../client-clouddirectory/models/models_0.ts | 39 +- .../client-cloudwatch-logs/CloudWatchLogs.ts | 60 +- .../CloudWatchLogsClient.ts | 6 +- clients/client-cloudwatch-logs/README.md | 6 +- .../commands/AssociateKmsKeyCommand.ts | 8 +- .../commands/CreateLogGroupCommand.ts | 10 +- .../commands/DescribeLogGroupsCommand.ts | 7 + .../commands/DisassociateKmsKeyCommand.ts | 6 +- .../commands/PutDestinationPolicyCommand.ts | 2 +- .../commands/PutLogEventsCommand.ts | 4 +- .../commands/PutMetricFilterCommand.ts | 2 +- .../commands/PutResourcePolicyCommand.ts | 4 +- .../commands/PutSubscriptionFilterCommand.ts | 2 +- .../commands/TagLogGroupCommand.ts | 5 + .../commands/UntagLogGroupCommand.ts | 4 + .../client-cloudwatch-logs/models/models_0.ts | 79 +- clients/client-codebuild/models/models_0.ts | 7 +- .../client-config-service/models/models_0.ts | 11 + clients/client-cost-explorer/CostExplorer.ts | 48 +- .../CostExplorerClient.ts | 12 +- clients/client-cost-explorer/README.md | 12 +- .../commands/GetAnomaliesCommand.ts | 2 +- .../commands/GetCostAndUsageCommand.ts | 11 +- .../GetCostAndUsageWithResourcesCommand.ts | 5 +- .../commands/GetCostCategoriesCommand.ts | 2 +- ...eservationPurchaseRecommendationCommand.ts | 10 +- .../GetRightsizingRecommendationCommand.ts | 2 +- .../commands/UpdateAnomalyMonitorCommand.ts | 2 +- .../UpdateAnomalySubscriptionCommand.ts | 2 +- .../client-cost-explorer/models/models_0.ts | 1837 ++--- .../protocols/Aws_json1_1.ts | 185 + .../DirectoryService.ts | 189 +- .../DirectoryServiceClient.ts | 22 +- clients/client-directory-service/README.md | 14 +- .../commands/AddIpRoutesCommand.ts | 10 +- .../commands/AddTagsToResourceCommand.ts | 4 +- .../commands/CancelSchemaExtensionCommand.ts | 6 +- .../commands/ConnectDirectoryCommand.ts | 4 +- .../CreateConditionalForwarderCommand.ts | 4 +- .../commands/CreateDirectoryCommand.ts | 4 +- .../commands/CreateLogSubscriptionCommand.ts | 2 +- .../commands/CreateMicrosoftADCommand.ts | 6 +- .../commands/CreateSnapshotCommand.ts | 2 +- .../commands/CreateTrustCommand.ts | 9 +- .../DeleteConditionalForwarderCommand.ts | 3 +- .../commands/DeleteDirectoryCommand.ts | 4 +- .../commands/DeleteTrustCommand.ts | 3 +- .../commands/DeregisterEventTopicCommand.ts | 2 +- ...ribeClientAuthenticationSettingsCommand.ts | 106 + .../DescribeConditionalForwardersCommand.ts | 3 +- .../commands/DescribeEventTopicsCommand.ts | 6 +- .../commands/DescribeTrustsCommand.ts | 3 +- .../commands/DisableRadiusCommand.ts | 3 +- .../commands/EnableRadiusCommand.ts | 3 +- .../commands/EnableSsoCommand.ts | 4 +- .../commands/ListLogSubscriptionsCommand.ts | 2 +- .../commands/RegisterEventTopicCommand.ts | 6 +- .../commands/ResetUserPasswordCommand.ts | 9 +- .../commands/ShareDirectoryCommand.ts | 12 +- .../UpdateConditionalForwarderCommand.ts | 3 +- .../UpdateNumberOfDomainControllersCommand.ts | 6 +- .../commands/UpdateRadiusCommand.ts | 3 +- .../commands/UpdateTrustCommand.ts | 3 +- .../commands/VerifyTrustCommand.ts | 6 +- clients/client-directory-service/index.ts | 1 + .../models/models_0.ts | 547 +- .../protocols/Aws_json1_1.ts | 167 + clients/client-ec2/EC2.ts | 26 +- .../commands/CreateKeyPairCommand.ts | 8 +- .../commands/CreateSecurityGroupCommand.ts | 4 +- .../DeleteClientVpnEndpointCommand.ts | 3 +- ...tanceEventNotificationAttributesCommand.ts | 6 +- .../commands/DescribeKeyPairsCommand.ts | 2 +- .../commands/DescribeSecurityGroupsCommand.ts | 4 +- .../commands/DescribeVpcAttributeCommand.ts | 3 +- .../commands/ImportInstanceCommand.ts | 2 +- .../commands/ImportKeyPairCommand.ts | 4 +- .../commands/ImportVolumeCommand.ts | 2 +- ...odifyVpcPeeringConnectionOptionsCommand.ts | 3 +- clients/client-ec2/models/models_0.ts | 6 +- clients/client-ec2/models/models_1.ts | 35 +- clients/client-ec2/models/models_2.ts | 48 +- clients/client-ec2/models/models_3.ts | 74 +- clients/client-ec2/models/models_4.ts | 119 +- clients/client-ec2/models/models_5.ts | 23 +- clients/client-ec2/protocols/Aws_ec2.ts | 26 +- clients/client-iotsitewise/models/models_0.ts | 65 +- .../protocols/Aws_restJson1.ts | 3 + .../client-license-manager/models/models_0.ts | 1 + clients/client-memorydb/.gitignore | 9 + clients/client-memorydb/.npmignore | 4 + clients/client-memorydb/LICENSE | 201 + clients/client-memorydb/MemoryDB.ts | 1245 +++ clients/client-memorydb/MemoryDBClient.ts | 370 + clients/client-memorydb/README.md | 205 + .../commands/BatchUpdateClusterCommand.ts | 94 + .../commands/CopySnapshotCommand.ts | 94 + .../commands/CreateACLCommand.ts | 91 + .../commands/CreateClusterCommand.ts | 94 + .../commands/CreateParameterGroupCommand.ts | 97 + .../commands/CreateSnapshotCommand.ts | 94 + .../commands/CreateSubnetGroupCommand.ts | 97 + .../commands/CreateUserCommand.ts | 94 + .../commands/DeleteACLCommand.ts | 91 + .../commands/DeleteClusterCommand.ts | 94 + .../commands/DeleteParameterGroupCommand.ts | 95 + .../commands/DeleteSnapshotCommand.ts | 94 + .../commands/DeleteSubnetGroupCommand.ts | 94 + .../commands/DeleteUserCommand.ts | 94 + .../commands/DescribeACLsCommand.ts | 94 + .../commands/DescribeClustersCommand.ts | 94 + .../commands/DescribeEngineVersionsCommand.ts | 94 + .../commands/DescribeEventsCommand.ts | 96 + .../DescribeParameterGroupsCommand.ts | 94 + .../commands/DescribeParametersCommand.ts | 94 + .../commands/DescribeServiceUpdatesCommand.ts | 94 + .../commands/DescribeSnapshotsCommand.ts | 95 + .../commands/DescribeSubnetGroupsCommand.ts | 94 + .../commands/DescribeUsersCommand.ts | 94 + .../commands/FailoverShardCommand.ts | 94 + .../ListAllowedNodeTypeUpdatesCommand.ts | 99 + .../commands/ListTagsCommand.ts | 95 + .../commands/ResetParameterGroupCommand.ts | 94 + .../commands/TagResourceCommand.ts | 104 + .../commands/UntagResourceCommand.ts | 94 + .../commands/UpdateACLCommand.ts | 91 + .../commands/UpdateClusterCommand.ts | 94 + .../commands/UpdateParameterGroupCommand.ts | 94 + .../commands/UpdateSubnetGroupCommand.ts | 95 + .../commands/UpdateUserCommand.ts | 94 + clients/client-memorydb/endpoints.ts | 84 + clients/client-memorydb/index.ts | 38 + clients/client-memorydb/jest.config.js | 4 + clients/client-memorydb/models/index.ts | 1 + clients/client-memorydb/models/models_0.ts | 3789 ++++++++++ clients/client-memorydb/package.json | 91 + .../client-memorydb/protocols/Aws_json1_1.ts | 6693 +++++++++++++++++ .../client-memorydb/runtimeConfig.browser.ts | 40 + .../client-memorydb/runtimeConfig.native.ts | 16 + .../client-memorydb/runtimeConfig.shared.ts | 16 + clients/client-memorydb/runtimeConfig.ts | 45 + clients/client-memorydb/tsconfig.es.json | 12 + clients/client-memorydb/tsconfig.json | 32 + clients/client-route-53/models/models_0.ts | 4 +- clients/client-route53resolver/README.md | 2 +- .../client-route53resolver/Route53Resolver.ts | 33 +- .../Route53ResolverClient.ts | 2 +- .../CreateResolverQueryLogConfigCommand.ts | 2 +- .../DeleteResolverQueryLogConfigCommand.ts | 2 +- ...sassociateResolverQueryLogConfigCommand.ts | 2 +- .../GetFirewallRuleGroupPolicyCommand.ts | 5 +- .../GetResolverQueryLogConfigPolicyCommand.ts | 2 +- .../ListResolverDnssecConfigsCommand.ts | 2 +- .../commands/ListResolverEndpointsCommand.ts | 2 +- .../ListResolverRuleAssociationsCommand.ts | 2 +- .../commands/ListResolverRulesCommand.ts | 2 +- .../PutFirewallRuleGroupPolicyCommand.ts | 6 +- .../PutResolverQueryLogConfigPolicyCommand.ts | 2 +- .../commands/PutResolverRulePolicyCommand.ts | 2 +- .../client-route53resolver/models/models_0.ts | 64 +- clients/client-s3/S3.ts | 270 +- .../client-s3/commands/CopyObjectCommand.ts | 4 +- .../client-s3/commands/CreateBucketCommand.ts | 22 +- .../commands/CreateMultipartUploadCommand.ts | 41 +- .../commands/DeleteBucketPolicyCommand.ts | 4 +- .../commands/GetBucketLocationCommand.ts | 4 +- .../commands/GetBucketPolicyCommand.ts | 4 +- .../client-s3/commands/GetObjectCommand.ts | 12 +- .../client-s3/commands/HeadBucketCommand.ts | 3 + .../client-s3/commands/HeadObjectCommand.ts | 2 +- .../commands/ListObjectsV2Command.ts | 2 +- .../client-s3/commands/PutBucketAclCommand.ts | 17 +- .../commands/PutBucketEncryptionCommand.ts | 4 +- .../PutBucketInventoryConfigurationCommand.ts | 2 +- .../PutBucketLifecycleConfigurationCommand.ts | 2 +- .../commands/PutBucketLoggingCommand.ts | 2 +- ...tBucketNotificationConfigurationCommand.ts | 2 +- .../commands/PutBucketPolicyCommand.ts | 9 +- .../commands/PutBucketReplicationCommand.ts | 30 +- .../commands/PutBucketTaggingCommand.ts | 6 +- .../client-s3/commands/PutObjectAclCommand.ts | 17 +- .../client-s3/commands/PutObjectCommand.ts | 27 +- .../PutObjectLockConfigurationCommand.ts | 2 +- .../commands/PutObjectRetentionCommand.ts | 10 + .../commands/RestoreObjectCommand.ts | 4 +- .../commands/SelectObjectContentCommand.ts | 5 +- .../client-s3/commands/UploadPartCommand.ts | 6 +- .../commands/WriteGetObjectResponseCommand.ts | 27 +- clients/client-s3/models/models_0.ts | 294 +- clients/client-s3/models/models_1.ts | 30 +- .../SageMakerRuntime.ts | 53 + .../SageMakerRuntimeClient.ts | 8 +- .../commands/InvokeEndpointAsyncCommand.ts | 110 + clients/client-sagemaker-runtime/index.ts | 1 + .../models/models_0.ts | 87 + .../protocols/Aws_restJson1.ts | 120 + .../CreateModelBiasJobDefinitionCommand.ts | 2 +- .../commands/DescribeTrialCommand.ts | 2 +- .../commands/DescribeTrialComponentCommand.ts | 3 +- .../commands/UpdateEndpointCommand.ts | 3 +- ...dateEndpointWeightsAndCapacitiesCommand.ts | 2 +- .../commands/UpdateExperimentCommand.ts | 3 +- clients/client-sagemaker/models/models_0.ts | 247 +- clients/client-sagemaker/models/models_1.ts | 309 +- clients/client-sagemaker/models/models_2.ts | 199 +- clients/client-sagemaker/models/models_3.ts | 81 + .../client-sagemaker/protocols/Aws_json1_1.ts | 138 +- .../aws-models/appflow.2020-08-23.json | 526 +- .../application-auto-scaling.2016-02-06.json | 162 +- .../aws-models/cloud9.2017-09-23.json | 33 + .../aws-models/clouddirectory.2017-01-11.json | 46 +- .../cloudwatch-logs.2014-03-28.json | 48 +- .../aws-models/codebuild.2016-10-06.json | 2 +- .../aws-models/config-service.2014-11-12.json | 68 +- .../aws-models/cost-explorer.2017-10-25.json | 955 ++- .../directory-service.2015-04-16.json | 454 +- .../aws-models/ec2.2016-11-15.json | 93 +- .../aws-models/iotsitewise.2019-12-02.json | 21 +- .../license-manager.2018-08-01.json | 4 + .../aws-models/memorydb.2021-01-01.json | 5130 +++++++++++++ .../aws-models/route-53.2013-04-01.json | 2 +- .../route53resolver.2018-04-01.json | 68 +- .../sdk-codegen/aws-models/s3.2006-03-01.json | 274 +- .../sagemaker-runtime.2017-05-13.json | 139 +- .../aws-models/sagemaker.2017-07-24.json | 245 +- 237 files changed, 28527 insertions(+), 3358 deletions(-) create mode 100644 clients/client-directory-service/commands/DescribeClientAuthenticationSettingsCommand.ts create mode 100644 clients/client-memorydb/.gitignore create mode 100644 clients/client-memorydb/.npmignore create mode 100644 clients/client-memorydb/LICENSE create mode 100644 clients/client-memorydb/MemoryDB.ts create mode 100644 clients/client-memorydb/MemoryDBClient.ts create mode 100644 clients/client-memorydb/README.md create mode 100644 clients/client-memorydb/commands/BatchUpdateClusterCommand.ts create mode 100644 clients/client-memorydb/commands/CopySnapshotCommand.ts create mode 100644 clients/client-memorydb/commands/CreateACLCommand.ts create mode 100644 clients/client-memorydb/commands/CreateClusterCommand.ts create mode 100644 clients/client-memorydb/commands/CreateParameterGroupCommand.ts create mode 100644 clients/client-memorydb/commands/CreateSnapshotCommand.ts create mode 100644 clients/client-memorydb/commands/CreateSubnetGroupCommand.ts create mode 100644 clients/client-memorydb/commands/CreateUserCommand.ts create mode 100644 clients/client-memorydb/commands/DeleteACLCommand.ts create mode 100644 clients/client-memorydb/commands/DeleteClusterCommand.ts create mode 100644 clients/client-memorydb/commands/DeleteParameterGroupCommand.ts create mode 100644 clients/client-memorydb/commands/DeleteSnapshotCommand.ts create mode 100644 clients/client-memorydb/commands/DeleteSubnetGroupCommand.ts create mode 100644 clients/client-memorydb/commands/DeleteUserCommand.ts create mode 100644 clients/client-memorydb/commands/DescribeACLsCommand.ts create mode 100644 clients/client-memorydb/commands/DescribeClustersCommand.ts create mode 100644 clients/client-memorydb/commands/DescribeEngineVersionsCommand.ts create mode 100644 clients/client-memorydb/commands/DescribeEventsCommand.ts create mode 100644 clients/client-memorydb/commands/DescribeParameterGroupsCommand.ts create mode 100644 clients/client-memorydb/commands/DescribeParametersCommand.ts create mode 100644 clients/client-memorydb/commands/DescribeServiceUpdatesCommand.ts create mode 100644 clients/client-memorydb/commands/DescribeSnapshotsCommand.ts create mode 100644 clients/client-memorydb/commands/DescribeSubnetGroupsCommand.ts create mode 100644 clients/client-memorydb/commands/DescribeUsersCommand.ts create mode 100644 clients/client-memorydb/commands/FailoverShardCommand.ts create mode 100644 clients/client-memorydb/commands/ListAllowedNodeTypeUpdatesCommand.ts create mode 100644 clients/client-memorydb/commands/ListTagsCommand.ts create mode 100644 clients/client-memorydb/commands/ResetParameterGroupCommand.ts create mode 100644 clients/client-memorydb/commands/TagResourceCommand.ts create mode 100644 clients/client-memorydb/commands/UntagResourceCommand.ts create mode 100644 clients/client-memorydb/commands/UpdateACLCommand.ts create mode 100644 clients/client-memorydb/commands/UpdateClusterCommand.ts create mode 100644 clients/client-memorydb/commands/UpdateParameterGroupCommand.ts create mode 100644 clients/client-memorydb/commands/UpdateSubnetGroupCommand.ts create mode 100644 clients/client-memorydb/commands/UpdateUserCommand.ts create mode 100644 clients/client-memorydb/endpoints.ts create mode 100644 clients/client-memorydb/index.ts create mode 100644 clients/client-memorydb/jest.config.js create mode 100644 clients/client-memorydb/models/index.ts create mode 100644 clients/client-memorydb/models/models_0.ts create mode 100644 clients/client-memorydb/package.json create mode 100644 clients/client-memorydb/protocols/Aws_json1_1.ts create mode 100644 clients/client-memorydb/runtimeConfig.browser.ts create mode 100644 clients/client-memorydb/runtimeConfig.native.ts create mode 100644 clients/client-memorydb/runtimeConfig.shared.ts create mode 100644 clients/client-memorydb/runtimeConfig.ts create mode 100644 clients/client-memorydb/tsconfig.es.json create mode 100644 clients/client-memorydb/tsconfig.json create mode 100644 clients/client-sagemaker-runtime/commands/InvokeEndpointAsyncCommand.ts create mode 100644 codegen/sdk-codegen/aws-models/memorydb.2021-01-01.json diff --git a/clients/client-appflow/Appflow.ts b/clients/client-appflow/Appflow.ts index c061665d9a2c..3c8abc7ff2f9 100644 --- a/clients/client-appflow/Appflow.ts +++ b/clients/client-appflow/Appflow.ts @@ -69,7 +69,7 @@ import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; * *

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

+ * Slack, and ServiceNow, and Amazon Web Services like Amazon S3 and Amazon Redshift.

* * * @@ -108,8 +108,8 @@ import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; */ export class Appflow extends AppflowClient { /** - *

Creates a new connector profile associated with your AWS account. There is a soft quota - * of 100 connector profiles per AWS account. If you need more connector profiles than this quota + *

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

*/ diff --git a/clients/client-appflow/AppflowClient.ts b/clients/client-appflow/AppflowClient.ts index ec8688b3b127..8787b215211b 100644 --- a/clients/client-appflow/AppflowClient.ts +++ b/clients/client-appflow/AppflowClient.ts @@ -277,7 +277,7 @@ export interface AppflowClientResolvedConfig extends AppflowClientResolvedConfig * *

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

+ * Slack, and ServiceNow, and Amazon Web Services like Amazon S3 and Amazon Redshift.

* * * diff --git a/clients/client-appflow/README.md b/clients/client-appflow/README.md index d4411ca365cc..c1fe334f4142 100644 --- a/clients/client-appflow/README.md +++ b/clients/client-appflow/README.md @@ -12,7 +12,7 @@ detailed information about the Amazon AppFlow API operations, data types, and er

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

+Slack, and ServiceNow, and Amazon Web Services like Amazon S3 and Amazon Redshift.

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

diff --git a/clients/client-appflow/commands/CreateConnectorProfileCommand.ts b/clients/client-appflow/commands/CreateConnectorProfileCommand.ts index 783aad88de86..ba8d2c80ce9c 100644 --- a/clients/client-appflow/commands/CreateConnectorProfileCommand.ts +++ b/clients/client-appflow/commands/CreateConnectorProfileCommand.ts @@ -21,8 +21,8 @@ export interface CreateConnectorProfileCommandInput extends CreateConnectorProfi export interface CreateConnectorProfileCommandOutput extends CreateConnectorProfileResponse, __MetadataBearer {} /** - *

Creates a new connector profile associated with your AWS account. There is a soft quota - * of 100 connector profiles per AWS account. If you need more connector profiles than this quota + *

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

* @example diff --git a/clients/client-appflow/models/models_0.ts b/clients/client-appflow/models/models_0.ts index 808fd32e3646..d933a929ec65 100644 --- a/clients/client-appflow/models/models_0.ts +++ b/clients/client-appflow/models/models_0.ts @@ -104,6 +104,31 @@ export namespace AmplitudeSourceProperties { }); } +/** + *

The basic auth credentials required for basic authentication.

+ */ +export interface BasicAuthCredentials { + /** + *

The username to use to connect to a resource.

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

The password to use to connect to a resource.

+ */ + password: string | undefined; +} + +export namespace BasicAuthCredentials { + /** + * @internal + */ + export const filterSensitiveLog = (obj: BasicAuthCredentials): any => ({ + ...obj, + ...(obj.password && { password: SENSITIVE_STRING }), + }); +} + /** *

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.

@@ -315,6 +340,20 @@ export namespace SalesforceMetadata { }); } +/** + *

The connector metadata specific to SAPOData.

+ */ +export interface SAPODataMetadata {} + +export namespace SAPODataMetadata { + /** + * @internal + */ + export const filterSensitiveLog = (obj: SAPODataMetadata): any => ({ + ...obj, + }); +} + /** *

The connector metadata specific to ServiceNow.

*/ @@ -367,7 +406,7 @@ export namespace SlackMetadata { */ export interface SnowflakeMetadata { /** - *

Specifies the supported AWS Regions when using Snowflake.

+ *

Specifies the supported Amazon Web Services Regions when using Snowflake.

*/ supportedRegions?: string[]; } @@ -546,6 +585,11 @@ export interface ConnectorMetadata { *

The connector metadata specific to Amazon Honeycode.

*/ Honeycode?: HoneycodeMetadata; + + /** + *

The connector metadata specific to SAPOData.

+ */ + SAPOData?: SAPODataMetadata; } export namespace ConnectorMetadata { @@ -571,6 +615,7 @@ export enum ConnectorType { REDSHIFT = "Redshift", S3 = "S3", SALESFORCE = "Salesforce", + SAPODATA = "SAPOData", SERVICENOW = "Servicenow", SINGULAR = "Singular", SLACK = "Slack", @@ -1038,6 +1083,30 @@ export enum SalesforceConnectorOperator { VALIDATE_NUMERIC = "VALIDATE_NUMERIC", } +export enum SAPODataConnectorOperator { + ADDITION = "ADDITION", + BETWEEN = "BETWEEN", + CONTAINS = "CONTAINS", + DIVISION = "DIVISION", + EQUAL_TO = "EQUAL_TO", + GREATER_THAN = "GREATER_THAN", + GREATER_THAN_OR_EQUAL_TO = "GREATER_THAN_OR_EQUAL_TO", + LESS_THAN = "LESS_THAN", + LESS_THAN_OR_EQUAL_TO = "LESS_THAN_OR_EQUAL_TO", + MASK_ALL = "MASK_ALL", + MASK_FIRST_N = "MASK_FIRST_N", + MASK_LAST_N = "MASK_LAST_N", + MULTIPLICATION = "MULTIPLICATION", + NOT_EQUAL_TO = "NOT_EQUAL_TO", + NO_OP = "NO_OP", + PROJECTION = "PROJECTION", + SUBTRACTION = "SUBTRACTION", + VALIDATE_NON_NEGATIVE = "VALIDATE_NON_NEGATIVE", + VALIDATE_NON_NULL = "VALIDATE_NON_NULL", + VALIDATE_NON_ZERO = "VALIDATE_NON_ZERO", + VALIDATE_NUMERIC = "VALIDATE_NUMERIC", +} + export enum ServiceNowConnectorOperator { ADDITION = "ADDITION", BETWEEN = "BETWEEN", @@ -1232,6 +1301,11 @@ export interface ConnectorOperator { *

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

*/ Zendesk?: ZendeskConnectorOperator | string; + + /** + *

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

+ */ + SAPOData?: SAPODataConnectorOperator | string; } export namespace ConnectorOperator { @@ -1407,6 +1481,86 @@ export namespace SalesforceConnectorProfileProperties { }); } +/** + *

The OAuth properties required for OAuth type authentication.

+ */ +export interface OAuthProperties { + /** + *

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

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

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

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

The OAuth scopes required for OAuth type authentication.

+ */ + oAuthScopes: string[] | undefined; +} + +export namespace OAuthProperties { + /** + * @internal + */ + export const filterSensitiveLog = (obj: OAuthProperties): any => ({ + ...obj, + }); +} + +/** + *

The connector-specific profile properties required when using SAPOData.

+ */ +export interface SAPODataConnectorProfileProperties { + /** + *

The location of the SAPOData resource.

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

The application path to catalog service.

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

The port number of the SAPOData instance.

+ */ + portNumber: number | undefined; + + /** + *

The client number for the client creating the connection.

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

The logon language of SAPOData instance.

+ */ + logonLanguage?: string; + + /** + *

The SAPOData Private Link service name to be used for private data transfers.

+ */ + privateLinkServiceName?: string; + + /** + *

The SAPOData OAuth properties required for OAuth type authentication.

+ */ + oAuthProperties?: OAuthProperties; +} + +export namespace SAPODataConnectorProfileProperties { + /** + * @internal + */ + export const filterSensitiveLog = (obj: SAPODataConnectorProfileProperties): any => ({ + ...obj, + }); +} + /** *

The connector-specific profile properties required when using ServiceNow.

*/ @@ -1496,7 +1650,7 @@ export interface SnowflakeConnectorProfileProperties { accountName?: string; /** - *

The AWS Region of the Snowflake account.

+ *

The Amazon Web Services Region of the Snowflake account.

*/ region?: string; } @@ -1645,6 +1799,11 @@ export interface ConnectorProfileProperties { *

The connector-specific properties required by Zendesk.

*/ Zendesk?: ZendeskConnectorProfileProperties; + + /** + *

The connector-specific profile properties required when using SAPOData.

+ */ + SAPOData?: SAPODataConnectorProfileProperties; } export namespace ConnectorProfileProperties { @@ -1656,6 +1815,49 @@ export namespace ConnectorProfileProperties { }); } +export enum PrivateConnectionProvisioningFailureCause { + ACCESS_DENIED = "ACCESS_DENIED", + CONNECTOR_AUTHENTICATION = "CONNECTOR_AUTHENTICATION", + CONNECTOR_SERVER = "CONNECTOR_SERVER", + INTERNAL_SERVER = "INTERNAL_SERVER", + VALIDATION = "VALIDATION", +} + +export enum PrivateConnectionProvisioningStatus { + CREATED = "CREATED", + FAILED = "FAILED", + PENDING = "PENDING", +} + +/** + *

Specifies the private connection provisioning state.

+ */ +export interface PrivateConnectionProvisioningState { + /** + *

Specifies the private connection provisioning status.

+ */ + status?: PrivateConnectionProvisioningStatus | string; + + /** + *

Specifies the private connection provisioning failure reason.

+ */ + failureMessage?: string; + + /** + *

Specifies the private connection provisioning failure cause.

+ */ + failureCause?: PrivateConnectionProvisioningFailureCause | string; +} + +export namespace PrivateConnectionProvisioningState { + /** + * @internal + */ + export const filterSensitiveLog = (obj: PrivateConnectionProvisioningState): any => ({ + ...obj, + }); +} + /** *

Describes an instance of a connector. This includes the provided name, credentials ARN, * connection-mode, and so on. To keep the API intuitive and extensible, the fields that are @@ -1671,7 +1873,7 @@ export interface ConnectorProfile { /** *

The name of the connector profile. The name is unique for each - * ConnectorProfile in the AWS account.

+ * ConnectorProfile in the Amazon Web Services account.

*/ connectorProfileName?: string; @@ -1704,6 +1906,11 @@ export interface ConnectorProfile { *

Specifies when the connector profile was last updated.

*/ lastUpdatedAt?: Date; + + /** + *

Specifies the private connection provisioning state.

+ */ + privateConnectionProvisioningState?: PrivateConnectionProvisioningState; } export namespace ConnectorProfile { @@ -1972,6 +2179,77 @@ export namespace SalesforceConnectorProfileCredentials { }); } +/** + *

The OAuth credentials required for OAuth type authentication.

+ */ +export interface OAuthCredentials { + /** + *

The identifier for the desired client.

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

The client secret used by the OAuth client to authenticate to the authorization server. + *

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

The access token used to access protected SAPOData resources.

+ */ + accessToken?: string; + + /** + *

The refresh token used to refresh expired access token.

+ */ + refreshToken?: string; + + /** + *

The OAuth requirement needed to request security tokens from the connector endpoint. + *

+ */ + oAuthRequest?: ConnectorOAuthRequest; +} + +export namespace OAuthCredentials { + /** + * @internal + */ + export const filterSensitiveLog = (obj: OAuthCredentials): any => ({ + ...obj, + ...(obj.clientSecret && { clientSecret: SENSITIVE_STRING }), + ...(obj.accessToken && { accessToken: SENSITIVE_STRING }), + }); +} + +/** + *

The connector-specific profile credentials required when using SAPOData.

+ */ +export interface SAPODataConnectorProfileCredentials { + /** + *

The SAPOData basic authentication credentials.

+ */ + basicAuthCredentials?: BasicAuthCredentials; + + /** + *

The SAPOData OAuth type authentication credentials.

+ */ + oAuthCredentials?: OAuthCredentials; +} + +export namespace SAPODataConnectorProfileCredentials { + /** + * @internal + */ + export const filterSensitiveLog = (obj: SAPODataConnectorProfileCredentials): any => ({ + ...obj, + ...(obj.basicAuthCredentials && { + basicAuthCredentials: BasicAuthCredentials.filterSensitiveLog(obj.basicAuthCredentials), + }), + ...(obj.oAuthCredentials && { oAuthCredentials: OAuthCredentials.filterSensitiveLog(obj.oAuthCredentials) }), + }); +} + /** *

The connector-specific profile credentials required when using ServiceNow.

*/ @@ -2246,6 +2524,11 @@ export interface ConnectorProfileCredentials { *

The connector-specific credentials required when using Zendesk.

*/ Zendesk?: ZendeskConnectorProfileCredentials; + + /** + *

The connector-specific profile credentials required when using SAPOData.

+ */ + SAPOData?: SAPODataConnectorProfileCredentials; } export namespace ConnectorProfileCredentials { @@ -2269,6 +2552,7 @@ export namespace ConnectorProfileCredentials { ...(obj.Trendmicro && { Trendmicro: TrendmicroConnectorProfileCredentials.filterSensitiveLog(obj.Trendmicro) }), ...(obj.Veeva && { Veeva: VeevaConnectorProfileCredentials.filterSensitiveLog(obj.Veeva) }), ...(obj.Zendesk && { Zendesk: ZendeskConnectorProfileCredentials.filterSensitiveLog(obj.Zendesk) }), + ...(obj.SAPOData && { SAPOData: SAPODataConnectorProfileCredentials.filterSensitiveLog(obj.SAPOData) }), }); } @@ -2321,7 +2605,7 @@ export namespace ConnectorServerException { export interface CreateConnectorProfileRequest { /** *

The name of the connector profile. The name is unique for each - * ConnectorProfile in your AWS account.

+ * ConnectorProfile in your Amazon Web Services account.

*/ connectorProfileName: string | undefined; @@ -2340,7 +2624,7 @@ export interface CreateConnectorProfileRequest { /** *

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

*/ connectionMode: ConnectionMode | string | undefined; @@ -2973,7 +3257,7 @@ export interface DestinationFlowConfig { /** *

The name of the connector profile. This name must be unique for each connector profile in - * the AWS account.

+ * the Amazon Web Services account.

*/ connectorProfileName?: string; @@ -3162,6 +3446,25 @@ export namespace SalesforceSourceProperties { }); } +/** + *

The properties that are applied when using SAPOData as a flow source.

+ */ +export interface SAPODataSourceProperties { + /** + *

The object path specified in the SAPOData flow source.

+ */ + objectPath?: string; +} + +export namespace SAPODataSourceProperties { + /** + * @internal + */ + export const filterSensitiveLog = (obj: SAPODataSourceProperties): any => ({ + ...obj, + }); +} + /** *

The properties that are applied when ServiceNow is being used as a source.

*/ @@ -3246,6 +3549,26 @@ export interface VeevaSourceProperties { *

The object specified in the Veeva flow source.

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

The document type specified in the Veeva document extract flow.

+ */ + documentType?: string; + + /** + *

Boolean value to include source files in Veeva document extract flow.

+ */ + includeSourceFiles?: boolean; + + /** + *

Boolean value to include file renditions in Veeva document extract flow.

+ */ + includeRenditions?: boolean; + + /** + *

Boolean value to include All Versions of files in Veeva document extract flow.

+ */ + includeAllVersions?: boolean; } export namespace VeevaSourceProperties { @@ -3349,6 +3672,11 @@ export interface SourceConnectorProperties { *

Specifies the information that is required for querying Zendesk.

*/ Zendesk?: ZendeskSourceProperties; + + /** + *

The properties that are applied when using SAPOData as a flow source.

+ */ + SAPOData?: SAPODataSourceProperties; } export namespace SourceConnectorProperties { @@ -3372,7 +3700,7 @@ export interface SourceFlowConfig { /** *

The name of the connector profile. This name must be unique for each connector profile in - * the AWS account.

+ * the Amazon Web Services account.

*/ connectorProfileName?: string; @@ -3766,7 +4094,7 @@ export interface DescribeConnectorEntityRequest { /** *

The name of the connector profile. The name is unique for each - * ConnectorProfile in the AWS account.

+ * ConnectorProfile in the Amazon Web Services account.

*/ connectorProfileName?: string; } @@ -3801,7 +4129,7 @@ export namespace DescribeConnectorEntityResponse { export interface DescribeConnectorProfilesRequest { /** *

The name of the connector profile. The name is unique for each - * ConnectorProfile in the AWS account.

+ * ConnectorProfile in the Amazon Web Services account.

*/ connectorProfileNames?: string[]; @@ -4294,7 +4622,7 @@ export namespace FlowDefinition { export interface ListConnectorEntitiesRequest { /** *

The name of the connector profile. The name is unique for each - * ConnectorProfile in the AWS account, and is used to query the downstream + * ConnectorProfile in the Amazon Web Services account, and is used to query the downstream * connector.

*/ connectorProfileName?: string; @@ -4582,7 +4910,7 @@ export namespace UntagResourceResponse { export interface UpdateConnectorProfileRequest { /** *

The name of the connector profile and is unique for each ConnectorProfile in - * the AWS Account.

+ * the Amazon Web Services account.

*/ connectorProfileName: string | undefined; @@ -4643,7 +4971,7 @@ export interface UpdateFlowRequest { *

Contains information about the configuration of the source connector used in the flow. *

*/ - sourceFlowConfig?: SourceFlowConfig; + sourceFlowConfig: SourceFlowConfig | undefined; /** *

The configuration that controls how Amazon AppFlow transfers data to the destination diff --git a/clients/client-appflow/protocols/Aws_restJson1.ts b/clients/client-appflow/protocols/Aws_restJson1.ts index d117716fc787..0862ecfdab22 100644 --- a/clients/client-appflow/protocols/Aws_restJson1.ts +++ b/clients/client-appflow/protocols/Aws_restJson1.ts @@ -46,6 +46,7 @@ import { AmplitudeConnectorProfileProperties, AmplitudeMetadata, AmplitudeSourceProperties, + BasicAuthCredentials, ConflictException, ConnectorAuthenticationException, ConnectorConfiguration, @@ -101,9 +102,12 @@ import { MarketoConnectorProfileProperties, MarketoMetadata, MarketoSourceProperties, + OAuthCredentials, + OAuthProperties, Operator, OperatorPropertiesKeys, PrefixConfig, + PrivateConnectionProvisioningState, RedshiftConnectorProfileCredentials, RedshiftConnectorProfileProperties, RedshiftDestinationProperties, @@ -113,6 +117,10 @@ import { S3Metadata, S3OutputFormatConfig, S3SourceProperties, + SAPODataConnectorProfileCredentials, + SAPODataConnectorProfileProperties, + SAPODataMetadata, + SAPODataSourceProperties, SalesforceConnectorProfileCredentials, SalesforceConnectorProfileProperties, SalesforceDestinationProperties, @@ -2363,6 +2371,13 @@ const serializeAws_restJson1AmplitudeSourceProperties = ( }; }; +const serializeAws_restJson1BasicAuthCredentials = (input: BasicAuthCredentials, context: __SerdeContext): any => { + return { + ...(input.password !== undefined && input.password !== null && { password: input.password }), + ...(input.username !== undefined && input.username !== null && { username: input.username }), + }; +}; + const serializeAws_restJson1ConnectorOAuthRequest = (input: ConnectorOAuthRequest, context: __SerdeContext): any => { return { ...(input.authCode !== undefined && input.authCode !== null && { authCode: input.authCode }), @@ -2380,6 +2395,7 @@ const serializeAws_restJson1ConnectorOperator = (input: ConnectorOperator, conte ...(input.InforNexus !== undefined && input.InforNexus !== null && { InforNexus: input.InforNexus }), ...(input.Marketo !== undefined && input.Marketo !== null && { Marketo: input.Marketo }), ...(input.S3 !== undefined && input.S3 !== null && { S3: input.S3 }), + ...(input.SAPOData !== undefined && input.SAPOData !== null && { SAPOData: input.SAPOData }), ...(input.Salesforce !== undefined && input.Salesforce !== null && { Salesforce: input.Salesforce }), ...(input.ServiceNow !== undefined && input.ServiceNow !== null && { ServiceNow: input.ServiceNow }), ...(input.Singular !== undefined && input.Singular !== null && { Singular: input.Singular }), @@ -2449,6 +2465,10 @@ const serializeAws_restJson1ConnectorProfileCredentials = ( input.Redshift !== null && { Redshift: serializeAws_restJson1RedshiftConnectorProfileCredentials(input.Redshift, context), }), + ...(input.SAPOData !== undefined && + input.SAPOData !== null && { + SAPOData: serializeAws_restJson1SAPODataConnectorProfileCredentials(input.SAPOData, context), + }), ...(input.Salesforce !== undefined && input.Salesforce !== null && { Salesforce: serializeAws_restJson1SalesforceConnectorProfileCredentials(input.Salesforce, context), @@ -2531,6 +2551,10 @@ const serializeAws_restJson1ConnectorProfileProperties = ( input.Redshift !== null && { Redshift: serializeAws_restJson1RedshiftConnectorProfileProperties(input.Redshift, context), }), + ...(input.SAPOData !== undefined && + input.SAPOData !== null && { + SAPOData: serializeAws_restJson1SAPODataConnectorProfileProperties(input.SAPOData, context), + }), ...(input.Salesforce !== undefined && input.Salesforce !== null && { Salesforce: serializeAws_restJson1SalesforceConnectorProfileProperties(input.Salesforce, context), @@ -2892,6 +2916,39 @@ const serializeAws_restJson1MarketoSourceProperties = ( }; }; +const serializeAws_restJson1OAuthCredentials = (input: OAuthCredentials, context: __SerdeContext): any => { + return { + ...(input.accessToken !== undefined && input.accessToken !== null && { accessToken: input.accessToken }), + ...(input.clientId !== undefined && input.clientId !== null && { clientId: input.clientId }), + ...(input.clientSecret !== undefined && input.clientSecret !== null && { clientSecret: input.clientSecret }), + ...(input.oAuthRequest !== undefined && + input.oAuthRequest !== null && { + oAuthRequest: serializeAws_restJson1ConnectorOAuthRequest(input.oAuthRequest, context), + }), + ...(input.refreshToken !== undefined && input.refreshToken !== null && { refreshToken: input.refreshToken }), + }; +}; + +const serializeAws_restJson1OAuthProperties = (input: OAuthProperties, context: __SerdeContext): any => { + return { + ...(input.authCodeUrl !== undefined && input.authCodeUrl !== null && { authCodeUrl: input.authCodeUrl }), + ...(input.oAuthScopes !== undefined && + input.oAuthScopes !== null && { oAuthScopes: serializeAws_restJson1OAuthScopeList(input.oAuthScopes, context) }), + ...(input.tokenUrl !== undefined && input.tokenUrl !== null && { tokenUrl: input.tokenUrl }), + }; +}; + +const serializeAws_restJson1OAuthScopeList = (input: string[], context: __SerdeContext): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + if (entry === null) { + return null as any; + } + return entry; + }); +}; + const serializeAws_restJson1PrefixConfig = (input: PrefixConfig, context: __SerdeContext): any => { return { ...(input.prefixFormat !== undefined && input.prefixFormat !== null && { prefixFormat: input.prefixFormat }), @@ -3029,6 +3086,52 @@ const serializeAws_restJson1SalesforceSourceProperties = ( }; }; +const serializeAws_restJson1SAPODataConnectorProfileCredentials = ( + input: SAPODataConnectorProfileCredentials, + context: __SerdeContext +): any => { + return { + ...(input.basicAuthCredentials !== undefined && + input.basicAuthCredentials !== null && { + basicAuthCredentials: serializeAws_restJson1BasicAuthCredentials(input.basicAuthCredentials, context), + }), + ...(input.oAuthCredentials !== undefined && + input.oAuthCredentials !== null && { + oAuthCredentials: serializeAws_restJson1OAuthCredentials(input.oAuthCredentials, context), + }), + }; +}; + +const serializeAws_restJson1SAPODataConnectorProfileProperties = ( + input: SAPODataConnectorProfileProperties, + context: __SerdeContext +): any => { + return { + ...(input.applicationHostUrl !== undefined && + input.applicationHostUrl !== null && { applicationHostUrl: input.applicationHostUrl }), + ...(input.applicationServicePath !== undefined && + input.applicationServicePath !== null && { applicationServicePath: input.applicationServicePath }), + ...(input.clientNumber !== undefined && input.clientNumber !== null && { clientNumber: input.clientNumber }), + ...(input.logonLanguage !== undefined && input.logonLanguage !== null && { logonLanguage: input.logonLanguage }), + ...(input.oAuthProperties !== undefined && + input.oAuthProperties !== null && { + oAuthProperties: serializeAws_restJson1OAuthProperties(input.oAuthProperties, context), + }), + ...(input.portNumber !== undefined && input.portNumber !== null && { portNumber: input.portNumber }), + ...(input.privateLinkServiceName !== undefined && + input.privateLinkServiceName !== null && { privateLinkServiceName: input.privateLinkServiceName }), + }; +}; + +const serializeAws_restJson1SAPODataSourceProperties = ( + input: SAPODataSourceProperties, + context: __SerdeContext +): any => { + return { + ...(input.objectPath !== undefined && input.objectPath !== null && { objectPath: input.objectPath }), + }; +}; + const serializeAws_restJson1ScheduledTriggerProperties = ( input: ScheduledTriggerProperties, context: __SerdeContext @@ -3203,6 +3306,8 @@ const serializeAws_restJson1SourceConnectorProperties = ( input.Marketo !== null && { Marketo: serializeAws_restJson1MarketoSourceProperties(input.Marketo, context) }), ...(input.S3 !== undefined && input.S3 !== null && { S3: serializeAws_restJson1S3SourceProperties(input.S3, context) }), + ...(input.SAPOData !== undefined && + input.SAPOData !== null && { SAPOData: serializeAws_restJson1SAPODataSourceProperties(input.SAPOData, context) }), ...(input.Salesforce !== undefined && input.Salesforce !== null && { Salesforce: serializeAws_restJson1SalesforceSourceProperties(input.Salesforce, context), @@ -3406,6 +3511,13 @@ const serializeAws_restJson1VeevaConnectorProfileProperties = ( const serializeAws_restJson1VeevaSourceProperties = (input: VeevaSourceProperties, context: __SerdeContext): any => { return { + ...(input.documentType !== undefined && input.documentType !== null && { documentType: input.documentType }), + ...(input.includeAllVersions !== undefined && + input.includeAllVersions !== null && { includeAllVersions: input.includeAllVersions }), + ...(input.includeRenditions !== undefined && + input.includeRenditions !== null && { includeRenditions: input.includeRenditions }), + ...(input.includeSourceFiles !== undefined && + input.includeSourceFiles !== null && { includeSourceFiles: input.includeSourceFiles }), ...(input.object !== undefined && input.object !== null && { object: input.object }), }; }; @@ -3648,6 +3760,10 @@ const deserializeAws_restJson1ConnectorMetadata = (output: any, context: __Serde output.S3 !== undefined && output.S3 !== null ? deserializeAws_restJson1S3Metadata(output.S3, context) : undefined, + SAPOData: + output.SAPOData !== undefined && output.SAPOData !== null + ? deserializeAws_restJson1SAPODataMetadata(output.SAPOData, context) + : undefined, Salesforce: output.Salesforce !== undefined && output.Salesforce !== null ? deserializeAws_restJson1SalesforceMetadata(output.Salesforce, context) @@ -3696,6 +3812,7 @@ const deserializeAws_restJson1ConnectorOperator = (output: any, context: __Serde InforNexus: __expectString(output.InforNexus), Marketo: __expectString(output.Marketo), S3: __expectString(output.S3), + SAPOData: __expectString(output.SAPOData), Salesforce: __expectString(output.Salesforce), ServiceNow: __expectString(output.ServiceNow), Singular: __expectString(output.Singular), @@ -3725,6 +3842,10 @@ const deserializeAws_restJson1ConnectorProfile = (output: any, context: __SerdeC output.lastUpdatedAt !== undefined && output.lastUpdatedAt !== null ? new Date(Math.round(output.lastUpdatedAt * 1000)) : undefined, + privateConnectionProvisioningState: + output.privateConnectionProvisioningState !== undefined && output.privateConnectionProvisioningState !== null + ? deserializeAws_restJson1PrivateConnectionProvisioningState(output.privateConnectionProvisioningState, context) + : undefined, } as any; }; @@ -3779,6 +3900,10 @@ const deserializeAws_restJson1ConnectorProfileProperties = ( output.Redshift !== undefined && output.Redshift !== null ? deserializeAws_restJson1RedshiftConnectorProfileProperties(output.Redshift, context) : undefined, + SAPOData: + output.SAPOData !== undefined && output.SAPOData !== null + ? deserializeAws_restJson1SAPODataConnectorProfileProperties(output.SAPOData, context) + : undefined, Salesforce: output.Salesforce !== undefined && output.Salesforce !== null ? deserializeAws_restJson1SalesforceConnectorProfileProperties(output.Salesforce, context) @@ -4262,6 +4387,17 @@ const deserializeAws_restJson1MarketoSourceProperties = ( } as any; }; +const deserializeAws_restJson1OAuthProperties = (output: any, context: __SerdeContext): OAuthProperties => { + return { + authCodeUrl: __expectString(output.authCodeUrl), + oAuthScopes: + output.oAuthScopes !== undefined && output.oAuthScopes !== null + ? deserializeAws_restJson1OAuthScopeList(output.oAuthScopes, context) + : undefined, + tokenUrl: __expectString(output.tokenUrl), + } as any; +}; + const deserializeAws_restJson1OAuthScopeList = (output: any, context: __SerdeContext): string[] => { return (output || []) .filter((e: any) => e != null) @@ -4280,6 +4416,17 @@ const deserializeAws_restJson1PrefixConfig = (output: any, context: __SerdeConte } as any; }; +const deserializeAws_restJson1PrivateConnectionProvisioningState = ( + output: any, + context: __SerdeContext +): PrivateConnectionProvisioningState => { + return { + failureCause: __expectString(output.failureCause), + failureMessage: __expectString(output.failureMessage), + status: __expectString(output.status), + } as any; +}; + const deserializeAws_restJson1RedshiftConnectorProfileProperties = ( output: any, context: __SerdeContext @@ -4409,6 +4556,37 @@ const deserializeAws_restJson1SalesforceSourceProperties = ( } as any; }; +const deserializeAws_restJson1SAPODataConnectorProfileProperties = ( + output: any, + context: __SerdeContext +): SAPODataConnectorProfileProperties => { + return { + applicationHostUrl: __expectString(output.applicationHostUrl), + applicationServicePath: __expectString(output.applicationServicePath), + clientNumber: __expectString(output.clientNumber), + logonLanguage: __expectString(output.logonLanguage), + oAuthProperties: + output.oAuthProperties !== undefined && output.oAuthProperties !== null + ? deserializeAws_restJson1OAuthProperties(output.oAuthProperties, context) + : undefined, + portNumber: __expectInt(output.portNumber), + privateLinkServiceName: __expectString(output.privateLinkServiceName), + } as any; +}; + +const deserializeAws_restJson1SAPODataMetadata = (output: any, context: __SerdeContext): SAPODataMetadata => { + return {} as any; +}; + +const deserializeAws_restJson1SAPODataSourceProperties = ( + output: any, + context: __SerdeContext +): SAPODataSourceProperties => { + return { + objectPath: __expectString(output.objectPath), + } as any; +}; + const deserializeAws_restJson1ScheduledTriggerProperties = ( output: any, context: __SerdeContext @@ -4585,6 +4763,10 @@ const deserializeAws_restJson1SourceConnectorProperties = ( output.S3 !== undefined && output.S3 !== null ? deserializeAws_restJson1S3SourceProperties(output.S3, context) : undefined, + SAPOData: + output.SAPOData !== undefined && output.SAPOData !== null + ? deserializeAws_restJson1SAPODataSourceProperties(output.SAPOData, context) + : undefined, Salesforce: output.Salesforce !== undefined && output.Salesforce !== null ? deserializeAws_restJson1SalesforceSourceProperties(output.Salesforce, context) @@ -4843,6 +5025,10 @@ const deserializeAws_restJson1VeevaMetadata = (output: any, context: __SerdeCont const deserializeAws_restJson1VeevaSourceProperties = (output: any, context: __SerdeContext): VeevaSourceProperties => { return { + documentType: __expectString(output.documentType), + includeAllVersions: __expectBoolean(output.includeAllVersions), + includeRenditions: __expectBoolean(output.includeRenditions), + includeSourceFiles: __expectBoolean(output.includeSourceFiles), object: __expectString(output.object), } as any; }; diff --git a/clients/client-application-auto-scaling/ApplicationAutoScaling.ts b/clients/client-application-auto-scaling/ApplicationAutoScaling.ts index 8aadb34274a0..b946a2f69c3d 100644 --- a/clients/client-application-auto-scaling/ApplicationAutoScaling.ts +++ b/clients/client-application-auto-scaling/ApplicationAutoScaling.ts @@ -56,40 +56,43 @@ import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; * resources:

* *

@@ -98,7 +101,7 @@ import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; *

The Application Auto Scaling service API includes three key sets of actions:

* */ ResourceId: string | undefined; @@ -398,11 +417,11 @@ export interface DeleteScheduledActionRequest { * *
  • *

    - * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet request.

    + * elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

    *
  • *
  • *

    - * elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

    + * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet request.

    *
  • *
  • *

    @@ -454,12 +473,20 @@ export interface DeleteScheduledActionRequest { *

  • *
  • *

    - * cassandra:table:WriteCapacityUnits - The provisioned write capacity for an Amazon Keyspaces table.

    + * cassandra:table:WriteCapacityUnits - The provisioned write capacity for an Amazon Keyspaces table.

    *
  • *
  • *

    * kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) for brokers in an Amazon MSK cluster.

    *
  • + *
  • + *

    + * elasticache:replication-group:NodeGroups - The number of node groups for an Amazon ElastiCache replication group.

    + *
  • + *
  • + *

    + * elasticache:replication-group:Replicas - The number of replicas per node group for an Amazon ElastiCache replication group.

    + *
  • * */ ScalableDimension: ScalableDimension | string | undefined; @@ -487,7 +514,7 @@ export namespace DeleteScheduledActionResponse { export interface DeregisterScalableTargetRequest { /** - *

    The namespace of the AWS service that provides the resource. For a resource provided + *

    The namespace of the Amazon Web Services service that provides the resource. For a resource provided * by your own application or service, use custom-resource instead.

    */ ServiceNamespace: ServiceNamespace | string | undefined; @@ -551,6 +578,10 @@ export interface DeregisterScalableTargetRequest { *

    Amazon MSK cluster - The resource type and unique identifier are specified using the cluster ARN. * Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5.

    * + *
  • + *

    Amazon ElastiCache replication group - The resource type is replication-group and the unique identifier is the replication group name. + * Example: replication-group/mycluster.

    + *
  • * */ ResourceId: string | undefined; @@ -565,11 +596,11 @@ export interface DeregisterScalableTargetRequest { * *
  • *

    - * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet request.

    + * elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

    *
  • *
  • *

    - * elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

    + * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet request.

    *
  • *
  • *

    @@ -621,12 +652,20 @@ export interface DeregisterScalableTargetRequest { *

  • *
  • *

    - * cassandra:table:WriteCapacityUnits - The provisioned write capacity for an Amazon Keyspaces table.

    + * cassandra:table:WriteCapacityUnits - The provisioned write capacity for an Amazon Keyspaces table.

    *
  • *
  • *

    * kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) for brokers in an Amazon MSK cluster.

    *
  • + *
  • + *

    + * elasticache:replication-group:NodeGroups - The number of node groups for an Amazon ElastiCache replication group.

    + *
  • + *
  • + *

    + * elasticache:replication-group:Replicas - The number of replicas per node group for an Amazon ElastiCache replication group.

    + *
  • * */ ScalableDimension: ScalableDimension | string | undefined; @@ -654,7 +693,7 @@ export namespace DeregisterScalableTargetResponse { export interface DescribeScalableTargetsRequest { /** - *

    The namespace of the AWS service that provides the resource. For a resource provided + *

    The namespace of the Amazon Web Services service that provides the resource. For a resource provided * by your own application or service, use custom-resource instead.

    */ ServiceNamespace: ServiceNamespace | string | undefined; @@ -718,6 +757,10 @@ export interface DescribeScalableTargetsRequest { *

    Amazon MSK cluster - The resource type and unique identifier are specified using the cluster ARN. * Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5.

    * + *
  • + *

    Amazon ElastiCache replication group - The resource type is replication-group and the unique identifier is the replication group name. + * Example: replication-group/mycluster.

    + *
  • * */ ResourceIds?: string[]; @@ -732,11 +775,11 @@ export interface DescribeScalableTargetsRequest { * *
  • *

    - * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet request.

    + * elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

    *
  • *
  • *

    - * elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

    + * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet request.

    *
  • *
  • *

    @@ -788,12 +831,20 @@ export interface DescribeScalableTargetsRequest { *

  • *
  • *

    - * cassandra:table:WriteCapacityUnits - The provisioned write capacity for an Amazon Keyspaces table.

    + * cassandra:table:WriteCapacityUnits - The provisioned write capacity for an Amazon Keyspaces table.

    *
  • *
  • *

    * kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) for brokers in an Amazon MSK cluster.

    *
  • + *
  • + *

    + * elasticache:replication-group:NodeGroups - The number of node groups for an Amazon ElastiCache replication group.

    + *
  • + *
  • + *

    + * elasticache:replication-group:Replicas - The number of replicas per node group for an Amazon ElastiCache replication group.

    + *
  • * */ ScalableDimension?: ScalableDimension | string; @@ -865,7 +916,7 @@ export namespace SuspendedState { */ export interface ScalableTarget { /** - *

    The namespace of the AWS service that provides the resource, or a + *

    The namespace of the Amazon Web Services service that provides the resource, or a * custom-resource.

    */ ServiceNamespace: ServiceNamespace | string | undefined; @@ -929,6 +980,10 @@ export interface ScalableTarget { *

    Amazon MSK cluster - The resource type and unique identifier are specified using the cluster ARN. * Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5.

    * + *
  • + *

    Amazon ElastiCache replication group - The resource type is replication-group and the unique identifier is the replication group name. + * Example: replication-group/mycluster.

    + *
  • * */ ResourceId: string | undefined; @@ -943,11 +998,11 @@ export interface ScalableTarget { * *
  • *

    - * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet request.

    + * elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

    *
  • *
  • *

    - * elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

    + * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet request.

    *
  • *
  • *

    @@ -999,12 +1054,20 @@ export interface ScalableTarget { *

  • *
  • *

    - * cassandra:table:WriteCapacityUnits - The provisioned write capacity for an Amazon Keyspaces table.

    + * cassandra:table:WriteCapacityUnits - The provisioned write capacity for an Amazon Keyspaces table.

    *
  • *
  • *

    * kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) for brokers in an Amazon MSK cluster.

    *
  • + *
  • + *

    + * elasticache:replication-group:NodeGroups - The number of node groups for an Amazon ElastiCache replication group.

    + *
  • + *
  • + *

    + * elasticache:replication-group:Replicas - The number of replicas per node group for an Amazon ElastiCache replication group.

    + *
  • * */ ScalableDimension: ScalableDimension | string | undefined; @@ -1088,7 +1151,7 @@ export namespace InvalidNextTokenException { export interface DescribeScalingActivitiesRequest { /** - *

    The namespace of the AWS service that provides the resource. For a resource provided + *

    The namespace of the Amazon Web Services service that provides the resource. For a resource provided * by your own application or service, use custom-resource instead.

    */ ServiceNamespace: ServiceNamespace | string | undefined; @@ -1152,6 +1215,10 @@ export interface DescribeScalingActivitiesRequest { *

    Amazon MSK cluster - The resource type and unique identifier are specified using the cluster ARN. * Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5.

    * + *
  • + *

    Amazon ElastiCache replication group - The resource type is replication-group and the unique identifier is the replication group name. + * Example: replication-group/mycluster.

    + *
  • * */ ResourceId?: string; @@ -1166,11 +1233,11 @@ export interface DescribeScalingActivitiesRequest { * *
  • *

    - * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet request.

    + * elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

    *
  • *
  • *

    - * elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

    + * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet request.

    *
  • *
  • *

    @@ -1222,12 +1289,20 @@ export interface DescribeScalingActivitiesRequest { *

  • *
  • *

    - * cassandra:table:WriteCapacityUnits - The provisioned write capacity for an Amazon Keyspaces table.

    + * cassandra:table:WriteCapacityUnits - The provisioned write capacity for an Amazon Keyspaces table.

    *
  • *
  • *

    * kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) for brokers in an Amazon MSK cluster.

    *
  • + *
  • + *

    + * elasticache:replication-group:NodeGroups - The number of node groups for an Amazon ElastiCache replication group.

    + *
  • + *
  • + *

    + * elasticache:replication-group:Replicas - The number of replicas per node group for an Amazon ElastiCache replication group.

    + *
  • * */ ScalableDimension?: ScalableDimension | string; @@ -1277,7 +1352,7 @@ export interface ScalingActivity { ActivityId: string | undefined; /** - *

    The namespace of the AWS service that provides the resource, or a + *

    The namespace of the Amazon Web Services service that provides the resource, or a * custom-resource.

    */ ServiceNamespace: ServiceNamespace | string | undefined; @@ -1341,6 +1416,10 @@ export interface ScalingActivity { *

    Amazon MSK cluster - The resource type and unique identifier are specified using the cluster ARN. * Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5.

    * + *
  • + *

    Amazon ElastiCache replication group - The resource type is replication-group and the unique identifier is the replication group name. + * Example: replication-group/mycluster.

    + *
  • * */ ResourceId: string | undefined; @@ -1354,11 +1433,11 @@ export interface ScalingActivity { * *
  • *

    - * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet request.

    + * elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

    *
  • *
  • *

    - * elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

    + * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet request.

    *
  • *
  • *

    @@ -1410,12 +1489,20 @@ export interface ScalingActivity { *

  • *
  • *

    - * cassandra:table:WriteCapacityUnits - The provisioned write capacity for an Amazon Keyspaces table.

    + * cassandra:table:WriteCapacityUnits - The provisioned write capacity for an Amazon Keyspaces table.

    *
  • *
  • *

    * kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) for brokers in an Amazon MSK cluster.

    *
  • + *
  • + *

    + * elasticache:replication-group:NodeGroups - The number of node groups for an Amazon ElastiCache replication group.

    + *
  • + *
  • + *

    + * elasticache:replication-group:Replicas - The number of replicas per node group for an Amazon ElastiCache replication group.

    + *
  • * */ ScalableDimension: ScalableDimension | string | undefined; @@ -1494,7 +1581,7 @@ export interface DescribeScalingPoliciesRequest { PolicyNames?: string[]; /** - *

    The namespace of the AWS service that provides the resource. For a resource provided + *

    The namespace of the Amazon Web Services service that provides the resource. For a resource provided * by your own application or service, use custom-resource instead.

    */ ServiceNamespace: ServiceNamespace | string | undefined; @@ -1558,6 +1645,10 @@ export interface DescribeScalingPoliciesRequest { *

    Amazon MSK cluster - The resource type and unique identifier are specified using the cluster ARN. * Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5.

    * + *
  • + *

    Amazon ElastiCache replication group - The resource type is replication-group and the unique identifier is the replication group name. + * Example: replication-group/mycluster.

    + *
  • * */ ResourceId?: string; @@ -1572,11 +1663,11 @@ export interface DescribeScalingPoliciesRequest { * *
  • *

    - * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet request.

    + * elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

    *
  • *
  • *

    - * elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

    + * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet request.

    *
  • *
  • *

    @@ -1628,12 +1719,20 @@ export interface DescribeScalingPoliciesRequest { *

  • *
  • *

    - * cassandra:table:WriteCapacityUnits - The provisioned write capacity for an Amazon Keyspaces table.

    + * cassandra:table:WriteCapacityUnits - The provisioned write capacity for an Amazon Keyspaces table.

    *
  • *
  • *

    * kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) for brokers in an Amazon MSK cluster.

    *
  • + *
  • + *

    + * elasticache:replication-group:NodeGroups - The number of node groups for an Amazon ElastiCache replication group.

    + *
  • + *
  • + *

    + * elasticache:replication-group:Replicas - The number of replicas per node group for an Amazon ElastiCache replication group.

    + *
  • * */ ScalableDimension?: ScalableDimension | string; @@ -1798,7 +1897,8 @@ export interface StepScalingPolicyConfiguration { * expired. However, if another alarm triggers a scale-out activity during the cooldown period * after a scale-in activity, Application Auto Scaling scales out the target immediately. In this case, the * cooldown period for the scale-in activity stops and doesn't complete.

    - *

    Application Auto Scaling provides a default value of 300 for the following scalable targets:

    + *

    Application Auto Scaling provides a default value of 600 for Amazon ElastiCache replication groups + * and a default value of 300 for the following scalable targets:

    * */ ScalableDimension?: ScalableDimension | string; @@ -2650,7 +2778,7 @@ export interface ScheduledAction { ScheduledActionARN: string | undefined; /** - *

    The namespace of the AWS service that provides the resource, or a + *

    The namespace of the Amazon Web Services service that provides the resource, or a * custom-resource.

    */ ServiceNamespace: ServiceNamespace | string | undefined; @@ -2746,6 +2874,10 @@ export interface ScheduledAction { *

    Amazon MSK cluster - The resource type and unique identifier are specified using the cluster ARN. * Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5.

    * + *
  • + *

    Amazon ElastiCache replication group - The resource type is replication-group and the unique identifier is the replication group name. + * Example: replication-group/mycluster.

    + *
  • * */ ResourceId: string | undefined; @@ -2759,11 +2891,11 @@ export interface ScheduledAction { * *
  • *

    - * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet request.

    + * elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

    *
  • *
  • *

    - * elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

    + * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet request.

    *
  • *
  • *

    @@ -2815,12 +2947,20 @@ export interface ScheduledAction { *

  • *
  • *

    - * cassandra:table:WriteCapacityUnits - The provisioned write capacity for an Amazon Keyspaces table.

    + * cassandra:table:WriteCapacityUnits - The provisioned write capacity for an Amazon Keyspaces table.

    *
  • *
  • *

    * kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) for brokers in an Amazon MSK cluster.

    *
  • + *
  • + *

    + * elasticache:replication-group:NodeGroups - The number of node groups for an Amazon ElastiCache replication group.

    + *
  • + *
  • + *

    + * elasticache:replication-group:Replicas - The number of replicas per node group for an Amazon ElastiCache replication group.

    + *
  • * */ ScalableDimension?: ScalableDimension | string; @@ -2905,7 +3045,7 @@ export interface PutScalingPolicyRequest { PolicyName: string | undefined; /** - *

    The namespace of the AWS service that provides the resource. For a resource provided + *

    The namespace of the Amazon Web Services service that provides the resource. For a resource provided * by your own application or service, use custom-resource instead.

    */ ServiceNamespace: ServiceNamespace | string | undefined; @@ -2969,6 +3109,10 @@ export interface PutScalingPolicyRequest { *

    Amazon MSK cluster - The resource type and unique identifier are specified using the cluster ARN. * Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5.

    * + *
  • + *

    Amazon ElastiCache replication group - The resource type is replication-group and the unique identifier is the replication group name. + * Example: replication-group/mycluster.

    + *
  • * */ ResourceId: string | undefined; @@ -2982,11 +3126,11 @@ export interface PutScalingPolicyRequest { * *
  • *

    - * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet request.

    + * elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

    *
  • *
  • *

    - * elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

    + * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet request.

    *
  • *
  • *

    @@ -3038,12 +3182,20 @@ export interface PutScalingPolicyRequest { *

  • *
  • *

    - * cassandra:table:WriteCapacityUnits - The provisioned write capacity for an Amazon Keyspaces table.

    + * cassandra:table:WriteCapacityUnits - The provisioned write capacity for an Amazon Keyspaces table.

    *
  • *
  • *

    * kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) for brokers in an Amazon MSK cluster.

    *
  • + *
  • + *

    + * elasticache:replication-group:NodeGroups - The number of node groups for an Amazon ElastiCache replication group.

    + *
  • + *
  • + *

    + * elasticache:replication-group:Replicas - The number of replicas per node group for an Amazon ElastiCache replication group.

    + *
  • * */ ScalableDimension: ScalableDimension | string | undefined; @@ -3054,8 +3206,8 @@ export interface PutScalingPolicyRequest { *

    * TargetTrackingScaling—Not supported for Amazon EMR

    *

    - * StepScaling—Not supported for DynamoDB, Amazon Comprehend, Lambda, Amazon Keyspaces (for - * Apache Cassandra), or Amazon MSK.

    + * StepScaling—Not supported for DynamoDB, Amazon Comprehend, Lambda, Amazon Keyspaces (for Apache + * Cassandra), Amazon MSK, or Amazon ElastiCache for Redis.

    *

    For more information, see Target * tracking scaling policies and Step scaling policies in the Application Auto Scaling User Guide.

    */ @@ -3109,7 +3261,7 @@ export namespace PutScalingPolicyResponse { export interface PutScheduledActionRequest { /** - *

    The namespace of the AWS service that provides the resource. For a resource provided + *

    The namespace of the Amazon Web Services service that provides the resource. For a resource provided * by your own application or service, use custom-resource instead.

    */ ServiceNamespace: ServiceNamespace | string | undefined; @@ -3213,6 +3365,10 @@ export interface PutScheduledActionRequest { *

    Amazon MSK cluster - The resource type and unique identifier are specified using the cluster ARN. * Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5.

    * + *
  • + *

    Amazon ElastiCache replication group - The resource type is replication-group and the unique identifier is the replication group name. + * Example: replication-group/mycluster.

    + *
  • * */ ResourceId: string | undefined; @@ -3226,11 +3382,11 @@ export interface PutScheduledActionRequest { * *
  • *

    - * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet request.

    + * elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

    *
  • *
  • *

    - * elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

    + * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet request.

    *
  • *
  • *

    @@ -3282,12 +3438,20 @@ export interface PutScheduledActionRequest { *

  • *
  • *

    - * cassandra:table:WriteCapacityUnits - The provisioned write capacity for an Amazon Keyspaces table.

    + * cassandra:table:WriteCapacityUnits - The provisioned write capacity for an Amazon Keyspaces table.

    *
  • *
  • *

    * kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) for brokers in an Amazon MSK cluster.

    *
  • + *
  • + *

    + * elasticache:replication-group:NodeGroups - The number of node groups for an Amazon ElastiCache replication group.

    + *
  • + *
  • + *

    + * elasticache:replication-group:Replicas - The number of replicas per node group for an Amazon ElastiCache replication group.

    + *
  • * */ ScalableDimension: ScalableDimension | string | undefined; @@ -3333,7 +3497,7 @@ export namespace PutScheduledActionResponse { export interface RegisterScalableTargetRequest { /** - *

    The namespace of the AWS service that provides the resource. For a resource provided + *

    The namespace of the Amazon Web Services service that provides the resource. For a resource provided * by your own application or service, use custom-resource instead.

    */ ServiceNamespace: ServiceNamespace | string | undefined; @@ -3397,6 +3561,10 @@ export interface RegisterScalableTargetRequest { *

    Amazon MSK cluster - The resource type and unique identifier are specified using the cluster ARN. * Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5.

    * + *
  • + *

    Amazon ElastiCache replication group - The resource type is replication-group and the unique identifier is the replication group name. + * Example: replication-group/mycluster.

    + *
  • * */ ResourceId: string | undefined; @@ -3411,11 +3579,11 @@ export interface RegisterScalableTargetRequest { * *
  • *

    - * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet request.

    + * elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

    *
  • *
  • *

    - * elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

    + * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet request.

    *
  • *
  • *

    @@ -3467,12 +3635,20 @@ export interface RegisterScalableTargetRequest { *

  • *
  • *

    - * cassandra:table:WriteCapacityUnits - The provisioned write capacity for an Amazon Keyspaces table.

    + * cassandra:table:WriteCapacityUnits - The provisioned write capacity for an Amazon Keyspaces table.

    *
  • *
  • *

    * kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) for brokers in an Amazon MSK cluster.

    *
  • + *
  • + *

    + * elasticache:replication-group:NodeGroups - The number of node groups for an Amazon ElastiCache replication group.

    + *
  • + *
  • + *

    + * elasticache:replication-group:Replicas - The number of replicas per node group for an Amazon ElastiCache replication group.

    + *
  • * */ ScalableDimension: ScalableDimension | string | undefined; diff --git a/clients/client-cloud9/models/models_0.ts b/clients/client-cloud9/models/models_0.ts index a55270ac8f21..25d621ed2ae3 100644 --- a/clients/client-cloud9/models/models_0.ts +++ b/clients/client-cloud9/models/models_0.ts @@ -187,6 +187,11 @@ export interface CreateEnvironmentEC2Request { * Amazon EC2 Systems Manager in the Cloud9 User Guide.

    */ connectionType?: ConnectionType | 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?: boolean; } export namespace CreateEnvironmentEC2Request { @@ -1061,6 +1066,11 @@ export namespace UntagResourceResponse { }); } +export enum ManagedCredentialsAction { + DISABLE = "DISABLE", + ENABLE = "ENABLE", +} + export interface UpdateEnvironmentRequest { /** *

    The ID of the environment to change settings.

    @@ -1076,6 +1086,28 @@ export interface UpdateEnvironmentRequest { *

    Any new or replacement description for the environment.

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

    Allows the environment owner to turn on or turn off the Amazon Web Services managed temporary + * credentials for an Cloud9 environment by using one of the following values:

    + * + * + *

    Only the environment owner can change the status of managed temporary credentials. An AccessDeniedException is thrown if an attempt to turn on or turn off managed temporary credentials is made by an account that's not the environment + * owner.

    + *
    + */ + managedCredentialsAction?: ManagedCredentialsAction | string; } export namespace UpdateEnvironmentRequest { diff --git a/clients/client-cloud9/protocols/Aws_json1_1.ts b/clients/client-cloud9/protocols/Aws_json1_1.ts index 93d0afa6a8f8..9f88a9b24219 100644 --- a/clients/client-cloud9/protocols/Aws_json1_1.ts +++ b/clients/client-cloud9/protocols/Aws_json1_1.ts @@ -1645,6 +1645,7 @@ const serializeAws_json1_1CreateEnvironmentEC2Request = ( ...(input.connectionType !== undefined && input.connectionType !== null && { connectionType: input.connectionType }), ...(input.description !== undefined && input.description !== null && { description: input.description }), + ...(input.dryRun !== undefined && input.dryRun !== null && { dryRun: input.dryRun }), ...(input.imageId !== undefined && input.imageId !== null && { imageId: input.imageId }), ...(input.instanceType !== undefined && input.instanceType !== null && { instanceType: input.instanceType }), ...(input.name !== undefined && input.name !== null && { name: input.name }), @@ -1808,6 +1809,8 @@ const serializeAws_json1_1UpdateEnvironmentRequest = ( return { ...(input.description !== undefined && input.description !== null && { description: input.description }), ...(input.environmentId !== undefined && input.environmentId !== null && { environmentId: input.environmentId }), + ...(input.managedCredentialsAction !== undefined && + input.managedCredentialsAction !== null && { managedCredentialsAction: input.managedCredentialsAction }), ...(input.name !== undefined && input.name !== null && { name: input.name }), }; }; diff --git a/clients/client-clouddirectory/models/models_0.ts b/clients/client-clouddirectory/models/models_0.ts index e4dde8e5f132..112d5cf9517c 100644 --- a/clients/client-clouddirectory/models/models_0.ts +++ b/clients/client-clouddirectory/models/models_0.ts @@ -1,7 +1,7 @@ import { MetadataBearer as $MetadataBearer, SmithyException as __SmithyException } from "@aws-sdk/types"; /** - *

    Access denied. Check your permissions.

    + *

    Access denied or directory not found. Either you don't have permissions for this directory or the directory does not exist. Try calling ListDirectories and check your permissions.

    */ export interface AccessDeniedException extends __SmithyException, $MetadataBearer { name: "AccessDeniedException"; @@ -196,7 +196,7 @@ export interface ObjectReference { * * - *

    For the GetRightsizingRecommendation action, a combination of OR and NOT is not - * supported. OR is not supported between different dimensions, or dimensions and tags. - * NOT operators aren't supported. - * Dimensions - * are also limited to LINKED_ACCOUNT, REGION, or + *

    For the GetRightsizingRecommendation action, a combination of OR and + * NOT isn't supported. OR isn't supported between different dimensions, or dimensions + * and tags. NOT operators aren't supported. Dimensions are also limited to + * LINKED_ACCOUNT, REGION, or * RIGHTSIZING_TYPE.

    - * - *

    For the GetReservationPurchaseRecommendation action, only NOT is supported. AND and OR are not supported. Dimensions are limited to LINKED_ACCOUNT.

    - * - * - * - *
    + *

    For the GetReservationPurchaseRecommendation action, only NOT is + * supported. AND and OR aren't supported. Dimensions are limited to + * LINKED_ACCOUNT.

    + * */ export interface Expression { /** @@ -4451,7 +4452,7 @@ export interface Expression { Tags?: TagValues; /** - *

    The filter based on CostCategory values.

    + *

    The filter that's based on CostCategory values.

    */ CostCategories?: CostCategoryValues; } @@ -4466,55 +4467,43 @@ export namespace Expression { } /** - *

    This object continuously inspects your account's cost data for anomalies, based on - * MonitorType and MonitorSpecification. The content consists + *

    This object continuously inspects your account's cost data for anomalies. It's based + * on MonitorType and MonitorSpecification. The content consists * of detailed metadata and the current status of the monitor object.

    */ export interface AnomalyMonitor { /** - *

    The Amazon Resource Name (ARN) value.

    + *

    The Amazon Resource Name (ARN) value.

    */ MonitorArn?: string; /** - *

    - * The name of the monitor. - *

    + *

    The name of the monitor.

    */ MonitorName: string | undefined; /** - *

    - * The date when the monitor was created. - *

    + *

    The date when the monitor was created.

    */ CreationDate?: string; /** - *

    - * The date when the monitor was last updated. - *

    + *

    The date when the monitor was last updated.

    */ LastUpdatedDate?: string; /** - *

    - * The date when the monitor last evaluated for anomalies. - *

    + *

    The date when the monitor last evaluated for anomalies.

    */ LastEvaluatedDate?: string; /** - *

    - * The possible type values. - *

    + *

    The possible type values.

    */ MonitorType: MonitorType | string | undefined; /** - *

    - * The dimensions to evaluate. - *

    + *

    The dimensions to evaluate.

    */ MonitorDimension?: MonitorDimension | string; @@ -4524,32 +4513,34 @@ export interface AnomalyMonitor { *
  • *

    Simple dimension values - You can set the dimension name and values for the * filters that you plan to use. For example, you can filter for - * REGION==us-east-1 OR REGION==us-west-1. For GetRightsizingRecommendation, the Region is a full name (for example, REGION==US East (N. Virginia). The - * Expression example looks like:

    + * REGION==us-east-1 OR REGION==us-west-1. For + * GetRightsizingRecommendation, the Region is a full name (for + * example, REGION==US East (N. Virginia). The Expression + * example is as follows:

    *

    - * { "Dimensions": { "Key": "REGION", "Values": [ "us-east-1", - * “us-west-1” ] } } + * { "Dimensions": { "Key": "REGION", "Values": [ "us-east-1", “us-west-1” ] + * } } *

    - *

    The list of dimension values are OR'd together to retrieve cost or usage - * data. You can create Expression and DimensionValues - * objects using either with* methods or set* methods in - * multiple lines.

    + *

    The list of dimension values are OR'd together to retrieve cost or usage data. + * You can create Expression and DimensionValues objects + * using either with* methods or set* methods in multiple + * lines.

    *
  • *
  • *

    Compound dimension values with logical operations - You can use multiple * Expression types and the logical operators * AND/OR/NOT to create a list of one or more - * Expression objects. This allows you to filter on more advanced - * options. For example, you can filter on ((REGION == us-east-1 OR + * Expression objects. By doing this, you can filter on more + * advanced options. For example, you can filter on ((REGION == us-east-1 OR * REGION == us-west-1) OR (TAG.Type == Type1)) AND (USAGE_TYPE != - * DataTransfer). The Expression for that looks like - * this:

    + * DataTransfer). The Expression for that is as + * follows:

    *

    - * { "And": [ {"Or": [ {"Dimensions": { "Key": "REGION", - * "Values": [ "us-east-1", "us-west-1" ] }}, {"Tags": { "Key": "TagName", - * "Values": ["Value1"] } } ]}, {"Not": {"Dimensions": { "Key": "USAGE_TYPE", - * "Values": ["DataTransfer"] }}} ] } - *

    + * { "And": [ {"Or": [ {"Dimensions": { "Key": "REGION", "Values": [ + * "us-east-1", "us-west-1" ] }}, {"Tags": { "Key": "TagName", "Values": + * ["Value1"] } } ]}, {"Not": {"Dimensions": { "Key": "USAGE_TYPE", "Values": + * ["DataTransfer"] }}} ] } + *

    * *

    Because each Expression can have only one operator, the * service returns an error if more than one is specified. The following @@ -4559,29 +4550,24 @@ export interface AnomalyMonitor { *

    * { "And": [ ... ], "DimensionValues": { "Dimension": "USAGE_TYPE", * "Values": [ "DataTransfer" ] } } - *

    + *

    *
  • * * - *

    For the GetRightsizingRecommendation action, a combination of OR and NOT is not - * supported. OR is not supported between different dimensions, or dimensions and tags. - * NOT operators aren't supported. - * Dimensions - * are also limited to LINKED_ACCOUNT, REGION, or + *

    For the GetRightsizingRecommendation action, a combination of OR and + * NOT isn't supported. OR isn't supported between different dimensions, or dimensions + * and tags. NOT operators aren't supported. Dimensions are also limited to + * LINKED_ACCOUNT, REGION, or * RIGHTSIZING_TYPE.

    - * - *

    For the GetReservationPurchaseRecommendation action, only NOT is supported. AND and OR are not supported. Dimensions are limited to LINKED_ACCOUNT.

    - * - * - * - *
    + *

    For the GetReservationPurchaseRecommendation action, only NOT is + * supported. AND and OR aren't supported. Dimensions are limited to + * LINKED_ACCOUNT.

    + * */ MonitorSpecification?: Expression; /** - *

    - * The value for evaluated dimensions. - *

    + *

    The value for evaluated dimensions.

    */ DimensionalValueCount?: number; } @@ -4596,11 +4582,13 @@ export namespace AnomalyMonitor { } /** - *

    Rules are processed in order. If there are multiple rules that match the line item, then the first rule to match is used to determine that Cost Category value.

    + *

    Rules are processed in order. If there are multiple rules that match the line item, + * then the first rule to match is used to determine that Cost Category value.

    */ export interface CostCategoryRule { /** - *

    The default value for the cost category.

    + *

    The + * default value for the cost category.

    */ Value?: string; @@ -4610,25 +4598,32 @@ export interface CostCategoryRule { * Currently the only dimensions supported are LINKED_ACCOUNT, * SERVICE_CODE, RECORD_TYPE, and * LINKED_ACCOUNT_NAME.

    - *

    Root level OR is not supported. We recommend that you create a separate + *

    Root level OR isn't supported. We recommend that you create a separate * rule instead.

    - * *

    * RECORD_TYPE is a dimension used for Cost Explorer APIs, and is also * supported for Cost Category expressions. This dimension uses different terms, depending * on whether you're using the console or API/JSON editor. For a detailed comparison, see - * Term Comparisons in the AWS Billing and Cost Management User + * Term Comparisons in the Billing and Cost Management User * Guide.

    */ Rule?: Expression; /** - *

    The value the line item will be categorized as, if the line item contains the matched dimension.

    + *

    The value the line item is categorized as if the line item contains the matched + * dimension.

    */ InheritedValue?: CostCategoryInheritedValueDimension; /** - *

    You can define the CostCategoryRule rule type as either REGULAR or INHERITED_VALUE. The INHERITED_VALUE rule type adds the flexibility of defining a rule that dynamically inherits the cost category value from the dimension value defined by CostCategoryInheritedValueDimension. For example, if you wanted to dynamically group costs based on the value of a specific tag key, you would first choose an inherited value rule type, then choose the tag dimension and specify the tag key to use.

    + *

    You can define the CostCategoryRule rule type as either + * REGULAR or INHERITED_VALUE. The + * INHERITED_VALUE rule type adds the flexibility of defining a rule that + * dynamically inherits the cost category value from the dimension value defined by + * CostCategoryInheritedValueDimension. For example, if you want to + * dynamically group costs based on the value of a specific tag key, first choose an + * inherited value rule type, then choose the tag dimension and specify the tag key to + * use.

    */ Type?: CostCategoryRuleType | string; } @@ -4644,19 +4639,22 @@ export namespace CostCategoryRule { export interface GetCostAndUsageRequest { /** - *

    Sets the start and end dates for retrieving AWS costs. The start date is inclusive, but the end date is exclusive. For example, if start is 2017-01-01 and end is 2017-05-01, then the cost and usage data is - * retrieved from 2017-01-01 up to and including 2017-04-30 but not including 2017-05-01.

    + *

    Sets the start date and end date for retrieving Amazon Web Services costs. The start date + * is inclusive, but the end date is exclusive. For example, if start is + * 2017-01-01 and end is 2017-05-01, then the cost and + * usage data is retrieved from 2017-01-01 up to and including + * 2017-04-30 but not including 2017-05-01.

    */ TimePeriod: DateInterval | undefined; /** - *

    Sets the AWS cost granularity to MONTHLY or DAILY, or HOURLY. If Granularity isn't set, + *

    Sets the Amazon Web Services cost granularity to MONTHLY or DAILY, or HOURLY. If Granularity isn't set, * the response object doesn't include the Granularity, either MONTHLY or DAILY, or HOURLY.

    */ Granularity: Granularity | string | undefined; /** - *

    Filters AWS costs by different dimensions. For example, you can specify SERVICE and LINKED_ACCOUNT + *

    Filters Amazon Web Services costs by different dimensions. For example, you can specify SERVICE and LINKED_ACCOUNT * and get the costs that are associated with that account's usage of that service. You can nest Expression objects * to define any combination of dimension filters. For more information, see * Expression.

    @@ -4670,11 +4668,12 @@ export interface GetCostAndUsageRequest { *

    Valid values are AmortizedCost, BlendedCost, NetAmortizedCost, * NetUnblendedCost, NormalizedUsageAmount, UnblendedCost, and UsageQuantity.

    * - *

    If you return the UsageQuantity metric, the service aggregates all usage numbers without - * taking into account the units. For example, if you aggregate usageQuantity across all of Amazon EC2, - * the results aren't meaningful because Amazon EC2 compute hours and data transfer are measured in different units - * (for example, hours vs. GB). To get more meaningful UsageQuantity metrics, filter by UsageType or - * UsageTypeGroups.

    + *

    If you return the UsageQuantity metric, the service aggregates all usage + * numbers without taking into account the units. For example, if you aggregate + * usageQuantity across all of Amazon EC2, the results aren't meaningful because + * Amazon EC2 compute hours and data transfer are measured in different units (for example, + * hours and GB). To get more meaningful UsageQuantity metrics, filter by + * UsageType or UsageTypeGroups.

    *
    *

    * Metrics is required for GetCostAndUsage requests.

    @@ -4682,17 +4681,17 @@ export interface GetCostAndUsageRequest { Metrics: string[] | undefined; /** - *

    You can group AWS costs using up to two different groups, either dimensions, tag keys, + *

    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.

    - *

    When you group by tag key, you get all tag values, including empty strings.

    - *

    Valid values are AZ, INSTANCE_TYPE, LEGAL_ENTITY_NAME, LINKED_ACCOUNT, - * OPERATION, PLATFORM, PURCHASE_TYPE, SERVICE, TAGS, + *

    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.

    */ GroupBy?: GroupDefinition[]; /** - *

    The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size.

    + *

    The token to retrieve the next set of results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.

    */ NextPageToken?: string; } @@ -4714,7 +4713,7 @@ export interface GetCostAndUsageWithResourcesRequest { TimePeriod: DateInterval | undefined; /** - *

    Sets the AWS cost granularity to MONTHLY, DAILY, or HOURLY. If + *

    Sets the Amazon Web Services cost granularity to MONTHLY, DAILY, or HOURLY. If * Granularity isn't set, the response object doesn't include the * Granularity, MONTHLY, DAILY, or HOURLY.

    */ @@ -4758,7 +4757,7 @@ export interface GetCostAndUsageWithResourcesRequest { GroupBy?: GroupDefinition[]; /** - *

    The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size.

    + *

    The token to retrieve the next set of results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.

    */ NextPageToken?: string; } @@ -4775,13 +4774,12 @@ export namespace GetCostAndUsageWithResourcesRequest { export interface GetCostCategoriesRequest { /** *

    The value that you want to search the filter values for.

    - *

    If you do not specify a CostCategoryName, SearchString will be used to filter Cost Category names that match the SearchString pattern. If you do specifiy a CostCategoryName, SearchString will be used to filter Cost Category values that match the SearchString pattern.

    + *

    If you do not specify a CostCategoryName, SearchString will be used to filter Cost Category names that match the SearchString pattern. If you do specifiy a CostCategoryName, SearchString will be used to filter Cost Category values that match the SearchString pattern.

    */ SearchString?: string; /** - *

    The time period of the request. - *

    + *

    The time period of the request.

    */ TimePeriod: DateInterval | undefined; @@ -4796,32 +4794,34 @@ export interface GetCostCategoriesRequest { *
  • *

    Simple dimension values - You can set the dimension name and values for the * filters that you plan to use. For example, you can filter for - * REGION==us-east-1 OR REGION==us-west-1. For GetRightsizingRecommendation, the Region is a full name (for example, REGION==US East (N. Virginia). The - * Expression example looks like:

    + * REGION==us-east-1 OR REGION==us-west-1. For + * GetRightsizingRecommendation, the Region is a full name (for + * example, REGION==US East (N. Virginia). The Expression + * example is as follows:

    *

    - * { "Dimensions": { "Key": "REGION", "Values": [ "us-east-1", - * “us-west-1” ] } } + * { "Dimensions": { "Key": "REGION", "Values": [ "us-east-1", “us-west-1” ] + * } } *

    - *

    The list of dimension values are OR'd together to retrieve cost or usage - * data. You can create Expression and DimensionValues - * objects using either with* methods or set* methods in - * multiple lines.

    + *

    The list of dimension values are OR'd together to retrieve cost or usage data. + * You can create Expression and DimensionValues objects + * using either with* methods or set* methods in multiple + * lines.

    *
  • *
  • *

    Compound dimension values with logical operations - You can use multiple * Expression types and the logical operators * AND/OR/NOT to create a list of one or more - * Expression objects. This allows you to filter on more advanced - * options. For example, you can filter on ((REGION == us-east-1 OR + * Expression objects. By doing this, you can filter on more + * advanced options. For example, you can filter on ((REGION == us-east-1 OR * REGION == us-west-1) OR (TAG.Type == Type1)) AND (USAGE_TYPE != - * DataTransfer). The Expression for that looks like - * this:

    + * DataTransfer). The Expression for that is as + * follows:

    *

    - * { "And": [ {"Or": [ {"Dimensions": { "Key": "REGION", - * "Values": [ "us-east-1", "us-west-1" ] }}, {"Tags": { "Key": "TagName", - * "Values": ["Value1"] } } ]}, {"Not": {"Dimensions": { "Key": "USAGE_TYPE", - * "Values": ["DataTransfer"] }}} ] } - *

    + * { "And": [ {"Or": [ {"Dimensions": { "Key": "REGION", "Values": [ + * "us-east-1", "us-west-1" ] }}, {"Tags": { "Key": "TagName", "Values": + * ["Value1"] } } ]}, {"Not": {"Dimensions": { "Key": "USAGE_TYPE", "Values": + * ["DataTransfer"] }}} ] } + *

    * *

    Because each Expression can have only one operator, the * service returns an error if more than one is specified. The following @@ -4831,28 +4831,25 @@ export interface GetCostCategoriesRequest { *

    * { "And": [ ... ], "DimensionValues": { "Dimension": "USAGE_TYPE", * "Values": [ "DataTransfer" ] } } - *

    + *

    *
  • * * - *

    For the GetRightsizingRecommendation action, a combination of OR and NOT is not - * supported. OR is not supported between different dimensions, or dimensions and tags. - * NOT operators aren't supported. - * Dimensions - * are also limited to LINKED_ACCOUNT, REGION, or + *

    For the GetRightsizingRecommendation action, a combination of OR and + * NOT isn't supported. OR isn't supported between different dimensions, or dimensions + * and tags. NOT operators aren't supported. Dimensions are also limited to + * LINKED_ACCOUNT, REGION, or * RIGHTSIZING_TYPE.

    - * - *

    For the GetReservationPurchaseRecommendation action, only NOT is supported. AND and OR are not supported. Dimensions are limited to LINKED_ACCOUNT.

    - * - * - * - *
    + *

    For the GetReservationPurchaseRecommendation action, only NOT is + * supported. AND and OR aren't supported. Dimensions are limited to + * LINKED_ACCOUNT.

    + * */ Filter?: Expression; /** *

    The value by which you want to sort the data.

    - *

    The key represents cost and usage metrics. The following values are supported:

    + *

    The key represents cost and usage metrics. The following values are supported:

    *
      *
    • *

      @@ -4897,13 +4894,13 @@ export interface GetCostCategoriesRequest { /** *

      This field is only used when SortBy is provided in the request.

      - *

      The maximum number of objects that to be returned for this request. If MaxResults is not specified with SortBy, the request will return 1000 results as the default value for this parameter.

      - *

      For GetCostCategories, MaxResults has an upper limit of 1000.

      + *

      The maximum number of objects that to be returned for this request. If MaxResults is not specified with SortBy, the request will return 1000 results as the default value for this parameter.

      + *

      For GetCostCategories, MaxResults has an upper limit of 1000.

      */ MaxResults?: number; /** - *

      If the number of objects that are still available for retrieval exceeds the limit, AWS returns a NextPageToken value in the response. To retrieve the next batch of objects, provide the NextPageToken from the prior call in your next request.

      + *

      If the number of objects that are still available for retrieval exceeds the limit, Amazon Web Services returns a NextPageToken value in the response. To retrieve the next batch of objects, provide the NextPageToken from the prior call in your next request.

      */ NextPageToken?: string; } @@ -5101,8 +5098,11 @@ export interface GetDimensionValuesRequest { SearchString?: string; /** - *

      The start and end dates for retrieving the dimension values. The start date is inclusive, but the end date is exclusive. For example, if start is 2017-01-01 and end is 2017-05-01, then the cost and usage data is - * retrieved from 2017-01-01 up to and including 2017-04-30 but not including 2017-05-01.

      + *

      The start date and end date for retrieving the dimension values. The start date is + * inclusive, but the end date is exclusive. For example, if start is + * 2017-01-01 and end is 2017-05-01, then the cost and + * usage data is retrieved from 2017-01-01 up to and including + * 2017-04-30 but not including 2017-05-01.

      */ TimePeriod: DateInterval | undefined; @@ -5132,11 +5132,11 @@ export interface GetDimensionValuesRequest { *

      INSTANCE_TYPE - The type of Amazon EC2 instance. An example is m4.xlarge.

      *
    • *
    • - *

      LEGAL_ENTITY_NAME - The name of the organization that sells you AWS services, such as Amazon Web Services.

      + *

      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 AWS ID of the member account.

      + * field contains the Amazon Web Services ID of the member account.

      *
    • *
    • *

      OPERATING_SYSTEM - The operating system. Examples are Windows or Linux.

      @@ -5152,7 +5152,7 @@ export interface GetDimensionValuesRequest { * Instances and Standard Reserved Instances.

      *
    • *
    • - *

      SERVICE - The AWS service such as Amazon DynamoDB.

      + *

      SERVICE - The Amazon Web Services service such as Amazon DynamoDB.

      *
    • *
    • *

      USAGE_TYPE - The type of usage. An example is DataTransfer-In-Bytes. The response for the GetDimensionValues operation @@ -5163,7 +5163,7 @@ export interface GetDimensionValuesRequest { * operation includes a unit attribute.

      *
    • *
    • - *

      REGION - The AWS Region.

      + *

      REGION - The Amazon Web Services Region.

      *
    • *
    • *

      RECORD_TYPE - The different types of charges such as RI fees, usage costs, tax refunds, and credits.

      @@ -5189,13 +5189,13 @@ export interface GetDimensionValuesRequest { *
    • *
    • *

      LINKED_ACCOUNT - The description in the attribute map that includes the full name of the member account. The value - * field contains the AWS ID of the member account.

      + * field contains the Amazon Web Services ID of the member account.

      *
    • *
    • *

      PLATFORM - The Amazon EC2 operating system. Examples are Windows or Linux.

      *
    • *
    • - *

      REGION - The AWS Region.

      + *

      REGION - The Amazon Web Services Region.

      *
    • *
    • *

      SCOPE (Utilization only) - The scope of a Reserved Instance (RI). Values are regional or a single Availability Zone.

      @@ -5216,14 +5216,14 @@ export interface GetDimensionValuesRequest { *

      PAYMENT_OPTION - Payment option for the given Savings Plans (for example, All Upfront)

      *
    • *
    • - *

      REGION - The AWS Region.

      + *

      REGION - The Amazon Web Services Region.

      *
    • *
    • *

      INSTANCE_TYPE_FAMILY - The family of instances (For example, m5)

      *
    • *
    • *

      LINKED_ACCOUNT - The description in the attribute map that includes the full name of the member account. The value - * field contains the AWS ID of the member account.

      + * field contains the Amazon Web Services ID of the member account.

      *
    • *
    • *

      SAVINGS_PLAN_ARN - The unique identifier for your Savings Plan

      @@ -5238,32 +5238,34 @@ export interface GetDimensionValuesRequest { *
    • *

      Simple dimension values - You can set the dimension name and values for the * filters that you plan to use. For example, you can filter for - * REGION==us-east-1 OR REGION==us-west-1. For GetRightsizingRecommendation, the Region is a full name (for example, REGION==US East (N. Virginia). The - * Expression example looks like:

      + * REGION==us-east-1 OR REGION==us-west-1. For + * GetRightsizingRecommendation, the Region is a full name (for + * example, REGION==US East (N. Virginia). The Expression + * example is as follows:

      *

      - * { "Dimensions": { "Key": "REGION", "Values": [ "us-east-1", - * “us-west-1” ] } } + * { "Dimensions": { "Key": "REGION", "Values": [ "us-east-1", “us-west-1” ] + * } } *

      - *

      The list of dimension values are OR'd together to retrieve cost or usage - * data. You can create Expression and DimensionValues - * objects using either with* methods or set* methods in - * multiple lines.

      + *

      The list of dimension values are OR'd together to retrieve cost or usage data. + * You can create Expression and DimensionValues objects + * using either with* methods or set* methods in multiple + * lines.

      *
    • *
    • *

      Compound dimension values with logical operations - You can use multiple * Expression types and the logical operators * AND/OR/NOT to create a list of one or more - * Expression objects. This allows you to filter on more advanced - * options. For example, you can filter on ((REGION == us-east-1 OR + * Expression objects. By doing this, you can filter on more + * advanced options. For example, you can filter on ((REGION == us-east-1 OR * REGION == us-west-1) OR (TAG.Type == Type1)) AND (USAGE_TYPE != - * DataTransfer). The Expression for that looks like - * this:

      + * DataTransfer). The Expression for that is as + * follows:

      *

      - * { "And": [ {"Or": [ {"Dimensions": { "Key": "REGION", - * "Values": [ "us-east-1", "us-west-1" ] }}, {"Tags": { "Key": "TagName", - * "Values": ["Value1"] } } ]}, {"Not": {"Dimensions": { "Key": "USAGE_TYPE", - * "Values": ["DataTransfer"] }}} ] } - *

      + * { "And": [ {"Or": [ {"Dimensions": { "Key": "REGION", "Values": [ + * "us-east-1", "us-west-1" ] }}, {"Tags": { "Key": "TagName", "Values": + * ["Value1"] } } ]}, {"Not": {"Dimensions": { "Key": "USAGE_TYPE", "Values": + * ["DataTransfer"] }}} ] } + *

      * *

      Because each Expression can have only one operator, the * service returns an error if more than one is specified. The following @@ -5273,28 +5275,25 @@ export interface GetDimensionValuesRequest { *

      * { "And": [ ... ], "DimensionValues": { "Dimension": "USAGE_TYPE", * "Values": [ "DataTransfer" ] } } - *

      + *

      *
    • *
    * - *

    For the GetRightsizingRecommendation action, a combination of OR and NOT is not - * supported. OR is not supported between different dimensions, or dimensions and tags. - * NOT operators aren't supported. - * Dimensions - * are also limited to LINKED_ACCOUNT, REGION, or + *

    For the GetRightsizingRecommendation action, a combination of OR and + * NOT isn't supported. OR isn't supported between different dimensions, or dimensions + * and tags. NOT operators aren't supported. Dimensions are also limited to + * LINKED_ACCOUNT, REGION, or * RIGHTSIZING_TYPE.

    - * - *

    For the GetReservationPurchaseRecommendation action, only NOT is supported. AND and OR are not supported. Dimensions are limited to LINKED_ACCOUNT.

    - * - * - * - *
    + *

    For the GetReservationPurchaseRecommendation action, only NOT is + * supported. AND and OR aren't supported. Dimensions are limited to + * LINKED_ACCOUNT.

    + * */ Filter?: Expression; /** *

    The value by which you want to sort the data.

    - *

    The key represents cost and usage metrics. The following values are supported:

    + *

    The key represents cost and usage metrics. The following values are supported:

    *
      *
    • *

      @@ -5339,12 +5338,12 @@ export interface GetDimensionValuesRequest { /** *

      This field is only used when SortBy is provided in the request. The maximum number of objects that to be returned for this request. If MaxResults is not specified with SortBy, the request will return 1000 results as the default value for this parameter.

      - *

      For GetDimensionValues, MaxResults has an upper limit of 1000.

      + *

      For GetDimensionValues, MaxResults has an upper limit of 1000.

      */ MaxResults?: number; /** - *

      The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size.

      + *

      The token to retrieve the next set of results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.

      */ NextPageToken?: string; } @@ -5407,7 +5406,7 @@ export interface GetReservationCoverageRequest { GroupBy?: GroupDefinition[]; /** - *

      The granularity of the AWS cost data for the reservation. Valid values are MONTHLY and DAILY.

      + *

      The granularity of the Amazon Web Services cost data for the reservation. Valid values are MONTHLY and DAILY.

      *

      If GroupBy is set, Granularity can't be set. If Granularity isn't set, * the response object doesn't include Granularity, either MONTHLY or DAILY.

      *

      The GetReservationCoverage operation supports only DAILY and MONTHLY granularities.

      @@ -5471,13 +5470,13 @@ export interface GetReservationCoverageRequest { Metrics?: string[]; /** - *

      The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size.

      + *

      The token to retrieve the next set of results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.

      */ NextPageToken?: string; /** *

      The value by which you want to sort the data.

      - *

      The following values are supported for Key:

      + *

      The following values are supported for Key:

      *
        *
      • *

        @@ -5536,7 +5535,7 @@ export interface GetReservationCoverageRequest { SortBy?: SortDefinition; /** - *

        The maximum number of objects that you returned for this request. If more objects are available, in the response, AWS provides a NextPageToken value that you can use in a subsequent call to get the next batch of objects.

        + *

        The maximum number of objects that you returned for this request. If more objects are available, in the response, Amazon Web Services provides a NextPageToken value that you can use in a subsequent call to get the next batch of objects.

        */ MaxResults?: number; } @@ -5567,32 +5566,34 @@ export interface GetReservationPurchaseRecommendationRequest { *
      • *

        Simple dimension values - You can set the dimension name and values for the * filters that you plan to use. For example, you can filter for - * REGION==us-east-1 OR REGION==us-west-1. For GetRightsizingRecommendation, the Region is a full name (for example, REGION==US East (N. Virginia). The - * Expression example looks like:

        + * REGION==us-east-1 OR REGION==us-west-1. For + * GetRightsizingRecommendation, the Region is a full name (for + * example, REGION==US East (N. Virginia). The Expression + * example is as follows:

        *

        - * { "Dimensions": { "Key": "REGION", "Values": [ "us-east-1", - * “us-west-1” ] } } + * { "Dimensions": { "Key": "REGION", "Values": [ "us-east-1", “us-west-1” ] + * } } *

        - *

        The list of dimension values are OR'd together to retrieve cost or usage - * data. You can create Expression and DimensionValues - * objects using either with* methods or set* methods in - * multiple lines.

        + *

        The list of dimension values are OR'd together to retrieve cost or usage data. + * You can create Expression and DimensionValues objects + * using either with* methods or set* methods in multiple + * lines.

        *
      • *
      • *

        Compound dimension values with logical operations - You can use multiple * Expression types and the logical operators * AND/OR/NOT to create a list of one or more - * Expression objects. This allows you to filter on more advanced - * options. For example, you can filter on ((REGION == us-east-1 OR + * Expression objects. By doing this, you can filter on more + * advanced options. For example, you can filter on ((REGION == us-east-1 OR * REGION == us-west-1) OR (TAG.Type == Type1)) AND (USAGE_TYPE != - * DataTransfer). The Expression for that looks like - * this:

        + * DataTransfer). The Expression for that is as + * follows:

        *

        - * { "And": [ {"Or": [ {"Dimensions": { "Key": "REGION", - * "Values": [ "us-east-1", "us-west-1" ] }}, {"Tags": { "Key": "TagName", - * "Values": ["Value1"] } } ]}, {"Not": {"Dimensions": { "Key": "USAGE_TYPE", - * "Values": ["DataTransfer"] }}} ] } - *

        + * { "And": [ {"Or": [ {"Dimensions": { "Key": "REGION", "Values": [ + * "us-east-1", "us-west-1" ] }}, {"Tags": { "Key": "TagName", "Values": + * ["Value1"] } } ]}, {"Not": {"Dimensions": { "Key": "USAGE_TYPE", "Values": + * ["DataTransfer"] }}} ] } + *

        * *

        Because each Expression can have only one operator, the * service returns an error if more than one is specified. The following @@ -5602,22 +5603,19 @@ export interface GetReservationPurchaseRecommendationRequest { *

        * { "And": [ ... ], "DimensionValues": { "Dimension": "USAGE_TYPE", * "Values": [ "DataTransfer" ] } } - *

        + *

        *
      • *
      * - *

      For the GetRightsizingRecommendation action, a combination of OR and NOT is not - * supported. OR is not supported between different dimensions, or dimensions and tags. - * NOT operators aren't supported. - * Dimensions - * are also limited to LINKED_ACCOUNT, REGION, or + *

      For the GetRightsizingRecommendation action, a combination of OR and + * NOT isn't supported. OR isn't supported between different dimensions, or dimensions + * and tags. NOT operators aren't supported. Dimensions are also limited to + * LINKED_ACCOUNT, REGION, or * RIGHTSIZING_TYPE.

      - * - *

      For the GetReservationPurchaseRecommendation action, only NOT is supported. AND and OR are not supported. Dimensions are limited to LINKED_ACCOUNT.

      - * - * - * - *
      + *

      For the GetReservationPurchaseRecommendation action, only NOT is + * supported. AND and OR aren't supported. Dimensions are limited to + * LINKED_ACCOUNT.

      + * */ Filter?: Expression; @@ -5627,7 +5625,7 @@ export interface GetReservationPurchaseRecommendationRequest { AccountScope?: AccountScope | string; /** - *

      The number of previous days that you want AWS to consider when it calculates your recommendations.

      + *

      The number of previous days that you want Amazon Web Services to consider when it calculates your recommendations.

      */ LookbackPeriodInDays?: LookbackPeriodInDays | string; @@ -5734,7 +5732,7 @@ export interface GetReservationUtilizationRequest { /** *

      The value by which you want to sort the data.

      * - *

      The following values are supported for Key:

      + *

      The following values are supported for Key:

      *
        *
      • *

        @@ -5828,12 +5826,12 @@ export interface GetReservationUtilizationRequest { SortBy?: SortDefinition; /** - *

        The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size.

        + *

        The token to retrieve the next set of results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.

        */ NextPageToken?: string; /** - *

        The maximum number of objects that you returned for this request. If more objects are available, in the response, AWS provides a NextPageToken value that you can use in a subsequent call to get the next batch of objects.

        + *

        The maximum number of objects that you returned for this request. If more objects are available, in the response, Amazon Web Services provides a NextPageToken value that you can use in a subsequent call to get the next batch of objects.

        */ MaxResults?: number; } @@ -5854,32 +5852,34 @@ export interface GetRightsizingRecommendationRequest { *
      • *

        Simple dimension values - You can set the dimension name and values for the * filters that you plan to use. For example, you can filter for - * REGION==us-east-1 OR REGION==us-west-1. For GetRightsizingRecommendation, the Region is a full name (for example, REGION==US East (N. Virginia). The - * Expression example looks like:

        + * REGION==us-east-1 OR REGION==us-west-1. For + * GetRightsizingRecommendation, the Region is a full name (for + * example, REGION==US East (N. Virginia). The Expression + * example is as follows:

        *

        - * { "Dimensions": { "Key": "REGION", "Values": [ "us-east-1", - * “us-west-1” ] } } + * { "Dimensions": { "Key": "REGION", "Values": [ "us-east-1", “us-west-1” ] + * } } *

        - *

        The list of dimension values are OR'd together to retrieve cost or usage - * data. You can create Expression and DimensionValues - * objects using either with* methods or set* methods in - * multiple lines.

        + *

        The list of dimension values are OR'd together to retrieve cost or usage data. + * You can create Expression and DimensionValues objects + * using either with* methods or set* methods in multiple + * lines.

        *
      • *
      • *

        Compound dimension values with logical operations - You can use multiple * Expression types and the logical operators * AND/OR/NOT to create a list of one or more - * Expression objects. This allows you to filter on more advanced - * options. For example, you can filter on ((REGION == us-east-1 OR + * Expression objects. By doing this, you can filter on more + * advanced options. For example, you can filter on ((REGION == us-east-1 OR * REGION == us-west-1) OR (TAG.Type == Type1)) AND (USAGE_TYPE != - * DataTransfer). The Expression for that looks like - * this:

        + * DataTransfer). The Expression for that is as + * follows:

        *

        - * { "And": [ {"Or": [ {"Dimensions": { "Key": "REGION", - * "Values": [ "us-east-1", "us-west-1" ] }}, {"Tags": { "Key": "TagName", - * "Values": ["Value1"] } } ]}, {"Not": {"Dimensions": { "Key": "USAGE_TYPE", - * "Values": ["DataTransfer"] }}} ] } - *

        + * { "And": [ {"Or": [ {"Dimensions": { "Key": "REGION", "Values": [ + * "us-east-1", "us-west-1" ] }}, {"Tags": { "Key": "TagName", "Values": + * ["Value1"] } } ]}, {"Not": {"Dimensions": { "Key": "USAGE_TYPE", "Values": + * ["DataTransfer"] }}} ] } + *

        * *

        Because each Expression can have only one operator, the * service returns an error if more than one is specified. The following @@ -5889,22 +5889,19 @@ export interface GetRightsizingRecommendationRequest { *

        * { "And": [ ... ], "DimensionValues": { "Dimension": "USAGE_TYPE", * "Values": [ "DataTransfer" ] } } - *

        + *

        *
      • *
      * - *

      For the GetRightsizingRecommendation action, a combination of OR and NOT is not - * supported. OR is not supported between different dimensions, or dimensions and tags. - * NOT operators aren't supported. - * Dimensions - * are also limited to LINKED_ACCOUNT, REGION, or + *

      For the GetRightsizingRecommendation action, a combination of OR and + * NOT isn't supported. OR isn't supported between different dimensions, or dimensions + * and tags. NOT operators aren't supported. Dimensions are also limited to + * LINKED_ACCOUNT, REGION, or * RIGHTSIZING_TYPE.

      - * - *

      For the GetReservationPurchaseRecommendation action, only NOT is supported. AND and OR are not supported. Dimensions are limited to LINKED_ACCOUNT.

      - * - * - * - *
      + *

      For the GetReservationPurchaseRecommendation action, only NOT is + * supported. AND and OR aren't supported. Dimensions are limited to + * LINKED_ACCOUNT.

      + * */ Filter?: Expression; @@ -6009,7 +6006,7 @@ export interface GetSavingsPlansCoverageRequest { /** *

      The value by which you want to sort the data.

      - *

      The following values are supported for Key:

      + *

      The following values are supported for Key:

      *
        *
      • *

        @@ -6184,7 +6181,7 @@ export interface GetSavingsPlansUtilizationDetailsRequest { /** *

        The value by which you want to sort the data.

        * - *

        The following values are supported for Key:

        + *

        The following values are supported for Key:

        *
          *
        • *

          @@ -6292,7 +6289,7 @@ export interface GetSavingsPlansUtilizationRequest { /** *

          The value by which you want to sort the data.

          - *

          The following values are supported for Key:

          + *

          The following values are supported for Key:

          *
            *
          • *

            @@ -6358,32 +6355,34 @@ export interface GetTagsRequest { *

          • *

            Simple dimension values - You can set the dimension name and values for the * filters that you plan to use. For example, you can filter for - * REGION==us-east-1 OR REGION==us-west-1. For GetRightsizingRecommendation, the Region is a full name (for example, REGION==US East (N. Virginia). The - * Expression example looks like:

            + * REGION==us-east-1 OR REGION==us-west-1. For + * GetRightsizingRecommendation, the Region is a full name (for + * example, REGION==US East (N. Virginia). The Expression + * example is as follows:

            *

            - * { "Dimensions": { "Key": "REGION", "Values": [ "us-east-1", - * “us-west-1” ] } } + * { "Dimensions": { "Key": "REGION", "Values": [ "us-east-1", “us-west-1” ] + * } } *

            - *

            The list of dimension values are OR'd together to retrieve cost or usage - * data. You can create Expression and DimensionValues - * objects using either with* methods or set* methods in - * multiple lines.

            + *

            The list of dimension values are OR'd together to retrieve cost or usage data. + * You can create Expression and DimensionValues objects + * using either with* methods or set* methods in multiple + * lines.

            *
          • *
          • *

            Compound dimension values with logical operations - You can use multiple * Expression types and the logical operators * AND/OR/NOT to create a list of one or more - * Expression objects. This allows you to filter on more advanced - * options. For example, you can filter on ((REGION == us-east-1 OR + * Expression objects. By doing this, you can filter on more + * advanced options. For example, you can filter on ((REGION == us-east-1 OR * REGION == us-west-1) OR (TAG.Type == Type1)) AND (USAGE_TYPE != - * DataTransfer). The Expression for that looks like - * this:

            + * DataTransfer). The Expression for that is as + * follows:

            *

            - * { "And": [ {"Or": [ {"Dimensions": { "Key": "REGION", - * "Values": [ "us-east-1", "us-west-1" ] }}, {"Tags": { "Key": "TagName", - * "Values": ["Value1"] } } ]}, {"Not": {"Dimensions": { "Key": "USAGE_TYPE", - * "Values": ["DataTransfer"] }}} ] } - *

            + * { "And": [ {"Or": [ {"Dimensions": { "Key": "REGION", "Values": [ + * "us-east-1", "us-west-1" ] }}, {"Tags": { "Key": "TagName", "Values": + * ["Value1"] } } ]}, {"Not": {"Dimensions": { "Key": "USAGE_TYPE", "Values": + * ["DataTransfer"] }}} ] } + *

            * *

            Because each Expression can have only one operator, the * service returns an error if more than one is specified. The following @@ -6393,28 +6392,25 @@ export interface GetTagsRequest { *

            * { "And": [ ... ], "DimensionValues": { "Dimension": "USAGE_TYPE", * "Values": [ "DataTransfer" ] } } - *

            + *

            *
          • *
          * - *

          For the GetRightsizingRecommendation action, a combination of OR and NOT is not - * supported. OR is not supported between different dimensions, or dimensions and tags. - * NOT operators aren't supported. - * Dimensions - * are also limited to LINKED_ACCOUNT, REGION, or + *

          For the GetRightsizingRecommendation action, a combination of OR and + * NOT isn't supported. OR isn't supported between different dimensions, or dimensions + * and tags. NOT operators aren't supported. Dimensions are also limited to + * LINKED_ACCOUNT, REGION, or * RIGHTSIZING_TYPE.

          - * - *

          For the GetReservationPurchaseRecommendation action, only NOT is supported. AND and OR are not supported. Dimensions are limited to LINKED_ACCOUNT.

          - * - * - * - *
          + *

          For the GetReservationPurchaseRecommendation action, only NOT is + * supported. AND and OR aren't supported. Dimensions are limited to + * LINKED_ACCOUNT.

          + * */ Filter?: Expression; /** *

          The value by which you want to sort the data.

          - *

          The key represents cost and usage metrics. The following values are supported:

          + *

          The key represents cost and usage metrics. The following values are supported:

          *
            *
          • *

            @@ -6459,12 +6455,12 @@ export interface GetTagsRequest { /** *

            This field is only used when SortBy is provided in the request. The maximum number of objects that to be returned for this request. If MaxResults is not specified with SortBy, the request will return 1000 results as the default value for this parameter.

            - *

            For GetTags, MaxResults has an upper limit of 1000.

            + *

            For GetTags, MaxResults has an upper limit of 1000.

            */ MaxResults?: number; /** - *

            The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size.

            + *

            The token to retrieve the next set of results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.

            */ NextPageToken?: string; } @@ -6647,7 +6643,7 @@ export namespace GetUsageForecastRequest { export interface CreateAnomalyMonitorRequest { /** - *

            The cost anomaly detection monitor object that you want to create.

            + *

            The cost anomaly detection monitor object that you want to create.

            */ AnomalyMonitor: AnomalyMonitor | undefined; } @@ -6662,25 +6658,22 @@ export namespace CreateAnomalyMonitorRequest { } /** - *

            The structure of Cost Categories. This includes detailed metadata and the set of rules for the CostCategory object.

            + *

            The structure of Cost Categories. This includes detailed metadata and the set of rules + * for the CostCategory object.

            */ export interface CostCategory { /** - *

            - * The unique identifier for your Cost Category. - *

            + *

            The unique identifier for your Cost Category.

            */ CostCategoryArn: string | undefined; /** - *

            - * The Cost Category's effective start date.

            + *

            The effective state data of your Cost Category.

            */ EffectiveStart: string | undefined; /** - *

            - * The Cost Category's effective end date.

            + *

            The effective end data of your Cost Category.

            */ EffectiveEnd?: string; @@ -6695,21 +6688,27 @@ export interface CostCategory { RuleVersion: CostCategoryRuleVersion | string | undefined; /** - *

            - * Rules are processed in order. If there are multiple rules that match the line item, then the first rule to match is used to determine that Cost Category value. + *

            The rules are processed in order. If there are multiple rules that match the line + * item, then the first rule to match is used to determine that Cost Category value. *

            */ Rules: CostCategoryRule[] | undefined; /** - *

            - * The list of processing statuses for Cost Management products for a specific cost category. - *

            + *

            The split charge rules that are used to allocate your charges between your Cost + * Category values.

            + */ + SplitChargeRules?: CostCategorySplitChargeRule[]; + + /** + *

            The list of processing statuses for Cost Management products for a specific cost + * category.

            */ ProcessingStatus?: CostCategoryProcessingStatus[]; /** - *

            The default value for the cost category.

            + *

            The + * default value for the cost category.

            */ DefaultValue?: string; } @@ -6741,9 +6740,17 @@ export interface CreateCostCategoryDefinitionRequest { Rules: CostCategoryRule[] | undefined; /** - *

            The default value for the cost category.

            + *

            The + * default value for the cost category.

            */ DefaultValue?: string; + + /** + *

            + * The split charge rules used to allocate your charges between your Cost Category values. + *

            + */ + SplitChargeRules?: CostCategorySplitChargeRule[]; } export namespace CreateCostCategoryDefinitionRequest { @@ -6757,16 +6764,13 @@ export namespace CreateCostCategoryDefinitionRequest { export interface GetAnomalyMonitorsResponse { /** - *

            - * A list of cost anomaly monitors that includes the detailed metadata for each monitor. - *

            + *

            A list of cost anomaly monitors that includes the detailed metadata for each monitor.

            */ AnomalyMonitors: AnomalyMonitor[] | undefined; /** - *

            - * The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size. - *

            + *

            The token to retrieve the next set of results. Amazon Web Services provides the token when + * the response from a previous call has more results than the maximum page size.

            */ NextPageToken?: string; } @@ -6798,9 +6802,17 @@ export interface UpdateCostCategoryDefinitionRequest { Rules: CostCategoryRule[] | undefined; /** - *

            The default value for the cost category.

            + *

            The + * default value for the cost category.

            */ DefaultValue?: string; + + /** + *

            + * The split charge rules used to allocate your charges between your Cost Category values. + *

            + */ + SplitChargeRules?: CostCategorySplitChargeRule[]; } export namespace UpdateCostCategoryDefinitionRequest { @@ -6814,7 +6826,8 @@ export namespace UpdateCostCategoryDefinitionRequest { export interface DescribeCostCategoryDefinitionResponse { /** - *

            The structure of Cost Categories. This includes detailed metadata and the set of rules for the CostCategory object.

            + *

            The structure of Cost Categories. This includes detailed metadata and the set of rules + * for the CostCategory object.

            */ CostCategory?: CostCategory; } diff --git a/clients/client-cost-explorer/protocols/Aws_json1_1.ts b/clients/client-cost-explorer/protocols/Aws_json1_1.ts index 4a45af88a421..857fb80bf939 100644 --- a/clients/client-cost-explorer/protocols/Aws_json1_1.ts +++ b/clients/client-cost-explorer/protocols/Aws_json1_1.ts @@ -106,6 +106,8 @@ import { CostCategoryProcessingStatus, CostCategoryReference, CostCategoryRule, + CostCategorySplitChargeRule, + CostCategorySplitChargeRuleParameter, CostCategoryValues, Coverage, CoverageByTime, @@ -2918,6 +2920,90 @@ const serializeAws_json1_1CostCategoryRulesList = (input: CostCategoryRule[], co }); }; +const serializeAws_json1_1CostCategorySplitChargeRule = ( + input: CostCategorySplitChargeRule, + context: __SerdeContext +): any => { + return { + ...(input.Method !== undefined && input.Method !== null && { Method: input.Method }), + ...(input.Parameters !== undefined && + input.Parameters !== null && { + Parameters: serializeAws_json1_1CostCategorySplitChargeRuleParametersList(input.Parameters, context), + }), + ...(input.Source !== undefined && input.Source !== null && { Source: input.Source }), + ...(input.Targets !== undefined && + input.Targets !== null && { + Targets: serializeAws_json1_1CostCategorySplitChargeRuleTargetsList(input.Targets, context), + }), + }; +}; + +const serializeAws_json1_1CostCategorySplitChargeRuleParameter = ( + input: CostCategorySplitChargeRuleParameter, + context: __SerdeContext +): any => { + return { + ...(input.Type !== undefined && input.Type !== null && { Type: input.Type }), + ...(input.Values !== undefined && + input.Values !== null && { + Values: serializeAws_json1_1CostCategorySplitChargeRuleParameterValuesList(input.Values, context), + }), + }; +}; + +const serializeAws_json1_1CostCategorySplitChargeRuleParametersList = ( + input: CostCategorySplitChargeRuleParameter[], + context: __SerdeContext +): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + if (entry === null) { + return null as any; + } + return serializeAws_json1_1CostCategorySplitChargeRuleParameter(entry, context); + }); +}; + +const serializeAws_json1_1CostCategorySplitChargeRuleParameterValuesList = ( + input: string[], + context: __SerdeContext +): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + if (entry === null) { + return null as any; + } + return entry; + }); +}; + +const serializeAws_json1_1CostCategorySplitChargeRulesList = ( + input: CostCategorySplitChargeRule[], + context: __SerdeContext +): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + if (entry === null) { + return null as any; + } + return serializeAws_json1_1CostCategorySplitChargeRule(entry, context); + }); +}; + +const serializeAws_json1_1CostCategorySplitChargeRuleTargetsList = (input: string[], context: __SerdeContext): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + if (entry === null) { + return null as any; + } + return entry; + }); +}; + const serializeAws_json1_1CostCategoryValues = (input: CostCategoryValues, context: __SerdeContext): any => { return { ...(input.Key !== undefined && input.Key !== null && { Key: input.Key }), @@ -2962,6 +3048,10 @@ const serializeAws_json1_1CreateCostCategoryDefinitionRequest = ( ...(input.RuleVersion !== undefined && input.RuleVersion !== null && { RuleVersion: input.RuleVersion }), ...(input.Rules !== undefined && input.Rules !== null && { Rules: serializeAws_json1_1CostCategoryRulesList(input.Rules, context) }), + ...(input.SplitChargeRules !== undefined && + input.SplitChargeRules !== null && { + SplitChargeRules: serializeAws_json1_1CostCategorySplitChargeRulesList(input.SplitChargeRules, context), + }), }; }; @@ -3567,6 +3657,10 @@ const serializeAws_json1_1UpdateCostCategoryDefinitionRequest = ( ...(input.RuleVersion !== undefined && input.RuleVersion !== null && { RuleVersion: input.RuleVersion }), ...(input.Rules !== undefined && input.Rules !== null && { Rules: serializeAws_json1_1CostCategoryRulesList(input.Rules, context) }), + ...(input.SplitChargeRules !== undefined && + input.SplitChargeRules !== null && { + SplitChargeRules: serializeAws_json1_1CostCategorySplitChargeRulesList(input.SplitChargeRules, context), + }), }; }; @@ -3716,6 +3810,10 @@ const deserializeAws_json1_1CostCategory = (output: any, context: __SerdeContext output.Rules !== undefined && output.Rules !== null ? deserializeAws_json1_1CostCategoryRulesList(output.Rules, context) : undefined, + SplitChargeRules: + output.SplitChargeRules !== undefined && output.SplitChargeRules !== null + ? deserializeAws_json1_1CostCategorySplitChargeRulesList(output.SplitChargeRules, context) + : undefined, } as any; }; @@ -3823,6 +3921,93 @@ const deserializeAws_json1_1CostCategoryRulesList = (output: any, context: __Ser }); }; +const deserializeAws_json1_1CostCategorySplitChargeRule = ( + output: any, + context: __SerdeContext +): CostCategorySplitChargeRule => { + return { + Method: __expectString(output.Method), + Parameters: + output.Parameters !== undefined && output.Parameters !== null + ? deserializeAws_json1_1CostCategorySplitChargeRuleParametersList(output.Parameters, context) + : undefined, + Source: __expectString(output.Source), + Targets: + output.Targets !== undefined && output.Targets !== null + ? deserializeAws_json1_1CostCategorySplitChargeRuleTargetsList(output.Targets, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1CostCategorySplitChargeRuleParameter = ( + output: any, + context: __SerdeContext +): CostCategorySplitChargeRuleParameter => { + return { + Type: __expectString(output.Type), + Values: + output.Values !== undefined && output.Values !== null + ? deserializeAws_json1_1CostCategorySplitChargeRuleParameterValuesList(output.Values, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1CostCategorySplitChargeRuleParametersList = ( + output: any, + context: __SerdeContext +): CostCategorySplitChargeRuleParameter[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_json1_1CostCategorySplitChargeRuleParameter(entry, context); + }); +}; + +const deserializeAws_json1_1CostCategorySplitChargeRuleParameterValuesList = ( + output: any, + context: __SerdeContext +): string[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return __expectString(entry) as any; + }); +}; + +const deserializeAws_json1_1CostCategorySplitChargeRulesList = ( + output: any, + context: __SerdeContext +): CostCategorySplitChargeRule[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_json1_1CostCategorySplitChargeRule(entry, context); + }); +}; + +const deserializeAws_json1_1CostCategorySplitChargeRuleTargetsList = ( + output: any, + context: __SerdeContext +): string[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return __expectString(entry) as any; + }); +}; + const deserializeAws_json1_1CostCategoryValues = (output: any, context: __SerdeContext): CostCategoryValues => { return { Key: __expectString(output.Key), diff --git a/clients/client-directory-service/DirectoryService.ts b/clients/client-directory-service/DirectoryService.ts index 5a01dfed1549..32c1b969ed48 100644 --- a/clients/client-directory-service/DirectoryService.ts +++ b/clients/client-directory-service/DirectoryService.ts @@ -89,6 +89,11 @@ import { DescribeCertificateCommandInput, DescribeCertificateCommandOutput, } from "./commands/DescribeCertificateCommand"; +import { + DescribeClientAuthenticationSettingsCommand, + DescribeClientAuthenticationSettingsCommandInput, + DescribeClientAuthenticationSettingsCommandOutput, +} from "./commands/DescribeClientAuthenticationSettingsCommand"; import { DescribeConditionalForwardersCommand, DescribeConditionalForwardersCommandInput, @@ -272,11 +277,19 @@ import { VerifyTrustCommand, VerifyTrustCommandInput, VerifyTrustCommandOutput } import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; /** - * AWS Directory Service - *

            AWS Directory Service is a web service that makes it easy for you to setup and run directories in the AWS cloud, or connect your AWS resources with an existing on-premises Microsoft Active Directory. This guide provides detailed information about AWS Directory Service operations, data types, parameters, and errors. For information about AWS Directory Services features, see AWS Directory Service and the AWS Directory Service Administration Guide.

            + * Directory Service + *

            Directory Service is a web service that makes it easy for you to setup and run directories in the + * Amazon Web Services cloud, or connect your Amazon Web Services resources with an existing self-managed Microsoft Active + * Directory. This guide provides detailed information about Directory Service operations, data types, + * parameters, and errors. For information about Directory Services features, see Directory Service and the Directory Service + * Administration Guide.

            * - *

            AWS provides SDKs that consist of libraries and sample code for various programming languages and platforms (Java, Ruby, .Net, iOS, Android, etc.). The SDKs provide a convenient way to create programmatic access to AWS Directory Service and other AWS services. For more information about the AWS SDKs, including how to download and install them, see Tools for Amazon Web - * Services.

            + *

            Amazon Web Services provides SDKs that consist of libraries and sample code for various + * programming languages and platforms (Java, Ruby, .Net, iOS, Android, etc.). The SDKs + * provide a convenient way to create programmatic access to Directory Service and other Amazon Web Services + * services. For more information about the Amazon Web Services SDKs, including how to download and + * install them, see Tools for Amazon Web + * Services.

            *
            */ export class DirectoryService extends DirectoryServiceClient { @@ -313,8 +326,14 @@ export class DirectoryService extends DirectoryServiceClient { } /** - *

            If the DNS server for your on-premises domain uses a publicly addressable IP address, you must add a CIDR address block to correctly route traffic to and from your Microsoft AD on Amazon Web Services. AddIpRoutes adds this address block. You can also use AddIpRoutes to facilitate routing traffic that uses public IP ranges from your Microsoft AD on AWS to a peer VPC.

            - *

            Before you call AddIpRoutes, ensure that all of the required permissions have been explicitly granted through a policy. For details about what permissions are required to run the AddIpRoutes operation, see AWS Directory Service API Permissions: Actions, Resources, and Conditions Reference.

            + *

            If the DNS server for your self-managed domain uses a publicly addressable IP address, + * you must add a CIDR address block to correctly route traffic to and from your Microsoft AD + * on Amazon Web Services. AddIpRoutes adds this address block. You can + * also use AddIpRoutes to facilitate routing traffic that uses public IP + * ranges from your Microsoft AD on Amazon Web Services to a peer VPC.

            + *

            Before you call AddIpRoutes, ensure that all of the required + * permissions have been explicitly granted through a policy. For details about what + * permissions are required to run the AddIpRoutes operation, see Directory Service API Permissions: Actions, Resources, and Conditions Reference.

            */ public addIpRoutes(args: AddIpRoutesCommandInput, options?: __HttpHandlerOptions): Promise; public addIpRoutes(args: AddIpRoutesCommandInput, cb: (err: any, data?: AddIpRoutesCommandOutput) => void): void; @@ -366,7 +385,9 @@ export class DirectoryService extends DirectoryServiceClient { } /** - *

            Adds or overwrites one or more tags for the specified directory. Each directory can have a maximum of 50 tags. Each tag consists of a key and optional value. Tag keys must be unique to each resource.

            + *

            Adds or overwrites one or more tags for the specified directory. Each directory can + * have a maximum of 50 tags. Each tag consists of a key and optional value. Tag keys must be + * unique to each resource.

            */ public addTagsToResource( args: AddTagsToResourceCommandInput, @@ -398,7 +419,11 @@ export class DirectoryService extends DirectoryServiceClient { } /** - *

            Cancels an in-progress schema extension to a Microsoft AD directory. Once a schema extension has started replicating to all domain controllers, the task can no longer be canceled. A schema extension can be canceled during any of the following states; Initializing, CreatingSnapshot, and UpdatingSchema.

            + *

            Cancels an in-progress schema extension to a Microsoft AD directory. Once a schema + * extension has started replicating to all domain controllers, the task can no longer be + * canceled. A schema extension can be canceled during any of the following states; + * Initializing, CreatingSnapshot, and + * UpdatingSchema.

            */ public cancelSchemaExtension( args: CancelSchemaExtensionCommandInput, @@ -430,10 +455,10 @@ export class DirectoryService extends DirectoryServiceClient { } /** - *

            Creates an AD Connector to connect to an on-premises directory.

            + *

            Creates an AD Connector to connect to a self-managed directory.

            *

            Before you call ConnectDirectory, ensure that all of the required permissions * have been explicitly granted through a policy. For details about what permissions are required - * to run the ConnectDirectory operation, see AWS Directory Service API Permissions: Actions, Resources, and Conditions + * to run the ConnectDirectory operation, see Directory Service API Permissions: Actions, Resources, and Conditions * Reference.

            */ public connectDirectory( @@ -529,7 +554,9 @@ export class DirectoryService extends DirectoryServiceClient { } /** - *

            Creates a conditional forwarder associated with your AWS directory. Conditional forwarders are required in order to set up a trust relationship with another domain. The conditional forwarder points to the trusted domain.

            + *

            Creates a conditional forwarder associated with your Amazon Web Services directory. Conditional + * forwarders are required in order to set up a trust relationship with another domain. The + * conditional forwarder points to the trusted domain.

            */ public createConditionalForwarder( args: CreateConditionalForwarderCommandInput, @@ -561,11 +588,11 @@ export class DirectoryService extends DirectoryServiceClient { } /** - *

            Creates a Simple AD directory. For more information, see Simple Active Directory in the AWS Directory Service Admin + *

            Creates a Simple AD directory. For more information, see Simple Active Directory in the Directory Service Admin * Guide.

            *

            Before you call CreateDirectory, ensure that all of the required permissions * have been explicitly granted through a policy. For details about what permissions are required - * to run the CreateDirectory operation, see AWS Directory Service API Permissions: Actions, Resources, and Conditions + * to run the CreateDirectory operation, see Directory Service API Permissions: Actions, Resources, and Conditions * Reference.

            */ public createDirectory( @@ -599,7 +626,7 @@ export class DirectoryService extends DirectoryServiceClient { /** *

            Creates a subscription to forward real-time Directory Service domain controller security - * logs to the specified Amazon CloudWatch log group in your AWS account.

            + * logs to the specified Amazon CloudWatch log group in your Amazon Web Services account.

            */ public createLogSubscription( args: CreateLogSubscriptionCommandInput, @@ -631,8 +658,10 @@ export class DirectoryService extends DirectoryServiceClient { } /** - *

            Creates a Microsoft AD directory in the AWS Cloud. For more information, see AWS Managed Microsoft AD in the AWS Directory Service Admin Guide.

            - *

            Before you call CreateMicrosoftAD, ensure that all of the required permissions have been explicitly granted through a policy. For details about what permissions are required to run the CreateMicrosoftAD operation, see AWS Directory Service API Permissions: Actions, Resources, and Conditions Reference.

            + *

            Creates a Microsoft AD directory in the Amazon Web Services Cloud. For more information, see Managed Microsoft AD in the Directory Service Admin Guide.

            + *

            Before you call CreateMicrosoftAD, ensure that all of the required + * permissions have been explicitly granted through a policy. For details about what permissions + * are required to run the CreateMicrosoftAD operation, see Directory Service API Permissions: Actions, Resources, and Conditions Reference.

            */ public createMicrosoftAD( args: CreateMicrosoftADCommandInput, @@ -664,7 +693,7 @@ export class DirectoryService extends DirectoryServiceClient { } /** - *

            Creates a snapshot of a Simple AD or Microsoft AD directory in the AWS cloud.

            + *

            Creates a snapshot of a Simple AD or Microsoft AD directory in the Amazon Web Services cloud.

            * *

            You cannot take snapshots of AD Connector directories.

            *
            @@ -699,8 +728,13 @@ export class DirectoryService extends DirectoryServiceClient { } /** - *

            AWS Directory Service for Microsoft Active Directory allows you to configure trust relationships. For example, you can establish a trust between your AWS Managed Microsoft AD directory, and your existing on-premises Microsoft Active Directory. This would allow you to provide users and groups access to resources in either domain, with a single set of credentials.

            - *

            This action initiates the creation of the AWS side of a trust relationship between an AWS Managed Microsoft AD directory and an external domain. You can create either a forest trust or an external trust.

            + *

            Directory Service for Microsoft Active Directory allows you to configure trust relationships. For + * example, you can establish a trust between your Managed Microsoft AD directory, and your existing + * self-managed Microsoft Active Directory. This would allow you to provide users and groups + * access to resources in either domain, with a single set of credentials.

            + *

            This action initiates the creation of the Amazon Web Services side of a trust relationship between an + * Managed Microsoft AD directory and an external domain. You can create either a forest trust or an + * external trust.

            */ public createTrust(args: CreateTrustCommandInput, options?: __HttpHandlerOptions): Promise; public createTrust(args: CreateTrustCommandInput, cb: (err: any, data?: CreateTrustCommandOutput) => void): void; @@ -726,7 +760,8 @@ export class DirectoryService extends DirectoryServiceClient { } /** - *

            Deletes a conditional forwarder that has been set up for your AWS directory.

            + *

            Deletes a conditional forwarder that has been set up for your Amazon Web Services + * directory.

            */ public deleteConditionalForwarder( args: DeleteConditionalForwarderCommandInput, @@ -758,10 +793,10 @@ export class DirectoryService extends DirectoryServiceClient { } /** - *

            Deletes an AWS Directory Service directory.

            + *

            Deletes an Directory Service directory.

            *

            Before you call DeleteDirectory, ensure that all of the required permissions * have been explicitly granted through a policy. For details about what permissions are required - * to run the DeleteDirectory operation, see AWS Directory Service API Permissions: Actions, Resources, and Conditions + * to run the DeleteDirectory operation, see Directory Service API Permissions: Actions, Resources, and Conditions * Reference.

            */ public deleteDirectory( @@ -858,7 +893,8 @@ export class DirectoryService extends DirectoryServiceClient { } /** - *

            Deletes an existing trust relationship between your AWS Managed Microsoft AD directory and an external domain.

            + *

            Deletes an existing trust relationship between your Managed Microsoft AD directory and an external + * domain.

            */ public deleteTrust(args: DeleteTrustCommandInput, options?: __HttpHandlerOptions): Promise; public deleteTrust(args: DeleteTrustCommandInput, cb: (err: any, data?: DeleteTrustCommandOutput) => void): void; @@ -916,7 +952,7 @@ export class DirectoryService extends DirectoryServiceClient { } /** - *

            Removes the specified directory as a publisher to the specified SNS topic.

            + *

            Removes the specified directory as a publisher to the specified Amazon SNS topic.

            */ public deregisterEventTopic( args: DeregisterEventTopicCommandInput, @@ -979,9 +1015,43 @@ export class DirectoryService extends DirectoryServiceClient { } } + /** + *

            Retrieves information about the type of client authentication for the specified directory, if the type is specified. If no type is specified, information about all client authentication types that are supported for the specified directory is retrieved. Currently, only SmartCard is supported. + *

            + */ + public describeClientAuthenticationSettings( + args: DescribeClientAuthenticationSettingsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeClientAuthenticationSettings( + args: DescribeClientAuthenticationSettingsCommandInput, + cb: (err: any, data?: DescribeClientAuthenticationSettingsCommandOutput) => void + ): void; + public describeClientAuthenticationSettings( + args: DescribeClientAuthenticationSettingsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeClientAuthenticationSettingsCommandOutput) => void + ): void; + public describeClientAuthenticationSettings( + args: DescribeClientAuthenticationSettingsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeClientAuthenticationSettingsCommandOutput) => void), + cb?: (err: any, data?: DescribeClientAuthenticationSettingsCommandOutput) => void + ): Promise | void { + const command = new DescribeClientAuthenticationSettingsCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

            Obtains information about the conditional forwarders for this account.

            - *

            If no input parameters are provided for RemoteDomainNames, this request describes all conditional forwarders for the specified directory ID.

            + *

            If no input parameters are provided for RemoteDomainNames, this request describes all + * conditional forwarders for the specified directory ID.

            */ public describeConditionalForwarders( args: DescribeConditionalForwardersCommandInput, @@ -1087,8 +1157,10 @@ export class DirectoryService extends DirectoryServiceClient { } /** - *

            Obtains information about which SNS topics receive status messages from the specified directory.

            - *

            If no input parameters are provided, such as DirectoryId or TopicName, this request describes all of the associations in the account.

            + *

            Obtains information about which Amazon SNS topics receive status messages from the specified + * directory.

            + *

            If no input parameters are provided, such as DirectoryId or TopicName, this request + * describes all of the associations in the account.

            */ public describeEventTopics( args: DescribeEventTopicsCommandInput, @@ -1256,7 +1328,8 @@ export class DirectoryService extends DirectoryServiceClient { /** *

            Obtains information about the trust relationships for this account.

            - *

            If no input parameters are provided, such as DirectoryId or TrustIds, this request describes all the trust relationships belonging to the account.

            + *

            If no input parameters are provided, such as DirectoryId or TrustIds, this request + * describes all the trust relationships belonging to the account.

            */ public describeTrusts( args: DescribeTrustsCommandInput, @@ -1349,7 +1422,8 @@ export class DirectoryService extends DirectoryServiceClient { } /** - *

            Disables multi-factor authentication (MFA) with the Remote Authentication Dial In User Service (RADIUS) server for an AD Connector or Microsoft AD directory.

            + *

            Disables multi-factor authentication (MFA) with the Remote Authentication Dial In + * User Service (RADIUS) server for an AD Connector or Microsoft AD directory.

            */ public disableRadius( args: DisableRadiusCommandInput, @@ -1465,7 +1539,8 @@ export class DirectoryService extends DirectoryServiceClient { } /** - *

            Enables multi-factor authentication (MFA) with the Remote Authentication Dial In User Service (RADIUS) server for an AD Connector or Microsoft AD directory.

            + *

            Enables multi-factor authentication (MFA) with the Remote Authentication Dial In User + * Service (RADIUS) server for an AD Connector or Microsoft AD directory.

            */ public enableRadius( args: EnableRadiusCommandInput, @@ -1494,7 +1569,9 @@ export class DirectoryService extends DirectoryServiceClient { } /** - *

            Enables single sign-on for a directory. Single sign-on allows users in your directory to access certain AWS services from a computer joined to the directory without having to enter their credentials separately.

            + *

            Enables single sign-on for a directory. Single sign-on allows users in your directory to + * access certain Amazon Web Services services from a computer joined to the directory without having to enter + * their credentials separately.

            */ public enableSso(args: EnableSsoCommandInput, options?: __HttpHandlerOptions): Promise; public enableSso(args: EnableSsoCommandInput, cb: (err: any, data?: EnableSsoCommandOutput) => void): void; @@ -1645,7 +1722,7 @@ export class DirectoryService extends DirectoryServiceClient { } /** - *

            Lists the active log subscriptions for the AWS account.

            + *

            Lists the active log subscriptions for the Amazon Web Services account.

            */ public listLogSubscriptions( args: ListLogSubscriptionsCommandInput, @@ -1773,7 +1850,11 @@ export class DirectoryService extends DirectoryServiceClient { } /** - *

            Associates a directory with an SNS topic. This establishes the directory as a publisher to the specified SNS topic. You can then receive email or text (SMS) messages when the status of your directory changes. You get notified if your directory goes from an Active status to an Impaired or Inoperable status. You also receive a notification when the directory returns to an Active status.

            + *

            Associates a directory with an Amazon SNS topic. This establishes the directory as a + * publisher to the specified Amazon SNS topic. You can then receive email or text (SMS) messages when + * the status of your directory changes. You get notified if your directory goes from an Active + * status to an Impaired or Inoperable status. You also receive a notification when the directory + * returns to an Active status.

            */ public registerEventTopic( args: RegisterEventTopicCommandInput, @@ -1932,7 +2013,7 @@ export class DirectoryService extends DirectoryServiceClient { } /** - *

            Resets the password for any user in your AWS Managed Microsoft AD or Simple AD + *

            Resets the password for any user in your Managed Microsoft AD or Simple AD * directory.

            *

            You can reset the password for any user in your directory with the following * exceptions:

            @@ -1943,11 +2024,10 @@ export class DirectoryService extends DirectoryServiceClient { * Admins group except for the administrator user.

            *
          • *
          • - *

            For AWS Managed Microsoft AD, you can only reset the password for a user that is in an + *

            For Managed Microsoft AD, you can only reset the password for a user that is in an * OU based off of the NetBIOS name that you typed when you created your directory. For - * example, you cannot reset the password for a user in the AWS - * Reserved OU. For more information about the OU structure for an AWS Managed - * Microsoft AD directory, see What Gets Created in the AWS Directory Service Administration + * example, you cannot reset the password for a user in the Amazon Web Services + * Reserved OU. For more information about the OU structure for an Managed Microsoft AD directory, see What Gets Created in the Directory Service Administration * Guide.

            *
          • *
          @@ -2019,16 +2099,16 @@ export class DirectoryService extends DirectoryServiceClient { } /** - *

          Shares a specified directory (DirectoryId) in your AWS account (directory - * owner) with another AWS account (directory consumer). With this operation you can use your - * directory from any AWS account and from any Amazon VPC within an AWS Region.

          - *

          When you share your AWS Managed Microsoft AD directory, AWS Directory Service creates a + *

          Shares a specified directory (DirectoryId) in your Amazon Web Services account (directory + * owner) with another Amazon Web Services account (directory consumer). With this operation you can use your + * directory from any Amazon Web Services account and from any Amazon VPC within an Amazon Web Services Region.

          + *

          When you share your Managed Microsoft AD directory, Directory Service creates a * shared directory in the directory consumer account. This shared directory contains the * metadata to provide access to the directory within the directory owner account. The shared * directory is visible in all VPCs in the directory consumer account.

          *

          The ShareMethod parameter determines whether the specified directory can be - * shared between AWS accounts inside the same AWS organization (ORGANIZATIONS). It - * also determines whether you can share the directory with any other AWS account either inside + * shared between Amazon Web Services accounts inside the same Amazon Web Services organization (ORGANIZATIONS). It + * also determines whether you can share the directory with any other Amazon Web Services account either inside * or outside of the organization (HANDSHAKE).

          *

          The ShareNotes parameter is only used when HANDSHAKE is called, * which sends a directory sharing request to the directory consumer.

          @@ -2127,7 +2207,8 @@ export class DirectoryService extends DirectoryServiceClient { } /** - *

          Updates a conditional forwarder that has been set up for your AWS directory.

          + *

          Updates a conditional forwarder that has been set up for your Amazon Web Services + * directory.

          */ public updateConditionalForwarder( args: UpdateConditionalForwarderCommandInput, @@ -2159,7 +2240,11 @@ export class DirectoryService extends DirectoryServiceClient { } /** - *

          Adds or removes domain controllers to or from the directory. Based on the difference between current value and new value (provided through this API call), domain controllers will be added or removed. It may take up to 45 minutes for any new domain controllers to become fully active once the requested number of domain controllers is updated. During this time, you cannot make another update request.

          + *

          Adds or removes domain controllers to or from the directory. Based on the difference + * between current value and new value (provided through this API call), domain controllers will + * be added or removed. It may take up to 45 minutes for any new domain controllers to become + * fully active once the requested number of domain controllers is updated. During this time, you + * cannot make another update request.

          */ public updateNumberOfDomainControllers( args: UpdateNumberOfDomainControllersCommandInput, @@ -2191,7 +2276,8 @@ export class DirectoryService extends DirectoryServiceClient { } /** - *

          Updates the Remote Authentication Dial In User Service (RADIUS) server information for an AD Connector or Microsoft AD directory.

          + *

          Updates the Remote Authentication Dial In User Service (RADIUS) server information + * for an AD Connector or Microsoft AD directory.

          */ public updateRadius( args: UpdateRadiusCommandInput, @@ -2220,7 +2306,8 @@ export class DirectoryService extends DirectoryServiceClient { } /** - *

          Updates the trust that has been set up between your AWS Managed Microsoft AD directory and an on-premises Active Directory.

          + *

          Updates the trust that has been set up between your Managed Microsoft AD directory and an + * self-managed Active Directory.

          */ public updateTrust(args: UpdateTrustCommandInput, options?: __HttpHandlerOptions): Promise; public updateTrust(args: UpdateTrustCommandInput, cb: (err: any, data?: UpdateTrustCommandOutput) => void): void; @@ -2246,8 +2333,10 @@ export class DirectoryService extends DirectoryServiceClient { } /** - *

          AWS Directory Service for Microsoft Active Directory allows you to configure and verify trust relationships.

          - *

          This action verifies a trust relationship between your AWS Managed Microsoft AD directory and an external domain.

          + *

          Directory Service for Microsoft Active Directory allows you to configure and verify trust + * relationships.

          + *

          This action verifies a trust relationship between your Managed Microsoft AD directory and an + * external domain.

          */ public verifyTrust(args: VerifyTrustCommandInput, options?: __HttpHandlerOptions): Promise; public verifyTrust(args: VerifyTrustCommandInput, cb: (err: any, data?: VerifyTrustCommandOutput) => void): void; diff --git a/clients/client-directory-service/DirectoryServiceClient.ts b/clients/client-directory-service/DirectoryServiceClient.ts index 73fcaf153606..b6722eeada82 100644 --- a/clients/client-directory-service/DirectoryServiceClient.ts +++ b/clients/client-directory-service/DirectoryServiceClient.ts @@ -47,6 +47,10 @@ import { DescribeCertificateCommandInput, DescribeCertificateCommandOutput, } from "./commands/DescribeCertificateCommand"; +import { + DescribeClientAuthenticationSettingsCommandInput, + DescribeClientAuthenticationSettingsCommandOutput, +} from "./commands/DescribeClientAuthenticationSettingsCommand"; import { DescribeConditionalForwardersCommandInput, DescribeConditionalForwardersCommandOutput, @@ -216,6 +220,7 @@ export type ServiceInputTypes = | DeregisterCertificateCommandInput | DeregisterEventTopicCommandInput | DescribeCertificateCommandInput + | DescribeClientAuthenticationSettingsCommandInput | DescribeConditionalForwardersCommandInput | DescribeDirectoriesCommandInput | DescribeDomainControllersCommandInput @@ -280,6 +285,7 @@ export type ServiceOutputTypes = | DeregisterCertificateCommandOutput | DeregisterEventTopicCommandOutput | DescribeCertificateCommandOutput + | DescribeClientAuthenticationSettingsCommandOutput | DescribeConditionalForwardersCommandOutput | DescribeDirectoriesCommandOutput | DescribeDomainControllersCommandOutput @@ -461,11 +467,19 @@ type DirectoryServiceClientResolvedConfigType = __SmithyResolvedConfiguration<__ export interface DirectoryServiceClientResolvedConfig extends DirectoryServiceClientResolvedConfigType {} /** - * AWS Directory Service - *

          AWS Directory Service is a web service that makes it easy for you to setup and run directories in the AWS cloud, or connect your AWS resources with an existing on-premises Microsoft Active Directory. This guide provides detailed information about AWS Directory Service operations, data types, parameters, and errors. For information about AWS Directory Services features, see AWS Directory Service and the AWS Directory Service Administration Guide.

          + * Directory Service + *

          Directory Service is a web service that makes it easy for you to setup and run directories in the + * Amazon Web Services cloud, or connect your Amazon Web Services resources with an existing self-managed Microsoft Active + * Directory. This guide provides detailed information about Directory Service operations, data types, + * parameters, and errors. For information about Directory Services features, see Directory Service and the Directory Service + * Administration Guide.

          * - *

          AWS provides SDKs that consist of libraries and sample code for various programming languages and platforms (Java, Ruby, .Net, iOS, Android, etc.). The SDKs provide a convenient way to create programmatic access to AWS Directory Service and other AWS services. For more information about the AWS SDKs, including how to download and install them, see Tools for Amazon Web - * Services.

          + *

          Amazon Web Services provides SDKs that consist of libraries and sample code for various + * programming languages and platforms (Java, Ruby, .Net, iOS, Android, etc.). The SDKs + * provide a convenient way to create programmatic access to Directory Service and other Amazon Web Services + * services. For more information about the Amazon Web Services SDKs, including how to download and + * install them, see Tools for Amazon Web + * Services.

          *
          */ export class DirectoryServiceClient extends __Client< diff --git a/clients/client-directory-service/README.md b/clients/client-directory-service/README.md index 0ec1c3cc47fe..23cfdfb1003b 100644 --- a/clients/client-directory-service/README.md +++ b/clients/client-directory-service/README.md @@ -7,11 +7,19 @@ AWS SDK for JavaScript DirectoryService Client for Node.js, Browser and React Native. -AWS Directory Service +Directory Service -

          AWS Directory Service is a web service that makes it easy for you to setup and run directories in the AWS cloud, or connect your AWS resources with an existing on-premises Microsoft Active Directory. This guide provides detailed information about AWS Directory Service operations, data types, parameters, and errors. For information about AWS Directory Services features, see AWS Directory Service and the AWS Directory Service Administration Guide.

          +

          Directory Service is a web service that makes it easy for you to setup and run directories in the +Amazon Web Services cloud, or connect your Amazon Web Services resources with an existing self-managed Microsoft Active +Directory. This guide provides detailed information about Directory Service operations, data types, +parameters, and errors. For information about Directory Services features, see Directory Service and the Directory Service +Administration Guide.

          -

          AWS provides SDKs that consist of libraries and sample code for various programming languages and platforms (Java, Ruby, .Net, iOS, Android, etc.). The SDKs provide a convenient way to create programmatic access to AWS Directory Service and other AWS services. For more information about the AWS SDKs, including how to download and install them, see Tools for Amazon Web +

          Amazon Web Services provides SDKs that consist of libraries and sample code for various +programming languages and platforms (Java, Ruby, .Net, iOS, Android, etc.). The SDKs +provide a convenient way to create programmatic access to Directory Service and other Amazon Web Services +services. For more information about the Amazon Web Services SDKs, including how to download and +install them, see Tools for Amazon Web Services.

          diff --git a/clients/client-directory-service/commands/AddIpRoutesCommand.ts b/clients/client-directory-service/commands/AddIpRoutesCommand.ts index 47b665ced2a3..370eca9918d6 100644 --- a/clients/client-directory-service/commands/AddIpRoutesCommand.ts +++ b/clients/client-directory-service/commands/AddIpRoutesCommand.ts @@ -21,8 +21,14 @@ export interface AddIpRoutesCommandInput extends AddIpRoutesRequest {} export interface AddIpRoutesCommandOutput extends AddIpRoutesResult, __MetadataBearer {} /** - *

          If the DNS server for your on-premises domain uses a publicly addressable IP address, you must add a CIDR address block to correctly route traffic to and from your Microsoft AD on Amazon Web Services. AddIpRoutes adds this address block. You can also use AddIpRoutes to facilitate routing traffic that uses public IP ranges from your Microsoft AD on AWS to a peer VPC.

          - *

          Before you call AddIpRoutes, ensure that all of the required permissions have been explicitly granted through a policy. For details about what permissions are required to run the AddIpRoutes operation, see AWS Directory Service API Permissions: Actions, Resources, and Conditions Reference.

          + *

          If the DNS server for your self-managed domain uses a publicly addressable IP address, + * you must add a CIDR address block to correctly route traffic to and from your Microsoft AD + * on Amazon Web Services. AddIpRoutes adds this address block. You can + * also use AddIpRoutes to facilitate routing traffic that uses public IP + * ranges from your Microsoft AD on Amazon Web Services to a peer VPC.

          + *

          Before you call AddIpRoutes, ensure that all of the required + * permissions have been explicitly granted through a policy. For details about what + * permissions are required to run the AddIpRoutes operation, see Directory Service API Permissions: Actions, Resources, and Conditions Reference.

          * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-directory-service/commands/AddTagsToResourceCommand.ts b/clients/client-directory-service/commands/AddTagsToResourceCommand.ts index 877b2341182b..02a8afe51a78 100644 --- a/clients/client-directory-service/commands/AddTagsToResourceCommand.ts +++ b/clients/client-directory-service/commands/AddTagsToResourceCommand.ts @@ -21,7 +21,9 @@ export interface AddTagsToResourceCommandInput extends AddTagsToResourceRequest export interface AddTagsToResourceCommandOutput extends AddTagsToResourceResult, __MetadataBearer {} /** - *

          Adds or overwrites one or more tags for the specified directory. Each directory can have a maximum of 50 tags. Each tag consists of a key and optional value. Tag keys must be unique to each resource.

          + *

          Adds or overwrites one or more tags for the specified directory. Each directory can + * have a maximum of 50 tags. Each tag consists of a key and optional value. Tag keys must be + * unique to each resource.

          * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-directory-service/commands/CancelSchemaExtensionCommand.ts b/clients/client-directory-service/commands/CancelSchemaExtensionCommand.ts index f2b7a1f61420..d36094debfcc 100644 --- a/clients/client-directory-service/commands/CancelSchemaExtensionCommand.ts +++ b/clients/client-directory-service/commands/CancelSchemaExtensionCommand.ts @@ -21,7 +21,11 @@ export interface CancelSchemaExtensionCommandInput extends CancelSchemaExtension export interface CancelSchemaExtensionCommandOutput extends CancelSchemaExtensionResult, __MetadataBearer {} /** - *

          Cancels an in-progress schema extension to a Microsoft AD directory. Once a schema extension has started replicating to all domain controllers, the task can no longer be canceled. A schema extension can be canceled during any of the following states; Initializing, CreatingSnapshot, and UpdatingSchema.

          + *

          Cancels an in-progress schema extension to a Microsoft AD directory. Once a schema + * extension has started replicating to all domain controllers, the task can no longer be + * canceled. A schema extension can be canceled during any of the following states; + * Initializing, CreatingSnapshot, and + * UpdatingSchema.

          * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-directory-service/commands/ConnectDirectoryCommand.ts b/clients/client-directory-service/commands/ConnectDirectoryCommand.ts index a1e86c38cbe0..13fe4602c580 100644 --- a/clients/client-directory-service/commands/ConnectDirectoryCommand.ts +++ b/clients/client-directory-service/commands/ConnectDirectoryCommand.ts @@ -21,10 +21,10 @@ export interface ConnectDirectoryCommandInput extends ConnectDirectoryRequest {} export interface ConnectDirectoryCommandOutput extends ConnectDirectoryResult, __MetadataBearer {} /** - *

          Creates an AD Connector to connect to an on-premises directory.

          + *

          Creates an AD Connector to connect to a self-managed directory.

          *

          Before you call ConnectDirectory, ensure that all of the required permissions * have been explicitly granted through a policy. For details about what permissions are required - * to run the ConnectDirectory operation, see AWS Directory Service API Permissions: Actions, Resources, and Conditions + * to run the ConnectDirectory operation, see Directory Service API Permissions: Actions, Resources, and Conditions * Reference.

          * @example * Use a bare-bones client and the command you need to make an API call. diff --git a/clients/client-directory-service/commands/CreateConditionalForwarderCommand.ts b/clients/client-directory-service/commands/CreateConditionalForwarderCommand.ts index 97b53414e5d6..e0ad47f363cd 100644 --- a/clients/client-directory-service/commands/CreateConditionalForwarderCommand.ts +++ b/clients/client-directory-service/commands/CreateConditionalForwarderCommand.ts @@ -21,7 +21,9 @@ export interface CreateConditionalForwarderCommandInput extends CreateConditiona export interface CreateConditionalForwarderCommandOutput extends CreateConditionalForwarderResult, __MetadataBearer {} /** - *

          Creates a conditional forwarder associated with your AWS directory. Conditional forwarders are required in order to set up a trust relationship with another domain. The conditional forwarder points to the trusted domain.

          + *

          Creates a conditional forwarder associated with your Amazon Web Services directory. Conditional + * forwarders are required in order to set up a trust relationship with another domain. The + * conditional forwarder points to the trusted domain.

          * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-directory-service/commands/CreateDirectoryCommand.ts b/clients/client-directory-service/commands/CreateDirectoryCommand.ts index 2d4648e9f2c1..00d0a87632b2 100644 --- a/clients/client-directory-service/commands/CreateDirectoryCommand.ts +++ b/clients/client-directory-service/commands/CreateDirectoryCommand.ts @@ -21,11 +21,11 @@ export interface CreateDirectoryCommandInput extends CreateDirectoryRequest {} export interface CreateDirectoryCommandOutput extends CreateDirectoryResult, __MetadataBearer {} /** - *

          Creates a Simple AD directory. For more information, see Simple Active Directory in the AWS Directory Service Admin + *

          Creates a Simple AD directory. For more information, see Simple Active Directory in the Directory Service Admin * Guide.

          *

          Before you call CreateDirectory, ensure that all of the required permissions * have been explicitly granted through a policy. For details about what permissions are required - * to run the CreateDirectory operation, see AWS Directory Service API Permissions: Actions, Resources, and Conditions + * to run the CreateDirectory operation, see Directory Service API Permissions: Actions, Resources, and Conditions * Reference.

          * @example * Use a bare-bones client and the command you need to make an API call. diff --git a/clients/client-directory-service/commands/CreateLogSubscriptionCommand.ts b/clients/client-directory-service/commands/CreateLogSubscriptionCommand.ts index 8f4b4e54de67..9fad79cba16a 100644 --- a/clients/client-directory-service/commands/CreateLogSubscriptionCommand.ts +++ b/clients/client-directory-service/commands/CreateLogSubscriptionCommand.ts @@ -22,7 +22,7 @@ export interface CreateLogSubscriptionCommandOutput extends CreateLogSubscriptio /** *

          Creates a subscription to forward real-time Directory Service domain controller security - * logs to the specified Amazon CloudWatch log group in your AWS account.

          + * logs to the specified Amazon CloudWatch log group in your Amazon Web Services account.

          * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-directory-service/commands/CreateMicrosoftADCommand.ts b/clients/client-directory-service/commands/CreateMicrosoftADCommand.ts index b085bf69ec4c..ad51673d7ebc 100644 --- a/clients/client-directory-service/commands/CreateMicrosoftADCommand.ts +++ b/clients/client-directory-service/commands/CreateMicrosoftADCommand.ts @@ -21,8 +21,10 @@ export interface CreateMicrosoftADCommandInput extends CreateMicrosoftADRequest export interface CreateMicrosoftADCommandOutput extends CreateMicrosoftADResult, __MetadataBearer {} /** - *

          Creates a Microsoft AD directory in the AWS Cloud. For more information, see AWS Managed Microsoft AD in the AWS Directory Service Admin Guide.

          - *

          Before you call CreateMicrosoftAD, ensure that all of the required permissions have been explicitly granted through a policy. For details about what permissions are required to run the CreateMicrosoftAD operation, see AWS Directory Service API Permissions: Actions, Resources, and Conditions Reference.

          + *

          Creates a Microsoft AD directory in the Amazon Web Services Cloud. For more information, see Managed Microsoft AD in the Directory Service Admin Guide.

          + *

          Before you call CreateMicrosoftAD, ensure that all of the required + * permissions have been explicitly granted through a policy. For details about what permissions + * are required to run the CreateMicrosoftAD operation, see Directory Service API Permissions: Actions, Resources, and Conditions Reference.

          * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-directory-service/commands/CreateSnapshotCommand.ts b/clients/client-directory-service/commands/CreateSnapshotCommand.ts index 5c19f755dfad..0f2575440e57 100644 --- a/clients/client-directory-service/commands/CreateSnapshotCommand.ts +++ b/clients/client-directory-service/commands/CreateSnapshotCommand.ts @@ -21,7 +21,7 @@ export interface CreateSnapshotCommandInput extends CreateSnapshotRequest {} export interface CreateSnapshotCommandOutput extends CreateSnapshotResult, __MetadataBearer {} /** - *

          Creates a snapshot of a Simple AD or Microsoft AD directory in the AWS cloud.

          + *

          Creates a snapshot of a Simple AD or Microsoft AD directory in the Amazon Web Services cloud.

          * *

          You cannot take snapshots of AD Connector directories.

          *
          diff --git a/clients/client-directory-service/commands/CreateTrustCommand.ts b/clients/client-directory-service/commands/CreateTrustCommand.ts index be0dc4b15956..b6a457920479 100644 --- a/clients/client-directory-service/commands/CreateTrustCommand.ts +++ b/clients/client-directory-service/commands/CreateTrustCommand.ts @@ -21,8 +21,13 @@ export interface CreateTrustCommandInput extends CreateTrustRequest {} export interface CreateTrustCommandOutput extends CreateTrustResult, __MetadataBearer {} /** - *

          AWS Directory Service for Microsoft Active Directory allows you to configure trust relationships. For example, you can establish a trust between your AWS Managed Microsoft AD directory, and your existing on-premises Microsoft Active Directory. This would allow you to provide users and groups access to resources in either domain, with a single set of credentials.

          - *

          This action initiates the creation of the AWS side of a trust relationship between an AWS Managed Microsoft AD directory and an external domain. You can create either a forest trust or an external trust.

          + *

          Directory Service for Microsoft Active Directory allows you to configure trust relationships. For + * example, you can establish a trust between your Managed Microsoft AD directory, and your existing + * self-managed Microsoft Active Directory. This would allow you to provide users and groups + * access to resources in either domain, with a single set of credentials.

          + *

          This action initiates the creation of the Amazon Web Services side of a trust relationship between an + * Managed Microsoft AD directory and an external domain. You can create either a forest trust or an + * external trust.

          * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-directory-service/commands/DeleteConditionalForwarderCommand.ts b/clients/client-directory-service/commands/DeleteConditionalForwarderCommand.ts index c2994820b893..4877d65b3c89 100644 --- a/clients/client-directory-service/commands/DeleteConditionalForwarderCommand.ts +++ b/clients/client-directory-service/commands/DeleteConditionalForwarderCommand.ts @@ -21,7 +21,8 @@ export interface DeleteConditionalForwarderCommandInput extends DeleteConditiona export interface DeleteConditionalForwarderCommandOutput extends DeleteConditionalForwarderResult, __MetadataBearer {} /** - *

          Deletes a conditional forwarder that has been set up for your AWS directory.

          + *

          Deletes a conditional forwarder that has been set up for your Amazon Web Services + * directory.

          * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-directory-service/commands/DeleteDirectoryCommand.ts b/clients/client-directory-service/commands/DeleteDirectoryCommand.ts index 86ba184d2eea..b9d938d73afc 100644 --- a/clients/client-directory-service/commands/DeleteDirectoryCommand.ts +++ b/clients/client-directory-service/commands/DeleteDirectoryCommand.ts @@ -21,10 +21,10 @@ export interface DeleteDirectoryCommandInput extends DeleteDirectoryRequest {} export interface DeleteDirectoryCommandOutput extends DeleteDirectoryResult, __MetadataBearer {} /** - *

          Deletes an AWS Directory Service directory.

          + *

          Deletes an Directory Service directory.

          *

          Before you call DeleteDirectory, ensure that all of the required permissions * have been explicitly granted through a policy. For details about what permissions are required - * to run the DeleteDirectory operation, see AWS Directory Service API Permissions: Actions, Resources, and Conditions + * to run the DeleteDirectory operation, see Directory Service API Permissions: Actions, Resources, and Conditions * Reference.

          * @example * Use a bare-bones client and the command you need to make an API call. diff --git a/clients/client-directory-service/commands/DeleteTrustCommand.ts b/clients/client-directory-service/commands/DeleteTrustCommand.ts index 23c14cc09b98..01d49f9afaa0 100644 --- a/clients/client-directory-service/commands/DeleteTrustCommand.ts +++ b/clients/client-directory-service/commands/DeleteTrustCommand.ts @@ -21,7 +21,8 @@ export interface DeleteTrustCommandInput extends DeleteTrustRequest {} export interface DeleteTrustCommandOutput extends DeleteTrustResult, __MetadataBearer {} /** - *

          Deletes an existing trust relationship between your AWS Managed Microsoft AD directory and an external domain.

          + *

          Deletes an existing trust relationship between your Managed Microsoft AD directory and an external + * domain.

          * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-directory-service/commands/DeregisterEventTopicCommand.ts b/clients/client-directory-service/commands/DeregisterEventTopicCommand.ts index 4d3770efc239..313b16691cca 100644 --- a/clients/client-directory-service/commands/DeregisterEventTopicCommand.ts +++ b/clients/client-directory-service/commands/DeregisterEventTopicCommand.ts @@ -21,7 +21,7 @@ export interface DeregisterEventTopicCommandInput extends DeregisterEventTopicRe export interface DeregisterEventTopicCommandOutput extends DeregisterEventTopicResult, __MetadataBearer {} /** - *

          Removes the specified directory as a publisher to the specified SNS topic.

          + *

          Removes the specified directory as a publisher to the specified Amazon SNS topic.

          * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-directory-service/commands/DescribeClientAuthenticationSettingsCommand.ts b/clients/client-directory-service/commands/DescribeClientAuthenticationSettingsCommand.ts new file mode 100644 index 000000000000..bf25ecf0d144 --- /dev/null +++ b/clients/client-directory-service/commands/DescribeClientAuthenticationSettingsCommand.ts @@ -0,0 +1,106 @@ +import { DirectoryServiceClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../DirectoryServiceClient"; +import { + DescribeClientAuthenticationSettingsRequest, + DescribeClientAuthenticationSettingsResult, +} from "../models/models_0"; +import { + deserializeAws_json1_1DescribeClientAuthenticationSettingsCommand, + serializeAws_json1_1DescribeClientAuthenticationSettingsCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface DescribeClientAuthenticationSettingsCommandInput extends DescribeClientAuthenticationSettingsRequest {} +export interface DescribeClientAuthenticationSettingsCommandOutput + extends DescribeClientAuthenticationSettingsResult, + __MetadataBearer {} + +/** + *

          Retrieves information about the type of client authentication for the specified directory, if the type is specified. If no type is specified, information about all client authentication types that are supported for the specified directory is retrieved. Currently, only SmartCard is supported. + *

          + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { DirectoryServiceClient, DescribeClientAuthenticationSettingsCommand } from "@aws-sdk/client-directory-service"; // ES Modules import + * // const { DirectoryServiceClient, DescribeClientAuthenticationSettingsCommand } = require("@aws-sdk/client-directory-service"); // CommonJS import + * const client = new DirectoryServiceClient(config); + * const command = new DescribeClientAuthenticationSettingsCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link DescribeClientAuthenticationSettingsCommandInput} for command's `input` shape. + * @see {@link DescribeClientAuthenticationSettingsCommandOutput} for command's `response` shape. + * @see {@link DirectoryServiceClientResolvedConfig | config} for command's `input` shape. + * + */ +export class DescribeClientAuthenticationSettingsCommand extends $Command< + DescribeClientAuthenticationSettingsCommandInput, + DescribeClientAuthenticationSettingsCommandOutput, + DirectoryServiceClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeClientAuthenticationSettingsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: DirectoryServiceClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "DirectoryServiceClient"; + const commandName = "DescribeClientAuthenticationSettingsCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DescribeClientAuthenticationSettingsRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeClientAuthenticationSettingsResult.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: DescribeClientAuthenticationSettingsCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_json1_1DescribeClientAuthenticationSettingsCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1DescribeClientAuthenticationSettingsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-directory-service/commands/DescribeConditionalForwardersCommand.ts b/clients/client-directory-service/commands/DescribeConditionalForwardersCommand.ts index bb3af408c5fd..4e00f28e7656 100644 --- a/clients/client-directory-service/commands/DescribeConditionalForwardersCommand.ts +++ b/clients/client-directory-service/commands/DescribeConditionalForwardersCommand.ts @@ -24,7 +24,8 @@ export interface DescribeConditionalForwardersCommandOutput /** *

          Obtains information about the conditional forwarders for this account.

          - *

          If no input parameters are provided for RemoteDomainNames, this request describes all conditional forwarders for the specified directory ID.

          + *

          If no input parameters are provided for RemoteDomainNames, this request describes all + * conditional forwarders for the specified directory ID.

          * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-directory-service/commands/DescribeEventTopicsCommand.ts b/clients/client-directory-service/commands/DescribeEventTopicsCommand.ts index 529c07763092..6958ccb6549b 100644 --- a/clients/client-directory-service/commands/DescribeEventTopicsCommand.ts +++ b/clients/client-directory-service/commands/DescribeEventTopicsCommand.ts @@ -21,8 +21,10 @@ export interface DescribeEventTopicsCommandInput extends DescribeEventTopicsRequ export interface DescribeEventTopicsCommandOutput extends DescribeEventTopicsResult, __MetadataBearer {} /** - *

          Obtains information about which SNS topics receive status messages from the specified directory.

          - *

          If no input parameters are provided, such as DirectoryId or TopicName, this request describes all of the associations in the account.

          + *

          Obtains information about which Amazon SNS topics receive status messages from the specified + * directory.

          + *

          If no input parameters are provided, such as DirectoryId or TopicName, this request + * describes all of the associations in the account.

          * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-directory-service/commands/DescribeTrustsCommand.ts b/clients/client-directory-service/commands/DescribeTrustsCommand.ts index 491b8303814c..ee471b5bc699 100644 --- a/clients/client-directory-service/commands/DescribeTrustsCommand.ts +++ b/clients/client-directory-service/commands/DescribeTrustsCommand.ts @@ -22,7 +22,8 @@ export interface DescribeTrustsCommandOutput extends DescribeTrustsResult, __Met /** *

          Obtains information about the trust relationships for this account.

          - *

          If no input parameters are provided, such as DirectoryId or TrustIds, this request describes all the trust relationships belonging to the account.

          + *

          If no input parameters are provided, such as DirectoryId or TrustIds, this request + * describes all the trust relationships belonging to the account.

          * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-directory-service/commands/DisableRadiusCommand.ts b/clients/client-directory-service/commands/DisableRadiusCommand.ts index dac43b099b83..8a1f062d58ad 100644 --- a/clients/client-directory-service/commands/DisableRadiusCommand.ts +++ b/clients/client-directory-service/commands/DisableRadiusCommand.ts @@ -21,7 +21,8 @@ export interface DisableRadiusCommandInput extends DisableRadiusRequest {} export interface DisableRadiusCommandOutput extends DisableRadiusResult, __MetadataBearer {} /** - *

          Disables multi-factor authentication (MFA) with the Remote Authentication Dial In User Service (RADIUS) server for an AD Connector or Microsoft AD directory.

          + *

          Disables multi-factor authentication (MFA) with the Remote Authentication Dial In + * User Service (RADIUS) server for an AD Connector or Microsoft AD directory.

          * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-directory-service/commands/EnableRadiusCommand.ts b/clients/client-directory-service/commands/EnableRadiusCommand.ts index 538279bf336f..494bb3578dd9 100644 --- a/clients/client-directory-service/commands/EnableRadiusCommand.ts +++ b/clients/client-directory-service/commands/EnableRadiusCommand.ts @@ -21,7 +21,8 @@ export interface EnableRadiusCommandInput extends EnableRadiusRequest {} export interface EnableRadiusCommandOutput extends EnableRadiusResult, __MetadataBearer {} /** - *

          Enables multi-factor authentication (MFA) with the Remote Authentication Dial In User Service (RADIUS) server for an AD Connector or Microsoft AD directory.

          + *

          Enables multi-factor authentication (MFA) with the Remote Authentication Dial In User + * Service (RADIUS) server for an AD Connector or Microsoft AD directory.

          * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-directory-service/commands/EnableSsoCommand.ts b/clients/client-directory-service/commands/EnableSsoCommand.ts index 6c2a7793ca25..2cbd282a240c 100644 --- a/clients/client-directory-service/commands/EnableSsoCommand.ts +++ b/clients/client-directory-service/commands/EnableSsoCommand.ts @@ -18,7 +18,9 @@ export interface EnableSsoCommandInput extends EnableSsoRequest {} export interface EnableSsoCommandOutput extends EnableSsoResult, __MetadataBearer {} /** - *

          Enables single sign-on for a directory. Single sign-on allows users in your directory to access certain AWS services from a computer joined to the directory without having to enter their credentials separately.

          + *

          Enables single sign-on for a directory. Single sign-on allows users in your directory to + * access certain Amazon Web Services services from a computer joined to the directory without having to enter + * their credentials separately.

          * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-directory-service/commands/ListLogSubscriptionsCommand.ts b/clients/client-directory-service/commands/ListLogSubscriptionsCommand.ts index 7ee54374c4ee..d7be17e99a63 100644 --- a/clients/client-directory-service/commands/ListLogSubscriptionsCommand.ts +++ b/clients/client-directory-service/commands/ListLogSubscriptionsCommand.ts @@ -21,7 +21,7 @@ export interface ListLogSubscriptionsCommandInput extends ListLogSubscriptionsRe export interface ListLogSubscriptionsCommandOutput extends ListLogSubscriptionsResult, __MetadataBearer {} /** - *

          Lists the active log subscriptions for the AWS account.

          + *

          Lists the active log subscriptions for the Amazon Web Services account.

          * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-directory-service/commands/RegisterEventTopicCommand.ts b/clients/client-directory-service/commands/RegisterEventTopicCommand.ts index f8954f497593..1a66d3052656 100644 --- a/clients/client-directory-service/commands/RegisterEventTopicCommand.ts +++ b/clients/client-directory-service/commands/RegisterEventTopicCommand.ts @@ -21,7 +21,11 @@ export interface RegisterEventTopicCommandInput extends RegisterEventTopicReques export interface RegisterEventTopicCommandOutput extends RegisterEventTopicResult, __MetadataBearer {} /** - *

          Associates a directory with an SNS topic. This establishes the directory as a publisher to the specified SNS topic. You can then receive email or text (SMS) messages when the status of your directory changes. You get notified if your directory goes from an Active status to an Impaired or Inoperable status. You also receive a notification when the directory returns to an Active status.

          + *

          Associates a directory with an Amazon SNS topic. This establishes the directory as a + * publisher to the specified Amazon SNS topic. You can then receive email or text (SMS) messages when + * the status of your directory changes. You get notified if your directory goes from an Active + * status to an Impaired or Inoperable status. You also receive a notification when the directory + * returns to an Active status.

          * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-directory-service/commands/ResetUserPasswordCommand.ts b/clients/client-directory-service/commands/ResetUserPasswordCommand.ts index 74ebe14bacea..82358ca2ad19 100644 --- a/clients/client-directory-service/commands/ResetUserPasswordCommand.ts +++ b/clients/client-directory-service/commands/ResetUserPasswordCommand.ts @@ -21,7 +21,7 @@ export interface ResetUserPasswordCommandInput extends ResetUserPasswordRequest export interface ResetUserPasswordCommandOutput extends ResetUserPasswordResult, __MetadataBearer {} /** - *

          Resets the password for any user in your AWS Managed Microsoft AD or Simple AD + *

          Resets the password for any user in your Managed Microsoft AD or Simple AD * directory.

          *

          You can reset the password for any user in your directory with the following * exceptions:

          @@ -32,11 +32,10 @@ export interface ResetUserPasswordCommandOutput extends ResetUserPasswordResult, * Admins group except for the administrator user.

          *
        • *
        • - *

          For AWS Managed Microsoft AD, you can only reset the password for a user that is in an + *

          For Managed Microsoft AD, you can only reset the password for a user that is in an * OU based off of the NetBIOS name that you typed when you created your directory. For - * example, you cannot reset the password for a user in the AWS - * Reserved OU. For more information about the OU structure for an AWS Managed - * Microsoft AD directory, see What Gets Created in the AWS Directory Service Administration + * example, you cannot reset the password for a user in the Amazon Web Services + * Reserved OU. For more information about the OU structure for an Managed Microsoft AD directory, see What Gets Created in the Directory Service Administration * Guide.

          *
        • *
        diff --git a/clients/client-directory-service/commands/ShareDirectoryCommand.ts b/clients/client-directory-service/commands/ShareDirectoryCommand.ts index cb5775d41cb2..d7bc290b8db0 100644 --- a/clients/client-directory-service/commands/ShareDirectoryCommand.ts +++ b/clients/client-directory-service/commands/ShareDirectoryCommand.ts @@ -21,16 +21,16 @@ export interface ShareDirectoryCommandInput extends ShareDirectoryRequest {} export interface ShareDirectoryCommandOutput extends ShareDirectoryResult, __MetadataBearer {} /** - *

        Shares a specified directory (DirectoryId) in your AWS account (directory - * owner) with another AWS account (directory consumer). With this operation you can use your - * directory from any AWS account and from any Amazon VPC within an AWS Region.

        - *

        When you share your AWS Managed Microsoft AD directory, AWS Directory Service creates a + *

        Shares a specified directory (DirectoryId) in your Amazon Web Services account (directory + * owner) with another Amazon Web Services account (directory consumer). With this operation you can use your + * directory from any Amazon Web Services account and from any Amazon VPC within an Amazon Web Services Region.

        + *

        When you share your Managed Microsoft AD directory, Directory Service creates a * shared directory in the directory consumer account. This shared directory contains the * metadata to provide access to the directory within the directory owner account. The shared * directory is visible in all VPCs in the directory consumer account.

        *

        The ShareMethod parameter determines whether the specified directory can be - * shared between AWS accounts inside the same AWS organization (ORGANIZATIONS). It - * also determines whether you can share the directory with any other AWS account either inside + * shared between Amazon Web Services accounts inside the same Amazon Web Services organization (ORGANIZATIONS). It + * also determines whether you can share the directory with any other Amazon Web Services account either inside * or outside of the organization (HANDSHAKE).

        *

        The ShareNotes parameter is only used when HANDSHAKE is called, * which sends a directory sharing request to the directory consumer.

        diff --git a/clients/client-directory-service/commands/UpdateConditionalForwarderCommand.ts b/clients/client-directory-service/commands/UpdateConditionalForwarderCommand.ts index 1c9e8b2b0324..aeb31710cc9c 100644 --- a/clients/client-directory-service/commands/UpdateConditionalForwarderCommand.ts +++ b/clients/client-directory-service/commands/UpdateConditionalForwarderCommand.ts @@ -21,7 +21,8 @@ export interface UpdateConditionalForwarderCommandInput extends UpdateConditiona export interface UpdateConditionalForwarderCommandOutput extends UpdateConditionalForwarderResult, __MetadataBearer {} /** - *

        Updates a conditional forwarder that has been set up for your AWS directory.

        + *

        Updates a conditional forwarder that has been set up for your Amazon Web Services + * directory.

        * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-directory-service/commands/UpdateNumberOfDomainControllersCommand.ts b/clients/client-directory-service/commands/UpdateNumberOfDomainControllersCommand.ts index 8b72c11040e2..d8804bc00708 100644 --- a/clients/client-directory-service/commands/UpdateNumberOfDomainControllersCommand.ts +++ b/clients/client-directory-service/commands/UpdateNumberOfDomainControllersCommand.ts @@ -23,7 +23,11 @@ export interface UpdateNumberOfDomainControllersCommandOutput __MetadataBearer {} /** - *

        Adds or removes domain controllers to or from the directory. Based on the difference between current value and new value (provided through this API call), domain controllers will be added or removed. It may take up to 45 minutes for any new domain controllers to become fully active once the requested number of domain controllers is updated. During this time, you cannot make another update request.

        + *

        Adds or removes domain controllers to or from the directory. Based on the difference + * between current value and new value (provided through this API call), domain controllers will + * be added or removed. It may take up to 45 minutes for any new domain controllers to become + * fully active once the requested number of domain controllers is updated. During this time, you + * cannot make another update request.

        * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-directory-service/commands/UpdateRadiusCommand.ts b/clients/client-directory-service/commands/UpdateRadiusCommand.ts index 5266d6ab420e..520ebf7a4efd 100644 --- a/clients/client-directory-service/commands/UpdateRadiusCommand.ts +++ b/clients/client-directory-service/commands/UpdateRadiusCommand.ts @@ -21,7 +21,8 @@ export interface UpdateRadiusCommandInput extends UpdateRadiusRequest {} export interface UpdateRadiusCommandOutput extends UpdateRadiusResult, __MetadataBearer {} /** - *

        Updates the Remote Authentication Dial In User Service (RADIUS) server information for an AD Connector or Microsoft AD directory.

        + *

        Updates the Remote Authentication Dial In User Service (RADIUS) server information + * for an AD Connector or Microsoft AD directory.

        * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-directory-service/commands/UpdateTrustCommand.ts b/clients/client-directory-service/commands/UpdateTrustCommand.ts index 411de96a2726..0bd12e4016a4 100644 --- a/clients/client-directory-service/commands/UpdateTrustCommand.ts +++ b/clients/client-directory-service/commands/UpdateTrustCommand.ts @@ -21,7 +21,8 @@ export interface UpdateTrustCommandInput extends UpdateTrustRequest {} export interface UpdateTrustCommandOutput extends UpdateTrustResult, __MetadataBearer {} /** - *

        Updates the trust that has been set up between your AWS Managed Microsoft AD directory and an on-premises Active Directory.

        + *

        Updates the trust that has been set up between your Managed Microsoft AD directory and an + * self-managed Active Directory.

        * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-directory-service/commands/VerifyTrustCommand.ts b/clients/client-directory-service/commands/VerifyTrustCommand.ts index 1ddc37e372ff..7564cb378871 100644 --- a/clients/client-directory-service/commands/VerifyTrustCommand.ts +++ b/clients/client-directory-service/commands/VerifyTrustCommand.ts @@ -21,8 +21,10 @@ export interface VerifyTrustCommandInput extends VerifyTrustRequest {} export interface VerifyTrustCommandOutput extends VerifyTrustResult, __MetadataBearer {} /** - *

        AWS Directory Service for Microsoft Active Directory allows you to configure and verify trust relationships.

        - *

        This action verifies a trust relationship between your AWS Managed Microsoft AD directory and an external domain.

        + *

        Directory Service for Microsoft Active Directory allows you to configure and verify trust + * relationships.

        + *

        This action verifies a trust relationship between your Managed Microsoft AD directory and an + * external domain.

        * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-directory-service/index.ts b/clients/client-directory-service/index.ts index d66783064c7c..7b52175c7228 100644 --- a/clients/client-directory-service/index.ts +++ b/clients/client-directory-service/index.ts @@ -22,6 +22,7 @@ export * from "./commands/DeleteTrustCommand"; export * from "./commands/DeregisterCertificateCommand"; export * from "./commands/DeregisterEventTopicCommand"; export * from "./commands/DescribeCertificateCommand"; +export * from "./commands/DescribeClientAuthenticationSettingsCommand"; export * from "./commands/DescribeConditionalForwardersCommand"; export * from "./commands/DescribeDirectoriesCommand"; export * from "./commands/DescribeDomainControllersCommand"; diff --git a/clients/client-directory-service/models/models_0.ts b/clients/client-directory-service/models/models_0.ts index 49c315496fd7..a7ee947c80cc 100644 --- a/clients/client-directory-service/models/models_0.ts +++ b/clients/client-directory-service/models/models_0.ts @@ -53,7 +53,7 @@ export interface SharedDirectory { /** *

        The method used when sharing a directory to determine whether the directory should be - * shared within your AWS organization (ORGANIZATIONS) or with any AWS account by + * shared within your Amazon Web Services organization (ORGANIZATIONS) or with any Amazon Web Services account by * sending a shared directory request (HANDSHAKE).

        */ ShareMethod?: ShareMethod | string; @@ -71,7 +71,7 @@ export interface SharedDirectory { SharedDirectoryId?: string; /** - *

        Current directory status of the shared AWS Managed Microsoft AD directory.

        + *

        Current directory status of the shared Managed Microsoft AD directory.

        */ ShareStatus?: ShareStatus | string; @@ -132,7 +132,7 @@ export interface ClientException extends __SmithyException, $MetadataBearer { Message?: string; /** - *

        The AWS request identifier.

        + *

        The Amazon Web Services request identifier.

        */ RequestId?: string; } @@ -147,7 +147,7 @@ export namespace ClientException { } /** - *

        The specified directory has already been shared with this AWS account.

        + *

        The specified directory has already been shared with this Amazon Web Services account.

        */ export interface DirectoryAlreadySharedException extends __SmithyException, $MetadataBearer { name: "DirectoryAlreadySharedException"; @@ -158,7 +158,7 @@ export interface DirectoryAlreadySharedException extends __SmithyException, $Met Message?: string; /** - *

        The AWS request identifier.

        + *

        The Amazon Web Services request identifier.

        */ RequestId?: string; } @@ -184,7 +184,7 @@ export interface EntityDoesNotExistException extends __SmithyException, $Metadat Message?: string; /** - *

        The AWS request identifier.

        + *

        The Amazon Web Services request identifier.

        */ RequestId?: string; } @@ -210,7 +210,7 @@ export interface InvalidParameterException extends __SmithyException, $MetadataB Message?: string; /** - *

        The AWS request identifier.

        + *

        The Amazon Web Services request identifier.

        */ RequestId?: string; } @@ -225,7 +225,7 @@ export namespace InvalidParameterException { } /** - *

        An exception has occurred in AWS Directory Service.

        + *

        An exception has occurred in Directory Service.

        */ export interface ServiceException extends __SmithyException, $MetadataBearer { name: "ServiceException"; @@ -236,7 +236,7 @@ export interface ServiceException extends __SmithyException, $MetadataBearer { Message?: string; /** - *

        The AWS request identifier.

        + *

        The Amazon Web Services request identifier.

        */ RequestId?: string; } @@ -262,7 +262,7 @@ export interface AccessDeniedException extends __SmithyException, $MetadataBeare Message?: string; /** - *

        The AWS request identifier.

        + *

        The Amazon Web Services request identifier.

        */ RequestId?: string; } @@ -277,11 +277,14 @@ export namespace AccessDeniedException { } /** - *

        IP address block. This is often the address block of the DNS server used for your on-premises domain.

        + *

        IP address block. This is often the address block of the DNS server used for your + * self-managed domain.

        */ export interface IpRoute { /** - *

        IP address block using CIDR format, for example 10.0.0.0/24. This is often the address block of the DNS server used for your on-premises domain. For a single IP address use a CIDR address block with /32. For example 10.0.0.0/32.

        + *

        IP address block using CIDR format, for example 10.0.0.0/24. This is often the + * address block of the DNS server used for your self-managed domain. For a single IP address + * use a CIDR address block with /32. For example 10.0.0.0/32.

        */ CidrIp?: string; @@ -307,14 +310,15 @@ export interface AddIpRoutesRequest { DirectoryId: string | undefined; /** - *

        IP address blocks, using CIDR format, of the traffic to route. This is often the IP address block of the DNS server used for your on-premises domain.

        + *

        IP address blocks, using CIDR format, of the traffic to route. This is often the IP + * address block of the DNS server used for your self-managed domain.

        */ IpRoutes: IpRoute[] | undefined; /** - *

        If set to true, updates the inbound and outbound rules of the security group that has the description: "AWS created security group for directory ID directory controllers." - * Following are the new rules: - *

        + *

        If set to true, updates the inbound and outbound rules of the security group that has + * the description: "Amazon Web Services created security group for directory ID + * directory controllers." Following are the new rules:

        *

        Inbound:

        *
          *
        • @@ -351,10 +355,12 @@ export interface AddIpRoutesRequest { *

          Type: Custom TCP Rule, Protocol: TCP, Range: 636, Source: 0.0.0.0/0

          *
        • *
        • - *

          Type: Custom TCP Rule, Protocol: TCP, Range: 1024-65535, Source: 0.0.0.0/0

          + *

          Type: Custom TCP Rule, Protocol: TCP, Range: 1024-65535, Source: + * 0.0.0.0/0

          *
        • *
        • - *

          Type: Custom TCP Rule, Protocol: TCP, Range: 3268-33269, Source: 0.0.0.0/0

          + *

          Type: Custom TCP Rule, Protocol: TCP, Range: 3268-33269, Source: + * 0.0.0.0/0

          *
        • *
        • *

          Type: DNS (UDP), Protocol: UDP, Range: 53, Source: 0.0.0.0/0

          @@ -377,7 +383,8 @@ export interface AddIpRoutesRequest { *

          Type: All traffic, Protocol: All, Range: All, Destination: 0.0.0.0/0

          *
        • *
        - *

        These security rules impact an internal network interface that is not exposed publicly.

        + *

        These security rules impact an internal network interface that is not exposed + * publicly.

        */ UpdateSecurityGroupForDirectoryControllers?: boolean; } @@ -414,7 +421,7 @@ export interface DirectoryUnavailableException extends __SmithyException, $Metad Message?: string; /** - *

        The AWS request identifier.

        + *

        The Amazon Web Services request identifier.

        */ RequestId?: string; } @@ -440,7 +447,7 @@ export interface EntityAlreadyExistsException extends __SmithyException, $Metada Message?: string; /** - *

        The AWS request identifier.

        + *

        The Amazon Web Services request identifier.

        */ RequestId?: string; } @@ -455,7 +462,8 @@ export namespace EntityAlreadyExistsException { } /** - *

        The maximum allowed number of IP addresses was exceeded. The default limit is 100 IP address blocks.

        + *

        The maximum allowed number of IP addresses was exceeded. The default limit is 100 IP + * address blocks.

        */ export interface IpRouteLimitExceededException extends __SmithyException, $MetadataBearer { name: "IpRouteLimitExceededException"; @@ -466,7 +474,7 @@ export interface IpRouteLimitExceededException extends __SmithyException, $Metad Message?: string; /** - *

        The AWS request identifier.

        + *

        The Amazon Web Services request identifier.

        */ RequestId?: string; } @@ -491,7 +499,7 @@ export interface DirectoryVpcSettings { /** *

        The identifiers of the subnets for the directory servers. The two subnets must be in - * different Availability Zones. AWS Directory Service creates a directory server and a DNS + * different Availability Zones. Directory Service creates a directory server and a DNS * server in each of these subnets.

        */ SubnetIds: string[] | undefined; @@ -545,7 +553,7 @@ export namespace AddRegionResult { } /** - *

        The Region you specified is the same Region where the AWS Managed Microsoft AD directory + *

        The Region you specified is the same Region where the Managed Microsoft AD directory * was created. Specify a different Region and try again.

        */ export interface DirectoryAlreadyInRegionException extends __SmithyException, $MetadataBearer { @@ -557,7 +565,7 @@ export interface DirectoryAlreadyInRegionException extends __SmithyException, $M Message?: string; /** - *

        The AWS request identifier.

        + *

        The Amazon Web Services request identifier.

        */ RequestId?: string; } @@ -583,7 +591,7 @@ export interface DirectoryDoesNotExistException extends __SmithyException, $Meta Message?: string; /** - *

        The AWS request identifier.

        + *

        The Amazon Web Services request identifier.

        */ RequestId?: string; } @@ -610,7 +618,7 @@ export interface RegionLimitExceededException extends __SmithyException, $Metada Message?: string; /** - *

        The AWS request identifier.

        + *

        The Amazon Web Services request identifier.

        */ RequestId?: string; } @@ -636,7 +644,7 @@ export interface UnsupportedOperationException extends __SmithyException, $Metad Message?: string; /** - *

        The AWS request identifier.

        + *

        The Amazon Web Services request identifier.

        */ RequestId?: string; } @@ -655,12 +663,17 @@ export namespace UnsupportedOperationException { */ export interface Tag { /** - *

        Required name of the tag. The string value can be Unicode characters and cannot be prefixed with "aws:". The string can contain only the set of Unicode letters, digits, white-space, '_', '.', '/', '=', '+', '-' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$").

        + *

        Required name of the tag. The string value can be Unicode characters and cannot be + * prefixed with "aws:". The string can contain only the set of Unicode letters, digits, + * white-space, '_', '.', '/', '=', '+', '-' (Java regex: + * "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$").

        */ Key: string | undefined; /** - *

        The optional value of the tag. The string value can be Unicode characters. The string can contain only the set of Unicode letters, digits, white-space, '_', '.', '/', '=', '+', '-' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$").

        + *

        The optional value of the tag. The string value can be Unicode characters. The string + * can contain only the set of Unicode letters, digits, white-space, '_', '.', '/', '=', '+', '-' + * (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$").

        */ Value: string | undefined; } @@ -718,7 +731,7 @@ export interface TagLimitExceededException extends __SmithyException, $MetadataB Message?: string; /** - *

        The AWS request identifier.

        + *

        The Amazon Web Services request identifier.

        */ RequestId?: string; } @@ -913,7 +926,7 @@ export interface CertificateAlreadyExistsException extends __SmithyException, $M Message?: string; /** - *

        The AWS request identifier.

        + *

        The Amazon Web Services request identifier.

        */ RequestId?: string; } @@ -939,7 +952,7 @@ export interface CertificateDoesNotExistException extends __SmithyException, $Me Message?: string; /** - *

        The AWS request identifier.

        + *

        The Amazon Web Services request identifier.

        */ RequestId?: string; } @@ -1005,7 +1018,7 @@ export interface CertificateInUseException extends __SmithyException, $MetadataB Message?: string; /** - *

        The AWS request identifier.

        + *

        The Amazon Web Services request identifier.

        */ RequestId?: string; } @@ -1031,7 +1044,7 @@ export interface CertificateLimitExceededException extends __SmithyException, $M Message?: string; /** - *

        The AWS request identifier.

        + *

        The Amazon Web Services request identifier.

        */ RequestId?: string; } @@ -1045,10 +1058,44 @@ export namespace CertificateLimitExceededException { }); } +export enum ClientAuthenticationStatus { + DISABLED = "Disabled", + ENABLED = "Enabled", +} + export enum ClientAuthenticationType { SMART_CARD = "SmartCard", } +/** + *

        Contains information about a client authentication method for a directory.

        + */ +export interface ClientAuthenticationSettingInfo { + /** + *

        The type of client authentication for the specified directory. If no type is specified, a list of all client authentication types that are supported for the directory is retrieved.

        + */ + Type?: ClientAuthenticationType | string; + + /** + *

        Whether the client authentication type is enabled or disabled for the specified directory.

        + */ + Status?: ClientAuthenticationStatus | string; + + /** + *

        The date and time when the status of the client authentication type was last updated.

        + */ + LastUpdatedDateTime?: Date; +} + +export namespace ClientAuthenticationSettingInfo { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ClientAuthenticationSettingInfo): any => ({ + ...obj, + }); +} + /** *

        Contains information about a computer account in a directory.

        */ @@ -1084,23 +1131,27 @@ export enum ReplicationScope { } /** - *

        Points to a remote domain with which you are setting up a trust relationship. Conditional forwarders are required in order to set up a trust relationship with another domain.

        + *

        Points to a remote domain with which you are setting up a trust relationship. + * Conditional forwarders are required in order to set up a trust relationship with another + * domain.

        */ export interface ConditionalForwarder { /** - *

        The fully qualified domain name (FQDN) of the remote domains pointed to by the conditional forwarder.

        + *

        The fully qualified domain name (FQDN) of the remote domains pointed to by the + * conditional forwarder.

        */ RemoteDomainName?: string; /** - *

        The IP addresses of the remote DNS server associated with RemoteDomainName. This is the IP address of the DNS server that your conditional forwarder points to.

        + *

        The IP addresses of the remote DNS server associated with RemoteDomainName. This is the + * IP address of the DNS server that your conditional forwarder points to.

        */ DnsIpAddrs?: string[]; /** *

        The replication scope of the conditional forwarder. The only allowed value is - * Domain, which will replicate the conditional forwarder to all of the - * domain controllers for your AWS directory.

        + * Domain, which will replicate the conditional forwarder to all of the domain + * controllers for your Amazon Web Services directory.

        */ ReplicationScope?: ReplicationScope | string; } @@ -1130,13 +1181,13 @@ export interface DirectoryConnectSettings { SubnetIds: string[] | undefined; /** - *

        A list of one or more IP addresses of DNS servers or domain controllers in the on-premises + *

        A list of one or more IP addresses of DNS servers or domain controllers in your self-managed * directory.

        */ CustomerDnsIps: string[] | undefined; /** - *

        The user name of an account in the on-premises directory that is used to connect to the + *

        The user name of an account in your self-managed directory that is used to connect to the * directory. This account must have the following permissions:

        *
          *
        • @@ -1172,18 +1223,18 @@ export enum DirectorySize { */ export interface ConnectDirectoryRequest { /** - *

          The fully qualified name of the on-premises directory, such as + *

          The fully qualified name of your self-managed directory, such as * corp.example.com.

          */ Name: string | undefined; /** - *

          The NetBIOS name of the on-premises directory, such as CORP.

          + *

          The NetBIOS name of your self-managed directory, such as CORP.

          */ ShortName?: string; /** - *

          The password for the on-premises user account.

          + *

          The password for your self-managed user account.

          */ Password: string | undefined; @@ -1240,8 +1291,8 @@ export namespace ConnectDirectoryResult { /** *

          The maximum number of directories in the region has been reached. You can use the - * GetDirectoryLimits operation to determine your directory limits in the - * region.

          + * GetDirectoryLimits operation to determine your directory limits in + * the region.

          */ export interface DirectoryLimitExceededException extends __SmithyException, $MetadataBearer { name: "DirectoryLimitExceededException"; @@ -1252,7 +1303,7 @@ export interface DirectoryLimitExceededException extends __SmithyException, $Met Message?: string; /** - *

          The AWS request identifier.

          + *

          The Amazon Web Services request identifier.

          */ RequestId?: string; } @@ -1277,7 +1328,7 @@ export interface CreateAliasRequest { /** *

          The requested alias.

          - *

          The alias must be unique amongst all aliases in AWS. This operation throws an + *

          The alias must be unique amongst all aliases in Amazon Web Services. This operation throws an * EntityAlreadyExistsException error if the alias already exists.

          */ Alias: string | undefined; @@ -1377,16 +1428,20 @@ export namespace CreateComputerResult { } /** - *

          Initiates the creation of a conditional forwarder for your AWS Directory Service for Microsoft Active Directory. Conditional forwarders are required in order to set up a trust relationship with another domain.

          + *

          Initiates the creation of a conditional forwarder for your Directory Service for Microsoft Active + * Directory. Conditional forwarders are required in order to set up a trust relationship with + * another domain.

          */ export interface CreateConditionalForwarderRequest { /** - *

          The directory ID of the AWS directory for which you are creating the conditional forwarder.

          + *

          The directory ID of the Amazon Web Services directory for which you are creating the conditional + * forwarder.

          */ DirectoryId: string | undefined; /** - *

          The fully qualified domain name (FQDN) of the remote domain with which you will set up a trust relationship.

          + *

          The fully qualified domain name (FQDN) of the remote domain with which you will set up + * a trust relationship.

          */ RemoteDomainName: string | undefined; @@ -1563,7 +1618,7 @@ export interface InsufficientPermissionsException extends __SmithyException, $Me Message?: string; /** - *

          The AWS request identifier.

          + *

          The Amazon Web Services request identifier.

          */ RequestId?: string; } @@ -1583,18 +1638,20 @@ export enum DirectoryEdition { } /** - *

          Creates an AWS Managed Microsoft AD directory.

          + *

          Creates an Managed Microsoft AD directory.

          */ export interface CreateMicrosoftADRequest { /** - *

          The fully qualified domain name for the AWS Managed Microsoft AD directory, such as - * corp.example.com. This name will resolve inside your VPC only. It does not need - * to be publicly resolvable.

          + *

          The fully qualified domain name for the Managed Microsoft AD directory, such as + * corp.example.com. This name will resolve inside your VPC only. It does not need + * to be publicly resolvable.

          */ Name: string | undefined; /** - *

          The NetBIOS name for your domain, such as CORP. If you don't specify a NetBIOS name, it will default to the first part of your directory DNS. For example, CORP for the directory DNS corp.example.com.

          + *

          The NetBIOS name for your domain, such as CORP. If you don't specify a + * NetBIOS name, it will default to the first part of your directory DNS. For example, + * CORP for the directory DNS corp.example.com.

          */ ShortName?: string; @@ -1605,7 +1662,8 @@ export interface CreateMicrosoftADRequest { Password: string | undefined; /** - *

          A description for the directory. This label will appear on the AWS console Directory Details page after the directory is created.

          + *

          A description for the directory. This label will appear on the Amazon Web Services console + * Directory Details page after the directory is created.

          */ Description?: string; @@ -1615,12 +1673,13 @@ export interface CreateMicrosoftADRequest { VpcSettings: DirectoryVpcSettings | undefined; /** - *

          AWS Managed Microsoft AD is available in two editions: Standard and Enterprise. Enterprise is the default.

          + *

          Managed Microsoft AD is available in two editions: Standard and + * Enterprise. Enterprise is the default.

          */ Edition?: DirectoryEdition | string; /** - *

          The tags to be assigned to the AWS Managed Microsoft AD directory.

          + *

          The tags to be assigned to the Managed Microsoft AD directory.

          */ Tags?: Tag[]; } @@ -1699,8 +1758,8 @@ export namespace CreateSnapshotResult { /** *

          The maximum number of manual snapshots for the directory has been reached. You can - * use the GetSnapshotLimits operation to determine the snapshot limits for a - * directory.

          + * use the GetSnapshotLimits operation to determine the snapshot limits + * for a directory.

          */ export interface SnapshotLimitExceededException extends __SmithyException, $MetadataBearer { name: "SnapshotLimitExceededException"; @@ -1711,7 +1770,7 @@ export interface SnapshotLimitExceededException extends __SmithyException, $Meta Message?: string; /** - *

          The AWS request identifier.

          + *

          The Amazon Web Services request identifier.

          */ RequestId?: string; } @@ -1742,22 +1801,29 @@ export enum TrustType { } /** - *

          AWS Directory Service for Microsoft Active Directory allows you to configure trust relationships. For example, you can establish a trust between your AWS Managed Microsoft AD directory, and your existing on-premises Microsoft Active Directory. This would allow you to provide users and groups access to resources in either domain, with a single set of credentials.

          - *

          This action initiates the creation of the AWS side of a trust relationship between an AWS Managed Microsoft AD directory and an external domain.

          + *

          Directory Service for Microsoft Active Directory allows you to configure trust relationships. For + * example, you can establish a trust between your Managed Microsoft AD directory, and your existing + * self-managed Microsoft Active Directory. This would allow you to provide users and groups + * access to resources in either domain, with a single set of credentials.

          + *

          This action initiates the creation of the Amazon Web Services side of a trust relationship between an + * Managed Microsoft AD directory and an external domain.

          */ export interface CreateTrustRequest { /** - *

          The Directory ID of the AWS Managed Microsoft AD directory for which to establish the trust relationship.

          + *

          The Directory ID of the Managed Microsoft AD directory for which to establish the trust + * relationship.

          */ DirectoryId: string | undefined; /** - *

          The Fully Qualified Domain Name (FQDN) of the external domain for which to create the trust relationship.

          + *

          The Fully Qualified Domain Name (FQDN) of the external domain for which to create the + * trust relationship.

          */ RemoteDomainName: string | undefined; /** - *

          The trust password. The must be the same password that was used when creating the trust relationship on the external domain.

          + *

          The trust password. The must be the same password that was used when creating the trust + * relationship on the external domain.

          */ TrustPassword: string | undefined; @@ -1821,7 +1887,8 @@ export interface DeleteConditionalForwarderRequest { DirectoryId: string | undefined; /** - *

          The fully qualified domain name (FQDN) of the remote domain with which you are deleting the conditional forwarder.

          + *

          The fully qualified domain name (FQDN) of the remote domain with which you are deleting + * the conditional forwarder.

          */ RemoteDomainName: string | undefined; } @@ -1953,7 +2020,8 @@ export namespace DeleteSnapshotResult { } /** - *

          Deletes the local side of an existing trust relationship between the AWS Managed Microsoft AD directory and the external domain.

          + *

          Deletes the local side of an existing trust relationship between the Managed Microsoft AD + * directory and the external domain.

          */ export interface DeleteTrustRequest { /** @@ -2028,16 +2096,18 @@ export namespace DeregisterCertificateResult { } /** - *

          Removes the specified directory as a publisher to the specified SNS topic.

          + *

          Removes the specified directory as a publisher to the specified Amazon SNS topic.

          */ export interface DeregisterEventTopicRequest { /** - *

          The Directory ID to remove as a publisher. This directory will no longer send messages to the specified SNS topic.

          + *

          The Directory ID to remove as a publisher. This directory will no longer send messages + * to the specified Amazon SNS topic.

          */ DirectoryId: string | undefined; /** - *

          The name of the SNS topic from which to remove the directory as a publisher.

          + *

          The name of the Amazon SNS topic from which to remove the directory as a + * publisher.

          */ TopicName: string | undefined; } @@ -2103,17 +2173,73 @@ export namespace DescribeCertificateResult { }); } +export interface DescribeClientAuthenticationSettingsRequest { + /** + *

          The identifier of the directory for which to retrieve information.

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

          The type of client authentication for which to retrieve information. If no type is specified, a list of all client authentication types that are supported for the specified directory is retrieved.

          + */ + Type?: ClientAuthenticationType | string; + + /** + *

          The DescribeClientAuthenticationSettingsResult.NextToken value from a previous call to DescribeClientAuthenticationSettings. Pass null if this is the first call.

          + */ + NextToken?: string; + + /** + *

          The maximum number of items to return. If this value is zero, the maximum number of items is specified by the limitations of the operation.

          + */ + Limit?: number; +} + +export namespace DescribeClientAuthenticationSettingsRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeClientAuthenticationSettingsRequest): any => ({ + ...obj, + }); +} + +export interface DescribeClientAuthenticationSettingsResult { + /** + *

          Information about the type of client authentication for the specified directory. The following information is retrieved: The date and time when the status of the client authentication type was last updated, whether the client authentication type is enabled or disabled, and the type of client authentication.

          + */ + ClientAuthenticationSettingsInfo?: ClientAuthenticationSettingInfo[]; + + /** + *

          The next token used to retrieve the client authentication settings if the number of setting types exceeds + * page limit and there is another page.

          + */ + NextToken?: string; +} + +export namespace DescribeClientAuthenticationSettingsResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeClientAuthenticationSettingsResult): any => ({ + ...obj, + }); +} + /** *

          Describes a conditional forwarder.

          */ export interface DescribeConditionalForwardersRequest { /** - *

          The directory ID for which to get the list of associated conditional forwarders.

          + *

          The directory ID for which to get the list of associated conditional + * forwarders.

          */ DirectoryId: string | undefined; /** - *

          The fully qualified domain names (FQDN) of the remote domains for which to get the list of associated conditional forwarders. If this member is null, all conditional forwarders are returned.

          + *

          The fully qualified domain names (FQDN) of the remote domains for which to get the list + * of associated conditional forwarders. If this member is null, all conditional forwarders are + * returned.

          */ RemoteDomainNames?: string[]; } @@ -2193,7 +2319,7 @@ export interface DirectoryConnectSettingsDescription { SubnetIds?: string[]; /** - *

          The user name of the service account in the on-premises directory.

          + *

          The user name of the service account in your self-managed directory.

          */ CustomerUserName?: string; @@ -2230,16 +2356,20 @@ export enum RadiusAuthenticationProtocol { } /** - *

          Contains information about a Remote Authentication Dial In User Service (RADIUS) server.

          + *

          Contains information about a Remote Authentication Dial In User Service (RADIUS) + * server.

          */ export interface RadiusSettings { /** - *

          An array of strings that contains the fully qualified domain name (FQDN) or IP addresses of the RADIUS server endpoints, or the FQDN or IP addresses of your RADIUS server load balancer.

          + *

          An array of strings that contains the fully qualified domain name (FQDN) or IP + * addresses of the RADIUS server endpoints, or the FQDN or IP addresses of your RADIUS server + * load balancer.

          */ RadiusServers?: string[]; /** - *

          The port that your RADIUS server is using for communications. Your on-premises network must allow inbound traffic over this port from the AWS Directory Service servers.

          + *

          The port that your RADIUS server is using for communications. Your self-managed + * network must allow inbound traffic over this port from the Directory Service servers.

          */ RadiusPort?: number; @@ -2249,7 +2379,8 @@ export interface RadiusSettings { RadiusTimeout?: number; /** - *

          The maximum number of times that communication with the RADIUS server is attempted.

          + *

          The maximum number of times that communication with the RADIUS server is + * attempted.

          */ RadiusRetries?: number; @@ -2330,7 +2461,7 @@ export namespace DirectoryVpcSettingsDescription { */ export interface OwnerDirectoryDescription { /** - *

          Identifier of the AWS Managed Microsoft AD directory in the directory owner + *

          Identifier of the Managed Microsoft AD directory in the directory owner * account.

          */ DirectoryId?: string; @@ -2378,7 +2509,7 @@ export namespace OwnerDirectoryDescription { */ export interface RegionsInfo { /** - *

          The Region where the AWS Managed Microsoft AD directory was originally created.

          + *

          The Region where the Managed Microsoft AD directory was originally created.

          */ PrimaryRegion?: string; @@ -2420,7 +2551,7 @@ export enum DirectoryType { } /** - *

          Contains information about an AWS Directory Service directory.

          + *

          Contains information about an Directory Service directory.

          */ export interface DirectoryDescription { /** @@ -2471,7 +2602,7 @@ export interface DirectoryDescription { *

          The IP addresses of the DNS servers for the directory. For a Simple AD or Microsoft AD * directory, these are the IP addresses of the Simple AD or Microsoft AD directory servers. For * an AD Connector directory, these are the IP addresses of the DNS servers or domain controllers - * in the on-premises directory to which the AD Connector is connected.

          + * in your self-managed directory to which the AD Connector is connected.

          */ DnsIpAddrs?: string[]; @@ -2481,13 +2612,13 @@ export interface DirectoryDescription { Stage?: DirectoryStage | string; /** - *

          Current directory status of the shared AWS Managed Microsoft AD directory.

          + *

          Current directory status of the shared Managed Microsoft AD directory.

          */ ShareStatus?: ShareStatus | string; /** *

          The method used when sharing a directory to determine whether the directory should be - * shared within your AWS organization (ORGANIZATIONS) or with any AWS account by + * shared within your Amazon Web Services organization (ORGANIZATIONS) or with any Amazon Web Services account by * sending a shared directory request (HANDSHAKE).

          */ ShareMethod?: ShareMethod | string; @@ -2517,7 +2648,7 @@ export interface DirectoryDescription { /** *

          A DirectoryVpcSettingsDescription object that contains additional * information about a directory. This member is only present if the directory is a Simple AD or - * Managed AD directory.

          + * Managed Microsoft AD directory.

          */ VpcSettings?: DirectoryVpcSettingsDescription; @@ -2550,12 +2681,13 @@ export interface DirectoryDescription { SsoEnabled?: boolean; /** - *

          The desired number of domain controllers in the directory if the directory is Microsoft AD.

          + *

          The desired number of domain controllers in the directory if the directory is Microsoft + * AD.

          */ DesiredNumberOfDomainControllers?: number; /** - *

          Describes the AWS Managed Microsoft AD directory in the directory owner account.

          + *

          Describes the Managed Microsoft AD directory in the directory owner account.

          */ OwnerDirectoryDescription?: OwnerDirectoryDescription; @@ -2624,7 +2756,7 @@ export interface InvalidNextTokenException extends __SmithyException, $MetadataB Message?: string; /** - *

          The AWS request identifier.

          + *

          The Amazon Web Services request identifier.

          */ RequestId?: string; } @@ -2640,17 +2772,21 @@ export namespace InvalidNextTokenException { export interface DescribeDomainControllersRequest { /** - *

          Identifier of the directory for which to retrieve the domain controller information.

          + *

          Identifier of the directory for which to retrieve the domain controller + * information.

          */ DirectoryId: string | undefined; /** - *

          A list of identifiers for the domain controllers whose information will be provided.

          + *

          A list of identifiers for the domain controllers whose information will be + * provided.

          */ DomainControllerIds?: string[]; /** - *

          The DescribeDomainControllers.NextToken value from a previous call to DescribeDomainControllers. Pass null if this is the first call.

          + *

          The DescribeDomainControllers.NextToken value from a previous call + * to DescribeDomainControllers. Pass null if this is the first call. + *

          */ NextToken?: string; @@ -2750,7 +2886,9 @@ export interface DescribeDomainControllersResult { DomainControllers?: DomainController[]; /** - *

          If not null, more results are available. Pass this value for the NextToken parameter in a subsequent call to DescribeDomainControllers retrieve the next set of items.

          + *

          If not null, more results are available. Pass this value for the NextToken + * parameter in a subsequent call to DescribeDomainControllers retrieve the + * next set of items.

          */ NextToken?: string; } @@ -2769,13 +2907,16 @@ export namespace DescribeDomainControllersResult { */ export interface DescribeEventTopicsRequest { /** - *

          The Directory ID for which to get the list of associated SNS topics. If this member is null, associations for all Directory IDs are returned.

          + *

          The Directory ID for which to get the list of associated Amazon SNS topics. If this member + * is null, associations for all Directory IDs are returned.

          */ DirectoryId?: string; /** - *

          A list of SNS topic names for which to obtain the information. If this member is null, all associations for the specified Directory ID are returned.

          - *

          An empty list results in an InvalidParameterException being thrown.

          + *

          A list of Amazon SNS topic names for which to obtain the information. If this member is + * null, all associations for the specified Directory ID are returned.

          + *

          An empty list results in an InvalidParameterException being + * thrown.

          */ TopicNames?: string[]; } @@ -2797,26 +2938,27 @@ export enum TopicStatus { } /** - *

          Information about SNS topic and AWS Directory Service directory associations.

          + *

          Information about Amazon SNS topic and Directory Service directory associations.

          */ export interface EventTopic { /** - *

          The Directory ID of an AWS Directory Service directory that will publish status messages to an SNS topic.

          + *

          The Directory ID of an Directory Service directory that will publish status messages to an Amazon SNS + * topic.

          */ DirectoryId?: string; /** - *

          The name of an AWS SNS topic the receives status messages from the directory.

          + *

          The name of an Amazon SNS topic the receives status messages from the directory.

          */ TopicName?: string; /** - *

          The SNS topic ARN (Amazon Resource Name).

          + *

          The Amazon SNS topic ARN (Amazon Resource Name).

          */ TopicArn?: string; /** - *

          The date and time of when you associated your directory with the SNS topic.

          + *

          The date and time of when you associated your directory with the Amazon SNS topic.

          */ CreatedDateTime?: Date; @@ -2840,7 +2982,8 @@ export namespace EventTopic { */ export interface DescribeEventTopicsResult { /** - *

          A list of SNS topic names that receive status messages from the specified Directory ID.

          + *

          A list of Amazon SNS topic names that receive status messages from the specified Directory + * ID.

          */ EventTopics?: EventTopic[]; } @@ -3242,23 +3385,28 @@ export namespace DescribeSnapshotsResult { } /** - *

          Describes the trust relationships for a particular AWS Managed Microsoft AD directory. If no input parameters are are provided, such as directory ID or trust ID, this request describes all the trust relationships.

          + *

          Describes the trust relationships for a particular Managed Microsoft AD directory. If no input + * parameters are provided, such as directory ID or trust ID, this request describes all the + * trust relationships.

          */ export interface DescribeTrustsRequest { /** - *

          The Directory ID of the AWS directory that is a part of the requested trust relationship.

          + *

          The Directory ID of the Amazon Web Services directory that is a part of the requested trust + * relationship.

          */ DirectoryId?: string; /** - *

          A list of identifiers of the trust relationships for which to obtain the information. If this member is null, all trust relationships that belong to the current account are returned.

          + *

          A list of identifiers of the trust relationships for which to obtain the information. If + * this member is null, all trust relationships that belong to the current account are + * returned.

          *

          An empty list results in an InvalidParameterException being thrown.

          */ TrustIds?: string[]; /** *

          The DescribeTrustsResult.NextToken value from a previous call to - * DescribeTrusts. Pass null if this is the first call.

          + * DescribeTrusts. Pass null if this is the first call.

          */ NextToken?: string; @@ -3292,11 +3440,12 @@ export enum TrustState { } /** - *

          Describes a trust relationship between an AWS Managed Microsoft AD directory and an external domain.

          + *

          Describes a trust relationship between an Managed Microsoft AD directory and an external + * domain.

          */ export interface Trust { /** - *

          The Directory ID of the AWS directory involved in the trust relationship.

          + *

          The Directory ID of the Amazon Web Services directory involved in the trust relationship.

          */ DirectoryId?: string; @@ -3306,7 +3455,8 @@ export interface Trust { TrustId?: string; /** - *

          The Fully Qualified Domain Name (FQDN) of the external domain involved in the trust relationship.

          + *

          The Fully Qualified Domain Name (FQDN) of the external domain involved in the trust + * relationship.

          */ RemoteDomainName?: string; @@ -3367,15 +3517,15 @@ export interface DescribeTrustsResult { /** *

          The list of Trust objects that were retrieved.

          *

          It is possible that this list contains less than the number of items specified in the - * Limit member of the request. This occurs if there are less than the requested - * number of items left to retrieve, or if the limitations of the operation have been - * exceeded.

          + * Limit member of the request. This occurs if there are less than the + * requested number of items left to retrieve, or if the limitations of the operation have been + * exceeded.

          */ Trusts?: Trust[]; /** - *

          If not null, more results are available. Pass this value for the NextToken parameter - * in a subsequent call to DescribeTrusts to retrieve the next set of items.

          + *

          If not null, more results are available. Pass this value for the + * NextToken parameter in a subsequent call to DescribeTrusts to retrieve the next set of items.

          */ NextToken?: string; } @@ -3409,17 +3559,17 @@ export interface DirectoryLimits { CloudOnlyDirectoriesLimitReached?: boolean; /** - *

          The maximum number of AWS Managed Microsoft AD directories allowed in the region.

          + *

          The maximum number of Managed Microsoft AD directories allowed in the region.

          */ CloudOnlyMicrosoftADLimit?: number; /** - *

          The current number of AWS Managed Microsoft AD directories in the region.

          + *

          The current number of Managed Microsoft AD directories in the region.

          */ CloudOnlyMicrosoftADCurrentCount?: number; /** - *

          Indicates if the AWS Managed Microsoft AD directory limit has been reached.

          + *

          Indicates if the Managed Microsoft AD directory limit has been reached.

          */ CloudOnlyMicrosoftADLimitReached?: boolean; @@ -3449,7 +3599,7 @@ export namespace DirectoryLimits { } /** - *

          The specified directory has not been shared with this AWS account.

          + *

          The specified directory has not been shared with this Amazon Web Services account.

          */ export interface DirectoryNotSharedException extends __SmithyException, $MetadataBearer { name: "DirectoryNotSharedException"; @@ -3460,7 +3610,7 @@ export interface DirectoryNotSharedException extends __SmithyException, $Metadat Message?: string; /** - *

          The AWS request identifier.

          + *

          The Amazon Web Services request identifier.

          */ RequestId?: string; } @@ -3518,7 +3668,7 @@ export interface InvalidClientAuthStatusException extends __SmithyException, $Me Message?: string; /** - *

          The AWS request identifier.

          + *

          The Amazon Web Services request identifier.

          */ RequestId?: string; } @@ -3578,7 +3728,7 @@ export interface InvalidLDAPSStatusException extends __SmithyException, $Metadat Message?: string; /** - *

          The AWS request identifier.

          + *

          The Amazon Web Services request identifier.

          */ RequestId?: string; } @@ -3635,17 +3785,21 @@ export interface DisableSsoRequest { DirectoryId: string | undefined; /** - *

          The username of an alternate account to use to disable single-sign on. This is only used for AD Connector directories. This account must have privileges to remove a service principal name.

          - *

          If the AD Connector service account does not have privileges to remove a service principal - * name, you can specify an alternate account with the UserName and Password - * parameters. These credentials are only used to disable single sign-on and are not stored by - * the service. The AD Connector service account is not changed.

          + *

          The username of an alternate account to use to disable single-sign on. This is only used + * for AD Connector directories. This account must have privileges to remove a service + * principal name.

          + *

          If the AD Connector service account does not have privileges to remove a service + * principal name, you can specify an alternate account with the UserName + * and Password parameters. These credentials are only used to disable + * single sign-on and are not stored by the service. The AD Connector service account is not + * changed.

          */ UserName?: string; /** *

          The password of an alternate account to use to disable single-sign on. This is only used - * for AD Connector directories. For more information, see the UserName parameter.

          + * for AD Connector directories. For more information, see the UserName + * parameter.

          */ Password?: string; } @@ -3683,7 +3837,7 @@ export interface EnableClientAuthenticationRequest { /** *

          The type of client authentication to enable. Currently only the value SmartCard is * supported. Smart card authentication in AD Connector requires that you enable Kerberos - * Constrained Delegation for the Service User to the LDAP service in the on-premises AD. + * Constrained Delegation for the Service User to the LDAP service in your self-managed AD. *

          */ Type: ClientAuthenticationType | string | undefined; @@ -3722,7 +3876,7 @@ export interface NoAvailableCertificateException extends __SmithyException, $Met Message?: string; /** - *

          The AWS request identifier.

          + *

          The Amazon Web Services request identifier.

          */ RequestId?: string; } @@ -3779,7 +3933,8 @@ export interface EnableRadiusRequest { DirectoryId: string | undefined; /** - *

          A RadiusSettings object that contains information about the RADIUS server.

          + *

          A RadiusSettings object that contains information about the RADIUS + * server.

          */ RadiusSettings: RadiusSettings | undefined; } @@ -3818,17 +3973,21 @@ export interface EnableSsoRequest { DirectoryId: string | undefined; /** - *

          The username of an alternate account to use to enable single-sign on. This is only used for AD Connector directories. This account must have privileges to add a service principal name.

          + *

          The username of an alternate account to use to enable single-sign on. This is only used + * for AD Connector directories. This account must have privileges to add a service principal + * name.

          *

          If the AD Connector service account does not have privileges to add a service principal - * name, you can specify an alternate account with the UserName and Password - * parameters. These credentials are only used to enable single sign-on and are not stored by - * the service. The AD Connector service account is not changed.

          + * name, you can specify an alternate account with the UserName and + * Password parameters. These credentials are only used to enable single + * sign-on and are not stored by the service. The AD Connector service account is not + * changed.

          */ UserName?: string; /** - *

          The password of an alternate account to use to enable single-sign on. This is only used for - * AD Connector directories. For more information, see the UserName parameter.

          + *

          The password of an alternate account to use to enable single-sign on. This is only used + * for AD Connector directories. For more information, see the UserName + * parameter.

          */ Password?: string; } @@ -3877,7 +4036,7 @@ export namespace GetDirectoryLimitsRequest { export interface GetDirectoryLimitsResult { /** *

          A DirectoryLimits object that contains the directory limits for the - * current rRegion.

          + * current Region.

          */ DirectoryLimits?: DirectoryLimits; } @@ -4013,18 +4172,19 @@ export namespace ListCertificatesResult { export interface ListIpRoutesRequest { /** - *

          Identifier (ID) of the directory for which you want to retrieve the IP addresses.

          + *

          Identifier (ID) of the directory for which you want to retrieve the IP + * addresses.

          */ DirectoryId: string | undefined; /** - *

          The ListIpRoutes.NextToken value from a previous call to - * ListIpRoutes. Pass null if this is the first call.

          + *

          The ListIpRoutes.NextToken value from a previous call to ListIpRoutes. Pass null if this is the first call.

          */ NextToken?: string; /** - *

          Maximum number of items to return. If this value is zero, the maximum number of items is specified by the limitations of the operation.

          + *

          Maximum number of items to return. If this value is zero, the maximum number of items + * is specified by the limitations of the operation.

          */ Limit?: number; } @@ -4098,8 +4258,8 @@ export interface ListIpRoutesResult { IpRoutesInfo?: IpRouteInfo[]; /** - *

          If not null, more results are available. Pass this value for the NextToken parameter - * in a subsequent call to ListIpRoutes to retrieve the next set of items.

          + *

          If not null, more results are available. Pass this value for the + * NextToken parameter in a subsequent call to ListIpRoutes to retrieve the next set of items.

          */ NextToken?: string; } @@ -4117,8 +4277,8 @@ export interface ListLogSubscriptionsRequest { /** *

          If a DirectoryID is provided, lists only the log subscription * associated with that directory. If no DirectoryId is provided, lists all - * log subscriptions associated with your AWS account. If there are no log subscriptions for the - * AWS account or the directory, an empty list will be returned.

          + * log subscriptions associated with your Amazon Web Services account. If there are no log subscriptions for the + * Amazon Web Services account or the directory, an empty list will be returned.

          */ DirectoryId?: string; @@ -4175,8 +4335,7 @@ export namespace LogSubscription { export interface ListLogSubscriptionsResult { /** - *

          A list of active LogSubscription objects for calling the AWS - * account.

          + *

          A list of active LogSubscription objects for calling the Amazon Web Services account.

          */ LogSubscriptions?: LogSubscription[]; @@ -4197,12 +4356,14 @@ export namespace ListLogSubscriptionsResult { export interface ListSchemaExtensionsRequest { /** - *

          The identifier of the directory from which to retrieve the schema extension information.

          + *

          The identifier of the directory from which to retrieve the schema extension + * information.

          */ DirectoryId: string | undefined; /** - *

          The ListSchemaExtensions.NextToken value from a previous call to ListSchemaExtensions. Pass null if this is the first call.

          + *

          The ListSchemaExtensions.NextToken value from a previous call to + * ListSchemaExtensions. Pass null if this is the first call.

          */ NextToken?: string; @@ -4263,7 +4424,8 @@ export interface SchemaExtensionInfo { SchemaExtensionStatusReason?: string; /** - *

          The date and time that the schema extension started being applied to the directory.

          + *

          The date and time that the schema extension started being applied to the + * directory.

          */ StartDateTime?: Date; @@ -4289,7 +4451,9 @@ export interface ListSchemaExtensionsResult { SchemaExtensionsInfo?: SchemaExtensionInfo[]; /** - *

          If not null, more results are available. Pass this value for the NextToken parameter in a subsequent call to ListSchemaExtensions to retrieve the next set of items.

          + *

          If not null, more results are available. Pass this value for the NextToken + * parameter in a subsequent call to ListSchemaExtensions to retrieve the next set + * of items.

          */ NextToken?: string; } @@ -4362,7 +4526,7 @@ export interface InvalidCertificateException extends __SmithyException, $Metadat Message?: string; /** - *

          The AWS request identifier.

          + *

          The Amazon Web Services request identifier.

          */ RequestId?: string; } @@ -4428,12 +4592,13 @@ export namespace RegisterCertificateResult { */ export interface RegisterEventTopicRequest { /** - *

          The Directory ID that will publish status messages to the SNS topic.

          + *

          The Directory ID that will publish status messages to the Amazon SNS topic.

          */ DirectoryId: string | undefined; /** - *

          The SNS topic name to which the directory will publish status messages. This SNS topic must be in the same region as the specified Directory ID.

          + *

          The Amazon SNS topic name to which the directory will publish status messages. This Amazon SNS + * topic must be in the same region as the specified Directory ID.

          */ TopicName: string | undefined; } @@ -4496,7 +4661,8 @@ export namespace RejectSharedDirectoryResult { export interface RemoveIpRoutesRequest { /** - *

          Identifier (ID) of the directory from which you want to remove the IP addresses.

          + *

          Identifier (ID) of the directory from which you want to remove the IP + * addresses.

          */ DirectoryId: string | undefined; @@ -4586,7 +4752,8 @@ export namespace RemoveTagsFromResourceResult { } /** - *

          The new password provided by the user does not meet the password complexity requirements defined in your directory.

          + *

          The new password provided by the user does not meet the password complexity + * requirements defined in your directory.

          */ export interface InvalidPasswordException extends __SmithyException, $MetadataBearer { name: "InvalidPasswordException"; @@ -4597,7 +4764,7 @@ export interface InvalidPasswordException extends __SmithyException, $MetadataBe Message?: string; /** - *

          The AWS request identifier.

          + *

          The Amazon Web Services request identifier.

          */ RequestId?: string; } @@ -4613,7 +4780,7 @@ export namespace InvalidPasswordException { export interface ResetUserPasswordRequest { /** - *

          Identifier of the AWS Managed Microsoft AD or Simple AD directory in which the user + *

          Identifier of the Managed Microsoft AD or Simple AD directory in which the user * resides.

          */ DirectoryId: string | undefined; @@ -4662,7 +4829,7 @@ export interface UserDoesNotExistException extends __SmithyException, $MetadataB Message?: string; /** - *

          The AWS request identifier.

          + *

          The Amazon Web Services request identifier.

          */ RequestId?: string; } @@ -4721,7 +4888,7 @@ export interface InvalidTargetException extends __SmithyException, $MetadataBear Message?: string; /** - *

          The AWS request identifier.

          + *

          The Amazon Web Services request identifier.

          */ RequestId?: string; } @@ -4736,7 +4903,7 @@ export namespace InvalidTargetException { } /** - *

          Exception encountered while trying to access your AWS organization.

          + *

          Exception encountered while trying to access your Amazon Web Services organization.

          */ export interface OrganizationsException extends __SmithyException, $MetadataBearer { name: "OrganizationsException"; @@ -4747,7 +4914,7 @@ export interface OrganizationsException extends __SmithyException, $MetadataBear Message?: string; /** - *

          The AWS request identifier.

          + *

          The Amazon Web Services request identifier.

          */ RequestId?: string; } @@ -4791,8 +4958,7 @@ export namespace ShareTarget { export interface ShareDirectoryRequest { /** - *

          Identifier of the AWS Managed Microsoft AD directory that you want to share with other AWS - * accounts.

          + *

          Identifier of the Managed Microsoft AD directory that you want to share with other Amazon Web Services accounts.

          */ DirectoryId: string | undefined; @@ -4811,7 +4977,7 @@ export interface ShareDirectoryRequest { /** *

          The method used when sharing a directory to determine whether the directory should be - * shared within your AWS organization (ORGANIZATIONS) or with any AWS account by + * shared within your Amazon Web Services organization (ORGANIZATIONS) or with any Amazon Web Services account by * sending a directory sharing request (HANDSHAKE).

          */ ShareMethod: ShareMethod | string | undefined; @@ -4845,7 +5011,8 @@ export namespace ShareDirectoryResult { } /** - *

          The maximum number of AWS accounts that you can share with this directory has been reached.

          + *

          The maximum number of Amazon Web Services accounts that you can share with this directory has been + * reached.

          */ export interface ShareLimitExceededException extends __SmithyException, $MetadataBearer { name: "ShareLimitExceededException"; @@ -4856,7 +5023,7 @@ export interface ShareLimitExceededException extends __SmithyException, $Metadat Message?: string; /** - *

          The AWS request identifier.

          + *

          The Amazon Web Services request identifier.

          */ RequestId?: string; } @@ -4872,17 +5039,21 @@ export namespace ShareLimitExceededException { export interface StartSchemaExtensionRequest { /** - *

          The identifier of the directory for which the schema extension will be applied to.

          + *

          The identifier of the directory for which the schema extension will be applied + * to.

          */ DirectoryId: string | undefined; /** - *

          If true, creates a snapshot of the directory before applying the schema extension.

          + *

          If true, creates a snapshot of the directory before applying the schema + * extension.

          */ CreateSnapshotBeforeSchemaExtension: boolean | undefined; /** - *

          The LDIF file represented as a string. To construct the LdifContent string, precede each line as it would be formatted in an ldif file with \n. See the example request below for more details. The file size can be no larger than 1MB.

          + *

          The LDIF file represented as a string. To construct the LdifContent string, precede + * each line as it would be formatted in an ldif file with \n. See the example request below for + * more details. The file size can be no larger than 1MB.

          */ LdifContent: string | undefined; @@ -4944,7 +5115,7 @@ export namespace UnshareTarget { export interface UnshareDirectoryRequest { /** - *

          The identifier of the AWS Managed Microsoft AD directory that you want to stop + *

          The identifier of the Managed Microsoft AD directory that you want to stop * sharing.

          */ DirectoryId: string | undefined; @@ -4987,17 +5158,20 @@ export namespace UnshareDirectoryResult { */ export interface UpdateConditionalForwarderRequest { /** - *

          The directory ID of the AWS directory for which to update the conditional forwarder.

          + *

          The directory ID of the Amazon Web Services directory for which to update the conditional + * forwarder.

          */ DirectoryId: string | undefined; /** - *

          The fully qualified domain name (FQDN) of the remote domain with which you will set up a trust relationship.

          + *

          The fully qualified domain name (FQDN) of the remote domain with which you will set up + * a trust relationship.

          */ RemoteDomainName: string | undefined; /** - *

          The updated IP addresses of the remote DNS server associated with the conditional forwarder.

          + *

          The updated IP addresses of the remote DNS server associated with the conditional + * forwarder.

          */ DnsIpAddrs: string[] | undefined; } @@ -5026,7 +5200,8 @@ export namespace UpdateConditionalForwarderResult { } /** - *

          The maximum allowed number of domain controllers per directory was exceeded. The default limit per directory is 20 domain controllers.

          + *

          The maximum allowed number of domain controllers per directory was exceeded. The + * default limit per directory is 20 domain controllers.

          */ export interface DomainControllerLimitExceededException extends __SmithyException, $MetadataBearer { name: "DomainControllerLimitExceededException"; @@ -5037,7 +5212,7 @@ export interface DomainControllerLimitExceededException extends __SmithyExceptio Message?: string; /** - *

          The AWS request identifier.

          + *

          The Amazon Web Services request identifier.

          */ RequestId?: string; } @@ -5053,7 +5228,8 @@ export namespace DomainControllerLimitExceededException { export interface UpdateNumberOfDomainControllersRequest { /** - *

          Identifier of the directory to which the domain controllers will be added or removed.

          + *

          Identifier of the directory to which the domain controllers will be added or + * removed.

          */ DirectoryId: string | undefined; @@ -5088,12 +5264,14 @@ export namespace UpdateNumberOfDomainControllersResult { */ export interface UpdateRadiusRequest { /** - *

          The identifier of the directory for which to update the RADIUS server information.

          + *

          The identifier of the directory for which to update the RADIUS server + * information.

          */ DirectoryId: string | undefined; /** - *

          A RadiusSettings object that contains information about the RADIUS server.

          + *

          A RadiusSettings object that contains information about the RADIUS + * server.

          */ RadiusSettings: RadiusSettings | undefined; } @@ -5145,7 +5323,7 @@ export namespace UpdateTrustRequest { export interface UpdateTrustResult { /** - *

          The AWS request identifier.

          + *

          The Amazon Web Services request identifier.

          */ RequestId?: string; @@ -5165,7 +5343,8 @@ export namespace UpdateTrustResult { } /** - *

          Initiates the verification of an existing trust relationship between an AWS Managed Microsoft AD directory and an external domain.

          + *

          Initiates the verification of an existing trust relationship between an Managed Microsoft AD + * directory and an external domain.

          */ export interface VerifyTrustRequest { /** diff --git a/clients/client-directory-service/protocols/Aws_json1_1.ts b/clients/client-directory-service/protocols/Aws_json1_1.ts index b5c177ce7b14..84156dc90a14 100644 --- a/clients/client-directory-service/protocols/Aws_json1_1.ts +++ b/clients/client-directory-service/protocols/Aws_json1_1.ts @@ -47,6 +47,10 @@ import { DescribeCertificateCommandInput, DescribeCertificateCommandOutput, } from "../commands/DescribeCertificateCommand"; +import { + DescribeClientAuthenticationSettingsCommandInput, + DescribeClientAuthenticationSettingsCommandOutput, +} from "../commands/DescribeClientAuthenticationSettingsCommand"; import { DescribeConditionalForwardersCommandInput, DescribeConditionalForwardersCommandOutput, @@ -161,6 +165,7 @@ import { CertificateInUseException, CertificateInfo, CertificateLimitExceededException, + ClientAuthenticationSettingInfo, ClientCertAuthSettings, ClientException, Computer, @@ -199,6 +204,8 @@ import { DeregisterEventTopicResult, DescribeCertificateRequest, DescribeCertificateResult, + DescribeClientAuthenticationSettingsRequest, + DescribeClientAuthenticationSettingsResult, DescribeConditionalForwardersRequest, DescribeConditionalForwardersResult, DescribeDirectoriesRequest, @@ -632,6 +639,19 @@ export const serializeAws_json1_1DescribeCertificateCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1DescribeClientAuthenticationSettingsCommand = async ( + input: DescribeClientAuthenticationSettingsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-amz-json-1.1", + "x-amz-target": "DirectoryService_20150416.DescribeClientAuthenticationSettings", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1DescribeClientAuthenticationSettingsRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1DescribeConditionalForwardersCommand = async ( input: DescribeConditionalForwardersCommandInput, context: __SerdeContext @@ -3124,6 +3144,100 @@ const deserializeAws_json1_1DescribeCertificateCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1DescribeClientAuthenticationSettingsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DescribeClientAuthenticationSettingsCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1DescribeClientAuthenticationSettingsResult(data, context); + const response: DescribeClientAuthenticationSettingsCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DescribeClientAuthenticationSettingsCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.directoryservice#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ClientException": + case "com.amazonaws.directoryservice#ClientException": + response = { + ...(await deserializeAws_json1_1ClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "DirectoryDoesNotExistException": + case "com.amazonaws.directoryservice#DirectoryDoesNotExistException": + response = { + ...(await deserializeAws_json1_1DirectoryDoesNotExistExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterException": + case "com.amazonaws.directoryservice#InvalidParameterException": + response = { + ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceException": + case "com.amazonaws.directoryservice#ServiceException": + response = { + ...(await deserializeAws_json1_1ServiceExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnsupportedOperationException": + case "com.amazonaws.directoryservice#UnsupportedOperationException": + response = { + ...(await deserializeAws_json1_1UnsupportedOperationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + export const deserializeAws_json1_1DescribeConditionalForwardersCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -7497,6 +7611,18 @@ const serializeAws_json1_1DescribeCertificateRequest = ( }; }; +const serializeAws_json1_1DescribeClientAuthenticationSettingsRequest = ( + input: DescribeClientAuthenticationSettingsRequest, + context: __SerdeContext +): any => { + return { + ...(input.DirectoryId !== undefined && input.DirectoryId !== null && { DirectoryId: input.DirectoryId }), + ...(input.Limit !== undefined && input.Limit !== null && { Limit: input.Limit }), + ...(input.NextToken !== undefined && input.NextToken !== null && { NextToken: input.NextToken }), + ...(input.Type !== undefined && input.Type !== null && { Type: input.Type }), + }; +}; + const serializeAws_json1_1DescribeConditionalForwardersRequest = ( input: DescribeConditionalForwardersRequest, context: __SerdeContext @@ -8278,6 +8404,34 @@ const deserializeAws_json1_1CertificatesInfo = (output: any, context: __SerdeCon }); }; +const deserializeAws_json1_1ClientAuthenticationSettingInfo = ( + output: any, + context: __SerdeContext +): ClientAuthenticationSettingInfo => { + return { + LastUpdatedDateTime: + output.LastUpdatedDateTime !== undefined && output.LastUpdatedDateTime !== null + ? new Date(Math.round(output.LastUpdatedDateTime * 1000)) + : undefined, + Status: __expectString(output.Status), + Type: __expectString(output.Type), + } as any; +}; + +const deserializeAws_json1_1ClientAuthenticationSettingsInfo = ( + output: any, + context: __SerdeContext +): ClientAuthenticationSettingInfo[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_json1_1ClientAuthenticationSettingInfo(entry, context); + }); +}; + const deserializeAws_json1_1ClientCertAuthSettings = (output: any, context: __SerdeContext): ClientCertAuthSettings => { return { OCSPUrl: __expectString(output.OCSPUrl), @@ -8445,6 +8599,19 @@ const deserializeAws_json1_1DescribeCertificateResult = ( } as any; }; +const deserializeAws_json1_1DescribeClientAuthenticationSettingsResult = ( + output: any, + context: __SerdeContext +): DescribeClientAuthenticationSettingsResult => { + return { + ClientAuthenticationSettingsInfo: + output.ClientAuthenticationSettingsInfo !== undefined && output.ClientAuthenticationSettingsInfo !== null + ? deserializeAws_json1_1ClientAuthenticationSettingsInfo(output.ClientAuthenticationSettingsInfo, context) + : undefined, + NextToken: __expectString(output.NextToken), + } as any; +}; + const deserializeAws_json1_1DescribeConditionalForwardersResult = ( output: any, context: __SerdeContext diff --git a/clients/client-ec2/EC2.ts b/clients/client-ec2/EC2.ts index 41c82e12900c..4a5f1184f628 100644 --- a/clients/client-ec2/EC2.ts +++ b/clients/client-ec2/EC2.ts @@ -4674,15 +4674,15 @@ export class EC2 extends EC2Client { } /** - *

          Creates a 2048-bit RSA key pair with the specified name. Amazon EC2 stores the public + *

          Creates an ED25519 or 2048-bit RSA key pair with the specified name. Amazon EC2 stores the public * key and displays the private key for you to save to a file. The private key is returned * as an unencrypted PEM encoded PKCS#1 private key. If a key with the specified name * already exists, Amazon EC2 returns an error.

          - *

          You can have up to five thousand key pairs per Region.

          - *

          The key pair returned to you is available only in the Region in which you create it. + *

          The key pair returned to you is available only in the Amazon Web Services Region in which you create it. * If you prefer, you can create your own key pair using a third-party tool and upload it * to any Region using ImportKeyPair.

          - *

          For more information, see Key Pairs in the + *

          You can have up to 5,000 key pairs per Amazon Web Services Region.

          + *

          For more information, see Amazon EC2 key pairs in the * Amazon Elastic Compute Cloud User Guide.

          */ public createKeyPair( @@ -5348,9 +5348,9 @@ export class EC2 extends EC2Client { *

          Creates a security group.

          *

          A security group acts as a virtual firewall for your instance to control inbound and outbound traffic. * For more information, see - * Amazon EC2 Security Groups in + * Amazon EC2 security groups in * the Amazon Elastic Compute Cloud User Guide and - * Security Groups for Your VPC in the + * Security groups for your VPC in the * Amazon Virtual Private Cloud User Guide.

          *

          When you create a security group, you specify a friendly name of your choice. You can have a security group for use in EC2-Classic with the same name as a security group for use in a VPC. However, you can't have two security groups for use in EC2-Classic with the same name or two security groups for use in a VPC with the same name.

          *

          You have a default security group for use in EC2-Classic and a default security group for use in your VPC. If you don't specify a security group when you launch an instance, the instance is launched into the appropriate default security group. A default security group includes a default rule that grants instances unrestricted network access to each other.

          @@ -10382,7 +10382,7 @@ export class EC2 extends EC2Client { /** *

          Describes the specified key pairs or all of your key pairs.

          - *

          For more information about key pairs, see Key Pairs + *

          For more information about key pairs, see Amazon EC2 key pairs * in the Amazon Elastic Compute Cloud User Guide.

          */ public describeKeyPairs( @@ -11504,9 +11504,9 @@ export class EC2 extends EC2Client { *

          Describes the specified security groups or all of your security groups.

          *

          A security group is for use with instances either in the EC2-Classic platform * or in a specific VPC. For more information, see - * Amazon EC2 Security Groups in + * Amazon EC2 security groups in * the Amazon Elastic Compute Cloud User Guide and - * Security Groups for Your VPC in the + * Security groups for your VPC in the * Amazon Virtual Private Cloud User Guide.

          */ public describeSecurityGroups( @@ -15221,7 +15221,7 @@ export class EC2 extends EC2Client { *

          Creates an import instance task using metadata from the specified disk image.

          *

          This API action supports only single-volume VMs. To import multi-volume VMs, use ImportImage * instead.

          - *

          This API action is not supported by the AWS Command Line Interface (AWS CLI). For + *

          This API action is not supported by the Command Line Interface (CLI). For * information about using the Amazon EC2 CLI, which is deprecated, see * Importing a VM to Amazon EC2 in the Amazon EC2 CLI Reference PDF file.

          *

          For information about the import manifest referenced by this API action, see VM Import Manifest.

          @@ -15256,11 +15256,11 @@ export class EC2 extends EC2Client { } /** - *

          Imports the public key from an RSA key pair that you created with a third-party tool. + *

          Imports the public key from an RSA or ED25519 key pair that you created with a third-party tool. * Compare this with CreateKeyPair, in which Amazon Web Services creates the key pair and gives the keys to you * (Amazon Web Services keeps a copy of the public key). With ImportKeyPair, you create the key pair and give Amazon Web Services just the public key. * The private key is never transferred between you and Amazon Web Services.

          - *

          For more information about key pairs, see Key Pairs + *

          For more information about key pairs, see Amazon EC2 key pairs * in the Amazon Elastic Compute Cloud User Guide.

          */ public importKeyPair( @@ -15331,7 +15331,7 @@ export class EC2 extends EC2Client { *

          This API action supports only single-volume VMs. To import multi-volume VMs, use * ImportImage instead. To import a disk to a snapshot, use * ImportSnapshot instead.

          - *

          This API action is not supported by the AWS Command Line Interface (AWS CLI). For + *

          This API action is not supported by the Command Line Interface (CLI). For * information about using the Amazon EC2 CLI, which is deprecated, see Importing Disks to Amazon EBS in the Amazon EC2 CLI Reference PDF file.

          *

          For information about the import manifest referenced by this API action, see VM Import Manifest.

          */ diff --git a/clients/client-ec2/commands/CreateKeyPairCommand.ts b/clients/client-ec2/commands/CreateKeyPairCommand.ts index cb7f54983de6..2b22fa9bb2cc 100644 --- a/clients/client-ec2/commands/CreateKeyPairCommand.ts +++ b/clients/client-ec2/commands/CreateKeyPairCommand.ts @@ -18,15 +18,15 @@ export interface CreateKeyPairCommandInput extends CreateKeyPairRequest {} export interface CreateKeyPairCommandOutput extends KeyPair, __MetadataBearer {} /** - *

          Creates a 2048-bit RSA key pair with the specified name. Amazon EC2 stores the public + *

          Creates an ED25519 or 2048-bit RSA key pair with the specified name. Amazon EC2 stores the public * key and displays the private key for you to save to a file. The private key is returned * as an unencrypted PEM encoded PKCS#1 private key. If a key with the specified name * already exists, Amazon EC2 returns an error.

          - *

          You can have up to five thousand key pairs per Region.

          - *

          The key pair returned to you is available only in the Region in which you create it. + *

          The key pair returned to you is available only in the Amazon Web Services Region in which you create it. * If you prefer, you can create your own key pair using a third-party tool and upload it * to any Region using ImportKeyPair.

          - *

          For more information, see Key Pairs in the + *

          You can have up to 5,000 key pairs per Amazon Web Services Region.

          + *

          For more information, see Amazon EC2 key pairs in the * Amazon Elastic Compute Cloud User Guide.

          * @example * Use a bare-bones client and the command you need to make an API call. diff --git a/clients/client-ec2/commands/CreateSecurityGroupCommand.ts b/clients/client-ec2/commands/CreateSecurityGroupCommand.ts index 3ac7d80eab7f..0b2ae7a0381d 100644 --- a/clients/client-ec2/commands/CreateSecurityGroupCommand.ts +++ b/clients/client-ec2/commands/CreateSecurityGroupCommand.ts @@ -24,9 +24,9 @@ export interface CreateSecurityGroupCommandOutput extends CreateSecurityGroupRes *

          Creates a security group.

          *

          A security group acts as a virtual firewall for your instance to control inbound and outbound traffic. * For more information, see - * Amazon EC2 Security Groups in + * Amazon EC2 security groups in * the Amazon Elastic Compute Cloud User Guide and - * Security Groups for Your VPC in the + * Security groups for your VPC in the * Amazon Virtual Private Cloud User Guide.

          *

          When you create a security group, you specify a friendly name of your choice. You can have a security group for use in EC2-Classic with the same name as a security group for use in a VPC. However, you can't have two security groups for use in EC2-Classic with the same name or two security groups for use in a VPC with the same name.

          *

          You have a default security group for use in EC2-Classic and a default security group for use in your VPC. If you don't specify a security group when you launch an instance, the instance is launched into the appropriate default security group. A default security group includes a default rule that grants instances unrestricted network access to each other.

          diff --git a/clients/client-ec2/commands/DeleteClientVpnEndpointCommand.ts b/clients/client-ec2/commands/DeleteClientVpnEndpointCommand.ts index ae390626dc6b..f3b1b2d57000 100644 --- a/clients/client-ec2/commands/DeleteClientVpnEndpointCommand.ts +++ b/clients/client-ec2/commands/DeleteClientVpnEndpointCommand.ts @@ -1,6 +1,5 @@ import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { DeleteClientVpnEndpointRequest } from "../models/models_1"; -import { DeleteClientVpnEndpointResult } from "../models/models_2"; +import { DeleteClientVpnEndpointRequest, DeleteClientVpnEndpointResult } from "../models/models_2"; import { deserializeAws_ec2DeleteClientVpnEndpointCommand, serializeAws_ec2DeleteClientVpnEndpointCommand, diff --git a/clients/client-ec2/commands/DescribeInstanceEventNotificationAttributesCommand.ts b/clients/client-ec2/commands/DescribeInstanceEventNotificationAttributesCommand.ts index 8052c2e9149f..e4a783cdc4d7 100644 --- a/clients/client-ec2/commands/DescribeInstanceEventNotificationAttributesCommand.ts +++ b/clients/client-ec2/commands/DescribeInstanceEventNotificationAttributesCommand.ts @@ -1,8 +1,6 @@ import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { - DescribeInstanceEventNotificationAttributesRequest, - DescribeInstanceEventNotificationAttributesResult, -} from "../models/models_2"; +import { DescribeInstanceEventNotificationAttributesRequest } from "../models/models_2"; +import { DescribeInstanceEventNotificationAttributesResult } from "../models/models_3"; import { deserializeAws_ec2DescribeInstanceEventNotificationAttributesCommand, serializeAws_ec2DescribeInstanceEventNotificationAttributesCommand, diff --git a/clients/client-ec2/commands/DescribeKeyPairsCommand.ts b/clients/client-ec2/commands/DescribeKeyPairsCommand.ts index 5948bbe2319f..4f336525adcb 100644 --- a/clients/client-ec2/commands/DescribeKeyPairsCommand.ts +++ b/clients/client-ec2/commands/DescribeKeyPairsCommand.ts @@ -22,7 +22,7 @@ export interface DescribeKeyPairsCommandOutput extends DescribeKeyPairsResult, _ /** *

          Describes the specified key pairs or all of your key pairs.

          - *

          For more information about key pairs, see Key Pairs + *

          For more information about key pairs, see Amazon EC2 key pairs * in the Amazon Elastic Compute Cloud User Guide.

          * @example * Use a bare-bones client and the command you need to make an API call. diff --git a/clients/client-ec2/commands/DescribeSecurityGroupsCommand.ts b/clients/client-ec2/commands/DescribeSecurityGroupsCommand.ts index 4d39b0255bbf..fa680e3ff840 100644 --- a/clients/client-ec2/commands/DescribeSecurityGroupsCommand.ts +++ b/clients/client-ec2/commands/DescribeSecurityGroupsCommand.ts @@ -24,9 +24,9 @@ export interface DescribeSecurityGroupsCommandOutput extends DescribeSecurityGro *

          Describes the specified security groups or all of your security groups.

          *

          A security group is for use with instances either in the EC2-Classic platform * or in a specific VPC. For more information, see - * Amazon EC2 Security Groups in + * Amazon EC2 security groups in * the Amazon Elastic Compute Cloud User Guide and - * Security Groups for Your VPC in the + * Security groups for your VPC in the * Amazon Virtual Private Cloud User Guide.

          * @example * Use a bare-bones client and the command you need to make an API call. diff --git a/clients/client-ec2/commands/DescribeVpcAttributeCommand.ts b/clients/client-ec2/commands/DescribeVpcAttributeCommand.ts index ed5d2db9dcfe..ad6c41314c61 100644 --- a/clients/client-ec2/commands/DescribeVpcAttributeCommand.ts +++ b/clients/client-ec2/commands/DescribeVpcAttributeCommand.ts @@ -1,6 +1,5 @@ import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { DescribeVpcAttributeRequest } from "../models/models_3"; -import { DescribeVpcAttributeResult } from "../models/models_4"; +import { DescribeVpcAttributeRequest, DescribeVpcAttributeResult } from "../models/models_4"; import { deserializeAws_ec2DescribeVpcAttributeCommand, serializeAws_ec2DescribeVpcAttributeCommand, diff --git a/clients/client-ec2/commands/ImportInstanceCommand.ts b/clients/client-ec2/commands/ImportInstanceCommand.ts index 6a470c6b6b1b..c7ab2aa12dba 100644 --- a/clients/client-ec2/commands/ImportInstanceCommand.ts +++ b/clients/client-ec2/commands/ImportInstanceCommand.ts @@ -21,7 +21,7 @@ export interface ImportInstanceCommandOutput extends ImportInstanceResult, __Met *

          Creates an import instance task using metadata from the specified disk image.

          *

          This API action supports only single-volume VMs. To import multi-volume VMs, use ImportImage * instead.

          - *

          This API action is not supported by the AWS Command Line Interface (AWS CLI). For + *

          This API action is not supported by the Command Line Interface (CLI). For * information about using the Amazon EC2 CLI, which is deprecated, see * Importing a VM to Amazon EC2 in the Amazon EC2 CLI Reference PDF file.

          *

          For information about the import manifest referenced by this API action, see VM Import Manifest.

          diff --git a/clients/client-ec2/commands/ImportKeyPairCommand.ts b/clients/client-ec2/commands/ImportKeyPairCommand.ts index 6bb2569958b4..022996646062 100644 --- a/clients/client-ec2/commands/ImportKeyPairCommand.ts +++ b/clients/client-ec2/commands/ImportKeyPairCommand.ts @@ -18,11 +18,11 @@ export interface ImportKeyPairCommandInput extends ImportKeyPairRequest {} export interface ImportKeyPairCommandOutput extends ImportKeyPairResult, __MetadataBearer {} /** - *

          Imports the public key from an RSA key pair that you created with a third-party tool. + *

          Imports the public key from an RSA or ED25519 key pair that you created with a third-party tool. * Compare this with CreateKeyPair, in which Amazon Web Services creates the key pair and gives the keys to you * (Amazon Web Services keeps a copy of the public key). With ImportKeyPair, you create the key pair and give Amazon Web Services just the public key. * The private key is never transferred between you and Amazon Web Services.

          - *

          For more information about key pairs, see Key Pairs + *

          For more information about key pairs, see Amazon EC2 key pairs * in the Amazon Elastic Compute Cloud User Guide.

          * @example * Use a bare-bones client and the command you need to make an API call. diff --git a/clients/client-ec2/commands/ImportVolumeCommand.ts b/clients/client-ec2/commands/ImportVolumeCommand.ts index a34d448739e5..21c1730c02de 100644 --- a/clients/client-ec2/commands/ImportVolumeCommand.ts +++ b/clients/client-ec2/commands/ImportVolumeCommand.ts @@ -22,7 +22,7 @@ export interface ImportVolumeCommandOutput extends ImportVolumeResult, __Metadat *

          This API action supports only single-volume VMs. To import multi-volume VMs, use * ImportImage instead. To import a disk to a snapshot, use * ImportSnapshot instead.

          - *

          This API action is not supported by the AWS Command Line Interface (AWS CLI). For + *

          This API action is not supported by the Command Line Interface (CLI). For * information about using the Amazon EC2 CLI, which is deprecated, see Importing Disks to Amazon EBS in the Amazon EC2 CLI Reference PDF file.

          *

          For information about the import manifest referenced by this API action, see VM Import Manifest.

          * @example diff --git a/clients/client-ec2/commands/ModifyVpcPeeringConnectionOptionsCommand.ts b/clients/client-ec2/commands/ModifyVpcPeeringConnectionOptionsCommand.ts index 9b5b034ec803..dc991b3aa2d5 100644 --- a/clients/client-ec2/commands/ModifyVpcPeeringConnectionOptionsCommand.ts +++ b/clients/client-ec2/commands/ModifyVpcPeeringConnectionOptionsCommand.ts @@ -1,5 +1,6 @@ import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { ModifyVpcPeeringConnectionOptionsRequest, ModifyVpcPeeringConnectionOptionsResult } from "../models/models_4"; +import { ModifyVpcPeeringConnectionOptionsRequest } from "../models/models_4"; +import { ModifyVpcPeeringConnectionOptionsResult } from "../models/models_5"; import { deserializeAws_ec2ModifyVpcPeeringConnectionOptionsCommand, serializeAws_ec2ModifyVpcPeeringConnectionOptionsCommand, diff --git a/clients/client-ec2/models/models_0.ts b/clients/client-ec2/models/models_0.ts index 8aef5ac48a1d..f679dff43a04 100644 --- a/clients/client-ec2/models/models_0.ts +++ b/clients/client-ec2/models/models_0.ts @@ -8513,8 +8513,7 @@ export interface ExportToS3TaskSpecification { /** *

          The Amazon S3 bucket for the destination image. The destination bucket must exist and grant - * WRITE and READ_ACP permissions to the AWS account - * vm-import-export@amazon.com.

          + * WRITE and READ_ACP permissions to the Amazon Web Services account vm-import-export@amazon.com.

          */ S3Bucket?: string; @@ -8589,8 +8588,7 @@ export interface ExportToS3Task { /** *

          The Amazon S3 bucket for the destination image. The destination bucket must exist and grant - * WRITE and READ_ACP permissions to the AWS account - * vm-import-export@amazon.com.

          + * WRITE and READ_ACP permissions to the Amazon Web Services account vm-import-export@amazon.com.

          */ S3Bucket?: string; diff --git a/clients/client-ec2/models/models_1.ts b/clients/client-ec2/models/models_1.ts index be1781a2fe11..67602aa740d9 100644 --- a/clients/client-ec2/models/models_1.ts +++ b/clients/client-ec2/models/models_1.ts @@ -79,6 +79,11 @@ export namespace CreateInternetGatewayResult { }); } +export enum KeyType { + ed25519 = "ed25519", + rsa = "rsa", +} + export interface CreateKeyPairRequest { /** *

          A unique name for the key pair.

          @@ -93,6 +98,13 @@ export interface CreateKeyPairRequest { */ DryRun?: boolean; + /** + *

          The type of key pair. Note that ED25519 keys are not supported for Windows instances, EC2 Instance Connect, and EC2 Serial Console.

          + *

          Default: rsa + *

          + */ + KeyType?: KeyType | string; + /** *

          The tags to apply to the new key pair.

          */ @@ -118,7 +130,7 @@ export interface KeyPair { KeyFingerprint?: string; /** - *

          An unencrypted PEM encoded RSA private key.

          + *

          An unencrypted PEM encoded RSA or ED25519 private key.

          */ KeyMaterial?: string; @@ -9663,24 +9675,3 @@ export namespace DeleteCarrierGatewayResult { ...obj, }); } - -export interface DeleteClientVpnEndpointRequest { - /** - *

          The ID of the Client VPN to be deleted.

          - */ - ClientVpnEndpointId: string | undefined; - - /** - *

          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?: boolean; -} - -export namespace DeleteClientVpnEndpointRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: DeleteClientVpnEndpointRequest): any => ({ - ...obj, - }); -} diff --git a/clients/client-ec2/models/models_2.ts b/clients/client-ec2/models/models_2.ts index b9ab6ed054d6..bf6b6026e760 100644 --- a/clients/client-ec2/models/models_2.ts +++ b/clients/client-ec2/models/models_2.ts @@ -67,6 +67,27 @@ import { TransitGatewayRouteTable, } from "./models_1"; +export interface DeleteClientVpnEndpointRequest { + /** + *

          The ID of the Client VPN to be deleted.

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

          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?: boolean; +} + +export namespace DeleteClientVpnEndpointRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DeleteClientVpnEndpointRequest): any => ({ + ...obj, + }); +} + export interface DeleteClientVpnEndpointResult { /** *

          The current state of the Client VPN endpoint.

          @@ -8894,8 +8915,7 @@ export interface ImportImageTask { ImportTaskId?: string; /** - *

          The identifier for the AWS Key Management Service (AWS KMS) customer master key (CMK) that was used to create - * the encrypted image.

          + *

          The identifier for the KMS key that was used to create the encrypted image.

          */ KmsKeyId?: string; @@ -8938,6 +8958,11 @@ export interface ImportImageTask { *

          The ARNs of the license configurations that are associated with the import image task.

          */ LicenseSpecifications?: ImportImageLicenseConfigurationResponse[]; + + /** + *

          The usage operation value.

          + */ + UsageOperation?: string; } export namespace ImportImageTask { @@ -9036,8 +9061,7 @@ export interface SnapshotTaskDetail { Format?: string; /** - *

          The identifier for the AWS Key Management Service (AWS KMS) customer master key (CMK) that was used to create - * the encrypted snapshot.

          + *

          The identifier for the KMS key that was used to create the encrypted snapshot.

          */ KmsKeyId?: string; @@ -9499,19 +9523,3 @@ export namespace DescribeInstanceEventNotificationAttributesRequest { ...obj, }); } - -export interface DescribeInstanceEventNotificationAttributesResult { - /** - *

          Information about the registered tag keys.

          - */ - InstanceTagAttribute?: InstanceTagNotificationAttribute; -} - -export namespace DescribeInstanceEventNotificationAttributesResult { - /** - * @internal - */ - export const filterSensitiveLog = (obj: DescribeInstanceEventNotificationAttributesResult): any => ({ - ...obj, - }); -} diff --git a/clients/client-ec2/models/models_3.ts b/clients/client-ec2/models/models_3.ts index ef0575405f6d..71f60c81a64a 100644 --- a/clients/client-ec2/models/models_3.ts +++ b/clients/client-ec2/models/models_3.ts @@ -42,6 +42,7 @@ import { InternetGateway, Ipv4PrefixSpecificationRequest, Ipv6PrefixSpecificationRequest, + KeyType, LaunchTemplate, LaunchTemplateVersion, LocalGatewayRouteTableVpcAssociation, @@ -83,12 +84,29 @@ import { HypervisorType, IdFormat, InstanceBlockDeviceMapping, + InstanceTagNotificationAttribute, PermissionGroup, ProductCode, StateReason, VirtualizationType, } from "./models_2"; +export interface DescribeInstanceEventNotificationAttributesResult { + /** + *

          Information about the registered tag keys.

          + */ + InstanceTagAttribute?: InstanceTagNotificationAttribute; +} + +export namespace DescribeInstanceEventNotificationAttributesResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeInstanceEventNotificationAttributesResult): any => ({ + ...obj, + }); +} + /** * Describe instance event windows by InstanceEventWindow. */ @@ -3351,8 +3369,27 @@ export interface KeyPairInfo { KeyPairId?: string; /** - *

          If you used CreateKeyPair to create the key pair, this is the SHA-1 digest of the DER encoded private key. - * If you used ImportKeyPair to provide Amazon Web Services the public key, this is the MD5 public key fingerprint as specified in section 4 of RFC4716.

          + *

          If you used CreateKeyPair to create the key pair:

          + *
            + *
          • + *

            For RSA key pairs, the key fingerprint is the SHA-1 digest of the DER encoded private key. + *

            + *
          • + *
          • + *

            For ED25519 key pairs, the key fingerprint is the base64-encoded SHA-256 digest, which + * is the default for OpenSSH, starting with OpenSSH 6.8.

            + *
          • + *
          + *

          If you used ImportKeyPair to provide Amazon Web Services the public key:

          + *
            + *
          • + *

            For RSA key pairs, the key fingerprint is the MD5 public key fingerprint as specified in section 4 of RFC4716.

            + *
          • + *
          • + *

            For ED25519 key pairs, the key fingerprint is the base64-encoded SHA-256 + * digest, which is the default for OpenSSH, starting with OpenSSH 6.8.

            + *
          • + *
          */ KeyFingerprint?: string; @@ -3361,6 +3398,11 @@ export interface KeyPairInfo { */ KeyName?: string; + /** + *

          The type of key pair.

          + */ + KeyType?: KeyType | string; + /** *

          Any tags applied to the key pair.

          */ @@ -13013,31 +13055,3 @@ export namespace DescribeVolumeStatusResult { } export type VpcAttributeName = "enableDnsHostnames" | "enableDnsSupport"; - -export interface DescribeVpcAttributeRequest { - /** - *

          The VPC attribute.

          - */ - Attribute: VpcAttributeName | string | undefined; - - /** - *

          The ID of the VPC.

          - */ - VpcId: string | undefined; - - /** - *

          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?: boolean; -} - -export namespace DescribeVpcAttributeRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: DescribeVpcAttributeRequest): any => ({ - ...obj, - }); -} diff --git a/clients/client-ec2/models/models_4.ts b/clients/client-ec2/models/models_4.ts index 73dadc36575b..879ea2910877 100644 --- a/clients/client-ec2/models/models_4.ts +++ b/clients/client-ec2/models/models_4.ts @@ -102,9 +102,38 @@ import { ReservedInstancesConfiguration, SnapshotAttributeName, VolumeModification, + VpcAttributeName, } from "./models_3"; import { SENSITIVE_STRING } from "@aws-sdk/smithy-client"; +export interface DescribeVpcAttributeRequest { + /** + *

          The VPC attribute.

          + */ + Attribute: VpcAttributeName | string | undefined; + + /** + *

          The ID of the VPC.

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

          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?: boolean; +} + +export namespace DescribeVpcAttributeRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeVpcAttributeRequest): any => ({ + ...obj, + }); +} + export interface DescribeVpcAttributeResult { /** *

          The ID of the VPC.

          @@ -3229,7 +3258,7 @@ export interface ExportImageRequest { /** *

          Information about the destination Amazon S3 bucket. The bucket must exist and grant WRITE - * and READ_ACP permissions to the AWS account vm-import-export@amazon.com.

          + * and READ_ACP permissions to the Amazon Web Services account vm-import-export@amazon.com.

          */ S3ExportLocation: ExportTaskS3LocationRequest | undefined; @@ -5647,8 +5676,8 @@ export interface ImportImageRequest { DryRun?: boolean; /** - *

          Specifies whether the destination AMI of the imported image should be encrypted. The default CMK for EBS is used - * unless you specify a non-default AWS Key Management Service (AWS KMS) CMK using KmsKeyId. For more information, see Amazon EBS Encryption in the + *

          Specifies whether the destination AMI of the imported image should be encrypted. The default KMS key for EBS is used + * unless you specify a non-default KMS key using KmsKeyId. For more information, see Amazon EBS Encryption in the * Amazon Elastic Compute Cloud User Guide.

          */ Encrypted?: boolean; @@ -5661,39 +5690,39 @@ export interface ImportImageRequest { Hypervisor?: string; /** - *

          An identifier for the symmetric AWS Key Management Service (AWS KMS) customer master key (CMK) to use when creating the - * encrypted AMI. This parameter is only required if you want to use a non-default CMK; if this - * parameter is not specified, the default CMK for EBS is used. If a KmsKeyId is + *

          An identifier for the symmetric KMS key to use when creating the + * encrypted AMI. This parameter is only required if you want to use a non-default KMS key; if this + * parameter is not specified, the default KMS key for EBS is used. If a KmsKeyId is * specified, the Encrypted flag must also be set.

          - *

          The CMK identifier may be provided in any of the following formats:

          + *

          The KMS key identifier may be provided in any of the following formats:

          *
            *
          • *

            Key ID

            *
          • *
          • - *

            Key alias. The alias ARN contains the arn:aws:kms namespace, followed by the Region of the CMK, the AWS account ID of the CMK owner, the alias namespace, and then the CMK alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

            + *

            Key alias. The alias ARN contains the arn:aws:kms namespace, followed by the Region of the key, the Amazon Web Services account ID of the key owner, the alias namespace, and then the key alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

            *
          • *
          • - *

            ARN using key ID. The ID ARN contains the arn:aws:kms namespace, followed by the Region of the CMK, the AWS account ID of the CMK owner, the key namespace, and then the CMK ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.

            + *

            ARN using key ID. The ID ARN contains the arn:aws:kms namespace, followed by the Region of the key, the Amazon Web Services account ID of the key owner, the key namespace, and then the key ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.

            *
          • *
          • - *

            ARN using key alias. The alias ARN contains the arn:aws:kms namespace, followed by the Region of the CMK, the AWS account ID of the CMK owner, the alias namespace, and then the CMK alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

            + *

            ARN using key alias. The alias ARN contains the arn:aws:kms namespace, followed by the Region of the key, the Amazon Web Services account ID of the key owner, the alias namespace, and then the key alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

            *
          • *
          - *

          AWS parses KmsKeyId asynchronously, meaning that the action you call may appear to complete even + *

          Amazon Web Services parses KmsKeyId asynchronously, meaning that the action you call may appear to complete even * though you provided an invalid identifier. This action will eventually report failure.

          - *

          The specified CMK must exist in the Region that the AMI is being copied to.

          - *

          Amazon EBS does not support asymmetric CMKs.

          + *

          The specified KMS key must exist in the Region that the AMI is being copied to.

          + *

          Amazon EBS does not support asymmetric KMS keys.

          */ KmsKeyId?: string; /** *

          The license type to be used for the Amazon Machine Image (AMI) after importing.

          *

          By default, we detect the source-system operating system (OS) and apply the appropriate license. Specify - * AWS to replace the source-system license with an AWS license, if appropriate. Specify BYOL + * AWS to replace the source-system license with an Amazon Web Services license, if appropriate. Specify BYOL * to retain the source-system license, if appropriate.

          *

          To use BYOL, you must have existing licenses with rights to use these licenses in a third party - * cloud, such as AWS. For more information, see Prerequisites in the + * cloud, such as Amazon Web Services. For more information, see Prerequisites in the * VM Import/Export User Guide.

          */ LicenseType?: string; @@ -5719,6 +5748,11 @@ export interface ImportImageRequest { *

          The tags to apply to the import image task during creation.

          */ TagSpecifications?: TagSpecification[]; + + /** + *

          The usage operation value. For more information, see AMI billing information fields in the Amazon Elastic Compute Cloud User Guide.

          + */ + UsageOperation?: string; } export namespace ImportImageRequest { @@ -5762,8 +5796,7 @@ export interface ImportImageResult { ImportTaskId?: string; /** - *

          The identifier for the symmetric AWS Key Management Service (AWS KMS) customer master key - * (CMK) that was used to create the encrypted AMI.

          + *

          The identifier for the symmetric KMS key that was used to create the encrypted AMI.

          */ KmsKeyId?: string; @@ -5806,6 +5839,11 @@ export interface ImportImageResult { *

          Any tags assigned to the import image task.

          */ Tags?: Tag[]; + + /** + *

          The usage operation value.

          + */ + UsageOperation?: string; } export namespace ImportImageResult { @@ -5903,7 +5941,7 @@ export namespace DiskImage { */ export interface UserData { /** - *

          The user data. If you are using an AWS SDK or command line tool, Base64-encoding is performed for you, and you + *

          The user data. If you are using an Amazon Web Services SDK or command line tool, Base64-encoding is performed for you, and you * can load the text from a file. Otherwise, you must provide Base64-encoded text.

          */ Data?: string; @@ -6177,36 +6215,36 @@ export interface ImportSnapshotRequest { DryRun?: boolean; /** - *

          Specifies whether the destination snapshot of the imported image should be encrypted. The default CMK for EBS is - * used unless you specify a non-default AWS Key Management Service (AWS KMS) CMK using KmsKeyId. For more information, see Amazon EBS Encryption in the + *

          Specifies whether the destination snapshot of the imported image should be encrypted. The default KMS key for EBS is + * used unless you specify a non-default KMS key using KmsKeyId. For more information, see Amazon EBS Encryption in the * Amazon Elastic Compute Cloud User Guide.

          */ Encrypted?: boolean; /** - *

          An identifier for the symmetric AWS Key Management Service (AWS KMS) customer master key (CMK) to use when creating the - * encrypted snapshot. This parameter is only required if you want to use a non-default CMK; if this - * parameter is not specified, the default CMK for EBS is used. If a KmsKeyId is + *

          An identifier for the symmetric KMS key to use when creating the + * encrypted snapshot. This parameter is only required if you want to use a non-default KMS key; if this + * parameter is not specified, the default KMS key for EBS is used. If a KmsKeyId is * specified, the Encrypted flag must also be set.

          - *

          The CMK identifier may be provided in any of the following formats:

          + *

          The KMS key identifier may be provided in any of the following formats:

          *
            *
          • *

            Key ID

            *
          • *
          • - *

            Key alias. The alias ARN contains the arn:aws:kms namespace, followed by the Region of the CMK, the AWS account ID of the CMK owner, the alias namespace, and then the CMK alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

            + *

            Key alias. The alias ARN contains the arn:aws:kms namespace, followed by the Region of the key, the Amazon Web Services account ID of the key owner, the alias namespace, and then the key alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

            *
          • *
          • - *

            ARN using key ID. The ID ARN contains the arn:aws:kms namespace, followed by the Region of the CMK, the AWS account ID of the CMK owner, the key namespace, and then the CMK ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.

            + *

            ARN using key ID. The ID ARN contains the arn:aws:kms namespace, followed by the Region of the key, the Amazon Web Services account ID of the key owner, the key namespace, and then the key ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.

            *
          • *
          • - *

            ARN using key alias. The alias ARN contains the arn:aws:kms namespace, followed by the Region of the CMK, the AWS account ID of the CMK owner, the alias namespace, and then the CMK alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

            + *

            ARN using key alias. The alias ARN contains the arn:aws:kms namespace, followed by the Region of the key, the Amazon Web Services account ID of the key owner, the alias namespace, and then the key alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

            *
          • *
          - *

          AWS parses KmsKeyId asynchronously, meaning that the action you call may appear to complete even + *

          Amazon Web Services parses KmsKeyId asynchronously, meaning that the action you call may appear to complete even * though you provided an invalid identifier. This action will eventually report failure.

          - *

          The specified CMK must exist in the Region that the snapshot is being copied to.

          - *

          Amazon EBS does not support asymmetric CMKs.

          + *

          The specified KMS key must exist in the Region that the snapshot is being copied to.

          + *

          Amazon EBS does not support asymmetric KMS keys.

          */ KmsKeyId?: string; @@ -9467,24 +9505,3 @@ export namespace PeeringConnectionOptions { ...obj, }); } - -export interface ModifyVpcPeeringConnectionOptionsResult { - /** - *

          Information about the VPC peering connection options for the accepter VPC.

          - */ - AccepterPeeringConnectionOptions?: PeeringConnectionOptions; - - /** - *

          Information about the VPC peering connection options for the requester VPC.

          - */ - RequesterPeeringConnectionOptions?: PeeringConnectionOptions; -} - -export namespace ModifyVpcPeeringConnectionOptionsResult { - /** - * @internal - */ - export const filterSensitiveLog = (obj: ModifyVpcPeeringConnectionOptionsResult): any => ({ - ...obj, - }); -} diff --git a/clients/client-ec2/models/models_5.ts b/clients/client-ec2/models/models_5.ts index e68c5caa5daf..0b22e6a02e0e 100644 --- a/clients/client-ec2/models/models_5.ts +++ b/clients/client-ec2/models/models_5.ts @@ -63,7 +63,28 @@ import { SpotInstanceRequest, SpotPlacement, } from "./models_3"; -import { CapacityReservationSpecification, Purchase } from "./models_4"; +import { CapacityReservationSpecification, PeeringConnectionOptions, Purchase } from "./models_4"; + +export interface ModifyVpcPeeringConnectionOptionsResult { + /** + *

          Information about the VPC peering connection options for the accepter VPC.

          + */ + AccepterPeeringConnectionOptions?: PeeringConnectionOptions; + + /** + *

          Information about the VPC peering connection options for the requester VPC.

          + */ + RequesterPeeringConnectionOptions?: PeeringConnectionOptions; +} + +export namespace ModifyVpcPeeringConnectionOptionsResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ModifyVpcPeeringConnectionOptionsResult): any => ({ + ...obj, + }); +} export type VpcTenancy = "default"; diff --git a/clients/client-ec2/protocols/Aws_ec2.ts b/clients/client-ec2/protocols/Aws_ec2.ts index 728e4b6bccd3..46a811711dcd 100644 --- a/clients/client-ec2/protocols/Aws_ec2.ts +++ b/clients/client-ec2/protocols/Aws_ec2.ts @@ -1887,7 +1887,6 @@ import { CreditSpecificationRequest, DeleteCarrierGatewayRequest, DeleteCarrierGatewayResult, - DeleteClientVpnEndpointRequest, DnsEntry, ElasticGpuSpecification, ElasticGpuSpecificationResponse, @@ -2046,6 +2045,7 @@ import { CoipPool, ConnectionLogResponseOptions, ConversionTask, + DeleteClientVpnEndpointRequest, DeleteClientVpnEndpointResult, DeleteClientVpnRouteRequest, DeleteClientVpnRouteResult, @@ -2237,7 +2237,6 @@ import { DescribeInstanceCreditSpecificationsRequest, DescribeInstanceCreditSpecificationsResult, DescribeInstanceEventNotificationAttributesRequest, - DescribeInstanceEventNotificationAttributesResult, DirectoryServiceAuthentication, DiskImageDescription, DiskImageVolumeDescription, @@ -2313,6 +2312,7 @@ import { ClassicLoadBalancersConfig, CpuOptions, CreateVolumePermission, + DescribeInstanceEventNotificationAttributesResult, DescribeInstanceEventWindowsRequest, DescribeInstanceEventWindowsResult, DescribeInstanceStatusRequest, @@ -2451,7 +2451,6 @@ import { DescribeVolumesModificationsResult, DescribeVolumesRequest, DescribeVolumesResult, - DescribeVpcAttributeRequest, DiskInfo, EbsInfo, EbsOptimizedInfo, @@ -2573,6 +2572,7 @@ import { ClientData, CoipAddressUsage, CreateVolumePermissionModifications, + DescribeVpcAttributeRequest, DescribeVpcAttributeResult, DescribeVpcClassicLinkDnsSupportRequest, DescribeVpcClassicLinkDnsSupportResult, @@ -2823,7 +2823,6 @@ import { ModifyVpcEndpointServicePermissionsRequest, ModifyVpcEndpointServicePermissionsResult, ModifyVpcPeeringConnectionOptionsRequest, - ModifyVpcPeeringConnectionOptionsResult, NetworkInterfaceAttachmentChanges, PeeringConnectionOptions, PeeringConnectionOptionsRequest, @@ -2868,6 +2867,7 @@ import { InstanceStateChange, LaunchTemplateSpecification, LicenseConfigurationRequest, + ModifyVpcPeeringConnectionOptionsResult, ModifyVpcTenancyRequest, ModifyVpcTenancyResult, ModifyVpnConnectionOptionsRequest, @@ -33795,6 +33795,9 @@ const serializeAws_ec2CreateKeyPairRequest = (input: CreateKeyPairRequest, conte if (input.DryRun !== undefined && input.DryRun !== null) { entries["DryRun"] = input.DryRun; } + if (input.KeyType !== undefined && input.KeyType !== null) { + entries["KeyType"] = input.KeyType; + } if (input.TagSpecifications !== undefined && input.TagSpecifications !== null) { const memberEntries = serializeAws_ec2TagSpecificationList(input.TagSpecifications, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -41960,6 +41963,9 @@ const serializeAws_ec2ImportImageRequest = (input: ImportImageRequest, context: entries[loc] = value; }); } + if (input.UsageOperation !== undefined && input.UsageOperation !== null) { + entries["UsageOperation"] = input.UsageOperation; + } return entries; }; @@ -61115,6 +61121,7 @@ const deserializeAws_ec2ImportImageResult = (output: any, context: __SerdeContex StatusMessage: undefined, LicenseSpecifications: undefined, Tags: undefined, + UsageOperation: undefined, }; if (output["architecture"] !== undefined) { contents.Architecture = __expectString(output["architecture"]); @@ -61176,6 +61183,9 @@ const deserializeAws_ec2ImportImageResult = (output: any, context: __SerdeContex if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); } + if (output["usageOperation"] !== undefined) { + contents.UsageOperation = __expectString(output["usageOperation"]); + } return contents; }; @@ -61196,6 +61206,7 @@ const deserializeAws_ec2ImportImageTask = (output: any, context: __SerdeContext) StatusMessage: undefined, Tags: undefined, LicenseSpecifications: undefined, + UsageOperation: undefined, }; if (output["architecture"] !== undefined) { contents.Architecture = __expectString(output["architecture"]); @@ -61257,6 +61268,9 @@ const deserializeAws_ec2ImportImageTask = (output: any, context: __SerdeContext) context ); } + if (output["usageOperation"] !== undefined) { + contents.UsageOperation = __expectString(output["usageOperation"]); + } return contents; }; @@ -63604,6 +63618,7 @@ const deserializeAws_ec2KeyPairInfo = (output: any, context: __SerdeContext): Ke KeyPairId: undefined, KeyFingerprint: undefined, KeyName: undefined, + KeyType: undefined, Tags: undefined, }; if (output["keyPairId"] !== undefined) { @@ -63615,6 +63630,9 @@ const deserializeAws_ec2KeyPairInfo = (output: any, context: __SerdeContext): Ke if (output["keyName"] !== undefined) { contents.KeyName = __expectString(output["keyName"]); } + if (output["keyType"] !== undefined) { + contents.KeyType = __expectString(output["keyType"]); + } if (output.tagSet === "") { contents.Tags = []; } diff --git a/clients/client-iotsitewise/models/models_0.ts b/clients/client-iotsitewise/models/models_0.ts index 41aacb90a425..f30f75f2d467 100644 --- a/clients/client-iotsitewise/models/models_0.ts +++ b/clients/client-iotsitewise/models/models_0.ts @@ -766,12 +766,12 @@ export interface TumblingWindow { * and 1d for interval, IoT SiteWise aggregates data in one of the following ways:

          *
            *
          • - *

            If you create the metric before or at 6:00 p.m. (UTC), - * you get the first aggregation result at 6 p.m. (UTC) on the day when you create the metric.

            + *

            If you create the metric before or at 6:00 PM (UTC), + * you get the first aggregation result at 6 PM (UTC) on the day when you create the metric.

            *
          • *
          • - *

            If you create the metric after 6:00 p.m. (UTC), - * you get the first aggregation result at 6 p.m. (UTC) the next day.

            + *

            If you create the metric after 6:00 PM (UTC), + * you get the first aggregation result at 6 PM (UTC) the next day.

            *
          • *
          *
        • @@ -781,21 +781,21 @@ export interface TumblingWindow { * and 1d for interval, IoT SiteWise aggregates data in one of the following ways:

          *
            *
          • - *

            If you create the metric before or at 6:00 p.m. (UTC), - * you get the first aggregation result at 6 p.m. (UTC) on the day when you create the metric.

            + *

            If you create the metric before or at 6:00 PM (UTC), + * you get the first aggregation result at 6 PM (UTC) on the day when you create the metric.

            *
          • *
          • - *

            If you create the metric after 6:00 p.m. (UTC), - * you get the first aggregation result at 6 p.m. (UTC) the next day.

            + *

            If you create the metric after 6:00 PM (UTC), + * you get the first aggregation result at 6 PM (UTC) the next day.

            *
          • *
          * *
        • *

          The 24-hour clock.

          *

          For example, if you specify 00:03:00 for offset - * and 5m for interval, and you create the metric at 2 p.m. (UTC), - * you get the first aggregation result at 2:03 p.m. (UTC). - * You get the second aggregation result at 2:08 p.m. (UTC).

          + * and 5m for interval, and you create the metric at 2 PM (UTC), + * you get the first aggregation result at 2:03 PM (UTC). + * You get the second aggregation result at 2:08 PM (UTC).

          *
        • *
        • *

          The offset time zone.

          @@ -803,12 +803,12 @@ export interface TumblingWindow { * and 1d for interval, IoT SiteWise aggregates data in one of the following ways:

          *
            *
          • - *

            If you create the metric before or at 6:00 p.m. (PST), - * you get the first aggregation result at 6 p.m. (PST) on the day when you create the metric.

            + *

            If you create the metric before or at 6:00 PM (PST), + * you get the first aggregation result at 6 PM (PST) on the day when you create the metric.

            *
          • *
          • - *

            If you create the metric after 6:00 p.m. (PST), - * you get the first aggregation result at 6 p.m. (PST) the next day.

            + *

            If you create the metric after 6:00 PM (PST), + * you get the first aggregation result at 6 PM (PST) the next day.

            *
          • *
          *
        • @@ -4418,10 +4418,43 @@ export interface GetInterpolatedAssetPropertyValuesRequest { /** *

          The interpolation type.

          - *

          Valid values: LINEAR_INTERPOLATION + *

          Valid values: LINEAR_INTERPOLATION | LOCF_INTERPOLATION *

          + *

          For the LOCF_INTERPOLATION interpolation, if no data point is found for an interval, + * IoT SiteWise returns the same interpolated value calculated for the previous interval + * and carries forward this interpolated value until a new data point is found.

          + *

          For example, you can get the interpolated temperature values for a wind turbine every 24 hours over a duration of 7 days. + * If the LOCF_INTERPOLATION interpolation starts on July 1, 2021, at 9 AM, IoT SiteWise uses the data points from July 1, 2021, + * at 9 AM to July 2, 2021, at 9 AM to compute the first interpolated value. + * If no data points is found after 9 A.M. on July 2, 2021, IoT SiteWise uses the same interpolated value for the rest of the days.

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

          The query interval for the window in seconds. IoT SiteWise computes each interpolated value by using data points + * from the timestamp of each interval minus the window to the timestamp of each interval plus the window. + * If not specified, the window is between the start time minus the interval and the end time plus the interval.

          + * + *
            + *
          • + *

            If you specify a value for the intervalWindowInSeconds parameter, + * the type parameter must be LINEAR_INTERPOLATION.

            + *
          • + *
          • + *

            If no data point is found during the specified query window, + * IoT SiteWise won't return an interpolated value for the interval. + * This indicates that there's a gap in the ingested data points.

            + *
          • + *
          + *
          + *

          For example, you can get the interpolated temperature values for a wind turbine + * every 24 hours over a duration of 7 days. If the interpolation starts on July 1, 2021, + * at 9 AM with a window of 2 hours, IoT SiteWise uses the data points from 7 AM (9 AM - 2 hours) + * to 11 AM (9 AM + 2 hours) on July 2, 2021 to compute the first interpolated value, + * uses the data points from 7 AM (9 AM - 2 hours) to 11 AM (9 AM + 2 hours) on July 3, 2021 + * to compute the second interpolated value, and so on.

          + */ + intervalWindowInSeconds?: number; } export namespace GetInterpolatedAssetPropertyValuesRequest { diff --git a/clients/client-iotsitewise/protocols/Aws_restJson1.ts b/clients/client-iotsitewise/protocols/Aws_restJson1.ts index 6be9c3773af1..70f0df8e4d16 100644 --- a/clients/client-iotsitewise/protocols/Aws_restJson1.ts +++ b/clients/client-iotsitewise/protocols/Aws_restJson1.ts @@ -1554,6 +1554,9 @@ export const serializeAws_restJson1GetInterpolatedAssetPropertyValuesCommand = a ...(input.nextToken !== undefined && { nextToken: input.nextToken }), ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), ...(input.type !== undefined && { type: input.type }), + ...(input.intervalWindowInSeconds !== undefined && { + intervalWindowInSeconds: input.intervalWindowInSeconds.toString(), + }), }; let body: any; let { hostname: resolvedHostname } = await context.endpoint(); diff --git a/clients/client-license-manager/models/models_0.ts b/clients/client-license-manager/models/models_0.ts index 0cce91ca8e9f..e0400b29770c 100644 --- a/clients/client-license-manager/models/models_0.ts +++ b/clients/client-license-manager/models/models_0.ts @@ -532,6 +532,7 @@ export namespace UnsupportedDigitalSignatureMethodException { } export enum CheckoutType { + PERPETUAL = "PERPETUAL", PROVISIONAL = "PROVISIONAL", } diff --git a/clients/client-memorydb/.gitignore b/clients/client-memorydb/.gitignore new file mode 100644 index 000000000000..5f8b6ab5eab2 --- /dev/null +++ b/clients/client-memorydb/.gitignore @@ -0,0 +1,9 @@ +/node_modules/ +/build/ +/coverage/ +/docs/ +/dist/ +*.tsbuildinfo +*.tgz +*.log +package-lock.json diff --git a/clients/client-memorydb/.npmignore b/clients/client-memorydb/.npmignore new file mode 100644 index 000000000000..b7ff81137c4a --- /dev/null +++ b/clients/client-memorydb/.npmignore @@ -0,0 +1,4 @@ +/coverage/ +/docs/ +tsconfig.test.json +*.tsbuildinfo diff --git a/clients/client-memorydb/LICENSE b/clients/client-memorydb/LICENSE new file mode 100644 index 000000000000..f9e0c8672bca --- /dev/null +++ b/clients/client-memorydb/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2018-2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/clients/client-memorydb/MemoryDB.ts b/clients/client-memorydb/MemoryDB.ts new file mode 100644 index 000000000000..74e728e0e76a --- /dev/null +++ b/clients/client-memorydb/MemoryDB.ts @@ -0,0 +1,1245 @@ +import { MemoryDBClient } from "./MemoryDBClient"; +import { + BatchUpdateClusterCommand, + BatchUpdateClusterCommandInput, + BatchUpdateClusterCommandOutput, +} from "./commands/BatchUpdateClusterCommand"; +import { + CopySnapshotCommand, + CopySnapshotCommandInput, + CopySnapshotCommandOutput, +} from "./commands/CopySnapshotCommand"; +import { CreateACLCommand, CreateACLCommandInput, CreateACLCommandOutput } from "./commands/CreateACLCommand"; +import { + CreateClusterCommand, + CreateClusterCommandInput, + CreateClusterCommandOutput, +} from "./commands/CreateClusterCommand"; +import { + CreateParameterGroupCommand, + CreateParameterGroupCommandInput, + CreateParameterGroupCommandOutput, +} from "./commands/CreateParameterGroupCommand"; +import { + CreateSnapshotCommand, + CreateSnapshotCommandInput, + CreateSnapshotCommandOutput, +} from "./commands/CreateSnapshotCommand"; +import { + CreateSubnetGroupCommand, + CreateSubnetGroupCommandInput, + CreateSubnetGroupCommandOutput, +} from "./commands/CreateSubnetGroupCommand"; +import { CreateUserCommand, CreateUserCommandInput, CreateUserCommandOutput } from "./commands/CreateUserCommand"; +import { DeleteACLCommand, DeleteACLCommandInput, DeleteACLCommandOutput } from "./commands/DeleteACLCommand"; +import { + DeleteClusterCommand, + DeleteClusterCommandInput, + DeleteClusterCommandOutput, +} from "./commands/DeleteClusterCommand"; +import { + DeleteParameterGroupCommand, + DeleteParameterGroupCommandInput, + DeleteParameterGroupCommandOutput, +} from "./commands/DeleteParameterGroupCommand"; +import { + DeleteSnapshotCommand, + DeleteSnapshotCommandInput, + DeleteSnapshotCommandOutput, +} from "./commands/DeleteSnapshotCommand"; +import { + DeleteSubnetGroupCommand, + DeleteSubnetGroupCommandInput, + DeleteSubnetGroupCommandOutput, +} from "./commands/DeleteSubnetGroupCommand"; +import { DeleteUserCommand, DeleteUserCommandInput, DeleteUserCommandOutput } from "./commands/DeleteUserCommand"; +import { + DescribeACLsCommand, + DescribeACLsCommandInput, + DescribeACLsCommandOutput, +} from "./commands/DescribeACLsCommand"; +import { + DescribeClustersCommand, + DescribeClustersCommandInput, + DescribeClustersCommandOutput, +} from "./commands/DescribeClustersCommand"; +import { + DescribeEngineVersionsCommand, + DescribeEngineVersionsCommandInput, + DescribeEngineVersionsCommandOutput, +} from "./commands/DescribeEngineVersionsCommand"; +import { + DescribeEventsCommand, + DescribeEventsCommandInput, + DescribeEventsCommandOutput, +} from "./commands/DescribeEventsCommand"; +import { + DescribeParameterGroupsCommand, + DescribeParameterGroupsCommandInput, + DescribeParameterGroupsCommandOutput, +} from "./commands/DescribeParameterGroupsCommand"; +import { + DescribeParametersCommand, + DescribeParametersCommandInput, + DescribeParametersCommandOutput, +} from "./commands/DescribeParametersCommand"; +import { + DescribeServiceUpdatesCommand, + DescribeServiceUpdatesCommandInput, + DescribeServiceUpdatesCommandOutput, +} from "./commands/DescribeServiceUpdatesCommand"; +import { + DescribeSnapshotsCommand, + DescribeSnapshotsCommandInput, + DescribeSnapshotsCommandOutput, +} from "./commands/DescribeSnapshotsCommand"; +import { + DescribeSubnetGroupsCommand, + DescribeSubnetGroupsCommandInput, + DescribeSubnetGroupsCommandOutput, +} from "./commands/DescribeSubnetGroupsCommand"; +import { + DescribeUsersCommand, + DescribeUsersCommandInput, + DescribeUsersCommandOutput, +} from "./commands/DescribeUsersCommand"; +import { + FailoverShardCommand, + FailoverShardCommandInput, + FailoverShardCommandOutput, +} from "./commands/FailoverShardCommand"; +import { + ListAllowedNodeTypeUpdatesCommand, + ListAllowedNodeTypeUpdatesCommandInput, + ListAllowedNodeTypeUpdatesCommandOutput, +} from "./commands/ListAllowedNodeTypeUpdatesCommand"; +import { ListTagsCommand, ListTagsCommandInput, ListTagsCommandOutput } from "./commands/ListTagsCommand"; +import { + ResetParameterGroupCommand, + ResetParameterGroupCommandInput, + ResetParameterGroupCommandOutput, +} from "./commands/ResetParameterGroupCommand"; +import { TagResourceCommand, TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand"; +import { + UntagResourceCommand, + UntagResourceCommandInput, + UntagResourceCommandOutput, +} from "./commands/UntagResourceCommand"; +import { UpdateACLCommand, UpdateACLCommandInput, UpdateACLCommandOutput } from "./commands/UpdateACLCommand"; +import { + UpdateClusterCommand, + UpdateClusterCommandInput, + UpdateClusterCommandOutput, +} from "./commands/UpdateClusterCommand"; +import { + UpdateParameterGroupCommand, + UpdateParameterGroupCommandInput, + UpdateParameterGroupCommandOutput, +} from "./commands/UpdateParameterGroupCommand"; +import { + UpdateSubnetGroupCommand, + UpdateSubnetGroupCommandInput, + UpdateSubnetGroupCommandOutput, +} from "./commands/UpdateSubnetGroupCommand"; +import { UpdateUserCommand, UpdateUserCommandInput, UpdateUserCommandOutput } from "./commands/UpdateUserCommand"; +import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; + +/** + *

          Amazon MemoryDB for Redis is a fully managed, Redis-compatible, in-memory database that delivers ultra-fast performance and Multi-AZ durability for modern applications built using microservices architectures. + * + * MemoryDB stores the entire database in-memory, enabling low latency and high throughput data access. It is compatible with Redis, a popular open source data store, enabling you to leverage Redis’ flexible and friendly data structures, APIs, and commands.

          + */ +export class MemoryDB extends MemoryDBClient { + /** + *

          Apply the service update to a list of clusters supplied. For more information on service updates and applying them, see Applying the service updates.

          + */ + public batchUpdateCluster( + args: BatchUpdateClusterCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public batchUpdateCluster( + args: BatchUpdateClusterCommandInput, + cb: (err: any, data?: BatchUpdateClusterCommandOutput) => void + ): void; + public batchUpdateCluster( + args: BatchUpdateClusterCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: BatchUpdateClusterCommandOutput) => void + ): void; + public batchUpdateCluster( + args: BatchUpdateClusterCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: BatchUpdateClusterCommandOutput) => void), + cb?: (err: any, data?: BatchUpdateClusterCommandOutput) => void + ): Promise | void { + const command = new BatchUpdateClusterCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

          Makes a copy of an existing snapshot.

          + */ + public copySnapshot( + args: CopySnapshotCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public copySnapshot(args: CopySnapshotCommandInput, cb: (err: any, data?: CopySnapshotCommandOutput) => void): void; + public copySnapshot( + args: CopySnapshotCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CopySnapshotCommandOutput) => void + ): void; + public copySnapshot( + args: CopySnapshotCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CopySnapshotCommandOutput) => void), + cb?: (err: any, data?: CopySnapshotCommandOutput) => void + ): Promise | void { + const command = new CopySnapshotCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

          Creates an Access Control List. For more information, see Authenticating users with Access Contol Lists (ACLs).

          + */ + public createACL(args: CreateACLCommandInput, options?: __HttpHandlerOptions): Promise; + public createACL(args: CreateACLCommandInput, cb: (err: any, data?: CreateACLCommandOutput) => void): void; + public createACL( + args: CreateACLCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateACLCommandOutput) => void + ): void; + public createACL( + args: CreateACLCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CreateACLCommandOutput) => void), + cb?: (err: any, data?: CreateACLCommandOutput) => void + ): Promise | void { + const command = new CreateACLCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

          Creates a cluster. All nodes in the cluster run the same protocol-compliant engine software.

          + */ + public createCluster( + args: CreateClusterCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public createCluster( + args: CreateClusterCommandInput, + cb: (err: any, data?: CreateClusterCommandOutput) => void + ): void; + public createCluster( + args: CreateClusterCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateClusterCommandOutput) => void + ): void; + public createCluster( + args: CreateClusterCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CreateClusterCommandOutput) => void), + cb?: (err: any, data?: CreateClusterCommandOutput) => void + ): Promise | void { + const command = new CreateClusterCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

          Creates a new MemoryDB parameter group. A parameter group is a collection of parameters and their values that are applied to all of the nodes in any cluster. For + * more information, see Configuring engine parameters using parameter groups. + * + *

          + */ + public createParameterGroup( + args: CreateParameterGroupCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public createParameterGroup( + args: CreateParameterGroupCommandInput, + cb: (err: any, data?: CreateParameterGroupCommandOutput) => void + ): void; + public createParameterGroup( + args: CreateParameterGroupCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateParameterGroupCommandOutput) => void + ): void; + public createParameterGroup( + args: CreateParameterGroupCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CreateParameterGroupCommandOutput) => void), + cb?: (err: any, data?: CreateParameterGroupCommandOutput) => void + ): Promise | void { + const command = new CreateParameterGroupCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

          Creates a copy of an entire cluster at a specific moment in time.

          + */ + public createSnapshot( + args: CreateSnapshotCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public createSnapshot( + args: CreateSnapshotCommandInput, + cb: (err: any, data?: CreateSnapshotCommandOutput) => void + ): void; + public createSnapshot( + args: CreateSnapshotCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateSnapshotCommandOutput) => void + ): void; + public createSnapshot( + args: CreateSnapshotCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CreateSnapshotCommandOutput) => void), + cb?: (err: any, data?: CreateSnapshotCommandOutput) => void + ): Promise | void { + const command = new CreateSnapshotCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

          Creates a subnet group. A subnet group is a collection of subnets (typically private) that you can designate for your clusters running in an Amazon Virtual Private Cloud (VPC) environment. + * + * When you create a cluster in an Amazon VPC, you must specify a subnet group. MemoryDB uses that subnet group to choose a subnet and IP addresses within that subnet to associate with your nodes. + * For more information, see Subnets and subnet groups.

          + */ + public createSubnetGroup( + args: CreateSubnetGroupCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public createSubnetGroup( + args: CreateSubnetGroupCommandInput, + cb: (err: any, data?: CreateSubnetGroupCommandOutput) => void + ): void; + public createSubnetGroup( + args: CreateSubnetGroupCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateSubnetGroupCommandOutput) => void + ): void; + public createSubnetGroup( + args: CreateSubnetGroupCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CreateSubnetGroupCommandOutput) => void), + cb?: (err: any, data?: CreateSubnetGroupCommandOutput) => void + ): Promise | void { + const command = new CreateSubnetGroupCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

          Creates a MemoryDB user. For more information, see Authenticating users with Access Contol Lists (ACLs).

          + */ + public createUser(args: CreateUserCommandInput, options?: __HttpHandlerOptions): Promise; + public createUser(args: CreateUserCommandInput, cb: (err: any, data?: CreateUserCommandOutput) => void): void; + public createUser( + args: CreateUserCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateUserCommandOutput) => void + ): void; + public createUser( + args: CreateUserCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CreateUserCommandOutput) => void), + cb?: (err: any, data?: CreateUserCommandOutput) => void + ): Promise | void { + const command = new CreateUserCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

          Deletes an Access Control List. The ACL must first be disassociated from the cluster before it can be deleted. For more information, see Authenticating users with Access Contol Lists (ACLs).

          + */ + public deleteACL(args: DeleteACLCommandInput, options?: __HttpHandlerOptions): Promise; + public deleteACL(args: DeleteACLCommandInput, cb: (err: any, data?: DeleteACLCommandOutput) => void): void; + public deleteACL( + args: DeleteACLCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteACLCommandOutput) => void + ): void; + public deleteACL( + args: DeleteACLCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeleteACLCommandOutput) => void), + cb?: (err: any, data?: DeleteACLCommandOutput) => void + ): Promise | void { + const command = new DeleteACLCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

          Deletes a cluster. It also deletes all associated nodes and node endpoints

          + */ + public deleteCluster( + args: DeleteClusterCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public deleteCluster( + args: DeleteClusterCommandInput, + cb: (err: any, data?: DeleteClusterCommandOutput) => void + ): void; + public deleteCluster( + args: DeleteClusterCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteClusterCommandOutput) => void + ): void; + public deleteCluster( + args: DeleteClusterCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeleteClusterCommandOutput) => void), + cb?: (err: any, data?: DeleteClusterCommandOutput) => void + ): Promise | void { + const command = new DeleteClusterCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

          Deletes the specified parameter group. You cannot delete a parameter group if it is associated with any clusters. + * You cannot delete the default parameter groups in your account.

          + */ + public deleteParameterGroup( + args: DeleteParameterGroupCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public deleteParameterGroup( + args: DeleteParameterGroupCommandInput, + cb: (err: any, data?: DeleteParameterGroupCommandOutput) => void + ): void; + public deleteParameterGroup( + args: DeleteParameterGroupCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteParameterGroupCommandOutput) => void + ): void; + public deleteParameterGroup( + args: DeleteParameterGroupCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeleteParameterGroupCommandOutput) => void), + cb?: (err: any, data?: DeleteParameterGroupCommandOutput) => void + ): Promise | void { + const command = new DeleteParameterGroupCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

          Deletes an existing snapshot. When you receive a successful response from this operation, MemoryDB immediately begins deleting the snapshot; you cannot cancel or revert this operation.

          + */ + public deleteSnapshot( + args: DeleteSnapshotCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public deleteSnapshot( + args: DeleteSnapshotCommandInput, + cb: (err: any, data?: DeleteSnapshotCommandOutput) => void + ): void; + public deleteSnapshot( + args: DeleteSnapshotCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteSnapshotCommandOutput) => void + ): void; + public deleteSnapshot( + args: DeleteSnapshotCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeleteSnapshotCommandOutput) => void), + cb?: (err: any, data?: DeleteSnapshotCommandOutput) => void + ): Promise | void { + const command = new DeleteSnapshotCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

          Deletes a subnet group. You cannot delete a default subnet group or one that is associated with any clusters.

          + */ + public deleteSubnetGroup( + args: DeleteSubnetGroupCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public deleteSubnetGroup( + args: DeleteSubnetGroupCommandInput, + cb: (err: any, data?: DeleteSubnetGroupCommandOutput) => void + ): void; + public deleteSubnetGroup( + args: DeleteSubnetGroupCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteSubnetGroupCommandOutput) => void + ): void; + public deleteSubnetGroup( + args: DeleteSubnetGroupCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeleteSubnetGroupCommandOutput) => void), + cb?: (err: any, data?: DeleteSubnetGroupCommandOutput) => void + ): Promise | void { + const command = new DeleteSubnetGroupCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

          Deletes a user. The user will be removed from all ACLs and in turn removed from all clusters.

          + */ + public deleteUser(args: DeleteUserCommandInput, options?: __HttpHandlerOptions): Promise; + public deleteUser(args: DeleteUserCommandInput, cb: (err: any, data?: DeleteUserCommandOutput) => void): void; + public deleteUser( + args: DeleteUserCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteUserCommandOutput) => void + ): void; + public deleteUser( + args: DeleteUserCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeleteUserCommandOutput) => void), + cb?: (err: any, data?: DeleteUserCommandOutput) => void + ): Promise | void { + const command = new DeleteUserCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

          Returns a list of ACLs

          + */ + public describeACLs( + args: DescribeACLsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeACLs(args: DescribeACLsCommandInput, cb: (err: any, data?: DescribeACLsCommandOutput) => void): void; + public describeACLs( + args: DescribeACLsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeACLsCommandOutput) => void + ): void; + public describeACLs( + args: DescribeACLsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeACLsCommandOutput) => void), + cb?: (err: any, data?: DescribeACLsCommandOutput) => void + ): Promise | void { + const command = new DescribeACLsCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

          Returns information about all provisioned clusters if no cluster identifier is specified, or about a specific cluster if a cluster name is supplied.

          + */ + public describeClusters( + args: DescribeClustersCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeClusters( + args: DescribeClustersCommandInput, + cb: (err: any, data?: DescribeClustersCommandOutput) => void + ): void; + public describeClusters( + args: DescribeClustersCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeClustersCommandOutput) => void + ): void; + public describeClusters( + args: DescribeClustersCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeClustersCommandOutput) => void), + cb?: (err: any, data?: DescribeClustersCommandOutput) => void + ): Promise | void { + const command = new DescribeClustersCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

          Returns a list of the available Redis engine versions.

          + */ + public describeEngineVersions( + args: DescribeEngineVersionsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeEngineVersions( + args: DescribeEngineVersionsCommandInput, + cb: (err: any, data?: DescribeEngineVersionsCommandOutput) => void + ): void; + public describeEngineVersions( + args: DescribeEngineVersionsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeEngineVersionsCommandOutput) => void + ): void; + public describeEngineVersions( + args: DescribeEngineVersionsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeEngineVersionsCommandOutput) => void), + cb?: (err: any, data?: DescribeEngineVersionsCommandOutput) => void + ): Promise | void { + const command = new DescribeEngineVersionsCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

          Returns events related to clusters, security groups, and parameter groups. You can obtain events specific to a particular cluster, security group, or parameter group by providing the name as a parameter. + * + * By default, only the events occurring within the last hour are returned; however, you can retrieve up to 14 days' worth of events if necessary.

          + */ + public describeEvents( + args: DescribeEventsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeEvents( + args: DescribeEventsCommandInput, + cb: (err: any, data?: DescribeEventsCommandOutput) => void + ): void; + public describeEvents( + args: DescribeEventsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeEventsCommandOutput) => void + ): void; + public describeEvents( + args: DescribeEventsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeEventsCommandOutput) => void), + cb?: (err: any, data?: DescribeEventsCommandOutput) => void + ): Promise | void { + const command = new DescribeEventsCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

          Returns a list of parameter group descriptions. If a parameter group name is specified, the list contains only the descriptions for that group.

          + */ + public describeParameterGroups( + args: DescribeParameterGroupsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeParameterGroups( + args: DescribeParameterGroupsCommandInput, + cb: (err: any, data?: DescribeParameterGroupsCommandOutput) => void + ): void; + public describeParameterGroups( + args: DescribeParameterGroupsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeParameterGroupsCommandOutput) => void + ): void; + public describeParameterGroups( + args: DescribeParameterGroupsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeParameterGroupsCommandOutput) => void), + cb?: (err: any, data?: DescribeParameterGroupsCommandOutput) => void + ): Promise | void { + const command = new DescribeParameterGroupsCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

          Returns the detailed parameter list for a particular parameter group.

          + */ + public describeParameters( + args: DescribeParametersCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeParameters( + args: DescribeParametersCommandInput, + cb: (err: any, data?: DescribeParametersCommandOutput) => void + ): void; + public describeParameters( + args: DescribeParametersCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeParametersCommandOutput) => void + ): void; + public describeParameters( + args: DescribeParametersCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeParametersCommandOutput) => void), + cb?: (err: any, data?: DescribeParametersCommandOutput) => void + ): Promise | void { + const command = new DescribeParametersCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

          Returns details of the service updates

          + */ + public describeServiceUpdates( + args: DescribeServiceUpdatesCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeServiceUpdates( + args: DescribeServiceUpdatesCommandInput, + cb: (err: any, data?: DescribeServiceUpdatesCommandOutput) => void + ): void; + public describeServiceUpdates( + args: DescribeServiceUpdatesCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeServiceUpdatesCommandOutput) => void + ): void; + public describeServiceUpdates( + args: DescribeServiceUpdatesCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeServiceUpdatesCommandOutput) => void), + cb?: (err: any, data?: DescribeServiceUpdatesCommandOutput) => void + ): Promise | void { + const command = new DescribeServiceUpdatesCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

          Returns information about cluster snapshots. By default, DescribeSnapshots lists all of your snapshots; it can optionally describe a single snapshot, + * or just the snapshots associated with a particular cluster.

          + */ + public describeSnapshots( + args: DescribeSnapshotsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeSnapshots( + args: DescribeSnapshotsCommandInput, + cb: (err: any, data?: DescribeSnapshotsCommandOutput) => void + ): void; + public describeSnapshots( + args: DescribeSnapshotsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeSnapshotsCommandOutput) => void + ): void; + public describeSnapshots( + args: DescribeSnapshotsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeSnapshotsCommandOutput) => void), + cb?: (err: any, data?: DescribeSnapshotsCommandOutput) => void + ): Promise | void { + const command = new DescribeSnapshotsCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

          Returns a list of subnet group descriptions. If a subnet group name is specified, the list contains only the description of that group.

          + */ + public describeSubnetGroups( + args: DescribeSubnetGroupsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeSubnetGroups( + args: DescribeSubnetGroupsCommandInput, + cb: (err: any, data?: DescribeSubnetGroupsCommandOutput) => void + ): void; + public describeSubnetGroups( + args: DescribeSubnetGroupsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeSubnetGroupsCommandOutput) => void + ): void; + public describeSubnetGroups( + args: DescribeSubnetGroupsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeSubnetGroupsCommandOutput) => void), + cb?: (err: any, data?: DescribeSubnetGroupsCommandOutput) => void + ): Promise | void { + const command = new DescribeSubnetGroupsCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

          Returns a list of users.

          + */ + public describeUsers( + args: DescribeUsersCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeUsers( + args: DescribeUsersCommandInput, + cb: (err: any, data?: DescribeUsersCommandOutput) => void + ): void; + public describeUsers( + args: DescribeUsersCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeUsersCommandOutput) => void + ): void; + public describeUsers( + args: DescribeUsersCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeUsersCommandOutput) => void), + cb?: (err: any, data?: DescribeUsersCommandOutput) => void + ): Promise | void { + const command = new DescribeUsersCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

          Used to failover a shard

          + */ + public failoverShard( + args: FailoverShardCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public failoverShard( + args: FailoverShardCommandInput, + cb: (err: any, data?: FailoverShardCommandOutput) => void + ): void; + public failoverShard( + args: FailoverShardCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: FailoverShardCommandOutput) => void + ): void; + public failoverShard( + args: FailoverShardCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: FailoverShardCommandOutput) => void), + cb?: (err: any, data?: FailoverShardCommandOutput) => void + ): Promise | void { + const command = new FailoverShardCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

          Lists all available node types that you can scale to from your cluster's current node type. + * + * When you use the UpdateCluster operation to scale your cluster, the value of the NodeType parameter must be one of the node types returned by this operation.

          + */ + public listAllowedNodeTypeUpdates( + args: ListAllowedNodeTypeUpdatesCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listAllowedNodeTypeUpdates( + args: ListAllowedNodeTypeUpdatesCommandInput, + cb: (err: any, data?: ListAllowedNodeTypeUpdatesCommandOutput) => void + ): void; + public listAllowedNodeTypeUpdates( + args: ListAllowedNodeTypeUpdatesCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListAllowedNodeTypeUpdatesCommandOutput) => void + ): void; + public listAllowedNodeTypeUpdates( + args: ListAllowedNodeTypeUpdatesCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListAllowedNodeTypeUpdatesCommandOutput) => void), + cb?: (err: any, data?: ListAllowedNodeTypeUpdatesCommandOutput) => void + ): Promise | void { + const command = new ListAllowedNodeTypeUpdatesCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

          Lists all tags currently on a named resource. + * + * A tag is a key-value pair where the key and value are case-sensitive. You can use tags to categorize and track your MemoryDB resources. + * For more information, see Tagging your MemoryDB resources + *

          + */ + public listTags(args: ListTagsCommandInput, options?: __HttpHandlerOptions): Promise; + public listTags(args: ListTagsCommandInput, cb: (err: any, data?: ListTagsCommandOutput) => void): void; + public listTags( + args: ListTagsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListTagsCommandOutput) => void + ): void; + public listTags( + args: ListTagsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListTagsCommandOutput) => void), + cb?: (err: any, data?: ListTagsCommandOutput) => void + ): Promise | void { + const command = new ListTagsCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

          Modifies the parameters of a parameter group to the engine or system default value. You can reset specific parameters by submitting a list of parameter names. To reset the entire parameter group, specify the AllParameters and ParameterGroupName parameters.

          + */ + public resetParameterGroup( + args: ResetParameterGroupCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public resetParameterGroup( + args: ResetParameterGroupCommandInput, + cb: (err: any, data?: ResetParameterGroupCommandOutput) => void + ): void; + public resetParameterGroup( + args: ResetParameterGroupCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ResetParameterGroupCommandOutput) => void + ): void; + public resetParameterGroup( + args: ResetParameterGroupCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ResetParameterGroupCommandOutput) => void), + cb?: (err: any, data?: ResetParameterGroupCommandOutput) => void + ): Promise | void { + const command = new ResetParameterGroupCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

          A tag is a key-value pair where the key and value are case-sensitive. You can use tags to categorize and track all your MemoryDB resources. + * + * When you add or remove tags on clusters, those actions will be replicated to all nodes in the cluster. For more information, see + * + * Resource-level permissions.

          + * + *

          For example, you can use cost-allocation tags to your MemoryDB resources, Amazon generates a cost allocation report as a comma-separated value + * (CSV) file with your usage and costs aggregated by your tags. You can apply tags that represent business categories + * (such as cost centers, application names, or owners) to organize your costs across multiple services. + * + * For more information, see Using Cost Allocation Tags.

          + */ + public tagResource(args: TagResourceCommandInput, options?: __HttpHandlerOptions): Promise; + public tagResource(args: TagResourceCommandInput, cb: (err: any, data?: TagResourceCommandOutput) => void): void; + public tagResource( + args: TagResourceCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: TagResourceCommandOutput) => void + ): void; + public tagResource( + args: TagResourceCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: TagResourceCommandOutput) => void), + cb?: (err: any, data?: TagResourceCommandOutput) => void + ): Promise | void { + const command = new TagResourceCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

          Use this operation to remove tags on a resource

          + */ + public untagResource( + args: UntagResourceCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public untagResource( + args: UntagResourceCommandInput, + cb: (err: any, data?: UntagResourceCommandOutput) => void + ): void; + public untagResource( + args: UntagResourceCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UntagResourceCommandOutput) => void + ): void; + public untagResource( + args: UntagResourceCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: UntagResourceCommandOutput) => void), + cb?: (err: any, data?: UntagResourceCommandOutput) => void + ): Promise | void { + const command = new UntagResourceCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

          Changes the list of users that belong to the Access Control List.

          + */ + public updateACL(args: UpdateACLCommandInput, options?: __HttpHandlerOptions): Promise; + public updateACL(args: UpdateACLCommandInput, cb: (err: any, data?: UpdateACLCommandOutput) => void): void; + public updateACL( + args: UpdateACLCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UpdateACLCommandOutput) => void + ): void; + public updateACL( + args: UpdateACLCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: UpdateACLCommandOutput) => void), + cb?: (err: any, data?: UpdateACLCommandOutput) => void + ): Promise | void { + const command = new UpdateACLCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

          Modifies the settings for a cluster. You can use this operation to change one or more cluster configuration settings by specifying the settings and the new values.

          + */ + public updateCluster( + args: UpdateClusterCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public updateCluster( + args: UpdateClusterCommandInput, + cb: (err: any, data?: UpdateClusterCommandOutput) => void + ): void; + public updateCluster( + args: UpdateClusterCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UpdateClusterCommandOutput) => void + ): void; + public updateCluster( + args: UpdateClusterCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: UpdateClusterCommandOutput) => void), + cb?: (err: any, data?: UpdateClusterCommandOutput) => void + ): Promise | void { + const command = new UpdateClusterCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

          Updates the parameters of a parameter group. You can modify up to 20 parameters in a single request by submitting a list parameter name and value pairs.

          + */ + public updateParameterGroup( + args: UpdateParameterGroupCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public updateParameterGroup( + args: UpdateParameterGroupCommandInput, + cb: (err: any, data?: UpdateParameterGroupCommandOutput) => void + ): void; + public updateParameterGroup( + args: UpdateParameterGroupCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UpdateParameterGroupCommandOutput) => void + ): void; + public updateParameterGroup( + args: UpdateParameterGroupCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: UpdateParameterGroupCommandOutput) => void), + cb?: (err: any, data?: UpdateParameterGroupCommandOutput) => void + ): Promise | void { + const command = new UpdateParameterGroupCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

          Updates a subnet group. For more information, see Updating a subnet group + *

          + */ + public updateSubnetGroup( + args: UpdateSubnetGroupCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public updateSubnetGroup( + args: UpdateSubnetGroupCommandInput, + cb: (err: any, data?: UpdateSubnetGroupCommandOutput) => void + ): void; + public updateSubnetGroup( + args: UpdateSubnetGroupCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UpdateSubnetGroupCommandOutput) => void + ): void; + public updateSubnetGroup( + args: UpdateSubnetGroupCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: UpdateSubnetGroupCommandOutput) => void), + cb?: (err: any, data?: UpdateSubnetGroupCommandOutput) => void + ): Promise | void { + const command = new UpdateSubnetGroupCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

          Changes user password(s) and/or access string.

          + */ + public updateUser(args: UpdateUserCommandInput, options?: __HttpHandlerOptions): Promise; + public updateUser(args: UpdateUserCommandInput, cb: (err: any, data?: UpdateUserCommandOutput) => void): void; + public updateUser( + args: UpdateUserCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UpdateUserCommandOutput) => void + ): void; + public updateUser( + args: UpdateUserCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: UpdateUserCommandOutput) => void), + cb?: (err: any, data?: UpdateUserCommandOutput) => void + ): Promise | void { + const command = new UpdateUserCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } +} diff --git a/clients/client-memorydb/MemoryDBClient.ts b/clients/client-memorydb/MemoryDBClient.ts new file mode 100644 index 000000000000..02e735a3c832 --- /dev/null +++ b/clients/client-memorydb/MemoryDBClient.ts @@ -0,0 +1,370 @@ +import { BatchUpdateClusterCommandInput, BatchUpdateClusterCommandOutput } from "./commands/BatchUpdateClusterCommand"; +import { CopySnapshotCommandInput, CopySnapshotCommandOutput } from "./commands/CopySnapshotCommand"; +import { CreateACLCommandInput, CreateACLCommandOutput } from "./commands/CreateACLCommand"; +import { CreateClusterCommandInput, CreateClusterCommandOutput } from "./commands/CreateClusterCommand"; +import { + CreateParameterGroupCommandInput, + CreateParameterGroupCommandOutput, +} from "./commands/CreateParameterGroupCommand"; +import { CreateSnapshotCommandInput, CreateSnapshotCommandOutput } from "./commands/CreateSnapshotCommand"; +import { CreateSubnetGroupCommandInput, CreateSubnetGroupCommandOutput } from "./commands/CreateSubnetGroupCommand"; +import { CreateUserCommandInput, CreateUserCommandOutput } from "./commands/CreateUserCommand"; +import { DeleteACLCommandInput, DeleteACLCommandOutput } from "./commands/DeleteACLCommand"; +import { DeleteClusterCommandInput, DeleteClusterCommandOutput } from "./commands/DeleteClusterCommand"; +import { + DeleteParameterGroupCommandInput, + DeleteParameterGroupCommandOutput, +} from "./commands/DeleteParameterGroupCommand"; +import { DeleteSnapshotCommandInput, DeleteSnapshotCommandOutput } from "./commands/DeleteSnapshotCommand"; +import { DeleteSubnetGroupCommandInput, DeleteSubnetGroupCommandOutput } from "./commands/DeleteSubnetGroupCommand"; +import { DeleteUserCommandInput, DeleteUserCommandOutput } from "./commands/DeleteUserCommand"; +import { DescribeACLsCommandInput, DescribeACLsCommandOutput } from "./commands/DescribeACLsCommand"; +import { DescribeClustersCommandInput, DescribeClustersCommandOutput } from "./commands/DescribeClustersCommand"; +import { + DescribeEngineVersionsCommandInput, + DescribeEngineVersionsCommandOutput, +} from "./commands/DescribeEngineVersionsCommand"; +import { DescribeEventsCommandInput, DescribeEventsCommandOutput } from "./commands/DescribeEventsCommand"; +import { + DescribeParameterGroupsCommandInput, + DescribeParameterGroupsCommandOutput, +} from "./commands/DescribeParameterGroupsCommand"; +import { DescribeParametersCommandInput, DescribeParametersCommandOutput } from "./commands/DescribeParametersCommand"; +import { + DescribeServiceUpdatesCommandInput, + DescribeServiceUpdatesCommandOutput, +} from "./commands/DescribeServiceUpdatesCommand"; +import { DescribeSnapshotsCommandInput, DescribeSnapshotsCommandOutput } from "./commands/DescribeSnapshotsCommand"; +import { + DescribeSubnetGroupsCommandInput, + DescribeSubnetGroupsCommandOutput, +} from "./commands/DescribeSubnetGroupsCommand"; +import { DescribeUsersCommandInput, DescribeUsersCommandOutput } from "./commands/DescribeUsersCommand"; +import { FailoverShardCommandInput, FailoverShardCommandOutput } from "./commands/FailoverShardCommand"; +import { + ListAllowedNodeTypeUpdatesCommandInput, + ListAllowedNodeTypeUpdatesCommandOutput, +} from "./commands/ListAllowedNodeTypeUpdatesCommand"; +import { ListTagsCommandInput, ListTagsCommandOutput } from "./commands/ListTagsCommand"; +import { + ResetParameterGroupCommandInput, + ResetParameterGroupCommandOutput, +} from "./commands/ResetParameterGroupCommand"; +import { TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand"; +import { UntagResourceCommandInput, UntagResourceCommandOutput } from "./commands/UntagResourceCommand"; +import { UpdateACLCommandInput, UpdateACLCommandOutput } from "./commands/UpdateACLCommand"; +import { UpdateClusterCommandInput, UpdateClusterCommandOutput } from "./commands/UpdateClusterCommand"; +import { + UpdateParameterGroupCommandInput, + UpdateParameterGroupCommandOutput, +} from "./commands/UpdateParameterGroupCommand"; +import { UpdateSubnetGroupCommandInput, UpdateSubnetGroupCommandOutput } from "./commands/UpdateSubnetGroupCommand"; +import { UpdateUserCommandInput, UpdateUserCommandOutput } from "./commands/UpdateUserCommand"; +import { getRuntimeConfig as __getRuntimeConfig } from "./runtimeConfig"; +import { + EndpointsInputConfig, + EndpointsResolvedConfig, + RegionInputConfig, + RegionResolvedConfig, + resolveEndpointsConfig, + resolveRegionConfig, +} from "@aws-sdk/config-resolver"; +import { getContentLengthPlugin } from "@aws-sdk/middleware-content-length"; +import { + HostHeaderInputConfig, + HostHeaderResolvedConfig, + getHostHeaderPlugin, + resolveHostHeaderConfig, +} from "@aws-sdk/middleware-host-header"; +import { getLoggerPlugin } from "@aws-sdk/middleware-logger"; +import { RetryInputConfig, RetryResolvedConfig, getRetryPlugin, resolveRetryConfig } from "@aws-sdk/middleware-retry"; +import { + AwsAuthInputConfig, + AwsAuthResolvedConfig, + getAwsAuthPlugin, + resolveAwsAuthConfig, +} from "@aws-sdk/middleware-signing"; +import { + UserAgentInputConfig, + UserAgentResolvedConfig, + getUserAgentPlugin, + resolveUserAgentConfig, +} from "@aws-sdk/middleware-user-agent"; +import { HttpHandler as __HttpHandler } from "@aws-sdk/protocol-http"; +import { + Client as __Client, + SmithyConfiguration as __SmithyConfiguration, + SmithyResolvedConfiguration as __SmithyResolvedConfiguration, +} from "@aws-sdk/smithy-client"; +import { + Provider, + RegionInfoProvider, + Credentials as __Credentials, + Decoder as __Decoder, + Encoder as __Encoder, + Hash as __Hash, + HashConstructor as __HashConstructor, + HttpHandlerOptions as __HttpHandlerOptions, + Logger as __Logger, + Provider as __Provider, + StreamCollector as __StreamCollector, + UrlParser as __UrlParser, + UserAgent as __UserAgent, +} from "@aws-sdk/types"; + +export type ServiceInputTypes = + | BatchUpdateClusterCommandInput + | CopySnapshotCommandInput + | CreateACLCommandInput + | CreateClusterCommandInput + | CreateParameterGroupCommandInput + | CreateSnapshotCommandInput + | CreateSubnetGroupCommandInput + | CreateUserCommandInput + | DeleteACLCommandInput + | DeleteClusterCommandInput + | DeleteParameterGroupCommandInput + | DeleteSnapshotCommandInput + | DeleteSubnetGroupCommandInput + | DeleteUserCommandInput + | DescribeACLsCommandInput + | DescribeClustersCommandInput + | DescribeEngineVersionsCommandInput + | DescribeEventsCommandInput + | DescribeParameterGroupsCommandInput + | DescribeParametersCommandInput + | DescribeServiceUpdatesCommandInput + | DescribeSnapshotsCommandInput + | DescribeSubnetGroupsCommandInput + | DescribeUsersCommandInput + | FailoverShardCommandInput + | ListAllowedNodeTypeUpdatesCommandInput + | ListTagsCommandInput + | ResetParameterGroupCommandInput + | TagResourceCommandInput + | UntagResourceCommandInput + | UpdateACLCommandInput + | UpdateClusterCommandInput + | UpdateParameterGroupCommandInput + | UpdateSubnetGroupCommandInput + | UpdateUserCommandInput; + +export type ServiceOutputTypes = + | BatchUpdateClusterCommandOutput + | CopySnapshotCommandOutput + | CreateACLCommandOutput + | CreateClusterCommandOutput + | CreateParameterGroupCommandOutput + | CreateSnapshotCommandOutput + | CreateSubnetGroupCommandOutput + | CreateUserCommandOutput + | DeleteACLCommandOutput + | DeleteClusterCommandOutput + | DeleteParameterGroupCommandOutput + | DeleteSnapshotCommandOutput + | DeleteSubnetGroupCommandOutput + | DeleteUserCommandOutput + | DescribeACLsCommandOutput + | DescribeClustersCommandOutput + | DescribeEngineVersionsCommandOutput + | DescribeEventsCommandOutput + | DescribeParameterGroupsCommandOutput + | DescribeParametersCommandOutput + | DescribeServiceUpdatesCommandOutput + | DescribeSnapshotsCommandOutput + | DescribeSubnetGroupsCommandOutput + | DescribeUsersCommandOutput + | FailoverShardCommandOutput + | ListAllowedNodeTypeUpdatesCommandOutput + | ListTagsCommandOutput + | ResetParameterGroupCommandOutput + | TagResourceCommandOutput + | UntagResourceCommandOutput + | UpdateACLCommandOutput + | UpdateClusterCommandOutput + | UpdateParameterGroupCommandOutput + | UpdateSubnetGroupCommandOutput + | UpdateUserCommandOutput; + +export interface ClientDefaults extends Partial<__SmithyResolvedConfiguration<__HttpHandlerOptions>> { + /** + * The HTTP handler to use. Fetch in browser and Https in Nodejs. + */ + requestHandler?: __HttpHandler; + + /** + * A constructor for a class implementing the {@link __Hash} interface + * that computes the SHA-256 HMAC or checksum of a string or binary buffer. + * @internal + */ + sha256?: __HashConstructor; + + /** + * The function that will be used to convert strings into HTTP endpoints. + * @internal + */ + urlParser?: __UrlParser; + + /** + * A function that can calculate the length of a request body. + * @internal + */ + bodyLengthChecker?: (body: any) => number | undefined; + + /** + * A function that converts a stream into an array of bytes. + * @internal + */ + streamCollector?: __StreamCollector; + + /** + * The function that will be used to convert a base64-encoded string to a byte array. + * @internal + */ + base64Decoder?: __Decoder; + + /** + * The function that will be used to convert binary data to a base64-encoded string. + * @internal + */ + base64Encoder?: __Encoder; + + /** + * The function that will be used to convert a UTF8-encoded string to a byte array. + * @internal + */ + utf8Decoder?: __Decoder; + + /** + * The function that will be used to convert binary data to a UTF-8 encoded string. + * @internal + */ + utf8Encoder?: __Encoder; + + /** + * The runtime environment. + * @internal + */ + runtime?: string; + + /** + * Disable dyanamically changing the endpoint of the client based on the hostPrefix + * trait of an operation. + */ + disableHostPrefix?: boolean; + + /** + * Value for how many times a request will be made at most in case of retry. + */ + maxAttempts?: number | __Provider; + + /** + * Specifies provider for retry algorithm to use. + * @internal + */ + retryModeProvider?: __Provider; + + /** + * Optional logger for logging debug/info/warn/error. + */ + logger?: __Logger; + + /** + * Unique service identifier. + * @internal + */ + serviceId?: string; + + /** + * The AWS region to which this client will send requests + */ + region?: string | __Provider; + + /** + * Default credentials provider; Not available in browser runtime. + * @internal + */ + credentialDefaultProvider?: (input: any) => __Provider<__Credentials>; + + /** + * Fetch related hostname, signing name or signing region with given region. + * @internal + */ + regionInfoProvider?: RegionInfoProvider; + + /** + * The provider populating default tracking information to be sent with `user-agent`, `x-amz-user-agent` header + * @internal + */ + defaultUserAgentProvider?: Provider<__UserAgent>; +} + +type MemoryDBClientConfigType = Partial<__SmithyConfiguration<__HttpHandlerOptions>> & + ClientDefaults & + RegionInputConfig & + EndpointsInputConfig & + RetryInputConfig & + HostHeaderInputConfig & + AwsAuthInputConfig & + UserAgentInputConfig; +/** + * The configuration interface of MemoryDBClient class constructor that set the region, credentials and other options. + */ +export interface MemoryDBClientConfig extends MemoryDBClientConfigType {} + +type MemoryDBClientResolvedConfigType = __SmithyResolvedConfiguration<__HttpHandlerOptions> & + Required & + RegionResolvedConfig & + EndpointsResolvedConfig & + RetryResolvedConfig & + HostHeaderResolvedConfig & + AwsAuthResolvedConfig & + UserAgentResolvedConfig; +/** + * The resolved configuration interface of MemoryDBClient class. This is resolved and normalized from the {@link MemoryDBClientConfig | constructor configuration interface}. + */ +export interface MemoryDBClientResolvedConfig extends MemoryDBClientResolvedConfigType {} + +/** + *

          Amazon MemoryDB for Redis is a fully managed, Redis-compatible, in-memory database that delivers ultra-fast performance and Multi-AZ durability for modern applications built using microservices architectures. + * + * MemoryDB stores the entire database in-memory, enabling low latency and high throughput data access. It is compatible with Redis, a popular open source data store, enabling you to leverage Redis’ flexible and friendly data structures, APIs, and commands.

          + */ +export class MemoryDBClient extends __Client< + __HttpHandlerOptions, + ServiceInputTypes, + ServiceOutputTypes, + MemoryDBClientResolvedConfig +> { + /** + * The resolved configuration of MemoryDBClient class. This is resolved and normalized from the {@link MemoryDBClientConfig | constructor configuration interface}. + */ + readonly config: MemoryDBClientResolvedConfig; + + constructor(configuration: MemoryDBClientConfig) { + let _config_0 = __getRuntimeConfig(configuration); + let _config_1 = resolveRegionConfig(_config_0); + let _config_2 = resolveEndpointsConfig(_config_1); + let _config_3 = resolveRetryConfig(_config_2); + let _config_4 = resolveHostHeaderConfig(_config_3); + let _config_5 = resolveAwsAuthConfig(_config_4); + let _config_6 = resolveUserAgentConfig(_config_5); + super(_config_6); + this.config = _config_6; + this.middlewareStack.use(getRetryPlugin(this.config)); + this.middlewareStack.use(getContentLengthPlugin(this.config)); + this.middlewareStack.use(getHostHeaderPlugin(this.config)); + this.middlewareStack.use(getLoggerPlugin(this.config)); + this.middlewareStack.use(getAwsAuthPlugin(this.config)); + this.middlewareStack.use(getUserAgentPlugin(this.config)); + } + + /** + * Destroy underlying resources, like sockets. It's usually not necessary to do this. + * However in Node.js, it's best to explicitly shut down the client's agent when it is no longer needed. + * Otherwise, sockets might stay open for quite a long time before the server terminates them. + */ + destroy(): void { + super.destroy(); + } +} diff --git a/clients/client-memorydb/README.md b/clients/client-memorydb/README.md new file mode 100644 index 000000000000..b693d3afdacc --- /dev/null +++ b/clients/client-memorydb/README.md @@ -0,0 +1,205 @@ +# @aws-sdk/client-memorydb + +[![NPM version](https://img.shields.io/npm/v/@aws-sdk/client-memorydb/latest.svg)](https://www.npmjs.com/package/@aws-sdk/client-memorydb) +[![NPM downloads](https://img.shields.io/npm/dm/@aws-sdk/client-memorydb.svg)](https://www.npmjs.com/package/@aws-sdk/client-memorydb) + +## Description + +AWS SDK for JavaScript MemoryDB Client for Node.js, Browser and React Native. + +

          Amazon MemoryDB for Redis is a fully managed, Redis-compatible, in-memory database that delivers ultra-fast performance and Multi-AZ durability for modern applications built using microservices architectures. + +MemoryDB stores the entire database in-memory, enabling low latency and high throughput data access. It is compatible with Redis, a popular open source data store, enabling you to leverage Redis’ flexible and friendly data structures, APIs, and commands.

          + +## Installing + +To install the this package, simply type add or install @aws-sdk/client-memorydb +using your favorite package manager: + +- `npm install @aws-sdk/client-memorydb` +- `yarn add @aws-sdk/client-memorydb` +- `pnpm add @aws-sdk/client-memorydb` + +## Getting Started + +### Import + +The AWS SDK is modulized by clients and commands. +To send a request, you only need to import the `MemoryDBClient` and +the commands you need, for example `BatchUpdateClusterCommand`: + +```js +// ES5 example +const { MemoryDBClient, BatchUpdateClusterCommand } = require("@aws-sdk/client-memorydb"); +``` + +```ts +// ES6+ example +import { MemoryDBClient, BatchUpdateClusterCommand } from "@aws-sdk/client-memorydb"; +``` + +### Usage + +To send a request, you: + +- Initiate client with configuration (e.g. credentials, region). +- Initiate command with input parameters. +- Call `send` operation on client with command object as input. +- If you are using a custom http handler, you may call `destroy()` to close open connections. + +```js +// a client can be shared by different commands. +const client = new MemoryDBClient({ region: "REGION" }); + +const params = { + /** input parameters */ +}; +const command = new BatchUpdateClusterCommand(params); +``` + +#### Async/await + +We recommend using [await](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/await) +operator to wait for the promise returned by send operation as follows: + +```js +// async/await. +try { + const data = await client.send(command); + // process data. +} catch (error) { + // error handling. +} finally { + // finally. +} +``` + +Async-await is clean, concise, intuitive, easy to debug and has better error handling +as compared to using Promise chains or callbacks. + +#### Promises + +You can also use [Promise chaining](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Using_promises#chaining) +to execute send operation. + +```js +client.send(command).then( + (data) => { + // process data. + }, + (error) => { + // error handling. + } +); +``` + +Promises can also be called using `.catch()` and `.finally()` as follows: + +```js +client + .send(command) + .then((data) => { + // process data. + }) + .catch((error) => { + // error handling. + }) + .finally(() => { + // finally. + }); +``` + +#### Callbacks + +We do not recommend using callbacks because of [callback hell](http://callbackhell.com/), +but they are supported by the send operation. + +```js +// callbacks. +client.send(command, (err, data) => { + // proccess err and data. +}); +``` + +#### v2 compatible style + +The client can also send requests using v2 compatible style. +However, it results in a bigger bundle size and may be dropped in next major version. More details in the blog post +on [modular packages in AWS SDK for JavaScript](https://aws.amazon.com/blogs/developer/modular-packages-in-aws-sdk-for-javascript/) + +```ts +import * as AWS from "@aws-sdk/client-memorydb"; +const client = new AWS.MemoryDB({ region: "REGION" }); + +// async/await. +try { + const data = await client.batchUpdateCluster(params); + // process data. +} catch (error) { + // error handling. +} + +// Promises. +client + .batchUpdateCluster(params) + .then((data) => { + // process data. + }) + .catch((error) => { + // error handling. + }); + +// callbacks. +client.batchUpdateCluster(params, (err, data) => { + // proccess err and data. +}); +``` + +### Troubleshooting + +When the service returns an exception, the error will include the exception information, +as well as response metadata (e.g. request id). + +```js +try { + const data = await client.send(command); + // process data. +} catch (error) { + const { requestId, cfId, extendedRequestId } = error.$metadata; + console.log({ requestId, cfId, extendedRequestId }); + /** + * The keys within exceptions are also parsed. + * You can access them by specifying exception names: + * if (error.name === 'SomeServiceException') { + * const value = error.specialKeyInException; + * } + */ +} +``` + +## Getting Help + +Please use these community resources for getting help. +We use the GitHub issues for tracking bugs and feature requests, but have limited bandwidth to address them. + +- Visit [Developer Guide](https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/welcome.html) + or [API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/index.html). +- Check out the blog posts tagged with [`aws-sdk-js`](https://aws.amazon.com/blogs/developer/tag/aws-sdk-js/) + on AWS Developer Blog. +- Ask a question on [StackOverflow](https://stackoverflow.com/questions/tagged/aws-sdk-js) and tag it with `aws-sdk-js`. +- Join the AWS JavaScript community on [gitter](https://gitter.im/aws/aws-sdk-js-v3). +- If it turns out that you may have found a bug, please [open an issue](https://github.com/aws/aws-sdk-js-v3/issues/new/choose). + +To test your universal JavaScript code in Node.js, browser and react-native environments, +visit our [code samples repo](https://github.com/aws-samples/aws-sdk-js-tests). + +## Contributing + +This client code is generated automatically. Any modifications will be overwritten the next time the `@aws-sdk/client-memorydb` package is updated. +To contribute to client you can check our [generate clients scripts](https://github.com/aws/aws-sdk-js-v3/tree/main/scripts/generate-clients). + +## License + +This SDK is distributed under the +[Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0), +see LICENSE for more information. diff --git a/clients/client-memorydb/commands/BatchUpdateClusterCommand.ts b/clients/client-memorydb/commands/BatchUpdateClusterCommand.ts new file mode 100644 index 000000000000..2b9bf6959926 --- /dev/null +++ b/clients/client-memorydb/commands/BatchUpdateClusterCommand.ts @@ -0,0 +1,94 @@ +import { MemoryDBClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MemoryDBClient"; +import { BatchUpdateClusterRequest, BatchUpdateClusterResponse } from "../models/models_0"; +import { + deserializeAws_json1_1BatchUpdateClusterCommand, + serializeAws_json1_1BatchUpdateClusterCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface BatchUpdateClusterCommandInput extends BatchUpdateClusterRequest {} +export interface BatchUpdateClusterCommandOutput extends BatchUpdateClusterResponse, __MetadataBearer {} + +/** + *

          Apply the service update to a list of clusters supplied. For more information on service updates and applying them, see Applying the service updates.

          + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { MemoryDBClient, BatchUpdateClusterCommand } from "@aws-sdk/client-memorydb"; // ES Modules import + * // const { MemoryDBClient, BatchUpdateClusterCommand } = require("@aws-sdk/client-memorydb"); // CommonJS import + * const client = new MemoryDBClient(config); + * const command = new BatchUpdateClusterCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link BatchUpdateClusterCommandInput} for command's `input` shape. + * @see {@link BatchUpdateClusterCommandOutput} for command's `response` shape. + * @see {@link MemoryDBClientResolvedConfig | config} for command's `input` shape. + * + */ +export class BatchUpdateClusterCommand extends $Command< + BatchUpdateClusterCommandInput, + BatchUpdateClusterCommandOutput, + MemoryDBClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: BatchUpdateClusterCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: MemoryDBClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "MemoryDBClient"; + const commandName = "BatchUpdateClusterCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: BatchUpdateClusterRequest.filterSensitiveLog, + outputFilterSensitiveLog: BatchUpdateClusterResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: BatchUpdateClusterCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1BatchUpdateClusterCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1BatchUpdateClusterCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-memorydb/commands/CopySnapshotCommand.ts b/clients/client-memorydb/commands/CopySnapshotCommand.ts new file mode 100644 index 000000000000..e868b7822a80 --- /dev/null +++ b/clients/client-memorydb/commands/CopySnapshotCommand.ts @@ -0,0 +1,94 @@ +import { MemoryDBClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MemoryDBClient"; +import { CopySnapshotRequest, CopySnapshotResponse } from "../models/models_0"; +import { + deserializeAws_json1_1CopySnapshotCommand, + serializeAws_json1_1CopySnapshotCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface CopySnapshotCommandInput extends CopySnapshotRequest {} +export interface CopySnapshotCommandOutput extends CopySnapshotResponse, __MetadataBearer {} + +/** + *

          Makes a copy of an existing snapshot.

          + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { MemoryDBClient, CopySnapshotCommand } from "@aws-sdk/client-memorydb"; // ES Modules import + * // const { MemoryDBClient, CopySnapshotCommand } = require("@aws-sdk/client-memorydb"); // CommonJS import + * const client = new MemoryDBClient(config); + * const command = new CopySnapshotCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link CopySnapshotCommandInput} for command's `input` shape. + * @see {@link CopySnapshotCommandOutput} for command's `response` shape. + * @see {@link MemoryDBClientResolvedConfig | config} for command's `input` shape. + * + */ +export class CopySnapshotCommand extends $Command< + CopySnapshotCommandInput, + CopySnapshotCommandOutput, + MemoryDBClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CopySnapshotCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: MemoryDBClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "MemoryDBClient"; + const commandName = "CopySnapshotCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: CopySnapshotRequest.filterSensitiveLog, + outputFilterSensitiveLog: CopySnapshotResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: CopySnapshotCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1CopySnapshotCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1CopySnapshotCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-memorydb/commands/CreateACLCommand.ts b/clients/client-memorydb/commands/CreateACLCommand.ts new file mode 100644 index 000000000000..5f697cc2874c --- /dev/null +++ b/clients/client-memorydb/commands/CreateACLCommand.ts @@ -0,0 +1,91 @@ +import { MemoryDBClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MemoryDBClient"; +import { CreateACLRequest, CreateACLResponse } from "../models/models_0"; +import { deserializeAws_json1_1CreateACLCommand, serializeAws_json1_1CreateACLCommand } from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface CreateACLCommandInput extends CreateACLRequest {} +export interface CreateACLCommandOutput extends CreateACLResponse, __MetadataBearer {} + +/** + *

          Creates an Access Control List. For more information, see Authenticating users with Access Contol Lists (ACLs).

          + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { MemoryDBClient, CreateACLCommand } from "@aws-sdk/client-memorydb"; // ES Modules import + * // const { MemoryDBClient, CreateACLCommand } = require("@aws-sdk/client-memorydb"); // CommonJS import + * const client = new MemoryDBClient(config); + * const command = new CreateACLCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link CreateACLCommandInput} for command's `input` shape. + * @see {@link CreateACLCommandOutput} for command's `response` shape. + * @see {@link MemoryDBClientResolvedConfig | config} for command's `input` shape. + * + */ +export class CreateACLCommand extends $Command< + CreateACLCommandInput, + CreateACLCommandOutput, + MemoryDBClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CreateACLCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: MemoryDBClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "MemoryDBClient"; + const commandName = "CreateACLCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: CreateACLRequest.filterSensitiveLog, + outputFilterSensitiveLog: CreateACLResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: CreateACLCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1CreateACLCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1CreateACLCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-memorydb/commands/CreateClusterCommand.ts b/clients/client-memorydb/commands/CreateClusterCommand.ts new file mode 100644 index 000000000000..e21944d234b6 --- /dev/null +++ b/clients/client-memorydb/commands/CreateClusterCommand.ts @@ -0,0 +1,94 @@ +import { MemoryDBClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MemoryDBClient"; +import { CreateClusterRequest, CreateClusterResponse } from "../models/models_0"; +import { + deserializeAws_json1_1CreateClusterCommand, + serializeAws_json1_1CreateClusterCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface CreateClusterCommandInput extends CreateClusterRequest {} +export interface CreateClusterCommandOutput extends CreateClusterResponse, __MetadataBearer {} + +/** + *

          Creates a cluster. All nodes in the cluster run the same protocol-compliant engine software.

          + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { MemoryDBClient, CreateClusterCommand } from "@aws-sdk/client-memorydb"; // ES Modules import + * // const { MemoryDBClient, CreateClusterCommand } = require("@aws-sdk/client-memorydb"); // CommonJS import + * const client = new MemoryDBClient(config); + * const command = new CreateClusterCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link CreateClusterCommandInput} for command's `input` shape. + * @see {@link CreateClusterCommandOutput} for command's `response` shape. + * @see {@link MemoryDBClientResolvedConfig | config} for command's `input` shape. + * + */ +export class CreateClusterCommand extends $Command< + CreateClusterCommandInput, + CreateClusterCommandOutput, + MemoryDBClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CreateClusterCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: MemoryDBClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "MemoryDBClient"; + const commandName = "CreateClusterCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: CreateClusterRequest.filterSensitiveLog, + outputFilterSensitiveLog: CreateClusterResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: CreateClusterCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1CreateClusterCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1CreateClusterCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-memorydb/commands/CreateParameterGroupCommand.ts b/clients/client-memorydb/commands/CreateParameterGroupCommand.ts new file mode 100644 index 000000000000..f5646832d509 --- /dev/null +++ b/clients/client-memorydb/commands/CreateParameterGroupCommand.ts @@ -0,0 +1,97 @@ +import { MemoryDBClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MemoryDBClient"; +import { CreateParameterGroupRequest, CreateParameterGroupResponse } from "../models/models_0"; +import { + deserializeAws_json1_1CreateParameterGroupCommand, + serializeAws_json1_1CreateParameterGroupCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface CreateParameterGroupCommandInput extends CreateParameterGroupRequest {} +export interface CreateParameterGroupCommandOutput extends CreateParameterGroupResponse, __MetadataBearer {} + +/** + *

          Creates a new MemoryDB parameter group. A parameter group is a collection of parameters and their values that are applied to all of the nodes in any cluster. For + * more information, see Configuring engine parameters using parameter groups. + * + *

          + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { MemoryDBClient, CreateParameterGroupCommand } from "@aws-sdk/client-memorydb"; // ES Modules import + * // const { MemoryDBClient, CreateParameterGroupCommand } = require("@aws-sdk/client-memorydb"); // CommonJS import + * const client = new MemoryDBClient(config); + * const command = new CreateParameterGroupCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link CreateParameterGroupCommandInput} for command's `input` shape. + * @see {@link CreateParameterGroupCommandOutput} for command's `response` shape. + * @see {@link MemoryDBClientResolvedConfig | config} for command's `input` shape. + * + */ +export class CreateParameterGroupCommand extends $Command< + CreateParameterGroupCommandInput, + CreateParameterGroupCommandOutput, + MemoryDBClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CreateParameterGroupCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: MemoryDBClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "MemoryDBClient"; + const commandName = "CreateParameterGroupCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: CreateParameterGroupRequest.filterSensitiveLog, + outputFilterSensitiveLog: CreateParameterGroupResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: CreateParameterGroupCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1CreateParameterGroupCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1CreateParameterGroupCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-memorydb/commands/CreateSnapshotCommand.ts b/clients/client-memorydb/commands/CreateSnapshotCommand.ts new file mode 100644 index 000000000000..54be3220c283 --- /dev/null +++ b/clients/client-memorydb/commands/CreateSnapshotCommand.ts @@ -0,0 +1,94 @@ +import { MemoryDBClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MemoryDBClient"; +import { CreateSnapshotRequest, CreateSnapshotResponse } from "../models/models_0"; +import { + deserializeAws_json1_1CreateSnapshotCommand, + serializeAws_json1_1CreateSnapshotCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface CreateSnapshotCommandInput extends CreateSnapshotRequest {} +export interface CreateSnapshotCommandOutput extends CreateSnapshotResponse, __MetadataBearer {} + +/** + *

          Creates a copy of an entire cluster at a specific moment in time.

          + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { MemoryDBClient, CreateSnapshotCommand } from "@aws-sdk/client-memorydb"; // ES Modules import + * // const { MemoryDBClient, CreateSnapshotCommand } = require("@aws-sdk/client-memorydb"); // CommonJS import + * const client = new MemoryDBClient(config); + * const command = new CreateSnapshotCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link CreateSnapshotCommandInput} for command's `input` shape. + * @see {@link CreateSnapshotCommandOutput} for command's `response` shape. + * @see {@link MemoryDBClientResolvedConfig | config} for command's `input` shape. + * + */ +export class CreateSnapshotCommand extends $Command< + CreateSnapshotCommandInput, + CreateSnapshotCommandOutput, + MemoryDBClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CreateSnapshotCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: MemoryDBClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "MemoryDBClient"; + const commandName = "CreateSnapshotCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: CreateSnapshotRequest.filterSensitiveLog, + outputFilterSensitiveLog: CreateSnapshotResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: CreateSnapshotCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1CreateSnapshotCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1CreateSnapshotCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-memorydb/commands/CreateSubnetGroupCommand.ts b/clients/client-memorydb/commands/CreateSubnetGroupCommand.ts new file mode 100644 index 000000000000..bfb1055f72da --- /dev/null +++ b/clients/client-memorydb/commands/CreateSubnetGroupCommand.ts @@ -0,0 +1,97 @@ +import { MemoryDBClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MemoryDBClient"; +import { CreateSubnetGroupRequest, CreateSubnetGroupResponse } from "../models/models_0"; +import { + deserializeAws_json1_1CreateSubnetGroupCommand, + serializeAws_json1_1CreateSubnetGroupCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface CreateSubnetGroupCommandInput extends CreateSubnetGroupRequest {} +export interface CreateSubnetGroupCommandOutput extends CreateSubnetGroupResponse, __MetadataBearer {} + +/** + *

          Creates a subnet group. A subnet group is a collection of subnets (typically private) that you can designate for your clusters running in an Amazon Virtual Private Cloud (VPC) environment. + * + * When you create a cluster in an Amazon VPC, you must specify a subnet group. MemoryDB uses that subnet group to choose a subnet and IP addresses within that subnet to associate with your nodes. + * For more information, see Subnets and subnet groups.

          + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { MemoryDBClient, CreateSubnetGroupCommand } from "@aws-sdk/client-memorydb"; // ES Modules import + * // const { MemoryDBClient, CreateSubnetGroupCommand } = require("@aws-sdk/client-memorydb"); // CommonJS import + * const client = new MemoryDBClient(config); + * const command = new CreateSubnetGroupCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link CreateSubnetGroupCommandInput} for command's `input` shape. + * @see {@link CreateSubnetGroupCommandOutput} for command's `response` shape. + * @see {@link MemoryDBClientResolvedConfig | config} for command's `input` shape. + * + */ +export class CreateSubnetGroupCommand extends $Command< + CreateSubnetGroupCommandInput, + CreateSubnetGroupCommandOutput, + MemoryDBClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CreateSubnetGroupCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: MemoryDBClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "MemoryDBClient"; + const commandName = "CreateSubnetGroupCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: CreateSubnetGroupRequest.filterSensitiveLog, + outputFilterSensitiveLog: CreateSubnetGroupResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: CreateSubnetGroupCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1CreateSubnetGroupCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1CreateSubnetGroupCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-memorydb/commands/CreateUserCommand.ts b/clients/client-memorydb/commands/CreateUserCommand.ts new file mode 100644 index 000000000000..43d31cd6b97f --- /dev/null +++ b/clients/client-memorydb/commands/CreateUserCommand.ts @@ -0,0 +1,94 @@ +import { MemoryDBClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MemoryDBClient"; +import { CreateUserRequest, CreateUserResponse } from "../models/models_0"; +import { + deserializeAws_json1_1CreateUserCommand, + serializeAws_json1_1CreateUserCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface CreateUserCommandInput extends CreateUserRequest {} +export interface CreateUserCommandOutput extends CreateUserResponse, __MetadataBearer {} + +/** + *

          Creates a MemoryDB user. For more information, see Authenticating users with Access Contol Lists (ACLs).

          + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { MemoryDBClient, CreateUserCommand } from "@aws-sdk/client-memorydb"; // ES Modules import + * // const { MemoryDBClient, CreateUserCommand } = require("@aws-sdk/client-memorydb"); // CommonJS import + * const client = new MemoryDBClient(config); + * const command = new CreateUserCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link CreateUserCommandInput} for command's `input` shape. + * @see {@link CreateUserCommandOutput} for command's `response` shape. + * @see {@link MemoryDBClientResolvedConfig | config} for command's `input` shape. + * + */ +export class CreateUserCommand extends $Command< + CreateUserCommandInput, + CreateUserCommandOutput, + MemoryDBClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CreateUserCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: MemoryDBClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "MemoryDBClient"; + const commandName = "CreateUserCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: CreateUserRequest.filterSensitiveLog, + outputFilterSensitiveLog: CreateUserResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: CreateUserCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1CreateUserCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1CreateUserCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-memorydb/commands/DeleteACLCommand.ts b/clients/client-memorydb/commands/DeleteACLCommand.ts new file mode 100644 index 000000000000..e6d451f17630 --- /dev/null +++ b/clients/client-memorydb/commands/DeleteACLCommand.ts @@ -0,0 +1,91 @@ +import { MemoryDBClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MemoryDBClient"; +import { DeleteACLRequest, DeleteACLResponse } from "../models/models_0"; +import { deserializeAws_json1_1DeleteACLCommand, serializeAws_json1_1DeleteACLCommand } from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface DeleteACLCommandInput extends DeleteACLRequest {} +export interface DeleteACLCommandOutput extends DeleteACLResponse, __MetadataBearer {} + +/** + *

          Deletes an Access Control List. The ACL must first be disassociated from the cluster before it can be deleted. For more information, see Authenticating users with Access Contol Lists (ACLs).

          + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { MemoryDBClient, DeleteACLCommand } from "@aws-sdk/client-memorydb"; // ES Modules import + * // const { MemoryDBClient, DeleteACLCommand } = require("@aws-sdk/client-memorydb"); // CommonJS import + * const client = new MemoryDBClient(config); + * const command = new DeleteACLCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link DeleteACLCommandInput} for command's `input` shape. + * @see {@link DeleteACLCommandOutput} for command's `response` shape. + * @see {@link MemoryDBClientResolvedConfig | config} for command's `input` shape. + * + */ +export class DeleteACLCommand extends $Command< + DeleteACLCommandInput, + DeleteACLCommandOutput, + MemoryDBClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DeleteACLCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: MemoryDBClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "MemoryDBClient"; + const commandName = "DeleteACLCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DeleteACLRequest.filterSensitiveLog, + outputFilterSensitiveLog: DeleteACLResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DeleteACLCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1DeleteACLCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1DeleteACLCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-memorydb/commands/DeleteClusterCommand.ts b/clients/client-memorydb/commands/DeleteClusterCommand.ts new file mode 100644 index 000000000000..ee18f0c6f622 --- /dev/null +++ b/clients/client-memorydb/commands/DeleteClusterCommand.ts @@ -0,0 +1,94 @@ +import { MemoryDBClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MemoryDBClient"; +import { DeleteClusterRequest, DeleteClusterResponse } from "../models/models_0"; +import { + deserializeAws_json1_1DeleteClusterCommand, + serializeAws_json1_1DeleteClusterCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface DeleteClusterCommandInput extends DeleteClusterRequest {} +export interface DeleteClusterCommandOutput extends DeleteClusterResponse, __MetadataBearer {} + +/** + *

          Deletes a cluster. It also deletes all associated nodes and node endpoints

          + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { MemoryDBClient, DeleteClusterCommand } from "@aws-sdk/client-memorydb"; // ES Modules import + * // const { MemoryDBClient, DeleteClusterCommand } = require("@aws-sdk/client-memorydb"); // CommonJS import + * const client = new MemoryDBClient(config); + * const command = new DeleteClusterCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link DeleteClusterCommandInput} for command's `input` shape. + * @see {@link DeleteClusterCommandOutput} for command's `response` shape. + * @see {@link MemoryDBClientResolvedConfig | config} for command's `input` shape. + * + */ +export class DeleteClusterCommand extends $Command< + DeleteClusterCommandInput, + DeleteClusterCommandOutput, + MemoryDBClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DeleteClusterCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: MemoryDBClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "MemoryDBClient"; + const commandName = "DeleteClusterCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DeleteClusterRequest.filterSensitiveLog, + outputFilterSensitiveLog: DeleteClusterResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DeleteClusterCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1DeleteClusterCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1DeleteClusterCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-memorydb/commands/DeleteParameterGroupCommand.ts b/clients/client-memorydb/commands/DeleteParameterGroupCommand.ts new file mode 100644 index 000000000000..02b4fd684baf --- /dev/null +++ b/clients/client-memorydb/commands/DeleteParameterGroupCommand.ts @@ -0,0 +1,95 @@ +import { MemoryDBClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MemoryDBClient"; +import { DeleteParameterGroupRequest, DeleteParameterGroupResponse } from "../models/models_0"; +import { + deserializeAws_json1_1DeleteParameterGroupCommand, + serializeAws_json1_1DeleteParameterGroupCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface DeleteParameterGroupCommandInput extends DeleteParameterGroupRequest {} +export interface DeleteParameterGroupCommandOutput extends DeleteParameterGroupResponse, __MetadataBearer {} + +/** + *

          Deletes the specified parameter group. You cannot delete a parameter group if it is associated with any clusters. + * You cannot delete the default parameter groups in your account.

          + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { MemoryDBClient, DeleteParameterGroupCommand } from "@aws-sdk/client-memorydb"; // ES Modules import + * // const { MemoryDBClient, DeleteParameterGroupCommand } = require("@aws-sdk/client-memorydb"); // CommonJS import + * const client = new MemoryDBClient(config); + * const command = new DeleteParameterGroupCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link DeleteParameterGroupCommandInput} for command's `input` shape. + * @see {@link DeleteParameterGroupCommandOutput} for command's `response` shape. + * @see {@link MemoryDBClientResolvedConfig | config} for command's `input` shape. + * + */ +export class DeleteParameterGroupCommand extends $Command< + DeleteParameterGroupCommandInput, + DeleteParameterGroupCommandOutput, + MemoryDBClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DeleteParameterGroupCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: MemoryDBClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "MemoryDBClient"; + const commandName = "DeleteParameterGroupCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DeleteParameterGroupRequest.filterSensitiveLog, + outputFilterSensitiveLog: DeleteParameterGroupResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DeleteParameterGroupCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1DeleteParameterGroupCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1DeleteParameterGroupCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-memorydb/commands/DeleteSnapshotCommand.ts b/clients/client-memorydb/commands/DeleteSnapshotCommand.ts new file mode 100644 index 000000000000..77302282dac0 --- /dev/null +++ b/clients/client-memorydb/commands/DeleteSnapshotCommand.ts @@ -0,0 +1,94 @@ +import { MemoryDBClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MemoryDBClient"; +import { DeleteSnapshotRequest, DeleteSnapshotResponse } from "../models/models_0"; +import { + deserializeAws_json1_1DeleteSnapshotCommand, + serializeAws_json1_1DeleteSnapshotCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface DeleteSnapshotCommandInput extends DeleteSnapshotRequest {} +export interface DeleteSnapshotCommandOutput extends DeleteSnapshotResponse, __MetadataBearer {} + +/** + *

          Deletes an existing snapshot. When you receive a successful response from this operation, MemoryDB immediately begins deleting the snapshot; you cannot cancel or revert this operation.

          + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { MemoryDBClient, DeleteSnapshotCommand } from "@aws-sdk/client-memorydb"; // ES Modules import + * // const { MemoryDBClient, DeleteSnapshotCommand } = require("@aws-sdk/client-memorydb"); // CommonJS import + * const client = new MemoryDBClient(config); + * const command = new DeleteSnapshotCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link DeleteSnapshotCommandInput} for command's `input` shape. + * @see {@link DeleteSnapshotCommandOutput} for command's `response` shape. + * @see {@link MemoryDBClientResolvedConfig | config} for command's `input` shape. + * + */ +export class DeleteSnapshotCommand extends $Command< + DeleteSnapshotCommandInput, + DeleteSnapshotCommandOutput, + MemoryDBClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DeleteSnapshotCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: MemoryDBClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "MemoryDBClient"; + const commandName = "DeleteSnapshotCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DeleteSnapshotRequest.filterSensitiveLog, + outputFilterSensitiveLog: DeleteSnapshotResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DeleteSnapshotCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1DeleteSnapshotCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1DeleteSnapshotCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-memorydb/commands/DeleteSubnetGroupCommand.ts b/clients/client-memorydb/commands/DeleteSubnetGroupCommand.ts new file mode 100644 index 000000000000..6dd301833bad --- /dev/null +++ b/clients/client-memorydb/commands/DeleteSubnetGroupCommand.ts @@ -0,0 +1,94 @@ +import { MemoryDBClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MemoryDBClient"; +import { DeleteSubnetGroupRequest, DeleteSubnetGroupResponse } from "../models/models_0"; +import { + deserializeAws_json1_1DeleteSubnetGroupCommand, + serializeAws_json1_1DeleteSubnetGroupCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface DeleteSubnetGroupCommandInput extends DeleteSubnetGroupRequest {} +export interface DeleteSubnetGroupCommandOutput extends DeleteSubnetGroupResponse, __MetadataBearer {} + +/** + *

          Deletes a subnet group. You cannot delete a default subnet group or one that is associated with any clusters.

          + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { MemoryDBClient, DeleteSubnetGroupCommand } from "@aws-sdk/client-memorydb"; // ES Modules import + * // const { MemoryDBClient, DeleteSubnetGroupCommand } = require("@aws-sdk/client-memorydb"); // CommonJS import + * const client = new MemoryDBClient(config); + * const command = new DeleteSubnetGroupCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link DeleteSubnetGroupCommandInput} for command's `input` shape. + * @see {@link DeleteSubnetGroupCommandOutput} for command's `response` shape. + * @see {@link MemoryDBClientResolvedConfig | config} for command's `input` shape. + * + */ +export class DeleteSubnetGroupCommand extends $Command< + DeleteSubnetGroupCommandInput, + DeleteSubnetGroupCommandOutput, + MemoryDBClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DeleteSubnetGroupCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: MemoryDBClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "MemoryDBClient"; + const commandName = "DeleteSubnetGroupCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DeleteSubnetGroupRequest.filterSensitiveLog, + outputFilterSensitiveLog: DeleteSubnetGroupResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DeleteSubnetGroupCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1DeleteSubnetGroupCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1DeleteSubnetGroupCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-memorydb/commands/DeleteUserCommand.ts b/clients/client-memorydb/commands/DeleteUserCommand.ts new file mode 100644 index 000000000000..ecf12640c257 --- /dev/null +++ b/clients/client-memorydb/commands/DeleteUserCommand.ts @@ -0,0 +1,94 @@ +import { MemoryDBClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MemoryDBClient"; +import { DeleteUserRequest, DeleteUserResponse } from "../models/models_0"; +import { + deserializeAws_json1_1DeleteUserCommand, + serializeAws_json1_1DeleteUserCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface DeleteUserCommandInput extends DeleteUserRequest {} +export interface DeleteUserCommandOutput extends DeleteUserResponse, __MetadataBearer {} + +/** + *

          Deletes a user. The user will be removed from all ACLs and in turn removed from all clusters.

          + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { MemoryDBClient, DeleteUserCommand } from "@aws-sdk/client-memorydb"; // ES Modules import + * // const { MemoryDBClient, DeleteUserCommand } = require("@aws-sdk/client-memorydb"); // CommonJS import + * const client = new MemoryDBClient(config); + * const command = new DeleteUserCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link DeleteUserCommandInput} for command's `input` shape. + * @see {@link DeleteUserCommandOutput} for command's `response` shape. + * @see {@link MemoryDBClientResolvedConfig | config} for command's `input` shape. + * + */ +export class DeleteUserCommand extends $Command< + DeleteUserCommandInput, + DeleteUserCommandOutput, + MemoryDBClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DeleteUserCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: MemoryDBClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "MemoryDBClient"; + const commandName = "DeleteUserCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DeleteUserRequest.filterSensitiveLog, + outputFilterSensitiveLog: DeleteUserResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DeleteUserCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1DeleteUserCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1DeleteUserCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-memorydb/commands/DescribeACLsCommand.ts b/clients/client-memorydb/commands/DescribeACLsCommand.ts new file mode 100644 index 000000000000..73c75c2acea7 --- /dev/null +++ b/clients/client-memorydb/commands/DescribeACLsCommand.ts @@ -0,0 +1,94 @@ +import { MemoryDBClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MemoryDBClient"; +import { DescribeACLsRequest, DescribeACLsResponse } from "../models/models_0"; +import { + deserializeAws_json1_1DescribeACLsCommand, + serializeAws_json1_1DescribeACLsCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface DescribeACLsCommandInput extends DescribeACLsRequest {} +export interface DescribeACLsCommandOutput extends DescribeACLsResponse, __MetadataBearer {} + +/** + *

          Returns a list of ACLs

          + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { MemoryDBClient, DescribeACLsCommand } from "@aws-sdk/client-memorydb"; // ES Modules import + * // const { MemoryDBClient, DescribeACLsCommand } = require("@aws-sdk/client-memorydb"); // CommonJS import + * const client = new MemoryDBClient(config); + * const command = new DescribeACLsCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link DescribeACLsCommandInput} for command's `input` shape. + * @see {@link DescribeACLsCommandOutput} for command's `response` shape. + * @see {@link MemoryDBClientResolvedConfig | config} for command's `input` shape. + * + */ +export class DescribeACLsCommand extends $Command< + DescribeACLsCommandInput, + DescribeACLsCommandOutput, + MemoryDBClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeACLsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: MemoryDBClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "MemoryDBClient"; + const commandName = "DescribeACLsCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DescribeACLsRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeACLsResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DescribeACLsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1DescribeACLsCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1DescribeACLsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-memorydb/commands/DescribeClustersCommand.ts b/clients/client-memorydb/commands/DescribeClustersCommand.ts new file mode 100644 index 000000000000..2529b99771b1 --- /dev/null +++ b/clients/client-memorydb/commands/DescribeClustersCommand.ts @@ -0,0 +1,94 @@ +import { MemoryDBClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MemoryDBClient"; +import { DescribeClustersRequest, DescribeClustersResponse } from "../models/models_0"; +import { + deserializeAws_json1_1DescribeClustersCommand, + serializeAws_json1_1DescribeClustersCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface DescribeClustersCommandInput extends DescribeClustersRequest {} +export interface DescribeClustersCommandOutput extends DescribeClustersResponse, __MetadataBearer {} + +/** + *

          Returns information about all provisioned clusters if no cluster identifier is specified, or about a specific cluster if a cluster name is supplied.

          + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { MemoryDBClient, DescribeClustersCommand } from "@aws-sdk/client-memorydb"; // ES Modules import + * // const { MemoryDBClient, DescribeClustersCommand } = require("@aws-sdk/client-memorydb"); // CommonJS import + * const client = new MemoryDBClient(config); + * const command = new DescribeClustersCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link DescribeClustersCommandInput} for command's `input` shape. + * @see {@link DescribeClustersCommandOutput} for command's `response` shape. + * @see {@link MemoryDBClientResolvedConfig | config} for command's `input` shape. + * + */ +export class DescribeClustersCommand extends $Command< + DescribeClustersCommandInput, + DescribeClustersCommandOutput, + MemoryDBClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeClustersCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: MemoryDBClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "MemoryDBClient"; + const commandName = "DescribeClustersCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DescribeClustersRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeClustersResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DescribeClustersCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1DescribeClustersCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1DescribeClustersCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-memorydb/commands/DescribeEngineVersionsCommand.ts b/clients/client-memorydb/commands/DescribeEngineVersionsCommand.ts new file mode 100644 index 000000000000..96648a083ac0 --- /dev/null +++ b/clients/client-memorydb/commands/DescribeEngineVersionsCommand.ts @@ -0,0 +1,94 @@ +import { MemoryDBClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MemoryDBClient"; +import { DescribeEngineVersionsRequest, DescribeEngineVersionsResponse } from "../models/models_0"; +import { + deserializeAws_json1_1DescribeEngineVersionsCommand, + serializeAws_json1_1DescribeEngineVersionsCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface DescribeEngineVersionsCommandInput extends DescribeEngineVersionsRequest {} +export interface DescribeEngineVersionsCommandOutput extends DescribeEngineVersionsResponse, __MetadataBearer {} + +/** + *

          Returns a list of the available Redis engine versions.

          + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { MemoryDBClient, DescribeEngineVersionsCommand } from "@aws-sdk/client-memorydb"; // ES Modules import + * // const { MemoryDBClient, DescribeEngineVersionsCommand } = require("@aws-sdk/client-memorydb"); // CommonJS import + * const client = new MemoryDBClient(config); + * const command = new DescribeEngineVersionsCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link DescribeEngineVersionsCommandInput} for command's `input` shape. + * @see {@link DescribeEngineVersionsCommandOutput} for command's `response` shape. + * @see {@link MemoryDBClientResolvedConfig | config} for command's `input` shape. + * + */ +export class DescribeEngineVersionsCommand extends $Command< + DescribeEngineVersionsCommandInput, + DescribeEngineVersionsCommandOutput, + MemoryDBClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeEngineVersionsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: MemoryDBClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "MemoryDBClient"; + const commandName = "DescribeEngineVersionsCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DescribeEngineVersionsRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeEngineVersionsResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DescribeEngineVersionsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1DescribeEngineVersionsCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1DescribeEngineVersionsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-memorydb/commands/DescribeEventsCommand.ts b/clients/client-memorydb/commands/DescribeEventsCommand.ts new file mode 100644 index 000000000000..5b793f46c1c9 --- /dev/null +++ b/clients/client-memorydb/commands/DescribeEventsCommand.ts @@ -0,0 +1,96 @@ +import { MemoryDBClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MemoryDBClient"; +import { DescribeEventsRequest, DescribeEventsResponse } from "../models/models_0"; +import { + deserializeAws_json1_1DescribeEventsCommand, + serializeAws_json1_1DescribeEventsCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface DescribeEventsCommandInput extends DescribeEventsRequest {} +export interface DescribeEventsCommandOutput extends DescribeEventsResponse, __MetadataBearer {} + +/** + *

          Returns events related to clusters, security groups, and parameter groups. You can obtain events specific to a particular cluster, security group, or parameter group by providing the name as a parameter. + * + * By default, only the events occurring within the last hour are returned; however, you can retrieve up to 14 days' worth of events if necessary.

          + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { MemoryDBClient, DescribeEventsCommand } from "@aws-sdk/client-memorydb"; // ES Modules import + * // const { MemoryDBClient, DescribeEventsCommand } = require("@aws-sdk/client-memorydb"); // CommonJS import + * const client = new MemoryDBClient(config); + * const command = new DescribeEventsCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link DescribeEventsCommandInput} for command's `input` shape. + * @see {@link DescribeEventsCommandOutput} for command's `response` shape. + * @see {@link MemoryDBClientResolvedConfig | config} for command's `input` shape. + * + */ +export class DescribeEventsCommand extends $Command< + DescribeEventsCommandInput, + DescribeEventsCommandOutput, + MemoryDBClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeEventsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: MemoryDBClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "MemoryDBClient"; + const commandName = "DescribeEventsCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DescribeEventsRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeEventsResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DescribeEventsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1DescribeEventsCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1DescribeEventsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-memorydb/commands/DescribeParameterGroupsCommand.ts b/clients/client-memorydb/commands/DescribeParameterGroupsCommand.ts new file mode 100644 index 000000000000..aa637c38f41d --- /dev/null +++ b/clients/client-memorydb/commands/DescribeParameterGroupsCommand.ts @@ -0,0 +1,94 @@ +import { MemoryDBClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MemoryDBClient"; +import { DescribeParameterGroupsRequest, DescribeParameterGroupsResponse } from "../models/models_0"; +import { + deserializeAws_json1_1DescribeParameterGroupsCommand, + serializeAws_json1_1DescribeParameterGroupsCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface DescribeParameterGroupsCommandInput extends DescribeParameterGroupsRequest {} +export interface DescribeParameterGroupsCommandOutput extends DescribeParameterGroupsResponse, __MetadataBearer {} + +/** + *

          Returns a list of parameter group descriptions. If a parameter group name is specified, the list contains only the descriptions for that group.

          + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { MemoryDBClient, DescribeParameterGroupsCommand } from "@aws-sdk/client-memorydb"; // ES Modules import + * // const { MemoryDBClient, DescribeParameterGroupsCommand } = require("@aws-sdk/client-memorydb"); // CommonJS import + * const client = new MemoryDBClient(config); + * const command = new DescribeParameterGroupsCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link DescribeParameterGroupsCommandInput} for command's `input` shape. + * @see {@link DescribeParameterGroupsCommandOutput} for command's `response` shape. + * @see {@link MemoryDBClientResolvedConfig | config} for command's `input` shape. + * + */ +export class DescribeParameterGroupsCommand extends $Command< + DescribeParameterGroupsCommandInput, + DescribeParameterGroupsCommandOutput, + MemoryDBClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeParameterGroupsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: MemoryDBClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "MemoryDBClient"; + const commandName = "DescribeParameterGroupsCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DescribeParameterGroupsRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeParameterGroupsResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DescribeParameterGroupsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1DescribeParameterGroupsCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1DescribeParameterGroupsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-memorydb/commands/DescribeParametersCommand.ts b/clients/client-memorydb/commands/DescribeParametersCommand.ts new file mode 100644 index 000000000000..ef03d7650d8b --- /dev/null +++ b/clients/client-memorydb/commands/DescribeParametersCommand.ts @@ -0,0 +1,94 @@ +import { MemoryDBClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MemoryDBClient"; +import { DescribeParametersRequest, DescribeParametersResponse } from "../models/models_0"; +import { + deserializeAws_json1_1DescribeParametersCommand, + serializeAws_json1_1DescribeParametersCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface DescribeParametersCommandInput extends DescribeParametersRequest {} +export interface DescribeParametersCommandOutput extends DescribeParametersResponse, __MetadataBearer {} + +/** + *

          Returns the detailed parameter list for a particular parameter group.

          + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { MemoryDBClient, DescribeParametersCommand } from "@aws-sdk/client-memorydb"; // ES Modules import + * // const { MemoryDBClient, DescribeParametersCommand } = require("@aws-sdk/client-memorydb"); // CommonJS import + * const client = new MemoryDBClient(config); + * const command = new DescribeParametersCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link DescribeParametersCommandInput} for command's `input` shape. + * @see {@link DescribeParametersCommandOutput} for command's `response` shape. + * @see {@link MemoryDBClientResolvedConfig | config} for command's `input` shape. + * + */ +export class DescribeParametersCommand extends $Command< + DescribeParametersCommandInput, + DescribeParametersCommandOutput, + MemoryDBClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeParametersCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: MemoryDBClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "MemoryDBClient"; + const commandName = "DescribeParametersCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DescribeParametersRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeParametersResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DescribeParametersCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1DescribeParametersCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1DescribeParametersCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-memorydb/commands/DescribeServiceUpdatesCommand.ts b/clients/client-memorydb/commands/DescribeServiceUpdatesCommand.ts new file mode 100644 index 000000000000..e4865ca6cc07 --- /dev/null +++ b/clients/client-memorydb/commands/DescribeServiceUpdatesCommand.ts @@ -0,0 +1,94 @@ +import { MemoryDBClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MemoryDBClient"; +import { DescribeServiceUpdatesRequest, DescribeServiceUpdatesResponse } from "../models/models_0"; +import { + deserializeAws_json1_1DescribeServiceUpdatesCommand, + serializeAws_json1_1DescribeServiceUpdatesCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface DescribeServiceUpdatesCommandInput extends DescribeServiceUpdatesRequest {} +export interface DescribeServiceUpdatesCommandOutput extends DescribeServiceUpdatesResponse, __MetadataBearer {} + +/** + *

          Returns details of the service updates

          + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { MemoryDBClient, DescribeServiceUpdatesCommand } from "@aws-sdk/client-memorydb"; // ES Modules import + * // const { MemoryDBClient, DescribeServiceUpdatesCommand } = require("@aws-sdk/client-memorydb"); // CommonJS import + * const client = new MemoryDBClient(config); + * const command = new DescribeServiceUpdatesCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link DescribeServiceUpdatesCommandInput} for command's `input` shape. + * @see {@link DescribeServiceUpdatesCommandOutput} for command's `response` shape. + * @see {@link MemoryDBClientResolvedConfig | config} for command's `input` shape. + * + */ +export class DescribeServiceUpdatesCommand extends $Command< + DescribeServiceUpdatesCommandInput, + DescribeServiceUpdatesCommandOutput, + MemoryDBClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeServiceUpdatesCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: MemoryDBClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "MemoryDBClient"; + const commandName = "DescribeServiceUpdatesCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DescribeServiceUpdatesRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeServiceUpdatesResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DescribeServiceUpdatesCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1DescribeServiceUpdatesCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1DescribeServiceUpdatesCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-memorydb/commands/DescribeSnapshotsCommand.ts b/clients/client-memorydb/commands/DescribeSnapshotsCommand.ts new file mode 100644 index 000000000000..88c99e8e4349 --- /dev/null +++ b/clients/client-memorydb/commands/DescribeSnapshotsCommand.ts @@ -0,0 +1,95 @@ +import { MemoryDBClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MemoryDBClient"; +import { DescribeSnapshotsRequest, DescribeSnapshotsResponse } from "../models/models_0"; +import { + deserializeAws_json1_1DescribeSnapshotsCommand, + serializeAws_json1_1DescribeSnapshotsCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface DescribeSnapshotsCommandInput extends DescribeSnapshotsRequest {} +export interface DescribeSnapshotsCommandOutput extends DescribeSnapshotsResponse, __MetadataBearer {} + +/** + *

          Returns information about cluster snapshots. By default, DescribeSnapshots lists all of your snapshots; it can optionally describe a single snapshot, + * or just the snapshots associated with a particular cluster.

          + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { MemoryDBClient, DescribeSnapshotsCommand } from "@aws-sdk/client-memorydb"; // ES Modules import + * // const { MemoryDBClient, DescribeSnapshotsCommand } = require("@aws-sdk/client-memorydb"); // CommonJS import + * const client = new MemoryDBClient(config); + * const command = new DescribeSnapshotsCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link DescribeSnapshotsCommandInput} for command's `input` shape. + * @see {@link DescribeSnapshotsCommandOutput} for command's `response` shape. + * @see {@link MemoryDBClientResolvedConfig | config} for command's `input` shape. + * + */ +export class DescribeSnapshotsCommand extends $Command< + DescribeSnapshotsCommandInput, + DescribeSnapshotsCommandOutput, + MemoryDBClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeSnapshotsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: MemoryDBClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "MemoryDBClient"; + const commandName = "DescribeSnapshotsCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DescribeSnapshotsRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeSnapshotsResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DescribeSnapshotsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1DescribeSnapshotsCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1DescribeSnapshotsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-memorydb/commands/DescribeSubnetGroupsCommand.ts b/clients/client-memorydb/commands/DescribeSubnetGroupsCommand.ts new file mode 100644 index 000000000000..e0adbe059c71 --- /dev/null +++ b/clients/client-memorydb/commands/DescribeSubnetGroupsCommand.ts @@ -0,0 +1,94 @@ +import { MemoryDBClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MemoryDBClient"; +import { DescribeSubnetGroupsRequest, DescribeSubnetGroupsResponse } from "../models/models_0"; +import { + deserializeAws_json1_1DescribeSubnetGroupsCommand, + serializeAws_json1_1DescribeSubnetGroupsCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface DescribeSubnetGroupsCommandInput extends DescribeSubnetGroupsRequest {} +export interface DescribeSubnetGroupsCommandOutput extends DescribeSubnetGroupsResponse, __MetadataBearer {} + +/** + *

          Returns a list of subnet group descriptions. If a subnet group name is specified, the list contains only the description of that group.

          + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { MemoryDBClient, DescribeSubnetGroupsCommand } from "@aws-sdk/client-memorydb"; // ES Modules import + * // const { MemoryDBClient, DescribeSubnetGroupsCommand } = require("@aws-sdk/client-memorydb"); // CommonJS import + * const client = new MemoryDBClient(config); + * const command = new DescribeSubnetGroupsCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link DescribeSubnetGroupsCommandInput} for command's `input` shape. + * @see {@link DescribeSubnetGroupsCommandOutput} for command's `response` shape. + * @see {@link MemoryDBClientResolvedConfig | config} for command's `input` shape. + * + */ +export class DescribeSubnetGroupsCommand extends $Command< + DescribeSubnetGroupsCommandInput, + DescribeSubnetGroupsCommandOutput, + MemoryDBClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeSubnetGroupsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: MemoryDBClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "MemoryDBClient"; + const commandName = "DescribeSubnetGroupsCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DescribeSubnetGroupsRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeSubnetGroupsResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DescribeSubnetGroupsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1DescribeSubnetGroupsCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1DescribeSubnetGroupsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-memorydb/commands/DescribeUsersCommand.ts b/clients/client-memorydb/commands/DescribeUsersCommand.ts new file mode 100644 index 000000000000..967349c5c549 --- /dev/null +++ b/clients/client-memorydb/commands/DescribeUsersCommand.ts @@ -0,0 +1,94 @@ +import { MemoryDBClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MemoryDBClient"; +import { DescribeUsersRequest, DescribeUsersResponse } from "../models/models_0"; +import { + deserializeAws_json1_1DescribeUsersCommand, + serializeAws_json1_1DescribeUsersCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface DescribeUsersCommandInput extends DescribeUsersRequest {} +export interface DescribeUsersCommandOutput extends DescribeUsersResponse, __MetadataBearer {} + +/** + *

          Returns a list of users.

          + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { MemoryDBClient, DescribeUsersCommand } from "@aws-sdk/client-memorydb"; // ES Modules import + * // const { MemoryDBClient, DescribeUsersCommand } = require("@aws-sdk/client-memorydb"); // CommonJS import + * const client = new MemoryDBClient(config); + * const command = new DescribeUsersCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link DescribeUsersCommandInput} for command's `input` shape. + * @see {@link DescribeUsersCommandOutput} for command's `response` shape. + * @see {@link MemoryDBClientResolvedConfig | config} for command's `input` shape. + * + */ +export class DescribeUsersCommand extends $Command< + DescribeUsersCommandInput, + DescribeUsersCommandOutput, + MemoryDBClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeUsersCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: MemoryDBClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "MemoryDBClient"; + const commandName = "DescribeUsersCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DescribeUsersRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeUsersResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DescribeUsersCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1DescribeUsersCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1DescribeUsersCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-memorydb/commands/FailoverShardCommand.ts b/clients/client-memorydb/commands/FailoverShardCommand.ts new file mode 100644 index 000000000000..ac4abc3a5588 --- /dev/null +++ b/clients/client-memorydb/commands/FailoverShardCommand.ts @@ -0,0 +1,94 @@ +import { MemoryDBClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MemoryDBClient"; +import { FailoverShardRequest, FailoverShardResponse } from "../models/models_0"; +import { + deserializeAws_json1_1FailoverShardCommand, + serializeAws_json1_1FailoverShardCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface FailoverShardCommandInput extends FailoverShardRequest {} +export interface FailoverShardCommandOutput extends FailoverShardResponse, __MetadataBearer {} + +/** + *

          Used to failover a shard

          + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { MemoryDBClient, FailoverShardCommand } from "@aws-sdk/client-memorydb"; // ES Modules import + * // const { MemoryDBClient, FailoverShardCommand } = require("@aws-sdk/client-memorydb"); // CommonJS import + * const client = new MemoryDBClient(config); + * const command = new FailoverShardCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link FailoverShardCommandInput} for command's `input` shape. + * @see {@link FailoverShardCommandOutput} for command's `response` shape. + * @see {@link MemoryDBClientResolvedConfig | config} for command's `input` shape. + * + */ +export class FailoverShardCommand extends $Command< + FailoverShardCommandInput, + FailoverShardCommandOutput, + MemoryDBClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: FailoverShardCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: MemoryDBClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "MemoryDBClient"; + const commandName = "FailoverShardCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: FailoverShardRequest.filterSensitiveLog, + outputFilterSensitiveLog: FailoverShardResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: FailoverShardCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1FailoverShardCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1FailoverShardCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-memorydb/commands/ListAllowedNodeTypeUpdatesCommand.ts b/clients/client-memorydb/commands/ListAllowedNodeTypeUpdatesCommand.ts new file mode 100644 index 000000000000..db52c6465cb4 --- /dev/null +++ b/clients/client-memorydb/commands/ListAllowedNodeTypeUpdatesCommand.ts @@ -0,0 +1,99 @@ +import { MemoryDBClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MemoryDBClient"; +import { ListAllowedNodeTypeUpdatesRequest, ListAllowedNodeTypeUpdatesResponse } from "../models/models_0"; +import { + deserializeAws_json1_1ListAllowedNodeTypeUpdatesCommand, + serializeAws_json1_1ListAllowedNodeTypeUpdatesCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface ListAllowedNodeTypeUpdatesCommandInput extends ListAllowedNodeTypeUpdatesRequest {} +export interface ListAllowedNodeTypeUpdatesCommandOutput extends ListAllowedNodeTypeUpdatesResponse, __MetadataBearer {} + +/** + *

          Lists all available node types that you can scale to from your cluster's current node type. + * + * When you use the UpdateCluster operation to scale your cluster, the value of the NodeType parameter must be one of the node types returned by this operation.

          + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { MemoryDBClient, ListAllowedNodeTypeUpdatesCommand } from "@aws-sdk/client-memorydb"; // ES Modules import + * // const { MemoryDBClient, ListAllowedNodeTypeUpdatesCommand } = require("@aws-sdk/client-memorydb"); // CommonJS import + * const client = new MemoryDBClient(config); + * const command = new ListAllowedNodeTypeUpdatesCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link ListAllowedNodeTypeUpdatesCommandInput} for command's `input` shape. + * @see {@link ListAllowedNodeTypeUpdatesCommandOutput} for command's `response` shape. + * @see {@link MemoryDBClientResolvedConfig | config} for command's `input` shape. + * + */ +export class ListAllowedNodeTypeUpdatesCommand extends $Command< + ListAllowedNodeTypeUpdatesCommandInput, + ListAllowedNodeTypeUpdatesCommandOutput, + MemoryDBClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListAllowedNodeTypeUpdatesCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: MemoryDBClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "MemoryDBClient"; + const commandName = "ListAllowedNodeTypeUpdatesCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: ListAllowedNodeTypeUpdatesRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListAllowedNodeTypeUpdatesResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ListAllowedNodeTypeUpdatesCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1ListAllowedNodeTypeUpdatesCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1ListAllowedNodeTypeUpdatesCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-memorydb/commands/ListTagsCommand.ts b/clients/client-memorydb/commands/ListTagsCommand.ts new file mode 100644 index 000000000000..07a345975841 --- /dev/null +++ b/clients/client-memorydb/commands/ListTagsCommand.ts @@ -0,0 +1,95 @@ +import { MemoryDBClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MemoryDBClient"; +import { ListTagsRequest, ListTagsResponse } from "../models/models_0"; +import { deserializeAws_json1_1ListTagsCommand, serializeAws_json1_1ListTagsCommand } from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface ListTagsCommandInput extends ListTagsRequest {} +export interface ListTagsCommandOutput extends ListTagsResponse, __MetadataBearer {} + +/** + *

          Lists all tags currently on a named resource. + * + * A tag is a key-value pair where the key and value are case-sensitive. You can use tags to categorize and track your MemoryDB resources. + * For more information, see Tagging your MemoryDB resources + *

          + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { MemoryDBClient, ListTagsCommand } from "@aws-sdk/client-memorydb"; // ES Modules import + * // const { MemoryDBClient, ListTagsCommand } = require("@aws-sdk/client-memorydb"); // CommonJS import + * const client = new MemoryDBClient(config); + * const command = new ListTagsCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link ListTagsCommandInput} for command's `input` shape. + * @see {@link ListTagsCommandOutput} for command's `response` shape. + * @see {@link MemoryDBClientResolvedConfig | config} for command's `input` shape. + * + */ +export class ListTagsCommand extends $Command< + ListTagsCommandInput, + ListTagsCommandOutput, + MemoryDBClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListTagsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: MemoryDBClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "MemoryDBClient"; + const commandName = "ListTagsCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: ListTagsRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListTagsResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ListTagsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1ListTagsCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1ListTagsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-memorydb/commands/ResetParameterGroupCommand.ts b/clients/client-memorydb/commands/ResetParameterGroupCommand.ts new file mode 100644 index 000000000000..6de487bc3301 --- /dev/null +++ b/clients/client-memorydb/commands/ResetParameterGroupCommand.ts @@ -0,0 +1,94 @@ +import { MemoryDBClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MemoryDBClient"; +import { ResetParameterGroupRequest, ResetParameterGroupResponse } from "../models/models_0"; +import { + deserializeAws_json1_1ResetParameterGroupCommand, + serializeAws_json1_1ResetParameterGroupCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface ResetParameterGroupCommandInput extends ResetParameterGroupRequest {} +export interface ResetParameterGroupCommandOutput extends ResetParameterGroupResponse, __MetadataBearer {} + +/** + *

          Modifies the parameters of a parameter group to the engine or system default value. You can reset specific parameters by submitting a list of parameter names. To reset the entire parameter group, specify the AllParameters and ParameterGroupName parameters.

          + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { MemoryDBClient, ResetParameterGroupCommand } from "@aws-sdk/client-memorydb"; // ES Modules import + * // const { MemoryDBClient, ResetParameterGroupCommand } = require("@aws-sdk/client-memorydb"); // CommonJS import + * const client = new MemoryDBClient(config); + * const command = new ResetParameterGroupCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link ResetParameterGroupCommandInput} for command's `input` shape. + * @see {@link ResetParameterGroupCommandOutput} for command's `response` shape. + * @see {@link MemoryDBClientResolvedConfig | config} for command's `input` shape. + * + */ +export class ResetParameterGroupCommand extends $Command< + ResetParameterGroupCommandInput, + ResetParameterGroupCommandOutput, + MemoryDBClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ResetParameterGroupCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: MemoryDBClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "MemoryDBClient"; + const commandName = "ResetParameterGroupCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: ResetParameterGroupRequest.filterSensitiveLog, + outputFilterSensitiveLog: ResetParameterGroupResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ResetParameterGroupCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1ResetParameterGroupCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1ResetParameterGroupCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-memorydb/commands/TagResourceCommand.ts b/clients/client-memorydb/commands/TagResourceCommand.ts new file mode 100644 index 000000000000..93c61e81075f --- /dev/null +++ b/clients/client-memorydb/commands/TagResourceCommand.ts @@ -0,0 +1,104 @@ +import { MemoryDBClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MemoryDBClient"; +import { TagResourceRequest, TagResourceResponse } from "../models/models_0"; +import { + deserializeAws_json1_1TagResourceCommand, + serializeAws_json1_1TagResourceCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface TagResourceCommandInput extends TagResourceRequest {} +export interface TagResourceCommandOutput extends TagResourceResponse, __MetadataBearer {} + +/** + *

          A tag is a key-value pair where the key and value are case-sensitive. You can use tags to categorize and track all your MemoryDB resources. + * + * When you add or remove tags on clusters, those actions will be replicated to all nodes in the cluster. For more information, see + * + * Resource-level permissions.

          + * + *

          For example, you can use cost-allocation tags to your MemoryDB resources, Amazon generates a cost allocation report as a comma-separated value + * (CSV) file with your usage and costs aggregated by your tags. You can apply tags that represent business categories + * (such as cost centers, application names, or owners) to organize your costs across multiple services. + * + * For more information, see Using Cost Allocation Tags.

          + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { MemoryDBClient, TagResourceCommand } from "@aws-sdk/client-memorydb"; // ES Modules import + * // const { MemoryDBClient, TagResourceCommand } = require("@aws-sdk/client-memorydb"); // CommonJS import + * const client = new MemoryDBClient(config); + * const command = new TagResourceCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link TagResourceCommandInput} for command's `input` shape. + * @see {@link TagResourceCommandOutput} for command's `response` shape. + * @see {@link MemoryDBClientResolvedConfig | config} for command's `input` shape. + * + */ +export class TagResourceCommand extends $Command< + TagResourceCommandInput, + TagResourceCommandOutput, + MemoryDBClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: TagResourceCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: MemoryDBClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "MemoryDBClient"; + const commandName = "TagResourceCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: TagResourceRequest.filterSensitiveLog, + outputFilterSensitiveLog: TagResourceResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: TagResourceCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1TagResourceCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1TagResourceCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-memorydb/commands/UntagResourceCommand.ts b/clients/client-memorydb/commands/UntagResourceCommand.ts new file mode 100644 index 000000000000..3a479280a28b --- /dev/null +++ b/clients/client-memorydb/commands/UntagResourceCommand.ts @@ -0,0 +1,94 @@ +import { MemoryDBClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MemoryDBClient"; +import { UntagResourceRequest, UntagResourceResponse } from "../models/models_0"; +import { + deserializeAws_json1_1UntagResourceCommand, + serializeAws_json1_1UntagResourceCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface UntagResourceCommandInput extends UntagResourceRequest {} +export interface UntagResourceCommandOutput extends UntagResourceResponse, __MetadataBearer {} + +/** + *

          Use this operation to remove tags on a resource

          + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { MemoryDBClient, UntagResourceCommand } from "@aws-sdk/client-memorydb"; // ES Modules import + * // const { MemoryDBClient, UntagResourceCommand } = require("@aws-sdk/client-memorydb"); // CommonJS import + * const client = new MemoryDBClient(config); + * const command = new UntagResourceCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link UntagResourceCommandInput} for command's `input` shape. + * @see {@link UntagResourceCommandOutput} for command's `response` shape. + * @see {@link MemoryDBClientResolvedConfig | config} for command's `input` shape. + * + */ +export class UntagResourceCommand extends $Command< + UntagResourceCommandInput, + UntagResourceCommandOutput, + MemoryDBClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: UntagResourceCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: MemoryDBClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "MemoryDBClient"; + const commandName = "UntagResourceCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: UntagResourceRequest.filterSensitiveLog, + outputFilterSensitiveLog: UntagResourceResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: UntagResourceCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1UntagResourceCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1UntagResourceCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-memorydb/commands/UpdateACLCommand.ts b/clients/client-memorydb/commands/UpdateACLCommand.ts new file mode 100644 index 000000000000..374b5d59c468 --- /dev/null +++ b/clients/client-memorydb/commands/UpdateACLCommand.ts @@ -0,0 +1,91 @@ +import { MemoryDBClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MemoryDBClient"; +import { UpdateACLRequest, UpdateACLResponse } from "../models/models_0"; +import { deserializeAws_json1_1UpdateACLCommand, serializeAws_json1_1UpdateACLCommand } from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface UpdateACLCommandInput extends UpdateACLRequest {} +export interface UpdateACLCommandOutput extends UpdateACLResponse, __MetadataBearer {} + +/** + *

          Changes the list of users that belong to the Access Control List.

          + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { MemoryDBClient, UpdateACLCommand } from "@aws-sdk/client-memorydb"; // ES Modules import + * // const { MemoryDBClient, UpdateACLCommand } = require("@aws-sdk/client-memorydb"); // CommonJS import + * const client = new MemoryDBClient(config); + * const command = new UpdateACLCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link UpdateACLCommandInput} for command's `input` shape. + * @see {@link UpdateACLCommandOutput} for command's `response` shape. + * @see {@link MemoryDBClientResolvedConfig | config} for command's `input` shape. + * + */ +export class UpdateACLCommand extends $Command< + UpdateACLCommandInput, + UpdateACLCommandOutput, + MemoryDBClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: UpdateACLCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: MemoryDBClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "MemoryDBClient"; + const commandName = "UpdateACLCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: UpdateACLRequest.filterSensitiveLog, + outputFilterSensitiveLog: UpdateACLResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: UpdateACLCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1UpdateACLCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1UpdateACLCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-memorydb/commands/UpdateClusterCommand.ts b/clients/client-memorydb/commands/UpdateClusterCommand.ts new file mode 100644 index 000000000000..bd7c83899cdb --- /dev/null +++ b/clients/client-memorydb/commands/UpdateClusterCommand.ts @@ -0,0 +1,94 @@ +import { MemoryDBClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MemoryDBClient"; +import { UpdateClusterRequest, UpdateClusterResponse } from "../models/models_0"; +import { + deserializeAws_json1_1UpdateClusterCommand, + serializeAws_json1_1UpdateClusterCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface UpdateClusterCommandInput extends UpdateClusterRequest {} +export interface UpdateClusterCommandOutput extends UpdateClusterResponse, __MetadataBearer {} + +/** + *

          Modifies the settings for a cluster. You can use this operation to change one or more cluster configuration settings by specifying the settings and the new values.

          + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { MemoryDBClient, UpdateClusterCommand } from "@aws-sdk/client-memorydb"; // ES Modules import + * // const { MemoryDBClient, UpdateClusterCommand } = require("@aws-sdk/client-memorydb"); // CommonJS import + * const client = new MemoryDBClient(config); + * const command = new UpdateClusterCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link UpdateClusterCommandInput} for command's `input` shape. + * @see {@link UpdateClusterCommandOutput} for command's `response` shape. + * @see {@link MemoryDBClientResolvedConfig | config} for command's `input` shape. + * + */ +export class UpdateClusterCommand extends $Command< + UpdateClusterCommandInput, + UpdateClusterCommandOutput, + MemoryDBClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: UpdateClusterCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: MemoryDBClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "MemoryDBClient"; + const commandName = "UpdateClusterCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: UpdateClusterRequest.filterSensitiveLog, + outputFilterSensitiveLog: UpdateClusterResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: UpdateClusterCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1UpdateClusterCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1UpdateClusterCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-memorydb/commands/UpdateParameterGroupCommand.ts b/clients/client-memorydb/commands/UpdateParameterGroupCommand.ts new file mode 100644 index 000000000000..e57acb65a597 --- /dev/null +++ b/clients/client-memorydb/commands/UpdateParameterGroupCommand.ts @@ -0,0 +1,94 @@ +import { MemoryDBClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MemoryDBClient"; +import { UpdateParameterGroupRequest, UpdateParameterGroupResponse } from "../models/models_0"; +import { + deserializeAws_json1_1UpdateParameterGroupCommand, + serializeAws_json1_1UpdateParameterGroupCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface UpdateParameterGroupCommandInput extends UpdateParameterGroupRequest {} +export interface UpdateParameterGroupCommandOutput extends UpdateParameterGroupResponse, __MetadataBearer {} + +/** + *

          Updates the parameters of a parameter group. You can modify up to 20 parameters in a single request by submitting a list parameter name and value pairs.

          + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { MemoryDBClient, UpdateParameterGroupCommand } from "@aws-sdk/client-memorydb"; // ES Modules import + * // const { MemoryDBClient, UpdateParameterGroupCommand } = require("@aws-sdk/client-memorydb"); // CommonJS import + * const client = new MemoryDBClient(config); + * const command = new UpdateParameterGroupCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link UpdateParameterGroupCommandInput} for command's `input` shape. + * @see {@link UpdateParameterGroupCommandOutput} for command's `response` shape. + * @see {@link MemoryDBClientResolvedConfig | config} for command's `input` shape. + * + */ +export class UpdateParameterGroupCommand extends $Command< + UpdateParameterGroupCommandInput, + UpdateParameterGroupCommandOutput, + MemoryDBClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: UpdateParameterGroupCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: MemoryDBClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "MemoryDBClient"; + const commandName = "UpdateParameterGroupCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: UpdateParameterGroupRequest.filterSensitiveLog, + outputFilterSensitiveLog: UpdateParameterGroupResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: UpdateParameterGroupCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1UpdateParameterGroupCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1UpdateParameterGroupCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-memorydb/commands/UpdateSubnetGroupCommand.ts b/clients/client-memorydb/commands/UpdateSubnetGroupCommand.ts new file mode 100644 index 000000000000..48bcd6fb31b3 --- /dev/null +++ b/clients/client-memorydb/commands/UpdateSubnetGroupCommand.ts @@ -0,0 +1,95 @@ +import { MemoryDBClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MemoryDBClient"; +import { UpdateSubnetGroupRequest, UpdateSubnetGroupResponse } from "../models/models_0"; +import { + deserializeAws_json1_1UpdateSubnetGroupCommand, + serializeAws_json1_1UpdateSubnetGroupCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface UpdateSubnetGroupCommandInput extends UpdateSubnetGroupRequest {} +export interface UpdateSubnetGroupCommandOutput extends UpdateSubnetGroupResponse, __MetadataBearer {} + +/** + *

          Updates a subnet group. For more information, see Updating a subnet group + *

          + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { MemoryDBClient, UpdateSubnetGroupCommand } from "@aws-sdk/client-memorydb"; // ES Modules import + * // const { MemoryDBClient, UpdateSubnetGroupCommand } = require("@aws-sdk/client-memorydb"); // CommonJS import + * const client = new MemoryDBClient(config); + * const command = new UpdateSubnetGroupCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link UpdateSubnetGroupCommandInput} for command's `input` shape. + * @see {@link UpdateSubnetGroupCommandOutput} for command's `response` shape. + * @see {@link MemoryDBClientResolvedConfig | config} for command's `input` shape. + * + */ +export class UpdateSubnetGroupCommand extends $Command< + UpdateSubnetGroupCommandInput, + UpdateSubnetGroupCommandOutput, + MemoryDBClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: UpdateSubnetGroupCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: MemoryDBClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "MemoryDBClient"; + const commandName = "UpdateSubnetGroupCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: UpdateSubnetGroupRequest.filterSensitiveLog, + outputFilterSensitiveLog: UpdateSubnetGroupResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: UpdateSubnetGroupCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1UpdateSubnetGroupCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1UpdateSubnetGroupCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-memorydb/commands/UpdateUserCommand.ts b/clients/client-memorydb/commands/UpdateUserCommand.ts new file mode 100644 index 000000000000..0cdb182f2bce --- /dev/null +++ b/clients/client-memorydb/commands/UpdateUserCommand.ts @@ -0,0 +1,94 @@ +import { MemoryDBClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MemoryDBClient"; +import { UpdateUserRequest, UpdateUserResponse } from "../models/models_0"; +import { + deserializeAws_json1_1UpdateUserCommand, + serializeAws_json1_1UpdateUserCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface UpdateUserCommandInput extends UpdateUserRequest {} +export interface UpdateUserCommandOutput extends UpdateUserResponse, __MetadataBearer {} + +/** + *

          Changes user password(s) and/or access string.

          + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { MemoryDBClient, UpdateUserCommand } from "@aws-sdk/client-memorydb"; // ES Modules import + * // const { MemoryDBClient, UpdateUserCommand } = require("@aws-sdk/client-memorydb"); // CommonJS import + * const client = new MemoryDBClient(config); + * const command = new UpdateUserCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link UpdateUserCommandInput} for command's `input` shape. + * @see {@link UpdateUserCommandOutput} for command's `response` shape. + * @see {@link MemoryDBClientResolvedConfig | config} for command's `input` shape. + * + */ +export class UpdateUserCommand extends $Command< + UpdateUserCommandInput, + UpdateUserCommandOutput, + MemoryDBClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: UpdateUserCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: MemoryDBClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "MemoryDBClient"; + const commandName = "UpdateUserCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: UpdateUserRequest.filterSensitiveLog, + outputFilterSensitiveLog: UpdateUserResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: UpdateUserCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1UpdateUserCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1UpdateUserCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-memorydb/endpoints.ts b/clients/client-memorydb/endpoints.ts new file mode 100644 index 000000000000..d99d63489ead --- /dev/null +++ b/clients/client-memorydb/endpoints.ts @@ -0,0 +1,84 @@ +import { RegionInfo, RegionInfoProvider } from "@aws-sdk/types"; + +// Partition default templates +const AWS_TEMPLATE = "memory-db.{region}.amazonaws.com"; +const AWS_CN_TEMPLATE = "memory-db.{region}.amazonaws.com.cn"; +const AWS_ISO_TEMPLATE = "memory-db.{region}.c2s.ic.gov"; +const AWS_ISO_B_TEMPLATE = "memory-db.{region}.sc2s.sgov.gov"; +const AWS_US_GOV_TEMPLATE = "memory-db.{region}.amazonaws.com"; + +// Partition regions +const AWS_REGIONS = new Set([ + "af-south-1", + "ap-east-1", + "ap-northeast-1", + "ap-northeast-2", + "ap-northeast-3", + "ap-south-1", + "ap-southeast-1", + "ap-southeast-2", + "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", +]); +const AWS_CN_REGIONS = new Set(["cn-north-1", "cn-northwest-1"]); +const AWS_ISO_REGIONS = new Set(["us-iso-east-1"]); +const AWS_ISO_B_REGIONS = new Set(["us-isob-east-1"]); +const AWS_US_GOV_REGIONS = new Set(["us-gov-east-1", "us-gov-west-1"]); + +export const defaultRegionInfoProvider: RegionInfoProvider = (region: string, options?: any) => { + let regionInfo: RegionInfo | undefined = undefined; + switch (region) { + // First, try to match exact region names. + // Next, try to match partition endpoints. + default: + if (AWS_REGIONS.has(region)) { + regionInfo = { + hostname: AWS_TEMPLATE.replace("{region}", region), + partition: "aws", + }; + } + if (AWS_CN_REGIONS.has(region)) { + regionInfo = { + hostname: AWS_CN_TEMPLATE.replace("{region}", region), + partition: "aws-cn", + }; + } + if (AWS_ISO_REGIONS.has(region)) { + regionInfo = { + hostname: AWS_ISO_TEMPLATE.replace("{region}", region), + partition: "aws-iso", + }; + } + if (AWS_ISO_B_REGIONS.has(region)) { + regionInfo = { + hostname: AWS_ISO_B_TEMPLATE.replace("{region}", region), + partition: "aws-iso-b", + }; + } + if (AWS_US_GOV_REGIONS.has(region)) { + regionInfo = { + hostname: AWS_US_GOV_TEMPLATE.replace("{region}", region), + partition: "aws-us-gov", + }; + } + // Finally, assume it's an AWS partition endpoint. + if (regionInfo === undefined) { + regionInfo = { + hostname: AWS_TEMPLATE.replace("{region}", region), + partition: "aws", + }; + } + } + return Promise.resolve({ signingService: "memorydb", ...regionInfo }); +}; diff --git a/clients/client-memorydb/index.ts b/clients/client-memorydb/index.ts new file mode 100644 index 000000000000..cc9b447de5f5 --- /dev/null +++ b/clients/client-memorydb/index.ts @@ -0,0 +1,38 @@ +export * from "./MemoryDBClient"; +export * from "./MemoryDB"; +export * from "./commands/BatchUpdateClusterCommand"; +export * from "./commands/CopySnapshotCommand"; +export * from "./commands/CreateACLCommand"; +export * from "./commands/CreateClusterCommand"; +export * from "./commands/CreateParameterGroupCommand"; +export * from "./commands/CreateSnapshotCommand"; +export * from "./commands/CreateSubnetGroupCommand"; +export * from "./commands/CreateUserCommand"; +export * from "./commands/DeleteACLCommand"; +export * from "./commands/DeleteClusterCommand"; +export * from "./commands/DeleteParameterGroupCommand"; +export * from "./commands/DeleteSnapshotCommand"; +export * from "./commands/DeleteSubnetGroupCommand"; +export * from "./commands/DeleteUserCommand"; +export * from "./commands/DescribeACLsCommand"; +export * from "./commands/DescribeClustersCommand"; +export * from "./commands/DescribeEngineVersionsCommand"; +export * from "./commands/DescribeEventsCommand"; +export * from "./commands/DescribeParameterGroupsCommand"; +export * from "./commands/DescribeParametersCommand"; +export * from "./commands/DescribeServiceUpdatesCommand"; +export * from "./commands/DescribeSnapshotsCommand"; +export * from "./commands/DescribeSubnetGroupsCommand"; +export * from "./commands/DescribeUsersCommand"; +export * from "./commands/FailoverShardCommand"; +export * from "./commands/ListAllowedNodeTypeUpdatesCommand"; +export * from "./commands/ListTagsCommand"; +export * from "./commands/ResetParameterGroupCommand"; +export * from "./commands/TagResourceCommand"; +export * from "./commands/UntagResourceCommand"; +export * from "./commands/UpdateACLCommand"; +export * from "./commands/UpdateClusterCommand"; +export * from "./commands/UpdateParameterGroupCommand"; +export * from "./commands/UpdateSubnetGroupCommand"; +export * from "./commands/UpdateUserCommand"; +export * from "./models/index"; diff --git a/clients/client-memorydb/jest.config.js b/clients/client-memorydb/jest.config.js new file mode 100644 index 000000000000..02eed352c6a8 --- /dev/null +++ b/clients/client-memorydb/jest.config.js @@ -0,0 +1,4 @@ +module.exports = { + preset: "ts-jest", + testMatch: ["**/*.spec.ts", "!**/*.browser.spec.ts", "!**/*.integ.spec.ts"], +}; diff --git a/clients/client-memorydb/models/index.ts b/clients/client-memorydb/models/index.ts new file mode 100644 index 000000000000..09c5d6e09b8c --- /dev/null +++ b/clients/client-memorydb/models/index.ts @@ -0,0 +1 @@ +export * from "./models_0"; diff --git a/clients/client-memorydb/models/models_0.ts b/clients/client-memorydb/models/models_0.ts new file mode 100644 index 000000000000..267bc17e3eff --- /dev/null +++ b/clients/client-memorydb/models/models_0.ts @@ -0,0 +1,3789 @@ +import { MetadataBearer as $MetadataBearer, SmithyException as __SmithyException } from "@aws-sdk/types"; + +/** + *

          Returns the updates being applied to the ACL.

          + */ +export interface ACLPendingChanges { + /** + *

          A list of user names being removed from the ACL

          + */ + UserNamesToRemove?: string[]; + + /** + *

          A list of users being added to the ACL

          + */ + UserNamesToAdd?: string[]; +} + +export namespace ACLPendingChanges { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ACLPendingChanges): any => ({ + ...obj, + }); +} + +/** + *

          An Access Control List. You can authenticate users with Access Contol Lists. + * + * ACLs enable you to control cluster access by grouping users. These Access control lists are designed as a way to organize access to clusters.

          + */ +export interface ACL { + /** + *

          The name of the Access Control List

          + */ + Name?: string; + + /** + *

          Indicates ACL status. Can be "creating", "active", "modifying", "deleting".

          + */ + Status?: string; + + /** + *

          The list of user names that belong to the ACL.

          + */ + UserNames?: string[]; + + /** + *

          The minimum engine version supported for the ACL

          + */ + MinimumEngineVersion?: string; + + /** + *

          A list of updates being applied to the ACL.

          + */ + PendingChanges?: ACLPendingChanges; + + /** + *

          A list of clusters associated with the ACL.

          + */ + Clusters?: string[]; + + /** + *

          The Amazon Resource Name (ARN) of the ACL

          + */ + ARN?: string; +} + +export namespace ACL { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ACL): any => ({ + ...obj, + }); +} + +/** + *

          + */ +export interface ACLAlreadyExistsFault extends __SmithyException, $MetadataBearer { + name: "ACLAlreadyExistsFault"; + $fault: "client"; + message?: string; +} + +export namespace ACLAlreadyExistsFault { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ACLAlreadyExistsFault): any => ({ + ...obj, + }); +} + +/** + *

          + */ +export interface ACLNotFoundFault extends __SmithyException, $MetadataBearer { + name: "ACLNotFoundFault"; + $fault: "client"; + message?: string; +} + +export namespace ACLNotFoundFault { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ACLNotFoundFault): any => ({ + ...obj, + }); +} + +/** + *

          + */ +export interface ACLQuotaExceededFault extends __SmithyException, $MetadataBearer { + name: "ACLQuotaExceededFault"; + $fault: "client"; + message?: string; +} + +export namespace ACLQuotaExceededFault { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ACLQuotaExceededFault): any => ({ + ...obj, + }); +} + +/** + *

          The status of the ACL update

          + */ +export interface ACLsUpdateStatus { + /** + *

          A list of ACLs pending to be applied.

          + */ + ACLToApply?: string; +} + +export namespace ACLsUpdateStatus { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ACLsUpdateStatus): any => ({ + ...obj, + }); +} + +/** + *

          A request to apply a service update

          + */ +export interface ServiceUpdateRequest { + /** + *

          The unique ID of the service update

          + */ + ServiceUpdateNameToApply?: string; +} + +export namespace ServiceUpdateRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ServiceUpdateRequest): any => ({ + ...obj, + }); +} + +export interface BatchUpdateClusterRequest { + /** + *

          The cluster names to apply the updates.

          + */ + ClusterNames: string[] | undefined; + + /** + *

          The unique ID of the service update

          + */ + ServiceUpdate?: ServiceUpdateRequest; +} + +export namespace BatchUpdateClusterRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: BatchUpdateClusterRequest): any => ({ + ...obj, + }); +} + +export enum AZStatus { + MultiAZ = "multiaz", + SingleAZ = "singleaz", +} + +/** + *

          Represents the information required for client programs to connect to the cluster and its nodes.

          + */ +export interface Endpoint { + /** + *

          The DNS hostname of the node.

          + */ + Address?: string; + + /** + *

          The port number that the engine is listening on.

          + */ + Port?: number; +} + +export namespace Endpoint { + /** + * @internal + */ + export const filterSensitiveLog = (obj: Endpoint): any => ({ + ...obj, + }); +} + +/** + *

          Represents the progress of an online resharding operation.

          + */ +export interface SlotMigration { + /** + *

          The percentage of the slot migration that is complete.

          + */ + ProgressPercentage?: number; +} + +export namespace SlotMigration { + /** + * @internal + */ + export const filterSensitiveLog = (obj: SlotMigration): any => ({ + ...obj, + }); +} + +/** + *

          The status of the online resharding

          + */ +export interface ReshardingStatus { + /** + *

          The status of the online resharding slot migration

          + */ + SlotMigration?: SlotMigration; +} + +export namespace ReshardingStatus { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ReshardingStatus): any => ({ + ...obj, + }); +} + +export enum ServiceUpdateStatus { + COMPLETE = "complete", + IN_PROGRESS = "in-progress", + NOT_APPLIED = "available", + SCHEDULED = "scheduled", +} + +/** + *

          Update action that has yet to be processed for the corresponding apply/stop request

          + */ +export interface PendingModifiedServiceUpdate { + /** + *

          The unique ID of the service update

          + */ + ServiceUpdateName?: string; + + /** + *

          The status of the service update

          + */ + Status?: ServiceUpdateStatus | string; +} + +export namespace PendingModifiedServiceUpdate { + /** + * @internal + */ + export const filterSensitiveLog = (obj: PendingModifiedServiceUpdate): any => ({ + ...obj, + }); +} + +/** + *

          A list of updates being applied to the cluster

          + */ +export interface ClusterPendingUpdates { + /** + *

          The status of an online resharding operation.

          + */ + Resharding?: ReshardingStatus; + + /** + *

          A list of ACLs associated with the cluster that are being updated

          + */ + ACLs?: ACLsUpdateStatus; + + /** + *

          A list of service updates being applied to the cluster

          + */ + ServiceUpdates?: PendingModifiedServiceUpdate[]; +} + +export namespace ClusterPendingUpdates { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ClusterPendingUpdates): any => ({ + ...obj, + }); +} + +/** + *

          Represents a single security group and its status.

          + */ +export interface SecurityGroupMembership { + /** + *

          The identifier of the security group.

          + */ + SecurityGroupId?: string; + + /** + *

          The status of the security group membership. The status changes whenever a security group is modified, or when the security groups assigned to a cluster are modified.

          + */ + Status?: string; +} + +export namespace SecurityGroupMembership { + /** + * @internal + */ + export const filterSensitiveLog = (obj: SecurityGroupMembership): any => ({ + ...obj, + }); +} + +/** + *

          Represents an individual node within a cluster. Each node runs its own instance of the cluster's protocol-compliant caching software.

          + */ +export interface Node { + /** + *

          The node identifier. A node name is a numeric identifier (0001, 0002, etc.). The combination of cluster name, shard name and node name uniquely identifies every node used in a customer's Amazon account.

          + */ + Name?: string; + + /** + *

          The status of the service update on the node

          + */ + Status?: string; + + /** + *

          The Availability Zone in which the node resides

          + */ + AvailabilityZone?: string; + + /** + *

          The date and time when the node was created.

          + */ + CreateTime?: Date; + + /** + *

          The hostname for connecting to this node.

          + */ + Endpoint?: Endpoint; +} + +export namespace Node { + /** + * @internal + */ + export const filterSensitiveLog = (obj: Node): any => ({ + ...obj, + }); +} + +/** + *

          Represents a collection of nodes in a cluster. One node in the node group is the read/write primary node. All the other nodes are read-only Replica nodes.

          + */ +export interface Shard { + /** + *

          The name of the shard

          + */ + Name?: string; + + /** + *

          The current state of this replication group - creating, available, modifying, deleting.

          + */ + Status?: string; + + /** + *

          The keyspace for this shard.

          + */ + Slots?: string; + + /** + *

          A list containing information about individual nodes within the shard

          + */ + Nodes?: Node[]; + + /** + *

          The number of nodes in the shard

          + */ + NumberOfNodes?: number; +} + +export namespace Shard { + /** + * @internal + */ + export const filterSensitiveLog = (obj: Shard): any => ({ + ...obj, + }); +} + +/** + *

          Contains all of the attributes of a specific cluster.

          + */ +export interface Cluster { + /** + *

          The user-supplied name of the cluster. This identifier is a unique key that identifies a cluster.

          + */ + Name?: string; + + /** + *

          A description of the cluster

          + */ + Description?: string; + + /** + *

          The status of the cluster. For example, Available, Updating, Creating.

          + */ + Status?: string; + + /** + *

          A group of settings that are currently being applied.

          + */ + PendingUpdates?: ClusterPendingUpdates; + + /** + *

          The number of shards in the cluster

          + */ + NumberOfShards?: number; + + /** + *

          A list of shards that are members of the cluster.

          + */ + Shards?: Shard[]; + + /** + *

          Indicates if the cluster has a Multi-AZ configuration (multiaz) or not (singleaz).

          + */ + AvailabilityMode?: AZStatus | string; + + /** + *

          The cluster's configuration endpoint

          + */ + ClusterEndpoint?: Endpoint; + + /** + *

          The cluster's node type

          + */ + NodeType?: string; + + /** + *

          The Redis engine version used by the cluster

          + */ + EngineVersion?: string; + + /** + *

          The Redis engine patch version used by the cluster

          + */ + EnginePatchVersion?: string; + + /** + *

          The name of the parameter group used by the cluster

          + */ + ParameterGroupName?: string; + + /** + *

          The status of the parameter group used by the cluster, for example 'active' or 'applying'.

          + */ + ParameterGroupStatus?: string; + + /** + *

          A list of security groups used by the cluster

          + */ + SecurityGroups?: SecurityGroupMembership[]; + + /** + *

          The name of the subnet group used by the cluster

          + */ + SubnetGroupName?: string; + + /** + *

          A flag to indicate if In-transit encryption is enabled

          + */ + TLSEnabled?: boolean; + + /** + *

          The ID of the KMS key used to encrypt the cluster

          + */ + KmsKeyId?: string; + + /** + *

          The Amazon Resource Name (ARN) of the cluster.

          + */ + ARN?: string; + + /** + *

          The Amazon Resource Name (ARN) of the SNS notification topic

          + */ + SnsTopicArn?: string; + + /** + *

          The SNS topic must be in Active status to receive notifications

          + */ + SnsTopicStatus?: string; + + /** + *

          The number of days for which MemoryDB retains automatic snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, a snapshot that was taken today is retained for 5 days before being deleted.

          + */ + SnapshotRetentionLimit?: number; + + /** + *

          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.

          + */ + MaintenanceWindow?: string; + + /** + *

          The daily time range (in UTC) during which MemoryDB begins taking a daily snapshot of your shard. + * + * Example: 05:00-09:00 + * + * If you do not specify this parameter, MemoryDB automatically chooses an appropriate time range.

          + */ + SnapshotWindow?: string; + + /** + *

          The name of the Access Control List associated with this cluster.

          + */ + ACLName?: string; + + /** + *

          When set to true, the cluster will automatically receive minor engine version upgrades after launch.

          + */ + AutoMinorVersionUpgrade?: boolean; +} + +export namespace Cluster { + /** + * @internal + */ + export const filterSensitiveLog = (obj: Cluster): any => ({ + ...obj, + }); +} + +/** + *

          A cluster whose updates have failed

          + */ +export interface UnprocessedCluster { + /** + *

          The name of the cluster

          + */ + ClusterName?: string; + + /** + *

          The error type associated with the update failure

          + */ + ErrorType?: string; + + /** + *

          The error message associated with the update failure

          + */ + ErrorMessage?: string; +} + +export namespace UnprocessedCluster { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UnprocessedCluster): any => ({ + ...obj, + }); +} + +export interface BatchUpdateClusterResponse { + /** + *

          The list of clusters that have been updated.

          + */ + ProcessedClusters?: Cluster[]; + + /** + *

          The list of clusters where updates have not been applied.

          + */ + UnprocessedClusters?: UnprocessedCluster[]; +} + +export namespace BatchUpdateClusterResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: BatchUpdateClusterResponse): any => ({ + ...obj, + }); +} + +/** + *

          + */ +export interface InvalidParameterValueException extends __SmithyException, $MetadataBearer { + name: "InvalidParameterValueException"; + $fault: "client"; + message?: string; +} + +export namespace InvalidParameterValueException { + /** + * @internal + */ + export const filterSensitiveLog = (obj: InvalidParameterValueException): any => ({ + ...obj, + }); +} + +/** + *

          + */ +export interface ServiceUpdateNotFoundFault extends __SmithyException, $MetadataBearer { + name: "ServiceUpdateNotFoundFault"; + $fault: "client"; + message?: string; +} + +export namespace ServiceUpdateNotFoundFault { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ServiceUpdateNotFoundFault): any => ({ + ...obj, + }); +} + +/** + *

          A tag that can be added to an MemoryDB resource. Tags are composed of a Key/Value pair. You can use tags to categorize and track all your MemoryDB resources. + * When you add or remove tags on clusters, those actions will be replicated to all nodes in the cluster. A tag with a null Value is permitted. For more information, see + * Tagging your MemoryDB resources + *

          + */ +export interface Tag { + /** + *

          The key for the tag. May not be null.

          + */ + Key?: string; + + /** + *

          The tag's value. May be null.

          + */ + Value?: string; +} + +export namespace Tag { + /** + * @internal + */ + export const filterSensitiveLog = (obj: Tag): any => ({ + ...obj, + }); +} + +export interface CopySnapshotRequest { + /** + *

          The name of an existing snapshot from which to make a copy.

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

          A name for the snapshot copy. MemoryDB does not permit overwriting a snapshot, therefore this name must be unique within its context - MemoryDB or an Amazon S3 bucket if exporting.

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

          The Amazon S3 bucket to which the snapshot is exported. This parameter is used only when exporting a snapshot for external access. + * + * When using this parameter to export a snapshot, be sure MemoryDB has the needed permissions to this S3 bucket. For more information, see + * + * Step 2: Grant MemoryDB Access to Your Amazon S3 Bucket. + * + *

          + */ + TargetBucket?: string; + + /** + *

          The ID of the KMS key used to encrypt the target snapshot.

          + */ + KmsKeyId?: string; + + /** + *

          A list of tags to be added to this resource. A tag is a key-value pair. A tag key must be accompanied by a tag value, although null is accepted.

          + */ + Tags?: Tag[]; +} + +export namespace CopySnapshotRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: CopySnapshotRequest): any => ({ + ...obj, + }); +} + +/** + *

          Shard configuration options. Each shard configuration has the following: Slots and ReplicaCount.

          + */ +export interface ShardConfiguration { + /** + *

          A string that specifies the keyspace for a particular node group. Keyspaces range from 0 to 16,383. The string is in the format startkey-endkey.

          + */ + Slots?: string; + + /** + *

          The number of read replica nodes in this shard.

          + */ + ReplicaCount?: number; +} + +export namespace ShardConfiguration { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ShardConfiguration): any => ({ + ...obj, + }); +} + +/** + *

          Provides details of a shard in a snapshot

          + */ +export interface ShardDetail { + /** + *

          The name of the shard

          + */ + Name?: string; + + /** + *

          The configuration details of the shard

          + */ + Configuration?: ShardConfiguration; + + /** + *

          The size of the shard's snapshot

          + */ + Size?: string; + + /** + *

          The date and time that the shard's snapshot was created

          + */ + SnapshotCreationTime?: Date; +} + +export namespace ShardDetail { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ShardDetail): any => ({ + ...obj, + }); +} + +/** + *

          A list of cluster configuration options.

          + */ +export interface ClusterConfiguration { + /** + *

          The name of the cluster

          + */ + Name?: string; + + /** + *

          The description of the cluster configuration

          + */ + Description?: string; + + /** + *

          The node type used for the cluster

          + */ + NodeType?: string; + + /** + *

          The Redis engine version used by the cluster

          + */ + EngineVersion?: string; + + /** + *

          The specified maintenance window for the cluster

          + */ + MaintenanceWindow?: string; + + /** + *

          The Amazon Resource Name (ARN) of the SNS notification topic for the cluster

          + */ + TopicArn?: string; + + /** + *

          The port used by the cluster

          + */ + Port?: number; + + /** + *

          The name of parameter group used by the cluster

          + */ + ParameterGroupName?: string; + + /** + *

          The name of the subnet group used by the cluster

          + */ + SubnetGroupName?: string; + + /** + *

          The ID of the VPC the cluster belongs to

          + */ + VpcId?: string; + + /** + *

          The snapshot retention limit set by the cluster

          + */ + SnapshotRetentionLimit?: number; + + /** + *

          The snapshot window set by the cluster

          + */ + SnapshotWindow?: string; + + /** + *

          The number of shards in the cluster

          + */ + NumShards?: number; + + /** + *

          The list of shards in the cluster

          + */ + Shards?: ShardDetail[]; +} + +export namespace ClusterConfiguration { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ClusterConfiguration): any => ({ + ...obj, + }); +} + +/** + *

          Represents a copy of an entire cluster as of the time when the snapshot was taken.

          + */ +export interface Snapshot { + /** + *

          The name of the snapshot

          + */ + Name?: string; + + /** + *

          The status of the snapshot. Valid values: creating | available | restoring | copying | deleting.

          + */ + Status?: string; + + /** + *

          Indicates whether the snapshot is from an automatic backup (automated) or was created manually (manual).

          + */ + Source?: string; + + /** + *

          The ID of the KMS key used to encrypt the snapshot.

          + */ + KmsKeyId?: string; + + /** + *

          The ARN (Amazon Resource Name) of the snapshot.

          + */ + ARN?: string; + + /** + *

          The configuration of the cluster from which the snapshot was taken

          + */ + ClusterConfiguration?: ClusterConfiguration; +} + +export namespace Snapshot { + /** + * @internal + */ + export const filterSensitiveLog = (obj: Snapshot): any => ({ + ...obj, + }); +} + +export interface CopySnapshotResponse { + /** + *

          Represents a copy of an entire cluster as of the time when the snapshot was taken.

          + */ + Snapshot?: Snapshot; +} + +export namespace CopySnapshotResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: CopySnapshotResponse): any => ({ + ...obj, + }); +} + +/** + *

          + */ +export interface InvalidParameterCombinationException extends __SmithyException, $MetadataBearer { + name: "InvalidParameterCombinationException"; + $fault: "client"; + message?: string; +} + +export namespace InvalidParameterCombinationException { + /** + * @internal + */ + export const filterSensitiveLog = (obj: InvalidParameterCombinationException): any => ({ + ...obj, + }); +} + +/** + *

          + */ +export interface InvalidSnapshotStateFault extends __SmithyException, $MetadataBearer { + name: "InvalidSnapshotStateFault"; + $fault: "client"; + message?: string; +} + +export namespace InvalidSnapshotStateFault { + /** + * @internal + */ + export const filterSensitiveLog = (obj: InvalidSnapshotStateFault): any => ({ + ...obj, + }); +} + +/** + *

          + */ +export interface ServiceLinkedRoleNotFoundFault extends __SmithyException, $MetadataBearer { + name: "ServiceLinkedRoleNotFoundFault"; + $fault: "client"; + message?: string; +} + +export namespace ServiceLinkedRoleNotFoundFault { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ServiceLinkedRoleNotFoundFault): any => ({ + ...obj, + }); +} + +/** + *

          + */ +export interface SnapshotAlreadyExistsFault extends __SmithyException, $MetadataBearer { + name: "SnapshotAlreadyExistsFault"; + $fault: "client"; + message?: string; +} + +export namespace SnapshotAlreadyExistsFault { + /** + * @internal + */ + export const filterSensitiveLog = (obj: SnapshotAlreadyExistsFault): any => ({ + ...obj, + }); +} + +/** + *

          + */ +export interface SnapshotNotFoundFault extends __SmithyException, $MetadataBearer { + name: "SnapshotNotFoundFault"; + $fault: "client"; + message?: string; +} + +export namespace SnapshotNotFoundFault { + /** + * @internal + */ + export const filterSensitiveLog = (obj: SnapshotNotFoundFault): any => ({ + ...obj, + }); +} + +/** + *

          + */ +export interface SnapshotQuotaExceededFault extends __SmithyException, $MetadataBearer { + name: "SnapshotQuotaExceededFault"; + $fault: "client"; + message?: string; +} + +export namespace SnapshotQuotaExceededFault { + /** + * @internal + */ + export const filterSensitiveLog = (obj: SnapshotQuotaExceededFault): any => ({ + ...obj, + }); +} + +/** + *

          + */ +export interface TagQuotaPerResourceExceeded extends __SmithyException, $MetadataBearer { + name: "TagQuotaPerResourceExceeded"; + $fault: "client"; + message?: string; +} + +export namespace TagQuotaPerResourceExceeded { + /** + * @internal + */ + export const filterSensitiveLog = (obj: TagQuotaPerResourceExceeded): any => ({ + ...obj, + }); +} + +export interface CreateACLRequest { + /** + *

          The name of the Access Control List.

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

          The list of users that belong to the Access Control List.

          + */ + UserNames?: string[]; + + /** + *

          A list of tags to be added to this resource. A tag is a key-value pair. A tag key must be accompanied by a tag value, although null is accepted.

          + */ + Tags?: Tag[]; +} + +export namespace CreateACLRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: CreateACLRequest): any => ({ + ...obj, + }); +} + +export interface CreateACLResponse { + /** + *

          The newly-created Access Control List.

          + */ + ACL?: ACL; +} + +export namespace CreateACLResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: CreateACLResponse): any => ({ + ...obj, + }); +} + +/** + *

          + */ +export interface DefaultUserRequired extends __SmithyException, $MetadataBearer { + name: "DefaultUserRequired"; + $fault: "client"; + message?: string; +} + +export namespace DefaultUserRequired { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DefaultUserRequired): any => ({ + ...obj, + }); +} + +/** + *

          + */ +export interface DuplicateUserNameFault extends __SmithyException, $MetadataBearer { + name: "DuplicateUserNameFault"; + $fault: "client"; + message?: string; +} + +export namespace DuplicateUserNameFault { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DuplicateUserNameFault): any => ({ + ...obj, + }); +} + +/** + *

          + */ +export interface UserNotFoundFault extends __SmithyException, $MetadataBearer { + name: "UserNotFoundFault"; + $fault: "client"; + message?: string; +} + +export namespace UserNotFoundFault { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UserNotFoundFault): any => ({ + ...obj, + }); +} + +/** + *

          + */ +export interface ClusterAlreadyExistsFault extends __SmithyException, $MetadataBearer { + name: "ClusterAlreadyExistsFault"; + $fault: "client"; + message?: string; +} + +export namespace ClusterAlreadyExistsFault { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ClusterAlreadyExistsFault): any => ({ + ...obj, + }); +} + +/** + *

          + */ +export interface ClusterQuotaForCustomerExceededFault extends __SmithyException, $MetadataBearer { + name: "ClusterQuotaForCustomerExceededFault"; + $fault: "client"; + message?: string; +} + +export namespace ClusterQuotaForCustomerExceededFault { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ClusterQuotaForCustomerExceededFault): any => ({ + ...obj, + }); +} + +export interface CreateClusterRequest { + /** + *

          The name of the cluster. This value must be unique as it also serves as the cluster identifier.

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

          The compute and memory capacity of the nodes in the cluster.

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

          The name of the parameter group associated with the cluster.

          + */ + ParameterGroupName?: string; + + /** + *

          An optional description of the cluster.

          + */ + Description?: string; + + /** + *

          The number of shards the cluster will contain.

          + *

          Clusters can have up to 500 shards, with your data partitioned across the shards. For example, you can choose to configure a 500 node cluster that ranges between + * 83 shards (one primary and 5 replicas per shard) and 500 shards (single primary and no replicas). Make sure there are enough available IP addresses to accommodate the increase. + * Common pitfalls include the subnets in the subnet group have too small a CIDR range or the subnets are shared and heavily used by other clusters.

          + */ + NumShards?: number; + + /** + *

          The number of replicas to apply to each shard. The limit is 5.

          + */ + NumReplicasPerShard?: number; + + /** + *

          The name of the subnet group to be used for the cluster.

          + */ + SubnetGroupName?: string; + + /** + *

          A list of security group names to associate with this cluster.

          + */ + SecurityGroupIds?: string[]; + + /** + *

          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.

          + */ + MaintenanceWindow?: string; + + /** + *

          The port number on which each of the nodes accepts connections.

          + */ + Port?: number; + + /** + *

          The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (SNS) topic to which notifications are sent.

          + */ + SnsTopicArn?: string; + + /** + *

          A flag to enable in-transit encryption on the cluster.

          + */ + TLSEnabled?: boolean; + + /** + *

          The ID of the KMS key used to encrypt the cluster.

          + */ + KmsKeyId?: string; + + /** + *

          A list of Amazon Resource Names (ARN) that uniquely identify the RDB snapshot files stored in Amazon S3. The snapshot files are used to populate the new cluster. The Amazon S3 object name in the ARN cannot contain any commas.

          + */ + SnapshotArns?: string[]; + + /** + *

          The name of a snapshot from which to restore data into the new cluster. The snapshot status changes to restoring while the new cluster is being created.

          + */ + SnapshotName?: string; + + /** + *

          The number of days for which MemoryDB retains automatic snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, a snapshot that was taken today is retained for 5 days before being deleted.

          + */ + SnapshotRetentionLimit?: number; + + /** + *

          A list of tags to be added to this resource. Tags are comma-separated key,value pairs (e.g. Key=myKey, Value=myKeyValue. You can include multiple tags as shown following: Key=myKey, Value=myKeyValue Key=mySecondKey, Value=mySecondKeyValue.

          + */ + Tags?: Tag[]; + + /** + *

          The daily time range (in UTC) during which MemoryDB begins taking a daily snapshot of your shard.

          + * + *

          Example: 05:00-09:00

          + * + *

          If you do not specify this parameter, MemoryDB automatically chooses an appropriate time range.

          + */ + SnapshotWindow?: string; + + /** + *

          The name of the Access Control List to associate with the cluster.

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

          The version number of the Redis engine to be used for the cluster.

          + */ + EngineVersion?: string; + + /** + *

          When set to true, the cluster will automatically receive minor engine version upgrades after launch.

          + */ + AutoMinorVersionUpgrade?: boolean; +} + +export namespace CreateClusterRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: CreateClusterRequest): any => ({ + ...obj, + }); +} + +export interface CreateClusterResponse { + /** + *

          The newly-created cluster.

          + */ + Cluster?: Cluster; +} + +export namespace CreateClusterResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: CreateClusterResponse): any => ({ + ...obj, + }); +} + +/** + *

          + */ +export interface InsufficientClusterCapacityFault extends __SmithyException, $MetadataBearer { + name: "InsufficientClusterCapacityFault"; + $fault: "client"; + message?: string; +} + +export namespace InsufficientClusterCapacityFault { + /** + * @internal + */ + export const filterSensitiveLog = (obj: InsufficientClusterCapacityFault): any => ({ + ...obj, + }); +} + +/** + *

          + */ +export interface InvalidACLStateFault extends __SmithyException, $MetadataBearer { + name: "InvalidACLStateFault"; + $fault: "client"; + message?: string; +} + +export namespace InvalidACLStateFault { + /** + * @internal + */ + export const filterSensitiveLog = (obj: InvalidACLStateFault): any => ({ + ...obj, + }); +} + +/** + *

          + */ +export interface InvalidCredentialsException extends __SmithyException, $MetadataBearer { + name: "InvalidCredentialsException"; + $fault: "client"; + message?: string; +} + +export namespace InvalidCredentialsException { + /** + * @internal + */ + export const filterSensitiveLog = (obj: InvalidCredentialsException): any => ({ + ...obj, + }); +} + +/** + *

          + */ +export interface InvalidVPCNetworkStateFault extends __SmithyException, $MetadataBearer { + name: "InvalidVPCNetworkStateFault"; + $fault: "client"; + message?: string; +} + +export namespace InvalidVPCNetworkStateFault { + /** + * @internal + */ + export const filterSensitiveLog = (obj: InvalidVPCNetworkStateFault): any => ({ + ...obj, + }); +} + +/** + *

          + */ +export interface NodeQuotaForClusterExceededFault extends __SmithyException, $MetadataBearer { + name: "NodeQuotaForClusterExceededFault"; + $fault: "client"; + message?: string; +} + +export namespace NodeQuotaForClusterExceededFault { + /** + * @internal + */ + export const filterSensitiveLog = (obj: NodeQuotaForClusterExceededFault): any => ({ + ...obj, + }); +} + +/** + *

          + */ +export interface NodeQuotaForCustomerExceededFault extends __SmithyException, $MetadataBearer { + name: "NodeQuotaForCustomerExceededFault"; + $fault: "client"; + message?: string; +} + +export namespace NodeQuotaForCustomerExceededFault { + /** + * @internal + */ + export const filterSensitiveLog = (obj: NodeQuotaForCustomerExceededFault): any => ({ + ...obj, + }); +} + +/** + *

          + */ +export interface ParameterGroupNotFoundFault extends __SmithyException, $MetadataBearer { + name: "ParameterGroupNotFoundFault"; + $fault: "client"; + message?: string; +} + +export namespace ParameterGroupNotFoundFault { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ParameterGroupNotFoundFault): any => ({ + ...obj, + }); +} + +/** + *

          + */ +export interface ShardsPerClusterQuotaExceededFault extends __SmithyException, $MetadataBearer { + name: "ShardsPerClusterQuotaExceededFault"; + $fault: "client"; + message?: string; +} + +export namespace ShardsPerClusterQuotaExceededFault { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ShardsPerClusterQuotaExceededFault): any => ({ + ...obj, + }); +} + +/** + *

          + */ +export interface SubnetGroupNotFoundFault extends __SmithyException, $MetadataBearer { + name: "SubnetGroupNotFoundFault"; + $fault: "client"; + message?: string; +} + +export namespace SubnetGroupNotFoundFault { + /** + * @internal + */ + export const filterSensitiveLog = (obj: SubnetGroupNotFoundFault): any => ({ + ...obj, + }); +} + +export interface CreateParameterGroupRequest { + /** + *

          The name of the parameter group.

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

          The name of the parameter group family that the parameter group can be used with.

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

          An optional description of the parameter group.

          + */ + Description?: string; + + /** + *

          A list of tags to be added to this resource. A tag is a key-value pair. A tag key must be accompanied by a tag value, although null is accepted.

          + */ + Tags?: Tag[]; +} + +export namespace CreateParameterGroupRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: CreateParameterGroupRequest): any => ({ + ...obj, + }); +} + +/** + *

          Represents the output of a CreateParameterGroup operation. A parameter group represents a combination of specific values for the parameters that are passed to the engine software during startup.

          + */ +export interface ParameterGroup { + /** + *

          The name of the parameter group

          + */ + Name?: string; + + /** + *

          The name of the parameter group family that this parameter group is compatible with.

          + */ + Family?: string; + + /** + *

          A description of the parameter group

          + */ + Description?: string; + + /** + *

          The Amazon Resource Name (ARN) of the parameter group

          + */ + ARN?: string; +} + +export namespace ParameterGroup { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ParameterGroup): any => ({ + ...obj, + }); +} + +export interface CreateParameterGroupResponse { + /** + *

          The newly-created parameter group.

          + */ + ParameterGroup?: ParameterGroup; +} + +export namespace CreateParameterGroupResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: CreateParameterGroupResponse): any => ({ + ...obj, + }); +} + +/** + *

          + */ +export interface InvalidParameterGroupStateFault extends __SmithyException, $MetadataBearer { + name: "InvalidParameterGroupStateFault"; + $fault: "client"; + message?: string; +} + +export namespace InvalidParameterGroupStateFault { + /** + * @internal + */ + export const filterSensitiveLog = (obj: InvalidParameterGroupStateFault): any => ({ + ...obj, + }); +} + +/** + *

          + */ +export interface ParameterGroupAlreadyExistsFault extends __SmithyException, $MetadataBearer { + name: "ParameterGroupAlreadyExistsFault"; + $fault: "client"; + message?: string; +} + +export namespace ParameterGroupAlreadyExistsFault { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ParameterGroupAlreadyExistsFault): any => ({ + ...obj, + }); +} + +/** + *

          + */ +export interface ParameterGroupQuotaExceededFault extends __SmithyException, $MetadataBearer { + name: "ParameterGroupQuotaExceededFault"; + $fault: "client"; + message?: string; +} + +export namespace ParameterGroupQuotaExceededFault { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ParameterGroupQuotaExceededFault): any => ({ + ...obj, + }); +} + +/** + *

          + */ +export interface ClusterNotFoundFault extends __SmithyException, $MetadataBearer { + name: "ClusterNotFoundFault"; + $fault: "client"; + message?: string; +} + +export namespace ClusterNotFoundFault { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ClusterNotFoundFault): any => ({ + ...obj, + }); +} + +export interface CreateSnapshotRequest { + /** + *

          The snapshot is created from this cluster.

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

          A name for the snapshot being created.

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

          The ID of the KMS key used to encrypt the snapshot.

          + */ + KmsKeyId?: string; + + /** + *

          A list of tags to be added to this resource. A tag is a key-value pair. A tag key must be accompanied by a tag value, although null is accepted.

          + */ + Tags?: Tag[]; +} + +export namespace CreateSnapshotRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: CreateSnapshotRequest): any => ({ + ...obj, + }); +} + +export interface CreateSnapshotResponse { + /** + *

          The newly-created snapshot.

          + */ + Snapshot?: Snapshot; +} + +export namespace CreateSnapshotResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: CreateSnapshotResponse): any => ({ + ...obj, + }); +} + +/** + *

          + */ +export interface InvalidClusterStateFault extends __SmithyException, $MetadataBearer { + name: "InvalidClusterStateFault"; + $fault: "client"; + message?: string; +} + +export namespace InvalidClusterStateFault { + /** + * @internal + */ + export const filterSensitiveLog = (obj: InvalidClusterStateFault): any => ({ + ...obj, + }); +} + +export interface CreateSubnetGroupRequest { + /** + *

          The name of the subnet group.

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

          A description for the subnet group.

          + */ + Description?: string; + + /** + *

          A list of VPC subnet IDs for the subnet group.

          + */ + SubnetIds: string[] | undefined; + + /** + *

          A list of tags to be added to this resource. A tag is a key-value pair. A tag key must be accompanied by a tag value, although null is accepted.

          + */ + Tags?: Tag[]; +} + +export namespace CreateSubnetGroupRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: CreateSubnetGroupRequest): any => ({ + ...obj, + }); +} + +/** + *

          Indicates if the cluster has a Multi-AZ configuration (multiaz) or not (singleaz).

          + */ +export interface AvailabilityZone { + /** + *

          The name of the Availability Zone.

          + */ + Name?: string; +} + +export namespace AvailabilityZone { + /** + * @internal + */ + export const filterSensitiveLog = (obj: AvailabilityZone): any => ({ + ...obj, + }); +} + +/** + *

          Represents the subnet associated with a cluster. This parameter refers to subnets defined in Amazon Virtual Private Cloud (Amazon VPC) and used with MemoryDB.

          + */ +export interface Subnet { + /** + *

          The unique identifier for the subnet.

          + */ + Identifier?: string; + + /** + *

          The Availability Zone where the subnet resides

          + */ + AvailabilityZone?: AvailabilityZone; +} + +export namespace Subnet { + /** + * @internal + */ + export const filterSensitiveLog = (obj: Subnet): any => ({ + ...obj, + }); +} + +/** + *

          Represents the output of one of the following operations:

          + *
            + *
          • + *

            CreateSubnetGroup

            + *
          • + *
          • + *

            UpdateSubnetGroup

            + *
          • + *
          + *

          A subnet group is a collection of subnets (typically private) that you can designate for your clusters running in an Amazon Virtual Private Cloud (VPC) environment.

          + */ +export interface SubnetGroup { + /** + *

          The name of the subnet group

          + */ + Name?: string; + + /** + *

          A description of the subnet group

          + */ + Description?: string; + + /** + *

          The Amazon Virtual Private Cloud identifier (VPC ID) of the subnet group.

          + */ + VpcId?: string; + + /** + *

          A list of subnets associated with the subnet group.

          + */ + Subnets?: Subnet[]; + + /** + *

          The ARN (Amazon Resource Name) of the subnet group.

          + */ + ARN?: string; +} + +export namespace SubnetGroup { + /** + * @internal + */ + export const filterSensitiveLog = (obj: SubnetGroup): any => ({ + ...obj, + }); +} + +export interface CreateSubnetGroupResponse { + /** + *

          The newly-created subnet group

          + */ + SubnetGroup?: SubnetGroup; +} + +export namespace CreateSubnetGroupResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: CreateSubnetGroupResponse): any => ({ + ...obj, + }); +} + +/** + *

          + */ +export interface InvalidSubnet extends __SmithyException, $MetadataBearer { + name: "InvalidSubnet"; + $fault: "client"; + message?: string; +} + +export namespace InvalidSubnet { + /** + * @internal + */ + export const filterSensitiveLog = (obj: InvalidSubnet): any => ({ + ...obj, + }); +} + +/** + *

          + */ +export interface SubnetGroupAlreadyExistsFault extends __SmithyException, $MetadataBearer { + name: "SubnetGroupAlreadyExistsFault"; + $fault: "client"; + message?: string; +} + +export namespace SubnetGroupAlreadyExistsFault { + /** + * @internal + */ + export const filterSensitiveLog = (obj: SubnetGroupAlreadyExistsFault): any => ({ + ...obj, + }); +} + +/** + *

          + */ +export interface SubnetGroupQuotaExceededFault extends __SmithyException, $MetadataBearer { + name: "SubnetGroupQuotaExceededFault"; + $fault: "client"; + message?: string; +} + +export namespace SubnetGroupQuotaExceededFault { + /** + * @internal + */ + export const filterSensitiveLog = (obj: SubnetGroupQuotaExceededFault): any => ({ + ...obj, + }); +} + +/** + *

          + */ +export interface SubnetNotAllowedFault extends __SmithyException, $MetadataBearer { + name: "SubnetNotAllowedFault"; + $fault: "client"; + message?: string; +} + +export namespace SubnetNotAllowedFault { + /** + * @internal + */ + export const filterSensitiveLog = (obj: SubnetNotAllowedFault): any => ({ + ...obj, + }); +} + +/** + *

          + */ +export interface SubnetQuotaExceededFault extends __SmithyException, $MetadataBearer { + name: "SubnetQuotaExceededFault"; + $fault: "client"; + message?: string; +} + +export namespace SubnetQuotaExceededFault { + /** + * @internal + */ + export const filterSensitiveLog = (obj: SubnetQuotaExceededFault): any => ({ + ...obj, + }); +} + +export enum InputAuthenticationType { + PASSWORD = "password", +} + +/** + *

          Denotes the user's authentication properties, such as whether it requires a password to authenticate. Used in output responses.

          + */ +export interface AuthenticationMode { + /** + *

          Indicates whether the user requires a password to authenticate. All newly-created users require a password.

          + */ + Type?: InputAuthenticationType | string; + + /** + *

          The password(s) used for authentication

          + */ + Passwords?: string[]; +} + +export namespace AuthenticationMode { + /** + * @internal + */ + export const filterSensitiveLog = (obj: AuthenticationMode): any => ({ + ...obj, + }); +} + +export interface CreateUserRequest { + /** + *

          The name of the user. This value must be unique as it also serves as the user identifier.

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

          Denotes the user's authentication properties, such as whether it requires a password to authenticate.

          + */ + AuthenticationMode: AuthenticationMode | undefined; + + /** + *

          Access permissions string used for this user.

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

          A list of tags to be added to this resource. A tag is a key-value pair. A tag key must be accompanied by a tag value, although null is accepted.

          + */ + Tags?: Tag[]; +} + +export namespace CreateUserRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: CreateUserRequest): any => ({ + ...obj, + }); +} + +export enum AuthenticationType { + NO_PASSWORD = "no-password", + PASSWORD = "password", +} + +/** + *

          Denotes the user's authentication properties, such as whether it requires a password to authenticate. Used in output responses.

          + */ +export interface Authentication { + /** + *

          Indicates whether the user requires a password to authenticate.

          + */ + Type?: AuthenticationType | string; + + /** + *

          The number of passwords belonging to the user. The maximum is two.

          + */ + PasswordCount?: number; +} + +export namespace Authentication { + /** + * @internal + */ + export const filterSensitiveLog = (obj: Authentication): any => ({ + ...obj, + }); +} + +/** + *

          You create users and assign them specific permissions by using an access string. You assign the users to Access Control Lists aligned with a specific role (administrators, human resources) that are then deployed to one or more MemoryDB clusters.

          + */ +export interface User { + /** + *

          The name of the user

          + */ + Name?: string; + + /** + *

          Indicates the user status. Can be "active", "modifying" or "deleting".

          + */ + Status?: string; + + /** + *

          Access permissions string used for this user.

          + */ + AccessString?: string; + + /** + *

          The names of the Access Control Lists to which the user belongs

          + */ + ACLNames?: string[]; + + /** + *

          The minimum engine version supported for the user

          + */ + MinimumEngineVersion?: string; + + /** + *

          Denotes whether the user requires a password to authenticate.

          + */ + Authentication?: Authentication; + + /** + *

          The Amazon Resource Name (ARN) of the user. + * + *

          + */ + ARN?: string; +} + +export namespace User { + /** + * @internal + */ + export const filterSensitiveLog = (obj: User): any => ({ + ...obj, + }); +} + +export interface CreateUserResponse { + /** + *

          The newly-created user.

          + */ + User?: User; +} + +export namespace CreateUserResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: CreateUserResponse): any => ({ + ...obj, + }); +} + +/** + *

          + */ +export interface UserAlreadyExistsFault extends __SmithyException, $MetadataBearer { + name: "UserAlreadyExistsFault"; + $fault: "client"; + message?: string; +} + +export namespace UserAlreadyExistsFault { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UserAlreadyExistsFault): any => ({ + ...obj, + }); +} + +/** + *

          + */ +export interface UserQuotaExceededFault extends __SmithyException, $MetadataBearer { + name: "UserQuotaExceededFault"; + $fault: "client"; + message?: string; +} + +export namespace UserQuotaExceededFault { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UserQuotaExceededFault): any => ({ + ...obj, + }); +} + +export interface DeleteACLRequest { + /** + *

          The name of the Access Control List to delete

          + */ + ACLName: string | undefined; +} + +export namespace DeleteACLRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DeleteACLRequest): any => ({ + ...obj, + }); +} + +export interface DeleteACLResponse { + /** + *

          The Access Control List object that has been deleted.

          + */ + ACL?: ACL; +} + +export namespace DeleteACLResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DeleteACLResponse): any => ({ + ...obj, + }); +} + +export interface DeleteClusterRequest { + /** + *

          The name of the cluster to be deleted

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

          The user-supplied name of a final cluster snapshot. This is the unique name that identifies the snapshot. MemoryDB creates the snapshot, and then deletes the cluster immediately afterward.

          + */ + FinalSnapshotName?: string; +} + +export namespace DeleteClusterRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DeleteClusterRequest): any => ({ + ...obj, + }); +} + +export interface DeleteClusterResponse { + /** + *

          The cluster object that has been deleted

          + */ + Cluster?: Cluster; +} + +export namespace DeleteClusterResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DeleteClusterResponse): any => ({ + ...obj, + }); +} + +export interface DeleteParameterGroupRequest { + /** + *

          The name of the parameter group to delete.

          + */ + ParameterGroupName: string | undefined; +} + +export namespace DeleteParameterGroupRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DeleteParameterGroupRequest): any => ({ + ...obj, + }); +} + +export interface DeleteParameterGroupResponse { + /** + *

          The parameter group that has been deleted.

          + */ + ParameterGroup?: ParameterGroup; +} + +export namespace DeleteParameterGroupResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DeleteParameterGroupResponse): any => ({ + ...obj, + }); +} + +export interface DeleteSnapshotRequest { + /** + *

          The name of the snapshot to delete

          + */ + SnapshotName: string | undefined; +} + +export namespace DeleteSnapshotRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DeleteSnapshotRequest): any => ({ + ...obj, + }); +} + +export interface DeleteSnapshotResponse { + /** + *

          The snapshot object that has been deleted.

          + */ + Snapshot?: Snapshot; +} + +export namespace DeleteSnapshotResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DeleteSnapshotResponse): any => ({ + ...obj, + }); +} + +export interface DeleteSubnetGroupRequest { + /** + *

          The name of the subnet group to delete

          + */ + SubnetGroupName: string | undefined; +} + +export namespace DeleteSubnetGroupRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DeleteSubnetGroupRequest): any => ({ + ...obj, + }); +} + +export interface DeleteSubnetGroupResponse { + /** + *

          The subnet group object that has been deleted.

          + */ + SubnetGroup?: SubnetGroup; +} + +export namespace DeleteSubnetGroupResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DeleteSubnetGroupResponse): any => ({ + ...obj, + }); +} + +/** + *

          + */ +export interface SubnetGroupInUseFault extends __SmithyException, $MetadataBearer { + name: "SubnetGroupInUseFault"; + $fault: "client"; + message?: string; +} + +export namespace SubnetGroupInUseFault { + /** + * @internal + */ + export const filterSensitiveLog = (obj: SubnetGroupInUseFault): any => ({ + ...obj, + }); +} + +export interface DeleteUserRequest { + /** + *

          The name of the user to delete

          + */ + UserName: string | undefined; +} + +export namespace DeleteUserRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DeleteUserRequest): any => ({ + ...obj, + }); +} + +export interface DeleteUserResponse { + /** + *

          The user object that has been deleted.

          + */ + User?: User; +} + +export namespace DeleteUserResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DeleteUserResponse): any => ({ + ...obj, + }); +} + +/** + *

          + */ +export interface InvalidUserStateFault extends __SmithyException, $MetadataBearer { + name: "InvalidUserStateFault"; + $fault: "client"; + message?: string; +} + +export namespace InvalidUserStateFault { + /** + * @internal + */ + export const filterSensitiveLog = (obj: InvalidUserStateFault): any => ({ + ...obj, + }); +} + +export interface DescribeACLsRequest { + /** + *

          The name of the ACL

          + */ + ACLName?: string; + + /** + *

          The maximum number of records to include in the response. If more records exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

          + */ + MaxResults?: number; + + /** + *

          An optional argument to pass in case the total number of records exceeds the value of MaxResults. If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

          + */ + NextToken?: string; +} + +export namespace DescribeACLsRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeACLsRequest): any => ({ + ...obj, + }); +} + +export interface DescribeACLsResponse { + /** + *

          The list of ACLs

          + */ + ACLs?: ACL[]; + + /** + *

          If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

          + */ + NextToken?: string; +} + +export namespace DescribeACLsResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeACLsResponse): any => ({ + ...obj, + }); +} + +export interface DescribeClustersRequest { + /** + *

          The name of the cluster

          + */ + ClusterName?: string; + + /** + *

          The maximum number of records to include in the response. If more records exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

          + */ + MaxResults?: number; + + /** + *

          An optional argument to pass in case the total number of records exceeds the value of MaxResults. If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

          + */ + NextToken?: string; + + /** + *

          An optional flag that can be included in the request to retrieve information about the individual shard(s).

          + */ + ShowShardDetails?: boolean; +} + +export namespace DescribeClustersRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeClustersRequest): any => ({ + ...obj, + }); +} + +export interface DescribeClustersResponse { + /** + *

          An optional argument to pass in case the total number of records exceeds the value of MaxResults. If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

          + */ + NextToken?: string; + + /** + *

          A list of clusters

          + */ + Clusters?: Cluster[]; +} + +export namespace DescribeClustersResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeClustersResponse): any => ({ + ...obj, + }); +} + +export interface DescribeEngineVersionsRequest { + /** + *

          The Redis engine version

          + */ + EngineVersion?: string; + + /** + *

          The name of a specific parameter group family to return details for.

          + */ + ParameterGroupFamily?: string; + + /** + *

          The maximum number of records to include in the response. If more records exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

          + */ + MaxResults?: number; + + /** + *

          An optional argument to pass in case the total number of records exceeds the value of MaxResults. If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

          + */ + NextToken?: string; + + /** + *

          If true, specifies that only the default version of the specified engine or engine and major version combination is to be returned.

          + */ + DefaultOnly?: boolean; +} + +export namespace DescribeEngineVersionsRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeEngineVersionsRequest): any => ({ + ...obj, + }); +} + +/** + *

          Provides details of the Redis engine version

          + */ +export interface EngineVersionInfo { + /** + *

          The engine version

          + */ + EngineVersion?: string; + + /** + *

          The patched engine version

          + */ + EnginePatchVersion?: string; + + /** + *

          Specifies the name of the parameter group family to which the engine default parameters apply.

          + */ + ParameterGroupFamily?: string; +} + +export namespace EngineVersionInfo { + /** + * @internal + */ + export const filterSensitiveLog = (obj: EngineVersionInfo): any => ({ + ...obj, + }); +} + +export interface DescribeEngineVersionsResponse { + /** + *

          An optional argument to pass in case the total number of records exceeds the value of MaxResults. If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

          + */ + NextToken?: string; + + /** + *

          A list of engine version details. Each element in the list contains detailed information about one engine version.

          + */ + EngineVersions?: EngineVersionInfo[]; +} + +export namespace DescribeEngineVersionsResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeEngineVersionsResponse): any => ({ + ...obj, + }); +} + +export enum SourceType { + acl = "acl", + cluster = "cluster", + node = "node", + parameter_group = "parameter-group", + subnet_group = "subnet-group", + user = "user", +} + +export interface DescribeEventsRequest { + /** + *

          The identifier of the event source for which events are returned. If not specified, all sources are included in the response.

          + */ + SourceName?: string; + + /** + *

          The event source to retrieve events for. If no value is specified, all events are returned.

          + */ + SourceType?: SourceType | string; + + /** + *

          The beginning of the time interval to retrieve events for, specified in ISO 8601 format. + * + * Example: 2017-03-30T07:03:49.555Z

          + */ + StartTime?: Date; + + /** + *

          The end of the time interval for which to retrieve events, specified in ISO 8601 format. + * + * Example: 2017-03-30T07:03:49.555Z

          + */ + EndTime?: Date; + + /** + *

          The number of minutes worth of events to retrieve.

          + */ + Duration?: number; + + /** + *

          The maximum number of records to include in the response. If more records exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

          + */ + MaxResults?: number; + + /** + *

          An optional argument to pass in case the total number of records exceeds the value of MaxResults. If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

          + */ + NextToken?: string; +} + +export namespace DescribeEventsRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeEventsRequest): any => ({ + ...obj, + }); +} + +/** + *

          Represents a single occurrence of something interesting within the system. Some examples of events are creating a cluster or adding or removing a + * node.

          + */ +export interface Event { + /** + *

          The name for the source of the event. For example, if the event occurred at the cluster level, the identifier would be the name of the cluster.

          + */ + SourceName?: string; + + /** + *

          Specifies the origin of this event - a cluster, a parameter group, a security group, etc.

          + */ + SourceType?: SourceType | string; + + /** + *

          The text of the event.

          + */ + Message?: string; + + /** + *

          The date and time when the event occurred.

          + */ + Date?: Date; +} + +export namespace Event { + /** + * @internal + */ + export const filterSensitiveLog = (obj: Event): any => ({ + ...obj, + }); +} + +export interface DescribeEventsResponse { + /** + *

          An optional argument to pass in case the total number of records exceeds the value of MaxResults. If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

          + */ + NextToken?: string; + + /** + *

          A list of events. Each element in the list contains detailed information about one event.

          + */ + Events?: Event[]; +} + +export namespace DescribeEventsResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeEventsResponse): any => ({ + ...obj, + }); +} + +export interface DescribeParameterGroupsRequest { + /** + *

          The name of a specific parameter group to return details for.

          + */ + ParameterGroupName?: string; + + /** + *

          The maximum number of records to include in the response. If more records exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

          + */ + MaxResults?: number; + + /** + *

          An optional argument to pass in case the total number of records exceeds the value of MaxResults. If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

          + */ + NextToken?: string; +} + +export namespace DescribeParameterGroupsRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeParameterGroupsRequest): any => ({ + ...obj, + }); +} + +export interface DescribeParameterGroupsResponse { + /** + *

          An optional argument to pass in case the total number of records exceeds the value of MaxResults. If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

          + */ + NextToken?: string; + + /** + *

          A list of parameter groups. Each element in the list contains detailed information about one parameter group.

          + */ + ParameterGroups?: ParameterGroup[]; +} + +export namespace DescribeParameterGroupsResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeParameterGroupsResponse): any => ({ + ...obj, + }); +} + +export interface DescribeParametersRequest { + /** + *

          he name of a specific parameter group to return details for.

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

          The maximum number of records to include in the response. If more records exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

          + */ + MaxResults?: number; + + /** + *

          An optional argument to pass in case the total number of records exceeds the value of MaxResults. If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

          + */ + NextToken?: string; +} + +export namespace DescribeParametersRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeParametersRequest): any => ({ + ...obj, + }); +} + +/** + *

          Describes an individual setting that controls some aspect of MemoryDB behavior.

          + */ +export interface Parameter { + /** + *

          The name of the parameter

          + */ + Name?: string; + + /** + *

          The value of the parameter

          + */ + Value?: string; + + /** + *

          A description of the parameter

          + */ + Description?: string; + + /** + *

          The parameter's data type

          + */ + DataType?: string; + + /** + *

          The valid range of values for the parameter.

          + */ + AllowedValues?: string; + + /** + *

          The earliest engine version to which the parameter can apply.

          + */ + MinimumEngineVersion?: string; +} + +export namespace Parameter { + /** + * @internal + */ + export const filterSensitiveLog = (obj: Parameter): any => ({ + ...obj, + }); +} + +export interface DescribeParametersResponse { + /** + *

          An optional argument to pass in case the total number of records exceeds the value of MaxResults. If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

          + */ + NextToken?: string; + + /** + *

          A list of parameters specific to a particular parameter group. Each element in the list contains detailed information about one parameter.

          + */ + Parameters?: Parameter[]; +} + +export namespace DescribeParametersResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeParametersResponse): any => ({ + ...obj, + }); +} + +export interface DescribeServiceUpdatesRequest { + /** + *

          The unique ID of the service update to describe.

          + */ + ServiceUpdateName?: string; + + /** + *

          The list of cluster names to identify service updates to apply

          + */ + ClusterNames?: string[]; + + /** + *

          The status(es) of the service updates to filter on

          + */ + Status?: (ServiceUpdateStatus | string)[]; + + /** + *

          The maximum number of records to include in the response. If more records exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

          + */ + MaxResults?: number; + + /** + *

          An optional argument to pass in case the total number of records exceeds the value of MaxResults. If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

          + */ + NextToken?: string; +} + +export namespace DescribeServiceUpdatesRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeServiceUpdatesRequest): any => ({ + ...obj, + }); +} + +export enum ServiceUpdateType { + SECURITY_UPDATE = "security-update", +} + +/** + *

          An update that you can apply to your MemoryDB clusters.

          + */ +export interface ServiceUpdate { + /** + *

          The name of the cluster to which the service update applies

          + */ + ClusterName?: string; + + /** + *

          The unique ID of the service update

          + */ + ServiceUpdateName?: string; + + /** + *

          The date when the service update is initially available

          + */ + ReleaseDate?: Date; + + /** + *

          Provides details of the service update

          + */ + Description?: string; + + /** + *

          The status of the service update

          + */ + Status?: ServiceUpdateStatus | string; + + /** + *

          Reflects the nature of the service update

          + */ + Type?: ServiceUpdateType | string; + + /** + *

          A list of nodes updated by the service update

          + */ + NodesUpdated?: string; + + /** + *

          The date at which the service update will be automatically applied

          + */ + AutoUpdateStartDate?: Date; +} + +export namespace ServiceUpdate { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ServiceUpdate): any => ({ + ...obj, + }); +} + +export interface DescribeServiceUpdatesResponse { + /** + *

          An optional argument to pass in case the total number of records exceeds the value of MaxResults. If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

          + */ + NextToken?: string; + + /** + *

          A list of service updates

          + */ + ServiceUpdates?: ServiceUpdate[]; +} + +export namespace DescribeServiceUpdatesResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeServiceUpdatesResponse): any => ({ + ...obj, + }); +} + +export interface DescribeSnapshotsRequest { + /** + *

          A user-supplied cluster identifier. If this parameter is specified, only snapshots associated with that specific cluster are described.

          + */ + ClusterName?: string; + + /** + *

          A user-supplied name of the snapshot. If this parameter is specified, only this named snapshot is described.

          + */ + SnapshotName?: string; + + /** + *

          If set to system, the output shows snapshots that were automatically created by MemoryDB. If set to user the output shows snapshots that were manually created. If omitted, the output shows both automatically and manually created snapshots.

          + */ + Source?: string; + + /** + *

          An optional argument to pass in case the total number of records exceeds the value of MaxResults. If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

          + */ + NextToken?: string; + + /** + *

          The maximum number of records to include in the response. If more records exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

          + */ + MaxResults?: number; + + /** + *

          A Boolean value which if true, the shard configuration is included in the snapshot description.

          + */ + ShowDetail?: boolean; +} + +export namespace DescribeSnapshotsRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeSnapshotsRequest): any => ({ + ...obj, + }); +} + +export interface DescribeSnapshotsResponse { + /** + *

          An optional argument to pass in case the total number of records exceeds the value of MaxResults. If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

          + */ + NextToken?: string; + + /** + *

          A list of snapshots. Each item in the list contains detailed information about one snapshot.

          + */ + Snapshots?: Snapshot[]; +} + +export namespace DescribeSnapshotsResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeSnapshotsResponse): any => ({ + ...obj, + }); +} + +export interface DescribeSubnetGroupsRequest { + /** + *

          The name of the subnet group to return details for.

          + */ + SubnetGroupName?: string; + + /** + *

          The maximum number of records to include in the response. If more records exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

          + */ + MaxResults?: number; + + /** + *

          An optional argument to pass in case the total number of records exceeds the value of MaxResults. If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

          + */ + NextToken?: string; +} + +export namespace DescribeSubnetGroupsRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeSubnetGroupsRequest): any => ({ + ...obj, + }); +} + +export interface DescribeSubnetGroupsResponse { + /** + *

          An optional argument to pass in case the total number of records exceeds the value of MaxResults. If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

          + */ + NextToken?: string; + + /** + *

          A list of subnet groups. Each element in the list contains detailed information about one group.

          + */ + SubnetGroups?: SubnetGroup[]; +} + +export namespace DescribeSubnetGroupsResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeSubnetGroupsResponse): any => ({ + ...obj, + }); +} + +/** + *

          Used to streamline results of a search based on the property being filtered.

          + */ +export interface Filter { + /** + *

          The property being filtered. For example, UserName.

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

          The property values to filter on. For example, "user-123".

          + */ + Values: string[] | undefined; +} + +export namespace Filter { + /** + * @internal + */ + export const filterSensitiveLog = (obj: Filter): any => ({ + ...obj, + }); +} + +export interface DescribeUsersRequest { + /** + *

          The name of the user

          + */ + UserName?: string; + + /** + *

          Filter to determine the list of users to return.

          + */ + Filters?: Filter[]; + + /** + *

          The maximum number of records to include in the response. If more records exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

          + */ + MaxResults?: number; + + /** + *

          An optional argument to pass in case the total number of records exceeds the value of MaxResults. If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

          + */ + NextToken?: string; +} + +export namespace DescribeUsersRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeUsersRequest): any => ({ + ...obj, + }); +} + +export interface DescribeUsersResponse { + /** + *

          A list of users.

          + */ + Users?: User[]; + + /** + *

          An optional argument to pass in case the total number of records exceeds the value of MaxResults. If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

          + */ + NextToken?: string; +} + +export namespace DescribeUsersResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeUsersResponse): any => ({ + ...obj, + }); +} + +/** + *

          + */ +export interface APICallRateForCustomerExceededFault extends __SmithyException, $MetadataBearer { + name: "APICallRateForCustomerExceededFault"; + $fault: "client"; + message?: string; +} + +export namespace APICallRateForCustomerExceededFault { + /** + * @internal + */ + export const filterSensitiveLog = (obj: APICallRateForCustomerExceededFault): any => ({ + ...obj, + }); +} + +export interface FailoverShardRequest { + /** + *

          The cluster being failed over

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

          The name of the shard

          + */ + ShardName: string | undefined; +} + +export namespace FailoverShardRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: FailoverShardRequest): any => ({ + ...obj, + }); +} + +export interface FailoverShardResponse { + /** + *

          The cluster being failed over

          + */ + Cluster?: Cluster; +} + +export namespace FailoverShardResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: FailoverShardResponse): any => ({ + ...obj, + }); +} + +/** + *

          + */ +export interface InvalidKMSKeyFault extends __SmithyException, $MetadataBearer { + name: "InvalidKMSKeyFault"; + $fault: "client"; + message?: string; +} + +export namespace InvalidKMSKeyFault { + /** + * @internal + */ + export const filterSensitiveLog = (obj: InvalidKMSKeyFault): any => ({ + ...obj, + }); +} + +export interface ShardNotFoundFault extends __SmithyException, $MetadataBearer { + name: "ShardNotFoundFault"; + $fault: "client"; + message?: string; +} + +export namespace ShardNotFoundFault { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ShardNotFoundFault): any => ({ + ...obj, + }); +} + +/** + *

          + */ +export interface TestFailoverNotAvailableFault extends __SmithyException, $MetadataBearer { + name: "TestFailoverNotAvailableFault"; + $fault: "client"; + message?: string; +} + +export namespace TestFailoverNotAvailableFault { + /** + * @internal + */ + export const filterSensitiveLog = (obj: TestFailoverNotAvailableFault): any => ({ + ...obj, + }); +} + +export interface ListAllowedNodeTypeUpdatesRequest { + /** + *

          The name of the cluster you want to scale. MemoryDB uses the cluster name to identify the current node type being used by this cluster, and from that to create a list of node types + * you can scale up to.

          + */ + ClusterName: string | undefined; +} + +export namespace ListAllowedNodeTypeUpdatesRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ListAllowedNodeTypeUpdatesRequest): any => ({ + ...obj, + }); +} + +export interface ListAllowedNodeTypeUpdatesResponse { + /** + *

          A list node types which you can use to scale up your cluster.

          + */ + ScaleUpNodeTypes?: string[]; + + /** + *

          A list node types which you can use to scale down your cluster.

          + */ + ScaleDownNodeTypes?: string[]; +} + +export namespace ListAllowedNodeTypeUpdatesResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ListAllowedNodeTypeUpdatesResponse): any => ({ + ...obj, + }); +} + +/** + *

          + */ +export interface InvalidARNFault extends __SmithyException, $MetadataBearer { + name: "InvalidARNFault"; + $fault: "client"; + message?: string; +} + +export namespace InvalidARNFault { + /** + * @internal + */ + export const filterSensitiveLog = (obj: InvalidARNFault): any => ({ + ...obj, + }); +} + +export interface ListTagsRequest { + /** + *

          The Amazon Resource Name (ARN) of the resource for which you want the list of tags

          + */ + ResourceArn: string | undefined; +} + +export namespace ListTagsRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ListTagsRequest): any => ({ + ...obj, + }); +} + +export interface ListTagsResponse { + /** + *

          A list of tags as key-value pairs.

          + */ + TagList?: Tag[]; +} + +export namespace ListTagsResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ListTagsResponse): any => ({ + ...obj, + }); +} + +export interface ResetParameterGroupRequest { + /** + *

          The name of the parameter group to reset.

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

          If true, all parameters in the parameter group are reset to their default values. If false, only the parameters listed by ParameterNames are reset to their default values.

          + */ + AllParameters?: boolean; + + /** + *

          An array of parameter names to reset to their default values. If AllParameters is true, do not use ParameterNames. If AllParameters is false, you must specify the name of at least one parameter to reset.

          + */ + ParameterNames?: string[]; +} + +export namespace ResetParameterGroupRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ResetParameterGroupRequest): any => ({ + ...obj, + }); +} + +export interface ResetParameterGroupResponse { + /** + *

          The parameter group being reset.

          + */ + ParameterGroup?: ParameterGroup; +} + +export namespace ResetParameterGroupResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ResetParameterGroupResponse): any => ({ + ...obj, + }); +} + +export interface TagResourceRequest { + /** + *

          The Amazon Resource Name (ARN) of the resource to which the tags are to be added

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

          A list of tags to be added to this resource. A tag is a key-value pair. A tag key must be accompanied by a tag value, although null is accepted.

          + */ + Tags: Tag[] | undefined; +} + +export namespace TagResourceRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: TagResourceRequest): any => ({ + ...obj, + }); +} + +export interface TagResourceResponse { + /** + *

          A list of tags as key-value pairs.

          + */ + TagList?: Tag[]; +} + +export namespace TagResourceResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: TagResourceResponse): any => ({ + ...obj, + }); +} + +/** + *

          + */ +export interface TagNotFoundFault extends __SmithyException, $MetadataBearer { + name: "TagNotFoundFault"; + $fault: "client"; + message?: string; +} + +export namespace TagNotFoundFault { + /** + * @internal + */ + export const filterSensitiveLog = (obj: TagNotFoundFault): any => ({ + ...obj, + }); +} + +export interface UntagResourceRequest { + /** + *

          The Amazon Resource Name (ARN) of the resource to which the tags are to be removed

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

          The list of keys of the tags that are to be removed

          + */ + TagKeys: string[] | undefined; +} + +export namespace UntagResourceRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UntagResourceRequest): any => ({ + ...obj, + }); +} + +export interface UntagResourceResponse { + /** + *

          The list of tags removed

          + */ + TagList?: Tag[]; +} + +export namespace UntagResourceResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UntagResourceResponse): any => ({ + ...obj, + }); +} + +export interface UpdateACLRequest { + /** + *

          The name of the Access Control List

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

          The list of users to add to the Access Control List

          + */ + UserNamesToAdd?: string[]; + + /** + *

          The list of users to remove from the Access Control List

          + */ + UserNamesToRemove?: string[]; +} + +export namespace UpdateACLRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpdateACLRequest): any => ({ + ...obj, + }); +} + +export interface UpdateACLResponse { + /** + *

          The updated Access Control List

          + */ + ACL?: ACL; +} + +export namespace UpdateACLResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpdateACLResponse): any => ({ + ...obj, + }); +} + +/** + *

          + */ +export interface InvalidNodeStateFault extends __SmithyException, $MetadataBearer { + name: "InvalidNodeStateFault"; + $fault: "client"; + message?: string; +} + +export namespace InvalidNodeStateFault { + /** + * @internal + */ + export const filterSensitiveLog = (obj: InvalidNodeStateFault): any => ({ + ...obj, + }); +} + +/** + *

          + */ +export interface NoOperationFault extends __SmithyException, $MetadataBearer { + name: "NoOperationFault"; + $fault: "client"; + message?: string; +} + +export namespace NoOperationFault { + /** + * @internal + */ + export const filterSensitiveLog = (obj: NoOperationFault): any => ({ + ...obj, + }); +} + +/** + *

          A request to configure the number of replicas in a shard

          + */ +export interface ReplicaConfigurationRequest { + /** + *

          The number of replicas to scale up or down to

          + */ + ReplicaCount?: number; +} + +export namespace ReplicaConfigurationRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ReplicaConfigurationRequest): any => ({ + ...obj, + }); +} + +/** + *

          A request to configure the sharding properties of a cluster

          + */ +export interface ShardConfigurationRequest { + /** + *

          The number of shards in the cluster

          + */ + ShardCount?: number; +} + +export namespace ShardConfigurationRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ShardConfigurationRequest): any => ({ + ...obj, + }); +} + +export interface UpdateClusterRequest { + /** + *

          The name of the cluster to update

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

          The description of the cluster to update

          + */ + Description?: string; + + /** + *

          The SecurityGroupIds to update

          + */ + SecurityGroupIds?: string[]; + + /** + *

          The maintenance window to update

          + */ + MaintenanceWindow?: string; + + /** + *

          The SNS topic ARN to update

          + */ + SnsTopicArn?: string; + + /** + *

          The status of the Amazon SNS notification topic. Notifications are sent only if the status is active.

          + */ + SnsTopicStatus?: string; + + /** + *

          The name of the parameter group to update

          + */ + ParameterGroupName?: string; + + /** + *

          The daily time range (in UTC) during which MemoryDB begins taking a daily snapshot of your cluster.

          + */ + SnapshotWindow?: string; + + /** + *

          The number of days for which MemoryDB retains automatic cluster snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, a snapshot that was taken today is retained for 5 days before being deleted.

          + */ + SnapshotRetentionLimit?: number; + + /** + *

          A valid node type that you want to scale this cluster up or down to.

          + */ + NodeType?: string; + + /** + *

          The upgraded version of the engine to be run on the nodes. You can upgrade to a newer engine version, but you cannot downgrade to an earlier engine version. If you want to use an earlier engine version, you must delete the existing cluster and create it anew with the earlier engine version.

          + */ + EngineVersion?: string; + + /** + *

          The number of replicas that will reside in each shard

          + */ + ReplicaConfiguration?: ReplicaConfigurationRequest; + + /** + *

          The number of shards in the cluster

          + */ + ShardConfiguration?: ShardConfigurationRequest; + + /** + *

          The Access Control List that is associated with the cluster

          + */ + ACLName?: string; +} + +export namespace UpdateClusterRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpdateClusterRequest): any => ({ + ...obj, + }); +} + +export interface UpdateClusterResponse { + /** + *

          The updated cluster

          + */ + Cluster?: Cluster; +} + +export namespace UpdateClusterResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpdateClusterResponse): any => ({ + ...obj, + }); +} + +/** + *

          Describes a name-value pair that is used to update the value of a parameter.

          + */ +export interface ParameterNameValue { + /** + *

          The name of the parameter

          + */ + ParameterName?: string; + + /** + *

          The value of the parameter

          + */ + ParameterValue?: string; +} + +export namespace ParameterNameValue { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ParameterNameValue): any => ({ + ...obj, + }); +} + +export interface UpdateParameterGroupRequest { + /** + *

          The name of the parameter group to update.

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

          An array of parameter names and values for the parameter update. You must supply at least one parameter name and value; subsequent arguments are optional. A maximum of 20 parameters may be updated per request.

          + */ + ParameterNameValues: ParameterNameValue[] | undefined; +} + +export namespace UpdateParameterGroupRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpdateParameterGroupRequest): any => ({ + ...obj, + }); +} + +export interface UpdateParameterGroupResponse { + /** + *

          The updated parameter group

          + */ + ParameterGroup?: ParameterGroup; +} + +export namespace UpdateParameterGroupResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpdateParameterGroupResponse): any => ({ + ...obj, + }); +} + +/** + *

          + */ +export interface SubnetInUse extends __SmithyException, $MetadataBearer { + name: "SubnetInUse"; + $fault: "client"; + message?: string; +} + +export namespace SubnetInUse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: SubnetInUse): any => ({ + ...obj, + }); +} + +export interface UpdateSubnetGroupRequest { + /** + *

          The name of the subnet group

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

          A description of the subnet group

          + */ + Description?: string; + + /** + *

          The EC2 subnet IDs for the subnet group.

          + */ + SubnetIds?: string[]; +} + +export namespace UpdateSubnetGroupRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpdateSubnetGroupRequest): any => ({ + ...obj, + }); +} + +export interface UpdateSubnetGroupResponse { + /** + *

          The updated subnet group

          + */ + SubnetGroup?: SubnetGroup; +} + +export namespace UpdateSubnetGroupResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpdateSubnetGroupResponse): any => ({ + ...obj, + }); +} + +export interface UpdateUserRequest { + /** + *

          The name of the user

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

          Denotes the user's authentication properties, such as whether it requires a password to authenticate.

          + */ + AuthenticationMode?: AuthenticationMode; + + /** + *

          Access permissions string used for this user.

          + */ + AccessString?: string; +} + +export namespace UpdateUserRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpdateUserRequest): any => ({ + ...obj, + }); +} + +export interface UpdateUserResponse { + /** + *

          The updated user

          + */ + User?: User; +} + +export namespace UpdateUserResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpdateUserResponse): any => ({ + ...obj, + }); +} diff --git a/clients/client-memorydb/package.json b/clients/client-memorydb/package.json new file mode 100644 index 000000000000..df1e5fed067c --- /dev/null +++ b/clients/client-memorydb/package.json @@ -0,0 +1,91 @@ +{ + "name": "@aws-sdk/client-memorydb", + "description": "AWS SDK for JavaScript Memorydb Client for Node.js, Browser and React Native", + "version": "3.0.0", + "scripts": { + "clean": "yarn remove-definitions && yarn remove-dist && yarn remove-documentation", + "build-documentation": "yarn remove-documentation && typedoc ./", + "downlevel-dts": "downlevel-dts dist/types dist/types/ts3.4", + "remove-definitions": "rimraf ./types", + "remove-dist": "rimraf ./dist", + "remove-documentation": "rimraf ./docs", + "test": "jest --coverage --passWithNoTests", + "build:cjs": "tsc -p tsconfig.json", + "build:es": "tsc -p tsconfig.es.json", + "build": "yarn build:cjs && yarn build:es" + }, + "main": "./dist/cjs/index.js", + "types": "./dist/types/index.d.ts", + "module": "./dist/es/index.js", + "browser": { + "./runtimeConfig": "./runtimeConfig.browser" + }, + "react-native": { + "./runtimeConfig": "./runtimeConfig.native" + }, + "sideEffects": false, + "dependencies": { + "@aws-crypto/sha256-browser": "^1.1.0", + "@aws-crypto/sha256-js": "^1.1.0", + "@aws-sdk/client-sts": "3.26.0", + "@aws-sdk/config-resolver": "3.25.0", + "@aws-sdk/credential-provider-node": "3.26.0", + "@aws-sdk/fetch-http-handler": "3.25.0", + "@aws-sdk/hash-node": "3.25.0", + "@aws-sdk/invalid-dependency": "3.25.0", + "@aws-sdk/middleware-content-length": "3.25.0", + "@aws-sdk/middleware-host-header": "3.25.0", + "@aws-sdk/middleware-logger": "3.25.0", + "@aws-sdk/middleware-retry": "3.25.0", + "@aws-sdk/middleware-serde": "3.25.0", + "@aws-sdk/middleware-signing": "3.25.0", + "@aws-sdk/middleware-stack": "3.25.0", + "@aws-sdk/middleware-user-agent": "3.25.0", + "@aws-sdk/node-config-provider": "3.25.0", + "@aws-sdk/node-http-handler": "3.25.0", + "@aws-sdk/protocol-http": "3.25.0", + "@aws-sdk/smithy-client": "3.25.0", + "@aws-sdk/types": "3.25.0", + "@aws-sdk/url-parser": "3.25.0", + "@aws-sdk/util-base64-browser": "3.23.0", + "@aws-sdk/util-base64-node": "3.23.0", + "@aws-sdk/util-body-length-browser": "3.23.0", + "@aws-sdk/util-body-length-node": "3.23.0", + "@aws-sdk/util-user-agent-browser": "3.25.0", + "@aws-sdk/util-user-agent-node": "3.25.0", + "@aws-sdk/util-utf8-browser": "3.23.0", + "@aws-sdk/util-utf8-node": "3.23.0", + "tslib": "^2.3.0" + }, + "devDependencies": { + "@aws-sdk/client-documentation-generator": "3.23.0", + "@types/node": "^12.7.5", + "downlevel-dts": "0.7.0", + "jest": "^26.1.0", + "rimraf": "^3.0.0", + "ts-jest": "^26.4.1", + "typedoc": "^0.19.2", + "typescript": "~4.3.2" + }, + "engines": { + "node": ">=10.0.0" + }, + "typesVersions": { + "<4.0": { + "dist/types/*": [ + "dist/types/ts3.4/*" + ] + } + }, + "author": { + "name": "AWS SDK for JavaScript Team", + "url": "https://aws.amazon.com/javascript/" + }, + "license": "Apache-2.0", + "homepage": "https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-memorydb", + "repository": { + "type": "git", + "url": "https://github.com/aws/aws-sdk-js-v3.git", + "directory": "clients/client-memorydb" + } +} diff --git a/clients/client-memorydb/protocols/Aws_json1_1.ts b/clients/client-memorydb/protocols/Aws_json1_1.ts new file mode 100644 index 000000000000..918254455479 --- /dev/null +++ b/clients/client-memorydb/protocols/Aws_json1_1.ts @@ -0,0 +1,6693 @@ +import { BatchUpdateClusterCommandInput, BatchUpdateClusterCommandOutput } from "../commands/BatchUpdateClusterCommand"; +import { CopySnapshotCommandInput, CopySnapshotCommandOutput } from "../commands/CopySnapshotCommand"; +import { CreateACLCommandInput, CreateACLCommandOutput } from "../commands/CreateACLCommand"; +import { CreateClusterCommandInput, CreateClusterCommandOutput } from "../commands/CreateClusterCommand"; +import { + CreateParameterGroupCommandInput, + CreateParameterGroupCommandOutput, +} from "../commands/CreateParameterGroupCommand"; +import { CreateSnapshotCommandInput, CreateSnapshotCommandOutput } from "../commands/CreateSnapshotCommand"; +import { CreateSubnetGroupCommandInput, CreateSubnetGroupCommandOutput } from "../commands/CreateSubnetGroupCommand"; +import { CreateUserCommandInput, CreateUserCommandOutput } from "../commands/CreateUserCommand"; +import { DeleteACLCommandInput, DeleteACLCommandOutput } from "../commands/DeleteACLCommand"; +import { DeleteClusterCommandInput, DeleteClusterCommandOutput } from "../commands/DeleteClusterCommand"; +import { + DeleteParameterGroupCommandInput, + DeleteParameterGroupCommandOutput, +} from "../commands/DeleteParameterGroupCommand"; +import { DeleteSnapshotCommandInput, DeleteSnapshotCommandOutput } from "../commands/DeleteSnapshotCommand"; +import { DeleteSubnetGroupCommandInput, DeleteSubnetGroupCommandOutput } from "../commands/DeleteSubnetGroupCommand"; +import { DeleteUserCommandInput, DeleteUserCommandOutput } from "../commands/DeleteUserCommand"; +import { DescribeACLsCommandInput, DescribeACLsCommandOutput } from "../commands/DescribeACLsCommand"; +import { DescribeClustersCommandInput, DescribeClustersCommandOutput } from "../commands/DescribeClustersCommand"; +import { + DescribeEngineVersionsCommandInput, + DescribeEngineVersionsCommandOutput, +} from "../commands/DescribeEngineVersionsCommand"; +import { DescribeEventsCommandInput, DescribeEventsCommandOutput } from "../commands/DescribeEventsCommand"; +import { + DescribeParameterGroupsCommandInput, + DescribeParameterGroupsCommandOutput, +} from "../commands/DescribeParameterGroupsCommand"; +import { DescribeParametersCommandInput, DescribeParametersCommandOutput } from "../commands/DescribeParametersCommand"; +import { + DescribeServiceUpdatesCommandInput, + DescribeServiceUpdatesCommandOutput, +} from "../commands/DescribeServiceUpdatesCommand"; +import { DescribeSnapshotsCommandInput, DescribeSnapshotsCommandOutput } from "../commands/DescribeSnapshotsCommand"; +import { + DescribeSubnetGroupsCommandInput, + DescribeSubnetGroupsCommandOutput, +} from "../commands/DescribeSubnetGroupsCommand"; +import { DescribeUsersCommandInput, DescribeUsersCommandOutput } from "../commands/DescribeUsersCommand"; +import { FailoverShardCommandInput, FailoverShardCommandOutput } from "../commands/FailoverShardCommand"; +import { + ListAllowedNodeTypeUpdatesCommandInput, + ListAllowedNodeTypeUpdatesCommandOutput, +} from "../commands/ListAllowedNodeTypeUpdatesCommand"; +import { ListTagsCommandInput, ListTagsCommandOutput } from "../commands/ListTagsCommand"; +import { + ResetParameterGroupCommandInput, + ResetParameterGroupCommandOutput, +} from "../commands/ResetParameterGroupCommand"; +import { TagResourceCommandInput, TagResourceCommandOutput } from "../commands/TagResourceCommand"; +import { UntagResourceCommandInput, UntagResourceCommandOutput } from "../commands/UntagResourceCommand"; +import { UpdateACLCommandInput, UpdateACLCommandOutput } from "../commands/UpdateACLCommand"; +import { UpdateClusterCommandInput, UpdateClusterCommandOutput } from "../commands/UpdateClusterCommand"; +import { + UpdateParameterGroupCommandInput, + UpdateParameterGroupCommandOutput, +} from "../commands/UpdateParameterGroupCommand"; +import { UpdateSubnetGroupCommandInput, UpdateSubnetGroupCommandOutput } from "../commands/UpdateSubnetGroupCommand"; +import { UpdateUserCommandInput, UpdateUserCommandOutput } from "../commands/UpdateUserCommand"; +import { + ACL, + ACLAlreadyExistsFault, + ACLNotFoundFault, + ACLPendingChanges, + ACLQuotaExceededFault, + ACLsUpdateStatus, + APICallRateForCustomerExceededFault, + Authentication, + AuthenticationMode, + AvailabilityZone, + BatchUpdateClusterRequest, + BatchUpdateClusterResponse, + Cluster, + ClusterAlreadyExistsFault, + ClusterConfiguration, + ClusterNotFoundFault, + ClusterPendingUpdates, + ClusterQuotaForCustomerExceededFault, + CopySnapshotRequest, + CopySnapshotResponse, + CreateACLRequest, + CreateACLResponse, + CreateClusterRequest, + CreateClusterResponse, + CreateParameterGroupRequest, + CreateParameterGroupResponse, + CreateSnapshotRequest, + CreateSnapshotResponse, + CreateSubnetGroupRequest, + CreateSubnetGroupResponse, + CreateUserRequest, + CreateUserResponse, + DefaultUserRequired, + DeleteACLRequest, + DeleteACLResponse, + DeleteClusterRequest, + DeleteClusterResponse, + DeleteParameterGroupRequest, + DeleteParameterGroupResponse, + DeleteSnapshotRequest, + DeleteSnapshotResponse, + DeleteSubnetGroupRequest, + DeleteSubnetGroupResponse, + DeleteUserRequest, + DeleteUserResponse, + DescribeACLsRequest, + DescribeACLsResponse, + DescribeClustersRequest, + DescribeClustersResponse, + DescribeEngineVersionsRequest, + DescribeEngineVersionsResponse, + DescribeEventsRequest, + DescribeEventsResponse, + DescribeParameterGroupsRequest, + DescribeParameterGroupsResponse, + DescribeParametersRequest, + DescribeParametersResponse, + DescribeServiceUpdatesRequest, + DescribeServiceUpdatesResponse, + DescribeSnapshotsRequest, + DescribeSnapshotsResponse, + DescribeSubnetGroupsRequest, + DescribeSubnetGroupsResponse, + DescribeUsersRequest, + DescribeUsersResponse, + DuplicateUserNameFault, + Endpoint, + EngineVersionInfo, + Event, + FailoverShardRequest, + FailoverShardResponse, + Filter, + InsufficientClusterCapacityFault, + InvalidACLStateFault, + InvalidARNFault, + InvalidClusterStateFault, + InvalidCredentialsException, + InvalidKMSKeyFault, + InvalidNodeStateFault, + InvalidParameterCombinationException, + InvalidParameterGroupStateFault, + InvalidParameterValueException, + InvalidSnapshotStateFault, + InvalidSubnet, + InvalidUserStateFault, + InvalidVPCNetworkStateFault, + ListAllowedNodeTypeUpdatesRequest, + ListAllowedNodeTypeUpdatesResponse, + ListTagsRequest, + ListTagsResponse, + NoOperationFault, + Node, + NodeQuotaForClusterExceededFault, + NodeQuotaForCustomerExceededFault, + Parameter, + ParameterGroup, + ParameterGroupAlreadyExistsFault, + ParameterGroupNotFoundFault, + ParameterGroupQuotaExceededFault, + ParameterNameValue, + PendingModifiedServiceUpdate, + ReplicaConfigurationRequest, + ResetParameterGroupRequest, + ResetParameterGroupResponse, + ReshardingStatus, + SecurityGroupMembership, + ServiceLinkedRoleNotFoundFault, + ServiceUpdate, + ServiceUpdateNotFoundFault, + ServiceUpdateRequest, + ServiceUpdateStatus, + Shard, + ShardConfiguration, + ShardConfigurationRequest, + ShardDetail, + ShardNotFoundFault, + ShardsPerClusterQuotaExceededFault, + SlotMigration, + Snapshot, + SnapshotAlreadyExistsFault, + SnapshotNotFoundFault, + SnapshotQuotaExceededFault, + Subnet, + SubnetGroup, + SubnetGroupAlreadyExistsFault, + SubnetGroupInUseFault, + SubnetGroupNotFoundFault, + SubnetGroupQuotaExceededFault, + SubnetInUse, + SubnetNotAllowedFault, + SubnetQuotaExceededFault, + Tag, + TagNotFoundFault, + TagQuotaPerResourceExceeded, + TagResourceRequest, + TagResourceResponse, + TestFailoverNotAvailableFault, + UnprocessedCluster, + UntagResourceRequest, + UntagResourceResponse, + UpdateACLRequest, + UpdateACLResponse, + UpdateClusterRequest, + UpdateClusterResponse, + UpdateParameterGroupRequest, + UpdateParameterGroupResponse, + UpdateSubnetGroupRequest, + UpdateSubnetGroupResponse, + UpdateUserRequest, + UpdateUserResponse, + User, + UserAlreadyExistsFault, + UserNotFoundFault, + UserQuotaExceededFault, +} from "../models/models_0"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { + expectBoolean as __expectBoolean, + expectInt as __expectInt, + expectString as __expectString, + limitedParseFloat as __limitedParseFloat, +} from "@aws-sdk/smithy-client"; +import { + Endpoint as __Endpoint, + HeaderBag as __HeaderBag, + MetadataBearer as __MetadataBearer, + ResponseMetadata as __ResponseMetadata, + SerdeContext as __SerdeContext, + SmithyException as __SmithyException, +} from "@aws-sdk/types"; + +export const serializeAws_json1_1BatchUpdateClusterCommand = async ( + input: BatchUpdateClusterCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-amz-json-1.1", + "x-amz-target": "AmazonMemoryDB.BatchUpdateCluster", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1BatchUpdateClusterRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1CopySnapshotCommand = async ( + input: CopySnapshotCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-amz-json-1.1", + "x-amz-target": "AmazonMemoryDB.CopySnapshot", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1CopySnapshotRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1CreateACLCommand = async ( + input: CreateACLCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-amz-json-1.1", + "x-amz-target": "AmazonMemoryDB.CreateACL", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1CreateACLRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1CreateClusterCommand = async ( + input: CreateClusterCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-amz-json-1.1", + "x-amz-target": "AmazonMemoryDB.CreateCluster", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1CreateClusterRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1CreateParameterGroupCommand = async ( + input: CreateParameterGroupCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-amz-json-1.1", + "x-amz-target": "AmazonMemoryDB.CreateParameterGroup", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1CreateParameterGroupRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1CreateSnapshotCommand = async ( + input: CreateSnapshotCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-amz-json-1.1", + "x-amz-target": "AmazonMemoryDB.CreateSnapshot", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1CreateSnapshotRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1CreateSubnetGroupCommand = async ( + input: CreateSubnetGroupCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-amz-json-1.1", + "x-amz-target": "AmazonMemoryDB.CreateSubnetGroup", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1CreateSubnetGroupRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1CreateUserCommand = async ( + input: CreateUserCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-amz-json-1.1", + "x-amz-target": "AmazonMemoryDB.CreateUser", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1CreateUserRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1DeleteACLCommand = async ( + input: DeleteACLCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-amz-json-1.1", + "x-amz-target": "AmazonMemoryDB.DeleteACL", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1DeleteACLRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1DeleteClusterCommand = async ( + input: DeleteClusterCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-amz-json-1.1", + "x-amz-target": "AmazonMemoryDB.DeleteCluster", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1DeleteClusterRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1DeleteParameterGroupCommand = async ( + input: DeleteParameterGroupCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-amz-json-1.1", + "x-amz-target": "AmazonMemoryDB.DeleteParameterGroup", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1DeleteParameterGroupRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1DeleteSnapshotCommand = async ( + input: DeleteSnapshotCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-amz-json-1.1", + "x-amz-target": "AmazonMemoryDB.DeleteSnapshot", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1DeleteSnapshotRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1DeleteSubnetGroupCommand = async ( + input: DeleteSubnetGroupCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-amz-json-1.1", + "x-amz-target": "AmazonMemoryDB.DeleteSubnetGroup", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1DeleteSubnetGroupRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1DeleteUserCommand = async ( + input: DeleteUserCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-amz-json-1.1", + "x-amz-target": "AmazonMemoryDB.DeleteUser", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1DeleteUserRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1DescribeACLsCommand = async ( + input: DescribeACLsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-amz-json-1.1", + "x-amz-target": "AmazonMemoryDB.DescribeACLs", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1DescribeACLsRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1DescribeClustersCommand = async ( + input: DescribeClustersCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-amz-json-1.1", + "x-amz-target": "AmazonMemoryDB.DescribeClusters", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1DescribeClustersRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1DescribeEngineVersionsCommand = async ( + input: DescribeEngineVersionsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-amz-json-1.1", + "x-amz-target": "AmazonMemoryDB.DescribeEngineVersions", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1DescribeEngineVersionsRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1DescribeEventsCommand = async ( + input: DescribeEventsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-amz-json-1.1", + "x-amz-target": "AmazonMemoryDB.DescribeEvents", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1DescribeEventsRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1DescribeParameterGroupsCommand = async ( + input: DescribeParameterGroupsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-amz-json-1.1", + "x-amz-target": "AmazonMemoryDB.DescribeParameterGroups", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1DescribeParameterGroupsRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1DescribeParametersCommand = async ( + input: DescribeParametersCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-amz-json-1.1", + "x-amz-target": "AmazonMemoryDB.DescribeParameters", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1DescribeParametersRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1DescribeServiceUpdatesCommand = async ( + input: DescribeServiceUpdatesCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-amz-json-1.1", + "x-amz-target": "AmazonMemoryDB.DescribeServiceUpdates", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1DescribeServiceUpdatesRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1DescribeSnapshotsCommand = async ( + input: DescribeSnapshotsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-amz-json-1.1", + "x-amz-target": "AmazonMemoryDB.DescribeSnapshots", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1DescribeSnapshotsRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1DescribeSubnetGroupsCommand = async ( + input: DescribeSubnetGroupsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-amz-json-1.1", + "x-amz-target": "AmazonMemoryDB.DescribeSubnetGroups", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1DescribeSubnetGroupsRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1DescribeUsersCommand = async ( + input: DescribeUsersCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-amz-json-1.1", + "x-amz-target": "AmazonMemoryDB.DescribeUsers", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1DescribeUsersRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1FailoverShardCommand = async ( + input: FailoverShardCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-amz-json-1.1", + "x-amz-target": "AmazonMemoryDB.FailoverShard", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1FailoverShardRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1ListAllowedNodeTypeUpdatesCommand = async ( + input: ListAllowedNodeTypeUpdatesCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-amz-json-1.1", + "x-amz-target": "AmazonMemoryDB.ListAllowedNodeTypeUpdates", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1ListAllowedNodeTypeUpdatesRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1ListTagsCommand = async ( + input: ListTagsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-amz-json-1.1", + "x-amz-target": "AmazonMemoryDB.ListTags", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1ListTagsRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1ResetParameterGroupCommand = async ( + input: ResetParameterGroupCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-amz-json-1.1", + "x-amz-target": "AmazonMemoryDB.ResetParameterGroup", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1ResetParameterGroupRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1TagResourceCommand = async ( + input: TagResourceCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-amz-json-1.1", + "x-amz-target": "AmazonMemoryDB.TagResource", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1TagResourceRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1UntagResourceCommand = async ( + input: UntagResourceCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-amz-json-1.1", + "x-amz-target": "AmazonMemoryDB.UntagResource", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1UntagResourceRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1UpdateACLCommand = async ( + input: UpdateACLCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-amz-json-1.1", + "x-amz-target": "AmazonMemoryDB.UpdateACL", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1UpdateACLRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1UpdateClusterCommand = async ( + input: UpdateClusterCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-amz-json-1.1", + "x-amz-target": "AmazonMemoryDB.UpdateCluster", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1UpdateClusterRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1UpdateParameterGroupCommand = async ( + input: UpdateParameterGroupCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-amz-json-1.1", + "x-amz-target": "AmazonMemoryDB.UpdateParameterGroup", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1UpdateParameterGroupRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1UpdateSubnetGroupCommand = async ( + input: UpdateSubnetGroupCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-amz-json-1.1", + "x-amz-target": "AmazonMemoryDB.UpdateSubnetGroup", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1UpdateSubnetGroupRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1UpdateUserCommand = async ( + input: UpdateUserCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-amz-json-1.1", + "x-amz-target": "AmazonMemoryDB.UpdateUser", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1UpdateUserRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const deserializeAws_json1_1BatchUpdateClusterCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1BatchUpdateClusterCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1BatchUpdateClusterResponse(data, context); + const response: BatchUpdateClusterCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1BatchUpdateClusterCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InvalidParameterValueException": + case "com.amazonaws.memorydb#InvalidParameterValueException": + response = { + ...(await deserializeAws_json1_1InvalidParameterValueExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceUpdateNotFoundFault": + case "com.amazonaws.memorydb#ServiceUpdateNotFoundFault": + response = { + ...(await deserializeAws_json1_1ServiceUpdateNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_json1_1CopySnapshotCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1CopySnapshotCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1CopySnapshotResponse(data, context); + const response: CopySnapshotCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1CopySnapshotCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InvalidParameterCombinationException": + case "com.amazonaws.memorydb#InvalidParameterCombinationException": + response = { + ...(await deserializeAws_json1_1InvalidParameterCombinationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterValueException": + case "com.amazonaws.memorydb#InvalidParameterValueException": + response = { + ...(await deserializeAws_json1_1InvalidParameterValueExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidSnapshotStateFault": + case "com.amazonaws.memorydb#InvalidSnapshotStateFault": + response = { + ...(await deserializeAws_json1_1InvalidSnapshotStateFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceLinkedRoleNotFoundFault": + case "com.amazonaws.memorydb#ServiceLinkedRoleNotFoundFault": + response = { + ...(await deserializeAws_json1_1ServiceLinkedRoleNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "SnapshotAlreadyExistsFault": + case "com.amazonaws.memorydb#SnapshotAlreadyExistsFault": + response = { + ...(await deserializeAws_json1_1SnapshotAlreadyExistsFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "SnapshotNotFoundFault": + case "com.amazonaws.memorydb#SnapshotNotFoundFault": + response = { + ...(await deserializeAws_json1_1SnapshotNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "SnapshotQuotaExceededFault": + case "com.amazonaws.memorydb#SnapshotQuotaExceededFault": + response = { + ...(await deserializeAws_json1_1SnapshotQuotaExceededFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "TagQuotaPerResourceExceeded": + case "com.amazonaws.memorydb#TagQuotaPerResourceExceeded": + response = { + ...(await deserializeAws_json1_1TagQuotaPerResourceExceededResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_json1_1CreateACLCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1CreateACLCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1CreateACLResponse(data, context); + const response: CreateACLCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1CreateACLCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "ACLAlreadyExistsFault": + case "com.amazonaws.memorydb#ACLAlreadyExistsFault": + response = { + ...(await deserializeAws_json1_1ACLAlreadyExistsFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ACLQuotaExceededFault": + case "com.amazonaws.memorydb#ACLQuotaExceededFault": + response = { + ...(await deserializeAws_json1_1ACLQuotaExceededFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "DefaultUserRequired": + case "com.amazonaws.memorydb#DefaultUserRequired": + response = { + ...(await deserializeAws_json1_1DefaultUserRequiredResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "DuplicateUserNameFault": + case "com.amazonaws.memorydb#DuplicateUserNameFault": + response = { + ...(await deserializeAws_json1_1DuplicateUserNameFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterValueException": + case "com.amazonaws.memorydb#InvalidParameterValueException": + response = { + ...(await deserializeAws_json1_1InvalidParameterValueExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "TagQuotaPerResourceExceeded": + case "com.amazonaws.memorydb#TagQuotaPerResourceExceeded": + response = { + ...(await deserializeAws_json1_1TagQuotaPerResourceExceededResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UserNotFoundFault": + case "com.amazonaws.memorydb#UserNotFoundFault": + response = { + ...(await deserializeAws_json1_1UserNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_json1_1CreateClusterCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1CreateClusterCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1CreateClusterResponse(data, context); + const response: CreateClusterCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1CreateClusterCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "ACLNotFoundFault": + case "com.amazonaws.memorydb#ACLNotFoundFault": + response = { + ...(await deserializeAws_json1_1ACLNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ClusterAlreadyExistsFault": + case "com.amazonaws.memorydb#ClusterAlreadyExistsFault": + response = { + ...(await deserializeAws_json1_1ClusterAlreadyExistsFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ClusterQuotaForCustomerExceededFault": + case "com.amazonaws.memorydb#ClusterQuotaForCustomerExceededFault": + response = { + ...(await deserializeAws_json1_1ClusterQuotaForCustomerExceededFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InsufficientClusterCapacityFault": + case "com.amazonaws.memorydb#InsufficientClusterCapacityFault": + response = { + ...(await deserializeAws_json1_1InsufficientClusterCapacityFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidACLStateFault": + case "com.amazonaws.memorydb#InvalidACLStateFault": + response = { + ...(await deserializeAws_json1_1InvalidACLStateFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidCredentialsException": + case "com.amazonaws.memorydb#InvalidCredentialsException": + response = { + ...(await deserializeAws_json1_1InvalidCredentialsExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterCombinationException": + case "com.amazonaws.memorydb#InvalidParameterCombinationException": + response = { + ...(await deserializeAws_json1_1InvalidParameterCombinationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterValueException": + case "com.amazonaws.memorydb#InvalidParameterValueException": + response = { + ...(await deserializeAws_json1_1InvalidParameterValueExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidVPCNetworkStateFault": + case "com.amazonaws.memorydb#InvalidVPCNetworkStateFault": + response = { + ...(await deserializeAws_json1_1InvalidVPCNetworkStateFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "NodeQuotaForClusterExceededFault": + case "com.amazonaws.memorydb#NodeQuotaForClusterExceededFault": + response = { + ...(await deserializeAws_json1_1NodeQuotaForClusterExceededFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "NodeQuotaForCustomerExceededFault": + case "com.amazonaws.memorydb#NodeQuotaForCustomerExceededFault": + response = { + ...(await deserializeAws_json1_1NodeQuotaForCustomerExceededFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ParameterGroupNotFoundFault": + case "com.amazonaws.memorydb#ParameterGroupNotFoundFault": + response = { + ...(await deserializeAws_json1_1ParameterGroupNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceLinkedRoleNotFoundFault": + case "com.amazonaws.memorydb#ServiceLinkedRoleNotFoundFault": + response = { + ...(await deserializeAws_json1_1ServiceLinkedRoleNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ShardsPerClusterQuotaExceededFault": + case "com.amazonaws.memorydb#ShardsPerClusterQuotaExceededFault": + response = { + ...(await deserializeAws_json1_1ShardsPerClusterQuotaExceededFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "SubnetGroupNotFoundFault": + case "com.amazonaws.memorydb#SubnetGroupNotFoundFault": + response = { + ...(await deserializeAws_json1_1SubnetGroupNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "TagQuotaPerResourceExceeded": + case "com.amazonaws.memorydb#TagQuotaPerResourceExceeded": + response = { + ...(await deserializeAws_json1_1TagQuotaPerResourceExceededResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_json1_1CreateParameterGroupCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1CreateParameterGroupCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1CreateParameterGroupResponse(data, context); + const response: CreateParameterGroupCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1CreateParameterGroupCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InvalidParameterCombinationException": + case "com.amazonaws.memorydb#InvalidParameterCombinationException": + response = { + ...(await deserializeAws_json1_1InvalidParameterCombinationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterGroupStateFault": + case "com.amazonaws.memorydb#InvalidParameterGroupStateFault": + response = { + ...(await deserializeAws_json1_1InvalidParameterGroupStateFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterValueException": + case "com.amazonaws.memorydb#InvalidParameterValueException": + response = { + ...(await deserializeAws_json1_1InvalidParameterValueExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ParameterGroupAlreadyExistsFault": + case "com.amazonaws.memorydb#ParameterGroupAlreadyExistsFault": + response = { + ...(await deserializeAws_json1_1ParameterGroupAlreadyExistsFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ParameterGroupQuotaExceededFault": + case "com.amazonaws.memorydb#ParameterGroupQuotaExceededFault": + response = { + ...(await deserializeAws_json1_1ParameterGroupQuotaExceededFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceLinkedRoleNotFoundFault": + case "com.amazonaws.memorydb#ServiceLinkedRoleNotFoundFault": + response = { + ...(await deserializeAws_json1_1ServiceLinkedRoleNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "TagQuotaPerResourceExceeded": + case "com.amazonaws.memorydb#TagQuotaPerResourceExceeded": + response = { + ...(await deserializeAws_json1_1TagQuotaPerResourceExceededResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_json1_1CreateSnapshotCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1CreateSnapshotCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1CreateSnapshotResponse(data, context); + const response: CreateSnapshotCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1CreateSnapshotCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "ClusterNotFoundFault": + case "com.amazonaws.memorydb#ClusterNotFoundFault": + response = { + ...(await deserializeAws_json1_1ClusterNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidClusterStateFault": + case "com.amazonaws.memorydb#InvalidClusterStateFault": + response = { + ...(await deserializeAws_json1_1InvalidClusterStateFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterCombinationException": + case "com.amazonaws.memorydb#InvalidParameterCombinationException": + response = { + ...(await deserializeAws_json1_1InvalidParameterCombinationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterValueException": + case "com.amazonaws.memorydb#InvalidParameterValueException": + response = { + ...(await deserializeAws_json1_1InvalidParameterValueExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceLinkedRoleNotFoundFault": + case "com.amazonaws.memorydb#ServiceLinkedRoleNotFoundFault": + response = { + ...(await deserializeAws_json1_1ServiceLinkedRoleNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "SnapshotAlreadyExistsFault": + case "com.amazonaws.memorydb#SnapshotAlreadyExistsFault": + response = { + ...(await deserializeAws_json1_1SnapshotAlreadyExistsFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "SnapshotQuotaExceededFault": + case "com.amazonaws.memorydb#SnapshotQuotaExceededFault": + response = { + ...(await deserializeAws_json1_1SnapshotQuotaExceededFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "TagQuotaPerResourceExceeded": + case "com.amazonaws.memorydb#TagQuotaPerResourceExceeded": + response = { + ...(await deserializeAws_json1_1TagQuotaPerResourceExceededResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_json1_1CreateSubnetGroupCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1CreateSubnetGroupCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1CreateSubnetGroupResponse(data, context); + const response: CreateSubnetGroupCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1CreateSubnetGroupCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InvalidSubnet": + case "com.amazonaws.memorydb#InvalidSubnet": + response = { + ...(await deserializeAws_json1_1InvalidSubnetResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceLinkedRoleNotFoundFault": + case "com.amazonaws.memorydb#ServiceLinkedRoleNotFoundFault": + response = { + ...(await deserializeAws_json1_1ServiceLinkedRoleNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "SubnetGroupAlreadyExistsFault": + case "com.amazonaws.memorydb#SubnetGroupAlreadyExistsFault": + response = { + ...(await deserializeAws_json1_1SubnetGroupAlreadyExistsFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "SubnetGroupQuotaExceededFault": + case "com.amazonaws.memorydb#SubnetGroupQuotaExceededFault": + response = { + ...(await deserializeAws_json1_1SubnetGroupQuotaExceededFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "SubnetNotAllowedFault": + case "com.amazonaws.memorydb#SubnetNotAllowedFault": + response = { + ...(await deserializeAws_json1_1SubnetNotAllowedFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "SubnetQuotaExceededFault": + case "com.amazonaws.memorydb#SubnetQuotaExceededFault": + response = { + ...(await deserializeAws_json1_1SubnetQuotaExceededFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "TagQuotaPerResourceExceeded": + case "com.amazonaws.memorydb#TagQuotaPerResourceExceeded": + response = { + ...(await deserializeAws_json1_1TagQuotaPerResourceExceededResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_json1_1CreateUserCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1CreateUserCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1CreateUserResponse(data, context); + const response: CreateUserCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1CreateUserCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "DuplicateUserNameFault": + case "com.amazonaws.memorydb#DuplicateUserNameFault": + response = { + ...(await deserializeAws_json1_1DuplicateUserNameFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterCombinationException": + case "com.amazonaws.memorydb#InvalidParameterCombinationException": + response = { + ...(await deserializeAws_json1_1InvalidParameterCombinationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterValueException": + case "com.amazonaws.memorydb#InvalidParameterValueException": + response = { + ...(await deserializeAws_json1_1InvalidParameterValueExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "TagQuotaPerResourceExceeded": + case "com.amazonaws.memorydb#TagQuotaPerResourceExceeded": + response = { + ...(await deserializeAws_json1_1TagQuotaPerResourceExceededResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UserAlreadyExistsFault": + case "com.amazonaws.memorydb#UserAlreadyExistsFault": + response = { + ...(await deserializeAws_json1_1UserAlreadyExistsFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UserQuotaExceededFault": + case "com.amazonaws.memorydb#UserQuotaExceededFault": + response = { + ...(await deserializeAws_json1_1UserQuotaExceededFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_json1_1DeleteACLCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DeleteACLCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1DeleteACLResponse(data, context); + const response: DeleteACLCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DeleteACLCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "ACLNotFoundFault": + case "com.amazonaws.memorydb#ACLNotFoundFault": + response = { + ...(await deserializeAws_json1_1ACLNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidACLStateFault": + case "com.amazonaws.memorydb#InvalidACLStateFault": + response = { + ...(await deserializeAws_json1_1InvalidACLStateFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterValueException": + case "com.amazonaws.memorydb#InvalidParameterValueException": + response = { + ...(await deserializeAws_json1_1InvalidParameterValueExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_json1_1DeleteClusterCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DeleteClusterCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1DeleteClusterResponse(data, context); + const response: DeleteClusterCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DeleteClusterCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "ClusterNotFoundFault": + case "com.amazonaws.memorydb#ClusterNotFoundFault": + response = { + ...(await deserializeAws_json1_1ClusterNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidClusterStateFault": + case "com.amazonaws.memorydb#InvalidClusterStateFault": + response = { + ...(await deserializeAws_json1_1InvalidClusterStateFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterCombinationException": + case "com.amazonaws.memorydb#InvalidParameterCombinationException": + response = { + ...(await deserializeAws_json1_1InvalidParameterCombinationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterValueException": + case "com.amazonaws.memorydb#InvalidParameterValueException": + response = { + ...(await deserializeAws_json1_1InvalidParameterValueExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceLinkedRoleNotFoundFault": + case "com.amazonaws.memorydb#ServiceLinkedRoleNotFoundFault": + response = { + ...(await deserializeAws_json1_1ServiceLinkedRoleNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "SnapshotAlreadyExistsFault": + case "com.amazonaws.memorydb#SnapshotAlreadyExistsFault": + response = { + ...(await deserializeAws_json1_1SnapshotAlreadyExistsFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_json1_1DeleteParameterGroupCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DeleteParameterGroupCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1DeleteParameterGroupResponse(data, context); + const response: DeleteParameterGroupCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DeleteParameterGroupCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InvalidParameterCombinationException": + case "com.amazonaws.memorydb#InvalidParameterCombinationException": + response = { + ...(await deserializeAws_json1_1InvalidParameterCombinationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterGroupStateFault": + case "com.amazonaws.memorydb#InvalidParameterGroupStateFault": + response = { + ...(await deserializeAws_json1_1InvalidParameterGroupStateFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterValueException": + case "com.amazonaws.memorydb#InvalidParameterValueException": + response = { + ...(await deserializeAws_json1_1InvalidParameterValueExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ParameterGroupNotFoundFault": + case "com.amazonaws.memorydb#ParameterGroupNotFoundFault": + response = { + ...(await deserializeAws_json1_1ParameterGroupNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceLinkedRoleNotFoundFault": + case "com.amazonaws.memorydb#ServiceLinkedRoleNotFoundFault": + response = { + ...(await deserializeAws_json1_1ServiceLinkedRoleNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_json1_1DeleteSnapshotCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DeleteSnapshotCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1DeleteSnapshotResponse(data, context); + const response: DeleteSnapshotCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DeleteSnapshotCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InvalidParameterCombinationException": + case "com.amazonaws.memorydb#InvalidParameterCombinationException": + response = { + ...(await deserializeAws_json1_1InvalidParameterCombinationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterValueException": + case "com.amazonaws.memorydb#InvalidParameterValueException": + response = { + ...(await deserializeAws_json1_1InvalidParameterValueExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidSnapshotStateFault": + case "com.amazonaws.memorydb#InvalidSnapshotStateFault": + response = { + ...(await deserializeAws_json1_1InvalidSnapshotStateFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceLinkedRoleNotFoundFault": + case "com.amazonaws.memorydb#ServiceLinkedRoleNotFoundFault": + response = { + ...(await deserializeAws_json1_1ServiceLinkedRoleNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "SnapshotNotFoundFault": + case "com.amazonaws.memorydb#SnapshotNotFoundFault": + response = { + ...(await deserializeAws_json1_1SnapshotNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_json1_1DeleteSubnetGroupCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DeleteSubnetGroupCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1DeleteSubnetGroupResponse(data, context); + const response: DeleteSubnetGroupCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DeleteSubnetGroupCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "ServiceLinkedRoleNotFoundFault": + case "com.amazonaws.memorydb#ServiceLinkedRoleNotFoundFault": + response = { + ...(await deserializeAws_json1_1ServiceLinkedRoleNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "SubnetGroupInUseFault": + case "com.amazonaws.memorydb#SubnetGroupInUseFault": + response = { + ...(await deserializeAws_json1_1SubnetGroupInUseFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "SubnetGroupNotFoundFault": + case "com.amazonaws.memorydb#SubnetGroupNotFoundFault": + response = { + ...(await deserializeAws_json1_1SubnetGroupNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_json1_1DeleteUserCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DeleteUserCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1DeleteUserResponse(data, context); + const response: DeleteUserCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DeleteUserCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InvalidParameterValueException": + case "com.amazonaws.memorydb#InvalidParameterValueException": + response = { + ...(await deserializeAws_json1_1InvalidParameterValueExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidUserStateFault": + case "com.amazonaws.memorydb#InvalidUserStateFault": + response = { + ...(await deserializeAws_json1_1InvalidUserStateFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UserNotFoundFault": + case "com.amazonaws.memorydb#UserNotFoundFault": + response = { + ...(await deserializeAws_json1_1UserNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_json1_1DescribeACLsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DescribeACLsCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1DescribeACLsResponse(data, context); + const response: DescribeACLsCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DescribeACLsCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "ACLNotFoundFault": + case "com.amazonaws.memorydb#ACLNotFoundFault": + response = { + ...(await deserializeAws_json1_1ACLNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterCombinationException": + case "com.amazonaws.memorydb#InvalidParameterCombinationException": + response = { + ...(await deserializeAws_json1_1InvalidParameterCombinationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_json1_1DescribeClustersCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DescribeClustersCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1DescribeClustersResponse(data, context); + const response: DescribeClustersCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DescribeClustersCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "ClusterNotFoundFault": + case "com.amazonaws.memorydb#ClusterNotFoundFault": + response = { + ...(await deserializeAws_json1_1ClusterNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterCombinationException": + case "com.amazonaws.memorydb#InvalidParameterCombinationException": + response = { + ...(await deserializeAws_json1_1InvalidParameterCombinationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterValueException": + case "com.amazonaws.memorydb#InvalidParameterValueException": + response = { + ...(await deserializeAws_json1_1InvalidParameterValueExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceLinkedRoleNotFoundFault": + case "com.amazonaws.memorydb#ServiceLinkedRoleNotFoundFault": + response = { + ...(await deserializeAws_json1_1ServiceLinkedRoleNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_json1_1DescribeEngineVersionsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DescribeEngineVersionsCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1DescribeEngineVersionsResponse(data, context); + const response: DescribeEngineVersionsCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DescribeEngineVersionsCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InvalidParameterCombinationException": + case "com.amazonaws.memorydb#InvalidParameterCombinationException": + response = { + ...(await deserializeAws_json1_1InvalidParameterCombinationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterValueException": + case "com.amazonaws.memorydb#InvalidParameterValueException": + response = { + ...(await deserializeAws_json1_1InvalidParameterValueExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceLinkedRoleNotFoundFault": + case "com.amazonaws.memorydb#ServiceLinkedRoleNotFoundFault": + response = { + ...(await deserializeAws_json1_1ServiceLinkedRoleNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_json1_1DescribeEventsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DescribeEventsCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1DescribeEventsResponse(data, context); + const response: DescribeEventsCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DescribeEventsCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InvalidParameterCombinationException": + case "com.amazonaws.memorydb#InvalidParameterCombinationException": + response = { + ...(await deserializeAws_json1_1InvalidParameterCombinationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterValueException": + case "com.amazonaws.memorydb#InvalidParameterValueException": + response = { + ...(await deserializeAws_json1_1InvalidParameterValueExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceLinkedRoleNotFoundFault": + case "com.amazonaws.memorydb#ServiceLinkedRoleNotFoundFault": + response = { + ...(await deserializeAws_json1_1ServiceLinkedRoleNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_json1_1DescribeParameterGroupsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DescribeParameterGroupsCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1DescribeParameterGroupsResponse(data, context); + const response: DescribeParameterGroupsCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DescribeParameterGroupsCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InvalidParameterCombinationException": + case "com.amazonaws.memorydb#InvalidParameterCombinationException": + response = { + ...(await deserializeAws_json1_1InvalidParameterCombinationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterValueException": + case "com.amazonaws.memorydb#InvalidParameterValueException": + response = { + ...(await deserializeAws_json1_1InvalidParameterValueExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ParameterGroupNotFoundFault": + case "com.amazonaws.memorydb#ParameterGroupNotFoundFault": + response = { + ...(await deserializeAws_json1_1ParameterGroupNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceLinkedRoleNotFoundFault": + case "com.amazonaws.memorydb#ServiceLinkedRoleNotFoundFault": + response = { + ...(await deserializeAws_json1_1ServiceLinkedRoleNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_json1_1DescribeParametersCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DescribeParametersCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1DescribeParametersResponse(data, context); + const response: DescribeParametersCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DescribeParametersCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InvalidParameterCombinationException": + case "com.amazonaws.memorydb#InvalidParameterCombinationException": + response = { + ...(await deserializeAws_json1_1InvalidParameterCombinationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterValueException": + case "com.amazonaws.memorydb#InvalidParameterValueException": + response = { + ...(await deserializeAws_json1_1InvalidParameterValueExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ParameterGroupNotFoundFault": + case "com.amazonaws.memorydb#ParameterGroupNotFoundFault": + response = { + ...(await deserializeAws_json1_1ParameterGroupNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceLinkedRoleNotFoundFault": + case "com.amazonaws.memorydb#ServiceLinkedRoleNotFoundFault": + response = { + ...(await deserializeAws_json1_1ServiceLinkedRoleNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_json1_1DescribeServiceUpdatesCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DescribeServiceUpdatesCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1DescribeServiceUpdatesResponse(data, context); + const response: DescribeServiceUpdatesCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DescribeServiceUpdatesCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InvalidParameterCombinationException": + case "com.amazonaws.memorydb#InvalidParameterCombinationException": + response = { + ...(await deserializeAws_json1_1InvalidParameterCombinationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterValueException": + case "com.amazonaws.memorydb#InvalidParameterValueException": + response = { + ...(await deserializeAws_json1_1InvalidParameterValueExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_json1_1DescribeSnapshotsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DescribeSnapshotsCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1DescribeSnapshotsResponse(data, context); + const response: DescribeSnapshotsCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DescribeSnapshotsCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InvalidParameterCombinationException": + case "com.amazonaws.memorydb#InvalidParameterCombinationException": + response = { + ...(await deserializeAws_json1_1InvalidParameterCombinationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterValueException": + case "com.amazonaws.memorydb#InvalidParameterValueException": + response = { + ...(await deserializeAws_json1_1InvalidParameterValueExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceLinkedRoleNotFoundFault": + case "com.amazonaws.memorydb#ServiceLinkedRoleNotFoundFault": + response = { + ...(await deserializeAws_json1_1ServiceLinkedRoleNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "SnapshotNotFoundFault": + case "com.amazonaws.memorydb#SnapshotNotFoundFault": + response = { + ...(await deserializeAws_json1_1SnapshotNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_json1_1DescribeSubnetGroupsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DescribeSubnetGroupsCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1DescribeSubnetGroupsResponse(data, context); + const response: DescribeSubnetGroupsCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DescribeSubnetGroupsCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "ServiceLinkedRoleNotFoundFault": + case "com.amazonaws.memorydb#ServiceLinkedRoleNotFoundFault": + response = { + ...(await deserializeAws_json1_1ServiceLinkedRoleNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "SubnetGroupNotFoundFault": + case "com.amazonaws.memorydb#SubnetGroupNotFoundFault": + response = { + ...(await deserializeAws_json1_1SubnetGroupNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_json1_1DescribeUsersCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DescribeUsersCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1DescribeUsersResponse(data, context); + const response: DescribeUsersCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DescribeUsersCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InvalidParameterCombinationException": + case "com.amazonaws.memorydb#InvalidParameterCombinationException": + response = { + ...(await deserializeAws_json1_1InvalidParameterCombinationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UserNotFoundFault": + case "com.amazonaws.memorydb#UserNotFoundFault": + response = { + ...(await deserializeAws_json1_1UserNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_json1_1FailoverShardCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1FailoverShardCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1FailoverShardResponse(data, context); + const response: FailoverShardCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1FailoverShardCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "APICallRateForCustomerExceededFault": + case "com.amazonaws.memorydb#APICallRateForCustomerExceededFault": + response = { + ...(await deserializeAws_json1_1APICallRateForCustomerExceededFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ClusterNotFoundFault": + case "com.amazonaws.memorydb#ClusterNotFoundFault": + response = { + ...(await deserializeAws_json1_1ClusterNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidClusterStateFault": + case "com.amazonaws.memorydb#InvalidClusterStateFault": + response = { + ...(await deserializeAws_json1_1InvalidClusterStateFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidKMSKeyFault": + case "com.amazonaws.memorydb#InvalidKMSKeyFault": + response = { + ...(await deserializeAws_json1_1InvalidKMSKeyFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterCombinationException": + case "com.amazonaws.memorydb#InvalidParameterCombinationException": + response = { + ...(await deserializeAws_json1_1InvalidParameterCombinationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterValueException": + case "com.amazonaws.memorydb#InvalidParameterValueException": + response = { + ...(await deserializeAws_json1_1InvalidParameterValueExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ShardNotFoundFault": + case "com.amazonaws.memorydb#ShardNotFoundFault": + response = { + ...(await deserializeAws_json1_1ShardNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "TestFailoverNotAvailableFault": + case "com.amazonaws.memorydb#TestFailoverNotAvailableFault": + response = { + ...(await deserializeAws_json1_1TestFailoverNotAvailableFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_json1_1ListAllowedNodeTypeUpdatesCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1ListAllowedNodeTypeUpdatesCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1ListAllowedNodeTypeUpdatesResponse(data, context); + const response: ListAllowedNodeTypeUpdatesCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1ListAllowedNodeTypeUpdatesCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "ClusterNotFoundFault": + case "com.amazonaws.memorydb#ClusterNotFoundFault": + response = { + ...(await deserializeAws_json1_1ClusterNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterCombinationException": + case "com.amazonaws.memorydb#InvalidParameterCombinationException": + response = { + ...(await deserializeAws_json1_1InvalidParameterCombinationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterValueException": + case "com.amazonaws.memorydb#InvalidParameterValueException": + response = { + ...(await deserializeAws_json1_1InvalidParameterValueExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceLinkedRoleNotFoundFault": + case "com.amazonaws.memorydb#ServiceLinkedRoleNotFoundFault": + response = { + ...(await deserializeAws_json1_1ServiceLinkedRoleNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_json1_1ListTagsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1ListTagsCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1ListTagsResponse(data, context); + const response: ListTagsCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1ListTagsCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "ACLNotFoundFault": + case "com.amazonaws.memorydb#ACLNotFoundFault": + response = { + ...(await deserializeAws_json1_1ACLNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ClusterNotFoundFault": + case "com.amazonaws.memorydb#ClusterNotFoundFault": + response = { + ...(await deserializeAws_json1_1ClusterNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidARNFault": + case "com.amazonaws.memorydb#InvalidARNFault": + response = { + ...(await deserializeAws_json1_1InvalidARNFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidClusterStateFault": + case "com.amazonaws.memorydb#InvalidClusterStateFault": + response = { + ...(await deserializeAws_json1_1InvalidClusterStateFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ParameterGroupNotFoundFault": + case "com.amazonaws.memorydb#ParameterGroupNotFoundFault": + response = { + ...(await deserializeAws_json1_1ParameterGroupNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceLinkedRoleNotFoundFault": + case "com.amazonaws.memorydb#ServiceLinkedRoleNotFoundFault": + response = { + ...(await deserializeAws_json1_1ServiceLinkedRoleNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "SnapshotNotFoundFault": + case "com.amazonaws.memorydb#SnapshotNotFoundFault": + response = { + ...(await deserializeAws_json1_1SnapshotNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "SubnetGroupNotFoundFault": + case "com.amazonaws.memorydb#SubnetGroupNotFoundFault": + response = { + ...(await deserializeAws_json1_1SubnetGroupNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UserNotFoundFault": + case "com.amazonaws.memorydb#UserNotFoundFault": + response = { + ...(await deserializeAws_json1_1UserNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_json1_1ResetParameterGroupCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1ResetParameterGroupCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1ResetParameterGroupResponse(data, context); + const response: ResetParameterGroupCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1ResetParameterGroupCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InvalidParameterCombinationException": + case "com.amazonaws.memorydb#InvalidParameterCombinationException": + response = { + ...(await deserializeAws_json1_1InvalidParameterCombinationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterGroupStateFault": + case "com.amazonaws.memorydb#InvalidParameterGroupStateFault": + response = { + ...(await deserializeAws_json1_1InvalidParameterGroupStateFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterValueException": + case "com.amazonaws.memorydb#InvalidParameterValueException": + response = { + ...(await deserializeAws_json1_1InvalidParameterValueExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ParameterGroupNotFoundFault": + case "com.amazonaws.memorydb#ParameterGroupNotFoundFault": + response = { + ...(await deserializeAws_json1_1ParameterGroupNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceLinkedRoleNotFoundFault": + case "com.amazonaws.memorydb#ServiceLinkedRoleNotFoundFault": + response = { + ...(await deserializeAws_json1_1ServiceLinkedRoleNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_json1_1TagResourceCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1TagResourceCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1TagResourceResponse(data, context); + const response: TagResourceCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1TagResourceCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "ACLNotFoundFault": + case "com.amazonaws.memorydb#ACLNotFoundFault": + response = { + ...(await deserializeAws_json1_1ACLNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ClusterNotFoundFault": + case "com.amazonaws.memorydb#ClusterNotFoundFault": + response = { + ...(await deserializeAws_json1_1ClusterNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidARNFault": + case "com.amazonaws.memorydb#InvalidARNFault": + response = { + ...(await deserializeAws_json1_1InvalidARNFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidClusterStateFault": + case "com.amazonaws.memorydb#InvalidClusterStateFault": + response = { + ...(await deserializeAws_json1_1InvalidClusterStateFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ParameterGroupNotFoundFault": + case "com.amazonaws.memorydb#ParameterGroupNotFoundFault": + response = { + ...(await deserializeAws_json1_1ParameterGroupNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceLinkedRoleNotFoundFault": + case "com.amazonaws.memorydb#ServiceLinkedRoleNotFoundFault": + response = { + ...(await deserializeAws_json1_1ServiceLinkedRoleNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "SnapshotNotFoundFault": + case "com.amazonaws.memorydb#SnapshotNotFoundFault": + response = { + ...(await deserializeAws_json1_1SnapshotNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "SubnetGroupNotFoundFault": + case "com.amazonaws.memorydb#SubnetGroupNotFoundFault": + response = { + ...(await deserializeAws_json1_1SubnetGroupNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "TagQuotaPerResourceExceeded": + case "com.amazonaws.memorydb#TagQuotaPerResourceExceeded": + response = { + ...(await deserializeAws_json1_1TagQuotaPerResourceExceededResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UserNotFoundFault": + case "com.amazonaws.memorydb#UserNotFoundFault": + response = { + ...(await deserializeAws_json1_1UserNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_json1_1UntagResourceCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1UntagResourceCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1UntagResourceResponse(data, context); + const response: UntagResourceCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1UntagResourceCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "ACLNotFoundFault": + case "com.amazonaws.memorydb#ACLNotFoundFault": + response = { + ...(await deserializeAws_json1_1ACLNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ClusterNotFoundFault": + case "com.amazonaws.memorydb#ClusterNotFoundFault": + response = { + ...(await deserializeAws_json1_1ClusterNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidARNFault": + case "com.amazonaws.memorydb#InvalidARNFault": + response = { + ...(await deserializeAws_json1_1InvalidARNFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidClusterStateFault": + case "com.amazonaws.memorydb#InvalidClusterStateFault": + response = { + ...(await deserializeAws_json1_1InvalidClusterStateFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ParameterGroupNotFoundFault": + case "com.amazonaws.memorydb#ParameterGroupNotFoundFault": + response = { + ...(await deserializeAws_json1_1ParameterGroupNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceLinkedRoleNotFoundFault": + case "com.amazonaws.memorydb#ServiceLinkedRoleNotFoundFault": + response = { + ...(await deserializeAws_json1_1ServiceLinkedRoleNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "SnapshotNotFoundFault": + case "com.amazonaws.memorydb#SnapshotNotFoundFault": + response = { + ...(await deserializeAws_json1_1SnapshotNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "SubnetGroupNotFoundFault": + case "com.amazonaws.memorydb#SubnetGroupNotFoundFault": + response = { + ...(await deserializeAws_json1_1SubnetGroupNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "TagNotFoundFault": + case "com.amazonaws.memorydb#TagNotFoundFault": + response = { + ...(await deserializeAws_json1_1TagNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UserNotFoundFault": + case "com.amazonaws.memorydb#UserNotFoundFault": + response = { + ...(await deserializeAws_json1_1UserNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_json1_1UpdateACLCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1UpdateACLCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1UpdateACLResponse(data, context); + const response: UpdateACLCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1UpdateACLCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "ACLNotFoundFault": + case "com.amazonaws.memorydb#ACLNotFoundFault": + response = { + ...(await deserializeAws_json1_1ACLNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "DefaultUserRequired": + case "com.amazonaws.memorydb#DefaultUserRequired": + response = { + ...(await deserializeAws_json1_1DefaultUserRequiredResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "DuplicateUserNameFault": + case "com.amazonaws.memorydb#DuplicateUserNameFault": + response = { + ...(await deserializeAws_json1_1DuplicateUserNameFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidACLStateFault": + case "com.amazonaws.memorydb#InvalidACLStateFault": + response = { + ...(await deserializeAws_json1_1InvalidACLStateFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterCombinationException": + case "com.amazonaws.memorydb#InvalidParameterCombinationException": + response = { + ...(await deserializeAws_json1_1InvalidParameterCombinationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterValueException": + case "com.amazonaws.memorydb#InvalidParameterValueException": + response = { + ...(await deserializeAws_json1_1InvalidParameterValueExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UserNotFoundFault": + case "com.amazonaws.memorydb#UserNotFoundFault": + response = { + ...(await deserializeAws_json1_1UserNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_json1_1UpdateClusterCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1UpdateClusterCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1UpdateClusterResponse(data, context); + const response: UpdateClusterCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1UpdateClusterCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "ACLNotFoundFault": + case "com.amazonaws.memorydb#ACLNotFoundFault": + response = { + ...(await deserializeAws_json1_1ACLNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ClusterNotFoundFault": + case "com.amazonaws.memorydb#ClusterNotFoundFault": + response = { + ...(await deserializeAws_json1_1ClusterNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ClusterQuotaForCustomerExceededFault": + case "com.amazonaws.memorydb#ClusterQuotaForCustomerExceededFault": + response = { + ...(await deserializeAws_json1_1ClusterQuotaForCustomerExceededFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidACLStateFault": + case "com.amazonaws.memorydb#InvalidACLStateFault": + response = { + ...(await deserializeAws_json1_1InvalidACLStateFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidClusterStateFault": + case "com.amazonaws.memorydb#InvalidClusterStateFault": + response = { + ...(await deserializeAws_json1_1InvalidClusterStateFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidKMSKeyFault": + case "com.amazonaws.memorydb#InvalidKMSKeyFault": + response = { + ...(await deserializeAws_json1_1InvalidKMSKeyFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidNodeStateFault": + case "com.amazonaws.memorydb#InvalidNodeStateFault": + response = { + ...(await deserializeAws_json1_1InvalidNodeStateFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterCombinationException": + case "com.amazonaws.memorydb#InvalidParameterCombinationException": + response = { + ...(await deserializeAws_json1_1InvalidParameterCombinationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterValueException": + case "com.amazonaws.memorydb#InvalidParameterValueException": + response = { + ...(await deserializeAws_json1_1InvalidParameterValueExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidVPCNetworkStateFault": + case "com.amazonaws.memorydb#InvalidVPCNetworkStateFault": + response = { + ...(await deserializeAws_json1_1InvalidVPCNetworkStateFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "NodeQuotaForClusterExceededFault": + case "com.amazonaws.memorydb#NodeQuotaForClusterExceededFault": + response = { + ...(await deserializeAws_json1_1NodeQuotaForClusterExceededFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "NodeQuotaForCustomerExceededFault": + case "com.amazonaws.memorydb#NodeQuotaForCustomerExceededFault": + response = { + ...(await deserializeAws_json1_1NodeQuotaForCustomerExceededFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "NoOperationFault": + case "com.amazonaws.memorydb#NoOperationFault": + response = { + ...(await deserializeAws_json1_1NoOperationFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ParameterGroupNotFoundFault": + case "com.amazonaws.memorydb#ParameterGroupNotFoundFault": + response = { + ...(await deserializeAws_json1_1ParameterGroupNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceLinkedRoleNotFoundFault": + case "com.amazonaws.memorydb#ServiceLinkedRoleNotFoundFault": + response = { + ...(await deserializeAws_json1_1ServiceLinkedRoleNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ShardsPerClusterQuotaExceededFault": + case "com.amazonaws.memorydb#ShardsPerClusterQuotaExceededFault": + response = { + ...(await deserializeAws_json1_1ShardsPerClusterQuotaExceededFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_json1_1UpdateParameterGroupCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1UpdateParameterGroupCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1UpdateParameterGroupResponse(data, context); + const response: UpdateParameterGroupCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1UpdateParameterGroupCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InvalidParameterCombinationException": + case "com.amazonaws.memorydb#InvalidParameterCombinationException": + response = { + ...(await deserializeAws_json1_1InvalidParameterCombinationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterGroupStateFault": + case "com.amazonaws.memorydb#InvalidParameterGroupStateFault": + response = { + ...(await deserializeAws_json1_1InvalidParameterGroupStateFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterValueException": + case "com.amazonaws.memorydb#InvalidParameterValueException": + response = { + ...(await deserializeAws_json1_1InvalidParameterValueExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ParameterGroupNotFoundFault": + case "com.amazonaws.memorydb#ParameterGroupNotFoundFault": + response = { + ...(await deserializeAws_json1_1ParameterGroupNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceLinkedRoleNotFoundFault": + case "com.amazonaws.memorydb#ServiceLinkedRoleNotFoundFault": + response = { + ...(await deserializeAws_json1_1ServiceLinkedRoleNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_json1_1UpdateSubnetGroupCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1UpdateSubnetGroupCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1UpdateSubnetGroupResponse(data, context); + const response: UpdateSubnetGroupCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1UpdateSubnetGroupCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InvalidSubnet": + case "com.amazonaws.memorydb#InvalidSubnet": + response = { + ...(await deserializeAws_json1_1InvalidSubnetResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceLinkedRoleNotFoundFault": + case "com.amazonaws.memorydb#ServiceLinkedRoleNotFoundFault": + response = { + ...(await deserializeAws_json1_1ServiceLinkedRoleNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "SubnetGroupNotFoundFault": + case "com.amazonaws.memorydb#SubnetGroupNotFoundFault": + response = { + ...(await deserializeAws_json1_1SubnetGroupNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "SubnetInUse": + case "com.amazonaws.memorydb#SubnetInUse": + response = { + ...(await deserializeAws_json1_1SubnetInUseResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "SubnetNotAllowedFault": + case "com.amazonaws.memorydb#SubnetNotAllowedFault": + response = { + ...(await deserializeAws_json1_1SubnetNotAllowedFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "SubnetQuotaExceededFault": + case "com.amazonaws.memorydb#SubnetQuotaExceededFault": + response = { + ...(await deserializeAws_json1_1SubnetQuotaExceededFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_json1_1UpdateUserCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1UpdateUserCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1UpdateUserResponse(data, context); + const response: UpdateUserCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1UpdateUserCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InvalidParameterCombinationException": + case "com.amazonaws.memorydb#InvalidParameterCombinationException": + response = { + ...(await deserializeAws_json1_1InvalidParameterCombinationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterValueException": + case "com.amazonaws.memorydb#InvalidParameterValueException": + response = { + ...(await deserializeAws_json1_1InvalidParameterValueExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidUserStateFault": + case "com.amazonaws.memorydb#InvalidUserStateFault": + response = { + ...(await deserializeAws_json1_1InvalidUserStateFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UserNotFoundFault": + case "com.amazonaws.memorydb#UserNotFoundFault": + response = { + ...(await deserializeAws_json1_1UserNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +const deserializeAws_json1_1ACLAlreadyExistsFaultResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1ACLAlreadyExistsFault(body, context); + const contents: ACLAlreadyExistsFault = { + name: "ACLAlreadyExistsFault", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_json1_1ACLNotFoundFaultResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1ACLNotFoundFault(body, context); + const contents: ACLNotFoundFault = { + name: "ACLNotFoundFault", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_json1_1ACLQuotaExceededFaultResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1ACLQuotaExceededFault(body, context); + const contents: ACLQuotaExceededFault = { + name: "ACLQuotaExceededFault", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_json1_1APICallRateForCustomerExceededFaultResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1APICallRateForCustomerExceededFault(body, context); + const contents: APICallRateForCustomerExceededFault = { + name: "APICallRateForCustomerExceededFault", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_json1_1ClusterAlreadyExistsFaultResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1ClusterAlreadyExistsFault(body, context); + const contents: ClusterAlreadyExistsFault = { + name: "ClusterAlreadyExistsFault", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_json1_1ClusterNotFoundFaultResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1ClusterNotFoundFault(body, context); + const contents: ClusterNotFoundFault = { + name: "ClusterNotFoundFault", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_json1_1ClusterQuotaForCustomerExceededFaultResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1ClusterQuotaForCustomerExceededFault(body, context); + const contents: ClusterQuotaForCustomerExceededFault = { + name: "ClusterQuotaForCustomerExceededFault", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_json1_1DefaultUserRequiredResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1DefaultUserRequired(body, context); + const contents: DefaultUserRequired = { + name: "DefaultUserRequired", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_json1_1DuplicateUserNameFaultResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1DuplicateUserNameFault(body, context); + const contents: DuplicateUserNameFault = { + name: "DuplicateUserNameFault", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_json1_1InsufficientClusterCapacityFaultResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1InsufficientClusterCapacityFault(body, context); + const contents: InsufficientClusterCapacityFault = { + name: "InsufficientClusterCapacityFault", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_json1_1InvalidACLStateFaultResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1InvalidACLStateFault(body, context); + const contents: InvalidACLStateFault = { + name: "InvalidACLStateFault", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_json1_1InvalidARNFaultResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1InvalidARNFault(body, context); + const contents: InvalidARNFault = { + name: "InvalidARNFault", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_json1_1InvalidClusterStateFaultResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1InvalidClusterStateFault(body, context); + const contents: InvalidClusterStateFault = { + name: "InvalidClusterStateFault", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_json1_1InvalidCredentialsExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1InvalidCredentialsException(body, context); + const contents: InvalidCredentialsException = { + name: "InvalidCredentialsException", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_json1_1InvalidKMSKeyFaultResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1InvalidKMSKeyFault(body, context); + const contents: InvalidKMSKeyFault = { + name: "InvalidKMSKeyFault", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_json1_1InvalidNodeStateFaultResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1InvalidNodeStateFault(body, context); + const contents: InvalidNodeStateFault = { + name: "InvalidNodeStateFault", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_json1_1InvalidParameterCombinationExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1InvalidParameterCombinationException(body, context); + const contents: InvalidParameterCombinationException = { + name: "InvalidParameterCombinationException", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_json1_1InvalidParameterGroupStateFaultResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1InvalidParameterGroupStateFault(body, context); + const contents: InvalidParameterGroupStateFault = { + name: "InvalidParameterGroupStateFault", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_json1_1InvalidParameterValueExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1InvalidParameterValueException(body, context); + const contents: InvalidParameterValueException = { + name: "InvalidParameterValueException", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_json1_1InvalidSnapshotStateFaultResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1InvalidSnapshotStateFault(body, context); + const contents: InvalidSnapshotStateFault = { + name: "InvalidSnapshotStateFault", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_json1_1InvalidSubnetResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1InvalidSubnet(body, context); + const contents: InvalidSubnet = { + name: "InvalidSubnet", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_json1_1InvalidUserStateFaultResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1InvalidUserStateFault(body, context); + const contents: InvalidUserStateFault = { + name: "InvalidUserStateFault", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_json1_1InvalidVPCNetworkStateFaultResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1InvalidVPCNetworkStateFault(body, context); + const contents: InvalidVPCNetworkStateFault = { + name: "InvalidVPCNetworkStateFault", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_json1_1NodeQuotaForClusterExceededFaultResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1NodeQuotaForClusterExceededFault(body, context); + const contents: NodeQuotaForClusterExceededFault = { + name: "NodeQuotaForClusterExceededFault", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_json1_1NodeQuotaForCustomerExceededFaultResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1NodeQuotaForCustomerExceededFault(body, context); + const contents: NodeQuotaForCustomerExceededFault = { + name: "NodeQuotaForCustomerExceededFault", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_json1_1NoOperationFaultResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1NoOperationFault(body, context); + const contents: NoOperationFault = { + name: "NoOperationFault", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_json1_1ParameterGroupAlreadyExistsFaultResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1ParameterGroupAlreadyExistsFault(body, context); + const contents: ParameterGroupAlreadyExistsFault = { + name: "ParameterGroupAlreadyExistsFault", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_json1_1ParameterGroupNotFoundFaultResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1ParameterGroupNotFoundFault(body, context); + const contents: ParameterGroupNotFoundFault = { + name: "ParameterGroupNotFoundFault", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_json1_1ParameterGroupQuotaExceededFaultResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1ParameterGroupQuotaExceededFault(body, context); + const contents: ParameterGroupQuotaExceededFault = { + name: "ParameterGroupQuotaExceededFault", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_json1_1ServiceLinkedRoleNotFoundFaultResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1ServiceLinkedRoleNotFoundFault(body, context); + const contents: ServiceLinkedRoleNotFoundFault = { + name: "ServiceLinkedRoleNotFoundFault", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_json1_1ServiceUpdateNotFoundFaultResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1ServiceUpdateNotFoundFault(body, context); + const contents: ServiceUpdateNotFoundFault = { + name: "ServiceUpdateNotFoundFault", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_json1_1ShardNotFoundFaultResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1ShardNotFoundFault(body, context); + const contents: ShardNotFoundFault = { + name: "ShardNotFoundFault", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_json1_1ShardsPerClusterQuotaExceededFaultResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1ShardsPerClusterQuotaExceededFault(body, context); + const contents: ShardsPerClusterQuotaExceededFault = { + name: "ShardsPerClusterQuotaExceededFault", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_json1_1SnapshotAlreadyExistsFaultResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1SnapshotAlreadyExistsFault(body, context); + const contents: SnapshotAlreadyExistsFault = { + name: "SnapshotAlreadyExistsFault", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_json1_1SnapshotNotFoundFaultResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1SnapshotNotFoundFault(body, context); + const contents: SnapshotNotFoundFault = { + name: "SnapshotNotFoundFault", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_json1_1SnapshotQuotaExceededFaultResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1SnapshotQuotaExceededFault(body, context); + const contents: SnapshotQuotaExceededFault = { + name: "SnapshotQuotaExceededFault", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_json1_1SubnetGroupAlreadyExistsFaultResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1SubnetGroupAlreadyExistsFault(body, context); + const contents: SubnetGroupAlreadyExistsFault = { + name: "SubnetGroupAlreadyExistsFault", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_json1_1SubnetGroupInUseFaultResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1SubnetGroupInUseFault(body, context); + const contents: SubnetGroupInUseFault = { + name: "SubnetGroupInUseFault", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_json1_1SubnetGroupNotFoundFaultResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1SubnetGroupNotFoundFault(body, context); + const contents: SubnetGroupNotFoundFault = { + name: "SubnetGroupNotFoundFault", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_json1_1SubnetGroupQuotaExceededFaultResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1SubnetGroupQuotaExceededFault(body, context); + const contents: SubnetGroupQuotaExceededFault = { + name: "SubnetGroupQuotaExceededFault", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_json1_1SubnetInUseResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1SubnetInUse(body, context); + const contents: SubnetInUse = { + name: "SubnetInUse", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_json1_1SubnetNotAllowedFaultResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1SubnetNotAllowedFault(body, context); + const contents: SubnetNotAllowedFault = { + name: "SubnetNotAllowedFault", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_json1_1SubnetQuotaExceededFaultResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1SubnetQuotaExceededFault(body, context); + const contents: SubnetQuotaExceededFault = { + name: "SubnetQuotaExceededFault", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_json1_1TagNotFoundFaultResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1TagNotFoundFault(body, context); + const contents: TagNotFoundFault = { + name: "TagNotFoundFault", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_json1_1TagQuotaPerResourceExceededResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1TagQuotaPerResourceExceeded(body, context); + const contents: TagQuotaPerResourceExceeded = { + name: "TagQuotaPerResourceExceeded", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_json1_1TestFailoverNotAvailableFaultResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1TestFailoverNotAvailableFault(body, context); + const contents: TestFailoverNotAvailableFault = { + name: "TestFailoverNotAvailableFault", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_json1_1UserAlreadyExistsFaultResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1UserAlreadyExistsFault(body, context); + const contents: UserAlreadyExistsFault = { + name: "UserAlreadyExistsFault", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_json1_1UserNotFoundFaultResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1UserNotFoundFault(body, context); + const contents: UserNotFoundFault = { + name: "UserNotFoundFault", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_json1_1UserQuotaExceededFaultResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1UserQuotaExceededFault(body, context); + const contents: UserQuotaExceededFault = { + name: "UserQuotaExceededFault", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const serializeAws_json1_1AuthenticationMode = (input: AuthenticationMode, context: __SerdeContext): any => { + return { + ...(input.Passwords !== undefined && + input.Passwords !== null && { Passwords: serializeAws_json1_1PasswordListInput(input.Passwords, context) }), + ...(input.Type !== undefined && input.Type !== null && { Type: input.Type }), + }; +}; + +const serializeAws_json1_1BatchUpdateClusterRequest = ( + input: BatchUpdateClusterRequest, + context: __SerdeContext +): any => { + return { + ...(input.ClusterNames !== undefined && + input.ClusterNames !== null && { + ClusterNames: serializeAws_json1_1ClusterNameList(input.ClusterNames, context), + }), + ...(input.ServiceUpdate !== undefined && + input.ServiceUpdate !== null && { + ServiceUpdate: serializeAws_json1_1ServiceUpdateRequest(input.ServiceUpdate, context), + }), + }; +}; + +const serializeAws_json1_1ClusterNameList = (input: string[], context: __SerdeContext): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + if (entry === null) { + return null as any; + } + return entry; + }); +}; + +const serializeAws_json1_1CopySnapshotRequest = (input: CopySnapshotRequest, context: __SerdeContext): any => { + return { + ...(input.KmsKeyId !== undefined && input.KmsKeyId !== null && { KmsKeyId: input.KmsKeyId }), + ...(input.SourceSnapshotName !== undefined && + input.SourceSnapshotName !== null && { SourceSnapshotName: input.SourceSnapshotName }), + ...(input.Tags !== undefined && input.Tags !== null && { Tags: serializeAws_json1_1TagList(input.Tags, context) }), + ...(input.TargetBucket !== undefined && input.TargetBucket !== null && { TargetBucket: input.TargetBucket }), + ...(input.TargetSnapshotName !== undefined && + input.TargetSnapshotName !== null && { TargetSnapshotName: input.TargetSnapshotName }), + }; +}; + +const serializeAws_json1_1CreateACLRequest = (input: CreateACLRequest, context: __SerdeContext): any => { + return { + ...(input.ACLName !== undefined && input.ACLName !== null && { ACLName: input.ACLName }), + ...(input.Tags !== undefined && input.Tags !== null && { Tags: serializeAws_json1_1TagList(input.Tags, context) }), + ...(input.UserNames !== undefined && + input.UserNames !== null && { UserNames: serializeAws_json1_1UserNameListInput(input.UserNames, context) }), + }; +}; + +const serializeAws_json1_1CreateClusterRequest = (input: CreateClusterRequest, context: __SerdeContext): any => { + return { + ...(input.ACLName !== undefined && input.ACLName !== null && { ACLName: input.ACLName }), + ...(input.AutoMinorVersionUpgrade !== undefined && + input.AutoMinorVersionUpgrade !== null && { AutoMinorVersionUpgrade: input.AutoMinorVersionUpgrade }), + ...(input.ClusterName !== undefined && input.ClusterName !== null && { ClusterName: input.ClusterName }), + ...(input.Description !== undefined && input.Description !== null && { Description: input.Description }), + ...(input.EngineVersion !== undefined && input.EngineVersion !== null && { EngineVersion: input.EngineVersion }), + ...(input.KmsKeyId !== undefined && input.KmsKeyId !== null && { KmsKeyId: input.KmsKeyId }), + ...(input.MaintenanceWindow !== undefined && + input.MaintenanceWindow !== null && { MaintenanceWindow: input.MaintenanceWindow }), + ...(input.NodeType !== undefined && input.NodeType !== null && { NodeType: input.NodeType }), + ...(input.NumReplicasPerShard !== undefined && + input.NumReplicasPerShard !== null && { NumReplicasPerShard: input.NumReplicasPerShard }), + ...(input.NumShards !== undefined && input.NumShards !== null && { NumShards: input.NumShards }), + ...(input.ParameterGroupName !== undefined && + input.ParameterGroupName !== null && { ParameterGroupName: input.ParameterGroupName }), + ...(input.Port !== undefined && input.Port !== null && { Port: input.Port }), + ...(input.SecurityGroupIds !== undefined && + input.SecurityGroupIds !== null && { + SecurityGroupIds: serializeAws_json1_1SecurityGroupIdsList(input.SecurityGroupIds, context), + }), + ...(input.SnapshotArns !== undefined && + input.SnapshotArns !== null && { + SnapshotArns: serializeAws_json1_1SnapshotArnsList(input.SnapshotArns, context), + }), + ...(input.SnapshotName !== undefined && input.SnapshotName !== null && { SnapshotName: input.SnapshotName }), + ...(input.SnapshotRetentionLimit !== undefined && + input.SnapshotRetentionLimit !== null && { SnapshotRetentionLimit: input.SnapshotRetentionLimit }), + ...(input.SnapshotWindow !== undefined && + input.SnapshotWindow !== null && { SnapshotWindow: input.SnapshotWindow }), + ...(input.SnsTopicArn !== undefined && input.SnsTopicArn !== null && { SnsTopicArn: input.SnsTopicArn }), + ...(input.SubnetGroupName !== undefined && + input.SubnetGroupName !== null && { SubnetGroupName: input.SubnetGroupName }), + ...(input.TLSEnabled !== undefined && input.TLSEnabled !== null && { TLSEnabled: input.TLSEnabled }), + ...(input.Tags !== undefined && input.Tags !== null && { Tags: serializeAws_json1_1TagList(input.Tags, context) }), + }; +}; + +const serializeAws_json1_1CreateParameterGroupRequest = ( + input: CreateParameterGroupRequest, + context: __SerdeContext +): any => { + return { + ...(input.Description !== undefined && input.Description !== null && { Description: input.Description }), + ...(input.Family !== undefined && input.Family !== null && { Family: input.Family }), + ...(input.ParameterGroupName !== undefined && + input.ParameterGroupName !== null && { ParameterGroupName: input.ParameterGroupName }), + ...(input.Tags !== undefined && input.Tags !== null && { Tags: serializeAws_json1_1TagList(input.Tags, context) }), + }; +}; + +const serializeAws_json1_1CreateSnapshotRequest = (input: CreateSnapshotRequest, context: __SerdeContext): any => { + return { + ...(input.ClusterName !== undefined && input.ClusterName !== null && { ClusterName: input.ClusterName }), + ...(input.KmsKeyId !== undefined && input.KmsKeyId !== null && { KmsKeyId: input.KmsKeyId }), + ...(input.SnapshotName !== undefined && input.SnapshotName !== null && { SnapshotName: input.SnapshotName }), + ...(input.Tags !== undefined && input.Tags !== null && { Tags: serializeAws_json1_1TagList(input.Tags, context) }), + }; +}; + +const serializeAws_json1_1CreateSubnetGroupRequest = ( + input: CreateSubnetGroupRequest, + context: __SerdeContext +): any => { + return { + ...(input.Description !== undefined && input.Description !== null && { Description: input.Description }), + ...(input.SubnetGroupName !== undefined && + input.SubnetGroupName !== null && { SubnetGroupName: input.SubnetGroupName }), + ...(input.SubnetIds !== undefined && + input.SubnetIds !== null && { SubnetIds: serializeAws_json1_1SubnetIdentifierList(input.SubnetIds, context) }), + ...(input.Tags !== undefined && input.Tags !== null && { Tags: serializeAws_json1_1TagList(input.Tags, context) }), + }; +}; + +const serializeAws_json1_1CreateUserRequest = (input: CreateUserRequest, context: __SerdeContext): any => { + return { + ...(input.AccessString !== undefined && input.AccessString !== null && { AccessString: input.AccessString }), + ...(input.AuthenticationMode !== undefined && + input.AuthenticationMode !== null && { + AuthenticationMode: serializeAws_json1_1AuthenticationMode(input.AuthenticationMode, context), + }), + ...(input.Tags !== undefined && input.Tags !== null && { Tags: serializeAws_json1_1TagList(input.Tags, context) }), + ...(input.UserName !== undefined && input.UserName !== null && { UserName: input.UserName }), + }; +}; + +const serializeAws_json1_1DeleteACLRequest = (input: DeleteACLRequest, context: __SerdeContext): any => { + return { + ...(input.ACLName !== undefined && input.ACLName !== null && { ACLName: input.ACLName }), + }; +}; + +const serializeAws_json1_1DeleteClusterRequest = (input: DeleteClusterRequest, context: __SerdeContext): any => { + return { + ...(input.ClusterName !== undefined && input.ClusterName !== null && { ClusterName: input.ClusterName }), + ...(input.FinalSnapshotName !== undefined && + input.FinalSnapshotName !== null && { FinalSnapshotName: input.FinalSnapshotName }), + }; +}; + +const serializeAws_json1_1DeleteParameterGroupRequest = ( + input: DeleteParameterGroupRequest, + context: __SerdeContext +): any => { + return { + ...(input.ParameterGroupName !== undefined && + input.ParameterGroupName !== null && { ParameterGroupName: input.ParameterGroupName }), + }; +}; + +const serializeAws_json1_1DeleteSnapshotRequest = (input: DeleteSnapshotRequest, context: __SerdeContext): any => { + return { + ...(input.SnapshotName !== undefined && input.SnapshotName !== null && { SnapshotName: input.SnapshotName }), + }; +}; + +const serializeAws_json1_1DeleteSubnetGroupRequest = ( + input: DeleteSubnetGroupRequest, + context: __SerdeContext +): any => { + return { + ...(input.SubnetGroupName !== undefined && + input.SubnetGroupName !== null && { SubnetGroupName: input.SubnetGroupName }), + }; +}; + +const serializeAws_json1_1DeleteUserRequest = (input: DeleteUserRequest, context: __SerdeContext): any => { + return { + ...(input.UserName !== undefined && input.UserName !== null && { UserName: input.UserName }), + }; +}; + +const serializeAws_json1_1DescribeACLsRequest = (input: DescribeACLsRequest, context: __SerdeContext): any => { + return { + ...(input.ACLName !== undefined && input.ACLName !== null && { ACLName: input.ACLName }), + ...(input.MaxResults !== undefined && input.MaxResults !== null && { MaxResults: input.MaxResults }), + ...(input.NextToken !== undefined && input.NextToken !== null && { NextToken: input.NextToken }), + }; +}; + +const serializeAws_json1_1DescribeClustersRequest = (input: DescribeClustersRequest, context: __SerdeContext): any => { + return { + ...(input.ClusterName !== undefined && input.ClusterName !== null && { ClusterName: input.ClusterName }), + ...(input.MaxResults !== undefined && input.MaxResults !== null && { MaxResults: input.MaxResults }), + ...(input.NextToken !== undefined && input.NextToken !== null && { NextToken: input.NextToken }), + ...(input.ShowShardDetails !== undefined && + input.ShowShardDetails !== null && { ShowShardDetails: input.ShowShardDetails }), + }; +}; + +const serializeAws_json1_1DescribeEngineVersionsRequest = ( + input: DescribeEngineVersionsRequest, + context: __SerdeContext +): any => { + return { + ...(input.DefaultOnly !== undefined && input.DefaultOnly !== null && { DefaultOnly: input.DefaultOnly }), + ...(input.EngineVersion !== undefined && input.EngineVersion !== null && { EngineVersion: input.EngineVersion }), + ...(input.MaxResults !== undefined && input.MaxResults !== null && { MaxResults: input.MaxResults }), + ...(input.NextToken !== undefined && input.NextToken !== null && { NextToken: input.NextToken }), + ...(input.ParameterGroupFamily !== undefined && + input.ParameterGroupFamily !== null && { ParameterGroupFamily: input.ParameterGroupFamily }), + }; +}; + +const serializeAws_json1_1DescribeEventsRequest = (input: DescribeEventsRequest, context: __SerdeContext): any => { + return { + ...(input.Duration !== undefined && input.Duration !== null && { Duration: input.Duration }), + ...(input.EndTime !== undefined && + input.EndTime !== null && { EndTime: Math.round(input.EndTime.getTime() / 1000) }), + ...(input.MaxResults !== undefined && input.MaxResults !== null && { MaxResults: input.MaxResults }), + ...(input.NextToken !== undefined && input.NextToken !== null && { NextToken: input.NextToken }), + ...(input.SourceName !== undefined && input.SourceName !== null && { SourceName: input.SourceName }), + ...(input.SourceType !== undefined && input.SourceType !== null && { SourceType: input.SourceType }), + ...(input.StartTime !== undefined && + input.StartTime !== null && { StartTime: Math.round(input.StartTime.getTime() / 1000) }), + }; +}; + +const serializeAws_json1_1DescribeParameterGroupsRequest = ( + input: DescribeParameterGroupsRequest, + context: __SerdeContext +): any => { + return { + ...(input.MaxResults !== undefined && input.MaxResults !== null && { MaxResults: input.MaxResults }), + ...(input.NextToken !== undefined && input.NextToken !== null && { NextToken: input.NextToken }), + ...(input.ParameterGroupName !== undefined && + input.ParameterGroupName !== null && { ParameterGroupName: input.ParameterGroupName }), + }; +}; + +const serializeAws_json1_1DescribeParametersRequest = ( + input: DescribeParametersRequest, + context: __SerdeContext +): any => { + return { + ...(input.MaxResults !== undefined && input.MaxResults !== null && { MaxResults: input.MaxResults }), + ...(input.NextToken !== undefined && input.NextToken !== null && { NextToken: input.NextToken }), + ...(input.ParameterGroupName !== undefined && + input.ParameterGroupName !== null && { ParameterGroupName: input.ParameterGroupName }), + }; +}; + +const serializeAws_json1_1DescribeServiceUpdatesRequest = ( + input: DescribeServiceUpdatesRequest, + context: __SerdeContext +): any => { + return { + ...(input.ClusterNames !== undefined && + input.ClusterNames !== null && { + ClusterNames: serializeAws_json1_1ClusterNameList(input.ClusterNames, context), + }), + ...(input.MaxResults !== undefined && input.MaxResults !== null && { MaxResults: input.MaxResults }), + ...(input.NextToken !== undefined && input.NextToken !== null && { NextToken: input.NextToken }), + ...(input.ServiceUpdateName !== undefined && + input.ServiceUpdateName !== null && { ServiceUpdateName: input.ServiceUpdateName }), + ...(input.Status !== undefined && + input.Status !== null && { Status: serializeAws_json1_1ServiceUpdateStatusList(input.Status, context) }), + }; +}; + +const serializeAws_json1_1DescribeSnapshotsRequest = ( + input: DescribeSnapshotsRequest, + context: __SerdeContext +): any => { + return { + ...(input.ClusterName !== undefined && input.ClusterName !== null && { ClusterName: input.ClusterName }), + ...(input.MaxResults !== undefined && input.MaxResults !== null && { MaxResults: input.MaxResults }), + ...(input.NextToken !== undefined && input.NextToken !== null && { NextToken: input.NextToken }), + ...(input.ShowDetail !== undefined && input.ShowDetail !== null && { ShowDetail: input.ShowDetail }), + ...(input.SnapshotName !== undefined && input.SnapshotName !== null && { SnapshotName: input.SnapshotName }), + ...(input.Source !== undefined && input.Source !== null && { Source: input.Source }), + }; +}; + +const serializeAws_json1_1DescribeSubnetGroupsRequest = ( + input: DescribeSubnetGroupsRequest, + context: __SerdeContext +): any => { + return { + ...(input.MaxResults !== undefined && input.MaxResults !== null && { MaxResults: input.MaxResults }), + ...(input.NextToken !== undefined && input.NextToken !== null && { NextToken: input.NextToken }), + ...(input.SubnetGroupName !== undefined && + input.SubnetGroupName !== null && { SubnetGroupName: input.SubnetGroupName }), + }; +}; + +const serializeAws_json1_1DescribeUsersRequest = (input: DescribeUsersRequest, context: __SerdeContext): any => { + return { + ...(input.Filters !== undefined && + input.Filters !== null && { Filters: serializeAws_json1_1FilterList(input.Filters, context) }), + ...(input.MaxResults !== undefined && input.MaxResults !== null && { MaxResults: input.MaxResults }), + ...(input.NextToken !== undefined && input.NextToken !== null && { NextToken: input.NextToken }), + ...(input.UserName !== undefined && input.UserName !== null && { UserName: input.UserName }), + }; +}; + +const serializeAws_json1_1FailoverShardRequest = (input: FailoverShardRequest, context: __SerdeContext): any => { + return { + ...(input.ClusterName !== undefined && input.ClusterName !== null && { ClusterName: input.ClusterName }), + ...(input.ShardName !== undefined && input.ShardName !== null && { ShardName: input.ShardName }), + }; +}; + +const serializeAws_json1_1Filter = (input: Filter, context: __SerdeContext): any => { + return { + ...(input.Name !== undefined && input.Name !== null && { Name: input.Name }), + ...(input.Values !== undefined && + input.Values !== null && { Values: serializeAws_json1_1FilterValueList(input.Values, context) }), + }; +}; + +const serializeAws_json1_1FilterList = (input: Filter[], context: __SerdeContext): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + if (entry === null) { + return null as any; + } + return serializeAws_json1_1Filter(entry, context); + }); +}; + +const serializeAws_json1_1FilterValueList = (input: string[], context: __SerdeContext): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + if (entry === null) { + return null as any; + } + return entry; + }); +}; + +const serializeAws_json1_1KeyList = (input: string[], context: __SerdeContext): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + if (entry === null) { + return null as any; + } + return entry; + }); +}; + +const serializeAws_json1_1ListAllowedNodeTypeUpdatesRequest = ( + input: ListAllowedNodeTypeUpdatesRequest, + context: __SerdeContext +): any => { + return { + ...(input.ClusterName !== undefined && input.ClusterName !== null && { ClusterName: input.ClusterName }), + }; +}; + +const serializeAws_json1_1ListTagsRequest = (input: ListTagsRequest, context: __SerdeContext): any => { + return { + ...(input.ResourceArn !== undefined && input.ResourceArn !== null && { ResourceArn: input.ResourceArn }), + }; +}; + +const serializeAws_json1_1ParameterNameList = (input: string[], context: __SerdeContext): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + if (entry === null) { + return null as any; + } + return entry; + }); +}; + +const serializeAws_json1_1ParameterNameValue = (input: ParameterNameValue, context: __SerdeContext): any => { + return { + ...(input.ParameterName !== undefined && input.ParameterName !== null && { ParameterName: input.ParameterName }), + ...(input.ParameterValue !== undefined && + input.ParameterValue !== null && { ParameterValue: input.ParameterValue }), + }; +}; + +const serializeAws_json1_1ParameterNameValueList = (input: ParameterNameValue[], context: __SerdeContext): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + if (entry === null) { + return null as any; + } + return serializeAws_json1_1ParameterNameValue(entry, context); + }); +}; + +const serializeAws_json1_1PasswordListInput = (input: string[], context: __SerdeContext): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + if (entry === null) { + return null as any; + } + return entry; + }); +}; + +const serializeAws_json1_1ReplicaConfigurationRequest = ( + input: ReplicaConfigurationRequest, + context: __SerdeContext +): any => { + return { + ...(input.ReplicaCount !== undefined && input.ReplicaCount !== null && { ReplicaCount: input.ReplicaCount }), + }; +}; + +const serializeAws_json1_1ResetParameterGroupRequest = ( + input: ResetParameterGroupRequest, + context: __SerdeContext +): any => { + return { + ...(input.AllParameters !== undefined && input.AllParameters !== null && { AllParameters: input.AllParameters }), + ...(input.ParameterGroupName !== undefined && + input.ParameterGroupName !== null && { ParameterGroupName: input.ParameterGroupName }), + ...(input.ParameterNames !== undefined && + input.ParameterNames !== null && { + ParameterNames: serializeAws_json1_1ParameterNameList(input.ParameterNames, context), + }), + }; +}; + +const serializeAws_json1_1SecurityGroupIdsList = (input: string[], context: __SerdeContext): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + if (entry === null) { + return null as any; + } + return entry; + }); +}; + +const serializeAws_json1_1ServiceUpdateRequest = (input: ServiceUpdateRequest, context: __SerdeContext): any => { + return { + ...(input.ServiceUpdateNameToApply !== undefined && + input.ServiceUpdateNameToApply !== null && { ServiceUpdateNameToApply: input.ServiceUpdateNameToApply }), + }; +}; + +const serializeAws_json1_1ServiceUpdateStatusList = ( + input: (ServiceUpdateStatus | string)[], + context: __SerdeContext +): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + if (entry === null) { + return null as any; + } + return entry; + }); +}; + +const serializeAws_json1_1ShardConfigurationRequest = ( + input: ShardConfigurationRequest, + context: __SerdeContext +): any => { + return { + ...(input.ShardCount !== undefined && input.ShardCount !== null && { ShardCount: input.ShardCount }), + }; +}; + +const serializeAws_json1_1SnapshotArnsList = (input: string[], context: __SerdeContext): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + if (entry === null) { + return null as any; + } + return entry; + }); +}; + +const serializeAws_json1_1SubnetIdentifierList = (input: string[], context: __SerdeContext): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + if (entry === null) { + return null as any; + } + return entry; + }); +}; + +const serializeAws_json1_1Tag = (input: Tag, context: __SerdeContext): any => { + return { + ...(input.Key !== undefined && input.Key !== null && { Key: input.Key }), + ...(input.Value !== undefined && input.Value !== null && { Value: input.Value }), + }; +}; + +const serializeAws_json1_1TagList = (input: Tag[], context: __SerdeContext): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + if (entry === null) { + return null as any; + } + return serializeAws_json1_1Tag(entry, context); + }); +}; + +const serializeAws_json1_1TagResourceRequest = (input: TagResourceRequest, context: __SerdeContext): any => { + return { + ...(input.ResourceArn !== undefined && input.ResourceArn !== null && { ResourceArn: input.ResourceArn }), + ...(input.Tags !== undefined && input.Tags !== null && { Tags: serializeAws_json1_1TagList(input.Tags, context) }), + }; +}; + +const serializeAws_json1_1UntagResourceRequest = (input: UntagResourceRequest, context: __SerdeContext): any => { + return { + ...(input.ResourceArn !== undefined && input.ResourceArn !== null && { ResourceArn: input.ResourceArn }), + ...(input.TagKeys !== undefined && + input.TagKeys !== null && { TagKeys: serializeAws_json1_1KeyList(input.TagKeys, context) }), + }; +}; + +const serializeAws_json1_1UpdateACLRequest = (input: UpdateACLRequest, context: __SerdeContext): any => { + return { + ...(input.ACLName !== undefined && input.ACLName !== null && { ACLName: input.ACLName }), + ...(input.UserNamesToAdd !== undefined && + input.UserNamesToAdd !== null && { + UserNamesToAdd: serializeAws_json1_1UserNameListInput(input.UserNamesToAdd, context), + }), + ...(input.UserNamesToRemove !== undefined && + input.UserNamesToRemove !== null && { + UserNamesToRemove: serializeAws_json1_1UserNameListInput(input.UserNamesToRemove, context), + }), + }; +}; + +const serializeAws_json1_1UpdateClusterRequest = (input: UpdateClusterRequest, context: __SerdeContext): any => { + return { + ...(input.ACLName !== undefined && input.ACLName !== null && { ACLName: input.ACLName }), + ...(input.ClusterName !== undefined && input.ClusterName !== null && { ClusterName: input.ClusterName }), + ...(input.Description !== undefined && input.Description !== null && { Description: input.Description }), + ...(input.EngineVersion !== undefined && input.EngineVersion !== null && { EngineVersion: input.EngineVersion }), + ...(input.MaintenanceWindow !== undefined && + input.MaintenanceWindow !== null && { MaintenanceWindow: input.MaintenanceWindow }), + ...(input.NodeType !== undefined && input.NodeType !== null && { NodeType: input.NodeType }), + ...(input.ParameterGroupName !== undefined && + input.ParameterGroupName !== null && { ParameterGroupName: input.ParameterGroupName }), + ...(input.ReplicaConfiguration !== undefined && + input.ReplicaConfiguration !== null && { + ReplicaConfiguration: serializeAws_json1_1ReplicaConfigurationRequest(input.ReplicaConfiguration, context), + }), + ...(input.SecurityGroupIds !== undefined && + input.SecurityGroupIds !== null && { + SecurityGroupIds: serializeAws_json1_1SecurityGroupIdsList(input.SecurityGroupIds, context), + }), + ...(input.ShardConfiguration !== undefined && + input.ShardConfiguration !== null && { + ShardConfiguration: serializeAws_json1_1ShardConfigurationRequest(input.ShardConfiguration, context), + }), + ...(input.SnapshotRetentionLimit !== undefined && + input.SnapshotRetentionLimit !== null && { SnapshotRetentionLimit: input.SnapshotRetentionLimit }), + ...(input.SnapshotWindow !== undefined && + input.SnapshotWindow !== null && { SnapshotWindow: input.SnapshotWindow }), + ...(input.SnsTopicArn !== undefined && input.SnsTopicArn !== null && { SnsTopicArn: input.SnsTopicArn }), + ...(input.SnsTopicStatus !== undefined && + input.SnsTopicStatus !== null && { SnsTopicStatus: input.SnsTopicStatus }), + }; +}; + +const serializeAws_json1_1UpdateParameterGroupRequest = ( + input: UpdateParameterGroupRequest, + context: __SerdeContext +): any => { + return { + ...(input.ParameterGroupName !== undefined && + input.ParameterGroupName !== null && { ParameterGroupName: input.ParameterGroupName }), + ...(input.ParameterNameValues !== undefined && + input.ParameterNameValues !== null && { + ParameterNameValues: serializeAws_json1_1ParameterNameValueList(input.ParameterNameValues, context), + }), + }; +}; + +const serializeAws_json1_1UpdateSubnetGroupRequest = ( + input: UpdateSubnetGroupRequest, + context: __SerdeContext +): any => { + return { + ...(input.Description !== undefined && input.Description !== null && { Description: input.Description }), + ...(input.SubnetGroupName !== undefined && + input.SubnetGroupName !== null && { SubnetGroupName: input.SubnetGroupName }), + ...(input.SubnetIds !== undefined && + input.SubnetIds !== null && { SubnetIds: serializeAws_json1_1SubnetIdentifierList(input.SubnetIds, context) }), + }; +}; + +const serializeAws_json1_1UpdateUserRequest = (input: UpdateUserRequest, context: __SerdeContext): any => { + return { + ...(input.AccessString !== undefined && input.AccessString !== null && { AccessString: input.AccessString }), + ...(input.AuthenticationMode !== undefined && + input.AuthenticationMode !== null && { + AuthenticationMode: serializeAws_json1_1AuthenticationMode(input.AuthenticationMode, context), + }), + ...(input.UserName !== undefined && input.UserName !== null && { UserName: input.UserName }), + }; +}; + +const serializeAws_json1_1UserNameListInput = (input: string[], context: __SerdeContext): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + if (entry === null) { + return null as any; + } + return entry; + }); +}; + +const deserializeAws_json1_1ACL = (output: any, context: __SerdeContext): ACL => { + return { + ARN: __expectString(output.ARN), + Clusters: + output.Clusters !== undefined && output.Clusters !== null + ? deserializeAws_json1_1ACLClusterNameList(output.Clusters, context) + : undefined, + MinimumEngineVersion: __expectString(output.MinimumEngineVersion), + Name: __expectString(output.Name), + PendingChanges: + output.PendingChanges !== undefined && output.PendingChanges !== null + ? deserializeAws_json1_1ACLPendingChanges(output.PendingChanges, context) + : undefined, + Status: __expectString(output.Status), + UserNames: + output.UserNames !== undefined && output.UserNames !== null + ? deserializeAws_json1_1UserNameList(output.UserNames, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1ACLAlreadyExistsFault = (output: any, context: __SerdeContext): ACLAlreadyExistsFault => { + return { + message: __expectString(output.message), + } as any; +}; + +const deserializeAws_json1_1ACLClusterNameList = (output: any, context: __SerdeContext): string[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return __expectString(entry) as any; + }); +}; + +const deserializeAws_json1_1ACLList = (output: any, context: __SerdeContext): ACL[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_json1_1ACL(entry, context); + }); +}; + +const deserializeAws_json1_1ACLNameList = (output: any, context: __SerdeContext): string[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return __expectString(entry) as any; + }); +}; + +const deserializeAws_json1_1ACLNotFoundFault = (output: any, context: __SerdeContext): ACLNotFoundFault => { + return { + message: __expectString(output.message), + } as any; +}; + +const deserializeAws_json1_1ACLPendingChanges = (output: any, context: __SerdeContext): ACLPendingChanges => { + return { + UserNamesToAdd: + output.UserNamesToAdd !== undefined && output.UserNamesToAdd !== null + ? deserializeAws_json1_1UserNameList(output.UserNamesToAdd, context) + : undefined, + UserNamesToRemove: + output.UserNamesToRemove !== undefined && output.UserNamesToRemove !== null + ? deserializeAws_json1_1UserNameList(output.UserNamesToRemove, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1ACLQuotaExceededFault = (output: any, context: __SerdeContext): ACLQuotaExceededFault => { + return { + message: __expectString(output.message), + } as any; +}; + +const deserializeAws_json1_1ACLsUpdateStatus = (output: any, context: __SerdeContext): ACLsUpdateStatus => { + return { + ACLToApply: __expectString(output.ACLToApply), + } as any; +}; + +const deserializeAws_json1_1APICallRateForCustomerExceededFault = ( + output: any, + context: __SerdeContext +): APICallRateForCustomerExceededFault => { + return { + message: __expectString(output.message), + } as any; +}; + +const deserializeAws_json1_1Authentication = (output: any, context: __SerdeContext): Authentication => { + return { + PasswordCount: __expectInt(output.PasswordCount), + Type: __expectString(output.Type), + } as any; +}; + +const deserializeAws_json1_1AvailabilityZone = (output: any, context: __SerdeContext): AvailabilityZone => { + return { + Name: __expectString(output.Name), + } as any; +}; + +const deserializeAws_json1_1BatchUpdateClusterResponse = ( + output: any, + context: __SerdeContext +): BatchUpdateClusterResponse => { + return { + ProcessedClusters: + output.ProcessedClusters !== undefined && output.ProcessedClusters !== null + ? deserializeAws_json1_1ClusterList(output.ProcessedClusters, context) + : undefined, + UnprocessedClusters: + output.UnprocessedClusters !== undefined && output.UnprocessedClusters !== null + ? deserializeAws_json1_1UnprocessedClusterList(output.UnprocessedClusters, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1Cluster = (output: any, context: __SerdeContext): Cluster => { + return { + ACLName: __expectString(output.ACLName), + ARN: __expectString(output.ARN), + AutoMinorVersionUpgrade: __expectBoolean(output.AutoMinorVersionUpgrade), + AvailabilityMode: __expectString(output.AvailabilityMode), + ClusterEndpoint: + output.ClusterEndpoint !== undefined && output.ClusterEndpoint !== null + ? deserializeAws_json1_1Endpoint(output.ClusterEndpoint, context) + : undefined, + Description: __expectString(output.Description), + EnginePatchVersion: __expectString(output.EnginePatchVersion), + EngineVersion: __expectString(output.EngineVersion), + KmsKeyId: __expectString(output.KmsKeyId), + MaintenanceWindow: __expectString(output.MaintenanceWindow), + Name: __expectString(output.Name), + NodeType: __expectString(output.NodeType), + NumberOfShards: __expectInt(output.NumberOfShards), + ParameterGroupName: __expectString(output.ParameterGroupName), + ParameterGroupStatus: __expectString(output.ParameterGroupStatus), + PendingUpdates: + output.PendingUpdates !== undefined && output.PendingUpdates !== null + ? deserializeAws_json1_1ClusterPendingUpdates(output.PendingUpdates, context) + : undefined, + SecurityGroups: + output.SecurityGroups !== undefined && output.SecurityGroups !== null + ? deserializeAws_json1_1SecurityGroupMembershipList(output.SecurityGroups, context) + : undefined, + Shards: + output.Shards !== undefined && output.Shards !== null + ? deserializeAws_json1_1ShardList(output.Shards, context) + : undefined, + SnapshotRetentionLimit: __expectInt(output.SnapshotRetentionLimit), + SnapshotWindow: __expectString(output.SnapshotWindow), + SnsTopicArn: __expectString(output.SnsTopicArn), + SnsTopicStatus: __expectString(output.SnsTopicStatus), + Status: __expectString(output.Status), + SubnetGroupName: __expectString(output.SubnetGroupName), + TLSEnabled: __expectBoolean(output.TLSEnabled), + } as any; +}; + +const deserializeAws_json1_1ClusterAlreadyExistsFault = ( + output: any, + context: __SerdeContext +): ClusterAlreadyExistsFault => { + return { + message: __expectString(output.message), + } as any; +}; + +const deserializeAws_json1_1ClusterConfiguration = (output: any, context: __SerdeContext): ClusterConfiguration => { + return { + Description: __expectString(output.Description), + EngineVersion: __expectString(output.EngineVersion), + MaintenanceWindow: __expectString(output.MaintenanceWindow), + Name: __expectString(output.Name), + NodeType: __expectString(output.NodeType), + NumShards: __expectInt(output.NumShards), + ParameterGroupName: __expectString(output.ParameterGroupName), + Port: __expectInt(output.Port), + Shards: + output.Shards !== undefined && output.Shards !== null + ? deserializeAws_json1_1ShardDetails(output.Shards, context) + : undefined, + SnapshotRetentionLimit: __expectInt(output.SnapshotRetentionLimit), + SnapshotWindow: __expectString(output.SnapshotWindow), + SubnetGroupName: __expectString(output.SubnetGroupName), + TopicArn: __expectString(output.TopicArn), + VpcId: __expectString(output.VpcId), + } as any; +}; + +const deserializeAws_json1_1ClusterList = (output: any, context: __SerdeContext): Cluster[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_json1_1Cluster(entry, context); + }); +}; + +const deserializeAws_json1_1ClusterNotFoundFault = (output: any, context: __SerdeContext): ClusterNotFoundFault => { + return { + message: __expectString(output.message), + } as any; +}; + +const deserializeAws_json1_1ClusterPendingUpdates = (output: any, context: __SerdeContext): ClusterPendingUpdates => { + return { + ACLs: + output.ACLs !== undefined && output.ACLs !== null + ? deserializeAws_json1_1ACLsUpdateStatus(output.ACLs, context) + : undefined, + Resharding: + output.Resharding !== undefined && output.Resharding !== null + ? deserializeAws_json1_1ReshardingStatus(output.Resharding, context) + : undefined, + ServiceUpdates: + output.ServiceUpdates !== undefined && output.ServiceUpdates !== null + ? deserializeAws_json1_1PendingModifiedServiceUpdateList(output.ServiceUpdates, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1ClusterQuotaForCustomerExceededFault = ( + output: any, + context: __SerdeContext +): ClusterQuotaForCustomerExceededFault => { + return { + message: __expectString(output.message), + } as any; +}; + +const deserializeAws_json1_1CopySnapshotResponse = (output: any, context: __SerdeContext): CopySnapshotResponse => { + return { + Snapshot: + output.Snapshot !== undefined && output.Snapshot !== null + ? deserializeAws_json1_1Snapshot(output.Snapshot, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1CreateACLResponse = (output: any, context: __SerdeContext): CreateACLResponse => { + return { + ACL: output.ACL !== undefined && output.ACL !== null ? deserializeAws_json1_1ACL(output.ACL, context) : undefined, + } as any; +}; + +const deserializeAws_json1_1CreateClusterResponse = (output: any, context: __SerdeContext): CreateClusterResponse => { + return { + Cluster: + output.Cluster !== undefined && output.Cluster !== null + ? deserializeAws_json1_1Cluster(output.Cluster, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1CreateParameterGroupResponse = ( + output: any, + context: __SerdeContext +): CreateParameterGroupResponse => { + return { + ParameterGroup: + output.ParameterGroup !== undefined && output.ParameterGroup !== null + ? deserializeAws_json1_1ParameterGroup(output.ParameterGroup, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1CreateSnapshotResponse = (output: any, context: __SerdeContext): CreateSnapshotResponse => { + return { + Snapshot: + output.Snapshot !== undefined && output.Snapshot !== null + ? deserializeAws_json1_1Snapshot(output.Snapshot, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1CreateSubnetGroupResponse = ( + output: any, + context: __SerdeContext +): CreateSubnetGroupResponse => { + return { + SubnetGroup: + output.SubnetGroup !== undefined && output.SubnetGroup !== null + ? deserializeAws_json1_1SubnetGroup(output.SubnetGroup, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1CreateUserResponse = (output: any, context: __SerdeContext): CreateUserResponse => { + return { + User: + output.User !== undefined && output.User !== null ? deserializeAws_json1_1User(output.User, context) : undefined, + } as any; +}; + +const deserializeAws_json1_1DefaultUserRequired = (output: any, context: __SerdeContext): DefaultUserRequired => { + return { + message: __expectString(output.message), + } as any; +}; + +const deserializeAws_json1_1DeleteACLResponse = (output: any, context: __SerdeContext): DeleteACLResponse => { + return { + ACL: output.ACL !== undefined && output.ACL !== null ? deserializeAws_json1_1ACL(output.ACL, context) : undefined, + } as any; +}; + +const deserializeAws_json1_1DeleteClusterResponse = (output: any, context: __SerdeContext): DeleteClusterResponse => { + return { + Cluster: + output.Cluster !== undefined && output.Cluster !== null + ? deserializeAws_json1_1Cluster(output.Cluster, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1DeleteParameterGroupResponse = ( + output: any, + context: __SerdeContext +): DeleteParameterGroupResponse => { + return { + ParameterGroup: + output.ParameterGroup !== undefined && output.ParameterGroup !== null + ? deserializeAws_json1_1ParameterGroup(output.ParameterGroup, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1DeleteSnapshotResponse = (output: any, context: __SerdeContext): DeleteSnapshotResponse => { + return { + Snapshot: + output.Snapshot !== undefined && output.Snapshot !== null + ? deserializeAws_json1_1Snapshot(output.Snapshot, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1DeleteSubnetGroupResponse = ( + output: any, + context: __SerdeContext +): DeleteSubnetGroupResponse => { + return { + SubnetGroup: + output.SubnetGroup !== undefined && output.SubnetGroup !== null + ? deserializeAws_json1_1SubnetGroup(output.SubnetGroup, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1DeleteUserResponse = (output: any, context: __SerdeContext): DeleteUserResponse => { + return { + User: + output.User !== undefined && output.User !== null ? deserializeAws_json1_1User(output.User, context) : undefined, + } as any; +}; + +const deserializeAws_json1_1DescribeACLsResponse = (output: any, context: __SerdeContext): DescribeACLsResponse => { + return { + ACLs: + output.ACLs !== undefined && output.ACLs !== null + ? deserializeAws_json1_1ACLList(output.ACLs, context) + : undefined, + NextToken: __expectString(output.NextToken), + } as any; +}; + +const deserializeAws_json1_1DescribeClustersResponse = ( + output: any, + context: __SerdeContext +): DescribeClustersResponse => { + return { + Clusters: + output.Clusters !== undefined && output.Clusters !== null + ? deserializeAws_json1_1ClusterList(output.Clusters, context) + : undefined, + NextToken: __expectString(output.NextToken), + } as any; +}; + +const deserializeAws_json1_1DescribeEngineVersionsResponse = ( + output: any, + context: __SerdeContext +): DescribeEngineVersionsResponse => { + return { + EngineVersions: + output.EngineVersions !== undefined && output.EngineVersions !== null + ? deserializeAws_json1_1EngineVersionInfoList(output.EngineVersions, context) + : undefined, + NextToken: __expectString(output.NextToken), + } as any; +}; + +const deserializeAws_json1_1DescribeEventsResponse = (output: any, context: __SerdeContext): DescribeEventsResponse => { + return { + Events: + output.Events !== undefined && output.Events !== null + ? deserializeAws_json1_1EventList(output.Events, context) + : undefined, + NextToken: __expectString(output.NextToken), + } as any; +}; + +const deserializeAws_json1_1DescribeParameterGroupsResponse = ( + output: any, + context: __SerdeContext +): DescribeParameterGroupsResponse => { + return { + NextToken: __expectString(output.NextToken), + ParameterGroups: + output.ParameterGroups !== undefined && output.ParameterGroups !== null + ? deserializeAws_json1_1ParameterGroupList(output.ParameterGroups, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1DescribeParametersResponse = ( + output: any, + context: __SerdeContext +): DescribeParametersResponse => { + return { + NextToken: __expectString(output.NextToken), + Parameters: + output.Parameters !== undefined && output.Parameters !== null + ? deserializeAws_json1_1ParametersList(output.Parameters, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1DescribeServiceUpdatesResponse = ( + output: any, + context: __SerdeContext +): DescribeServiceUpdatesResponse => { + return { + NextToken: __expectString(output.NextToken), + ServiceUpdates: + output.ServiceUpdates !== undefined && output.ServiceUpdates !== null + ? deserializeAws_json1_1ServiceUpdateList(output.ServiceUpdates, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1DescribeSnapshotsResponse = ( + output: any, + context: __SerdeContext +): DescribeSnapshotsResponse => { + return { + NextToken: __expectString(output.NextToken), + Snapshots: + output.Snapshots !== undefined && output.Snapshots !== null + ? deserializeAws_json1_1SnapshotList(output.Snapshots, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1DescribeSubnetGroupsResponse = ( + output: any, + context: __SerdeContext +): DescribeSubnetGroupsResponse => { + return { + NextToken: __expectString(output.NextToken), + SubnetGroups: + output.SubnetGroups !== undefined && output.SubnetGroups !== null + ? deserializeAws_json1_1SubnetGroupList(output.SubnetGroups, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1DescribeUsersResponse = (output: any, context: __SerdeContext): DescribeUsersResponse => { + return { + NextToken: __expectString(output.NextToken), + Users: + output.Users !== undefined && output.Users !== null + ? deserializeAws_json1_1UserList(output.Users, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1DuplicateUserNameFault = (output: any, context: __SerdeContext): DuplicateUserNameFault => { + return { + message: __expectString(output.message), + } as any; +}; + +const deserializeAws_json1_1Endpoint = (output: any, context: __SerdeContext): Endpoint => { + return { + Address: __expectString(output.Address), + Port: __expectInt(output.Port), + } as any; +}; + +const deserializeAws_json1_1EngineVersionInfo = (output: any, context: __SerdeContext): EngineVersionInfo => { + return { + EnginePatchVersion: __expectString(output.EnginePatchVersion), + EngineVersion: __expectString(output.EngineVersion), + ParameterGroupFamily: __expectString(output.ParameterGroupFamily), + } as any; +}; + +const deserializeAws_json1_1EngineVersionInfoList = (output: any, context: __SerdeContext): EngineVersionInfo[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_json1_1EngineVersionInfo(entry, context); + }); +}; + +const deserializeAws_json1_1Event = (output: any, context: __SerdeContext): Event => { + return { + Date: output.Date !== undefined && output.Date !== null ? new Date(Math.round(output.Date * 1000)) : undefined, + Message: __expectString(output.Message), + SourceName: __expectString(output.SourceName), + SourceType: __expectString(output.SourceType), + } as any; +}; + +const deserializeAws_json1_1EventList = (output: any, context: __SerdeContext): Event[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_json1_1Event(entry, context); + }); +}; + +const deserializeAws_json1_1FailoverShardResponse = (output: any, context: __SerdeContext): FailoverShardResponse => { + return { + Cluster: + output.Cluster !== undefined && output.Cluster !== null + ? deserializeAws_json1_1Cluster(output.Cluster, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1InsufficientClusterCapacityFault = ( + output: any, + context: __SerdeContext +): InsufficientClusterCapacityFault => { + return { + message: __expectString(output.message), + } as any; +}; + +const deserializeAws_json1_1InvalidACLStateFault = (output: any, context: __SerdeContext): InvalidACLStateFault => { + return { + message: __expectString(output.message), + } as any; +}; + +const deserializeAws_json1_1InvalidARNFault = (output: any, context: __SerdeContext): InvalidARNFault => { + return { + message: __expectString(output.message), + } as any; +}; + +const deserializeAws_json1_1InvalidClusterStateFault = ( + output: any, + context: __SerdeContext +): InvalidClusterStateFault => { + return { + message: __expectString(output.message), + } as any; +}; + +const deserializeAws_json1_1InvalidCredentialsException = ( + output: any, + context: __SerdeContext +): InvalidCredentialsException => { + return { + message: __expectString(output.message), + } as any; +}; + +const deserializeAws_json1_1InvalidKMSKeyFault = (output: any, context: __SerdeContext): InvalidKMSKeyFault => { + return { + message: __expectString(output.message), + } as any; +}; + +const deserializeAws_json1_1InvalidNodeStateFault = (output: any, context: __SerdeContext): InvalidNodeStateFault => { + return { + message: __expectString(output.message), + } as any; +}; + +const deserializeAws_json1_1InvalidParameterCombinationException = ( + output: any, + context: __SerdeContext +): InvalidParameterCombinationException => { + return { + message: __expectString(output.message), + } as any; +}; + +const deserializeAws_json1_1InvalidParameterGroupStateFault = ( + output: any, + context: __SerdeContext +): InvalidParameterGroupStateFault => { + return { + message: __expectString(output.message), + } as any; +}; + +const deserializeAws_json1_1InvalidParameterValueException = ( + output: any, + context: __SerdeContext +): InvalidParameterValueException => { + return { + message: __expectString(output.message), + } as any; +}; + +const deserializeAws_json1_1InvalidSnapshotStateFault = ( + output: any, + context: __SerdeContext +): InvalidSnapshotStateFault => { + return { + message: __expectString(output.message), + } as any; +}; + +const deserializeAws_json1_1InvalidSubnet = (output: any, context: __SerdeContext): InvalidSubnet => { + return { + message: __expectString(output.message), + } as any; +}; + +const deserializeAws_json1_1InvalidUserStateFault = (output: any, context: __SerdeContext): InvalidUserStateFault => { + return { + message: __expectString(output.message), + } as any; +}; + +const deserializeAws_json1_1InvalidVPCNetworkStateFault = ( + output: any, + context: __SerdeContext +): InvalidVPCNetworkStateFault => { + return { + message: __expectString(output.message), + } as any; +}; + +const deserializeAws_json1_1ListAllowedNodeTypeUpdatesResponse = ( + output: any, + context: __SerdeContext +): ListAllowedNodeTypeUpdatesResponse => { + return { + ScaleDownNodeTypes: + output.ScaleDownNodeTypes !== undefined && output.ScaleDownNodeTypes !== null + ? deserializeAws_json1_1NodeTypeList(output.ScaleDownNodeTypes, context) + : undefined, + ScaleUpNodeTypes: + output.ScaleUpNodeTypes !== undefined && output.ScaleUpNodeTypes !== null + ? deserializeAws_json1_1NodeTypeList(output.ScaleUpNodeTypes, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1ListTagsResponse = (output: any, context: __SerdeContext): ListTagsResponse => { + return { + TagList: + output.TagList !== undefined && output.TagList !== null + ? deserializeAws_json1_1TagList(output.TagList, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1Node = (output: any, context: __SerdeContext): Node => { + return { + AvailabilityZone: __expectString(output.AvailabilityZone), + CreateTime: + output.CreateTime !== undefined && output.CreateTime !== null + ? new Date(Math.round(output.CreateTime * 1000)) + : undefined, + Endpoint: + output.Endpoint !== undefined && output.Endpoint !== null + ? deserializeAws_json1_1Endpoint(output.Endpoint, context) + : undefined, + Name: __expectString(output.Name), + Status: __expectString(output.Status), + } as any; +}; + +const deserializeAws_json1_1NodeList = (output: any, context: __SerdeContext): Node[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_json1_1Node(entry, context); + }); +}; + +const deserializeAws_json1_1NodeQuotaForClusterExceededFault = ( + output: any, + context: __SerdeContext +): NodeQuotaForClusterExceededFault => { + return { + message: __expectString(output.message), + } as any; +}; + +const deserializeAws_json1_1NodeQuotaForCustomerExceededFault = ( + output: any, + context: __SerdeContext +): NodeQuotaForCustomerExceededFault => { + return { + message: __expectString(output.message), + } as any; +}; + +const deserializeAws_json1_1NodeTypeList = (output: any, context: __SerdeContext): string[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return __expectString(entry) as any; + }); +}; + +const deserializeAws_json1_1NoOperationFault = (output: any, context: __SerdeContext): NoOperationFault => { + return { + message: __expectString(output.message), + } as any; +}; + +const deserializeAws_json1_1Parameter = (output: any, context: __SerdeContext): Parameter => { + return { + AllowedValues: __expectString(output.AllowedValues), + DataType: __expectString(output.DataType), + Description: __expectString(output.Description), + MinimumEngineVersion: __expectString(output.MinimumEngineVersion), + Name: __expectString(output.Name), + Value: __expectString(output.Value), + } as any; +}; + +const deserializeAws_json1_1ParameterGroup = (output: any, context: __SerdeContext): ParameterGroup => { + return { + ARN: __expectString(output.ARN), + Description: __expectString(output.Description), + Family: __expectString(output.Family), + Name: __expectString(output.Name), + } as any; +}; + +const deserializeAws_json1_1ParameterGroupAlreadyExistsFault = ( + output: any, + context: __SerdeContext +): ParameterGroupAlreadyExistsFault => { + return { + message: __expectString(output.message), + } as any; +}; + +const deserializeAws_json1_1ParameterGroupList = (output: any, context: __SerdeContext): ParameterGroup[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_json1_1ParameterGroup(entry, context); + }); +}; + +const deserializeAws_json1_1ParameterGroupNotFoundFault = ( + output: any, + context: __SerdeContext +): ParameterGroupNotFoundFault => { + return { + message: __expectString(output.message), + } as any; +}; + +const deserializeAws_json1_1ParameterGroupQuotaExceededFault = ( + output: any, + context: __SerdeContext +): ParameterGroupQuotaExceededFault => { + return { + message: __expectString(output.message), + } as any; +}; + +const deserializeAws_json1_1ParametersList = (output: any, context: __SerdeContext): Parameter[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_json1_1Parameter(entry, context); + }); +}; + +const deserializeAws_json1_1PendingModifiedServiceUpdate = ( + output: any, + context: __SerdeContext +): PendingModifiedServiceUpdate => { + return { + ServiceUpdateName: __expectString(output.ServiceUpdateName), + Status: __expectString(output.Status), + } as any; +}; + +const deserializeAws_json1_1PendingModifiedServiceUpdateList = ( + output: any, + context: __SerdeContext +): PendingModifiedServiceUpdate[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_json1_1PendingModifiedServiceUpdate(entry, context); + }); +}; + +const deserializeAws_json1_1ResetParameterGroupResponse = ( + output: any, + context: __SerdeContext +): ResetParameterGroupResponse => { + return { + ParameterGroup: + output.ParameterGroup !== undefined && output.ParameterGroup !== null + ? deserializeAws_json1_1ParameterGroup(output.ParameterGroup, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1ReshardingStatus = (output: any, context: __SerdeContext): ReshardingStatus => { + return { + SlotMigration: + output.SlotMigration !== undefined && output.SlotMigration !== null + ? deserializeAws_json1_1SlotMigration(output.SlotMigration, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1SecurityGroupMembership = ( + output: any, + context: __SerdeContext +): SecurityGroupMembership => { + return { + SecurityGroupId: __expectString(output.SecurityGroupId), + Status: __expectString(output.Status), + } as any; +}; + +const deserializeAws_json1_1SecurityGroupMembershipList = ( + output: any, + context: __SerdeContext +): SecurityGroupMembership[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_json1_1SecurityGroupMembership(entry, context); + }); +}; + +const deserializeAws_json1_1ServiceLinkedRoleNotFoundFault = ( + output: any, + context: __SerdeContext +): ServiceLinkedRoleNotFoundFault => { + return { + message: __expectString(output.message), + } as any; +}; + +const deserializeAws_json1_1ServiceUpdate = (output: any, context: __SerdeContext): ServiceUpdate => { + return { + AutoUpdateStartDate: + output.AutoUpdateStartDate !== undefined && output.AutoUpdateStartDate !== null + ? new Date(Math.round(output.AutoUpdateStartDate * 1000)) + : undefined, + ClusterName: __expectString(output.ClusterName), + Description: __expectString(output.Description), + NodesUpdated: __expectString(output.NodesUpdated), + ReleaseDate: + output.ReleaseDate !== undefined && output.ReleaseDate !== null + ? new Date(Math.round(output.ReleaseDate * 1000)) + : undefined, + ServiceUpdateName: __expectString(output.ServiceUpdateName), + Status: __expectString(output.Status), + Type: __expectString(output.Type), + } as any; +}; + +const deserializeAws_json1_1ServiceUpdateList = (output: any, context: __SerdeContext): ServiceUpdate[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_json1_1ServiceUpdate(entry, context); + }); +}; + +const deserializeAws_json1_1ServiceUpdateNotFoundFault = ( + output: any, + context: __SerdeContext +): ServiceUpdateNotFoundFault => { + return { + message: __expectString(output.message), + } as any; +}; + +const deserializeAws_json1_1Shard = (output: any, context: __SerdeContext): Shard => { + return { + Name: __expectString(output.Name), + Nodes: + output.Nodes !== undefined && output.Nodes !== null + ? deserializeAws_json1_1NodeList(output.Nodes, context) + : undefined, + NumberOfNodes: __expectInt(output.NumberOfNodes), + Slots: __expectString(output.Slots), + Status: __expectString(output.Status), + } as any; +}; + +const deserializeAws_json1_1ShardConfiguration = (output: any, context: __SerdeContext): ShardConfiguration => { + return { + ReplicaCount: __expectInt(output.ReplicaCount), + Slots: __expectString(output.Slots), + } as any; +}; + +const deserializeAws_json1_1ShardDetail = (output: any, context: __SerdeContext): ShardDetail => { + return { + Configuration: + output.Configuration !== undefined && output.Configuration !== null + ? deserializeAws_json1_1ShardConfiguration(output.Configuration, context) + : undefined, + Name: __expectString(output.Name), + Size: __expectString(output.Size), + SnapshotCreationTime: + output.SnapshotCreationTime !== undefined && output.SnapshotCreationTime !== null + ? new Date(Math.round(output.SnapshotCreationTime * 1000)) + : undefined, + } as any; +}; + +const deserializeAws_json1_1ShardDetails = (output: any, context: __SerdeContext): ShardDetail[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_json1_1ShardDetail(entry, context); + }); +}; + +const deserializeAws_json1_1ShardList = (output: any, context: __SerdeContext): Shard[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_json1_1Shard(entry, context); + }); +}; + +const deserializeAws_json1_1ShardNotFoundFault = (output: any, context: __SerdeContext): ShardNotFoundFault => { + return { + message: __expectString(output.message), + } as any; +}; + +const deserializeAws_json1_1ShardsPerClusterQuotaExceededFault = ( + output: any, + context: __SerdeContext +): ShardsPerClusterQuotaExceededFault => { + return { + message: __expectString(output.message), + } as any; +}; + +const deserializeAws_json1_1SlotMigration = (output: any, context: __SerdeContext): SlotMigration => { + return { + ProgressPercentage: __limitedParseFloat(output.ProgressPercentage), + } as any; +}; + +const deserializeAws_json1_1Snapshot = (output: any, context: __SerdeContext): Snapshot => { + return { + ARN: __expectString(output.ARN), + ClusterConfiguration: + output.ClusterConfiguration !== undefined && output.ClusterConfiguration !== null + ? deserializeAws_json1_1ClusterConfiguration(output.ClusterConfiguration, context) + : undefined, + KmsKeyId: __expectString(output.KmsKeyId), + Name: __expectString(output.Name), + Source: __expectString(output.Source), + Status: __expectString(output.Status), + } as any; +}; + +const deserializeAws_json1_1SnapshotAlreadyExistsFault = ( + output: any, + context: __SerdeContext +): SnapshotAlreadyExistsFault => { + return { + message: __expectString(output.message), + } as any; +}; + +const deserializeAws_json1_1SnapshotList = (output: any, context: __SerdeContext): Snapshot[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_json1_1Snapshot(entry, context); + }); +}; + +const deserializeAws_json1_1SnapshotNotFoundFault = (output: any, context: __SerdeContext): SnapshotNotFoundFault => { + return { + message: __expectString(output.message), + } as any; +}; + +const deserializeAws_json1_1SnapshotQuotaExceededFault = ( + output: any, + context: __SerdeContext +): SnapshotQuotaExceededFault => { + return { + message: __expectString(output.message), + } as any; +}; + +const deserializeAws_json1_1Subnet = (output: any, context: __SerdeContext): Subnet => { + return { + AvailabilityZone: + output.AvailabilityZone !== undefined && output.AvailabilityZone !== null + ? deserializeAws_json1_1AvailabilityZone(output.AvailabilityZone, context) + : undefined, + Identifier: __expectString(output.Identifier), + } as any; +}; + +const deserializeAws_json1_1SubnetGroup = (output: any, context: __SerdeContext): SubnetGroup => { + return { + ARN: __expectString(output.ARN), + Description: __expectString(output.Description), + Name: __expectString(output.Name), + Subnets: + output.Subnets !== undefined && output.Subnets !== null + ? deserializeAws_json1_1SubnetList(output.Subnets, context) + : undefined, + VpcId: __expectString(output.VpcId), + } as any; +}; + +const deserializeAws_json1_1SubnetGroupAlreadyExistsFault = ( + output: any, + context: __SerdeContext +): SubnetGroupAlreadyExistsFault => { + return { + message: __expectString(output.message), + } as any; +}; + +const deserializeAws_json1_1SubnetGroupInUseFault = (output: any, context: __SerdeContext): SubnetGroupInUseFault => { + return { + message: __expectString(output.message), + } as any; +}; + +const deserializeAws_json1_1SubnetGroupList = (output: any, context: __SerdeContext): SubnetGroup[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_json1_1SubnetGroup(entry, context); + }); +}; + +const deserializeAws_json1_1SubnetGroupNotFoundFault = ( + output: any, + context: __SerdeContext +): SubnetGroupNotFoundFault => { + return { + message: __expectString(output.message), + } as any; +}; + +const deserializeAws_json1_1SubnetGroupQuotaExceededFault = ( + output: any, + context: __SerdeContext +): SubnetGroupQuotaExceededFault => { + return { + message: __expectString(output.message), + } as any; +}; + +const deserializeAws_json1_1SubnetInUse = (output: any, context: __SerdeContext): SubnetInUse => { + return { + message: __expectString(output.message), + } as any; +}; + +const deserializeAws_json1_1SubnetList = (output: any, context: __SerdeContext): Subnet[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_json1_1Subnet(entry, context); + }); +}; + +const deserializeAws_json1_1SubnetNotAllowedFault = (output: any, context: __SerdeContext): SubnetNotAllowedFault => { + return { + message: __expectString(output.message), + } as any; +}; + +const deserializeAws_json1_1SubnetQuotaExceededFault = ( + output: any, + context: __SerdeContext +): SubnetQuotaExceededFault => { + return { + message: __expectString(output.message), + } as any; +}; + +const deserializeAws_json1_1Tag = (output: any, context: __SerdeContext): Tag => { + return { + Key: __expectString(output.Key), + Value: __expectString(output.Value), + } as any; +}; + +const deserializeAws_json1_1TagList = (output: any, context: __SerdeContext): Tag[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_json1_1Tag(entry, context); + }); +}; + +const deserializeAws_json1_1TagNotFoundFault = (output: any, context: __SerdeContext): TagNotFoundFault => { + return { + message: __expectString(output.message), + } as any; +}; + +const deserializeAws_json1_1TagQuotaPerResourceExceeded = ( + output: any, + context: __SerdeContext +): TagQuotaPerResourceExceeded => { + return { + message: __expectString(output.message), + } as any; +}; + +const deserializeAws_json1_1TagResourceResponse = (output: any, context: __SerdeContext): TagResourceResponse => { + return { + TagList: + output.TagList !== undefined && output.TagList !== null + ? deserializeAws_json1_1TagList(output.TagList, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1TestFailoverNotAvailableFault = ( + output: any, + context: __SerdeContext +): TestFailoverNotAvailableFault => { + return { + message: __expectString(output.message), + } as any; +}; + +const deserializeAws_json1_1UnprocessedCluster = (output: any, context: __SerdeContext): UnprocessedCluster => { + return { + ClusterName: __expectString(output.ClusterName), + ErrorMessage: __expectString(output.ErrorMessage), + ErrorType: __expectString(output.ErrorType), + } as any; +}; + +const deserializeAws_json1_1UnprocessedClusterList = (output: any, context: __SerdeContext): UnprocessedCluster[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_json1_1UnprocessedCluster(entry, context); + }); +}; + +const deserializeAws_json1_1UntagResourceResponse = (output: any, context: __SerdeContext): UntagResourceResponse => { + return { + TagList: + output.TagList !== undefined && output.TagList !== null + ? deserializeAws_json1_1TagList(output.TagList, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1UpdateACLResponse = (output: any, context: __SerdeContext): UpdateACLResponse => { + return { + ACL: output.ACL !== undefined && output.ACL !== null ? deserializeAws_json1_1ACL(output.ACL, context) : undefined, + } as any; +}; + +const deserializeAws_json1_1UpdateClusterResponse = (output: any, context: __SerdeContext): UpdateClusterResponse => { + return { + Cluster: + output.Cluster !== undefined && output.Cluster !== null + ? deserializeAws_json1_1Cluster(output.Cluster, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1UpdateParameterGroupResponse = ( + output: any, + context: __SerdeContext +): UpdateParameterGroupResponse => { + return { + ParameterGroup: + output.ParameterGroup !== undefined && output.ParameterGroup !== null + ? deserializeAws_json1_1ParameterGroup(output.ParameterGroup, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1UpdateSubnetGroupResponse = ( + output: any, + context: __SerdeContext +): UpdateSubnetGroupResponse => { + return { + SubnetGroup: + output.SubnetGroup !== undefined && output.SubnetGroup !== null + ? deserializeAws_json1_1SubnetGroup(output.SubnetGroup, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1UpdateUserResponse = (output: any, context: __SerdeContext): UpdateUserResponse => { + return { + User: + output.User !== undefined && output.User !== null ? deserializeAws_json1_1User(output.User, context) : undefined, + } as any; +}; + +const deserializeAws_json1_1User = (output: any, context: __SerdeContext): User => { + return { + ACLNames: + output.ACLNames !== undefined && output.ACLNames !== null + ? deserializeAws_json1_1ACLNameList(output.ACLNames, context) + : undefined, + ARN: __expectString(output.ARN), + AccessString: __expectString(output.AccessString), + Authentication: + output.Authentication !== undefined && output.Authentication !== null + ? deserializeAws_json1_1Authentication(output.Authentication, context) + : undefined, + MinimumEngineVersion: __expectString(output.MinimumEngineVersion), + Name: __expectString(output.Name), + Status: __expectString(output.Status), + } as any; +}; + +const deserializeAws_json1_1UserAlreadyExistsFault = (output: any, context: __SerdeContext): UserAlreadyExistsFault => { + return { + message: __expectString(output.message), + } as any; +}; + +const deserializeAws_json1_1UserList = (output: any, context: __SerdeContext): User[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_json1_1User(entry, context); + }); +}; + +const deserializeAws_json1_1UserNameList = (output: any, context: __SerdeContext): string[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return __expectString(entry) as any; + }); +}; + +const deserializeAws_json1_1UserNotFoundFault = (output: any, context: __SerdeContext): UserNotFoundFault => { + return { + message: __expectString(output.message), + } as any; +}; + +const deserializeAws_json1_1UserQuotaExceededFault = (output: any, context: __SerdeContext): UserQuotaExceededFault => { + return { + message: __expectString(output.message), + } as any; +}; + +const deserializeMetadata = (output: __HttpResponse): __ResponseMetadata => ({ + httpStatusCode: output.statusCode, + requestId: output.headers["x-amzn-requestid"] ?? output.headers["x-amzn-request-id"], + extendedRequestId: output.headers["x-amz-id-2"], + cfId: output.headers["x-amz-cf-id"], +}); + +// Collect low-level response body stream to Uint8Array. +const collectBody = (streamBody: any = new Uint8Array(), context: __SerdeContext): Promise => { + if (streamBody instanceof Uint8Array) { + return Promise.resolve(streamBody); + } + return context.streamCollector(streamBody) || Promise.resolve(new Uint8Array()); +}; + +// Encode Uint8Array data into string with utf-8. +const collectBodyString = (streamBody: any, context: __SerdeContext): Promise => + collectBody(streamBody, context).then((body) => context.utf8Encoder(body)); + +const buildHttpRpcRequest = async ( + context: __SerdeContext, + headers: __HeaderBag, + path: string, + resolvedHostname: string | undefined, + body: any +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port } = await context.endpoint(); + const contents: any = { + protocol, + hostname, + port, + method: "POST", + path, + headers, + }; + if (resolvedHostname !== undefined) { + contents.hostname = resolvedHostname; + } + if (body !== undefined) { + contents.body = body; + } + return new __HttpRequest(contents); +}; + +const parseBody = (streamBody: any, context: __SerdeContext): any => + collectBodyString(streamBody, context).then((encoded) => { + if (encoded.length) { + return JSON.parse(encoded); + } + return {}; + }); + +/** + * Load an error code for the aws.rest-json-1.1 protocol. + */ +const loadRestJsonErrorCode = (output: __HttpResponse, data: any): string => { + const findKey = (object: any, key: string) => Object.keys(object).find((k) => k.toLowerCase() === key.toLowerCase()); + + const sanitizeErrorCode = (rawValue: string): string => { + let cleanValue = rawValue; + if (cleanValue.indexOf(":") >= 0) { + cleanValue = cleanValue.split(":")[0]; + } + if (cleanValue.indexOf("#") >= 0) { + cleanValue = cleanValue.split("#")[1]; + } + return cleanValue; + }; + + const headerKey = findKey(output.headers, "x-amzn-errortype"); + if (headerKey !== undefined) { + return sanitizeErrorCode(output.headers[headerKey]); + } + + if (data.code !== undefined) { + return sanitizeErrorCode(data.code); + } + + if (data["__type"] !== undefined) { + return sanitizeErrorCode(data["__type"]); + } + + return ""; +}; diff --git a/clients/client-memorydb/runtimeConfig.browser.ts b/clients/client-memorydb/runtimeConfig.browser.ts new file mode 100644 index 000000000000..85a06c96bef9 --- /dev/null +++ b/clients/client-memorydb/runtimeConfig.browser.ts @@ -0,0 +1,40 @@ +import packageInfo from "./package.json"; + +import { Sha256 } from "@aws-crypto/sha256-browser"; +import { FetchHttpHandler, streamCollector } from "@aws-sdk/fetch-http-handler"; +import { invalidProvider } from "@aws-sdk/invalid-dependency"; +import { DEFAULT_MAX_ATTEMPTS, DEFAULT_RETRY_MODE } from "@aws-sdk/middleware-retry"; +import { fromBase64, toBase64 } from "@aws-sdk/util-base64-browser"; +import { calculateBodyLength } from "@aws-sdk/util-body-length-browser"; +import { defaultUserAgent } from "@aws-sdk/util-user-agent-browser"; +import { fromUtf8, toUtf8 } from "@aws-sdk/util-utf8-browser"; +import { MemoryDBClientConfig } from "./MemoryDBClient"; +import { getRuntimeConfig as getSharedRuntimeConfig } from "./runtimeConfig.shared"; + +/** + * @internal + */ +export const getRuntimeConfig = (config: MemoryDBClientConfig = {}) => { + const clientSharedValues = getSharedRuntimeConfig(config); + return { + ...clientSharedValues, + ...config, + runtime: "browser", + base64Decoder: config.base64Decoder ?? fromBase64, + base64Encoder: config.base64Encoder ?? toBase64, + bodyLengthChecker: config.bodyLengthChecker ?? calculateBodyLength, + credentialDefaultProvider: + config.credentialDefaultProvider ?? ((_: unknown) => () => Promise.reject(new Error("Credential is missing"))), + defaultUserAgentProvider: + config.defaultUserAgentProvider ?? + defaultUserAgent({ serviceId: clientSharedValues.serviceId, clientVersion: packageInfo.version }), + maxAttempts: config.maxAttempts ?? DEFAULT_MAX_ATTEMPTS, + region: config.region ?? invalidProvider("Region is missing"), + requestHandler: config.requestHandler ?? new FetchHttpHandler(), + retryModeProvider: config.retryModeProvider ?? (() => Promise.resolve(DEFAULT_RETRY_MODE)), + sha256: config.sha256 ?? Sha256, + streamCollector: config.streamCollector ?? streamCollector, + utf8Decoder: config.utf8Decoder ?? fromUtf8, + utf8Encoder: config.utf8Encoder ?? toUtf8, + }; +}; diff --git a/clients/client-memorydb/runtimeConfig.native.ts b/clients/client-memorydb/runtimeConfig.native.ts new file mode 100644 index 000000000000..9f76890125c5 --- /dev/null +++ b/clients/client-memorydb/runtimeConfig.native.ts @@ -0,0 +1,16 @@ +import { Sha256 } from "@aws-crypto/sha256-js"; +import { MemoryDBClientConfig } from "./MemoryDBClient"; +import { getRuntimeConfig as getBrowserRuntimeConfig } from "./runtimeConfig.browser"; + +/** + * @internal + */ +export const getRuntimeConfig = (config: MemoryDBClientConfig = {}) => { + const browserDefaults = getBrowserRuntimeConfig(config); + return { + ...browserDefaults, + ...config, + runtime: "react-native", + sha256: config.sha256 ?? Sha256, + }; +}; diff --git a/clients/client-memorydb/runtimeConfig.shared.ts b/clients/client-memorydb/runtimeConfig.shared.ts new file mode 100644 index 000000000000..3b84e488dc16 --- /dev/null +++ b/clients/client-memorydb/runtimeConfig.shared.ts @@ -0,0 +1,16 @@ +import { defaultRegionInfoProvider } from "./endpoints"; +import { Logger as __Logger } from "@aws-sdk/types"; +import { parseUrl } from "@aws-sdk/url-parser"; +import { MemoryDBClientConfig } from "./MemoryDBClient"; + +/** + * @internal + */ +export const getRuntimeConfig = (config: MemoryDBClientConfig = {}) => ({ + apiVersion: "2021-01-01", + disableHostPrefix: config.disableHostPrefix ?? false, + logger: config.logger ?? ({} as __Logger), + regionInfoProvider: config.regionInfoProvider ?? defaultRegionInfoProvider, + serviceId: config.serviceId ?? "MemoryDB", + urlParser: config.urlParser ?? parseUrl, +}); diff --git a/clients/client-memorydb/runtimeConfig.ts b/clients/client-memorydb/runtimeConfig.ts new file mode 100644 index 000000000000..e34ade568d1b --- /dev/null +++ b/clients/client-memorydb/runtimeConfig.ts @@ -0,0 +1,45 @@ +import packageInfo from "./package.json"; + +import { decorateDefaultCredentialProvider } from "@aws-sdk/client-sts"; +import { NODE_REGION_CONFIG_FILE_OPTIONS, NODE_REGION_CONFIG_OPTIONS } from "@aws-sdk/config-resolver"; +import { defaultProvider as credentialDefaultProvider } from "@aws-sdk/credential-provider-node"; +import { Hash } from "@aws-sdk/hash-node"; +import { NODE_MAX_ATTEMPT_CONFIG_OPTIONS, NODE_RETRY_MODE_CONFIG_OPTIONS } from "@aws-sdk/middleware-retry"; +import { loadConfig as loadNodeConfig } from "@aws-sdk/node-config-provider"; +import { NodeHttpHandler, streamCollector } from "@aws-sdk/node-http-handler"; +import { fromBase64, toBase64 } from "@aws-sdk/util-base64-node"; +import { calculateBodyLength } from "@aws-sdk/util-body-length-node"; +import { defaultUserAgent } from "@aws-sdk/util-user-agent-node"; +import { fromUtf8, toUtf8 } from "@aws-sdk/util-utf8-node"; +import { MemoryDBClientConfig } from "./MemoryDBClient"; +import { getRuntimeConfig as getSharedRuntimeConfig } from "./runtimeConfig.shared"; +import { emitWarningIfUnsupportedVersion } from "@aws-sdk/smithy-client"; + +/** + * @internal + */ +export const getRuntimeConfig = (config: MemoryDBClientConfig = {}) => { + emitWarningIfUnsupportedVersion(process.version); + const clientSharedValues = getSharedRuntimeConfig(config); + return { + ...clientSharedValues, + ...config, + runtime: "node", + base64Decoder: config.base64Decoder ?? fromBase64, + base64Encoder: config.base64Encoder ?? toBase64, + bodyLengthChecker: config.bodyLengthChecker ?? calculateBodyLength, + credentialDefaultProvider: + config.credentialDefaultProvider ?? decorateDefaultCredentialProvider(credentialDefaultProvider), + defaultUserAgentProvider: + config.defaultUserAgentProvider ?? + defaultUserAgent({ serviceId: clientSharedValues.serviceId, clientVersion: packageInfo.version }), + maxAttempts: config.maxAttempts ?? loadNodeConfig(NODE_MAX_ATTEMPT_CONFIG_OPTIONS), + region: config.region ?? loadNodeConfig(NODE_REGION_CONFIG_OPTIONS, NODE_REGION_CONFIG_FILE_OPTIONS), + requestHandler: config.requestHandler ?? new NodeHttpHandler(), + retryModeProvider: config.retryModeProvider ?? loadNodeConfig(NODE_RETRY_MODE_CONFIG_OPTIONS), + sha256: config.sha256 ?? Hash.bind(null, "sha256"), + streamCollector: config.streamCollector ?? streamCollector, + utf8Decoder: config.utf8Decoder ?? fromUtf8, + utf8Encoder: config.utf8Encoder ?? toUtf8, + }; +}; diff --git a/clients/client-memorydb/tsconfig.es.json b/clients/client-memorydb/tsconfig.es.json new file mode 100644 index 000000000000..30df5d2e6986 --- /dev/null +++ b/clients/client-memorydb/tsconfig.es.json @@ -0,0 +1,12 @@ +{ + "extends": "./tsconfig", + "compilerOptions": { + "target": "es5", + "module": "esnext", + "moduleResolution": "node", + "declaration": false, + "declarationDir": null, + "lib": ["dom", "es5", "es2015.promise", "es2015.collection", "es2015.iterable", "es2015.symbol.wellknown"], + "outDir": "dist/es" + } +} diff --git a/clients/client-memorydb/tsconfig.json b/clients/client-memorydb/tsconfig.json new file mode 100644 index 000000000000..ca2e4bfeb754 --- /dev/null +++ b/clients/client-memorydb/tsconfig.json @@ -0,0 +1,32 @@ +{ + "compilerOptions": { + "alwaysStrict": true, + "target": "ES2018", + "module": "commonjs", + "declaration": true, + "strict": true, + "sourceMap": true, + "downlevelIteration": true, + "importHelpers": true, + "noEmitHelpers": true, + "incremental": true, + "resolveJsonModule": true, + "esModuleInterop": true, + "declarationDir": "dist/types", + "outDir": "dist/cjs" + }, + "typedocOptions": { + "exclude": ["**/node_modules/**", "**/*.spec.ts", "**/protocols/*.ts", "**/e2e/*.ts", "**/endpoints.ts"], + "excludeNotExported": true, + "excludePrivate": true, + "hideGenerator": true, + "ignoreCompilerErrors": true, + "includeDeclarations": true, + "stripInternal": true, + "readme": "./README.md", + "mode": "file", + "out": "./docs", + "theme": "minimal", + "plugin": ["@aws-sdk/client-documentation-generator"] + } +} diff --git a/clients/client-route-53/models/models_0.ts b/clients/client-route-53/models/models_0.ts index 0681053dcfba..b330603e33c7 100644 --- a/clients/client-route-53/models/models_0.ts +++ b/clients/client-route-53/models/models_0.ts @@ -2112,8 +2112,8 @@ export interface HealthCheckConfig { * Host header in each of the preceding cases.

          * *

          - * If you don't specify a value for IPAddress - * :

          + * If you don't specify a value for + * IPAddress:

          *

          Route 53 sends a DNS request to the domain that you specify for FullyQualifiedDomainName at the interval that you specify for * RequestInterval. Using an IPv4 address that DNS returns, Route 53 then checks the health of the endpoint.

          * diff --git a/clients/client-route53resolver/README.md b/clients/client-route53resolver/README.md index 79cd95345ca2..4db3464a9ca9 100644 --- a/clients/client-route53resolver/README.md +++ b/clients/client-route53resolver/README.md @@ -20,7 +20,7 @@ names.

          DNS resolvers on your network can forward DNS queries to Resolver in a specified VPC. This allows your DNS resolvers -to easily resolve domain names for AWS resources such as EC2 instances or records in a Route 53 private hosted zone. +to easily resolve domain names for Amazon Web Services resources such as EC2 instances or records in a Route 53 private hosted zone. For more information, see How DNS Resolvers on Your Network Forward DNS Queries to Route 53 Resolver in the Amazon Route 53 Developer Guide.

          diff --git a/clients/client-route53resolver/Route53Resolver.ts b/clients/client-route53resolver/Route53Resolver.ts index 3739d403611f..95d86d64b962 100644 --- a/clients/client-route53resolver/Route53Resolver.ts +++ b/clients/client-route53resolver/Route53Resolver.ts @@ -311,7 +311,7 @@ import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; *

          * *

          DNS resolvers on your network can forward DNS queries to Resolver in a specified VPC. This allows your DNS resolvers - * to easily resolve domain names for AWS resources such as EC2 instances or records in a Route 53 private hosted zone. + * to easily resolve domain names for Amazon Web Services resources such as EC2 instances or records in a Route 53 private hosted zone. * For more information, see * How DNS Resolvers * on Your Network Forward DNS Queries to Route 53 Resolver in the Amazon Route 53 Developer Guide.

          @@ -624,7 +624,7 @@ export class Route53Resolver extends Route53ResolverClient { *

          To specify which VPCs you want to log queries for, you use AssociateResolverQueryLogConfig. For more information, see * AssociateResolverQueryLogConfig.

          * - *

          You can optionally use AWS Resource Access Manager (AWS RAM) to share a query logging configuration with other AWS accounts. The other accounts + *

          You can optionally use Resource Access Manager (RAM) to share a query logging configuration with other Amazon Web Services accounts. The other accounts * can then associate VPCs with the configuration. The query logs that Resolver creates for a configuration include all DNS queries that originate in all * VPCs that are associated with the configuration.

          */ @@ -832,7 +832,7 @@ export class Route53Resolver extends Route53ResolverClient { /** *

          Deletes a query logging configuration. When you delete a configuration, Resolver stops logging DNS queries for all of the Amazon VPCs that are - * associated with the configuration. This also applies if the query logging configuration is shared with other AWS accounts, and + * associated with the configuration. This also applies if the query logging configuration is shared with other Amazon Web Services accounts, and * the other accounts have associated VPCs with the shared configuration.

          * *

          Before you can delete a query logging configuration, you must first disassociate all VPCs from the configuration. See @@ -981,7 +981,7 @@ export class Route53Resolver extends Route53ResolverClient { * * *

          Before you can delete a query logging configuration, you must first disassociate all VPCs - * from the configuration. If you used AWS Resource Access Manager (AWS RAM) to share a + * from the configuration. If you used Resource Access Manager (RAM) to share a * query logging configuration with other accounts, VPCs can be disassociated from the * configuration in the following ways:

          *
            @@ -1189,9 +1189,8 @@ export class Route53Resolver extends Route53ResolverClient { } /** - *

            Returns the AWS Identity and Access Management (AWS IAM) policy for sharing the - * specified rule group. You can use the policy to share the rule group using AWS Resource - * Access Manager (AWS RAM).

            + *

            Returns the Identity and Access Management (Amazon Web Services IAM) policy for sharing the + * specified rule group. You can use the policy to share the rule group using Resource Access Manager (RAM).

            */ public getFirewallRuleGroupPolicy( args: GetFirewallRuleGroupPolicyCommandInput, @@ -1355,7 +1354,7 @@ export class Route53Resolver extends Route53ResolverClient { /** *

            Gets information about a query logging policy. A query logging policy specifies the Resolver query logging - * operations and resources that you want to allow another AWS account to be able to use.

            + * operations and resources that you want to allow another Amazon Web Services account to be able to use.

            */ public getResolverQueryLogConfigPolicy( args: GetResolverQueryLogConfigPolicyCommandInput, @@ -1731,7 +1730,7 @@ export class Route53Resolver extends Route53ResolverClient { } /** - *

            Lists the configurations for DNSSEC validation that are associated with the current AWS account.

            + *

            Lists the configurations for DNSSEC validation that are associated with the current Amazon Web Services account.

            */ public listResolverDnssecConfigs( args: ListResolverDnssecConfigsCommandInput, @@ -1795,7 +1794,7 @@ export class Route53Resolver extends Route53ResolverClient { } /** - *

            Lists all the Resolver endpoints that were created using the current AWS account.

            + *

            Lists all the Resolver endpoints that were created using the current Amazon Web Services account.

            */ public listResolverEndpoints( args: ListResolverEndpointsCommandInput, @@ -1894,7 +1893,7 @@ export class Route53Resolver extends Route53ResolverClient { } /** - *

            Lists the associations that were created between Resolver rules and VPCs using the current AWS account.

            + *

            Lists the associations that were created between Resolver rules and VPCs using the current Amazon Web Services account.

            */ public listResolverRuleAssociations( args: ListResolverRuleAssociationsCommandInput, @@ -1926,7 +1925,7 @@ export class Route53Resolver extends Route53ResolverClient { } /** - *

            Lists the Resolver rules that were created using the current AWS account.

            + *

            Lists the Resolver rules that were created using the current Amazon Web Services account.

            */ public listResolverRules( args: ListResolverRulesCommandInput, @@ -1990,9 +1989,9 @@ export class Route53Resolver extends Route53ResolverClient { } /** - *

            Attaches an AWS Identity and Access Management (AWS IAM) policy for sharing the rule - * group. You can use the policy to share the rule group using AWS Resource Access Manager - * (AWS RAM).

            + *

            Attaches an Identity and Access Management (Amazon Web Services IAM) policy for sharing the rule + * group. You can use the policy to share the rule group using Resource Access Manager + * (RAM).

            */ public putFirewallRuleGroupPolicy( args: PutFirewallRuleGroupPolicyCommandInput, @@ -2024,7 +2023,7 @@ export class Route53Resolver extends Route53ResolverClient { } /** - *

            Specifies an AWS account that you want to share a query logging configuration with, the query logging configuration that you want to share, + *

            Specifies an Amazon Web Services account that you want to share a query logging configuration with, the query logging configuration that you want to share, * and the operations that you want the account to be able to perform on the configuration.

            */ public putResolverQueryLogConfigPolicy( @@ -2057,7 +2056,7 @@ export class Route53Resolver extends Route53ResolverClient { } /** - *

            Specifies an AWS rule that you want to share with another account, the account that you want to share the rule with, + *

            Specifies an Amazon Web Services rule that you want to share with another account, the account that you want to share the rule with, * and the operations that you want the account to be able to perform on the rule.

            */ public putResolverRulePolicy( diff --git a/clients/client-route53resolver/Route53ResolverClient.ts b/clients/client-route53resolver/Route53ResolverClient.ts index 01ba00a16eeb..002103b0ca2f 100644 --- a/clients/client-route53resolver/Route53ResolverClient.ts +++ b/clients/client-route53resolver/Route53ResolverClient.ts @@ -531,7 +531,7 @@ export interface Route53ResolverClientResolvedConfig extends Route53ResolverClie *

            * *

            DNS resolvers on your network can forward DNS queries to Resolver in a specified VPC. This allows your DNS resolvers - * to easily resolve domain names for AWS resources such as EC2 instances or records in a Route 53 private hosted zone. + * to easily resolve domain names for Amazon Web Services resources such as EC2 instances or records in a Route 53 private hosted zone. * For more information, see * How DNS Resolvers * on Your Network Forward DNS Queries to Route 53 Resolver in the Amazon Route 53 Developer Guide.

            diff --git a/clients/client-route53resolver/commands/CreateResolverQueryLogConfigCommand.ts b/clients/client-route53resolver/commands/CreateResolverQueryLogConfigCommand.ts index 12bf0ce4d591..e1ea6fdd25a9 100644 --- a/clients/client-route53resolver/commands/CreateResolverQueryLogConfigCommand.ts +++ b/clients/client-route53resolver/commands/CreateResolverQueryLogConfigCommand.ts @@ -29,7 +29,7 @@ export interface CreateResolverQueryLogConfigCommandOutput *

            To specify which VPCs you want to log queries for, you use AssociateResolverQueryLogConfig. For more information, see * AssociateResolverQueryLogConfig.

            * - *

            You can optionally use AWS Resource Access Manager (AWS RAM) to share a query logging configuration with other AWS accounts. The other accounts + *

            You can optionally use Resource Access Manager (RAM) to share a query logging configuration with other Amazon Web Services accounts. The other accounts * can then associate VPCs with the configuration. The query logs that Resolver creates for a configuration include all DNS queries that originate in all * VPCs that are associated with the configuration.

            * @example diff --git a/clients/client-route53resolver/commands/DeleteResolverQueryLogConfigCommand.ts b/clients/client-route53resolver/commands/DeleteResolverQueryLogConfigCommand.ts index cdd556aaec2a..436a1aea955f 100644 --- a/clients/client-route53resolver/commands/DeleteResolverQueryLogConfigCommand.ts +++ b/clients/client-route53resolver/commands/DeleteResolverQueryLogConfigCommand.ts @@ -24,7 +24,7 @@ export interface DeleteResolverQueryLogConfigCommandOutput /** *

            Deletes a query logging configuration. When you delete a configuration, Resolver stops logging DNS queries for all of the Amazon VPCs that are - * associated with the configuration. This also applies if the query logging configuration is shared with other AWS accounts, and + * associated with the configuration. This also applies if the query logging configuration is shared with other Amazon Web Services accounts, and * the other accounts have associated VPCs with the shared configuration.

            * *

            Before you can delete a query logging configuration, you must first disassociate all VPCs from the configuration. See diff --git a/clients/client-route53resolver/commands/DisassociateResolverQueryLogConfigCommand.ts b/clients/client-route53resolver/commands/DisassociateResolverQueryLogConfigCommand.ts index 897d17d9f1f1..ed09af01a64c 100644 --- a/clients/client-route53resolver/commands/DisassociateResolverQueryLogConfigCommand.ts +++ b/clients/client-route53resolver/commands/DisassociateResolverQueryLogConfigCommand.ts @@ -30,7 +30,7 @@ export interface DisassociateResolverQueryLogConfigCommandOutput * * *

            Before you can delete a query logging configuration, you must first disassociate all VPCs - * from the configuration. If you used AWS Resource Access Manager (AWS RAM) to share a + * from the configuration. If you used Resource Access Manager (RAM) to share a * query logging configuration with other accounts, VPCs can be disassociated from the * configuration in the following ways:

            *
              diff --git a/clients/client-route53resolver/commands/GetFirewallRuleGroupPolicyCommand.ts b/clients/client-route53resolver/commands/GetFirewallRuleGroupPolicyCommand.ts index 58f63a4d5970..83c34d992ea4 100644 --- a/clients/client-route53resolver/commands/GetFirewallRuleGroupPolicyCommand.ts +++ b/clients/client-route53resolver/commands/GetFirewallRuleGroupPolicyCommand.ts @@ -21,9 +21,8 @@ export interface GetFirewallRuleGroupPolicyCommandInput extends GetFirewallRuleG export interface GetFirewallRuleGroupPolicyCommandOutput extends GetFirewallRuleGroupPolicyResponse, __MetadataBearer {} /** - *

              Returns the AWS Identity and Access Management (AWS IAM) policy for sharing the - * specified rule group. You can use the policy to share the rule group using AWS Resource - * Access Manager (AWS RAM).

              + *

              Returns the Identity and Access Management (Amazon Web Services IAM) policy for sharing the + * specified rule group. You can use the policy to share the rule group using Resource Access Manager (RAM).

              * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-route53resolver/commands/GetResolverQueryLogConfigPolicyCommand.ts b/clients/client-route53resolver/commands/GetResolverQueryLogConfigPolicyCommand.ts index a1cff7f857f3..74a87257da54 100644 --- a/clients/client-route53resolver/commands/GetResolverQueryLogConfigPolicyCommand.ts +++ b/clients/client-route53resolver/commands/GetResolverQueryLogConfigPolicyCommand.ts @@ -24,7 +24,7 @@ export interface GetResolverQueryLogConfigPolicyCommandOutput /** *

              Gets information about a query logging policy. A query logging policy specifies the Resolver query logging - * operations and resources that you want to allow another AWS account to be able to use.

              + * operations and resources that you want to allow another Amazon Web Services account to be able to use.

              * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-route53resolver/commands/ListResolverDnssecConfigsCommand.ts b/clients/client-route53resolver/commands/ListResolverDnssecConfigsCommand.ts index e150ac6fabec..bc387bcb2ff1 100644 --- a/clients/client-route53resolver/commands/ListResolverDnssecConfigsCommand.ts +++ b/clients/client-route53resolver/commands/ListResolverDnssecConfigsCommand.ts @@ -21,7 +21,7 @@ export interface ListResolverDnssecConfigsCommandInput extends ListResolverDnsse export interface ListResolverDnssecConfigsCommandOutput extends ListResolverDnssecConfigsResponse, __MetadataBearer {} /** - *

              Lists the configurations for DNSSEC validation that are associated with the current AWS account.

              + *

              Lists the configurations for DNSSEC validation that are associated with the current Amazon Web Services account.

              * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-route53resolver/commands/ListResolverEndpointsCommand.ts b/clients/client-route53resolver/commands/ListResolverEndpointsCommand.ts index bac51175bf54..998048dfb5f0 100644 --- a/clients/client-route53resolver/commands/ListResolverEndpointsCommand.ts +++ b/clients/client-route53resolver/commands/ListResolverEndpointsCommand.ts @@ -21,7 +21,7 @@ export interface ListResolverEndpointsCommandInput extends ListResolverEndpoints export interface ListResolverEndpointsCommandOutput extends ListResolverEndpointsResponse, __MetadataBearer {} /** - *

              Lists all the Resolver endpoints that were created using the current AWS account.

              + *

              Lists all the Resolver endpoints that were created using the current Amazon Web Services account.

              * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-route53resolver/commands/ListResolverRuleAssociationsCommand.ts b/clients/client-route53resolver/commands/ListResolverRuleAssociationsCommand.ts index 1582397532b5..86a956e497cc 100644 --- a/clients/client-route53resolver/commands/ListResolverRuleAssociationsCommand.ts +++ b/clients/client-route53resolver/commands/ListResolverRuleAssociationsCommand.ts @@ -23,7 +23,7 @@ export interface ListResolverRuleAssociationsCommandOutput __MetadataBearer {} /** - *

              Lists the associations that were created between Resolver rules and VPCs using the current AWS account.

              + *

              Lists the associations that were created between Resolver rules and VPCs using the current Amazon Web Services account.

              * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-route53resolver/commands/ListResolverRulesCommand.ts b/clients/client-route53resolver/commands/ListResolverRulesCommand.ts index f2a3750e43a0..db8f3cf09f6b 100644 --- a/clients/client-route53resolver/commands/ListResolverRulesCommand.ts +++ b/clients/client-route53resolver/commands/ListResolverRulesCommand.ts @@ -21,7 +21,7 @@ export interface ListResolverRulesCommandInput extends ListResolverRulesRequest export interface ListResolverRulesCommandOutput extends ListResolverRulesResponse, __MetadataBearer {} /** - *

              Lists the Resolver rules that were created using the current AWS account.

              + *

              Lists the Resolver rules that were created using the current Amazon Web Services account.

              * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-route53resolver/commands/PutFirewallRuleGroupPolicyCommand.ts b/clients/client-route53resolver/commands/PutFirewallRuleGroupPolicyCommand.ts index c93bf4e2b81a..c3dac4b20dc7 100644 --- a/clients/client-route53resolver/commands/PutFirewallRuleGroupPolicyCommand.ts +++ b/clients/client-route53resolver/commands/PutFirewallRuleGroupPolicyCommand.ts @@ -21,9 +21,9 @@ export interface PutFirewallRuleGroupPolicyCommandInput extends PutFirewallRuleG export interface PutFirewallRuleGroupPolicyCommandOutput extends PutFirewallRuleGroupPolicyResponse, __MetadataBearer {} /** - *

              Attaches an AWS Identity and Access Management (AWS IAM) policy for sharing the rule - * group. You can use the policy to share the rule group using AWS Resource Access Manager - * (AWS RAM).

              + *

              Attaches an Identity and Access Management (Amazon Web Services IAM) policy for sharing the rule + * group. You can use the policy to share the rule group using Resource Access Manager + * (RAM).

              * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-route53resolver/commands/PutResolverQueryLogConfigPolicyCommand.ts b/clients/client-route53resolver/commands/PutResolverQueryLogConfigPolicyCommand.ts index 16cb003bcaf7..7b2188303eef 100644 --- a/clients/client-route53resolver/commands/PutResolverQueryLogConfigPolicyCommand.ts +++ b/clients/client-route53resolver/commands/PutResolverQueryLogConfigPolicyCommand.ts @@ -23,7 +23,7 @@ export interface PutResolverQueryLogConfigPolicyCommandOutput __MetadataBearer {} /** - *

              Specifies an AWS account that you want to share a query logging configuration with, the query logging configuration that you want to share, + *

              Specifies an Amazon Web Services account that you want to share a query logging configuration with, the query logging configuration that you want to share, * and the operations that you want the account to be able to perform on the configuration.

              * @example * Use a bare-bones client and the command you need to make an API call. diff --git a/clients/client-route53resolver/commands/PutResolverRulePolicyCommand.ts b/clients/client-route53resolver/commands/PutResolverRulePolicyCommand.ts index 3e1706b7a2ab..4656875bb89b 100644 --- a/clients/client-route53resolver/commands/PutResolverRulePolicyCommand.ts +++ b/clients/client-route53resolver/commands/PutResolverRulePolicyCommand.ts @@ -21,7 +21,7 @@ export interface PutResolverRulePolicyCommandInput extends PutResolverRulePolicy export interface PutResolverRulePolicyCommandOutput extends PutResolverRulePolicyResponse, __MetadataBearer {} /** - *

              Specifies an AWS rule that you want to share with another account, the account that you want to share the rule with, + *

              Specifies an Amazon Web Services rule that you want to share with another account, the account that you want to share the rule with, * and the operations that you want the account to be able to perform on the rule.

              * @example * Use a bare-bones client and the command you need to make an API call. diff --git a/clients/client-route53resolver/models/models_0.ts b/clients/client-route53resolver/models/models_0.ts index 3bd63b2d65de..5b5c2a3b7e82 100644 --- a/clients/client-route53resolver/models/models_0.ts +++ b/clients/client-route53resolver/models/models_0.ts @@ -158,7 +158,7 @@ export interface FirewallRuleGroupAssociation { MutationProtection?: MutationProtectionStatus | string; /** - *

              The owner of the association, used only for associations that are not managed by you. If you use AWS Firewall Manager to + *

              The owner of the association, used only for associations that are not managed by you. If you use Firewall Manager to * manage your DNS Firewalls, then this reports Firewall Manager as the managed owner.

              */ ManagedOwnerName?: string; @@ -1313,7 +1313,7 @@ export interface FirewallRuleGroup { StatusMessage?: string; /** - *

              The AWS account ID for the account that created the rule group. When a rule group is shared with your account, + *

              The Amazon Web Services account ID for the account that created the rule group. When a rule group is shared with your account, * this is the account that has shared the rule group with you.

              */ OwnerId?: string; @@ -1326,8 +1326,8 @@ export interface FirewallRuleGroup { CreatorRequestId?: string; /** - *

              Whether the rule group is shared with other AWS accounts, or was shared with the current account by another - * AWS account. Sharing is configured through AWS Resource Access Manager (AWS RAM).

              + *

              Whether the rule group is shared with other Amazon Web Services accounts, or was shared with the current account by another + * Amazon Web Services account. Sharing is configured through Resource Access Manager (RAM).

              */ ShareStatus?: ShareStatus | string; @@ -1552,7 +1552,7 @@ export interface ResolverQueryLogConfig { Id?: string; /** - *

              The AWS account ID for the account that created the query logging configuration.

              + *

              The Amazon Web Services account ID for the account that created the query logging configuration.

              */ OwnerId?: string; @@ -1590,8 +1590,8 @@ export interface ResolverQueryLogConfig { Status?: ResolverQueryLogConfigStatus | string; /** - *

              An indication of whether the query logging configuration is shared with other AWS accounts, or was shared with the current account by another - * AWS account. Sharing is configured through AWS Resource Access Manager (AWS RAM).

              + *

              An indication of whether the query logging configuration is shared with other Amazon Web Services accounts, or was shared with the current account by another + * Amazon Web Services account. Sharing is configured through Resource Access Manager (RAM).

              */ ShareStatus?: ShareStatus | string; @@ -1825,7 +1825,7 @@ export interface ResolverRule { ResolverEndpointId?: string; /** - *

              When a rule is shared with another AWS account, the account ID of the account that the rule is shared with.

              + *

              When a rule is shared with another Amazon Web Services account, the account ID of the account that the rule is shared with.

              */ OwnerId?: string; @@ -2278,7 +2278,7 @@ export interface Filter { * *
            • *

              - * HostVpcId: The ID of the VPC that inbound DNS queries pass through on the way from your network to your VPCs in a region, or + * HostVPCId: The ID of the VPC that inbound DNS queries pass through on the way from your network to your VPCs in a region, or * the VPC that outbound queries pass through on the way from your VPCs to your network. In a * CreateResolverEndpoint * request, SubnetId indirectly identifies the VPC. In a @@ -2400,7 +2400,7 @@ export interface Filter { *

            • *
            • *

              - * Destination: The AWS service that you want to forward query logs to. Valid values include the following:

              + * Destination: The Amazon Web Services service that you want to forward query logs to. Valid values include the following:

              *
                *
              • *

                @@ -2434,12 +2434,12 @@ export interface Filter { *

              • *
              • *

                - * OwnerId: The AWS account ID for the account that created the query logging configuration.

                + * OwnerId: The Amazon Web Services account ID for the account that created the query logging configuration.

                *
              • *
              • *

                - * ShareStatus: An indication of whether the query logging configuration is shared with other AWS accounts, - * or was shared with the current account by another AWS account. Valid values include: NOT_SHARED, SHARED_WITH_ME, + * ShareStatus: An indication of whether the query logging configuration is shared with other Amazon Web Services accounts, + * or was shared with the current account by another Amazon Web Services account. Valid values include: NOT_SHARED, SHARED_WITH_ME, * or SHARED_BY_ME.

                *
              • *
              • @@ -2529,7 +2529,7 @@ export interface FirewallConfig { ResourceId?: string; /** - *

                The AWS account ID of the owner of the VPC that this firewall configuration applies to.

                + *

                The Amazon Web Services account ID of the owner of the VPC that this firewall configuration applies to.

                */ OwnerId?: string; @@ -2632,7 +2632,7 @@ export interface FirewallRuleGroupMetadata { Name?: string; /** - *

                The AWS account ID for the account that created the rule group. When a rule group is shared with your account, + *

                The Amazon Web Services account ID for the account that created the rule group. When a rule group is shared with your account, * this is the account that has shared the rule group with you.

                */ OwnerId?: string; @@ -2645,8 +2645,8 @@ export interface FirewallRuleGroupMetadata { CreatorRequestId?: string; /** - *

                Whether the rule group is shared with other AWS accounts, or was shared with the current account by another - * AWS account. Sharing is configured through AWS Resource Access Manager (AWS RAM).

                + *

                Whether the rule group is shared with other Amazon Web Services accounts, or was shared with the current account by another + * Amazon Web Services account. Sharing is configured through Resource Access Manager (RAM).

                */ ShareStatus?: ShareStatus | string; } @@ -2807,9 +2807,9 @@ export namespace GetFirewallRuleGroupPolicyRequest { export interface GetFirewallRuleGroupPolicyResponse { /** - *

                The AWS Identity and Access Management (AWS IAM) policy for sharing the specified rule - * group. You can use the policy to share the rule group using AWS Resource Access Manager - * (AWS RAM).

                + *

                The Identity and Access Management (Amazon Web Services IAM) policy for sharing the specified rule + * group. You can use the policy to share the rule group using Resource Access Manager + * (RAM).

                */ FirewallRuleGroupPolicy?: string; } @@ -3714,7 +3714,7 @@ export interface ListResolverDnssecConfigsRequest { MaxResults?: number; /** - *

                (Optional) If the current AWS account has more than MaxResults DNSSEC configurations, use NextToken + *

                (Optional) If the current Amazon Web Services account has more than MaxResults DNSSEC configurations, use NextToken * to get the second and subsequent pages of results.

                *

                For the first ListResolverDnssecConfigs request, omit this value.

                *

                For the second and subsequent requests, get the value of NextToken from the previous response and specify that value @@ -3739,7 +3739,7 @@ export namespace ListResolverDnssecConfigsRequest { export interface ListResolverDnssecConfigsResponse { /** - *

                If a response includes the last of the DNSSEC configurations that are associated with the current AWS account, + *

                If a response includes the last of the DNSSEC configurations that are associated with the current Amazon Web Services account, * NextToken doesn't appear in the response.

                *

                If a response doesn't include the last of the configurations, you can get more configurations by submitting another * ListResolverDnssecConfigs @@ -3751,7 +3751,7 @@ export interface ListResolverDnssecConfigsResponse { /** *

                An array that contains one * ResolverDnssecConfig element - * for each configuration for DNSSEC validation that is associated with the current AWS account.

                + * for each configuration for DNSSEC validation that is associated with the current Amazon Web Services account.

                */ ResolverDnssecConfigs?: ResolverDnssecConfig[]; } @@ -3870,7 +3870,7 @@ export interface ListResolverEndpointsResponse { MaxResults?: number; /** - *

                The Resolver endpoints that were created by using the current AWS account, and that match the specified filters, if any.

                + *

                The Resolver endpoints that were created by using the current Amazon Web Services account, and that match the specified filters, if any.

                */ ResolverEndpoints?: ResolverEndpoint[]; } @@ -4111,12 +4111,12 @@ export interface ListResolverQueryLogConfigsRequest { *
              • *
              • *

                - * OwnerId: The AWS account number of the account that created the configuration

                + * OwnerId: The Amazon Web Services account number of the account that created the configuration

                *
              • *
              • *

                - * ShareStatus: Whether the configuration is shared with other AWS accounts or shared with the current account by - * another AWS account. Sharing is configured through AWS Resource Access Manager (AWS RAM).

                + * ShareStatus: Whether the configuration is shared with other Amazon Web Services accounts or shared with the current account by + * another Amazon Web Services account. Sharing is configured through Resource Access Manager (RAM).

                *
              • *
              • *

                @@ -4259,7 +4259,7 @@ export interface ListResolverRuleAssociationsResponse { MaxResults?: number; /** - *

                The associations that were created between Resolver rules and VPCs using the current AWS account, and that match the + *

                The associations that were created between Resolver rules and VPCs using the current Amazon Web Services account, and that match the * specified filters, if any.

                */ ResolverRuleAssociations?: ResolverRuleAssociation[]; @@ -4321,7 +4321,7 @@ export interface ListResolverRulesResponse { MaxResults?: number; /** - *

                The Resolver rules that were created using the current AWS account and that match the specified filters, if any.

                + *

                The Resolver rules that were created using the current Amazon Web Services account and that match the specified filters, if any.

                */ ResolverRules?: ResolverRule[]; } @@ -4394,7 +4394,7 @@ export interface PutFirewallRuleGroupPolicyRequest { Arn: string | undefined; /** - *

                The AWS Identity and Access Management (AWS IAM) policy to attach to the rule group.

                + *

                The Identity and Access Management (Amazon Web Services IAM) policy to attach to the rule group.

                */ FirewallRuleGroupPolicy: string | undefined; } @@ -4431,7 +4431,7 @@ export interface PutResolverQueryLogConfigPolicyRequest { Arn: string | undefined; /** - *

                An AWS Identity and Access Management policy statement that lists the query logging configurations that you want to share with another AWS account + *

                An Identity and Access Management policy statement that lists the query logging configurations that you want to share with another Amazon Web Services account * and the operations that you want the account to be able to perform. You can specify the following operations in the Actions section * of the statement:

                *
                  @@ -4498,7 +4498,7 @@ export interface PutResolverRulePolicyRequest { Arn: string | undefined; /** - *

                  An AWS Identity and Access Management policy statement that lists the rules that you want to share with another AWS account and the operations that you want the account + *

                  An Identity and Access Management policy statement that lists the rules that you want to share with another Amazon Web Services account and the operations that you want the account * to be able to perform. You can specify the following operations in the Action section of the statement:

                  *
                    *
                  • diff --git a/clients/client-s3/S3.ts b/clients/client-s3/S3.ts index 26247c2eeaa8..c4fd3d651f55 100644 --- a/clients/client-s3/S3.ts +++ b/clients/client-s3/S3.ts @@ -756,7 +756,7 @@ export class S3 extends S3Client { * Server-side encryption *

                    *

                    When you perform a CopyObject operation, you can optionally use the appropriate encryption-related - * headers to encrypt the object using server-side encryption with AWS managed encryption keys + * headers to encrypt the object using server-side encryption with Amazon Web Services managed encryption keys * (SSE-S3 or SSE-KMS) or a customer-provided encryption key. With server-side encryption, Amazon S3 * encrypts your data as it writes it to disks in its data centers and decrypts the data when * you access it. For more information about server-side encryption, see Using @@ -769,7 +769,7 @@ export class S3 extends S3Client { *

                    *

                    When copying an object, you can optionally use headers to grant ACL-based permissions. * By default, all objects are private. Only the owner has full access control. When adding a - * new object, you can grant permissions to individual AWS accounts or to predefined groups + * new object, you can grant permissions to individual Amazon Web Services accounts or to predefined groups * defined by Amazon S3. These permissions are then added to the ACL on the object. For more * information, see Access Control List (ACL) Overview and Managing ACLs Using the REST * API.

                    @@ -837,7 +837,7 @@ export class S3 extends S3Client { /** *

                    Creates a new S3 bucket. To create a bucket, you must register with Amazon S3 and have a - * valid AWS Access Key ID to authenticate requests. Anonymous requests are never allowed to + * valid Amazon Web Services Access Key ID to authenticate requests. Anonymous requests are never allowed to * create buckets. By creating the bucket, you become the bucket owner.

                    *

                    Not every string is an acceptable bucket name. For information about bucket naming * restrictions, see Bucket naming rules.

                    @@ -878,8 +878,7 @@ export class S3 extends S3Client { *
                      *
                    • *

                      - * id – if the value specified is the canonical user ID of an AWS - * account

                      + * id – if the value specified is the canonical user ID of an Amazon Web Services account

                      *
                    • *
                    • *

                      @@ -889,9 +888,9 @@ export class S3 extends S3Client { *

                    • *

                      * emailAddress – if the value specified is the email address of - * an AWS account

                      + * an Amazon Web Services account

                      * - *

                      Using email addresses to specify a grantee is only supported in the following AWS Regions:

                      + *

                      Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions:

                      *
                        *
                      • *

                        US East (N. Virginia)

                        @@ -918,11 +917,11 @@ export class S3 extends S3Client { *

                        South America (São Paulo)

                        *
                      • *
                      - *

                      For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the AWS General Reference.

                      + *

                      For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the Amazon Web Services General Reference.

                      *
                      *
                    • *
                    - *

                    For example, the following x-amz-grant-read header grants the AWS accounts identified by account IDs permissions to read object data and its metadata:

                    + *

                    For example, the following x-amz-grant-read header grants the Amazon Web Services accounts identified by account IDs permissions to read object data and its metadata:

                    *

                    * x-amz-grant-read: id="11112222333", id="444455556666" *

                    @@ -933,6 +932,15 @@ export class S3 extends S3Client { * do both.

                    * * + *

                    + * Permissions + *

                    + *

                    If your CreateBucket request specifies ACL permissions and the ACL is public-read, public-read-write, + * authenticated-read, or if you specify access permissions explicitly through any other ACL, both + * s3:CreateBucket and s3:PutBucketAcl permissions are needed. If the ACL the + * CreateBucket request is private, only s3:CreateBucket permission is needed.

                    + *

                    If ObjectLockEnabledForBucket is set to true in your CreateBucket request, + * s3:PutBucketObjectLockConfiguration and s3:PutBucketVersioning permissions are required.

                    * *

                    The following operations are related to CreateBucket:

                    *
                      @@ -997,7 +1005,7 @@ export class S3 extends S3Client { * a multipart upload, send one or more requests to upload parts, and then complete the * multipart upload process. You sign each request individually. There is nothing special * about signing multipart upload requests. For more information about signing, see Authenticating - * Requests (AWS Signature Version 4).

                      + * Requests (Amazon Web Services Signature Version 4).

                      * * *

                      After you initiate a multipart upload and upload one or more parts, to stop being @@ -1008,19 +1016,19 @@ export class S3 extends S3Client { * *

                      You can optionally request server-side encryption. For server-side encryption, Amazon S3 * encrypts your data as it writes it to disks in its data centers and decrypts it when you - * access it. You can provide your own encryption key, or use AWS Key Management Service (AWS + * access it. You can provide your own encryption key, or use Amazon Web Services Key Management Service (Amazon Web Services * KMS) customer master keys (CMKs) or Amazon S3-managed encryption keys. If you choose to provide * your own encryption key, the request headers you provide in UploadPart and UploadPartCopy requests must match the headers you used in the request to * initiate the upload by using CreateMultipartUpload.

                      - *

                      To perform a multipart upload with encryption using an AWS KMS CMK, the requester must + *

                      To perform a multipart upload with encryption using an Amazon Web Services KMS CMK, the requester must * have permission to the kms:Decrypt and kms:GenerateDataKey* * actions on the key. These permissions are required because Amazon S3 must decrypt and read data * from the encrypted file parts before it completes the multipart upload. For more * information, see Multipart upload API * and permissions in the Amazon S3 User Guide.

                      * - *

                      If your AWS Identity and Access Management (IAM) user or role is in the same AWS account - * as the AWS KMS CMK, then you must have these permissions on the key policy. If your IAM + *

                      If your Identity and Access Management (IAM) user or role is in the same Amazon Web Services account + * as the Amazon Web Services KMS CMK, then you must have these permissions on the key policy. If your IAM * user or role belongs to a different account than the key, then you must have the * permissions on both the key policy and your IAM user or role.

                      * @@ -1057,12 +1065,12 @@ export class S3 extends S3Client { *

                      You can optionally tell Amazon S3 to encrypt data at rest using server-side * encryption. Server-side encryption is for data encryption at rest. Amazon S3 encrypts * your data as it writes it to disks in its data centers and decrypts it when you - * access it. The option you use depends on whether you want to use AWS managed + * access it. The option you use depends on whether you want to use Amazon Web Services managed * encryption keys or provide your own encryption key.

                      * @@ -1112,8 +1120,7 @@ export class S3 extends S3Client { *
                      *

                      You also can use the following access control–related headers with this * operation. By default, all objects are private. Only the owner has full access - * control. When adding a new object, you can grant permissions to individual AWS - * accounts or to predefined groups defined by Amazon S3. These permissions are then added + * control. When adding a new object, you can grant permissions to individual Amazon Web Services accounts or to predefined groups defined by Amazon S3. These permissions are then added * to the access control list (ACL) on the object. For more information, see Using ACLs. With this * operation, you can grant access permissions using one of the following two * methods:

                      @@ -1127,7 +1134,7 @@ export class S3 extends S3Client { * *
                    • *

                      Specify access permissions explicitly — To explicitly grant access - * permissions to specific AWS accounts or groups, use the following headers. + * permissions to specific Amazon Web Services accounts or groups, use the following headers. * Each header maps to specific permissions that Amazon S3 supports in an ACL. For * more information, see Access * Control List (ACL) Overview. In the header, you specify a list of @@ -1156,7 +1163,7 @@ export class S3 extends S3Client { *

                    • *

                      * id – if the value specified is the canonical user ID - * of an AWS account

                      + * of an Amazon Web Services account

                      *
                    • *
                    • *

                      @@ -1166,9 +1173,9 @@ export class S3 extends S3Client { *

                    • *

                      * emailAddress – if the value specified is the email - * address of an AWS account

                      + * address of an Amazon Web Services account

                      * - *

                      Using email addresses to specify a grantee is only supported in the following AWS Regions:

                      + *

                      Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions:

                      *
                        *
                      • *

                        US East (N. Virginia)

                        @@ -1195,11 +1202,11 @@ export class S3 extends S3Client { *

                        South America (São Paulo)

                        *
                      • *
                      - *

                      For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the AWS General Reference.

                      + *

                      For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the Amazon Web Services General Reference.

                      *
                      *
                    • *
                    - *

                    For example, the following x-amz-grant-read header grants the AWS accounts identified by account IDs permissions to read object data and its metadata:

                    + *

                    For example, the following x-amz-grant-read header grants the Amazon Web Services accounts identified by account IDs permissions to read object data and its metadata:

                    *

                    * x-amz-grant-read: id="11112222333", id="444455556666" *

                    @@ -1772,7 +1779,7 @@ export class S3 extends S3Client { /** *

                    This implementation of the DELETE action uses the policy subresource to delete the * policy of a specified bucket. If you are using an identity other than the root user of the - * AWS account that owns the bucket, the calling identity must have the + * Amazon Web Services account that owns the bucket, the calling identity must have the * DeleteBucketPolicy permissions on the specified bucket and belong to the * bucket owner's account to use this operation.

                    * @@ -1782,7 +1789,7 @@ export class S3 extends S3Client { * Allowed error.

                    * * - *

                    As a security precaution, the root user of the AWS account that owns a bucket can + *

                    As a security precaution, the root user of the Amazon Web Services account that owns a bucket can * always use this operation, even if the policy explicitly denies the root user the * ability to perform this action.

                    *
                    @@ -2737,7 +2744,9 @@ export class S3 extends S3Client { * LocationConstraint request parameter in a CreateBucket * request. For more information, see CreateBucket.

                    * - *

                    To use this implementation of the operation, you must be the bucket owner.

                    + *

                    To use this implementation of the operation, you must be the bucket owner.

                    + * + *

                    To use this API against an access point, provide the alias of the access point in place of the bucket name.

                    * *

                    The following operations are related to GetBucketLocation:

                    * @@ -5293,13 +5312,13 @@ export class S3 extends S3Client { *

                    This action uses the encryption subresource to configure default * encryption and Amazon S3 Bucket Key for an existing bucket.

                    *

                    Default encryption for a bucket can use server-side encryption with Amazon S3-managed keys - * (SSE-S3) or AWS KMS customer master keys (SSE-KMS). If you specify default encryption + * (SSE-S3) or Amazon Web Services KMS customer master keys (SSE-KMS). If you specify default encryption * using SSE-KMS, you can also configure Amazon S3 Bucket Key. For information about default * encryption, see Amazon S3 default bucket encryption * in the Amazon S3 User Guide. For more information about S3 Bucket Keys, * see Amazon S3 Bucket Keys in the Amazon S3 User Guide.

                    * - *

                    This action requires AWS Signature Version 4. For more information, see Authenticating Requests (AWS Signature + *

                    This action requires Amazon Web Services Signature Version 4. For more information, see Authenticating Requests (Amazon Web Services Signature * Version 4).

                    *
                    *

                    To use this operation, you must have permissions to perform the @@ -5477,7 +5496,7 @@ export class S3 extends S3Client { * basis, and the results are published to a flat file. The bucket that is inventoried is * called the source bucket, and the bucket where the inventory flat file * is stored is called the destination bucket. The - * destination bucket must be in the same AWS Region as the + * destination bucket must be in the same Amazon Web Services Region as the * source bucket.

                    *

                    When you configure an inventory for a source bucket, you specify * the destination bucket where you want the inventory to be stored, and @@ -5652,7 +5671,7 @@ export class S3 extends S3Client { * *

                    By default, all Amazon S3 resources are private, including buckets, objects, and related * subresources (for example, lifecycle configuration and website configuration). Only the - * resource owner (that is, the AWS account that created it) can access the resource. The + * resource owner (that is, the Amazon Web Services account that created it) can access the resource. The * resource owner can optionally grant access permissions to others by writing an access * policy. For this operation, a user must get the s3:PutLifecycleConfiguration * permission.

                    @@ -5728,7 +5747,7 @@ export class S3 extends S3Client { /** *

                    Set the logging parameters for a bucket and to specify permissions for who can view and - * modify the logging parameters. All logs are saved to buckets in the same AWS Region as the + * modify the logging parameters. All logs are saved to buckets in the same Amazon Web Services Region as the * source bucket. To set the logging status of a bucket, you must be the bucket owner.

                    * *

                    The bucket owner is automatically granted FULL_CONTROL to all logs. You use the @@ -5944,7 +5963,7 @@ export class S3 extends S3Client { *

                    After Amazon S3 receives this request, it first verifies that any Amazon Simple Notification * Service (Amazon SNS) or Amazon Simple Queue Service (Amazon SQS) destination exists, and * that the bucket owner has permission to publish to it by sending a test notification. In - * the case of AWS Lambda destinations, Amazon S3 verifies that the Lambda function permissions + * the case of Lambda destinations, Amazon S3 verifies that the Lambda function permissions * grant Amazon S3 permission to invoke the function from the Amazon S3 bucket. For more information, * see Configuring Notifications for Amazon S3 * Events.

                    @@ -6062,7 +6081,7 @@ export class S3 extends S3Client { /** *

                    Applies an Amazon S3 bucket policy to an Amazon S3 bucket. If you are using an identity other than - * the root user of the AWS account that owns the bucket, the calling identity must have the + * the root user of the Amazon Web Services account that owns the bucket, the calling identity must have the * PutBucketPolicy permissions on the specified bucket and belong to the * bucket owner's account in order to use this operation.

                    * @@ -6072,14 +6091,11 @@ export class S3 extends S3Client { * Allowed error.

                    * * - *

                    As a security precaution, the root user of the AWS account that owns a bucket can + *

                    As a security precaution, the root user of the Amazon Web Services account that owns a bucket can * always use this operation, even if the policy explicitly denies the root user the * ability to perform this action.

                    *
                    - * - * - *

                    For more information about bucket policies, see Using Bucket Policies and User - * Policies.

                    + *

                    For more information, see Bucket policy examples.

                    * *

                    The following operations are related to PutBucketPolicy:

                    *
                      @@ -6127,10 +6143,7 @@ export class S3 extends S3Client { /** *

                      Creates a replication configuration or replaces an existing one. For more information, * see Replication in the Amazon S3 User Guide.

                      - * - *

                      To perform this operation, the user or role performing the action must have the - * iam:PassRole permission.

                      - *
                      + * *

                      Specify the replication configuration in the request body. In the replication * configuration, you provide the name of the destination bucket or buckets where you want * Amazon S3 to replicate objects, the IAM role that Amazon S3 can assume to replicate objects on your @@ -6154,27 +6167,36 @@ export class S3 extends S3Client { * *

                      For information about enabling versioning on a bucket, see Using Versioning.

                      * - *

                      By default, a resource owner, in this case the AWS account that created the bucket, can - * perform this operation. The resource owner can also grant others permissions to perform the - * operation. For more information about permissions, see Specifying Permissions in a Policy - * and Managing Access Permissions to Your - * Amazon S3 Resources.

                      - * *

                      * Handling Replication of Encrypted Objects *

                      *

                      By default, Amazon S3 doesn't replicate objects that are stored at rest using server-side - * encryption with CMKs stored in AWS KMS. To replicate AWS KMS-encrypted objects, add the + * encryption with CMKs stored in Amazon Web Services KMS. To replicate Amazon Web Services KMS-encrypted objects, add the * following: SourceSelectionCriteria, SseKmsEncryptedObjects, * Status, EncryptionConfiguration, and * ReplicaKmsKeyID. For information about replication configuration, see * Replicating Objects - * Created with SSE Using CMKs stored in AWS KMS.

                      + * Created with SSE Using CMKs stored in Amazon Web Services KMS.

                      * *

                      For information on PutBucketReplication errors, see List of * replication-related error codes *

                      * + *

                      + * Permissions + *

                      + *

                      To create a PutBucketReplication request, you must have s3:PutReplicationConfiguration + * permissions for the bucket. + *

                      + *

                      By default, a resource owner, in this case the Amazon Web Services account that created the bucket, can + * perform this operation. The resource owner can also grant others permissions to perform the + * operation. For more information about permissions, see Specifying Permissions in a Policy + * and Managing Access Permissions to Your + * Amazon S3 Resources.

                      + * + *

                      To perform this operation, the user or role performing the action must have the + * iam:PassRole permission.

                      + *
                      * *

                      The following operations are related to PutBucketReplication:

                      *
                        @@ -6271,8 +6293,8 @@ export class S3 extends S3Client { /** *

                        Sets the tags for a bucket.

                        - *

                        Use tags to organize your AWS bill to reflect your own cost structure. To do this, sign - * up to get your AWS account bill with tag key values included. Then, to see the cost of + *

                        Use tags to organize your Amazon Web Services bill to reflect your own cost structure. To do this, sign + * up to get your Amazon Web Services account bill with tag key values included. Then, to see the cost of * combined resources, organize your billing information according to resources with the same * tag key values. For example, you can tag several resources with a specific application * name, and then organize your billing information to see the total cost of that application @@ -6300,7 +6322,7 @@ export class S3 extends S3Client { *

                      • *

                        Description: The tag provided was not a valid tag. This error can occur if * the tag did not pass input validation. For information about tag restrictions, - * see User-Defined Tag Restrictions and AWS-Generated Cost Allocation Tag Restrictions.

                        + * see User-Defined Tag Restrictions and Amazon Web Services-Generated Cost Allocation Tag Restrictions.

                        *
                      • *
                      * @@ -6635,22 +6657,33 @@ export class S3 extends S3Client { * you can calculate the MD5 while putting an object to Amazon S3 and compare the returned ETag to * the calculated MD5 value.

                      * - *

                      The Content-MD5 header is required for any request to upload an object - * with a retention period configured using Amazon S3 Object Lock. For more information about - * Amazon S3 Object Lock, see Amazon S3 Object Lock Overview - * in the Amazon S3 User Guide.

                      + *
                        + *
                      • + *

                        To successfully complete the PutObject request, you must have the + * s3:PutObject in your IAM permissions.

                        + *
                      • + *
                      • + *

                        To successfully change the objects acl of your PutObject request, + * you must have the s3:PutObjectAcl in your IAM permissions.

                        + *
                      • + *
                      • + *

                        The Content-MD5 header is required for any request to upload an object + * with a retention period configured using Amazon S3 Object Lock. For more information about + * Amazon S3 Object Lock, see Amazon S3 Object Lock Overview + * in the Amazon S3 User Guide.

                        + *
                      • + *
                      *
                      * - * *

                      * Server-side Encryption *

                      *

                      You can optionally request server-side encryption. With server-side encryption, Amazon S3 encrypts * your data as it writes it to disks in its data centers and decrypts the data - * when you access it. You have the option to provide your own encryption key or use AWS + * when you access it. You have the option to provide your own encryption key or use Amazon Web Services * managed encryption keys (SSE-S3 or SSE-KMS). For more information, see Using Server-Side * Encryption.

                      - *

                      If you request server-side encryption using AWS Key Management Service (SSE-KMS), you can enable + *

                      If you request server-side encryption using Amazon Web Services Key Management Service (SSE-KMS), you can enable * an S3 Bucket Key at the object-level. For more information, see Amazon S3 Bucket Keys in the * Amazon S3 User Guide.

                      *

                      @@ -6659,7 +6692,7 @@ export class S3 extends S3Client { *

                      *

                      You can use headers to grant ACL- based permissions. By default, all objects are * private. Only the owner has full access control. When adding a new object, you can grant - * permissions to individual AWS accounts or to predefined groups defined by Amazon S3. These + * permissions to individual Amazon Web Services accounts or to predefined groups defined by Amazon S3. These * permissions are then added to the ACL on the object. For more information, see Access Control List * (ACL) Overview and Managing ACLs Using the REST * API.

                      @@ -6754,7 +6787,7 @@ export class S3 extends S3Client { *

                      Specify access permissions explicitly with the x-amz-grant-read, * x-amz-grant-read-acp, x-amz-grant-write-acp, and * x-amz-grant-full-control headers. When using these headers, you - * specify explicit access permissions and grantees (AWS accounts or Amazon S3 groups) who + * specify explicit access permissions and grantees (Amazon Web Services accounts or Amazon S3 groups) who * will receive the permission. If you use these ACL-specific headers, you cannot use * x-amz-acl header to set a canned ACL. These parameters map to the set * of permissions that Amazon S3 supports in an ACL. For more information, see Access Control List (ACL) @@ -6765,8 +6798,7 @@ export class S3 extends S3Client { *

                      *

                      For example, the following x-amz-grant-read header grants list - * objects permission to the two AWS accounts identified by their email + * objects permission to the two Amazon Web Services accounts identified by their email * addresses.

                      *

                      * x-amz-grant-read: emailAddress="xyz@amazon.com", @@ -6852,7 +6884,7 @@ export class S3 extends S3Client { *

                      The grantee is resolved to the CanonicalUser and, in a response to a GET Object * acl request, appears as the CanonicalUser.

                      * - *

                      Using email addresses to specify a grantee is only supported in the following AWS Regions:

                      + *

                      Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions:

                      *
                        *
                      • *

                        US East (N. Virginia)

                        @@ -6879,7 +6911,7 @@ export class S3 extends S3Client { *

                        South America (São Paulo)

                        *
                      • *
                      - *

                      For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the AWS General Reference.

                      + *

                      For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the Amazon Web Services General Reference.

                      *
                      * *
                    @@ -6984,7 +7016,7 @@ export class S3 extends S3Client { *
                  • *
                  • *

                    You can only enable Object Lock for new buckets. If you want to turn on - * Object Lock for an existing bucket, contact AWS Support.

                    + * Object Lock for an existing bucket, contact Amazon Web Services Support.

                    *
                  • *
                  * @@ -7020,8 +7052,18 @@ export class S3 extends S3Client { /** *

                  Places an Object Retention configuration on an object. For more information, see Locking Objects. + * Users or accounts require the s3:PutObjectRetention permission in order to place + * an Object Retention configuration on objects. Bypassing a Governance Retention configuration + * requires the s3:BypassGovernanceRetention permission. *

                  *

                  This action is not supported by Amazon S3 on Outposts.

                  + * + *

                  + * Permissions + *

                  + *

                  When the Object Lock retention mode is set to compliance, you need s3:PutObjectRetention and + * s3:BypassGovernanceRetention permissions. For other requests to PutObjectRetention, + * only s3:PutObjectRetention permissions are required.

                  */ public putObjectRetention( args: PutObjectRetentionCommandInput, @@ -7293,8 +7335,8 @@ export class S3 extends S3Client { *
                    *
                  • *

                    Define an output location for the select query's output. This must be an Amazon S3 - * bucket in the same AWS Region as the bucket that contains the archive object that is - * being queried. The AWS account that initiates the job must have permissions to write + * bucket in the same Amazon Web Services Region as the bucket that contains the archive object that is + * being queried. The Amazon Web Services account that initiates the job must have permissions to write * to the S3 bucket. You can specify the storage class and encryption for the output * objects stored in the bucket. For more information about output, see Querying Archived Objects * in the Amazon S3 User Guide.

                    @@ -7640,7 +7682,7 @@ export class S3 extends S3Client { * (Using Customer-Provided Encryption Keys) in the * Amazon S3 User Guide.

                    *

                    For objects that are encrypted with Amazon S3 managed encryption keys (SSE-S3) and - * customer master keys (CMKs) stored in AWS Key Management Service (SSE-KMS), + * customer master keys (CMKs) stored in Amazon Web Services Key Management Service (SSE-KMS), * server-side encryption is handled transparently, so you don't need to specify * anything. For more information about server-side encryption, including SSE-S3 and * SSE-KMS, see Protecting Data Using @@ -7654,8 +7696,7 @@ export class S3 extends S3Client { *

                    Given the response size is unknown, Amazon S3 Select streams the response as a series of * messages and includes a Transfer-Encoding header with chunked as * its value in the response. For more information, see Appendix: SelectObjectContent - * Response - * .

                    + * Response.

                    * *

                    *

                    @@ -7756,9 +7797,9 @@ export class S3 extends S3Client { * Content-MD5 header in the upload part request. Amazon S3 checks the part data * against the provided MD5 value. If they do not match, Amazon S3 returns an error.

                    * - *

                    If the upload request is signed with Signature Version 4, then AWS S3 uses the + *

                    If the upload request is signed with Signature Version 4, then Amazon Web Services S3 uses the * x-amz-content-sha256 header as a checksum instead of - * Content-MD5. For more information see Authenticating Requests: Using the Authorization Header (AWS Signature Version + * Content-MD5. For more information see Authenticating Requests: Using the Authorization Header (Amazon Web Services Signature Version * 4).

                    * * @@ -7778,7 +7819,7 @@ export class S3 extends S3Client { * *

                    You can optionally request server-side encryption where Amazon S3 encrypts your data as it * writes it to disks in its data centers and decrypts it for you when you access it. You have - * the option of providing your own encryption key, or you can use the AWS managed encryption + * the option of providing your own encryption key, or you can use the Amazon Web Services managed encryption * keys. If you choose to provide your own encryption key, the request headers you provide in * the request must match the headers you used in the request to initiate the upload by using * CreateMultipartUpload. For more information, go to Using Server-Side Encryption in @@ -8114,21 +8155,24 @@ export class S3 extends S3Client { * Object Lambda Access Points, see Transforming objects with * Object Lambda Access Points in the Amazon S3 User Guide.

                    *

                    This operation supports metadata that can be returned by GetObject, in addition to - * RequestRoute, RequestToken, StatusCode, - * ErrorCode, and ErrorMessage. The GetObject - * response metadata is supported so that the WriteGetObjectResponse caller, - * typically an AWS Lambda function, can provide the same metadata when it internally invokes - * GetObject. When WriteGetObjectResponse is called by a - * customer-owned Lambda function, the metadata returned to the end user - * GetObject call might differ from what Amazon S3 would normally return.

                    - *

                    AWS provides some prebuilt Lambda functions that you can use with S3 Object Lambda to detect and redact - * personally identifiable information (PII) and decompress S3 objects. These Lambda functions - * are available in the AWS Serverless Application Repository, and can be selected through the AWS Management Console when you create your - * Object Lambda Access Point.

                    + * RequestRoute, RequestToken, StatusCode, + * ErrorCode, and ErrorMessage. The GetObject + * response metadata is supported so that the WriteGetObjectResponse caller, + * typically an Lambda function, can provide the same metadata when it internally invokes + * GetObject. When WriteGetObjectResponse is called by a + * customer-owned Lambda function, the metadata returned to the end user + * GetObject call might differ from what Amazon S3 would normally return.

                    + *

                    You can include any number of metadata headers. When including a metadata header, it should be + * prefaced with x-amz-meta. For example, x-amz-meta-my-custom-header: MyCustomValue. + * The primary use case for this is to forward GetObject metadata.

                    + *

                    Amazon Web Services provides some prebuilt Lambda functions that you can use with S3 Object Lambda to detect and redact + * personally identifiable information (PII) and decompress S3 objects. These Lambda functions + * are available in the Amazon Web Services Serverless Application Repository, and can be selected through the Amazon Web Services Management Console when you create your + * Object Lambda Access Point.

                    *

                    Example 1: PII Access Control - This Lambda function uses Amazon Comprehend, a natural language processing (NLP) service using machine learning to find insights and relationships in text. It automatically detects personally identifiable information (PII) such as names, addresses, dates, credit card numbers, and social security numbers from documents in your Amazon S3 bucket.

                    *

                    Example 2: PII Redaction - This Lambda function uses Amazon Comprehend, a natural language processing (NLP) service using machine learning to find insights and relationships in text. It automatically redacts personally identifiable information (PII) such as names, addresses, dates, credit card numbers, and social security numbers from documents in your Amazon S3 bucket.

                    *

                    Example 3: Decompression - The Lambda function S3ObjectLambdaDecompression, is equipped to decompress objects stored in S3 in one of six compressed file formats including bzip2, gzip, snappy, zlib, zstandard and ZIP.

                    - *

                    For information on how to view and use these functions, see Using AWS built Lambda functions in the Amazon S3 User Guide.

                    + *

                    For information on how to view and use these functions, see Using Amazon Web Services built Lambda functions in the Amazon S3 User Guide.

                    */ public writeGetObjectResponse( args: WriteGetObjectResponseCommandInput, diff --git a/clients/client-s3/commands/CopyObjectCommand.ts b/clients/client-s3/commands/CopyObjectCommand.ts index 14b3bc759c4f..b8f7a46ea3bc 100644 --- a/clients/client-s3/commands/CopyObjectCommand.ts +++ b/clients/client-s3/commands/CopyObjectCommand.ts @@ -139,7 +139,7 @@ export interface CopyObjectCommandOutput extends CopyObjectOutput, __MetadataBea * Server-side encryption *

                    *

                    When you perform a CopyObject operation, you can optionally use the appropriate encryption-related - * headers to encrypt the object using server-side encryption with AWS managed encryption keys + * headers to encrypt the object using server-side encryption with Amazon Web Services managed encryption keys * (SSE-S3 or SSE-KMS) or a customer-provided encryption key. With server-side encryption, Amazon S3 * encrypts your data as it writes it to disks in its data centers and decrypts the data when * you access it. For more information about server-side encryption, see Using @@ -152,7 +152,7 @@ export interface CopyObjectCommandOutput extends CopyObjectOutput, __MetadataBea *

                    *

                    When copying an object, you can optionally use headers to grant ACL-based permissions. * By default, all objects are private. Only the owner has full access control. When adding a - * new object, you can grant permissions to individual AWS accounts or to predefined groups + * new object, you can grant permissions to individual Amazon Web Services accounts or to predefined groups * defined by Amazon S3. These permissions are then added to the ACL on the object. For more * information, see Access Control List (ACL) Overview and Managing ACLs Using the REST * API.

                    diff --git a/clients/client-s3/commands/CreateBucketCommand.ts b/clients/client-s3/commands/CreateBucketCommand.ts index 4dcc0cd7a7ef..7059de181aa6 100644 --- a/clients/client-s3/commands/CreateBucketCommand.ts +++ b/clients/client-s3/commands/CreateBucketCommand.ts @@ -23,7 +23,7 @@ export interface CreateBucketCommandOutput extends CreateBucketOutput, __Metadat /** *

                    Creates a new S3 bucket. To create a bucket, you must register with Amazon S3 and have a - * valid AWS Access Key ID to authenticate requests. Anonymous requests are never allowed to + * valid Amazon Web Services Access Key ID to authenticate requests. Anonymous requests are never allowed to * create buckets. By creating the bucket, you become the bucket owner.

                    *

                    Not every string is an acceptable bucket name. For information about bucket naming * restrictions, see Bucket naming rules.

                    @@ -64,8 +64,7 @@ export interface CreateBucketCommandOutput extends CreateBucketOutput, __Metadat *
                      *
                    • *

                      - * id – if the value specified is the canonical user ID of an AWS - * account

                      + * id – if the value specified is the canonical user ID of an Amazon Web Services account

                      *
                    • *
                    • *

                      @@ -75,9 +74,9 @@ export interface CreateBucketCommandOutput extends CreateBucketOutput, __Metadat *

                    • *

                      * emailAddress – if the value specified is the email address of - * an AWS account

                      + * an Amazon Web Services account

                      * - *

                      Using email addresses to specify a grantee is only supported in the following AWS Regions:

                      + *

                      Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions:

                      *
                        *
                      • *

                        US East (N. Virginia)

                        @@ -104,11 +103,11 @@ export interface CreateBucketCommandOutput extends CreateBucketOutput, __Metadat *

                        South America (São Paulo)

                        *
                      • *
                      - *

                      For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the AWS General Reference.

                      + *

                      For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the Amazon Web Services General Reference.

                      *
                      *
                    • *
                    - *

                    For example, the following x-amz-grant-read header grants the AWS accounts identified by account IDs permissions to read object data and its metadata:

                    + *

                    For example, the following x-amz-grant-read header grants the Amazon Web Services accounts identified by account IDs permissions to read object data and its metadata:

                    *

                    * x-amz-grant-read: id="11112222333", id="444455556666" *

                    @@ -119,6 +118,15 @@ export interface CreateBucketCommandOutput extends CreateBucketOutput, __Metadat * do both.

                    * * + *

                    + * Permissions + *

                    + *

                    If your CreateBucket request specifies ACL permissions and the ACL is public-read, public-read-write, + * authenticated-read, or if you specify access permissions explicitly through any other ACL, both + * s3:CreateBucket and s3:PutBucketAcl permissions are needed. If the ACL the + * CreateBucket request is private, only s3:CreateBucket permission is needed.

                    + *

                    If ObjectLockEnabledForBucket is set to true in your CreateBucket request, + * s3:PutBucketObjectLockConfiguration and s3:PutBucketVersioning permissions are required.

                    * *

                    The following operations are related to CreateBucket:

                    *
                      diff --git a/clients/client-s3/commands/CreateMultipartUploadCommand.ts b/clients/client-s3/commands/CreateMultipartUploadCommand.ts index 92540cf14179..b0bc68ba7394 100644 --- a/clients/client-s3/commands/CreateMultipartUploadCommand.ts +++ b/clients/client-s3/commands/CreateMultipartUploadCommand.ts @@ -45,7 +45,7 @@ export interface CreateMultipartUploadCommandOutput extends CreateMultipartUploa * a multipart upload, send one or more requests to upload parts, and then complete the * multipart upload process. You sign each request individually. There is nothing special * about signing multipart upload requests. For more information about signing, see Authenticating - * Requests (AWS Signature Version 4).

                      + * Requests (Amazon Web Services Signature Version 4).

                      * * *

                      After you initiate a multipart upload and upload one or more parts, to stop being @@ -56,19 +56,19 @@ export interface CreateMultipartUploadCommandOutput extends CreateMultipartUploa * *

                      You can optionally request server-side encryption. For server-side encryption, Amazon S3 * encrypts your data as it writes it to disks in its data centers and decrypts it when you - * access it. You can provide your own encryption key, or use AWS Key Management Service (AWS + * access it. You can provide your own encryption key, or use Amazon Web Services Key Management Service (Amazon Web Services * KMS) customer master keys (CMKs) or Amazon S3-managed encryption keys. If you choose to provide * your own encryption key, the request headers you provide in UploadPart and UploadPartCopy requests must match the headers you used in the request to * initiate the upload by using CreateMultipartUpload.

                      - *

                      To perform a multipart upload with encryption using an AWS KMS CMK, the requester must + *

                      To perform a multipart upload with encryption using an Amazon Web Services KMS CMK, the requester must * have permission to the kms:Decrypt and kms:GenerateDataKey* * actions on the key. These permissions are required because Amazon S3 must decrypt and read data * from the encrypted file parts before it completes the multipart upload. For more * information, see Multipart upload API * and permissions in the Amazon S3 User Guide.

                      * - *

                      If your AWS Identity and Access Management (IAM) user or role is in the same AWS account - * as the AWS KMS CMK, then you must have these permissions on the key policy. If your IAM + *

                      If your Identity and Access Management (IAM) user or role is in the same Amazon Web Services account + * as the Amazon Web Services KMS CMK, then you must have these permissions on the key policy. If your IAM * user or role belongs to a different account than the key, then you must have the * permissions on both the key policy and your IAM user or role.

                      * @@ -105,12 +105,12 @@ export interface CreateMultipartUploadCommandOutput extends CreateMultipartUploa *

                      You can optionally tell Amazon S3 to encrypt data at rest using server-side * encryption. Server-side encryption is for data encryption at rest. Amazon S3 encrypts * your data as it writes it to disks in its data centers and decrypts it when you - * access it. The option you use depends on whether you want to use AWS managed + * access it. The option you use depends on whether you want to use Amazon Web Services managed * encryption keys or provide your own encryption key.

                      * @@ -160,8 +160,7 @@ export interface CreateMultipartUploadCommandOutput extends CreateMultipartUploa *
                      *

                      You also can use the following access control–related headers with this * operation. By default, all objects are private. Only the owner has full access - * control. When adding a new object, you can grant permissions to individual AWS - * accounts or to predefined groups defined by Amazon S3. These permissions are then added + * control. When adding a new object, you can grant permissions to individual Amazon Web Services accounts or to predefined groups defined by Amazon S3. These permissions are then added * to the access control list (ACL) on the object. For more information, see Using ACLs. With this * operation, you can grant access permissions using one of the following two * methods:

                      @@ -175,7 +174,7 @@ export interface CreateMultipartUploadCommandOutput extends CreateMultipartUploa * *
                    • *

                      Specify access permissions explicitly — To explicitly grant access - * permissions to specific AWS accounts or groups, use the following headers. + * permissions to specific Amazon Web Services accounts or groups, use the following headers. * Each header maps to specific permissions that Amazon S3 supports in an ACL. For * more information, see Access * Control List (ACL) Overview. In the header, you specify a list of @@ -204,7 +203,7 @@ export interface CreateMultipartUploadCommandOutput extends CreateMultipartUploa *

                    • *

                      * id – if the value specified is the canonical user ID - * of an AWS account

                      + * of an Amazon Web Services account

                      *
                    • *
                    • *

                      @@ -214,9 +213,9 @@ export interface CreateMultipartUploadCommandOutput extends CreateMultipartUploa *

                    • *

                      * emailAddress – if the value specified is the email - * address of an AWS account

                      + * address of an Amazon Web Services account

                      * - *

                      Using email addresses to specify a grantee is only supported in the following AWS Regions:

                      + *

                      Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions:

                      *
                        *
                      • *

                        US East (N. Virginia)

                        @@ -243,11 +242,11 @@ export interface CreateMultipartUploadCommandOutput extends CreateMultipartUploa *

                        South America (São Paulo)

                        *
                      • *
                      - *

                      For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the AWS General Reference.

                      + *

                      For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the Amazon Web Services General Reference.

                      *
                      *
                    • *
                    - *

                    For example, the following x-amz-grant-read header grants the AWS accounts identified by account IDs permissions to read object data and its metadata:

                    + *

                    For example, the following x-amz-grant-read header grants the Amazon Web Services accounts identified by account IDs permissions to read object data and its metadata:

                    *

                    * x-amz-grant-read: id="11112222333", id="444455556666" *

                    diff --git a/clients/client-s3/commands/DeleteBucketPolicyCommand.ts b/clients/client-s3/commands/DeleteBucketPolicyCommand.ts index 6d666ed0f1b7..8a95321f1f53 100644 --- a/clients/client-s3/commands/DeleteBucketPolicyCommand.ts +++ b/clients/client-s3/commands/DeleteBucketPolicyCommand.ts @@ -24,7 +24,7 @@ export interface DeleteBucketPolicyCommandOutput extends __MetadataBearer {} /** *

                    This implementation of the DELETE action uses the policy subresource to delete the * policy of a specified bucket. If you are using an identity other than the root user of the - * AWS account that owns the bucket, the calling identity must have the + * Amazon Web Services account that owns the bucket, the calling identity must have the * DeleteBucketPolicy permissions on the specified bucket and belong to the * bucket owner's account to use this operation.

                    * @@ -34,7 +34,7 @@ export interface DeleteBucketPolicyCommandOutput extends __MetadataBearer {} * Allowed
                    error.

                    * * - *

                    As a security precaution, the root user of the AWS account that owns a bucket can + *

                    As a security precaution, the root user of the Amazon Web Services account that owns a bucket can * always use this operation, even if the policy explicitly denies the root user the * ability to perform this action.

                    *
                    diff --git a/clients/client-s3/commands/GetBucketLocationCommand.ts b/clients/client-s3/commands/GetBucketLocationCommand.ts index d7d61b9bfe4a..c39951dc864a 100644 --- a/clients/client-s3/commands/GetBucketLocationCommand.ts +++ b/clients/client-s3/commands/GetBucketLocationCommand.ts @@ -26,7 +26,9 @@ export interface GetBucketLocationCommandOutput extends GetBucketLocationOutput, * LocationConstraint request parameter in a CreateBucket * request. For more information, see CreateBucket.

                    * - *

                    To use this implementation of the operation, you must be the bucket owner.

                    + *

                    To use this implementation of the operation, you must be the bucket owner.

                    + * + *

                    To use this API against an access point, provide the alias of the access point in place of the bucket name.

                    * *

                    The following operations are related to GetBucketLocation:

                    * diff --git a/clients/client-s3/commands/PutBucketEncryptionCommand.ts b/clients/client-s3/commands/PutBucketEncryptionCommand.ts index 660638d603f4..0ae453be72ed 100644 --- a/clients/client-s3/commands/PutBucketEncryptionCommand.ts +++ b/clients/client-s3/commands/PutBucketEncryptionCommand.ts @@ -26,13 +26,13 @@ export interface PutBucketEncryptionCommandOutput extends __MetadataBearer {} *

                    This action uses the encryption subresource to configure default * encryption and Amazon S3 Bucket Key for an existing bucket.

                    *

                    Default encryption for a bucket can use server-side encryption with Amazon S3-managed keys - * (SSE-S3) or AWS KMS customer master keys (SSE-KMS). If you specify default encryption + * (SSE-S3) or Amazon Web Services KMS customer master keys (SSE-KMS). If you specify default encryption * using SSE-KMS, you can also configure Amazon S3 Bucket Key. For information about default * encryption, see Amazon S3 default bucket encryption * in the Amazon S3 User Guide. For more information about S3 Bucket Keys, * see Amazon S3 Bucket Keys in the Amazon S3 User Guide.

                    * - *

                    This action requires AWS Signature Version 4. For more information, see Authenticating Requests (AWS Signature + *

                    This action requires Amazon Web Services Signature Version 4. For more information, see Authenticating Requests (Amazon Web Services Signature * Version 4).

                    *
                    *

                    To use this operation, you must have permissions to perform the diff --git a/clients/client-s3/commands/PutBucketInventoryConfigurationCommand.ts b/clients/client-s3/commands/PutBucketInventoryConfigurationCommand.ts index 40a2d6e5ac9f..426462cb7d35 100644 --- a/clients/client-s3/commands/PutBucketInventoryConfigurationCommand.ts +++ b/clients/client-s3/commands/PutBucketInventoryConfigurationCommand.ts @@ -29,7 +29,7 @@ export interface PutBucketInventoryConfigurationCommandOutput extends __Metadata * basis, and the results are published to a flat file. The bucket that is inventoried is * called the source bucket, and the bucket where the inventory flat file * is stored is called the destination bucket. The - * destination bucket must be in the same AWS Region as the + * destination bucket must be in the same Amazon Web Services Region as the * source bucket.

                    *

                    When you configure an inventory for a source bucket, you specify * the destination bucket where you want the inventory to be stored, and diff --git a/clients/client-s3/commands/PutBucketLifecycleConfigurationCommand.ts b/clients/client-s3/commands/PutBucketLifecycleConfigurationCommand.ts index 467f861f77ba..8bed6ed41f49 100644 --- a/clients/client-s3/commands/PutBucketLifecycleConfigurationCommand.ts +++ b/clients/client-s3/commands/PutBucketLifecycleConfigurationCommand.ts @@ -73,7 +73,7 @@ export interface PutBucketLifecycleConfigurationCommandOutput extends __Metadata * *

                    By default, all Amazon S3 resources are private, including buckets, objects, and related * subresources (for example, lifecycle configuration and website configuration). Only the - * resource owner (that is, the AWS account that created it) can access the resource. The + * resource owner (that is, the Amazon Web Services account that created it) can access the resource. The * resource owner can optionally grant access permissions to others by writing an access * policy. For this operation, a user must get the s3:PutLifecycleConfiguration * permission.

                    diff --git a/clients/client-s3/commands/PutBucketLoggingCommand.ts b/clients/client-s3/commands/PutBucketLoggingCommand.ts index d63658fb66fc..902f3e6c7fc0 100644 --- a/clients/client-s3/commands/PutBucketLoggingCommand.ts +++ b/clients/client-s3/commands/PutBucketLoggingCommand.ts @@ -24,7 +24,7 @@ export interface PutBucketLoggingCommandOutput extends __MetadataBearer {} /** *

                    Set the logging parameters for a bucket and to specify permissions for who can view and - * modify the logging parameters. All logs are saved to buckets in the same AWS Region as the + * modify the logging parameters. All logs are saved to buckets in the same Amazon Web Services Region as the * source bucket. To set the logging status of a bucket, you must be the bucket owner.

                    * *

                    The bucket owner is automatically granted FULL_CONTROL to all logs. You use the diff --git a/clients/client-s3/commands/PutBucketNotificationConfigurationCommand.ts b/clients/client-s3/commands/PutBucketNotificationConfigurationCommand.ts index 6993e4c1694e..7f6d1a7cc6e3 100644 --- a/clients/client-s3/commands/PutBucketNotificationConfigurationCommand.ts +++ b/clients/client-s3/commands/PutBucketNotificationConfigurationCommand.ts @@ -46,7 +46,7 @@ export interface PutBucketNotificationConfigurationCommandOutput extends __Metad *

                    After Amazon S3 receives this request, it first verifies that any Amazon Simple Notification * Service (Amazon SNS) or Amazon Simple Queue Service (Amazon SQS) destination exists, and * that the bucket owner has permission to publish to it by sending a test notification. In - * the case of AWS Lambda destinations, Amazon S3 verifies that the Lambda function permissions + * the case of Lambda destinations, Amazon S3 verifies that the Lambda function permissions * grant Amazon S3 permission to invoke the function from the Amazon S3 bucket. For more information, * see Configuring Notifications for Amazon S3 * Events.

                    diff --git a/clients/client-s3/commands/PutBucketPolicyCommand.ts b/clients/client-s3/commands/PutBucketPolicyCommand.ts index 0f7b07859f92..0001950f6661 100644 --- a/clients/client-s3/commands/PutBucketPolicyCommand.ts +++ b/clients/client-s3/commands/PutBucketPolicyCommand.ts @@ -24,7 +24,7 @@ export interface PutBucketPolicyCommandOutput extends __MetadataBearer {} /** *

                    Applies an Amazon S3 bucket policy to an Amazon S3 bucket. If you are using an identity other than - * the root user of the AWS account that owns the bucket, the calling identity must have the + * the root user of the Amazon Web Services account that owns the bucket, the calling identity must have the * PutBucketPolicy permissions on the specified bucket and belong to the * bucket owner's account in order to use this operation.

                    * @@ -34,14 +34,11 @@ export interface PutBucketPolicyCommandOutput extends __MetadataBearer {} * Allowed error.

                    * * - *

                    As a security precaution, the root user of the AWS account that owns a bucket can + *

                    As a security precaution, the root user of the Amazon Web Services account that owns a bucket can * always use this operation, even if the policy explicitly denies the root user the * ability to perform this action.

                    *
                    - * - * - *

                    For more information about bucket policies, see Using Bucket Policies and User - * Policies.

                    + *

                    For more information, see Bucket policy examples.

                    * *

                    The following operations are related to PutBucketPolicy:

                    * diff --git a/clients/client-s3/commands/PutObjectCommand.ts b/clients/client-s3/commands/PutObjectCommand.ts index d16cb3218d39..7ca8270ff3b4 100644 --- a/clients/client-s3/commands/PutObjectCommand.ts +++ b/clients/client-s3/commands/PutObjectCommand.ts @@ -47,22 +47,33 @@ export interface PutObjectCommandOutput extends PutObjectOutput, __MetadataBeare * you can calculate the MD5 while putting an object to Amazon S3 and compare the returned ETag to * the calculated MD5 value.

                    * - *

                    The Content-MD5 header is required for any request to upload an object - * with a retention period configured using Amazon S3 Object Lock. For more information about - * Amazon S3 Object Lock, see Amazon S3 Object Lock Overview - * in the Amazon S3 User Guide.

                    + *
                      + *
                    • + *

                      To successfully complete the PutObject request, you must have the + * s3:PutObject in your IAM permissions.

                      + *
                    • + *
                    • + *

                      To successfully change the objects acl of your PutObject request, + * you must have the s3:PutObjectAcl in your IAM permissions.

                      + *
                    • + *
                    • + *

                      The Content-MD5 header is required for any request to upload an object + * with a retention period configured using Amazon S3 Object Lock. For more information about + * Amazon S3 Object Lock, see Amazon S3 Object Lock Overview + * in the Amazon S3 User Guide.

                      + *
                    • + *
                    *
                    * - * *

                    * Server-side Encryption *

                    *

                    You can optionally request server-side encryption. With server-side encryption, Amazon S3 encrypts * your data as it writes it to disks in its data centers and decrypts the data - * when you access it. You have the option to provide your own encryption key or use AWS + * when you access it. You have the option to provide your own encryption key or use Amazon Web Services * managed encryption keys (SSE-S3 or SSE-KMS). For more information, see Using Server-Side * Encryption.

                    - *

                    If you request server-side encryption using AWS Key Management Service (SSE-KMS), you can enable + *

                    If you request server-side encryption using Amazon Web Services Key Management Service (SSE-KMS), you can enable * an S3 Bucket Key at the object-level. For more information, see Amazon S3 Bucket Keys in the * Amazon S3 User Guide.

                    *

                    @@ -71,7 +82,7 @@ export interface PutObjectCommandOutput extends PutObjectOutput, __MetadataBeare *

                    *

                    You can use headers to grant ACL- based permissions. By default, all objects are * private. Only the owner has full access control. When adding a new object, you can grant - * permissions to individual AWS accounts or to predefined groups defined by Amazon S3. These + * permissions to individual Amazon Web Services accounts or to predefined groups defined by Amazon S3. These * permissions are then added to the ACL on the object. For more information, see Access Control List * (ACL) Overview and Managing ACLs Using the REST * API.

                    diff --git a/clients/client-s3/commands/PutObjectLockConfigurationCommand.ts b/clients/client-s3/commands/PutObjectLockConfigurationCommand.ts index faa734c16e15..364e653a40bf 100644 --- a/clients/client-s3/commands/PutObjectLockConfigurationCommand.ts +++ b/clients/client-s3/commands/PutObjectLockConfigurationCommand.ts @@ -40,7 +40,7 @@ export interface PutObjectLockConfigurationCommandOutput extends PutObjectLockCo *
                  • *
                  • *

                    You can only enable Object Lock for new buckets. If you want to turn on - * Object Lock for an existing bucket, contact AWS Support.

                    + * Object Lock for an existing bucket, contact Amazon Web Services Support.

                    *
                  • *
                  * diff --git a/clients/client-s3/commands/PutObjectRetentionCommand.ts b/clients/client-s3/commands/PutObjectRetentionCommand.ts index b624eb00306f..d4a8b4b87f4d 100644 --- a/clients/client-s3/commands/PutObjectRetentionCommand.ts +++ b/clients/client-s3/commands/PutObjectRetentionCommand.ts @@ -24,8 +24,18 @@ export interface PutObjectRetentionCommandOutput extends PutObjectRetentionOutpu /** *

                  Places an Object Retention configuration on an object. For more information, see Locking Objects. + * Users or accounts require the s3:PutObjectRetention permission in order to place + * an Object Retention configuration on objects. Bypassing a Governance Retention configuration + * requires the s3:BypassGovernanceRetention permission. *

                  *

                  This action is not supported by Amazon S3 on Outposts.

                  + * + *

                  + * Permissions + *

                  + *

                  When the Object Lock retention mode is set to compliance, you need s3:PutObjectRetention and + * s3:BypassGovernanceRetention permissions. For other requests to PutObjectRetention, + * only s3:PutObjectRetention permissions are required.

                  * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-s3/commands/RestoreObjectCommand.ts b/clients/client-s3/commands/RestoreObjectCommand.ts index 0355342f667b..0edbc82fdf93 100644 --- a/clients/client-s3/commands/RestoreObjectCommand.ts +++ b/clients/client-s3/commands/RestoreObjectCommand.ts @@ -52,8 +52,8 @@ export interface RestoreObjectCommandOutput extends RestoreObjectOutput, __Metad *
                    *
                  • *

                    Define an output location for the select query's output. This must be an Amazon S3 - * bucket in the same AWS Region as the bucket that contains the archive object that is - * being queried. The AWS account that initiates the job must have permissions to write + * bucket in the same Amazon Web Services Region as the bucket that contains the archive object that is + * being queried. The Amazon Web Services account that initiates the job must have permissions to write * to the S3 bucket. You can specify the storage class and encryption for the output * objects stored in the bucket. For more information about output, see Querying Archived Objects * in the Amazon S3 User Guide.

                    diff --git a/clients/client-s3/commands/SelectObjectContentCommand.ts b/clients/client-s3/commands/SelectObjectContentCommand.ts index 946bca8464e8..c59bea2e7c67 100644 --- a/clients/client-s3/commands/SelectObjectContentCommand.ts +++ b/clients/client-s3/commands/SelectObjectContentCommand.ts @@ -77,7 +77,7 @@ export interface SelectObjectContentCommandOutput extends SelectObjectContentOut * (Using Customer-Provided Encryption Keys) in the * Amazon S3 User Guide.

                    *

                    For objects that are encrypted with Amazon S3 managed encryption keys (SSE-S3) and - * customer master keys (CMKs) stored in AWS Key Management Service (SSE-KMS), + * customer master keys (CMKs) stored in Amazon Web Services Key Management Service (SSE-KMS), * server-side encryption is handled transparently, so you don't need to specify * anything. For more information about server-side encryption, including SSE-S3 and * SSE-KMS, see Protecting Data Using @@ -91,8 +91,7 @@ export interface SelectObjectContentCommandOutput extends SelectObjectContentOut *

                    Given the response size is unknown, Amazon S3 Select streams the response as a series of * messages and includes a Transfer-Encoding header with chunked as * its value in the response. For more information, see Appendix: SelectObjectContent - * Response - * .

                    + * Response.

                    * *

                    *

                    diff --git a/clients/client-s3/commands/UploadPartCommand.ts b/clients/client-s3/commands/UploadPartCommand.ts index fa9d89525abc..a8501c835262 100644 --- a/clients/client-s3/commands/UploadPartCommand.ts +++ b/clients/client-s3/commands/UploadPartCommand.ts @@ -52,9 +52,9 @@ export interface UploadPartCommandOutput extends UploadPartOutput, __MetadataBea * Content-MD5 header in the upload part request. Amazon S3 checks the part data * against the provided MD5 value. If they do not match, Amazon S3 returns an error.

                    * - *

                    If the upload request is signed with Signature Version 4, then AWS S3 uses the + *

                    If the upload request is signed with Signature Version 4, then Amazon Web Services S3 uses the * x-amz-content-sha256 header as a checksum instead of - * Content-MD5. For more information see Authenticating Requests: Using the Authorization Header (AWS Signature Version + * Content-MD5. For more information see Authenticating Requests: Using the Authorization Header (Amazon Web Services Signature Version * 4).

                    * * @@ -74,7 +74,7 @@ export interface UploadPartCommandOutput extends UploadPartOutput, __MetadataBea * *

                    You can optionally request server-side encryption where Amazon S3 encrypts your data as it * writes it to disks in its data centers and decrypts it for you when you access it. You have - * the option of providing your own encryption key, or you can use the AWS managed encryption + * the option of providing your own encryption key, or you can use the Amazon Web Services managed encryption * keys. If you choose to provide your own encryption key, the request headers you provide in * the request must match the headers you used in the request to initiate the upload by using * CreateMultipartUpload. For more information, go to Using Server-Side Encryption in diff --git a/clients/client-s3/commands/WriteGetObjectResponseCommand.ts b/clients/client-s3/commands/WriteGetObjectResponseCommand.ts index 1a1ac348ee26..0b40c5a7f9e7 100644 --- a/clients/client-s3/commands/WriteGetObjectResponseCommand.ts +++ b/clients/client-s3/commands/WriteGetObjectResponseCommand.ts @@ -36,21 +36,24 @@ export interface WriteGetObjectResponseCommandOutput extends __MetadataBearer {} * Object Lambda Access Points, see Transforming objects with * Object Lambda Access Points in the Amazon S3 User Guide.

                    *

                    This operation supports metadata that can be returned by GetObject, in addition to - * RequestRoute, RequestToken, StatusCode, - * ErrorCode, and ErrorMessage. The GetObject - * response metadata is supported so that the WriteGetObjectResponse caller, - * typically an AWS Lambda function, can provide the same metadata when it internally invokes - * GetObject. When WriteGetObjectResponse is called by a - * customer-owned Lambda function, the metadata returned to the end user - * GetObject call might differ from what Amazon S3 would normally return.

                    - *

                    AWS provides some prebuilt Lambda functions that you can use with S3 Object Lambda to detect and redact - * personally identifiable information (PII) and decompress S3 objects. These Lambda functions - * are available in the AWS Serverless Application Repository, and can be selected through the AWS Management Console when you create your - * Object Lambda Access Point.

                    + * RequestRoute, RequestToken, StatusCode, + * ErrorCode, and ErrorMessage. The GetObject + * response metadata is supported so that the WriteGetObjectResponse caller, + * typically an Lambda function, can provide the same metadata when it internally invokes + * GetObject. When WriteGetObjectResponse is called by a + * customer-owned Lambda function, the metadata returned to the end user + * GetObject call might differ from what Amazon S3 would normally return.

                    + *

                    You can include any number of metadata headers. When including a metadata header, it should be + * prefaced with x-amz-meta. For example, x-amz-meta-my-custom-header: MyCustomValue. + * The primary use case for this is to forward GetObject metadata.

                    + *

                    Amazon Web Services provides some prebuilt Lambda functions that you can use with S3 Object Lambda to detect and redact + * personally identifiable information (PII) and decompress S3 objects. These Lambda functions + * are available in the Amazon Web Services Serverless Application Repository, and can be selected through the Amazon Web Services Management Console when you create your + * Object Lambda Access Point.

                    *

                    Example 1: PII Access Control - This Lambda function uses Amazon Comprehend, a natural language processing (NLP) service using machine learning to find insights and relationships in text. It automatically detects personally identifiable information (PII) such as names, addresses, dates, credit card numbers, and social security numbers from documents in your Amazon S3 bucket.

                    *

                    Example 2: PII Redaction - This Lambda function uses Amazon Comprehend, a natural language processing (NLP) service using machine learning to find insights and relationships in text. It automatically redacts personally identifiable information (PII) such as names, addresses, dates, credit card numbers, and social security numbers from documents in your Amazon S3 bucket.

                    *

                    Example 3: Decompression - The Lambda function S3ObjectLambdaDecompression, is equipped to decompress objects stored in S3 in one of six compressed file formats including bzip2, gzip, snappy, zlib, zstandard and ZIP.

                    - *

                    For information on how to view and use these functions, see Using AWS built Lambda functions in the Amazon S3 User Guide.

                    + *

                    For information on how to view and use these functions, see Using Amazon Web Services built Lambda functions in the Amazon S3 User Guide.

                    * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-s3/models/models_0.ts b/clients/client-s3/models/models_0.ts index a0f24d9cf41c..ff2b74e36c68 100644 --- a/clients/client-s3/models/models_0.ts +++ b/clients/client-s3/models/models_0.ts @@ -49,8 +49,8 @@ export type RequestPayer = "requester"; export interface AbortMultipartUploadRequest { /** *

                    The bucket name to which the upload was taking place.

                    - *

                    When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                    - *

                    When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                    + *

                    When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                    + *

                    When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                    */ Bucket: string | undefined; @@ -141,7 +141,7 @@ export interface Grantee { /** *

                    Email address of the grantee.

                    * - *

                    Using email addresses to specify a grantee is only supported in the following AWS Regions:

                    + *

                    Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions:

                    *
                      *
                    • *

                      US East (N. Virginia)

                      @@ -168,7 +168,7 @@ export interface Grantee { *

                      South America (São Paulo)

                      *
                    • *
                    - *

                    For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the AWS General Reference.

                    + *

                    For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the Amazon Web Services General Reference.

                    *
                    */ EmailAddress?: string; @@ -303,9 +303,9 @@ export interface CompleteMultipartUploadOutput { Location?: string; /** - *

                    The name of the bucket that contains the newly created object.

                    - *

                    When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                    - *

                    When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                    + *

                    The name of the bucket that contains the newly created object. Does not return the access point ARN or access point alias if used.

                    + *

                    When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                    + *

                    When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                    */ Bucket?: string; @@ -331,7 +331,7 @@ export interface CompleteMultipartUploadOutput { /** *

                    If you specified server-side encryption either with an Amazon S3-managed encryption key or an - * AWS KMS customer master key (CMK) in your initiate multipart upload request, the response + * Amazon Web Services KMS customer master key (CMK) in your initiate multipart upload request, the response * includes this header. It confirms the encryption algorithm that Amazon S3 used to encrypt the * object.

                    */ @@ -344,13 +344,13 @@ export interface CompleteMultipartUploadOutput { VersionId?: string; /** - *

                    If present, specifies the ID of the AWS Key Management Service (AWS KMS) symmetric + *

                    If present, specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric * customer managed customer master key (CMK) that was used for the object.

                    */ SSEKMSKeyId?: string; /** - *

                    Indicates whether the multipart upload uses an S3 Bucket Key for server-side encryption with AWS KMS (SSE-KMS).

                    + *

                    Indicates whether the multipart upload uses an S3 Bucket Key for server-side encryption with Amazon Web Services KMS (SSE-KMS).

                    */ BucketKeyEnabled?: boolean; @@ -418,6 +418,8 @@ export namespace CompletedMultipartUpload { export interface CompleteMultipartUploadRequest { /** *

                    Name of the bucket to which the multipart upload was initiated.

                    + *

                    When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                    + *

                    When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                    */ Bucket: string | undefined; @@ -464,9 +466,7 @@ export namespace CompleteMultipartUploadRequest { */ export interface CopyObjectResult { /** - *

                    Returns the ETag of the new object. The ETag reflects only changes to the contents of an - * object, not its metadata. The source and destination ETag is identical for a successfully - * copied non-multipart object.

                    + *

                    Returns the ETag of the new object. The ETag reflects only changes to the contents of an object, not its metadata.

                    */ ETag?: string; @@ -526,20 +526,20 @@ export interface CopyObjectOutput { SSECustomerKeyMD5?: string; /** - *

                    If present, specifies the ID of the AWS Key Management Service (AWS KMS) symmetric + *

                    If present, specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric * customer managed customer master key (CMK) that was used for the object.

                    */ SSEKMSKeyId?: string; /** - *

                    If present, specifies the AWS KMS Encryption Context to use for object encryption. The + *

                    If present, specifies the Amazon Web Services KMS Encryption Context to use for object encryption. The * value of this header is a base64-encoded UTF-8 string holding JSON with the encryption * context key-value pairs.

                    */ SSEKMSEncryptionContext?: string; /** - *

                    Indicates whether the copied object uses an S3 Bucket Key for server-side encryption with AWS KMS (SSE-KMS).

                    + *

                    Indicates whether the copied object uses an S3 Bucket Key for server-side encryption with Amazon Web Services KMS (SSE-KMS).

                    */ BucketKeyEnabled?: boolean; @@ -597,8 +597,8 @@ export interface CopyObjectRequest { /** *

                    The name of the destination bucket.

                    - *

                    When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                    - *

                    When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                    + *

                    When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                    + *

                    When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                    */ Bucket: string | undefined; @@ -644,7 +644,7 @@ export interface CopyObjectRequest { *
                  • *

                    For objects accessed through access points, specify the Amazon Resource Name (ARN) of the object as accessed through the access point, in the format arn:aws:s3:::accesspoint//object/. For example, to copy the object reports/january.pdf through access point my-access-point owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point/object/reports/january.pdf. The value must be URL encoded.

                    * - *

                    Amazon S3 supports copy operations using access points only when the source and destination buckets are in the same AWS Region.

                    + *

                    Amazon S3 supports copy operations using access points only when the source and destination buckets are in the same Amazon Web Services Region.

                    *
                    *

                    Alternatively, for objects accessed through Amazon S3 on Outposts, specify the ARN of the object as accessed in the format arn:aws:s3-outposts:::outpost//object/. For example, to copy the object reports/january.pdf 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/object/reports/january.pdf. The value must be URL encoded.

                    *
                  • @@ -775,16 +775,16 @@ export interface CopyObjectRequest { SSECustomerKeyMD5?: string; /** - *

                    Specifies the AWS KMS key ID to use for object encryption. All GET and PUT requests for - * an object protected by AWS KMS will fail if not made via SSL or using SigV4. For - * information about configuring using any of the officially supported AWS SDKs and AWS CLI, + *

                    Specifies the Amazon Web Services KMS key ID to use for object encryption. All GET and PUT requests for + * an object protected by Amazon Web Services KMS will fail if not made via SSL or using SigV4. For + * information about configuring using any of the officially supported Amazon Web Services SDKs and Amazon Web Services CLI, * see Specifying the * Signature Version in Request Authentication in the Amazon S3 User Guide.

                    */ SSEKMSKeyId?: string; /** - *

                    Specifies the AWS KMS Encryption Context to use for object encryption. The value of this + *

                    Specifies the Amazon Web Services KMS Encryption Context to use for object encryption. The value of this * header is a base64-encoded UTF-8 string holding JSON with the encryption context key-value * pairs.

                    */ @@ -908,7 +908,7 @@ export namespace BucketAlreadyExists { /** *

                    The bucket you tried to create already exists, and you own it. Amazon S3 returns this error - * in all AWS Regions except in the North Virginia Region. For legacy compatibility, if you + * in all Amazon Web Services Regions except in the North Virginia Region. For legacy compatibility, if you * re-create an existing bucket that you already own in the North Virginia Region, Amazon S3 * returns 200 OK and resets the bucket access control lists (ACLs).

                    */ @@ -1072,9 +1072,9 @@ export interface CreateMultipartUploadOutput { AbortRuleId?: string; /** - *

                    The name of the bucket to which the multipart upload was initiated.

                    - *

                    When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                    - *

                    When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                    + *

                    The name of the bucket to which the multipart upload was initiated. Does not return the access point ARN or access point alias if used.

                    + *

                    When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                    + *

                    When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                    */ Bucket?: string; @@ -1108,20 +1108,20 @@ export interface CreateMultipartUploadOutput { SSECustomerKeyMD5?: string; /** - *

                    If present, specifies the ID of the AWS Key Management Service (AWS KMS) symmetric + *

                    If present, specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric * customer managed customer master key (CMK) that was used for the object.

                    */ SSEKMSKeyId?: string; /** - *

                    If present, specifies the AWS KMS Encryption Context to use for object encryption. The + *

                    If present, specifies the Amazon Web Services KMS Encryption Context to use for object encryption. The * value of this header is a base64-encoded UTF-8 string holding JSON with the encryption * context key-value pairs.

                    */ SSEKMSEncryptionContext?: string; /** - *

                    Indicates whether the multipart upload uses an S3 Bucket Key for server-side encryption with AWS KMS (SSE-KMS).

                    + *

                    Indicates whether the multipart upload uses an S3 Bucket Key for server-side encryption with Amazon Web Services KMS (SSE-KMS).

                    */ BucketKeyEnabled?: boolean; @@ -1152,8 +1152,8 @@ export interface CreateMultipartUploadRequest { /** *

                    The name of the bucket to which to initiate the upload

                    - *

                    When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                    - *

                    When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                    + *

                    When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                    + *

                    When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                    */ Bucket: string | undefined; @@ -1270,16 +1270,16 @@ export interface CreateMultipartUploadRequest { SSECustomerKeyMD5?: string; /** - *

                    Specifies the ID of the symmetric customer managed AWS KMS CMK to use for object - * encryption. All GET and PUT requests for an object protected by AWS KMS will fail if not + *

                    Specifies the ID of the symmetric customer managed Amazon Web Services KMS CMK to use for object + * encryption. All GET and PUT requests for an object protected by Amazon Web Services KMS will fail if not * made via SSL or using SigV4. For information about configuring using any of the officially - * supported AWS SDKs and AWS CLI, see Specifying the Signature Version in Request Authentication + * supported Amazon Web Services SDKs and Amazon Web Services CLI, see Specifying the Signature Version in Request Authentication * in the Amazon S3 User Guide.

                    */ SSEKMSKeyId?: string; /** - *

                    Specifies the AWS KMS Encryption Context to use for object encryption. The value of this + *

                    Specifies the Amazon Web Services KMS Encryption Context to use for object encryption. The value of this * header is a base64-encoded UTF-8 string holding JSON with the encryption context key-value * pairs.

                    */ @@ -1658,8 +1658,8 @@ export namespace DeleteObjectOutput { export interface DeleteObjectRequest { /** *

                    The bucket name of the bucket containing the object.

                    - *

                    When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                    - *

                    When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                    + *

                    When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                    + *

                    When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                    */ Bucket: string | undefined; @@ -1796,8 +1796,8 @@ export interface _Error { * *
                  • *

                    - * Description: There is a problem with your AWS account - * that prevents the action from completing successfully. Contact AWS Support + * Description: There is a problem with your Amazon Web Services account + * that prevents the action from completing successfully. Contact Amazon Web Services Support * for further assistance.

                    *
                  • *
                  • @@ -1819,7 +1819,7 @@ export interface _Error { *
                  • *

                    * Description: All access to this Amazon S3 resource has been - * disabled. Contact AWS Support for further assistance.

                    + * disabled. Contact Amazon Web Services Support for further assistance.

                    *
                  • *
                  • *

                    @@ -1925,7 +1925,7 @@ export interface _Error { *

                  • *

                    * Description: The bucket you tried to create already - * exists, and you own it. Amazon S3 returns this error in all AWS Regions except in + * exists, and you own it. Amazon S3 returns this error in all Amazon Web Services Regions except in * the North Virginia Region. For legacy compatibility, if you re-create an * existing bucket that you already own in the North Virginia Region, Amazon S3 returns * 200 OK and resets the bucket access control lists (ACLs).

                    @@ -2180,7 +2180,7 @@ export interface _Error { *
                  • *
                  • *

                    - * Description: The AWS access key ID you provided does + * Description: The Amazon Web Services access key ID you provided does * not exist in our records.

                    *
                  • *
                  • @@ -2412,7 +2412,7 @@ export interface _Error { *
                  • *

                    * Description: All access to this object has been - * disabled. Please contact AWS Support for further assistance.

                    + * disabled. Please contact Amazon Web Services Support for further assistance.

                    *
                  • *
                  • *

                    @@ -2475,7 +2475,7 @@ export interface _Error { *

                  • *
                  • *

                    - * Description: Please use AWS4-HMAC-SHA256.

                    + * Description: Please use AWS4-HMAC-SHA256.

                    *
                  • *
                  • *

                    @@ -2622,7 +2622,7 @@ export interface _Error { *

                  • *

                    * Description: Amazon S3 Transfer Acceleration is not - * supported on this bucket. Contact AWS Support for more information.

                    + * supported on this bucket. Contact Amazon Web Services Support for more information.

                    *
                  • *
                  • *

                    @@ -2643,7 +2643,7 @@ export interface _Error { *

                  • *

                    * Description: Amazon S3 Transfer Acceleration cannot be - * enabled on this bucket. Contact AWS Support for more information.

                    + * enabled on this bucket. Contact Amazon Web Services Support for more information.

                    *
                  • *
                  • *

                    @@ -3232,7 +3232,8 @@ export interface _Error { *

                    * Description: Your account is not signed up for the Amazon S3 * service. You must sign up before you can use Amazon S3. You can sign up at the - * following URL: https://aws.amazon.com/s3

                    + * following URL: Amazon S3 + *

                    *
                  • *
                  • *

                    @@ -3442,7 +3443,7 @@ export interface _Error { *

                  • *

                    * Description: The request signature we calculated does - * not match the signature you provided. Check your AWS secret access key and + * not match the signature you provided. Check your Amazon Web Services secret access key and * signing method. For more information, see REST Authentication and * SOAP Authentication * for details.

                    @@ -3733,8 +3734,8 @@ export namespace Delete { export interface DeleteObjectsRequest { /** *

                    The bucket name containing the objects to delete.

                    - *

                    When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                    - *

                    When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                    + *

                    When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                    + *

                    When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                    */ Bucket: string | undefined; @@ -3798,8 +3799,8 @@ export namespace DeleteObjectTaggingOutput { export interface DeleteObjectTaggingRequest { /** *

                    The bucket name containing the objects from which to remove the tags.

                    - *

                    When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                    - *

                    When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                    + *

                    When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                    + *

                    When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                    */ Bucket: string | undefined; @@ -4343,7 +4344,7 @@ export interface ServerSideEncryptionByDefault { SSEAlgorithm: ServerSideEncryption | string | undefined; /** - *

                    AWS Key Management Service (KMS) customer AWS KMS key ID to use for the default + *

                    Amazon Web Services Key Management Service (KMS) customer Amazon Web Services KMS key ID to use for the default * encryption. This parameter is allowed if and only if SSEAlgorithm is set to * aws:kms.

                    *

                    You can specify the key ID or the Amazon Resource Name (ARN) of the KMS key. However, if you @@ -4366,7 +4367,7 @@ export interface ServerSideEncryptionByDefault { * *

                    Amazon S3 only supports symmetric KMS keys and not asymmetric KMS keys. For more information, see * Using symmetric and - * asymmetric keys in the AWS Key Management Service Developer Guide.

                    + * asymmetric keys in the Amazon Web Services Key Management Service Developer Guide.

                    * */ KMSMasterKeyID?: string; @@ -4657,7 +4658,7 @@ export namespace GetBucketIntelligentTieringConfigurationRequest { */ export interface SSEKMS { /** - *

                    Specifies the ID of the AWS Key Management Service (AWS KMS) symmetric customer managed + *

                    Specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric customer managed * customer master key (CMK) to use for encrypting inventory reports.

                    */ KeyId: string | undefined; @@ -5737,7 +5738,7 @@ export namespace NotificationConfigurationFilter { } /** - *

                    A container for specifying the configuration for AWS Lambda notifications.

                    + *

                    A container for specifying the configuration for Lambda notifications.

                    */ export interface LambdaFunctionConfiguration { /** @@ -5747,13 +5748,13 @@ export interface LambdaFunctionConfiguration { Id?: string; /** - *

                    The Amazon Resource Name (ARN) of the AWS Lambda function that Amazon S3 invokes when the + *

                    The Amazon Resource Name (ARN) of the Lambda function that Amazon S3 invokes when the * specified event type occurs.

                    */ LambdaFunctionArn: string | undefined; /** - *

                    The Amazon S3 bucket event for which to invoke the AWS Lambda function. For more information, + *

                    The Amazon S3 bucket event for which to invoke the Lambda function. For more information, * see Supported * Event Types in the Amazon S3 User Guide.

                    */ @@ -5874,7 +5875,7 @@ export interface NotificationConfiguration { QueueConfigurations?: QueueConfiguration[]; /** - *

                    Describes the AWS Lambda functions to invoke and the events for which to invoke + *

                    Describes the Lambda functions to invoke and the events for which to invoke * them.

                    */ LambdaFunctionConfigurations?: LambdaFunctionConfiguration[]; @@ -6108,11 +6109,11 @@ export namespace DeleteMarkerReplication { */ export interface EncryptionConfiguration { /** - *

                    Specifies the ID (Key ARN or Alias ARN) of the customer managed AWS KMS key - * stored in AWS Key Management Service (KMS) for the destination bucket. Amazon S3 uses + *

                    Specifies the ID (Key ARN or Alias ARN) of the customer managed Amazon Web Services KMS key + * stored in Amazon Web Services Key Management Service (KMS) for the destination bucket. Amazon S3 uses * this key to encrypt replica objects. Amazon S3 only supports symmetric, customer managed KMS keys. * For more information, see Using symmetric and - * asymmetric keys in the AWS Key Management Service Developer Guide.

                    + * asymmetric keys in the Amazon Web Services Key Management Service Developer Guide.

                    */ ReplicaKmsKeyID?: string; } @@ -6133,7 +6134,7 @@ export namespace EncryptionConfiguration { export interface ReplicationTimeValue { /** *

                    Contains an integer specifying time in minutes.

                    - *

                    Valid values: 15 minutes.

                    + *

                    Valid value: 15

                    */ Minutes?: number; } @@ -6216,7 +6217,7 @@ export interface Destination { /** *

                    Destination bucket owner account ID. In a cross-account scenario, if you direct Amazon S3 to - * change replica ownership to the AWS account that owns the destination bucket by specifying + * change replica ownership to the Amazon Web Services account that owns the destination bucket by specifying * the AccessControlTranslation property, this is the account ID of the * destination bucket owner. For more information, see Replication Additional * Configuration: Changing the Replica Owner in the Amazon S3 User Guide.

                    @@ -6234,9 +6235,9 @@ export interface Destination { /** *

                    Specify this only in a cross-account scenario (where source and destination bucket - * owners are not the same), and you want to change replica ownership to the AWS account that + * owners are not the same), and you want to change replica ownership to the Amazon Web Services account that * owns the destination bucket. If this is not specified in the replication configuration, the - * replicas are owned by same AWS account that owns the source object.

                    + * replicas are owned by same Amazon Web Services account that owns the source object.

                    */ AccessControlTranslation?: AccessControlTranslation; @@ -6454,13 +6455,13 @@ export namespace ReplicaModifications { export type SseKmsEncryptedObjectsStatus = "Disabled" | "Enabled"; /** - *

                    A container for filter information for the selection of S3 objects encrypted with AWS + *

                    A container for filter information for the selection of S3 objects encrypted with Amazon Web Services * KMS.

                    */ export interface SseKmsEncryptedObjects { /** *

                    Specifies whether Amazon S3 replicates objects created with server-side encryption using an - * AWS KMS key stored in AWS Key Management Service.

                    + * Amazon Web Services KMS key stored in Amazon Web Services Key Management Service.

                    */ Status: SseKmsEncryptedObjectsStatus | string | undefined; } @@ -6478,12 +6479,12 @@ export namespace SseKmsEncryptedObjects { *

                    A container that describes additional filters for identifying the source objects that * you want to replicate. You can choose to enable or disable the replication of these * objects. Currently, Amazon S3 supports only the filter that you can specify for objects created - * with server-side encryption using a customer master key (CMK) stored in AWS Key Management + * with server-side encryption using a customer master key (CMK) stored in Amazon Web Services Key Management * Service (SSE-KMS).

                    */ export interface SourceSelectionCriteria { /** - *

                    A container for filter information for the selection of Amazon S3 objects encrypted with AWS + *

                    A container for filter information for the selection of Amazon S3 objects encrypted with Amazon Web Services * KMS. If you include SourceSelectionCriteria in the replication configuration, * this element is required.

                    */ @@ -6564,7 +6565,7 @@ export interface ReplicationRule { *

                    A container that describes additional filters for identifying the source objects that * you want to replicate. You can choose to enable or disable the replication of these * objects. Currently, Amazon S3 supports only the filter that you can specify for objects created - * with server-side encryption using a customer master key (CMK) stored in AWS Key Management + * with server-side encryption using a customer master key (CMK) stored in Amazon Web Services Key Management * Service (SSE-KMS).

                    */ SourceSelectionCriteria?: SourceSelectionCriteria; @@ -6613,7 +6614,7 @@ export namespace ReplicationRule { */ export interface ReplicationConfiguration { /** - *

                    The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that + *

                    The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) role that * Amazon S3 assumes when replicating objects. For more information, see How to Set Up * Replication in the Amazon S3 User Guide.

                    */ @@ -7197,13 +7198,13 @@ export interface GetObjectOutput { SSECustomerKeyMD5?: string; /** - *

                    If present, specifies the ID of the AWS Key Management Service (AWS KMS) symmetric + *

                    If present, specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric * customer managed customer master key (CMK) that was used for the object.

                    */ SSEKMSKeyId?: string; /** - *

                    Indicates whether the object uses an S3 Bucket Key for server-side encryption with AWS KMS (SSE-KMS).

                    + *

                    Indicates whether the object uses an S3 Bucket Key for server-side encryption with Amazon Web Services KMS (SSE-KMS).

                    */ BucketKeyEnabled?: boolean; @@ -7265,8 +7266,8 @@ export namespace GetObjectOutput { export interface GetObjectRequest { /** *

                    The bucket name containing the object.

                    - *

                    When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                    - *

                    When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                    + *

                    When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                    + *

                    When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                    */ Bucket: string | undefined; @@ -7462,7 +7463,7 @@ export namespace GetObjectAclOutput { export interface GetObjectAclRequest { /** *

                    The bucket name that contains the object for which to get the ACL information.

                    - *

                    When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                    + *

                    When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                    */ Bucket: string | undefined; @@ -7537,7 +7538,7 @@ export namespace GetObjectLegalHoldOutput { export interface GetObjectLegalHoldRequest { /** *

                    The bucket name containing the object whose Legal Hold status you want to retrieve.

                    - *

                    When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                    + *

                    When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                    */ Bucket: string | undefined; @@ -7694,7 +7695,7 @@ export namespace GetObjectLockConfigurationOutput { export interface GetObjectLockConfigurationRequest { /** *

                    The bucket whose Object Lock configuration you want to retrieve.

                    - *

                    When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                    + *

                    When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                    */ Bucket: string | undefined; @@ -7756,7 +7757,7 @@ export namespace GetObjectRetentionOutput { export interface GetObjectRetentionRequest { /** *

                    The bucket name containing the object whose retention settings you want to retrieve.

                    - *

                    When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                    + *

                    When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                    */ Bucket: string | undefined; @@ -7817,8 +7818,8 @@ export namespace GetObjectTaggingOutput { export interface GetObjectTaggingRequest { /** *

                    The bucket name containing the object for which to get the tagging information.

                    - *

                    When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                    - *

                    When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                    + *

                    When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                    + *

                    When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                    */ Bucket: string | undefined; @@ -7956,7 +7957,7 @@ export interface PublicAccessBlockConfiguration { /** *

                    Specifies whether Amazon S3 should restrict public bucket policies for this bucket. Setting - * this element to TRUE restricts access to this bucket to only AWS service + * this element to TRUE restricts access to this bucket to only Amazon Web Service * principals and authorized users within this account if the bucket has a public * policy.

                    *

                    Enabling this setting doesn't affect previously stored bucket policies, except that @@ -8017,8 +8018,8 @@ export namespace GetPublicAccessBlockRequest { export interface HeadBucketRequest { /** *

                    The bucket name.

                    - *

                    When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                    - *

                    When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                    + *

                    When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                    + *

                    When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                    */ Bucket: string | undefined; @@ -8168,7 +8169,7 @@ export interface HeadObjectOutput { WebsiteRedirectLocation?: string; /** - *

                    If the object is stored using server-side encryption either with an AWS KMS customer + *

                    If the object is stored using server-side encryption either with an Amazon Web Services KMS customer * master key (CMK) or an Amazon S3-managed encryption key, the response includes this header with * the value of the server-side encryption algorithm used when storing this object in Amazon * S3 (for example, AES256, aws:kms).

                    @@ -8194,13 +8195,13 @@ export interface HeadObjectOutput { SSECustomerKeyMD5?: string; /** - *

                    If present, specifies the ID of the AWS Key Management Service (AWS KMS) symmetric + *

                    If present, specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric * customer managed customer master key (CMK) that was used for the object.

                    */ SSEKMSKeyId?: string; /** - *

                    Indicates whether the object uses an S3 Bucket Key for server-side encryption with AWS KMS (SSE-KMS).

                    + *

                    Indicates whether the object uses an S3 Bucket Key for server-side encryption with Amazon Web Services KMS (SSE-KMS).

                    */ BucketKeyEnabled?: boolean; @@ -8302,8 +8303,8 @@ export namespace HeadObjectOutput { export interface HeadObjectRequest { /** *

                    The name of the bucket containing the object.

                    - *

                    When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                    - *

                    When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                    + *

                    When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                    + *

                    When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                    */ Bucket: string | undefined; @@ -8673,7 +8674,7 @@ export namespace ListBucketMetricsConfigurationsRequest { /** *

                    In terms of implementation, a Bucket is a resource. An Amazon S3 bucket name is globally - * unique, and the namespace is shared by all AWS accounts.

                    + * unique, and the namespace is shared by all Amazon Web Services accounts.

                    */ export interface Bucket { /** @@ -8746,7 +8747,7 @@ export type EncodingType = "url"; */ export interface Initiator { /** - *

                    If the principal is an AWS account, it provides the Canonical User ID. If the principal + *

                    If the principal is an Amazon Web Services account, it provides the Canonical User ID. If the principal * is an IAM User, it provides a user ARN value.

                    */ ID?: string; @@ -8812,7 +8813,7 @@ export namespace MultipartUpload { export interface ListMultipartUploadsOutput { /** - *

                    The name of the bucket to which the multipart upload was initiated.

                    + *

                    The name of the bucket to which the multipart upload was initiated. Does not return the access point ARN or access point alias if used.

                    */ Bucket?: string; @@ -8901,8 +8902,8 @@ export namespace ListMultipartUploadsOutput { export interface ListMultipartUploadsRequest { /** *

                    The name of the bucket to which the multipart upload was initiated.

                    - *

                    When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                    - *

                    When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                    + *

                    When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                    + *

                    When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                    */ Bucket: string | undefined; @@ -9009,12 +9010,12 @@ export interface _Object { *
                      *
                    • *

                      Objects created by the PUT Object, POST Object, or Copy operation, or through the - * AWS Management Console, and are encrypted by SSE-S3 or plaintext, have ETags that are + * Amazon Web Services Management Console, and are encrypted by SSE-S3 or plaintext, have ETags that are * an MD5 digest of their object data.

                      *
                    • *
                    • *

                      Objects created by the PUT Object, POST Object, or Copy operation, or through the - * AWS Management Console, and are encrypted by SSE-C or SSE-KMS, have ETags that are + * Amazon Web Services Management Console, and are encrypted by SSE-C or SSE-KMS, have ETags that are * not an MD5 digest of their object data.

                      *
                    • *
                    • @@ -9138,8 +9139,8 @@ export namespace ListObjectsOutput { export interface ListObjectsRequest { /** *

                      The name of the bucket containing the objects.

                      - *

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                      - *

                      When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                      + *

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                      + *

                      When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                      */ Bucket: string | undefined; @@ -9158,7 +9159,8 @@ export interface ListObjectsRequest { EncodingType?: EncodingType | string; /** - *

                      Specifies the key to start with when listing objects in a bucket.

                      + *

                      Marker is where you want Amazon S3 to start listing from. Amazon S3 starts listing after + * this specified key. Marker can be any key in the bucket.

                      */ Marker?: string; @@ -9227,8 +9229,8 @@ export interface ListObjectsV2Output { /** *

                      The bucket name.

                      - *

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                      - *

                      When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                      + *

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                      + *

                      When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                      */ Name?: string; @@ -9325,8 +9327,8 @@ export namespace ListObjectsV2Output { export interface ListObjectsV2Request { /** *

                      Bucket name to list.

                      - *

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                      - *

                      When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                      + *

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                      + *

                      When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                      */ Bucket: string | undefined; @@ -9708,7 +9710,7 @@ export interface ListPartsOutput { AbortRuleId?: string; /** - *

                      The name of the bucket to which the multipart upload was initiated.

                      + *

                      The name of the bucket to which the multipart upload was initiated. Does not return the access point ARN or access point alias if used.

                      */ Bucket?: string; @@ -9756,7 +9758,7 @@ export interface ListPartsOutput { /** *

                      Container element that identifies who initiated the multipart upload. If the initiator - * is an AWS account, this element provides the same information as the Owner + * is an Amazon Web Services account, this element provides the same information as the Owner * element. If the initiator is an IAM User, this element provides the user ARN and display * name.

                      */ @@ -9794,8 +9796,8 @@ export namespace ListPartsOutput { export interface ListPartsRequest { /** *

                      The name of the bucket to which the parts are being uploaded.

                      - *

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                      - *

                      When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                      + *

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                      + *

                      When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                      */ Bucket: string | undefined; @@ -9886,7 +9888,7 @@ export interface PutBucketAclRequest { * information, go to RFC * 1864. *

                      - *

                      For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                      + *

                      For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                      */ ContentMD5?: string; @@ -10005,7 +10007,7 @@ export interface PutBucketCorsRequest { * information, go to RFC * 1864. *

                      - *

                      For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                      + *

                      For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                      */ ContentMD5?: string; @@ -10034,7 +10036,7 @@ export namespace PutBucketCorsRequest { export interface PutBucketEncryptionRequest { /** *

                      Specifies default encryption for a bucket using server-side encryption with Amazon S3-managed - * keys (SSE-S3) or customer master keys stored in AWS KMS (SSE-KMS). For information about + * keys (SSE-S3) or customer master keys stored in Amazon Web Services KMS (SSE-KMS). For information about * the Amazon S3 default encryption feature, see Amazon S3 Default Bucket Encryption * in the Amazon S3 User Guide.

                      */ @@ -10042,7 +10044,7 @@ export interface PutBucketEncryptionRequest { /** *

                      The base64-encoded 128-bit MD5 digest of the server-side encryption configuration.

                      - *

                      For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                      + *

                      For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                      */ ContentMD5?: string; @@ -10211,7 +10213,7 @@ export interface PutBucketLoggingRequest { /** *

                      The MD5 hash of the PutBucketLogging request body.

                      - *

                      For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                      + *

                      For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                      */ ContentMD5?: string; @@ -10304,7 +10306,7 @@ export interface PutBucketOwnershipControlsRequest { /** *

                      The MD5 hash of the OwnershipControls request body.

                      - *

                      For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                      + *

                      For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                      */ ContentMD5?: string; @@ -10337,7 +10339,7 @@ export interface PutBucketPolicyRequest { /** *

                      The MD5 hash of the request body.

                      - *

                      For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                      + *

                      For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                      */ ContentMD5?: string; @@ -10377,7 +10379,7 @@ export interface PutBucketReplicationRequest { *

                      The base64-encoded 128-bit MD5 digest of the data. You must use this header as a message * integrity check to verify that the request body was not corrupted in transit. For more * information, see RFC 1864.

                      - *

                      For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                      + *

                      For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                      */ ContentMD5?: string; @@ -10440,7 +10442,7 @@ export interface PutBucketRequestPaymentRequest { * message integrity check to verify that the request body was not corrupted in transit. For * more information, see RFC * 1864.

                      - *

                      For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                      + *

                      For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                      */ ContentMD5?: string; @@ -10493,7 +10495,7 @@ export interface PutBucketTaggingRequest { *

                      The base64-encoded 128-bit MD5 digest of the data. You must use this header as a message * integrity check to verify that the request body was not corrupted in transit. For more * information, see RFC 1864.

                      - *

                      For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                      + *

                      For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                      */ ContentMD5?: string; @@ -10557,7 +10559,7 @@ export interface PutBucketVersioningRequest { * message integrity check to verify that the request body was not corrupted in transit. For * more information, see RFC * 1864.

                      - *

                      For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                      + *

                      For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                      */ ContentMD5?: string; @@ -10634,7 +10636,7 @@ export interface PutBucketWebsiteRequest { *

                      The base64-encoded 128-bit MD5 digest of the data. You must use this header as a message * integrity check to verify that the request body was not corrupted in transit. For more * information, see RFC 1864.

                      - *

                      For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                      + *

                      For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                      */ ContentMD5?: string; @@ -10672,7 +10674,7 @@ export interface PutObjectOutput { ETag?: string; /** - *

                      If you specified server-side encryption either with an AWS KMS customer master key (CMK) + *

                      If you specified server-side encryption either with an Amazon Web Services KMS customer master key (CMK) * or Amazon S3-managed encryption key in your PUT request, the response includes this header. It * confirms the encryption algorithm that Amazon S3 used to encrypt the object.

                      */ @@ -10698,21 +10700,21 @@ export interface PutObjectOutput { /** *

                      If x-amz-server-side-encryption is present and has the value of - * aws:kms, this header specifies the ID of the AWS Key Management Service - * (AWS KMS) symmetric customer managed customer master key (CMK) that was used for the + * aws:kms, this header specifies the ID of the Amazon Web Services Key Management Service + * (Amazon Web Services KMS) symmetric customer managed customer master key (CMK) that was used for the * object.

                      */ SSEKMSKeyId?: string; /** - *

                      If present, specifies the AWS KMS Encryption Context to use for object encryption. The + *

                      If present, specifies the Amazon Web Services KMS Encryption Context to use for object encryption. The * value of this header is a base64-encoded UTF-8 string holding JSON with the encryption * context key-value pairs.

                      */ SSEKMSEncryptionContext?: string; /** - *

                      Indicates whether the uploaded object uses an S3 Bucket Key for server-side encryption with AWS KMS (SSE-KMS).

                      + *

                      Indicates whether the uploaded object uses an S3 Bucket Key for server-side encryption with Amazon Web Services KMS (SSE-KMS).

                      */ BucketKeyEnabled?: boolean; @@ -10749,8 +10751,8 @@ export interface PutObjectRequest { /** *

                      The bucket name to which the PUT action was initiated.

                      - *

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                      - *

                      When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                      + *

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                      + *

                      When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                      */ Bucket: string | undefined; @@ -10904,18 +10906,18 @@ export interface PutObjectRequest { /** *

                      If x-amz-server-side-encryption is present and has the value of - * aws:kms, this header specifies the ID of the AWS Key Management Service - * (AWS KMS) symmetrical customer managed customer master key (CMK) that was used for the + * aws:kms, this header specifies the ID of the Amazon Web Services Key Management Service + * (Amazon Web Services KMS) symmetrical customer managed customer master key (CMK) that was used for the * object. If you specify x-amz-server-side-encryption:aws:kms, but do not - * provide x-amz-server-side-encryption-aws-kms-key-id, Amazon S3 uses the AWS - * managed CMK in AWS to protect the data. If the KMS key does not exist in the same account + * provide x-amz-server-side-encryption-aws-kms-key-id, Amazon S3 uses the Amazon Web Services + * managed CMK in Amazon Web Services to protect the data. If the KMS key does not exist in the same account * issuing the command, you must use the full ARN and not just the ID. *

                      */ SSEKMSKeyId?: string; /** - *

                      Specifies the AWS KMS Encryption Context to use for object encryption. The value of this + *

                      Specifies the Amazon Web Services KMS Encryption Context to use for object encryption. The value of this * header is a base64-encoded UTF-8 string holding JSON with the encryption context key-value * pairs.

                      */ @@ -11002,7 +11004,7 @@ export interface PutObjectAclRequest { /** *

                      The bucket name that contains the object to which you want to attach the ACL.

                      - *

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                      + *

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                      */ Bucket: string | undefined; @@ -11012,7 +11014,7 @@ export interface PutObjectAclRequest { * information, go to RFC * 1864.> *

                      - *

                      For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                      + *

                      For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                      */ ContentMD5?: string; @@ -11051,8 +11053,8 @@ export interface PutObjectAclRequest { /** *

                      Key for which the PUT action was initiated.

                      - *

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                      - *

                      When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                      + *

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                      + *

                      When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                      */ Key: string | undefined; @@ -11109,7 +11111,7 @@ export namespace PutObjectLegalHoldOutput { export interface PutObjectLegalHoldRequest { /** *

                      The bucket name containing the object that you want to place a Legal Hold on.

                      - *

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                      + *

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                      */ Bucket: string | undefined; @@ -11133,7 +11135,7 @@ export interface PutObjectLegalHoldRequest { /** *

                      The MD5 hash for the request body.

                      - *

                      For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                      + *

                      For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                      */ ContentMD5?: string; @@ -11196,7 +11198,7 @@ export interface PutObjectLockConfigurationRequest { /** *

                      The MD5 hash for the request body.

                      - *

                      For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                      + *

                      For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                      */ ContentMD5?: string; @@ -11241,7 +11243,7 @@ export interface PutObjectRetentionRequest { /** *

                      The bucket name that contains the object you want to apply this Object Retention * configuration to.

                      - *

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                      + *

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                      */ Bucket: string | undefined; @@ -11272,7 +11274,7 @@ export interface PutObjectRetentionRequest { /** *

                      The MD5 hash for the request body.

                      - *

                      For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                      + *

                      For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                      */ ContentMD5?: string; @@ -11315,8 +11317,8 @@ export namespace PutObjectTaggingOutput { export interface PutObjectTaggingRequest { /** *

                      The bucket name containing the object.

                      - *

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                      - *

                      When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                      + *

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                      + *

                      When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                      */ Bucket: string | undefined; @@ -11332,7 +11334,7 @@ export interface PutObjectTaggingRequest { /** *

                      The MD5 hash for the request body.

                      - *

                      For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                      + *

                      For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                      */ ContentMD5?: string; @@ -11373,7 +11375,7 @@ export interface PutPublicAccessBlockRequest { /** *

                      The MD5 hash of the PutPublicAccessBlock request body.

                      - *

                      For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                      + *

                      For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                      */ ContentMD5?: string; diff --git a/clients/client-s3/models/models_1.ts b/clients/client-s3/models/models_1.ts index 08ddef11e25d..f1420a28fee0 100644 --- a/clients/client-s3/models/models_1.ts +++ b/clients/client-s3/models/models_1.ts @@ -27,9 +27,9 @@ export interface Encryption { /** *

                      If the encryption type is aws:kms, this optional value specifies the ID of - * the symmetric customer managed AWS KMS CMK to use for encryption of job results. Amazon S3 only + * the symmetric customer managed Amazon Web Services KMS CMK to use for encryption of job results. Amazon S3 only * supports symmetric CMKs. For more information, see Using symmetric and - * asymmetric keys in the AWS Key Management Service Developer Guide.

                      + * asymmetric keys in the Amazon Web Services Key Management Service Developer Guide.

                      */ KMSKeyId?: string; @@ -512,8 +512,8 @@ export namespace RestoreRequest { export interface RestoreObjectRequest { /** *

                      The bucket name containing the object to restore.

                      - *

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                      - *

                      When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                      + *

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                      + *

                      When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                      */ Bucket: string | undefined; @@ -1018,13 +1018,13 @@ export interface UploadPartOutput { SSECustomerKeyMD5?: string; /** - *

                      If present, specifies the ID of the AWS Key Management Service (AWS KMS) symmetric + *

                      If present, specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric * customer managed customer master key (CMK) was used for the object.

                      */ SSEKMSKeyId?: string; /** - *

                      Indicates whether the multipart upload uses an S3 Bucket Key for server-side encryption with AWS KMS (SSE-KMS).

                      + *

                      Indicates whether the multipart upload uses an S3 Bucket Key for server-side encryption with Amazon Web Services KMS (SSE-KMS).

                      */ BucketKeyEnabled?: boolean; @@ -1053,8 +1053,8 @@ export interface UploadPartRequest { /** *

                      The name of the bucket to which the multipart upload was initiated.

                      - *

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                      - *

                      When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                      + *

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                      + *

                      When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                      */ Bucket: string | undefined; @@ -1189,13 +1189,13 @@ export interface UploadPartCopyOutput { SSECustomerKeyMD5?: string; /** - *

                      If present, specifies the ID of the AWS Key Management Service (AWS KMS) symmetric + *

                      If present, specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric * customer managed customer master key (CMK) that was used for the object.

                      */ SSEKMSKeyId?: string; /** - *

                      Indicates whether the multipart upload uses an S3 Bucket Key for server-side encryption with AWS KMS (SSE-KMS).

                      + *

                      Indicates whether the multipart upload uses an S3 Bucket Key for server-side encryption with Amazon Web Services KMS (SSE-KMS).

                      */ BucketKeyEnabled?: boolean; @@ -1219,8 +1219,8 @@ export namespace UploadPartCopyOutput { export interface UploadPartCopyRequest { /** *

                      The bucket name.

                      - *

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                      - *

                      When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                      + *

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                      + *

                      When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                      */ Bucket: string | undefined; @@ -1239,7 +1239,7 @@ export interface UploadPartCopyRequest { *
                    • *

                      For objects accessed through access points, specify the Amazon Resource Name (ARN) of the object as accessed through the access point, in the format arn:aws:s3:::accesspoint//object/. For example, to copy the object reports/january.pdf through access point my-access-point owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point/object/reports/january.pdf. The value must be URL encoded.

                      * - *

                      Amazon S3 supports copy operations using access points only when the source and destination buckets are in the same AWS Region.

                      + *

                      Amazon S3 supports copy operations using access points only when the source and destination buckets are in the same Amazon Web Services Region.

                      *
                      *

                      Alternatively, for objects accessed through Amazon S3 on Outposts, specify the ARN of the object as accessed in the format arn:aws:s3-outposts:::outpost//object/. For example, to copy the object reports/january.pdf 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/object/reports/january.pdf. The value must be URL encoded.

                      *
                    • @@ -1614,7 +1614,7 @@ export interface WriteGetObjectResponseRequest { SSECustomerAlgorithm?: string; /** - *

                      If present, specifies the ID of the AWS Key Management Service (AWS KMS) symmetric customer managed customer master key (CMK) that was used for stored in Amazon S3 object.

                      + *

                      If present, specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric customer managed customer master key (CMK) that was used for stored in Amazon S3 object.

                      */ SSEKMSKeyId?: string; @@ -1643,7 +1643,7 @@ export interface WriteGetObjectResponseRequest { /** *

                      Indicates whether the object stored in Amazon S3 uses an S3 bucket key for server-side - * encryption with AWS KMS (SSE-KMS).

                      + * encryption with Amazon Web Services KMS (SSE-KMS).

                      */ BucketKeyEnabled?: boolean; } diff --git a/clients/client-sagemaker-runtime/SageMakerRuntime.ts b/clients/client-sagemaker-runtime/SageMakerRuntime.ts index 0a7f0a1389ec..4c322e3da5e8 100644 --- a/clients/client-sagemaker-runtime/SageMakerRuntime.ts +++ b/clients/client-sagemaker-runtime/SageMakerRuntime.ts @@ -1,4 +1,9 @@ import { SageMakerRuntimeClient } from "./SageMakerRuntimeClient"; +import { + InvokeEndpointAsyncCommand, + InvokeEndpointAsyncCommandInput, + InvokeEndpointAsyncCommandOutput, +} from "./commands/InvokeEndpointAsyncCommand"; import { InvokeEndpointCommand, InvokeEndpointCommandInput, @@ -60,4 +65,52 @@ export class SageMakerRuntime extends SageMakerRuntimeClient { return this.send(command, optionsOrCb); } } + + /** + *

                      After you deploy a model into production using Amazon SageMaker hosting services, + * your client applications use this API to get inferences from the model hosted at + * the specified endpoint in an asynchronous manner.

                      + * + *

                      Inference requests sent to this API are enqueued for asynchronous processing. + * The processing of the inference request may or may not complete before the + * you receive a response from this API. The response from this API will + * not contain the result of the inference request but contain information + * about where you can locate it.

                      + * + *

                      Amazon SageMaker strips all POST headers except those supported by the API. + * Amazon SageMaker might add additional headers. You should not rely on the behavior + * of headers outside those enumerated in the request syntax.

                      + * + *

                      Calls to InvokeEndpointAsync are authenticated by using AWS Signature + * Version 4. For information, see Authenticating Requests (AWS Signature Version 4) in the Amazon S3 API + * Reference.

                      + */ + public invokeEndpointAsync( + args: InvokeEndpointAsyncCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public invokeEndpointAsync( + args: InvokeEndpointAsyncCommandInput, + cb: (err: any, data?: InvokeEndpointAsyncCommandOutput) => void + ): void; + public invokeEndpointAsync( + args: InvokeEndpointAsyncCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: InvokeEndpointAsyncCommandOutput) => void + ): void; + public invokeEndpointAsync( + args: InvokeEndpointAsyncCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: InvokeEndpointAsyncCommandOutput) => void), + cb?: (err: any, data?: InvokeEndpointAsyncCommandOutput) => void + ): Promise | void { + const command = new InvokeEndpointAsyncCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } } diff --git a/clients/client-sagemaker-runtime/SageMakerRuntimeClient.ts b/clients/client-sagemaker-runtime/SageMakerRuntimeClient.ts index b1b6dcd207f8..ef7bf960a93b 100644 --- a/clients/client-sagemaker-runtime/SageMakerRuntimeClient.ts +++ b/clients/client-sagemaker-runtime/SageMakerRuntimeClient.ts @@ -1,3 +1,7 @@ +import { + InvokeEndpointAsyncCommandInput, + InvokeEndpointAsyncCommandOutput, +} from "./commands/InvokeEndpointAsyncCommand"; import { InvokeEndpointCommandInput, InvokeEndpointCommandOutput } from "./commands/InvokeEndpointCommand"; import { getRuntimeConfig as __getRuntimeConfig } from "./runtimeConfig"; import { @@ -51,9 +55,9 @@ import { UserAgent as __UserAgent, } from "@aws-sdk/types"; -export type ServiceInputTypes = InvokeEndpointCommandInput; +export type ServiceInputTypes = InvokeEndpointAsyncCommandInput | InvokeEndpointCommandInput; -export type ServiceOutputTypes = InvokeEndpointCommandOutput; +export type ServiceOutputTypes = InvokeEndpointAsyncCommandOutput | InvokeEndpointCommandOutput; export interface ClientDefaults extends Partial<__SmithyResolvedConfiguration<__HttpHandlerOptions>> { /** diff --git a/clients/client-sagemaker-runtime/commands/InvokeEndpointAsyncCommand.ts b/clients/client-sagemaker-runtime/commands/InvokeEndpointAsyncCommand.ts new file mode 100644 index 000000000000..0b5e6b744a2d --- /dev/null +++ b/clients/client-sagemaker-runtime/commands/InvokeEndpointAsyncCommand.ts @@ -0,0 +1,110 @@ +import { SageMakerRuntimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SageMakerRuntimeClient"; +import { InvokeEndpointAsyncInput, InvokeEndpointAsyncOutput } from "../models/models_0"; +import { + deserializeAws_restJson1InvokeEndpointAsyncCommand, + serializeAws_restJson1InvokeEndpointAsyncCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export interface InvokeEndpointAsyncCommandInput extends InvokeEndpointAsyncInput {} +export interface InvokeEndpointAsyncCommandOutput extends InvokeEndpointAsyncOutput, __MetadataBearer {} + +/** + *

                      After you deploy a model into production using Amazon SageMaker hosting services, + * your client applications use this API to get inferences from the model hosted at + * the specified endpoint in an asynchronous manner.

                      + * + *

                      Inference requests sent to this API are enqueued for asynchronous processing. + * The processing of the inference request may or may not complete before the + * you receive a response from this API. The response from this API will + * not contain the result of the inference request but contain information + * about where you can locate it.

                      + * + *

                      Amazon SageMaker strips all POST headers except those supported by the API. + * Amazon SageMaker might add additional headers. You should not rely on the behavior + * of headers outside those enumerated in the request syntax.

                      + * + *

                      Calls to InvokeEndpointAsync are authenticated by using AWS Signature + * Version 4. For information, see Authenticating Requests (AWS Signature Version 4) in the Amazon S3 API + * Reference.

                      + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { SageMakerRuntimeClient, InvokeEndpointAsyncCommand } from "@aws-sdk/client-sagemaker-runtime"; // ES Modules import + * // const { SageMakerRuntimeClient, InvokeEndpointAsyncCommand } = require("@aws-sdk/client-sagemaker-runtime"); // CommonJS import + * const client = new SageMakerRuntimeClient(config); + * const command = new InvokeEndpointAsyncCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link InvokeEndpointAsyncCommandInput} for command's `input` shape. + * @see {@link InvokeEndpointAsyncCommandOutput} for command's `response` shape. + * @see {@link SageMakerRuntimeClientResolvedConfig | config} for command's `input` shape. + * + */ +export class InvokeEndpointAsyncCommand extends $Command< + InvokeEndpointAsyncCommandInput, + InvokeEndpointAsyncCommandOutput, + SageMakerRuntimeClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: InvokeEndpointAsyncCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: SageMakerRuntimeClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "SageMakerRuntimeClient"; + const commandName = "InvokeEndpointAsyncCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: InvokeEndpointAsyncInput.filterSensitiveLog, + outputFilterSensitiveLog: InvokeEndpointAsyncOutput.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: InvokeEndpointAsyncCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1InvokeEndpointAsyncCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1InvokeEndpointAsyncCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-sagemaker-runtime/index.ts b/clients/client-sagemaker-runtime/index.ts index 49611422a43b..5c202bda635a 100644 --- a/clients/client-sagemaker-runtime/index.ts +++ b/clients/client-sagemaker-runtime/index.ts @@ -1,4 +1,5 @@ export * from "./SageMakerRuntimeClient"; export * from "./SageMakerRuntime"; export * from "./commands/InvokeEndpointCommand"; +export * from "./commands/InvokeEndpointAsyncCommand"; export * from "./models/index"; diff --git a/clients/client-sagemaker-runtime/models/models_0.ts b/clients/client-sagemaker-runtime/models/models_0.ts index 027b4702f347..e404f1c416de 100644 --- a/clients/client-sagemaker-runtime/models/models_0.ts +++ b/clients/client-sagemaker-runtime/models/models_0.ts @@ -222,3 +222,90 @@ export namespace ValidationError { ...obj, }); } + +export interface InvokeEndpointAsyncInput { + /** + *

                      The name of the endpoint that you specified when you created the endpoint using + * the + * CreateEndpoint + * API.

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

                      The MIME type of the input data in the request body.

                      + */ + ContentType?: string; + + /** + *

                      The desired MIME type of the inference in the response.

                      + */ + Accept?: string; + + /** + *

                      Provides additional information about a request for an inference submitted to + * a model hosted at an Amazon SageMaker endpoint. The information is an opaque value that is + * forwarded verbatim. You could use this value, for example, to provide an ID that you + * can use to track a request or to provide other metadata that a service endpoint was + * programmed to process. The value must consist of no more than 1024 + * visible US-ASCII characters as specified in + * Section 3.3.6. + * Field Value Components of the Hypertext Transfer Protocol (HTTP/1.1).

                      + * + *

                      The code in your model is responsible for setting or updating any custom attributes + * in the response. If your code does not set this value in the response, an empty + * value is returned. For example, if a custom attribute represents the trace ID, + * your model can prepend the custom attribute with Trace ID: in your post-processing function.

                      + * + *

                      This feature is currently supported in the AWS SDKs but not in the Amazon SageMaker Python SDK.

                      + */ + CustomAttributes?: string; + + /** + *

                      The identifier for the inference request. Amazon SageMaker will generate an identifier for you + * if none is specified.

                      + */ + InferenceId?: string; + + /** + *

                      The Amazon S3 URI where the inference request payload is stored.

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

                      Maximum age in seconds a request can be in the queue before it is marked as expired.

                      + */ + RequestTTLSeconds?: number; +} + +export namespace InvokeEndpointAsyncInput { + /** + * @internal + */ + export const filterSensitiveLog = (obj: InvokeEndpointAsyncInput): any => ({ + ...obj, + ...(obj.CustomAttributes && { CustomAttributes: SENSITIVE_STRING }), + }); +} + +export interface InvokeEndpointAsyncOutput { + /** + *

                      Identifier for an inference request. This will be the same as the InferenceId specified + * in the input. Amazon SageMaker will generate an identifier for you if you do not specify one.

                      + */ + InferenceId?: string; + + /** + *

                      The Amazon S3 URI where the inference response payload is stored.

                      + */ + OutputLocation?: string; +} + +export namespace InvokeEndpointAsyncOutput { + /** + * @internal + */ + export const filterSensitiveLog = (obj: InvokeEndpointAsyncOutput): any => ({ + ...obj, + }); +} diff --git a/clients/client-sagemaker-runtime/protocols/Aws_restJson1.ts b/clients/client-sagemaker-runtime/protocols/Aws_restJson1.ts index 9b89e7a46fb9..d6020b39d538 100644 --- a/clients/client-sagemaker-runtime/protocols/Aws_restJson1.ts +++ b/clients/client-sagemaker-runtime/protocols/Aws_restJson1.ts @@ -1,3 +1,7 @@ +import { + InvokeEndpointAsyncCommandInput, + InvokeEndpointAsyncCommandOutput, +} from "../commands/InvokeEndpointAsyncCommand"; import { InvokeEndpointCommandInput, InvokeEndpointCommandOutput } from "../commands/InvokeEndpointCommand"; import { InternalFailure, ModelError, ServiceUnavailable, ValidationError } from "../models/models_0"; import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; @@ -59,6 +63,47 @@ export const serializeAws_restJson1InvokeEndpointCommand = async ( }); }; +export const serializeAws_restJson1InvokeEndpointAsyncCommand = async ( + input: InvokeEndpointAsyncCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = { + ...(isSerializableHeaderValue(input.ContentType) && { "x-amzn-sagemaker-content-type": input.ContentType! }), + ...(isSerializableHeaderValue(input.Accept) && { "x-amzn-sagemaker-accept": input.Accept! }), + ...(isSerializableHeaderValue(input.CustomAttributes) && { + "x-amzn-sagemaker-custom-attributes": input.CustomAttributes!, + }), + ...(isSerializableHeaderValue(input.InferenceId) && { "x-amzn-sagemaker-inference-id": input.InferenceId! }), + ...(isSerializableHeaderValue(input.InputLocation) && { "x-amzn-sagemaker-inputlocation": input.InputLocation! }), + ...(isSerializableHeaderValue(input.RequestTTLSeconds) && { + "x-amzn-sagemaker-requestttlseconds": input.RequestTTLSeconds!.toString(), + }), + }; + let resolvedPath = + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + + "/endpoints/{EndpointName}/async-invocations"; + if (input.EndpointName !== undefined) { + const labelValue: string = input.EndpointName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: EndpointName."); + } + resolvedPath = resolvedPath.replace("{EndpointName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: EndpointName."); + } + let body: any; + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + export const deserializeAws_restJson1InvokeEndpointCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -148,6 +193,81 @@ const deserializeAws_restJson1InvokeEndpointCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_restJson1InvokeEndpointAsyncCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 202 && output.statusCode >= 300) { + return deserializeAws_restJson1InvokeEndpointAsyncCommandError(output, context); + } + const contents: InvokeEndpointAsyncCommandOutput = { + $metadata: deserializeMetadata(output), + InferenceId: undefined, + OutputLocation: undefined, + }; + if (output.headers["x-amzn-sagemaker-outputlocation"] !== undefined) { + contents.OutputLocation = output.headers["x-amzn-sagemaker-outputlocation"]; + } + const data: any = await parseBody(output.body, context); + if (data.InferenceId !== undefined && data.InferenceId !== null) { + contents.InferenceId = __expectString(data.InferenceId); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1InvokeEndpointAsyncCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InternalFailure": + case "com.amazonaws.sagemakerruntime#InternalFailure": + response = { + ...(await deserializeAws_restJson1InternalFailureResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceUnavailable": + case "com.amazonaws.sagemakerruntime#ServiceUnavailable": + response = { + ...(await deserializeAws_restJson1ServiceUnavailableResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationError": + case "com.amazonaws.sagemakerruntime#ValidationError": + response = { + ...(await deserializeAws_restJson1ValidationErrorResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + const deserializeAws_restJson1InternalFailureResponse = async ( parsedOutput: any, context: __SerdeContext diff --git a/clients/client-sagemaker/commands/CreateModelBiasJobDefinitionCommand.ts b/clients/client-sagemaker/commands/CreateModelBiasJobDefinitionCommand.ts index 10c520818bdb..d0f5db5931a4 100644 --- a/clients/client-sagemaker/commands/CreateModelBiasJobDefinitionCommand.ts +++ b/clients/client-sagemaker/commands/CreateModelBiasJobDefinitionCommand.ts @@ -1,5 +1,5 @@ import { SageMakerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SageMakerClient"; -import { CreateModelBiasJobDefinitionRequest, CreateModelBiasJobDefinitionResponse } from "../models/models_0"; +import { CreateModelBiasJobDefinitionRequest, CreateModelBiasJobDefinitionResponse } from "../models/models_1"; import { deserializeAws_json1_1CreateModelBiasJobDefinitionCommand, serializeAws_json1_1CreateModelBiasJobDefinitionCommand, diff --git a/clients/client-sagemaker/commands/DescribeTrialCommand.ts b/clients/client-sagemaker/commands/DescribeTrialCommand.ts index 5dc5495d0769..4cc1b2d513e6 100644 --- a/clients/client-sagemaker/commands/DescribeTrialCommand.ts +++ b/clients/client-sagemaker/commands/DescribeTrialCommand.ts @@ -1,5 +1,5 @@ import { SageMakerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SageMakerClient"; -import { DescribeTrialRequest, DescribeTrialResponse } from "../models/models_1"; +import { DescribeTrialRequest, DescribeTrialResponse } from "../models/models_2"; import { deserializeAws_json1_1DescribeTrialCommand, serializeAws_json1_1DescribeTrialCommand, diff --git a/clients/client-sagemaker/commands/DescribeTrialComponentCommand.ts b/clients/client-sagemaker/commands/DescribeTrialComponentCommand.ts index 4649b80d55e3..dbd05c7b1858 100644 --- a/clients/client-sagemaker/commands/DescribeTrialComponentCommand.ts +++ b/clients/client-sagemaker/commands/DescribeTrialComponentCommand.ts @@ -1,6 +1,5 @@ import { SageMakerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SageMakerClient"; -import { DescribeTrialComponentRequest } from "../models/models_1"; -import { DescribeTrialComponentResponse } from "../models/models_2"; +import { DescribeTrialComponentRequest, DescribeTrialComponentResponse } from "../models/models_2"; import { deserializeAws_json1_1DescribeTrialComponentCommand, serializeAws_json1_1DescribeTrialComponentCommand, diff --git a/clients/client-sagemaker/commands/UpdateEndpointCommand.ts b/clients/client-sagemaker/commands/UpdateEndpointCommand.ts index cc96cf4486a6..baa2c801eace 100644 --- a/clients/client-sagemaker/commands/UpdateEndpointCommand.ts +++ b/clients/client-sagemaker/commands/UpdateEndpointCommand.ts @@ -1,5 +1,6 @@ import { SageMakerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SageMakerClient"; -import { UpdateEndpointInput, UpdateEndpointOutput } from "../models/models_2"; +import { UpdateEndpointInput } from "../models/models_2"; +import { UpdateEndpointOutput } from "../models/models_3"; import { deserializeAws_json1_1UpdateEndpointCommand, serializeAws_json1_1UpdateEndpointCommand, diff --git a/clients/client-sagemaker/commands/UpdateEndpointWeightsAndCapacitiesCommand.ts b/clients/client-sagemaker/commands/UpdateEndpointWeightsAndCapacitiesCommand.ts index 1d6870ab7e33..d78c6a42a776 100644 --- a/clients/client-sagemaker/commands/UpdateEndpointWeightsAndCapacitiesCommand.ts +++ b/clients/client-sagemaker/commands/UpdateEndpointWeightsAndCapacitiesCommand.ts @@ -1,5 +1,5 @@ import { SageMakerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SageMakerClient"; -import { UpdateEndpointWeightsAndCapacitiesInput, UpdateEndpointWeightsAndCapacitiesOutput } from "../models/models_2"; +import { UpdateEndpointWeightsAndCapacitiesInput, UpdateEndpointWeightsAndCapacitiesOutput } from "../models/models_3"; import { deserializeAws_json1_1UpdateEndpointWeightsAndCapacitiesCommand, serializeAws_json1_1UpdateEndpointWeightsAndCapacitiesCommand, diff --git a/clients/client-sagemaker/commands/UpdateExperimentCommand.ts b/clients/client-sagemaker/commands/UpdateExperimentCommand.ts index 94fd74099698..a6638bf01ac4 100644 --- a/clients/client-sagemaker/commands/UpdateExperimentCommand.ts +++ b/clients/client-sagemaker/commands/UpdateExperimentCommand.ts @@ -1,6 +1,5 @@ import { SageMakerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SageMakerClient"; -import { UpdateExperimentRequest } from "../models/models_2"; -import { UpdateExperimentResponse } from "../models/models_3"; +import { UpdateExperimentRequest, UpdateExperimentResponse } from "../models/models_3"; import { deserializeAws_json1_1UpdateExperimentCommand, serializeAws_json1_1UpdateExperimentCommand, diff --git a/clients/client-sagemaker/models/models_0.ts b/clients/client-sagemaker/models/models_0.ts index 773c5cb4d223..a7bcf5c537b5 100644 --- a/clients/client-sagemaker/models/models_0.ts +++ b/clients/client-sagemaker/models/models_0.ts @@ -3699,6 +3699,109 @@ export namespace AssociationSummary { }); } +/** + *

                      Configures the behavior of the client used by Amazon SageMaker to interact with the + * model container during asynchronous inference.

                      + */ +export interface AsyncInferenceClientConfig { + /** + *

                      The maximum number of concurrent requests sent by the SageMaker client to the + * model container. If no value is provided, Amazon SageMaker will choose an optimal value for you.

                      + */ + MaxConcurrentInvocationsPerInstance?: number; +} + +export namespace AsyncInferenceClientConfig { + /** + * @internal + */ + export const filterSensitiveLog = (obj: AsyncInferenceClientConfig): any => ({ + ...obj, + }); +} + +/** + *

                      Specifies the configuration for notifications of inference results for asynchronous inference.

                      + */ +export interface AsyncInferenceNotificationConfig { + /** + *

                      Amazon SNS topic to post a notification to when inference completes successfully. + * If no topic is provided, no notification is sent on success.

                      + */ + SuccessTopic?: string; + + /** + *

                      Amazon SNS topic to post a notification to when inference fails. + * If no topic is provided, no notification is sent on failure.

                      + */ + ErrorTopic?: string; +} + +export namespace AsyncInferenceNotificationConfig { + /** + * @internal + */ + export const filterSensitiveLog = (obj: AsyncInferenceNotificationConfig): any => ({ + ...obj, + }); +} + +/** + *

                      Specifies the configuration for asynchronous inference invocation outputs.

                      + */ +export interface AsyncInferenceOutputConfig { + /** + *

                      The Amazon Web Services Key Management Service (Amazon Web Services KMS) key that + * Amazon SageMaker uses to encrypt the asynchronous inference output in Amazon S3.

                      + *

                      + */ + KmsKeyId?: string; + + /** + *

                      The Amazon S3 location to upload inference responses to.

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

                      Specifies the configuration for notifications of inference results for asynchronous inference.

                      + */ + NotificationConfig?: AsyncInferenceNotificationConfig; +} + +export namespace AsyncInferenceOutputConfig { + /** + * @internal + */ + export const filterSensitiveLog = (obj: AsyncInferenceOutputConfig): any => ({ + ...obj, + }); +} + +/** + *

                      Specifies configuration for how an endpoint performs asynchronous inference.

                      + */ +export interface AsyncInferenceConfig { + /** + *

                      Configures the behavior of the client used by Amazon SageMaker to interact + * with the model container during asynchronous inference.

                      + */ + ClientConfig?: AsyncInferenceClientConfig; + + /** + *

                      Specifies the configuration for asynchronous inference invocation outputs.

                      + */ + OutputConfig: AsyncInferenceOutputConfig | undefined; +} + +export namespace AsyncInferenceConfig { + /** + * @internal + */ + export const filterSensitiveLog = (obj: AsyncInferenceConfig): any => ({ + ...obj, + }); +} + export enum AthenaResultCompressionType { GZIP = "GZIP", SNAPPY = "SNAPPY", @@ -8884,6 +8987,15 @@ export interface CreateEndpointConfigInput { * */ KmsKeyId?: string; + + /** + *

                      Specifies configuration for how an endpoint performs asynchronous inference. + * This is a required field in order for your Endpoint to be invoked using + * + * InvokeEndpointAsync + * .

                      + */ + AsyncInferenceConfig?: AsyncInferenceConfig; } export namespace CreateEndpointConfigInput { @@ -13522,138 +13634,3 @@ export namespace MonitoringGroundTruthS3Input { ...obj, }); } - -/** - *

                      Inputs for the model bias job.

                      - */ -export interface ModelBiasJobInput { - /** - *

                      Input object for the endpoint

                      - */ - EndpointInput: EndpointInput | undefined; - - /** - *

                      Location of ground truth labels to use in model bias job.

                      - */ - GroundTruthS3Input: MonitoringGroundTruthS3Input | undefined; -} - -export namespace ModelBiasJobInput { - /** - * @internal - */ - export const filterSensitiveLog = (obj: ModelBiasJobInput): any => ({ - ...obj, - }); -} - -export interface CreateModelBiasJobDefinitionRequest { - /** - *

                      The name of the bias job definition. The name must be unique within an Amazon Web Services Region in the - * Amazon Web Services account.

                      - */ - JobDefinitionName: string | undefined; - - /** - *

                      The baseline configuration for a model bias job.

                      - */ - ModelBiasBaselineConfig?: ModelBiasBaselineConfig; - - /** - *

                      Configures the model bias job to run a specified Docker container image.

                      - */ - ModelBiasAppSpecification: ModelBiasAppSpecification | undefined; - - /** - *

                      Inputs for the model bias job.

                      - */ - ModelBiasJobInput: ModelBiasJobInput | undefined; - - /** - *

                      The output configuration for monitoring jobs.

                      - */ - ModelBiasJobOutputConfig: MonitoringOutputConfig | undefined; - - /** - *

                      Identifies the resources to deploy for a monitoring job.

                      - */ - JobResources: MonitoringResources | undefined; - - /** - *

                      Networking options for a model bias job.

                      - */ - NetworkConfig?: MonitoringNetworkConfig; - - /** - *

                      The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can assume to - * perform tasks on your behalf.

                      - */ - RoleArn: string | undefined; - - /** - *

                      A time limit for how long the monitoring job is allowed to run before stopping.

                      - */ - StoppingCondition?: MonitoringStoppingCondition; - - /** - *

                      (Optional) An array of key-value pairs. For more information, see Using Cost Allocation Tags in the Amazon Web Services Billing and Cost Management - * User Guide.

                      - */ - Tags?: Tag[]; -} - -export namespace CreateModelBiasJobDefinitionRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: CreateModelBiasJobDefinitionRequest): any => ({ - ...obj, - }); -} - -export interface CreateModelBiasJobDefinitionResponse { - /** - *

                      The Amazon Resource Name (ARN) of the model bias job.

                      - */ - JobDefinitionArn: string | undefined; -} - -export namespace CreateModelBiasJobDefinitionResponse { - /** - * @internal - */ - export const filterSensitiveLog = (obj: CreateModelBiasJobDefinitionResponse): any => ({ - ...obj, - }); -} - -/** - *

                      Docker container image configuration object for the model explainability job.

                      - */ -export interface ModelExplainabilityAppSpecification { - /** - *

                      The container image to be run by the model explainability job.

                      - */ - ImageUri: string | undefined; - - /** - *

                      JSON formatted S3 file that defines explainability parameters. For more information on - * this JSON configuration file, see Configure model - * explainability parameters.

                      - */ - ConfigUri: string | undefined; - - /** - *

                      Sets the environment variables in the Docker container.

                      - */ - Environment?: { [key: string]: string }; -} - -export namespace ModelExplainabilityAppSpecification { - /** - * @internal - */ - export const filterSensitiveLog = (obj: ModelExplainabilityAppSpecification): any => ({ - ...obj, - }); -} diff --git a/clients/client-sagemaker/models/models_1.ts b/clients/client-sagemaker/models/models_1.ts index 18d85b9a5d22..713d456bf1c2 100644 --- a/clients/client-sagemaker/models/models_1.ts +++ b/clients/client-sagemaker/models/models_1.ts @@ -10,6 +10,7 @@ import { AppStatus, AppType, ArtifactSource, + AsyncInferenceConfig, AthenaDatasetDefinition, AuthMode, AutoMLCandidate, @@ -65,9 +66,7 @@ import { MetricsSource, ModelBiasAppSpecification, ModelBiasBaselineConfig, - ModelBiasJobInput, ModelDeployConfig, - ModelExplainabilityAppSpecification, MonitoringConstraintsResource, MonitoringGroundTruthS3Input, MonitoringNetworkConfig, @@ -103,6 +102,141 @@ import { } from "./models_0"; import { SENSITIVE_STRING } from "@aws-sdk/smithy-client"; +/** + *

                      Inputs for the model bias job.

                      + */ +export interface ModelBiasJobInput { + /** + *

                      Input object for the endpoint

                      + */ + EndpointInput: EndpointInput | undefined; + + /** + *

                      Location of ground truth labels to use in model bias job.

                      + */ + GroundTruthS3Input: MonitoringGroundTruthS3Input | undefined; +} + +export namespace ModelBiasJobInput { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ModelBiasJobInput): any => ({ + ...obj, + }); +} + +export interface CreateModelBiasJobDefinitionRequest { + /** + *

                      The name of the bias job definition. The name must be unique within an Amazon Web Services Region in the + * Amazon Web Services account.

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

                      The baseline configuration for a model bias job.

                      + */ + ModelBiasBaselineConfig?: ModelBiasBaselineConfig; + + /** + *

                      Configures the model bias job to run a specified Docker container image.

                      + */ + ModelBiasAppSpecification: ModelBiasAppSpecification | undefined; + + /** + *

                      Inputs for the model bias job.

                      + */ + ModelBiasJobInput: ModelBiasJobInput | undefined; + + /** + *

                      The output configuration for monitoring jobs.

                      + */ + ModelBiasJobOutputConfig: MonitoringOutputConfig | undefined; + + /** + *

                      Identifies the resources to deploy for a monitoring job.

                      + */ + JobResources: MonitoringResources | undefined; + + /** + *

                      Networking options for a model bias job.

                      + */ + NetworkConfig?: MonitoringNetworkConfig; + + /** + *

                      The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can assume to + * perform tasks on your behalf.

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

                      A time limit for how long the monitoring job is allowed to run before stopping.

                      + */ + StoppingCondition?: MonitoringStoppingCondition; + + /** + *

                      (Optional) An array of key-value pairs. For more information, see Using Cost Allocation Tags in the Amazon Web Services Billing and Cost Management + * User Guide.

                      + */ + Tags?: Tag[]; +} + +export namespace CreateModelBiasJobDefinitionRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: CreateModelBiasJobDefinitionRequest): any => ({ + ...obj, + }); +} + +export interface CreateModelBiasJobDefinitionResponse { + /** + *

                      The Amazon Resource Name (ARN) of the model bias job.

                      + */ + JobDefinitionArn: string | undefined; +} + +export namespace CreateModelBiasJobDefinitionResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: CreateModelBiasJobDefinitionResponse): any => ({ + ...obj, + }); +} + +/** + *

                      Docker container image configuration object for the model explainability job.

                      + */ +export interface ModelExplainabilityAppSpecification { + /** + *

                      The container image to be run by the model explainability job.

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

                      JSON formatted S3 file that defines explainability parameters. For more information on + * this JSON configuration file, see Configure model + * explainability parameters.

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

                      Sets the environment variables in the Docker container.

                      + */ + Environment?: { [key: string]: string }; +} + +export namespace ModelExplainabilityAppSpecification { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ModelExplainabilityAppSpecification): any => ({ + ...obj, + }); +} + /** *

                      The configuration for a baseline model explainability job.

                      */ @@ -1175,11 +1309,25 @@ export enum _InstanceType { ML_C5_4XLARGE = "ml.c5.4xlarge", ML_C5_9XLARGE = "ml.c5.9xlarge", ML_C5_XLARGE = "ml.c5.xlarge", + ML_G4DN_12XLARGE = "ml.g4dn.12xlarge", + ML_G4DN_16XLARGE = "ml.g4dn.16xlarge", + ML_G4DN_2XLARGE = "ml.g4dn.2xlarge", + ML_G4DN_4XLARGE = "ml.g4dn.4xlarge", + ML_G4DN_8XLARGE = "ml.g4dn.8xlarge", + ML_G4DN_XLARGE = "ml.g4dn.xlarge", ML_M4_10XLARGE = "ml.m4.10xlarge", ML_M4_16XLARGE = "ml.m4.16xlarge", ML_M4_2XLARGE = "ml.m4.2xlarge", ML_M4_4XLARGE = "ml.m4.4xlarge", ML_M4_XLARGE = "ml.m4.xlarge", + ML_M5D_12XLARGE = "ml.m5d.12xlarge", + ML_M5D_16XLARGE = "ml.m5d.16xlarge", + ML_M5D_24XLARGE = "ml.m5d.24xlarge", + ML_M5D_2XLARGE = "ml.m5d.2xlarge", + ML_M5D_4XLARGE = "ml.m5d.4xlarge", + ML_M5D_8XLARGE = "ml.m5d.8xlarge", + ML_M5D_LARGE = "ml.m5d.large", + ML_M5D_XLARGE = "ml.m5d.xlarge", ML_M5_12XLARGE = "ml.m5.12xlarge", ML_M5_24XLARGE = "ml.m5.24xlarge", ML_M5_2XLARGE = "ml.m5.2xlarge", @@ -1188,9 +1336,18 @@ export enum _InstanceType { ML_P2_16XLARGE = "ml.p2.16xlarge", ML_P2_8XLARGE = "ml.p2.8xlarge", ML_P2_XLARGE = "ml.p2.xlarge", + ML_P3DN_24XLARGE = "ml.p3dn.24xlarge", ML_P3_16XLARGE = "ml.p3.16xlarge", ML_P3_2XLARGE = "ml.p3.2xlarge", ML_P3_8XLARGE = "ml.p3.8xlarge", + ML_R5_12XLARGE = "ml.r5.12xlarge", + ML_R5_16XLARGE = "ml.r5.16xlarge", + ML_R5_24XLARGE = "ml.r5.24xlarge", + ML_R5_2XLARGE = "ml.r5.2xlarge", + ML_R5_4XLARGE = "ml.r5.4xlarge", + ML_R5_8XLARGE = "ml.r5.8xlarge", + ML_R5_LARGE = "ml.r5.large", + ML_R5_XLARGE = "ml.r5.xlarge", ML_T2_2XLARGE = "ml.t2.2xlarge", ML_T2_LARGE = "ml.t2.large", ML_T2_MEDIUM = "ml.t2.medium", @@ -1320,6 +1477,11 @@ export interface CreateNotebookInstanceInput { * */ RootAccess?: RootAccess | string; + + /** + *

                      The platform identifier of the notebook instance runtime environment.

                      + */ + PlatformIdentifier?: string; } export namespace CreateNotebookInstanceInput { @@ -3527,12 +3689,12 @@ export namespace MemberDefinition { } /** - *

                      Configures SNS notifications of available or expiring work items for work + *

                      Configures Amazon SNS notifications of available or expiring work items for work * teams.

                      */ export interface NotificationConfiguration { /** - *

                      The ARN for the SNS topic to which notifications should be published.

                      + *

                      The ARN for the Amazon SNS topic to which notifications should be published.

                      */ NotificationTopicArn?: string; } @@ -6316,6 +6478,14 @@ export interface DescribeEndpointOutput { *

                      The most recent deployment configuration for the endpoint.

                      */ LastDeploymentConfig?: DeploymentConfig; + + /** + *

                      Returns the description of an endpoint configuration created + * using the + * CreateEndpointConfig + * API.

                      + */ + AsyncInferenceConfig?: AsyncInferenceConfig; } export namespace DescribeEndpointOutput { @@ -6375,6 +6545,14 @@ export interface DescribeEndpointConfigOutput { *

                      A timestamp that shows when the endpoint configuration was created.

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

                      Returns the description of an endpoint configuration created using the + * + * CreateEndpointConfig + * API.

                      + */ + AsyncInferenceConfig?: AsyncInferenceConfig; } export namespace DescribeEndpointConfigOutput { @@ -8552,6 +8730,11 @@ export interface DescribeNotebookInstanceOutput { * */ RootAccess?: RootAccess | string; + + /** + *

                      The platform identifier of the notebook instance runtime environment.

                      + */ + PlatformIdentifier?: string; } export namespace DescribeNotebookInstanceOutput { @@ -10132,121 +10315,3 @@ export namespace DescribeTransformJobResponse { ...obj, }); } - -export interface DescribeTrialRequest { - /** - *

                      The name of the trial to describe.

                      - */ - TrialName: string | undefined; -} - -export namespace DescribeTrialRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: DescribeTrialRequest): any => ({ - ...obj, - }); -} - -/** - *

                      The source of the trial.

                      - */ -export interface TrialSource { - /** - *

                      The Amazon Resource Name (ARN) of the source.

                      - */ - SourceArn: string | undefined; - - /** - *

                      The source job type.

                      - */ - SourceType?: string; -} - -export namespace TrialSource { - /** - * @internal - */ - export const filterSensitiveLog = (obj: TrialSource): any => ({ - ...obj, - }); -} - -export interface DescribeTrialResponse { - /** - *

                      The name of the trial.

                      - */ - TrialName?: string; - - /** - *

                      The Amazon Resource Name (ARN) of the trial.

                      - */ - TrialArn?: string; - - /** - *

                      The name of the trial as displayed. If DisplayName isn't specified, - * TrialName is displayed.

                      - */ - DisplayName?: string; - - /** - *

                      The name of the experiment the trial is part of.

                      - */ - ExperimentName?: string; - - /** - *

                      The Amazon Resource Name (ARN) of the source and, optionally, the job type.

                      - */ - Source?: TrialSource; - - /** - *

                      When the trial was created.

                      - */ - CreationTime?: Date; - - /** - *

                      Who created the trial.

                      - */ - CreatedBy?: UserContext; - - /** - *

                      When the trial was last modified.

                      - */ - LastModifiedTime?: Date; - - /** - *

                      Who last modified the trial.

                      - */ - LastModifiedBy?: UserContext; - - /** - *

                      Metadata properties of the tracking entity, trial, or trial component.

                      - */ - MetadataProperties?: MetadataProperties; -} - -export namespace DescribeTrialResponse { - /** - * @internal - */ - export const filterSensitiveLog = (obj: DescribeTrialResponse): any => ({ - ...obj, - }); -} - -export interface DescribeTrialComponentRequest { - /** - *

                      The name of the trial component to describe.

                      - */ - TrialComponentName: string | undefined; -} - -export namespace DescribeTrialComponentRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: DescribeTrialComponentRequest): any => ({ - ...obj, - }); -} diff --git a/clients/client-sagemaker/models/models_2.ts b/clients/client-sagemaker/models/models_2.ts index 2d06065473be..193668049b84 100644 --- a/clients/client-sagemaker/models/models_2.ts +++ b/clients/client-sagemaker/models/models_2.ts @@ -121,10 +121,127 @@ import { TrialComponentArtifact, TrialComponentParameterValue, TrialComponentStatus, - TrialSource, _InstanceType, } from "./models_1"; +export interface DescribeTrialRequest { + /** + *

                      The name of the trial to describe.

                      + */ + TrialName: string | undefined; +} + +export namespace DescribeTrialRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeTrialRequest): any => ({ + ...obj, + }); +} + +/** + *

                      The source of the trial.

                      + */ +export interface TrialSource { + /** + *

                      The Amazon Resource Name (ARN) of the source.

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

                      The source job type.

                      + */ + SourceType?: string; +} + +export namespace TrialSource { + /** + * @internal + */ + export const filterSensitiveLog = (obj: TrialSource): any => ({ + ...obj, + }); +} + +export interface DescribeTrialResponse { + /** + *

                      The name of the trial.

                      + */ + TrialName?: string; + + /** + *

                      The Amazon Resource Name (ARN) of the trial.

                      + */ + TrialArn?: string; + + /** + *

                      The name of the trial as displayed. If DisplayName isn't specified, + * TrialName is displayed.

                      + */ + DisplayName?: string; + + /** + *

                      The name of the experiment the trial is part of.

                      + */ + ExperimentName?: string; + + /** + *

                      The Amazon Resource Name (ARN) of the source and, optionally, the job type.

                      + */ + Source?: TrialSource; + + /** + *

                      When the trial was created.

                      + */ + CreationTime?: Date; + + /** + *

                      Who created the trial.

                      + */ + CreatedBy?: UserContext; + + /** + *

                      When the trial was last modified.

                      + */ + LastModifiedTime?: Date; + + /** + *

                      Who last modified the trial.

                      + */ + LastModifiedBy?: UserContext; + + /** + *

                      Metadata properties of the tracking entity, trial, or trial component.

                      + */ + MetadataProperties?: MetadataProperties; +} + +export namespace DescribeTrialResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeTrialResponse): any => ({ + ...obj, + }); +} + +export interface DescribeTrialComponentRequest { + /** + *

                      The name of the trial component to describe.

                      + */ + TrialComponentName: string | undefined; +} + +export namespace DescribeTrialComponentRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeTrialComponentRequest): any => ({ + ...obj, + }); +} + /** *

                      A summary of the metrics of a trial component.

                      */ @@ -10500,83 +10617,3 @@ export namespace UpdateEndpointInput { ...obj, }); } - -export interface UpdateEndpointOutput { - /** - *

                      The Amazon Resource Name (ARN) of the endpoint.

                      - */ - EndpointArn: string | undefined; -} - -export namespace UpdateEndpointOutput { - /** - * @internal - */ - export const filterSensitiveLog = (obj: UpdateEndpointOutput): any => ({ - ...obj, - }); -} - -export interface UpdateEndpointWeightsAndCapacitiesInput { - /** - *

                      The name of an existing Amazon SageMaker endpoint.

                      - */ - EndpointName: string | undefined; - - /** - *

                      An object that provides new capacity and weight values for a variant.

                      - */ - DesiredWeightsAndCapacities: DesiredWeightAndCapacity[] | undefined; -} - -export namespace UpdateEndpointWeightsAndCapacitiesInput { - /** - * @internal - */ - export const filterSensitiveLog = (obj: UpdateEndpointWeightsAndCapacitiesInput): any => ({ - ...obj, - }); -} - -export interface UpdateEndpointWeightsAndCapacitiesOutput { - /** - *

                      The Amazon Resource Name (ARN) of the updated endpoint.

                      - */ - EndpointArn: string | undefined; -} - -export namespace UpdateEndpointWeightsAndCapacitiesOutput { - /** - * @internal - */ - export const filterSensitiveLog = (obj: UpdateEndpointWeightsAndCapacitiesOutput): any => ({ - ...obj, - }); -} - -export interface UpdateExperimentRequest { - /** - *

                      The name of the experiment to update.

                      - */ - ExperimentName: string | undefined; - - /** - *

                      The name of the experiment as displayed. The name doesn't need to be unique. If - * DisplayName isn't specified, ExperimentName is displayed.

                      - */ - DisplayName?: string; - - /** - *

                      The description of the experiment.

                      - */ - Description?: string; -} - -export namespace UpdateExperimentRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: UpdateExperimentRequest): any => ({ - ...obj, - }); -} diff --git a/clients/client-sagemaker/models/models_3.ts b/clients/client-sagemaker/models/models_3.ts index 994f58e252e2..952debfddcf6 100644 --- a/clients/client-sagemaker/models/models_3.ts +++ b/clients/client-sagemaker/models/models_3.ts @@ -16,6 +16,7 @@ import { _InstanceType, } from "./models_1"; import { + DesiredWeightAndCapacity, Filter, NestedFilters, ProfilerConfigForUpdate, @@ -25,6 +26,86 @@ import { Workteam, } from "./models_2"; +export interface UpdateEndpointOutput { + /** + *

                      The Amazon Resource Name (ARN) of the endpoint.

                      + */ + EndpointArn: string | undefined; +} + +export namespace UpdateEndpointOutput { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpdateEndpointOutput): any => ({ + ...obj, + }); +} + +export interface UpdateEndpointWeightsAndCapacitiesInput { + /** + *

                      The name of an existing Amazon SageMaker endpoint.

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

                      An object that provides new capacity and weight values for a variant.

                      + */ + DesiredWeightsAndCapacities: DesiredWeightAndCapacity[] | undefined; +} + +export namespace UpdateEndpointWeightsAndCapacitiesInput { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpdateEndpointWeightsAndCapacitiesInput): any => ({ + ...obj, + }); +} + +export interface UpdateEndpointWeightsAndCapacitiesOutput { + /** + *

                      The Amazon Resource Name (ARN) of the updated endpoint.

                      + */ + EndpointArn: string | undefined; +} + +export namespace UpdateEndpointWeightsAndCapacitiesOutput { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpdateEndpointWeightsAndCapacitiesOutput): any => ({ + ...obj, + }); +} + +export interface UpdateExperimentRequest { + /** + *

                      The name of the experiment to update.

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

                      The name of the experiment as displayed. The name doesn't need to be unique. If + * DisplayName isn't specified, ExperimentName is displayed.

                      + */ + DisplayName?: string; + + /** + *

                      The description of the experiment.

                      + */ + Description?: string; +} + +export namespace UpdateExperimentRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpdateExperimentRequest): any => ({ + ...obj, + }); +} + export interface UpdateExperimentResponse { /** *

                      The Amazon Resource Name (ARN) of the experiment.

                      diff --git a/clients/client-sagemaker/protocols/Aws_json1_1.ts b/clients/client-sagemaker/protocols/Aws_json1_1.ts index 123a839d7eec..0e23e2a3e142 100644 --- a/clients/client-sagemaker/protocols/Aws_json1_1.ts +++ b/clients/client-sagemaker/protocols/Aws_json1_1.ts @@ -597,6 +597,10 @@ import { AssociateTrialComponentRequest, AssociateTrialComponentResponse, AssociationSummary, + AsyncInferenceClientConfig, + AsyncInferenceConfig, + AsyncInferenceNotificationConfig, + AsyncInferenceOutputConfig, AthenaDatasetDefinition, AutoMLCandidate, AutoMLCandidateStep, @@ -685,8 +689,6 @@ import { CreateImageVersionResponse, CreateLabelingJobRequest, CreateLabelingJobResponse, - CreateModelBiasJobDefinitionRequest, - CreateModelBiasJobDefinitionResponse, CreateModelInput, CreateModelOutput, CustomImage, @@ -740,9 +742,7 @@ import { MetricsSource, ModelBiasAppSpecification, ModelBiasBaselineConfig, - ModelBiasJobInput, ModelDeployConfig, - ModelExplainabilityAppSpecification, ModelPackageContainerDefinition, MonitoringClusterConfig, MonitoringConstraintsResource, @@ -806,6 +806,8 @@ import { VpcConfig, } from "../models/models_0"; import { + CreateModelBiasJobDefinitionRequest, + CreateModelBiasJobDefinitionResponse, CreateModelExplainabilityJobDefinitionRequest, CreateModelExplainabilityJobDefinitionResponse, CreateModelPackageGroupInput, @@ -987,9 +989,6 @@ import { DescribeTrainingJobResponse, DescribeTransformJobRequest, DescribeTransformJobResponse, - DescribeTrialComponentRequest, - DescribeTrialRequest, - DescribeTrialResponse, EdgeModel, EdgePresetDeploymentOutput, ExperimentConfig, @@ -1002,10 +1001,12 @@ import { MemberDefinition, MetricData, ModelArtifacts, + ModelBiasJobInput, ModelClientConfig, ModelDataQuality, ModelDeployResult, ModelDigests, + ModelExplainabilityAppSpecification, ModelExplainabilityBaselineConfig, ModelExplainabilityJobInput, ModelMetrics, @@ -1062,11 +1063,13 @@ import { TrialComponentArtifact, TrialComponentParameterValue, TrialComponentStatus, - TrialSource, UiTemplateInfo, } from "../models/models_1"; import { + DescribeTrialComponentRequest, DescribeTrialComponentResponse, + DescribeTrialRequest, + DescribeTrialResponse, DescribeUserProfileRequest, DescribeUserProfileResponse, DescribeWorkforceRequest, @@ -1292,6 +1295,7 @@ import { TrialComponentSource, TrialComponentSourceDetail, TrialComponentSummary, + TrialSource, TrialSummary, TuningJobStepMetaData, UpdateActionRequest, @@ -1309,10 +1313,6 @@ import { UpdateDomainRequest, UpdateDomainResponse, UpdateEndpointInput, - UpdateEndpointOutput, - UpdateEndpointWeightsAndCapacitiesInput, - UpdateEndpointWeightsAndCapacitiesOutput, - UpdateExperimentRequest, UserProfileDetails, VariantProperty, Workforce, @@ -1321,6 +1321,10 @@ import { import { SearchExpression, SearchRequest, + UpdateEndpointOutput, + UpdateEndpointWeightsAndCapacitiesInput, + UpdateEndpointWeightsAndCapacitiesOutput, + UpdateExperimentRequest, UpdateExperimentResponse, UpdateImageRequest, UpdateImageResponse, @@ -16985,6 +16989,55 @@ const serializeAws_json1_1AssociateTrialComponentRequest = ( }; }; +const serializeAws_json1_1AsyncInferenceClientConfig = ( + input: AsyncInferenceClientConfig, + context: __SerdeContext +): any => { + return { + ...(input.MaxConcurrentInvocationsPerInstance !== undefined && + input.MaxConcurrentInvocationsPerInstance !== null && { + MaxConcurrentInvocationsPerInstance: input.MaxConcurrentInvocationsPerInstance, + }), + }; +}; + +const serializeAws_json1_1AsyncInferenceConfig = (input: AsyncInferenceConfig, context: __SerdeContext): any => { + return { + ...(input.ClientConfig !== undefined && + input.ClientConfig !== null && { + ClientConfig: serializeAws_json1_1AsyncInferenceClientConfig(input.ClientConfig, context), + }), + ...(input.OutputConfig !== undefined && + input.OutputConfig !== null && { + OutputConfig: serializeAws_json1_1AsyncInferenceOutputConfig(input.OutputConfig, context), + }), + }; +}; + +const serializeAws_json1_1AsyncInferenceNotificationConfig = ( + input: AsyncInferenceNotificationConfig, + context: __SerdeContext +): any => { + return { + ...(input.ErrorTopic !== undefined && input.ErrorTopic !== null && { ErrorTopic: input.ErrorTopic }), + ...(input.SuccessTopic !== undefined && input.SuccessTopic !== null && { SuccessTopic: input.SuccessTopic }), + }; +}; + +const serializeAws_json1_1AsyncInferenceOutputConfig = ( + input: AsyncInferenceOutputConfig, + context: __SerdeContext +): any => { + return { + ...(input.KmsKeyId !== undefined && input.KmsKeyId !== null && { KmsKeyId: input.KmsKeyId }), + ...(input.NotificationConfig !== undefined && + input.NotificationConfig !== null && { + NotificationConfig: serializeAws_json1_1AsyncInferenceNotificationConfig(input.NotificationConfig, context), + }), + ...(input.S3OutputPath !== undefined && input.S3OutputPath !== null && { S3OutputPath: input.S3OutputPath }), + }; +}; + const serializeAws_json1_1AthenaDatasetDefinition = (input: AthenaDatasetDefinition, context: __SerdeContext): any => { return { ...(input.Catalog !== undefined && input.Catalog !== null && { Catalog: input.Catalog }), @@ -17752,6 +17805,10 @@ const serializeAws_json1_1CreateEndpointConfigInput = ( context: __SerdeContext ): any => { return { + ...(input.AsyncInferenceConfig !== undefined && + input.AsyncInferenceConfig !== null && { + AsyncInferenceConfig: serializeAws_json1_1AsyncInferenceConfig(input.AsyncInferenceConfig, context), + }), ...(input.DataCaptureConfig !== undefined && input.DataCaptureConfig !== null && { DataCaptureConfig: serializeAws_json1_1DataCaptureConfig(input.DataCaptureConfig, context), @@ -18221,6 +18278,8 @@ const serializeAws_json1_1CreateNotebookInstanceInput = ( input.LifecycleConfigName !== null && { LifecycleConfigName: input.LifecycleConfigName }), ...(input.NotebookInstanceName !== undefined && input.NotebookInstanceName !== null && { NotebookInstanceName: input.NotebookInstanceName }), + ...(input.PlatformIdentifier !== undefined && + input.PlatformIdentifier !== null && { PlatformIdentifier: input.PlatformIdentifier }), ...(input.RoleArn !== undefined && input.RoleArn !== null && { RoleArn: input.RoleArn }), ...(input.RootAccess !== undefined && input.RootAccess !== null && { RootAccess: input.RootAccess }), ...(input.SecurityGroupIds !== undefined && @@ -24441,6 +24500,52 @@ const deserializeAws_json1_1AssociationSummary = (output: any, context: __SerdeC } as any; }; +const deserializeAws_json1_1AsyncInferenceClientConfig = ( + output: any, + context: __SerdeContext +): AsyncInferenceClientConfig => { + return { + MaxConcurrentInvocationsPerInstance: __expectInt(output.MaxConcurrentInvocationsPerInstance), + } as any; +}; + +const deserializeAws_json1_1AsyncInferenceConfig = (output: any, context: __SerdeContext): AsyncInferenceConfig => { + return { + ClientConfig: + output.ClientConfig !== undefined && output.ClientConfig !== null + ? deserializeAws_json1_1AsyncInferenceClientConfig(output.ClientConfig, context) + : undefined, + OutputConfig: + output.OutputConfig !== undefined && output.OutputConfig !== null + ? deserializeAws_json1_1AsyncInferenceOutputConfig(output.OutputConfig, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1AsyncInferenceNotificationConfig = ( + output: any, + context: __SerdeContext +): AsyncInferenceNotificationConfig => { + return { + ErrorTopic: __expectString(output.ErrorTopic), + SuccessTopic: __expectString(output.SuccessTopic), + } as any; +}; + +const deserializeAws_json1_1AsyncInferenceOutputConfig = ( + output: any, + context: __SerdeContext +): AsyncInferenceOutputConfig => { + return { + KmsKeyId: __expectString(output.KmsKeyId), + NotificationConfig: + output.NotificationConfig !== undefined && output.NotificationConfig !== null + ? deserializeAws_json1_1AsyncInferenceNotificationConfig(output.NotificationConfig, context) + : undefined, + S3OutputPath: __expectString(output.S3OutputPath), + } as any; +}; + const deserializeAws_json1_1AthenaDatasetDefinition = ( output: any, context: __SerdeContext @@ -26448,6 +26553,10 @@ const deserializeAws_json1_1DescribeEndpointConfigOutput = ( context: __SerdeContext ): DescribeEndpointConfigOutput => { return { + AsyncInferenceConfig: + output.AsyncInferenceConfig !== undefined && output.AsyncInferenceConfig !== null + ? deserializeAws_json1_1AsyncInferenceConfig(output.AsyncInferenceConfig, context) + : undefined, CreationTime: output.CreationTime !== undefined && output.CreationTime !== null ? new Date(Math.round(output.CreationTime * 1000)) @@ -26468,6 +26577,10 @@ const deserializeAws_json1_1DescribeEndpointConfigOutput = ( const deserializeAws_json1_1DescribeEndpointOutput = (output: any, context: __SerdeContext): DescribeEndpointOutput => { return { + AsyncInferenceConfig: + output.AsyncInferenceConfig !== undefined && output.AsyncInferenceConfig !== null + ? deserializeAws_json1_1AsyncInferenceConfig(output.AsyncInferenceConfig, context) + : undefined, CreationTime: output.CreationTime !== undefined && output.CreationTime !== null ? new Date(Math.round(output.CreationTime * 1000)) @@ -27094,6 +27207,7 @@ const deserializeAws_json1_1DescribeNotebookInstanceOutput = ( NotebookInstanceLifecycleConfigName: __expectString(output.NotebookInstanceLifecycleConfigName), NotebookInstanceName: __expectString(output.NotebookInstanceName), NotebookInstanceStatus: __expectString(output.NotebookInstanceStatus), + PlatformIdentifier: __expectString(output.PlatformIdentifier), RoleArn: __expectString(output.RoleArn), RootAccess: __expectString(output.RootAccess), SecurityGroups: 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 4856aa281e4e..f63e961aacec 100644 --- a/codegen/sdk-codegen/aws-models/appflow.2020-08-23.json +++ b/codegen/sdk-codegen/aws-models/appflow.2020-08-23.json @@ -193,6 +193,16 @@ "smithy.api#pattern": "^\\S+$" } }, + "com.amazonaws.appflow#ApplicationHostUrl": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 256 + }, + "smithy.api#pattern": "^(https?)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]$" + } + }, "com.amazonaws.appflow#ApplicationKey": { "type": "string", "traits": { @@ -203,6 +213,16 @@ "smithy.api#pattern": "^\\S+$" } }, + "com.amazonaws.appflow#ApplicationServicePath": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 512 + }, + "smithy.api#pattern": "^\\S+$" + } + }, "com.amazonaws.appflow#AuthCode": { "type": "string", "traits": { @@ -213,6 +233,38 @@ "smithy.api#pattern": "^\\S+$" } }, + "com.amazonaws.appflow#AuthCodeUrl": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 256 + }, + "smithy.api#pattern": "^(https?)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]$" + } + }, + "com.amazonaws.appflow#BasicAuthCredentials": { + "type": "structure", + "members": { + "username": { + "target": "com.amazonaws.appflow#Username", + "traits": { + "smithy.api#documentation": "

                      The username to use to connect to a resource.

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

                      The password to use to connect to a resource.

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

                      The basic auth credentials required for basic authentication.

                      " + } + }, "com.amazonaws.appflow#Boolean": { "type": "boolean" }, @@ -257,6 +309,16 @@ "smithy.api#pattern": "^\\S+$" } }, + "com.amazonaws.appflow#ClientNumber": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 3, + "max": 3 + }, + "smithy.api#pattern": "^\\d{3}$" + } + }, "com.amazonaws.appflow#ClientSecret": { "type": "string", "traits": { @@ -589,6 +651,9 @@ "traits": { "smithy.api#documentation": "

                      The connector metadata specific to Amazon Honeycode.

                      " } + }, + "SAPOData": { + "target": "com.amazonaws.appflow#SAPODataMetadata" } }, "traits": { @@ -701,6 +766,12 @@ "traits": { "smithy.api#documentation": "

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

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

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

                      " + } } }, "traits": { @@ -719,7 +790,7 @@ "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 AWS account.

                      " + "smithy.api#documentation": "

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

                      " } }, "connectorType": { @@ -757,6 +828,12 @@ "traits": { "smithy.api#documentation": "

                      Specifies when the connector profile was last updated.

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

                      Specifies the private connection provisioning state.

                      " + } } }, "traits": { @@ -893,6 +970,9 @@ "traits": { "smithy.api#documentation": "

                      The connector-specific credentials required when using Zendesk.

                      " } + }, + "SAPOData": { + "target": "com.amazonaws.appflow#SAPODataConnectorProfileCredentials" } }, "traits": { @@ -1025,6 +1105,9 @@ "traits": { "smithy.api#documentation": "

                      The connector-specific properties required by Zendesk.

                      " } + }, + "SAPOData": { + "target": "com.amazonaws.appflow#SAPODataConnectorProfileProperties" } }, "traits": { @@ -1131,6 +1214,10 @@ { "value": "CustomerProfiles", "name": "CUSTOMERPROFILES" + }, + { + "value": "SAPOData", + "name": "SAPODATA" } ] } @@ -1173,7 +1260,7 @@ } ], "traits": { - "smithy.api#documentation": "

                      Creates a new connector profile associated with your AWS account. There is a soft quota\n of 100 connector profiles per AWS 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 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#http": { "method": "POST", "uri": "/create-connector-profile", @@ -1187,7 +1274,7 @@ "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 your AWS account.

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

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

                      ", "smithy.api#required": {} } }, @@ -1207,7 +1294,7 @@ "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 AWS PrivateLink to route data over AWS 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 without exposing it to the\n public internet.

                      ", "smithy.api#required": {} } }, @@ -1701,7 +1788,7 @@ "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 AWS account.

                      " + "smithy.api#documentation": "

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

                      " } } } @@ -1754,7 +1841,7 @@ "connectorProfileNames": { "target": "com.amazonaws.appflow#ConnectorProfileNameList", "traits": { - "smithy.api#documentation": "

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

                      " + "smithy.api#documentation": "

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

                      " } }, "connectorType": { @@ -2208,7 +2295,7 @@ "connectorProfileName": { "target": "com.amazonaws.appflow#ConnectorProfileName", "traits": { - "smithy.api#documentation": "

                      The name of the connector profile. This name must be unique for each connector profile in\n the AWS account.

                      " + "smithy.api#documentation": "

                      The name of the connector profile. This name must be unique for each connector profile in\n the Amazon Web Services account.

                      " } }, "destinationConnectorProperties": { @@ -2229,6 +2316,16 @@ "target": "com.amazonaws.appflow#DestinationFlowConfig" } }, + "com.amazonaws.appflow#DocumentType": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 512 + }, + "smithy.api#pattern": "^[\\s\\w_-]+$" + } + }, "com.amazonaws.appflow#DomainName": { "type": "string", "traits": { @@ -3254,7 +3351,7 @@ "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 AWS account, and is used to query the downstream\n connector.

                      " + "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": { @@ -3399,6 +3496,16 @@ } } }, + "com.amazonaws.appflow#LogonLanguage": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 2 + }, + "smithy.api#pattern": "^[a-zA-Z0-9_]*$" + } + }, "com.amazonaws.appflow#Long": { "type": "long", "traits": { @@ -3594,6 +3701,75 @@ "smithy.api#pattern": "^\\S+$" } }, + "com.amazonaws.appflow#OAuthCredentials": { + "type": "structure", + "members": { + "clientId": { + "target": "com.amazonaws.appflow#ClientId", + "traits": { + "smithy.api#documentation": "

                      The identifier for the desired client.

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

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

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

                      The access token used to access protected SAPOData resources.

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

                      The refresh token used to refresh expired access token.

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

                      The OAuth requirement needed to request security tokens from the connector endpoint.\n

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

                      The OAuth credentials required for OAuth type authentication.

                      " + } + }, + "com.amazonaws.appflow#OAuthProperties": { + "type": "structure", + "members": { + "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#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#required": {} + } + }, + "oAuthScopes": { + "target": "com.amazonaws.appflow#OAuthScopeList", + "traits": { + "smithy.api#documentation": "

                      The OAuth scopes required for OAuth type authentication.

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

                      The OAuth properties required for OAuth type authentication.

                      " + } + }, "com.amazonaws.appflow#OAuthScope": { "type": "string", "traits": { @@ -3601,7 +3777,7 @@ "min": 0, "max": 128 }, - "smithy.api#pattern": "^[\\w]*$" + "smithy.api#pattern": "^[/\\w]*$" } }, "com.amazonaws.appflow#OAuthScopeList": { @@ -3799,6 +3975,15 @@ "smithy.api#sensitive": {} } }, + "com.amazonaws.appflow#PortNumber": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 1, + "max": 65535 + } + } + }, "com.amazonaws.appflow#PrefixConfig": { "type": "structure", "members": { @@ -3865,6 +4050,88 @@ ] } }, + "com.amazonaws.appflow#PrivateConnectionProvisioningFailureCause": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "CONNECTOR_AUTHENTICATION", + "name": "CONNECTOR_AUTHENTICATION" + }, + { + "value": "CONNECTOR_SERVER", + "name": "CONNECTOR_SERVER" + }, + { + "value": "INTERNAL_SERVER", + "name": "INTERNAL_SERVER" + }, + { + "value": "ACCESS_DENIED", + "name": "ACCESS_DENIED" + }, + { + "value": "VALIDATION", + "name": "VALIDATION" + } + ] + } + }, + "com.amazonaws.appflow#PrivateConnectionProvisioningFailureMessage": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 2048 + }, + "smithy.api#pattern": "^[\\s\\w/!@#+=.-]*$" + } + }, + "com.amazonaws.appflow#PrivateConnectionProvisioningState": { + "type": "structure", + "members": { + "status": { + "target": "com.amazonaws.appflow#PrivateConnectionProvisioningStatus", + "traits": { + "smithy.api#documentation": "

                      Specifies the private connection provisioning status.

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

                      Specifies the private connection provisioning failure reason.

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

                      Specifies the private connection provisioning failure cause.

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

                      Specifies the private connection provisioning state.

                      " + } + }, + "com.amazonaws.appflow#PrivateConnectionProvisioningStatus": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "FAILED", + "name": "FAILED" + }, + { + "value": "PENDING", + "name": "PENDING" + }, + { + "value": "CREATED", + "name": "CREATED" + } + ] + } + }, "com.amazonaws.appflow#PrivateLinkServiceName": { "type": "string", "traits": { @@ -3872,7 +4139,7 @@ "min": 0, "max": 512 }, - "smithy.api#pattern": "^\\S+$" + "smithy.api#pattern": "^$|com.amazonaws.vpce.[\\w/!:@#.\\-]+$" } }, "com.amazonaws.appflow#Property": { @@ -4204,6 +4471,193 @@ "smithy.api#documentation": "

                      The properties that are applied when Amazon S3 is being used as the flow source.

                      " } }, + "com.amazonaws.appflow#SAPODataConnectorOperator": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "PROJECTION", + "name": "PROJECTION" + }, + { + "value": "LESS_THAN", + "name": "LESS_THAN" + }, + { + "value": "CONTAINS", + "name": "CONTAINS" + }, + { + "value": "GREATER_THAN", + "name": "GREATER_THAN" + }, + { + "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#SAPODataConnectorProfileCredentials": { + "type": "structure", + "members": { + "basicAuthCredentials": { + "target": "com.amazonaws.appflow#BasicAuthCredentials", + "traits": { + "smithy.api#documentation": "

                      The SAPOData basic authentication credentials.

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

                      The SAPOData OAuth type authentication credentials.

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

                      The connector-specific profile credentials required when using SAPOData.

                      " + } + }, + "com.amazonaws.appflow#SAPODataConnectorProfileProperties": { + "type": "structure", + "members": { + "applicationHostUrl": { + "target": "com.amazonaws.appflow#ApplicationHostUrl", + "traits": { + "smithy.api#documentation": "

                      The location of the SAPOData resource.

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

                      The application path to catalog service.

                      ", + "smithy.api#required": {} + } + }, + "portNumber": { + "target": "com.amazonaws.appflow#PortNumber", + "traits": { + "smithy.api#box": {}, + "smithy.api#documentation": "

                      The port number of the SAPOData instance.

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

                      The client number for the client creating the connection.

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

                      The logon language of SAPOData instance.

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

                      The SAPOData Private Link service name to be used for private data transfers.

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

                      The SAPOData OAuth properties required for OAuth type authentication.

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

                      The connector-specific profile properties required when using SAPOData.

                      " + } + }, + "com.amazonaws.appflow#SAPODataMetadata": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#documentation": "

                      The connector metadata specific to SAPOData.

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

                      The object path specified in the SAPOData flow source.

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

                      The properties that are applied when using SAPOData as a flow source.

                      " + } + }, "com.amazonaws.appflow#SalesforceConnectorOperator": { "type": "string", "traits": { @@ -4492,7 +4946,7 @@ "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 AWS 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

                        \n Actions: An alphabetical list of all Amazon AppFlow API operations.

                        \n
                      • \n
                      • \n

                        \n Data\n types: An alphabetical list of all Amazon AppFlow data types.

                        \n
                      • \n
                      • \n

                        \n Common parameters: Parameters that all Query operations can use.

                        \n
                      • \n
                      • \n

                        \n Common\n errors: Client and server errors that all operations can return.

                        \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#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

                        \n Actions: An alphabetical list of all Amazon AppFlow API operations.

                        \n
                      • \n
                      • \n

                        \n Data\n types: An alphabetical list of all Amazon AppFlow data types.

                        \n
                      • \n
                      • \n

                        \n Common parameters: Parameters that all Query operations can use.

                        \n
                      • \n
                      • \n

                        \n Common\n errors: Client and server errors that all operations can return.

                        \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" } }, @@ -5113,7 +5567,7 @@ "region": { "target": "com.amazonaws.appflow#Region", "traits": { - "smithy.api#documentation": "

                      The AWS Region of the Snowflake account.

                      " + "smithy.api#documentation": "

                      The Amazon Web Services Region of the Snowflake account.

                      " } } }, @@ -5161,7 +5615,7 @@ "supportedRegions": { "target": "com.amazonaws.appflow#RegionList", "traits": { - "smithy.api#documentation": "

                      Specifies the supported AWS Regions when using Snowflake.

                      " + "smithy.api#documentation": "

                      Specifies the supported Amazon Web Services Regions when using Snowflake.

                      " } } }, @@ -5255,6 +5709,9 @@ "traits": { "smithy.api#documentation": "

                      Specifies the information that is required for querying Zendesk.

                      " } + }, + "SAPOData": { + "target": "com.amazonaws.appflow#SAPODataSourceProperties" } }, "traits": { @@ -5300,7 +5757,7 @@ "connectorProfileName": { "target": "com.amazonaws.appflow#ConnectorProfileName", "traits": { - "smithy.api#documentation": "

                      The name of the connector profile. This name must be unique for each connector profile in\n the AWS account.

                      " + "smithy.api#documentation": "

                      The name of the connector profile. This name must be unique for each connector profile in\n the Amazon Web Services account.

                      " } }, "sourceConnectorProperties": { @@ -5697,6 +6154,16 @@ "smithy.api#pattern": ".*" } }, + "com.amazonaws.appflow#TokenUrl": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 256 + }, + "smithy.api#pattern": "^(https?)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]$" + } + }, "com.amazonaws.appflow#TrendmicroConnectorOperator": { "type": "string", "traits": { @@ -5970,7 +6437,7 @@ "connectorProfileName": { "target": "com.amazonaws.appflow#ConnectorProfileName", "traits": { - "smithy.api#documentation": "

                      The name of the connector profile and is unique for each ConnectorProfile in\n the AWS Account.

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

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

                      ", "smithy.api#required": {} } }, @@ -6065,7 +6532,10 @@ } }, "sourceFlowConfig": { - "target": "com.amazonaws.appflow#SourceFlowConfig" + "target": "com.amazonaws.appflow#SourceFlowConfig", + "traits": { + "smithy.api#required": {} + } }, "destinationFlowConfigList": { "target": "com.amazonaws.appflow#DestinationFlowConfigList", @@ -6349,6 +6819,30 @@ "smithy.api#documentation": "

                      The object specified in the Veeva flow source.

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

                      The document type specified in the Veeva document extract flow.

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

                      Boolean value to include source files in Veeva document extract flow.

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

                      Boolean value to include file renditions in Veeva document extract flow.

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

                      Boolean value to include All Versions of files in Veeva document extract flow.

                      " + } } }, "traits": { diff --git a/codegen/sdk-codegen/aws-models/application-auto-scaling.2016-02-06.json b/codegen/sdk-codegen/aws-models/application-auto-scaling.2016-02-06.json index 1a42dae25ed4..a0e728b7bb37 100644 --- a/codegen/sdk-codegen/aws-models/application-auto-scaling.2016-02-06.json +++ b/codegen/sdk-codegen/aws-models/application-auto-scaling.2016-02-06.json @@ -123,7 +123,7 @@ "name": "application-autoscaling" }, "aws.protocols#awsJson1_1": {}, - "smithy.api#documentation": "

                      With Application Auto Scaling, you can configure automatic scaling for the following\n resources:

                      \n
                        \n
                      • \n

                        Amazon ECS services

                        \n
                      • \n
                      • \n

                        Amazon EC2 Spot Fleet requests

                        \n
                      • \n
                      • \n

                        Amazon EMR clusters

                        \n
                      • \n
                      • \n

                        Amazon AppStream 2.0 fleets

                        \n
                      • \n
                      • \n

                        Amazon DynamoDB tables and global secondary indexes throughput capacity

                        \n
                      • \n
                      • \n

                        Amazon Aurora Replicas

                        \n
                      • \n
                      • \n

                        Amazon SageMaker endpoint variants

                        \n
                      • \n
                      • \n

                        Custom resources provided by your own applications or services

                        \n
                      • \n
                      • \n

                        Amazon Comprehend document classification and entity recognizer endpoints

                        \n
                      • \n
                      • \n

                        AWS Lambda function provisioned concurrency

                        \n
                      • \n
                      • \n

                        Amazon Keyspaces (for Apache Cassandra) tables

                        \n
                      • \n
                      • \n

                        Amazon Managed Streaming for Apache Kafka broker storage

                        \n
                      • \n
                      \n

                      \n API Summary\n

                      \n

                      The Application Auto Scaling service API includes three key sets of actions:

                      \n
                        \n
                      • \n

                        Register and manage scalable targets - Register AWS or custom resources as scalable\n targets (a resource that Application Auto Scaling can scale), set minimum and maximum capacity limits, and\n retrieve information on existing scalable targets.

                        \n
                      • \n
                      • \n

                        Configure and manage automatic scaling - Define scaling policies to dynamically scale\n your resources in response to CloudWatch alarms, schedule one-time or recurring scaling actions,\n and retrieve your recent scaling activity history.

                        \n
                      • \n
                      • \n

                        Suspend and resume scaling - Temporarily suspend and later resume automatic scaling by\n calling the RegisterScalableTarget API action for any Application Auto Scaling scalable target. You can\n suspend and resume (individually or in combination) scale-out activities that are\n triggered by a scaling policy, scale-in activities that are triggered by a scaling policy,\n and scheduled scaling.

                        \n
                      • \n
                      \n\n \n

                      To learn more about Application Auto Scaling, including information about granting IAM users required\n permissions for Application Auto Scaling actions, see the Application Auto Scaling User\n Guide.

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

                      With Application Auto Scaling, you can configure automatic scaling for the following\n resources:

                      \n
                        \n
                      • \n

                        Amazon AppStream 2.0 fleets

                        \n
                      • \n
                      • \n

                        Amazon Aurora Replicas

                        \n
                      • \n
                      • \n

                        Amazon Comprehend document classification and entity recognizer endpoints

                        \n
                      • \n
                      • \n

                        Amazon DynamoDB tables and global secondary indexes throughput capacity

                        \n
                      • \n
                      • \n

                        Amazon ECS services

                        \n
                      • \n
                      • \n

                        Amazon ElastiCache for Redis clusters (replication groups)

                        \n
                      • \n
                      • \n

                        Amazon EMR clusters

                        \n
                      • \n
                      • \n

                        Amazon Keyspaces (for Apache Cassandra) tables

                        \n
                      • \n
                      • \n

                        Lambda function provisioned concurrency

                        \n
                      • \n
                      • \n

                        Amazon Managed Streaming for Apache Kafka broker storage

                        \n
                      • \n
                      • \n

                        Amazon SageMaker endpoint variants

                        \n
                      • \n
                      • \n

                        Spot Fleet (Amazon EC2) requests

                        \n
                      • \n
                      • \n

                        Custom resources provided by your own applications or services

                        \n
                      • \n
                      \n

                      \n API Summary\n

                      \n

                      The Application Auto Scaling service API includes three key sets of actions:

                      \n
                        \n
                      • \n

                        Register and manage scalable targets - Register Amazon Web Services or custom resources as scalable\n targets (a resource that Application Auto Scaling can scale), set minimum and maximum capacity limits, and\n retrieve information on existing scalable targets.

                        \n
                      • \n
                      • \n

                        Configure and manage automatic scaling - Define scaling policies to dynamically scale\n your resources in response to CloudWatch alarms, schedule one-time or recurring scaling actions,\n and retrieve your recent scaling activity history.

                        \n
                      • \n
                      • \n

                        Suspend and resume scaling - Temporarily suspend and later resume automatic scaling by\n calling the RegisterScalableTarget API action for any Application Auto Scaling scalable target. You can\n suspend and resume (individually or in combination) scale-out activities that are\n triggered by a scaling policy, scale-in activities that are triggered by a scaling policy,\n and scheduled scaling.

                        \n
                      • \n
                      \n\n \n

                      To learn more about Application Auto Scaling, including information about granting IAM users required\n permissions for Application Auto Scaling actions, see the Application Auto Scaling User\n Guide.

                      ", "smithy.api#title": "Application Auto Scaling" } }, @@ -135,6 +135,10 @@ } }, "traits": { + "aws.protocols#awsQueryError": { + "code": "ConcurrentUpdateException", + "httpResponseCode": 500 + }, "smithy.api#documentation": "

                      Concurrent updates caused an exception, for example, if you request an update to an\n Application Auto Scaling resource that already has a pending update.

                      ", "smithy.api#error": "server", "smithy.api#httpError": 500 @@ -184,7 +188,7 @@ } }, "traits": { - "smithy.api#documentation": "

                      Represents a CloudWatch metric of your choosing for a target tracking scaling policy to use\n with Application Auto Scaling.

                      \n

                      For information about the available metrics for a service, see AWS\n Services That Publish CloudWatch Metrics in the Amazon CloudWatch User\n Guide.

                      \n

                      To create your customized metric specification:

                      \n
                        \n
                      • \n

                        Add values for each required parameter from CloudWatch. You can use an existing metric,\n or a new metric that you create. To use your own metric, you must first publish the\n metric to CloudWatch. For more information, see Publish Custom\n Metrics in the Amazon CloudWatch User Guide.

                        \n
                      • \n
                      • \n

                        Choose a metric that changes proportionally with capacity. The value of the metric\n should increase or decrease in inverse proportion to the number of capacity units.\n That is, the value of the metric should decrease when capacity increases, and\n increase when capacity decreases.

                        \n
                      • \n
                      \n

                      For more information about CloudWatch, see Amazon CloudWatch\n Concepts.

                      " + "smithy.api#documentation": "

                      Represents a CloudWatch metric of your choosing for a target tracking scaling policy to use\n with Application Auto Scaling.

                      \n

                      For information about the available metrics for a service, see Amazon Web Services\n Services That Publish CloudWatch Metrics in the Amazon CloudWatch User\n Guide.

                      \n

                      To create your customized metric specification:

                      \n
                        \n
                      • \n

                        Add values for each required parameter from CloudWatch. You can use an existing metric,\n or a new metric that you create. To use your own metric, you must first publish the\n metric to CloudWatch. For more information, see Publish Custom\n Metrics in the Amazon CloudWatch User Guide.

                        \n
                      • \n
                      • \n

                        Choose a metric that changes proportionally with capacity. The value of the metric\n should increase or decrease in inverse proportion to the number of capacity units.\n That is, the value of the metric should decrease when capacity increases, and\n increase when capacity decreases.

                        \n
                      • \n
                      \n

                      For more information about CloudWatch, see Amazon CloudWatch\n Concepts.

                      " } }, "com.amazonaws.applicationautoscaling#DeleteScalingPolicy": { @@ -226,21 +230,21 @@ "ServiceNamespace": { "target": "com.amazonaws.applicationautoscaling#ServiceNamespace", "traits": { - "smithy.api#documentation": "

                      The namespace of the AWS service that provides the resource. For a resource provided\n by your own application or service, use custom-resource instead.

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

                      The namespace of the Amazon Web Services service that provides the resource. For a resource provided\n by your own application or service, use custom-resource instead.

                      ", "smithy.api#required": {} } }, "ResourceId": { "target": "com.amazonaws.applicationautoscaling#ResourceIdMaxLen1600", "traits": { - "smithy.api#documentation": "

                      The identifier of the resource associated with the scalable target.\n This string consists of the resource type and unique identifier.

                      \n
                        \n
                      • \n

                        ECS service - The resource type is service and the unique identifier is the cluster name \n and service name. Example: service/default/sample-webapp.

                        \n
                      • \n
                      • \n

                        Spot Fleet request - The resource type is spot-fleet-request and the unique identifier is the \n Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

                        \n
                      • \n
                      • \n

                        EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID.\n Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

                        \n
                      • \n
                      • \n

                        AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name.\n Example: fleet/sample-fleet.

                        \n
                      • \n
                      • \n

                        DynamoDB table - The resource type is table and the unique identifier is the table name. \n Example: table/my-table.

                        \n
                      • \n
                      • \n

                        DynamoDB global secondary index - The resource type is index and the unique identifier is the index name. \n Example: table/my-table/index/my-table-index.

                        \n
                      • \n
                      • \n

                        Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name.\n Example: cluster:my-db-cluster.

                        \n
                      • \n
                      • \n

                        Amazon SageMaker endpoint variant - The resource type is variant and the unique identifier is the resource ID.\n Example: endpoint/my-end-point/variant/KMeansClustering.

                        \n
                      • \n
                      • \n

                        Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information\n is available in our GitHub\n repository.

                        \n
                      • \n
                      • \n

                        Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE.

                        \n
                      • \n
                      • \n

                        Amazon Comprehend entity recognizer endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE.

                        \n
                      • \n
                      • \n

                        Lambda provisioned concurrency - The resource type is function and the unique identifier is the function name with a function version or alias name suffix that is not $LATEST. \n Example: function:my-function:prod or function:my-function:1.

                        \n
                      • \n
                      • \n

                        Amazon Keyspaces table - The resource type is table and the unique identifier is the table name. \n Example: keyspace/mykeyspace/table/mytable.

                        \n
                      • \n
                      • \n

                        Amazon MSK cluster - The resource type and unique identifier are specified using the cluster ARN. \n Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5.

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

                      The identifier of the resource associated with the scalable target.\n This string consists of the resource type and unique identifier.

                      \n
                        \n
                      • \n

                        ECS service - The resource type is service and the unique identifier is the cluster name \n and service name. Example: service/default/sample-webapp.

                        \n
                      • \n
                      • \n

                        Spot Fleet request - The resource type is spot-fleet-request and the unique identifier is the \n Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

                        \n
                      • \n
                      • \n

                        EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID.\n Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

                        \n
                      • \n
                      • \n

                        AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name.\n Example: fleet/sample-fleet.

                        \n
                      • \n
                      • \n

                        DynamoDB table - The resource type is table and the unique identifier is the table name. \n Example: table/my-table.

                        \n
                      • \n
                      • \n

                        DynamoDB global secondary index - The resource type is index and the unique identifier is the index name. \n Example: table/my-table/index/my-table-index.

                        \n
                      • \n
                      • \n

                        Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name.\n Example: cluster:my-db-cluster.

                        \n
                      • \n
                      • \n

                        Amazon SageMaker endpoint variant - The resource type is variant and the unique identifier is the resource ID.\n Example: endpoint/my-end-point/variant/KMeansClustering.

                        \n
                      • \n
                      • \n

                        Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information\n is available in our GitHub\n repository.

                        \n
                      • \n
                      • \n

                        Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE.

                        \n
                      • \n
                      • \n

                        Amazon Comprehend entity recognizer endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE.

                        \n
                      • \n
                      • \n

                        Lambda provisioned concurrency - The resource type is function and the unique identifier is the function name with a function version or alias name suffix that is not $LATEST. \n Example: function:my-function:prod or function:my-function:1.

                        \n
                      • \n
                      • \n

                        Amazon Keyspaces table - The resource type is table and the unique identifier is the table name. \n Example: keyspace/mykeyspace/table/mytable.

                        \n
                      • \n
                      • \n

                        Amazon MSK cluster - The resource type and unique identifier are specified using the cluster ARN. \n Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5.

                        \n
                      • \n
                      • \n

                        Amazon ElastiCache replication group - The resource type is replication-group and the unique identifier is the replication group name.\n Example: replication-group/mycluster.

                        \n
                      • \n
                      ", "smithy.api#required": {} } }, "ScalableDimension": { "target": "com.amazonaws.applicationautoscaling#ScalableDimension", "traits": { - "smithy.api#documentation": "

                      The scalable dimension. This string consists of the service namespace, resource type, and scaling property.

                      \n
                        \n
                      • \n

                        \n ecs:service:DesiredCount - The desired task count of an ECS service.

                        \n
                      • \n
                      • \n

                        \n ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet request.

                        \n
                      • \n
                      • \n

                        \n elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

                        \n
                      • \n
                      • \n

                        \n appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

                        \n
                      • \n
                      • \n

                        \n dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

                        \n
                      • \n
                      • \n

                        \n dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

                        \n
                      • \n
                      • \n

                        \n dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

                        \n
                      • \n
                      • \n

                        \n dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

                        \n
                      • \n
                      • \n

                        \n rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.

                        \n
                      • \n
                      • \n

                        \n sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

                        \n
                      • \n
                      • \n

                        \n custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

                        \n
                      • \n
                      • \n

                        \n comprehend:document-classifier-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend document classification endpoint.

                        \n
                      • \n
                      • \n

                        \n comprehend:entity-recognizer-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend entity recognizer endpoint.

                        \n
                      • \n
                      • \n

                        \n lambda:function:ProvisionedConcurrency - The provisioned concurrency for a Lambda function.

                        \n
                      • \n
                      • \n

                        \n cassandra:table:ReadCapacityUnits - The provisioned read capacity for an Amazon Keyspaces table.

                        \n
                      • \n
                      • \n

                        \n cassandra:table:WriteCapacityUnits - The provisioned write capacity for an Amazon Keyspaces table.

                        \n
                      • \n
                      • \n

                        \n kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) for brokers in an Amazon MSK cluster.

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

                      The scalable dimension. This string consists of the service namespace, resource type, and scaling property.

                      \n
                        \n
                      • \n

                        \n ecs:service:DesiredCount - The desired task count of an ECS service.

                        \n
                      • \n
                      • \n

                        \n elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

                        \n
                      • \n
                      • \n

                        \n ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet request.

                        \n
                      • \n
                      • \n

                        \n appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

                        \n
                      • \n
                      • \n

                        \n dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

                        \n
                      • \n
                      • \n

                        \n dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

                        \n
                      • \n
                      • \n

                        \n dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

                        \n
                      • \n
                      • \n

                        \n dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

                        \n
                      • \n
                      • \n

                        \n rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.

                        \n
                      • \n
                      • \n

                        \n sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

                        \n
                      • \n
                      • \n

                        \n custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

                        \n
                      • \n
                      • \n

                        \n comprehend:document-classifier-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend document classification endpoint.

                        \n
                      • \n
                      • \n

                        \n comprehend:entity-recognizer-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend entity recognizer endpoint.

                        \n
                      • \n
                      • \n

                        \n lambda:function:ProvisionedConcurrency - The provisioned concurrency for a Lambda function.

                        \n
                      • \n
                      • \n

                        \n cassandra:table:ReadCapacityUnits - The provisioned read capacity for an Amazon Keyspaces table.

                        \n
                      • \n
                      • \n

                        \n cassandra:table:WriteCapacityUnits - The provisioned write capacity for an Amazon Keyspaces table.

                        \n
                      • \n
                      • \n

                        \n kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) for brokers in an Amazon MSK cluster.

                        \n
                      • \n
                      • \n

                        \n elasticache:replication-group:NodeGroups - The number of node groups for an Amazon ElastiCache replication group.

                        \n
                      • \n
                      • \n

                        \n elasticache:replication-group:Replicas - The number of replicas per node group for an Amazon ElastiCache replication group.

                        \n
                      • \n
                      ", "smithy.api#required": {} } } @@ -282,7 +286,7 @@ "ServiceNamespace": { "target": "com.amazonaws.applicationautoscaling#ServiceNamespace", "traits": { - "smithy.api#documentation": "

                      The namespace of the AWS service that provides the resource. For a resource provided\n by your own application or service, use custom-resource instead.

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

                      The namespace of the Amazon Web Services service that provides the resource. For a resource provided\n by your own application or service, use custom-resource instead.

                      ", "smithy.api#required": {} } }, @@ -296,14 +300,14 @@ "ResourceId": { "target": "com.amazonaws.applicationautoscaling#ResourceIdMaxLen1600", "traits": { - "smithy.api#documentation": "

                      The identifier of the resource associated with the scheduled action.\n This string consists of the resource type and unique identifier.

                      \n
                        \n
                      • \n

                        ECS service - The resource type is service and the unique identifier is the cluster name \n and service name. Example: service/default/sample-webapp.

                        \n
                      • \n
                      • \n

                        Spot Fleet request - The resource type is spot-fleet-request and the unique identifier is the \n Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

                        \n
                      • \n
                      • \n

                        EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID.\n Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

                        \n
                      • \n
                      • \n

                        AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name.\n Example: fleet/sample-fleet.

                        \n
                      • \n
                      • \n

                        DynamoDB table - The resource type is table and the unique identifier is the table name. \n Example: table/my-table.

                        \n
                      • \n
                      • \n

                        DynamoDB global secondary index - The resource type is index and the unique identifier is the index name. \n Example: table/my-table/index/my-table-index.

                        \n
                      • \n
                      • \n

                        Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name.\n Example: cluster:my-db-cluster.

                        \n
                      • \n
                      • \n

                        Amazon SageMaker endpoint variant - The resource type is variant and the unique identifier is the resource ID.\n Example: endpoint/my-end-point/variant/KMeansClustering.

                        \n
                      • \n
                      • \n

                        Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information\n is available in our GitHub\n repository.

                        \n
                      • \n
                      • \n

                        Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE.

                        \n
                      • \n
                      • \n

                        Amazon Comprehend entity recognizer endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE.

                        \n
                      • \n
                      • \n

                        Lambda provisioned concurrency - The resource type is function and the unique identifier is the function name with a function version or alias name suffix that is not $LATEST. \n Example: function:my-function:prod or function:my-function:1.

                        \n
                      • \n
                      • \n

                        Amazon Keyspaces table - The resource type is table and the unique identifier is the table name. \n Example: keyspace/mykeyspace/table/mytable.

                        \n
                      • \n
                      • \n

                        Amazon MSK cluster - The resource type and unique identifier are specified using the cluster ARN. \n Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5.

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

                      The identifier of the resource associated with the scheduled action.\n This string consists of the resource type and unique identifier.

                      \n
                        \n
                      • \n

                        ECS service - The resource type is service and the unique identifier is the cluster name \n and service name. Example: service/default/sample-webapp.

                        \n
                      • \n
                      • \n

                        Spot Fleet request - The resource type is spot-fleet-request and the unique identifier is the \n Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

                        \n
                      • \n
                      • \n

                        EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID.\n Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

                        \n
                      • \n
                      • \n

                        AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name.\n Example: fleet/sample-fleet.

                        \n
                      • \n
                      • \n

                        DynamoDB table - The resource type is table and the unique identifier is the table name. \n Example: table/my-table.

                        \n
                      • \n
                      • \n

                        DynamoDB global secondary index - The resource type is index and the unique identifier is the index name. \n Example: table/my-table/index/my-table-index.

                        \n
                      • \n
                      • \n

                        Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name.\n Example: cluster:my-db-cluster.

                        \n
                      • \n
                      • \n

                        Amazon SageMaker endpoint variant - The resource type is variant and the unique identifier is the resource ID.\n Example: endpoint/my-end-point/variant/KMeansClustering.

                        \n
                      • \n
                      • \n

                        Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information\n is available in our GitHub\n repository.

                        \n
                      • \n
                      • \n

                        Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE.

                        \n
                      • \n
                      • \n

                        Amazon Comprehend entity recognizer endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE.

                        \n
                      • \n
                      • \n

                        Lambda provisioned concurrency - The resource type is function and the unique identifier is the function name with a function version or alias name suffix that is not $LATEST. \n Example: function:my-function:prod or function:my-function:1.

                        \n
                      • \n
                      • \n

                        Amazon Keyspaces table - The resource type is table and the unique identifier is the table name. \n Example: keyspace/mykeyspace/table/mytable.

                        \n
                      • \n
                      • \n

                        Amazon MSK cluster - The resource type and unique identifier are specified using the cluster ARN. \n Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5.

                        \n
                      • \n
                      • \n

                        Amazon ElastiCache replication group - The resource type is replication-group and the unique identifier is the replication group name.\n Example: replication-group/mycluster.

                        \n
                      • \n
                      ", "smithy.api#required": {} } }, "ScalableDimension": { "target": "com.amazonaws.applicationautoscaling#ScalableDimension", "traits": { - "smithy.api#documentation": "

                      The scalable dimension. This string consists of the service namespace, resource type, and scaling property.

                      \n
                        \n
                      • \n

                        \n ecs:service:DesiredCount - The desired task count of an ECS service.

                        \n
                      • \n
                      • \n

                        \n ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet request.

                        \n
                      • \n
                      • \n

                        \n elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

                        \n
                      • \n
                      • \n

                        \n appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

                        \n
                      • \n
                      • \n

                        \n dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

                        \n
                      • \n
                      • \n

                        \n dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

                        \n
                      • \n
                      • \n

                        \n dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

                        \n
                      • \n
                      • \n

                        \n dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

                        \n
                      • \n
                      • \n

                        \n rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.

                        \n
                      • \n
                      • \n

                        \n sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

                        \n
                      • \n
                      • \n

                        \n custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

                        \n
                      • \n
                      • \n

                        \n comprehend:document-classifier-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend document classification endpoint.

                        \n
                      • \n
                      • \n

                        \n comprehend:entity-recognizer-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend entity recognizer endpoint.

                        \n
                      • \n
                      • \n

                        \n lambda:function:ProvisionedConcurrency - The provisioned concurrency for a Lambda function.

                        \n
                      • \n
                      • \n

                        \n cassandra:table:ReadCapacityUnits - The provisioned read capacity for an Amazon Keyspaces table.

                        \n
                      • \n
                      • \n

                        \n cassandra:table:WriteCapacityUnits - The provisioned write capacity for an Amazon Keyspaces table.

                        \n
                      • \n
                      • \n

                        \n kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) for brokers in an Amazon MSK cluster.

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

                      The scalable dimension. This string consists of the service namespace, resource type, and scaling property.

                      \n
                        \n
                      • \n

                        \n ecs:service:DesiredCount - The desired task count of an ECS service.

                        \n
                      • \n
                      • \n

                        \n elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

                        \n
                      • \n
                      • \n

                        \n ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet request.

                        \n
                      • \n
                      • \n

                        \n appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

                        \n
                      • \n
                      • \n

                        \n dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

                        \n
                      • \n
                      • \n

                        \n dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

                        \n
                      • \n
                      • \n

                        \n dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

                        \n
                      • \n
                      • \n

                        \n dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

                        \n
                      • \n
                      • \n

                        \n rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.

                        \n
                      • \n
                      • \n

                        \n sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

                        \n
                      • \n
                      • \n

                        \n custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

                        \n
                      • \n
                      • \n

                        \n comprehend:document-classifier-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend document classification endpoint.

                        \n
                      • \n
                      • \n

                        \n comprehend:entity-recognizer-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend entity recognizer endpoint.

                        \n
                      • \n
                      • \n

                        \n lambda:function:ProvisionedConcurrency - The provisioned concurrency for a Lambda function.

                        \n
                      • \n
                      • \n

                        \n cassandra:table:ReadCapacityUnits - The provisioned read capacity for an Amazon Keyspaces table.

                        \n
                      • \n
                      • \n

                        \n cassandra:table:WriteCapacityUnits - The provisioned write capacity for an Amazon Keyspaces table.

                        \n
                      • \n
                      • \n

                        \n kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) for brokers in an Amazon MSK cluster.

                        \n
                      • \n
                      • \n

                        \n elasticache:replication-group:NodeGroups - The number of node groups for an Amazon ElastiCache replication group.

                        \n
                      • \n
                      • \n

                        \n elasticache:replication-group:Replicas - The number of replicas per node group for an Amazon ElastiCache replication group.

                        \n
                      • \n
                      ", "smithy.api#required": {} } } @@ -345,21 +349,21 @@ "ServiceNamespace": { "target": "com.amazonaws.applicationautoscaling#ServiceNamespace", "traits": { - "smithy.api#documentation": "

                      The namespace of the AWS service that provides the resource. For a resource provided\n by your own application or service, use custom-resource instead.

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

                      The namespace of the Amazon Web Services service that provides the resource. For a resource provided\n by your own application or service, use custom-resource instead.

                      ", "smithy.api#required": {} } }, "ResourceId": { "target": "com.amazonaws.applicationautoscaling#ResourceIdMaxLen1600", "traits": { - "smithy.api#documentation": "

                      The identifier of the resource associated with the scalable target.\n This string consists of the resource type and unique identifier.

                      \n
                        \n
                      • \n

                        ECS service - The resource type is service and the unique identifier is the cluster name \n and service name. Example: service/default/sample-webapp.

                        \n
                      • \n
                      • \n

                        Spot Fleet request - The resource type is spot-fleet-request and the unique identifier is the \n Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

                        \n
                      • \n
                      • \n

                        EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID.\n Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

                        \n
                      • \n
                      • \n

                        AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name.\n Example: fleet/sample-fleet.

                        \n
                      • \n
                      • \n

                        DynamoDB table - The resource type is table and the unique identifier is the table name. \n Example: table/my-table.

                        \n
                      • \n
                      • \n

                        DynamoDB global secondary index - The resource type is index and the unique identifier is the index name. \n Example: table/my-table/index/my-table-index.

                        \n
                      • \n
                      • \n

                        Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name.\n Example: cluster:my-db-cluster.

                        \n
                      • \n
                      • \n

                        Amazon SageMaker endpoint variant - The resource type is variant and the unique identifier is the resource ID.\n Example: endpoint/my-end-point/variant/KMeansClustering.

                        \n
                      • \n
                      • \n

                        Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information\n is available in our GitHub\n repository.

                        \n
                      • \n
                      • \n

                        Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE.

                        \n
                      • \n
                      • \n

                        Amazon Comprehend entity recognizer endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE.

                        \n
                      • \n
                      • \n

                        Lambda provisioned concurrency - The resource type is function and the unique identifier is the function name with a function version or alias name suffix that is not $LATEST. \n Example: function:my-function:prod or function:my-function:1.

                        \n
                      • \n
                      • \n

                        Amazon Keyspaces table - The resource type is table and the unique identifier is the table name. \n Example: keyspace/mykeyspace/table/mytable.

                        \n
                      • \n
                      • \n

                        Amazon MSK cluster - The resource type and unique identifier are specified using the cluster ARN. \n Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5.

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

                      The identifier of the resource associated with the scalable target.\n This string consists of the resource type and unique identifier.

                      \n
                        \n
                      • \n

                        ECS service - The resource type is service and the unique identifier is the cluster name \n and service name. Example: service/default/sample-webapp.

                        \n
                      • \n
                      • \n

                        Spot Fleet request - The resource type is spot-fleet-request and the unique identifier is the \n Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

                        \n
                      • \n
                      • \n

                        EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID.\n Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

                        \n
                      • \n
                      • \n

                        AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name.\n Example: fleet/sample-fleet.

                        \n
                      • \n
                      • \n

                        DynamoDB table - The resource type is table and the unique identifier is the table name. \n Example: table/my-table.

                        \n
                      • \n
                      • \n

                        DynamoDB global secondary index - The resource type is index and the unique identifier is the index name. \n Example: table/my-table/index/my-table-index.

                        \n
                      • \n
                      • \n

                        Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name.\n Example: cluster:my-db-cluster.

                        \n
                      • \n
                      • \n

                        Amazon SageMaker endpoint variant - The resource type is variant and the unique identifier is the resource ID.\n Example: endpoint/my-end-point/variant/KMeansClustering.

                        \n
                      • \n
                      • \n

                        Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information\n is available in our GitHub\n repository.

                        \n
                      • \n
                      • \n

                        Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE.

                        \n
                      • \n
                      • \n

                        Amazon Comprehend entity recognizer endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE.

                        \n
                      • \n
                      • \n

                        Lambda provisioned concurrency - The resource type is function and the unique identifier is the function name with a function version or alias name suffix that is not $LATEST. \n Example: function:my-function:prod or function:my-function:1.

                        \n
                      • \n
                      • \n

                        Amazon Keyspaces table - The resource type is table and the unique identifier is the table name. \n Example: keyspace/mykeyspace/table/mytable.

                        \n
                      • \n
                      • \n

                        Amazon MSK cluster - The resource type and unique identifier are specified using the cluster ARN. \n Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5.

                        \n
                      • \n
                      • \n

                        Amazon ElastiCache replication group - The resource type is replication-group and the unique identifier is the replication group name.\n Example: replication-group/mycluster.

                        \n
                      • \n
                      ", "smithy.api#required": {} } }, "ScalableDimension": { "target": "com.amazonaws.applicationautoscaling#ScalableDimension", "traits": { - "smithy.api#documentation": "

                      The scalable dimension associated with the scalable target.\n This string consists of the service namespace, resource type, and scaling property.

                      \n
                        \n
                      • \n

                        \n ecs:service:DesiredCount - The desired task count of an ECS service.

                        \n
                      • \n
                      • \n

                        \n ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet request.

                        \n
                      • \n
                      • \n

                        \n elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

                        \n
                      • \n
                      • \n

                        \n appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

                        \n
                      • \n
                      • \n

                        \n dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

                        \n
                      • \n
                      • \n

                        \n dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

                        \n
                      • \n
                      • \n

                        \n dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

                        \n
                      • \n
                      • \n

                        \n dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

                        \n
                      • \n
                      • \n

                        \n rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.

                        \n
                      • \n
                      • \n

                        \n sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

                        \n
                      • \n
                      • \n

                        \n custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

                        \n
                      • \n
                      • \n

                        \n comprehend:document-classifier-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend document classification endpoint.

                        \n
                      • \n
                      • \n

                        \n comprehend:entity-recognizer-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend entity recognizer endpoint.

                        \n
                      • \n
                      • \n

                        \n lambda:function:ProvisionedConcurrency - The provisioned concurrency for a Lambda function.

                        \n
                      • \n
                      • \n

                        \n cassandra:table:ReadCapacityUnits - The provisioned read capacity for an Amazon Keyspaces table.

                        \n
                      • \n
                      • \n

                        \n cassandra:table:WriteCapacityUnits - The provisioned write capacity for an Amazon Keyspaces table.

                        \n
                      • \n
                      • \n

                        \n kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) for brokers in an Amazon MSK cluster.

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

                      The scalable dimension associated with the scalable target.\n This string consists of the service namespace, resource type, and scaling property.

                      \n
                        \n
                      • \n

                        \n ecs:service:DesiredCount - The desired task count of an ECS service.

                        \n
                      • \n
                      • \n

                        \n elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

                        \n
                      • \n
                      • \n

                        \n ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet request.

                        \n
                      • \n
                      • \n

                        \n appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

                        \n
                      • \n
                      • \n

                        \n dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

                        \n
                      • \n
                      • \n

                        \n dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

                        \n
                      • \n
                      • \n

                        \n dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

                        \n
                      • \n
                      • \n

                        \n dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

                        \n
                      • \n
                      • \n

                        \n rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.

                        \n
                      • \n
                      • \n

                        \n sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

                        \n
                      • \n
                      • \n

                        \n custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

                        \n
                      • \n
                      • \n

                        \n comprehend:document-classifier-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend document classification endpoint.

                        \n
                      • \n
                      • \n

                        \n comprehend:entity-recognizer-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend entity recognizer endpoint.

                        \n
                      • \n
                      • \n

                        \n lambda:function:ProvisionedConcurrency - The provisioned concurrency for a Lambda function.

                        \n
                      • \n
                      • \n

                        \n cassandra:table:ReadCapacityUnits - The provisioned read capacity for an Amazon Keyspaces table.

                        \n
                      • \n
                      • \n

                        \n cassandra:table:WriteCapacityUnits - The provisioned write capacity for an Amazon Keyspaces table.

                        \n
                      • \n
                      • \n

                        \n kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) for brokers in an Amazon MSK cluster.

                        \n
                      • \n
                      • \n

                        \n elasticache:replication-group:NodeGroups - The number of node groups for an Amazon ElastiCache replication group.

                        \n
                      • \n
                      • \n

                        \n elasticache:replication-group:Replicas - The number of replicas per node group for an Amazon ElastiCache replication group.

                        \n
                      • \n
                      ", "smithy.api#required": {} } } @@ -407,20 +411,20 @@ "ServiceNamespace": { "target": "com.amazonaws.applicationautoscaling#ServiceNamespace", "traits": { - "smithy.api#documentation": "

                      The namespace of the AWS service that provides the resource. For a resource provided\n by your own application or service, use custom-resource instead.

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

                      The namespace of the Amazon Web Services service that provides the resource. For a resource provided\n by your own application or service, use custom-resource instead.

                      ", "smithy.api#required": {} } }, "ResourceIds": { "target": "com.amazonaws.applicationautoscaling#ResourceIdsMaxLen1600", "traits": { - "smithy.api#documentation": "

                      The identifier of the resource associated with the scalable target.\n This string consists of the resource type and unique identifier.

                      \n
                        \n
                      • \n

                        ECS service - The resource type is service and the unique identifier is the cluster name \n and service name. Example: service/default/sample-webapp.

                        \n
                      • \n
                      • \n

                        Spot Fleet request - The resource type is spot-fleet-request and the unique identifier is the \n Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

                        \n
                      • \n
                      • \n

                        EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID.\n Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

                        \n
                      • \n
                      • \n

                        AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name.\n Example: fleet/sample-fleet.

                        \n
                      • \n
                      • \n

                        DynamoDB table - The resource type is table and the unique identifier is the table name. \n Example: table/my-table.

                        \n
                      • \n
                      • \n

                        DynamoDB global secondary index - The resource type is index and the unique identifier is the index name. \n Example: table/my-table/index/my-table-index.

                        \n
                      • \n
                      • \n

                        Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name.\n Example: cluster:my-db-cluster.

                        \n
                      • \n
                      • \n

                        Amazon SageMaker endpoint variant - The resource type is variant and the unique identifier is the resource ID.\n Example: endpoint/my-end-point/variant/KMeansClustering.

                        \n
                      • \n
                      • \n

                        Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information\n is available in our GitHub\n repository.

                        \n
                      • \n
                      • \n

                        Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE.

                        \n
                      • \n
                      • \n

                        Amazon Comprehend entity recognizer endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE.

                        \n
                      • \n
                      • \n

                        Lambda provisioned concurrency - The resource type is function and the unique identifier is the function name with a function version or alias name suffix that is not $LATEST. \n Example: function:my-function:prod or function:my-function:1.

                        \n
                      • \n
                      • \n

                        Amazon Keyspaces table - The resource type is table and the unique identifier is the table name. \n Example: keyspace/mykeyspace/table/mytable.

                        \n
                      • \n
                      • \n

                        Amazon MSK cluster - The resource type and unique identifier are specified using the cluster ARN. \n Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5.

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

                      The identifier of the resource associated with the scalable target.\n This string consists of the resource type and unique identifier.

                      \n
                        \n
                      • \n

                        ECS service - The resource type is service and the unique identifier is the cluster name \n and service name. Example: service/default/sample-webapp.

                        \n
                      • \n
                      • \n

                        Spot Fleet request - The resource type is spot-fleet-request and the unique identifier is the \n Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

                        \n
                      • \n
                      • \n

                        EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID.\n Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

                        \n
                      • \n
                      • \n

                        AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name.\n Example: fleet/sample-fleet.

                        \n
                      • \n
                      • \n

                        DynamoDB table - The resource type is table and the unique identifier is the table name. \n Example: table/my-table.

                        \n
                      • \n
                      • \n

                        DynamoDB global secondary index - The resource type is index and the unique identifier is the index name. \n Example: table/my-table/index/my-table-index.

                        \n
                      • \n
                      • \n

                        Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name.\n Example: cluster:my-db-cluster.

                        \n
                      • \n
                      • \n

                        Amazon SageMaker endpoint variant - The resource type is variant and the unique identifier is the resource ID.\n Example: endpoint/my-end-point/variant/KMeansClustering.

                        \n
                      • \n
                      • \n

                        Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information\n is available in our GitHub\n repository.

                        \n
                      • \n
                      • \n

                        Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE.

                        \n
                      • \n
                      • \n

                        Amazon Comprehend entity recognizer endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE.

                        \n
                      • \n
                      • \n

                        Lambda provisioned concurrency - The resource type is function and the unique identifier is the function name with a function version or alias name suffix that is not $LATEST. \n Example: function:my-function:prod or function:my-function:1.

                        \n
                      • \n
                      • \n

                        Amazon Keyspaces table - The resource type is table and the unique identifier is the table name. \n Example: keyspace/mykeyspace/table/mytable.

                        \n
                      • \n
                      • \n

                        Amazon MSK cluster - The resource type and unique identifier are specified using the cluster ARN. \n Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5.

                        \n
                      • \n
                      • \n

                        Amazon ElastiCache replication group - The resource type is replication-group and the unique identifier is the replication group name.\n Example: replication-group/mycluster.

                        \n
                      • \n
                      " } }, "ScalableDimension": { "target": "com.amazonaws.applicationautoscaling#ScalableDimension", "traits": { - "smithy.api#documentation": "

                      The scalable dimension associated with the scalable target.\n This string consists of the service namespace, resource type, and scaling property. If you specify a scalable dimension, you must also specify a resource ID.

                      \n
                        \n
                      • \n

                        \n ecs:service:DesiredCount - The desired task count of an ECS service.

                        \n
                      • \n
                      • \n

                        \n ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet request.

                        \n
                      • \n
                      • \n

                        \n elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

                        \n
                      • \n
                      • \n

                        \n appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

                        \n
                      • \n
                      • \n

                        \n dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

                        \n
                      • \n
                      • \n

                        \n dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

                        \n
                      • \n
                      • \n

                        \n dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

                        \n
                      • \n
                      • \n

                        \n dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

                        \n
                      • \n
                      • \n

                        \n rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.

                        \n
                      • \n
                      • \n

                        \n sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

                        \n
                      • \n
                      • \n

                        \n custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

                        \n
                      • \n
                      • \n

                        \n comprehend:document-classifier-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend document classification endpoint.

                        \n
                      • \n
                      • \n

                        \n comprehend:entity-recognizer-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend entity recognizer endpoint.

                        \n
                      • \n
                      • \n

                        \n lambda:function:ProvisionedConcurrency - The provisioned concurrency for a Lambda function.

                        \n
                      • \n
                      • \n

                        \n cassandra:table:ReadCapacityUnits - The provisioned read capacity for an Amazon Keyspaces table.

                        \n
                      • \n
                      • \n

                        \n cassandra:table:WriteCapacityUnits - The provisioned write capacity for an Amazon Keyspaces table.

                        \n
                      • \n
                      • \n

                        \n kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) for brokers in an Amazon MSK cluster.

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

                      The scalable dimension associated with the scalable target.\n This string consists of the service namespace, resource type, and scaling property. If you specify a scalable dimension, you must also specify a resource ID.

                      \n
                        \n
                      • \n

                        \n ecs:service:DesiredCount - The desired task count of an ECS service.

                        \n
                      • \n
                      • \n

                        \n elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

                        \n
                      • \n
                      • \n

                        \n ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet request.

                        \n
                      • \n
                      • \n

                        \n appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

                        \n
                      • \n
                      • \n

                        \n dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

                        \n
                      • \n
                      • \n

                        \n dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

                        \n
                      • \n
                      • \n

                        \n dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

                        \n
                      • \n
                      • \n

                        \n dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

                        \n
                      • \n
                      • \n

                        \n rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.

                        \n
                      • \n
                      • \n

                        \n sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

                        \n
                      • \n
                      • \n

                        \n custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

                        \n
                      • \n
                      • \n

                        \n comprehend:document-classifier-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend document classification endpoint.

                        \n
                      • \n
                      • \n

                        \n comprehend:entity-recognizer-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend entity recognizer endpoint.

                        \n
                      • \n
                      • \n

                        \n lambda:function:ProvisionedConcurrency - The provisioned concurrency for a Lambda function.

                        \n
                      • \n
                      • \n

                        \n cassandra:table:ReadCapacityUnits - The provisioned read capacity for an Amazon Keyspaces table.

                        \n
                      • \n
                      • \n

                        \n cassandra:table:WriteCapacityUnits - The provisioned write capacity for an Amazon Keyspaces table.

                        \n
                      • \n
                      • \n

                        \n kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) for brokers in an Amazon MSK cluster.

                        \n
                      • \n
                      • \n

                        \n elasticache:replication-group:NodeGroups - The number of node groups for an Amazon ElastiCache replication group.

                        \n
                      • \n
                      • \n

                        \n elasticache:replication-group:Replicas - The number of replicas per node group for an Amazon ElastiCache replication group.

                        \n
                      • \n
                      " } }, "MaxResults": { @@ -492,20 +496,20 @@ "ServiceNamespace": { "target": "com.amazonaws.applicationautoscaling#ServiceNamespace", "traits": { - "smithy.api#documentation": "

                      The namespace of the AWS service that provides the resource. For a resource provided\n by your own application or service, use custom-resource instead.

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

                      The namespace of the Amazon Web Services service that provides the resource. For a resource provided\n by your own application or service, use custom-resource instead.

                      ", "smithy.api#required": {} } }, "ResourceId": { "target": "com.amazonaws.applicationautoscaling#ResourceIdMaxLen1600", "traits": { - "smithy.api#documentation": "

                      The identifier of the resource associated with the scaling activity.\n This string consists of the resource type and unique identifier.

                      \n
                        \n
                      • \n

                        ECS service - The resource type is service and the unique identifier is the cluster name \n and service name. Example: service/default/sample-webapp.

                        \n
                      • \n
                      • \n

                        Spot Fleet request - The resource type is spot-fleet-request and the unique identifier is the \n Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

                        \n
                      • \n
                      • \n

                        EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID.\n Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

                        \n
                      • \n
                      • \n

                        AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name.\n Example: fleet/sample-fleet.

                        \n
                      • \n
                      • \n

                        DynamoDB table - The resource type is table and the unique identifier is the table name. \n Example: table/my-table.

                        \n
                      • \n
                      • \n

                        DynamoDB global secondary index - The resource type is index and the unique identifier is the index name. \n Example: table/my-table/index/my-table-index.

                        \n
                      • \n
                      • \n

                        Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name.\n Example: cluster:my-db-cluster.

                        \n
                      • \n
                      • \n

                        Amazon SageMaker endpoint variant - The resource type is variant and the unique identifier is the resource ID.\n Example: endpoint/my-end-point/variant/KMeansClustering.

                        \n
                      • \n
                      • \n

                        Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information\n is available in our GitHub\n repository.

                        \n
                      • \n
                      • \n

                        Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE.

                        \n
                      • \n
                      • \n

                        Amazon Comprehend entity recognizer endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE.

                        \n
                      • \n
                      • \n

                        Lambda provisioned concurrency - The resource type is function and the unique identifier is the function name with a function version or alias name suffix that is not $LATEST. \n Example: function:my-function:prod or function:my-function:1.

                        \n
                      • \n
                      • \n

                        Amazon Keyspaces table - The resource type is table and the unique identifier is the table name. \n Example: keyspace/mykeyspace/table/mytable.

                        \n
                      • \n
                      • \n

                        Amazon MSK cluster - The resource type and unique identifier are specified using the cluster ARN. \n Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5.

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

                      The identifier of the resource associated with the scaling activity.\n This string consists of the resource type and unique identifier.

                      \n
                        \n
                      • \n

                        ECS service - The resource type is service and the unique identifier is the cluster name \n and service name. Example: service/default/sample-webapp.

                        \n
                      • \n
                      • \n

                        Spot Fleet request - The resource type is spot-fleet-request and the unique identifier is the \n Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

                        \n
                      • \n
                      • \n

                        EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID.\n Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

                        \n
                      • \n
                      • \n

                        AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name.\n Example: fleet/sample-fleet.

                        \n
                      • \n
                      • \n

                        DynamoDB table - The resource type is table and the unique identifier is the table name. \n Example: table/my-table.

                        \n
                      • \n
                      • \n

                        DynamoDB global secondary index - The resource type is index and the unique identifier is the index name. \n Example: table/my-table/index/my-table-index.

                        \n
                      • \n
                      • \n

                        Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name.\n Example: cluster:my-db-cluster.

                        \n
                      • \n
                      • \n

                        Amazon SageMaker endpoint variant - The resource type is variant and the unique identifier is the resource ID.\n Example: endpoint/my-end-point/variant/KMeansClustering.

                        \n
                      • \n
                      • \n

                        Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information\n is available in our GitHub\n repository.

                        \n
                      • \n
                      • \n

                        Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE.

                        \n
                      • \n
                      • \n

                        Amazon Comprehend entity recognizer endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE.

                        \n
                      • \n
                      • \n

                        Lambda provisioned concurrency - The resource type is function and the unique identifier is the function name with a function version or alias name suffix that is not $LATEST. \n Example: function:my-function:prod or function:my-function:1.

                        \n
                      • \n
                      • \n

                        Amazon Keyspaces table - The resource type is table and the unique identifier is the table name. \n Example: keyspace/mykeyspace/table/mytable.

                        \n
                      • \n
                      • \n

                        Amazon MSK cluster - The resource type and unique identifier are specified using the cluster ARN. \n Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5.

                        \n
                      • \n
                      • \n

                        Amazon ElastiCache replication group - The resource type is replication-group and the unique identifier is the replication group name.\n Example: replication-group/mycluster.

                        \n
                      • \n
                      " } }, "ScalableDimension": { "target": "com.amazonaws.applicationautoscaling#ScalableDimension", "traits": { - "smithy.api#documentation": "

                      The scalable dimension. This string consists of the service namespace, resource type, and scaling property.\n If you specify a scalable dimension, you must also specify a resource ID.

                      \n
                        \n
                      • \n

                        \n ecs:service:DesiredCount - The desired task count of an ECS service.

                        \n
                      • \n
                      • \n

                        \n ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet request.

                        \n
                      • \n
                      • \n

                        \n elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

                        \n
                      • \n
                      • \n

                        \n appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

                        \n
                      • \n
                      • \n

                        \n dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

                        \n
                      • \n
                      • \n

                        \n dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

                        \n
                      • \n
                      • \n

                        \n dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

                        \n
                      • \n
                      • \n

                        \n dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

                        \n
                      • \n
                      • \n

                        \n rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.

                        \n
                      • \n
                      • \n

                        \n sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

                        \n
                      • \n
                      • \n

                        \n custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

                        \n
                      • \n
                      • \n

                        \n comprehend:document-classifier-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend document classification endpoint.

                        \n
                      • \n
                      • \n

                        \n comprehend:entity-recognizer-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend entity recognizer endpoint.

                        \n
                      • \n
                      • \n

                        \n lambda:function:ProvisionedConcurrency - The provisioned concurrency for a Lambda function.

                        \n
                      • \n
                      • \n

                        \n cassandra:table:ReadCapacityUnits - The provisioned read capacity for an Amazon Keyspaces table.

                        \n
                      • \n
                      • \n

                        \n cassandra:table:WriteCapacityUnits - The provisioned write capacity for an Amazon Keyspaces table.

                        \n
                      • \n
                      • \n

                        \n kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) for brokers in an Amazon MSK cluster.

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

                      The scalable dimension. This string consists of the service namespace, resource type, and scaling property.\n If you specify a scalable dimension, you must also specify a resource ID.

                      \n
                        \n
                      • \n

                        \n ecs:service:DesiredCount - The desired task count of an ECS service.

                        \n
                      • \n
                      • \n

                        \n elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

                        \n
                      • \n
                      • \n

                        \n ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet request.

                        \n
                      • \n
                      • \n

                        \n appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

                        \n
                      • \n
                      • \n

                        \n dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

                        \n
                      • \n
                      • \n

                        \n dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

                        \n
                      • \n
                      • \n

                        \n dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

                        \n
                      • \n
                      • \n

                        \n dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

                        \n
                      • \n
                      • \n

                        \n rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.

                        \n
                      • \n
                      • \n

                        \n sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

                        \n
                      • \n
                      • \n

                        \n custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

                        \n
                      • \n
                      • \n

                        \n comprehend:document-classifier-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend document classification endpoint.

                        \n
                      • \n
                      • \n

                        \n comprehend:entity-recognizer-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend entity recognizer endpoint.

                        \n
                      • \n
                      • \n

                        \n lambda:function:ProvisionedConcurrency - The provisioned concurrency for a Lambda function.

                        \n
                      • \n
                      • \n

                        \n cassandra:table:ReadCapacityUnits - The provisioned read capacity for an Amazon Keyspaces table.

                        \n
                      • \n
                      • \n

                        \n cassandra:table:WriteCapacityUnits - The provisioned write capacity for an Amazon Keyspaces table.

                        \n
                      • \n
                      • \n

                        \n kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) for brokers in an Amazon MSK cluster.

                        \n
                      • \n
                      • \n

                        \n elasticache:replication-group:NodeGroups - The number of node groups for an Amazon ElastiCache replication group.

                        \n
                      • \n
                      • \n

                        \n elasticache:replication-group:Replicas - The number of replicas per node group for an Amazon ElastiCache replication group.

                        \n
                      • \n
                      " } }, "MaxResults": { @@ -586,20 +590,20 @@ "ServiceNamespace": { "target": "com.amazonaws.applicationautoscaling#ServiceNamespace", "traits": { - "smithy.api#documentation": "

                      The namespace of the AWS service that provides the resource. For a resource provided\n by your own application or service, use custom-resource instead.

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

                      The namespace of the Amazon Web Services service that provides the resource. For a resource provided\n by your own application or service, use custom-resource instead.

                      ", "smithy.api#required": {} } }, "ResourceId": { "target": "com.amazonaws.applicationautoscaling#ResourceIdMaxLen1600", "traits": { - "smithy.api#documentation": "

                      The identifier of the resource associated with the scaling policy.\n This string consists of the resource type and unique identifier.

                      \n
                        \n
                      • \n

                        ECS service - The resource type is service and the unique identifier is the cluster name \n and service name. Example: service/default/sample-webapp.

                        \n
                      • \n
                      • \n

                        Spot Fleet request - The resource type is spot-fleet-request and the unique identifier is the \n Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

                        \n
                      • \n
                      • \n

                        EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID.\n Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

                        \n
                      • \n
                      • \n

                        AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name.\n Example: fleet/sample-fleet.

                        \n
                      • \n
                      • \n

                        DynamoDB table - The resource type is table and the unique identifier is the table name. \n Example: table/my-table.

                        \n
                      • \n
                      • \n

                        DynamoDB global secondary index - The resource type is index and the unique identifier is the index name. \n Example: table/my-table/index/my-table-index.

                        \n
                      • \n
                      • \n

                        Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name.\n Example: cluster:my-db-cluster.

                        \n
                      • \n
                      • \n

                        Amazon SageMaker endpoint variant - The resource type is variant and the unique identifier is the resource ID.\n Example: endpoint/my-end-point/variant/KMeansClustering.

                        \n
                      • \n
                      • \n

                        Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information\n is available in our GitHub\n repository.

                        \n
                      • \n
                      • \n

                        Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE.

                        \n
                      • \n
                      • \n

                        Amazon Comprehend entity recognizer endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE.

                        \n
                      • \n
                      • \n

                        Lambda provisioned concurrency - The resource type is function and the unique identifier is the function name with a function version or alias name suffix that is not $LATEST. \n Example: function:my-function:prod or function:my-function:1.

                        \n
                      • \n
                      • \n

                        Amazon Keyspaces table - The resource type is table and the unique identifier is the table name. \n Example: keyspace/mykeyspace/table/mytable.

                        \n
                      • \n
                      • \n

                        Amazon MSK cluster - The resource type and unique identifier are specified using the cluster ARN. \n Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5.

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

                      The identifier of the resource associated with the scaling policy.\n This string consists of the resource type and unique identifier.

                      \n
                        \n
                      • \n

                        ECS service - The resource type is service and the unique identifier is the cluster name \n and service name. Example: service/default/sample-webapp.

                        \n
                      • \n
                      • \n

                        Spot Fleet request - The resource type is spot-fleet-request and the unique identifier is the \n Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

                        \n
                      • \n
                      • \n

                        EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID.\n Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

                        \n
                      • \n
                      • \n

                        AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name.\n Example: fleet/sample-fleet.

                        \n
                      • \n
                      • \n

                        DynamoDB table - The resource type is table and the unique identifier is the table name. \n Example: table/my-table.

                        \n
                      • \n
                      • \n

                        DynamoDB global secondary index - The resource type is index and the unique identifier is the index name. \n Example: table/my-table/index/my-table-index.

                        \n
                      • \n
                      • \n

                        Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name.\n Example: cluster:my-db-cluster.

                        \n
                      • \n
                      • \n

                        Amazon SageMaker endpoint variant - The resource type is variant and the unique identifier is the resource ID.\n Example: endpoint/my-end-point/variant/KMeansClustering.

                        \n
                      • \n
                      • \n

                        Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information\n is available in our GitHub\n repository.

                        \n
                      • \n
                      • \n

                        Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE.

                        \n
                      • \n
                      • \n

                        Amazon Comprehend entity recognizer endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE.

                        \n
                      • \n
                      • \n

                        Lambda provisioned concurrency - The resource type is function and the unique identifier is the function name with a function version or alias name suffix that is not $LATEST. \n Example: function:my-function:prod or function:my-function:1.

                        \n
                      • \n
                      • \n

                        Amazon Keyspaces table - The resource type is table and the unique identifier is the table name. \n Example: keyspace/mykeyspace/table/mytable.

                        \n
                      • \n
                      • \n

                        Amazon MSK cluster - The resource type and unique identifier are specified using the cluster ARN. \n Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5.

                        \n
                      • \n
                      • \n

                        Amazon ElastiCache replication group - The resource type is replication-group and the unique identifier is the replication group name.\n Example: replication-group/mycluster.

                        \n
                      • \n
                      " } }, "ScalableDimension": { "target": "com.amazonaws.applicationautoscaling#ScalableDimension", "traits": { - "smithy.api#documentation": "

                      The scalable dimension. This string consists of the service namespace, resource type, and scaling property.\n If you specify a scalable dimension, you must also specify a resource ID.

                      \n
                        \n
                      • \n

                        \n ecs:service:DesiredCount - The desired task count of an ECS service.

                        \n
                      • \n
                      • \n

                        \n ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet request.

                        \n
                      • \n
                      • \n

                        \n elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

                        \n
                      • \n
                      • \n

                        \n appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

                        \n
                      • \n
                      • \n

                        \n dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

                        \n
                      • \n
                      • \n

                        \n dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

                        \n
                      • \n
                      • \n

                        \n dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

                        \n
                      • \n
                      • \n

                        \n dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

                        \n
                      • \n
                      • \n

                        \n rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.

                        \n
                      • \n
                      • \n

                        \n sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

                        \n
                      • \n
                      • \n

                        \n custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

                        \n
                      • \n
                      • \n

                        \n comprehend:document-classifier-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend document classification endpoint.

                        \n
                      • \n
                      • \n

                        \n comprehend:entity-recognizer-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend entity recognizer endpoint.

                        \n
                      • \n
                      • \n

                        \n lambda:function:ProvisionedConcurrency - The provisioned concurrency for a Lambda function.

                        \n
                      • \n
                      • \n

                        \n cassandra:table:ReadCapacityUnits - The provisioned read capacity for an Amazon Keyspaces table.

                        \n
                      • \n
                      • \n

                        \n cassandra:table:WriteCapacityUnits - The provisioned write capacity for an Amazon Keyspaces table.

                        \n
                      • \n
                      • \n

                        \n kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) for brokers in an Amazon MSK cluster.

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

                      The scalable dimension. This string consists of the service namespace, resource type, and scaling property.\n If you specify a scalable dimension, you must also specify a resource ID.

                      \n
                        \n
                      • \n

                        \n ecs:service:DesiredCount - The desired task count of an ECS service.

                        \n
                      • \n
                      • \n

                        \n elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

                        \n
                      • \n
                      • \n

                        \n ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet request.

                        \n
                      • \n
                      • \n

                        \n appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

                        \n
                      • \n
                      • \n

                        \n dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

                        \n
                      • \n
                      • \n

                        \n dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

                        \n
                      • \n
                      • \n

                        \n dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

                        \n
                      • \n
                      • \n

                        \n dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

                        \n
                      • \n
                      • \n

                        \n rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.

                        \n
                      • \n
                      • \n

                        \n sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

                        \n
                      • \n
                      • \n

                        \n custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

                        \n
                      • \n
                      • \n

                        \n comprehend:document-classifier-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend document classification endpoint.

                        \n
                      • \n
                      • \n

                        \n comprehend:entity-recognizer-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend entity recognizer endpoint.

                        \n
                      • \n
                      • \n

                        \n lambda:function:ProvisionedConcurrency - The provisioned concurrency for a Lambda function.

                        \n
                      • \n
                      • \n

                        \n cassandra:table:ReadCapacityUnits - The provisioned read capacity for an Amazon Keyspaces table.

                        \n
                      • \n
                      • \n

                        \n cassandra:table:WriteCapacityUnits - The provisioned write capacity for an Amazon Keyspaces table.

                        \n
                      • \n
                      • \n

                        \n kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) for brokers in an Amazon MSK cluster.

                        \n
                      • \n
                      • \n

                        \n elasticache:replication-group:NodeGroups - The number of node groups for an Amazon ElastiCache replication group.

                        \n
                      • \n
                      • \n

                        \n elasticache:replication-group:Replicas - The number of replicas per node group for an Amazon ElastiCache replication group.

                        \n
                      • \n
                      " } }, "MaxResults": { @@ -677,20 +681,20 @@ "ServiceNamespace": { "target": "com.amazonaws.applicationautoscaling#ServiceNamespace", "traits": { - "smithy.api#documentation": "

                      The namespace of the AWS service that provides the resource. For a resource provided\n by your own application or service, use custom-resource instead.

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

                      The namespace of the Amazon Web Services service that provides the resource. For a resource provided\n by your own application or service, use custom-resource instead.

                      ", "smithy.api#required": {} } }, "ResourceId": { "target": "com.amazonaws.applicationautoscaling#ResourceIdMaxLen1600", "traits": { - "smithy.api#documentation": "

                      The identifier of the resource associated with the scheduled action.\n This string consists of the resource type and unique identifier.

                      \n
                        \n
                      • \n

                        ECS service - The resource type is service and the unique identifier is the cluster name \n and service name. Example: service/default/sample-webapp.

                        \n
                      • \n
                      • \n

                        Spot Fleet request - The resource type is spot-fleet-request and the unique identifier is the \n Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

                        \n
                      • \n
                      • \n

                        EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID.\n Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

                        \n
                      • \n
                      • \n

                        AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name.\n Example: fleet/sample-fleet.

                        \n
                      • \n
                      • \n

                        DynamoDB table - The resource type is table and the unique identifier is the table name. \n Example: table/my-table.

                        \n
                      • \n
                      • \n

                        DynamoDB global secondary index - The resource type is index and the unique identifier is the index name. \n Example: table/my-table/index/my-table-index.

                        \n
                      • \n
                      • \n

                        Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name.\n Example: cluster:my-db-cluster.

                        \n
                      • \n
                      • \n

                        Amazon SageMaker endpoint variant - The resource type is variant and the unique identifier is the resource ID.\n Example: endpoint/my-end-point/variant/KMeansClustering.

                        \n
                      • \n
                      • \n

                        Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information\n is available in our GitHub\n repository.

                        \n
                      • \n
                      • \n

                        Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE.

                        \n
                      • \n
                      • \n

                        Amazon Comprehend entity recognizer endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE.

                        \n
                      • \n
                      • \n

                        Lambda provisioned concurrency - The resource type is function and the unique identifier is the function name with a function version or alias name suffix that is not $LATEST. \n Example: function:my-function:prod or function:my-function:1.

                        \n
                      • \n
                      • \n

                        Amazon Keyspaces table - The resource type is table and the unique identifier is the table name. \n Example: keyspace/mykeyspace/table/mytable.

                        \n
                      • \n
                      • \n

                        Amazon MSK cluster - The resource type and unique identifier are specified using the cluster ARN. \n Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5.

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

                      The identifier of the resource associated with the scheduled action.\n This string consists of the resource type and unique identifier.

                      \n
                        \n
                      • \n

                        ECS service - The resource type is service and the unique identifier is the cluster name \n and service name. Example: service/default/sample-webapp.

                        \n
                      • \n
                      • \n

                        Spot Fleet request - The resource type is spot-fleet-request and the unique identifier is the \n Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

                        \n
                      • \n
                      • \n

                        EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID.\n Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

                        \n
                      • \n
                      • \n

                        AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name.\n Example: fleet/sample-fleet.

                        \n
                      • \n
                      • \n

                        DynamoDB table - The resource type is table and the unique identifier is the table name. \n Example: table/my-table.

                        \n
                      • \n
                      • \n

                        DynamoDB global secondary index - The resource type is index and the unique identifier is the index name. \n Example: table/my-table/index/my-table-index.

                        \n
                      • \n
                      • \n

                        Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name.\n Example: cluster:my-db-cluster.

                        \n
                      • \n
                      • \n

                        Amazon SageMaker endpoint variant - The resource type is variant and the unique identifier is the resource ID.\n Example: endpoint/my-end-point/variant/KMeansClustering.

                        \n
                      • \n
                      • \n

                        Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information\n is available in our GitHub\n repository.

                        \n
                      • \n
                      • \n

                        Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE.

                        \n
                      • \n
                      • \n

                        Amazon Comprehend entity recognizer endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE.

                        \n
                      • \n
                      • \n

                        Lambda provisioned concurrency - The resource type is function and the unique identifier is the function name with a function version or alias name suffix that is not $LATEST. \n Example: function:my-function:prod or function:my-function:1.

                        \n
                      • \n
                      • \n

                        Amazon Keyspaces table - The resource type is table and the unique identifier is the table name. \n Example: keyspace/mykeyspace/table/mytable.

                        \n
                      • \n
                      • \n

                        Amazon MSK cluster - The resource type and unique identifier are specified using the cluster ARN. \n Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5.

                        \n
                      • \n
                      • \n

                        Amazon ElastiCache replication group - The resource type is replication-group and the unique identifier is the replication group name.\n Example: replication-group/mycluster.

                        \n
                      • \n
                      " } }, "ScalableDimension": { "target": "com.amazonaws.applicationautoscaling#ScalableDimension", "traits": { - "smithy.api#documentation": "

                      The scalable dimension. This string consists of the service namespace, resource type, and scaling property.\n If you specify a scalable dimension, you must also specify a resource ID.

                      \n
                        \n
                      • \n

                        \n ecs:service:DesiredCount - The desired task count of an ECS service.

                        \n
                      • \n
                      • \n

                        \n ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet request.

                        \n
                      • \n
                      • \n

                        \n elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

                        \n
                      • \n
                      • \n

                        \n appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

                        \n
                      • \n
                      • \n

                        \n dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

                        \n
                      • \n
                      • \n

                        \n dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

                        \n
                      • \n
                      • \n

                        \n dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

                        \n
                      • \n
                      • \n

                        \n dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

                        \n
                      • \n
                      • \n

                        \n rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.

                        \n
                      • \n
                      • \n

                        \n sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

                        \n
                      • \n
                      • \n

                        \n custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

                        \n
                      • \n
                      • \n

                        \n comprehend:document-classifier-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend document classification endpoint.

                        \n
                      • \n
                      • \n

                        \n comprehend:entity-recognizer-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend entity recognizer endpoint.

                        \n
                      • \n
                      • \n

                        \n lambda:function:ProvisionedConcurrency - The provisioned concurrency for a Lambda function.

                        \n
                      • \n
                      • \n

                        \n cassandra:table:ReadCapacityUnits - The provisioned read capacity for an Amazon Keyspaces table.

                        \n
                      • \n
                      • \n

                        \n cassandra:table:WriteCapacityUnits - The provisioned write capacity for an Amazon Keyspaces table.

                        \n
                      • \n
                      • \n

                        \n kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) for brokers in an Amazon MSK cluster.

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

                      The scalable dimension. This string consists of the service namespace, resource type, and scaling property.\n If you specify a scalable dimension, you must also specify a resource ID.

                      \n
                        \n
                      • \n

                        \n ecs:service:DesiredCount - The desired task count of an ECS service.

                        \n
                      • \n
                      • \n

                        \n elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

                        \n
                      • \n
                      • \n

                        \n ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet request.

                        \n
                      • \n
                      • \n

                        \n appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

                        \n
                      • \n
                      • \n

                        \n dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

                        \n
                      • \n
                      • \n

                        \n dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

                        \n
                      • \n
                      • \n

                        \n dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

                        \n
                      • \n
                      • \n

                        \n dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

                        \n
                      • \n
                      • \n

                        \n rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.

                        \n
                      • \n
                      • \n

                        \n sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

                        \n
                      • \n
                      • \n

                        \n custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

                        \n
                      • \n
                      • \n

                        \n comprehend:document-classifier-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend document classification endpoint.

                        \n
                      • \n
                      • \n

                        \n comprehend:entity-recognizer-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend entity recognizer endpoint.

                        \n
                      • \n
                      • \n

                        \n lambda:function:ProvisionedConcurrency - The provisioned concurrency for a Lambda function.

                        \n
                      • \n
                      • \n

                        \n cassandra:table:ReadCapacityUnits - The provisioned read capacity for an Amazon Keyspaces table.

                        \n
                      • \n
                      • \n

                        \n cassandra:table:WriteCapacityUnits - The provisioned write capacity for an Amazon Keyspaces table.

                        \n
                      • \n
                      • \n

                        \n kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) for brokers in an Amazon MSK cluster.

                        \n
                      • \n
                      • \n

                        \n elasticache:replication-group:NodeGroups - The number of node groups for an Amazon ElastiCache replication group.

                        \n
                      • \n
                      • \n

                        \n elasticache:replication-group:Replicas - The number of replicas per node group for an Amazon ElastiCache replication group.

                        \n
                      • \n
                      " } }, "MaxResults": { @@ -741,6 +745,10 @@ } }, "traits": { + "aws.protocols#awsQueryError": { + "code": "FailedResourceAccessException", + "httpResponseCode": 400 + }, "smithy.api#documentation": "

                      Failed access to resources caused an exception. This exception is thrown when Application Auto Scaling\n is unable to retrieve the alarms associated with a scaling policy due to a client error,\n for example, if the role ARN specified for a scalable target does not have permission to\n call the CloudWatch DescribeAlarms on your behalf.

                      ", "smithy.api#error": "client", "smithy.api#httpError": 400 @@ -754,6 +762,10 @@ } }, "traits": { + "aws.protocols#awsQueryError": { + "code": "InternalServiceException", + "httpResponseCode": 500 + }, "smithy.api#documentation": "

                      The service encountered an internal error.

                      ", "smithy.api#error": "server", "smithy.api#httpError": 500 @@ -767,6 +779,10 @@ } }, "traits": { + "aws.protocols#awsQueryError": { + "code": "InvalidNextTokenException", + "httpResponseCode": 400 + }, "smithy.api#documentation": "

                      The next token supplied was invalid.

                      ", "smithy.api#error": "client", "smithy.api#httpError": 400 @@ -780,6 +796,10 @@ } }, "traits": { + "aws.protocols#awsQueryError": { + "code": "LimitExceededException", + "httpResponseCode": 400 + }, "smithy.api#documentation": "

                      A per-account resource limit is exceeded. For more information, see Application Auto Scaling service quotas.

                      ", "smithy.api#error": "client", "smithy.api#httpError": 400 @@ -954,6 +974,18 @@ { "value": "KafkaBrokerStorageUtilization", "name": "KafkaBrokerStorageUtilization" + }, + { + "value": "ElastiCachePrimaryEngineCPUUtilization", + "name": "ElastiCachePrimaryEngineCPUUtilization" + }, + { + "value": "ElastiCacheReplicaEngineCPUUtilization", + "name": "ElastiCacheReplicaEngineCPUUtilization" + }, + { + "value": "ElastiCacheDatabaseMemoryUsageCountedForEvictPercentage", + "name": "ElastiCacheDatabaseMemoryUsageCountedForEvictPercentage" } ] } @@ -975,6 +1007,10 @@ } }, "traits": { + "aws.protocols#awsQueryError": { + "code": "ObjectNotFoundException", + "httpResponseCode": 400 + }, "smithy.api#documentation": "

                      The specified object could not be found. For any operation that depends on the existence\n of a scalable target, this exception is thrown if the scalable target with the specified\n service namespace, resource ID, and scalable dimension does not exist. For any operation\n that deletes or deregisters a resource, this exception is thrown if the resource cannot be\n found.

                      ", "smithy.api#error": "client", "smithy.api#httpError": 400 @@ -987,7 +1023,7 @@ "min": 1, "max": 256 }, - "smithy.api#pattern": "\\p{Print}+" + "smithy.api#pattern": "^\\p{Print}+$" } }, "com.amazonaws.applicationautoscaling#PolicyType": { @@ -1018,12 +1054,12 @@ "ResourceLabel": { "target": "com.amazonaws.applicationautoscaling#ResourceLabel", "traits": { - "smithy.api#documentation": "

                      Identifies the resource associated with the metric type. You can't specify a resource\n label unless the metric type is ALBRequestCountPerTarget and there is a target\n group attached to the Spot Fleet request or ECS service.

                      \n

                      You create the resource label by appending the final portion of the load balancer ARN\n and the final portion of the target group ARN into a single value, separated by a forward\n slash (/). The format is\n app///targetgroup//,\n where:

                      \n
                        \n
                      • \n

                        app// is the final portion of\n the load balancer ARN

                        \n
                      • \n
                      • \n

                        targetgroup// is the final portion\n of the target group ARN.

                        \n
                      • \n
                      \n

                      This is an example:\n app/EC2Co-EcsEl-1TKLTMITMM0EO/f37c06a68c1748aa/targetgroup/EC2Co-Defau-LDNM7Q3ZH1ZN/6d4ea56ca2d6a18d.

                      \n

                      To find the ARN for an Application Load Balancer, use the DescribeLoadBalancers API operation. To find the ARN for the target group, use\n the DescribeTargetGroups API operation.

                      " + "smithy.api#documentation": "

                      Identifies the resource associated with the metric type. You can't specify a resource\n label unless the metric type is ALBRequestCountPerTarget and there is a target\n group attached to the Spot Fleet request or ECS service.

                      \n

                      You create the resource label by appending the final portion of the load balancer ARN\n and the final portion of the target group ARN into a single value, separated by a forward\n slash (/). The format of the resource label is:

                      \n

                      \n app/my-alb/778d41231b141a0f/targetgroup/my-alb-target-group/943f017f100becff.

                      \n

                      Where:

                      \n
                        \n
                      • \n

                        app// is the final portion of\n the load balancer ARN

                        \n
                      • \n
                      • \n

                        targetgroup// is the final portion\n of the target group ARN.

                        \n
                      • \n
                      \n

                      To find the ARN for an Application Load Balancer, use the DescribeLoadBalancers API operation. To find the ARN for the target group, use\n the DescribeTargetGroups API operation.

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

                      Represents a predefined metric for a target tracking scaling policy to use with\n Application Auto Scaling.

                      \n

                      Only the AWS services that you're using send metrics to Amazon CloudWatch. To determine whether a\n desired metric already exists by looking up its namespace and dimension using the CloudWatch\n metrics dashboard in the console, follow the procedure in Building dashboards\n with CloudWatch in the Application Auto Scaling User Guide.

                      " + "smithy.api#documentation": "

                      Represents a predefined metric for a target tracking scaling policy to use with\n Application Auto Scaling.

                      \n

                      Only the Amazon Web Services that you're using send metrics to Amazon CloudWatch. To determine whether a\n desired metric already exists by looking up its namespace and dimension using the CloudWatch\n metrics dashboard in the console, follow the procedure in Building dashboards\n with CloudWatch in the Application Auto Scaling User Guide.

                      " } }, "com.amazonaws.applicationautoscaling#PutScalingPolicy": { @@ -1071,28 +1107,28 @@ "ServiceNamespace": { "target": "com.amazonaws.applicationautoscaling#ServiceNamespace", "traits": { - "smithy.api#documentation": "

                      The namespace of the AWS service that provides the resource. For a resource provided\n by your own application or service, use custom-resource instead.

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

                      The namespace of the Amazon Web Services service that provides the resource. For a resource provided\n by your own application or service, use custom-resource instead.

                      ", "smithy.api#required": {} } }, "ResourceId": { "target": "com.amazonaws.applicationautoscaling#ResourceIdMaxLen1600", "traits": { - "smithy.api#documentation": "

                      The identifier of the resource associated with the scaling policy.\n This string consists of the resource type and unique identifier.

                      \n
                        \n
                      • \n

                        ECS service - The resource type is service and the unique identifier is the cluster name \n and service name. Example: service/default/sample-webapp.

                        \n
                      • \n
                      • \n

                        Spot Fleet request - The resource type is spot-fleet-request and the unique identifier is the \n Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

                        \n
                      • \n
                      • \n

                        EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID.\n Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

                        \n
                      • \n
                      • \n

                        AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name.\n Example: fleet/sample-fleet.

                        \n
                      • \n
                      • \n

                        DynamoDB table - The resource type is table and the unique identifier is the table name. \n Example: table/my-table.

                        \n
                      • \n
                      • \n

                        DynamoDB global secondary index - The resource type is index and the unique identifier is the index name. \n Example: table/my-table/index/my-table-index.

                        \n
                      • \n
                      • \n

                        Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name.\n Example: cluster:my-db-cluster.

                        \n
                      • \n
                      • \n

                        Amazon SageMaker endpoint variant - The resource type is variant and the unique identifier is the resource ID.\n Example: endpoint/my-end-point/variant/KMeansClustering.

                        \n
                      • \n
                      • \n

                        Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information\n is available in our GitHub\n repository.

                        \n
                      • \n
                      • \n

                        Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE.

                        \n
                      • \n
                      • \n

                        Amazon Comprehend entity recognizer endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE.

                        \n
                      • \n
                      • \n

                        Lambda provisioned concurrency - The resource type is function and the unique identifier is the function name with a function version or alias name suffix that is not $LATEST. \n Example: function:my-function:prod or function:my-function:1.

                        \n
                      • \n
                      • \n

                        Amazon Keyspaces table - The resource type is table and the unique identifier is the table name. \n Example: keyspace/mykeyspace/table/mytable.

                        \n
                      • \n
                      • \n

                        Amazon MSK cluster - The resource type and unique identifier are specified using the cluster ARN. \n Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5.

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

                      The identifier of the resource associated with the scaling policy.\n This string consists of the resource type and unique identifier.

                      \n
                        \n
                      • \n

                        ECS service - The resource type is service and the unique identifier is the cluster name \n and service name. Example: service/default/sample-webapp.

                        \n
                      • \n
                      • \n

                        Spot Fleet request - The resource type is spot-fleet-request and the unique identifier is the \n Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

                        \n
                      • \n
                      • \n

                        EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID.\n Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

                        \n
                      • \n
                      • \n

                        AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name.\n Example: fleet/sample-fleet.

                        \n
                      • \n
                      • \n

                        DynamoDB table - The resource type is table and the unique identifier is the table name. \n Example: table/my-table.

                        \n
                      • \n
                      • \n

                        DynamoDB global secondary index - The resource type is index and the unique identifier is the index name. \n Example: table/my-table/index/my-table-index.

                        \n
                      • \n
                      • \n

                        Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name.\n Example: cluster:my-db-cluster.

                        \n
                      • \n
                      • \n

                        Amazon SageMaker endpoint variant - The resource type is variant and the unique identifier is the resource ID.\n Example: endpoint/my-end-point/variant/KMeansClustering.

                        \n
                      • \n
                      • \n

                        Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information\n is available in our GitHub\n repository.

                        \n
                      • \n
                      • \n

                        Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE.

                        \n
                      • \n
                      • \n

                        Amazon Comprehend entity recognizer endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE.

                        \n
                      • \n
                      • \n

                        Lambda provisioned concurrency - The resource type is function and the unique identifier is the function name with a function version or alias name suffix that is not $LATEST. \n Example: function:my-function:prod or function:my-function:1.

                        \n
                      • \n
                      • \n

                        Amazon Keyspaces table - The resource type is table and the unique identifier is the table name. \n Example: keyspace/mykeyspace/table/mytable.

                        \n
                      • \n
                      • \n

                        Amazon MSK cluster - The resource type and unique identifier are specified using the cluster ARN. \n Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5.

                        \n
                      • \n
                      • \n

                        Amazon ElastiCache replication group - The resource type is replication-group and the unique identifier is the replication group name.\n Example: replication-group/mycluster.

                        \n
                      • \n
                      ", "smithy.api#required": {} } }, "ScalableDimension": { "target": "com.amazonaws.applicationautoscaling#ScalableDimension", "traits": { - "smithy.api#documentation": "

                      The scalable dimension. This string consists of the service namespace, resource type, and scaling property.

                      \n
                        \n
                      • \n

                        \n ecs:service:DesiredCount - The desired task count of an ECS service.

                        \n
                      • \n
                      • \n

                        \n ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet request.

                        \n
                      • \n
                      • \n

                        \n elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

                        \n
                      • \n
                      • \n

                        \n appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

                        \n
                      • \n
                      • \n

                        \n dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

                        \n
                      • \n
                      • \n

                        \n dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

                        \n
                      • \n
                      • \n

                        \n dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

                        \n
                      • \n
                      • \n

                        \n dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

                        \n
                      • \n
                      • \n

                        \n rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.

                        \n
                      • \n
                      • \n

                        \n sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

                        \n
                      • \n
                      • \n

                        \n custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

                        \n
                      • \n
                      • \n

                        \n comprehend:document-classifier-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend document classification endpoint.

                        \n
                      • \n
                      • \n

                        \n comprehend:entity-recognizer-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend entity recognizer endpoint.

                        \n
                      • \n
                      • \n

                        \n lambda:function:ProvisionedConcurrency - The provisioned concurrency for a Lambda function.

                        \n
                      • \n
                      • \n

                        \n cassandra:table:ReadCapacityUnits - The provisioned read capacity for an Amazon Keyspaces table.

                        \n
                      • \n
                      • \n

                        \n cassandra:table:WriteCapacityUnits - The provisioned write capacity for an Amazon Keyspaces table.

                        \n
                      • \n
                      • \n

                        \n kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) for brokers in an Amazon MSK cluster.

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

                      The scalable dimension. This string consists of the service namespace, resource type, and scaling property.

                      \n
                        \n
                      • \n

                        \n ecs:service:DesiredCount - The desired task count of an ECS service.

                        \n
                      • \n
                      • \n

                        \n elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

                        \n
                      • \n
                      • \n

                        \n ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet request.

                        \n
                      • \n
                      • \n

                        \n appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

                        \n
                      • \n
                      • \n

                        \n dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

                        \n
                      • \n
                      • \n

                        \n dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

                        \n
                      • \n
                      • \n

                        \n dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

                        \n
                      • \n
                      • \n

                        \n dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

                        \n
                      • \n
                      • \n

                        \n rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.

                        \n
                      • \n
                      • \n

                        \n sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

                        \n
                      • \n
                      • \n

                        \n custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

                        \n
                      • \n
                      • \n

                        \n comprehend:document-classifier-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend document classification endpoint.

                        \n
                      • \n
                      • \n

                        \n comprehend:entity-recognizer-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend entity recognizer endpoint.

                        \n
                      • \n
                      • \n

                        \n lambda:function:ProvisionedConcurrency - The provisioned concurrency for a Lambda function.

                        \n
                      • \n
                      • \n

                        \n cassandra:table:ReadCapacityUnits - The provisioned read capacity for an Amazon Keyspaces table.

                        \n
                      • \n
                      • \n

                        \n cassandra:table:WriteCapacityUnits - The provisioned write capacity for an Amazon Keyspaces table.

                        \n
                      • \n
                      • \n

                        \n kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) for brokers in an Amazon MSK cluster.

                        \n
                      • \n
                      • \n

                        \n elasticache:replication-group:NodeGroups - The number of node groups for an Amazon ElastiCache replication group.

                        \n
                      • \n
                      • \n

                        \n elasticache:replication-group:Replicas - The number of replicas per node group for an Amazon ElastiCache replication group.

                        \n
                      • \n
                      ", "smithy.api#required": {} } }, "PolicyType": { "target": "com.amazonaws.applicationautoscaling#PolicyType", "traits": { - "smithy.api#documentation": "

                      The policy type. This parameter is required if you are creating a scaling policy.

                      \n

                      The following policy types are supported:

                      \n

                      \n TargetTrackingScaling—Not supported for Amazon EMR

                      \n

                      \n StepScaling—Not supported for DynamoDB, Amazon Comprehend, Lambda, Amazon Keyspaces (for\n Apache Cassandra), or Amazon MSK.

                      \n

                      For more information, see Target\n tracking scaling policies and Step scaling policies in the Application Auto Scaling User Guide.

                      " + "smithy.api#documentation": "

                      The policy type. This parameter is required if you are creating a scaling policy.

                      \n

                      The following policy types are supported:

                      \n

                      \n TargetTrackingScaling—Not supported for Amazon EMR

                      \n

                      \n StepScaling—Not supported for DynamoDB, Amazon Comprehend, Lambda, Amazon Keyspaces (for Apache\n Cassandra), Amazon MSK, or Amazon ElastiCache for Redis.

                      \n

                      For more information, see Target\n tracking scaling policies and Step scaling policies in the Application Auto Scaling User Guide.

                      " } }, "StepScalingPolicyConfiguration": { @@ -1162,7 +1198,7 @@ "ServiceNamespace": { "target": "com.amazonaws.applicationautoscaling#ServiceNamespace", "traits": { - "smithy.api#documentation": "

                      The namespace of the AWS service that provides the resource. For a resource provided\n by your own application or service, use custom-resource instead.

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

                      The namespace of the Amazon Web Services service that provides the resource. For a resource provided\n by your own application or service, use custom-resource instead.

                      ", "smithy.api#required": {} } }, @@ -1188,14 +1224,14 @@ "ResourceId": { "target": "com.amazonaws.applicationautoscaling#ResourceIdMaxLen1600", "traits": { - "smithy.api#documentation": "

                      The identifier of the resource associated with the scheduled action.\n This string consists of the resource type and unique identifier.

                      \n
                        \n
                      • \n

                        ECS service - The resource type is service and the unique identifier is the cluster name \n and service name. Example: service/default/sample-webapp.

                        \n
                      • \n
                      • \n

                        Spot Fleet request - The resource type is spot-fleet-request and the unique identifier is the \n Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

                        \n
                      • \n
                      • \n

                        EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID.\n Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

                        \n
                      • \n
                      • \n

                        AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name.\n Example: fleet/sample-fleet.

                        \n
                      • \n
                      • \n

                        DynamoDB table - The resource type is table and the unique identifier is the table name. \n Example: table/my-table.

                        \n
                      • \n
                      • \n

                        DynamoDB global secondary index - The resource type is index and the unique identifier is the index name. \n Example: table/my-table/index/my-table-index.

                        \n
                      • \n
                      • \n

                        Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name.\n Example: cluster:my-db-cluster.

                        \n
                      • \n
                      • \n

                        Amazon SageMaker endpoint variant - The resource type is variant and the unique identifier is the resource ID.\n Example: endpoint/my-end-point/variant/KMeansClustering.

                        \n
                      • \n
                      • \n

                        Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information\n is available in our GitHub\n repository.

                        \n
                      • \n
                      • \n

                        Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE.

                        \n
                      • \n
                      • \n

                        Amazon Comprehend entity recognizer endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE.

                        \n
                      • \n
                      • \n

                        Lambda provisioned concurrency - The resource type is function and the unique identifier is the function name with a function version or alias name suffix that is not $LATEST. \n Example: function:my-function:prod or function:my-function:1.

                        \n
                      • \n
                      • \n

                        Amazon Keyspaces table - The resource type is table and the unique identifier is the table name. \n Example: keyspace/mykeyspace/table/mytable.

                        \n
                      • \n
                      • \n

                        Amazon MSK cluster - The resource type and unique identifier are specified using the cluster ARN. \n Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5.

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

                      The identifier of the resource associated with the scheduled action.\n This string consists of the resource type and unique identifier.

                      \n
                        \n
                      • \n

                        ECS service - The resource type is service and the unique identifier is the cluster name \n and service name. Example: service/default/sample-webapp.

                        \n
                      • \n
                      • \n

                        Spot Fleet request - The resource type is spot-fleet-request and the unique identifier is the \n Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

                        \n
                      • \n
                      • \n

                        EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID.\n Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

                        \n
                      • \n
                      • \n

                        AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name.\n Example: fleet/sample-fleet.

                        \n
                      • \n
                      • \n

                        DynamoDB table - The resource type is table and the unique identifier is the table name. \n Example: table/my-table.

                        \n
                      • \n
                      • \n

                        DynamoDB global secondary index - The resource type is index and the unique identifier is the index name. \n Example: table/my-table/index/my-table-index.

                        \n
                      • \n
                      • \n

                        Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name.\n Example: cluster:my-db-cluster.

                        \n
                      • \n
                      • \n

                        Amazon SageMaker endpoint variant - The resource type is variant and the unique identifier is the resource ID.\n Example: endpoint/my-end-point/variant/KMeansClustering.

                        \n
                      • \n
                      • \n

                        Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information\n is available in our GitHub\n repository.

                        \n
                      • \n
                      • \n

                        Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE.

                        \n
                      • \n
                      • \n

                        Amazon Comprehend entity recognizer endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE.

                        \n
                      • \n
                      • \n

                        Lambda provisioned concurrency - The resource type is function and the unique identifier is the function name with a function version or alias name suffix that is not $LATEST. \n Example: function:my-function:prod or function:my-function:1.

                        \n
                      • \n
                      • \n

                        Amazon Keyspaces table - The resource type is table and the unique identifier is the table name. \n Example: keyspace/mykeyspace/table/mytable.

                        \n
                      • \n
                      • \n

                        Amazon MSK cluster - The resource type and unique identifier are specified using the cluster ARN. \n Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5.

                        \n
                      • \n
                      • \n

                        Amazon ElastiCache replication group - The resource type is replication-group and the unique identifier is the replication group name.\n Example: replication-group/mycluster.

                        \n
                      • \n
                      ", "smithy.api#required": {} } }, "ScalableDimension": { "target": "com.amazonaws.applicationautoscaling#ScalableDimension", "traits": { - "smithy.api#documentation": "

                      The scalable dimension. This string consists of the service namespace, resource type, and scaling property.

                      \n
                        \n
                      • \n

                        \n ecs:service:DesiredCount - The desired task count of an ECS service.

                        \n
                      • \n
                      • \n

                        \n ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet request.

                        \n
                      • \n
                      • \n

                        \n elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

                        \n
                      • \n
                      • \n

                        \n appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

                        \n
                      • \n
                      • \n

                        \n dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

                        \n
                      • \n
                      • \n

                        \n dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

                        \n
                      • \n
                      • \n

                        \n dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

                        \n
                      • \n
                      • \n

                        \n dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

                        \n
                      • \n
                      • \n

                        \n rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.

                        \n
                      • \n
                      • \n

                        \n sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

                        \n
                      • \n
                      • \n

                        \n custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

                        \n
                      • \n
                      • \n

                        \n comprehend:document-classifier-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend document classification endpoint.

                        \n
                      • \n
                      • \n

                        \n comprehend:entity-recognizer-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend entity recognizer endpoint.

                        \n
                      • \n
                      • \n

                        \n lambda:function:ProvisionedConcurrency - The provisioned concurrency for a Lambda function.

                        \n
                      • \n
                      • \n

                        \n cassandra:table:ReadCapacityUnits - The provisioned read capacity for an Amazon Keyspaces table.

                        \n
                      • \n
                      • \n

                        \n cassandra:table:WriteCapacityUnits - The provisioned write capacity for an Amazon Keyspaces table.

                        \n
                      • \n
                      • \n

                        \n kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) for brokers in an Amazon MSK cluster.

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

                      The scalable dimension. This string consists of the service namespace, resource type, and scaling property.

                      \n
                        \n
                      • \n

                        \n ecs:service:DesiredCount - The desired task count of an ECS service.

                        \n
                      • \n
                      • \n

                        \n elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

                        \n
                      • \n
                      • \n

                        \n ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet request.

                        \n
                      • \n
                      • \n

                        \n appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

                        \n
                      • \n
                      • \n

                        \n dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

                        \n
                      • \n
                      • \n

                        \n dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

                        \n
                      • \n
                      • \n

                        \n dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

                        \n
                      • \n
                      • \n

                        \n dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

                        \n
                      • \n
                      • \n

                        \n rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.

                        \n
                      • \n
                      • \n

                        \n sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

                        \n
                      • \n
                      • \n

                        \n custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

                        \n
                      • \n
                      • \n

                        \n comprehend:document-classifier-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend document classification endpoint.

                        \n
                      • \n
                      • \n

                        \n comprehend:entity-recognizer-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend entity recognizer endpoint.

                        \n
                      • \n
                      • \n

                        \n lambda:function:ProvisionedConcurrency - The provisioned concurrency for a Lambda function.

                        \n
                      • \n
                      • \n

                        \n cassandra:table:ReadCapacityUnits - The provisioned read capacity for an Amazon Keyspaces table.

                        \n
                      • \n
                      • \n

                        \n cassandra:table:WriteCapacityUnits - The provisioned write capacity for an Amazon Keyspaces table.

                        \n
                      • \n
                      • \n

                        \n kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) for brokers in an Amazon MSK cluster.

                        \n
                      • \n
                      • \n

                        \n elasticache:replication-group:NodeGroups - The number of node groups for an Amazon ElastiCache replication group.

                        \n
                      • \n
                      • \n

                        \n elasticache:replication-group:Replicas - The number of replicas per node group for an Amazon ElastiCache replication group.

                        \n
                      • \n
                      ", "smithy.api#required": {} } }, @@ -1255,21 +1291,21 @@ "ServiceNamespace": { "target": "com.amazonaws.applicationautoscaling#ServiceNamespace", "traits": { - "smithy.api#documentation": "

                      The namespace of the AWS service that provides the resource. For a resource provided\n by your own application or service, use custom-resource instead.

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

                      The namespace of the Amazon Web Services service that provides the resource. For a resource provided\n by your own application or service, use custom-resource instead.

                      ", "smithy.api#required": {} } }, "ResourceId": { "target": "com.amazonaws.applicationautoscaling#ResourceIdMaxLen1600", "traits": { - "smithy.api#documentation": "

                      The identifier of the resource that is associated with the scalable target.\n This string consists of the resource type and unique identifier.

                      \n
                        \n
                      • \n

                        ECS service - The resource type is service and the unique identifier is the cluster name \n and service name. Example: service/default/sample-webapp.

                        \n
                      • \n
                      • \n

                        Spot Fleet request - The resource type is spot-fleet-request and the unique identifier is the \n Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

                        \n
                      • \n
                      • \n

                        EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID.\n Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

                        \n
                      • \n
                      • \n

                        AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name.\n Example: fleet/sample-fleet.

                        \n
                      • \n
                      • \n

                        DynamoDB table - The resource type is table and the unique identifier is the table name. \n Example: table/my-table.

                        \n
                      • \n
                      • \n

                        DynamoDB global secondary index - The resource type is index and the unique identifier is the index name. \n Example: table/my-table/index/my-table-index.

                        \n
                      • \n
                      • \n

                        Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name.\n Example: cluster:my-db-cluster.

                        \n
                      • \n
                      • \n

                        Amazon SageMaker endpoint variant - The resource type is variant and the unique identifier is the resource ID.\n Example: endpoint/my-end-point/variant/KMeansClustering.

                        \n
                      • \n
                      • \n

                        Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information\n is available in our GitHub\n repository.

                        \n
                      • \n
                      • \n

                        Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE.

                        \n
                      • \n
                      • \n

                        Amazon Comprehend entity recognizer endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE.

                        \n
                      • \n
                      • \n

                        Lambda provisioned concurrency - The resource type is function and the unique identifier is the function name with a function version or alias name suffix that is not $LATEST. \n Example: function:my-function:prod or function:my-function:1.

                        \n
                      • \n
                      • \n

                        Amazon Keyspaces table - The resource type is table and the unique identifier is the table name. \n Example: keyspace/mykeyspace/table/mytable.

                        \n
                      • \n
                      • \n

                        Amazon MSK cluster - The resource type and unique identifier are specified using the cluster ARN. \n Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5.

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

                      The identifier of the resource that is associated with the scalable target.\n This string consists of the resource type and unique identifier.

                      \n
                        \n
                      • \n

                        ECS service - The resource type is service and the unique identifier is the cluster name \n and service name. Example: service/default/sample-webapp.

                        \n
                      • \n
                      • \n

                        Spot Fleet request - The resource type is spot-fleet-request and the unique identifier is the \n Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

                        \n
                      • \n
                      • \n

                        EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID.\n Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

                        \n
                      • \n
                      • \n

                        AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name.\n Example: fleet/sample-fleet.

                        \n
                      • \n
                      • \n

                        DynamoDB table - The resource type is table and the unique identifier is the table name. \n Example: table/my-table.

                        \n
                      • \n
                      • \n

                        DynamoDB global secondary index - The resource type is index and the unique identifier is the index name. \n Example: table/my-table/index/my-table-index.

                        \n
                      • \n
                      • \n

                        Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name.\n Example: cluster:my-db-cluster.

                        \n
                      • \n
                      • \n

                        Amazon SageMaker endpoint variant - The resource type is variant and the unique identifier is the resource ID.\n Example: endpoint/my-end-point/variant/KMeansClustering.

                        \n
                      • \n
                      • \n

                        Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information\n is available in our GitHub\n repository.

                        \n
                      • \n
                      • \n

                        Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE.

                        \n
                      • \n
                      • \n

                        Amazon Comprehend entity recognizer endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE.

                        \n
                      • \n
                      • \n

                        Lambda provisioned concurrency - The resource type is function and the unique identifier is the function name with a function version or alias name suffix that is not $LATEST. \n Example: function:my-function:prod or function:my-function:1.

                        \n
                      • \n
                      • \n

                        Amazon Keyspaces table - The resource type is table and the unique identifier is the table name. \n Example: keyspace/mykeyspace/table/mytable.

                        \n
                      • \n
                      • \n

                        Amazon MSK cluster - The resource type and unique identifier are specified using the cluster ARN. \n Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5.

                        \n
                      • \n
                      • \n

                        Amazon ElastiCache replication group - The resource type is replication-group and the unique identifier is the replication group name.\n Example: replication-group/mycluster.

                        \n
                      • \n
                      ", "smithy.api#required": {} } }, "ScalableDimension": { "target": "com.amazonaws.applicationautoscaling#ScalableDimension", "traits": { - "smithy.api#documentation": "

                      The scalable dimension associated with the scalable target.\n This string consists of the service namespace, resource type, and scaling property.

                      \n
                        \n
                      • \n

                        \n ecs:service:DesiredCount - The desired task count of an ECS service.

                        \n
                      • \n
                      • \n

                        \n ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet request.

                        \n
                      • \n
                      • \n

                        \n elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

                        \n
                      • \n
                      • \n

                        \n appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

                        \n
                      • \n
                      • \n

                        \n dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

                        \n
                      • \n
                      • \n

                        \n dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

                        \n
                      • \n
                      • \n

                        \n dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

                        \n
                      • \n
                      • \n

                        \n dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

                        \n
                      • \n
                      • \n

                        \n rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.

                        \n
                      • \n
                      • \n

                        \n sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

                        \n
                      • \n
                      • \n

                        \n custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

                        \n
                      • \n
                      • \n

                        \n comprehend:document-classifier-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend document classification endpoint.

                        \n
                      • \n
                      • \n

                        \n comprehend:entity-recognizer-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend entity recognizer endpoint.

                        \n
                      • \n
                      • \n

                        \n lambda:function:ProvisionedConcurrency - The provisioned concurrency for a Lambda function.

                        \n
                      • \n
                      • \n

                        \n cassandra:table:ReadCapacityUnits - The provisioned read capacity for an Amazon Keyspaces table.

                        \n
                      • \n
                      • \n

                        \n cassandra:table:WriteCapacityUnits - The provisioned write capacity for an Amazon Keyspaces table.

                        \n
                      • \n
                      • \n

                        \n kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) for brokers in an Amazon MSK cluster.

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

                      The scalable dimension associated with the scalable target.\n This string consists of the service namespace, resource type, and scaling property.

                      \n
                        \n
                      • \n

                        \n ecs:service:DesiredCount - The desired task count of an ECS service.

                        \n
                      • \n
                      • \n

                        \n elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

                        \n
                      • \n
                      • \n

                        \n ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet request.

                        \n
                      • \n
                      • \n

                        \n appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

                        \n
                      • \n
                      • \n

                        \n dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

                        \n
                      • \n
                      • \n

                        \n dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

                        \n
                      • \n
                      • \n

                        \n dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

                        \n
                      • \n
                      • \n

                        \n dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

                        \n
                      • \n
                      • \n

                        \n rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.

                        \n
                      • \n
                      • \n

                        \n sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

                        \n
                      • \n
                      • \n

                        \n custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

                        \n
                      • \n
                      • \n

                        \n comprehend:document-classifier-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend document classification endpoint.

                        \n
                      • \n
                      • \n

                        \n comprehend:entity-recognizer-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend entity recognizer endpoint.

                        \n
                      • \n
                      • \n

                        \n lambda:function:ProvisionedConcurrency - The provisioned concurrency for a Lambda function.

                        \n
                      • \n
                      • \n

                        \n cassandra:table:ReadCapacityUnits - The provisioned read capacity for an Amazon Keyspaces table.

                        \n
                      • \n
                      • \n

                        \n cassandra:table:WriteCapacityUnits - The provisioned write capacity for an Amazon Keyspaces table.

                        \n
                      • \n
                      • \n

                        \n kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) for brokers in an Amazon MSK cluster.

                        \n
                      • \n
                      • \n

                        \n elasticache:replication-group:NodeGroups - The number of node groups for an Amazon ElastiCache replication group.

                        \n
                      • \n
                      • \n

                        \n elasticache:replication-group:Replicas - The number of replicas per node group for an Amazon ElastiCache replication group.

                        \n
                      • \n
                      ", "smithy.api#required": {} } }, @@ -1312,7 +1348,7 @@ "com.amazonaws.applicationautoscaling#ResourceId": { "type": "string", "traits": { - "smithy.api#pattern": "[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" + "smithy.api#pattern": "^[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*$" } }, "com.amazonaws.applicationautoscaling#ResourceIdMaxLen1600": { @@ -1322,7 +1358,7 @@ "min": 1, "max": 1600 }, - "smithy.api#pattern": "[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" + "smithy.api#pattern": "^[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*$" } }, "com.amazonaws.applicationautoscaling#ResourceIdsMaxLen1600": { @@ -1417,6 +1453,14 @@ { "value": "kafka:broker-storage:VolumeSize", "name": "KafkaBrokerStorageVolumeSize" + }, + { + "value": "elasticache:replication-group:NodeGroups", + "name": "ElastiCacheReplicationGroupNodeGroups" + }, + { + "value": "elasticache:replication-group:Replicas", + "name": "ElastiCacheReplicationGroupReplicas" } ] } @@ -1427,21 +1471,21 @@ "ServiceNamespace": { "target": "com.amazonaws.applicationautoscaling#ServiceNamespace", "traits": { - "smithy.api#documentation": "

                      The namespace of the AWS service that provides the resource, or a\n custom-resource.

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

                      The namespace of the Amazon Web Services service that provides the resource, or a\n custom-resource.

                      ", "smithy.api#required": {} } }, "ResourceId": { "target": "com.amazonaws.applicationautoscaling#ResourceIdMaxLen1600", "traits": { - "smithy.api#documentation": "

                      The identifier of the resource associated with the scalable target.\n This string consists of the resource type and unique identifier.

                      \n
                        \n
                      • \n

                        ECS service - The resource type is service and the unique identifier is the cluster name \n and service name. Example: service/default/sample-webapp.

                        \n
                      • \n
                      • \n

                        Spot Fleet request - The resource type is spot-fleet-request and the unique identifier is the \n Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

                        \n
                      • \n
                      • \n

                        EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID.\n Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

                        \n
                      • \n
                      • \n

                        AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name.\n Example: fleet/sample-fleet.

                        \n
                      • \n
                      • \n

                        DynamoDB table - The resource type is table and the unique identifier is the table name. \n Example: table/my-table.

                        \n
                      • \n
                      • \n

                        DynamoDB global secondary index - The resource type is index and the unique identifier is the index name. \n Example: table/my-table/index/my-table-index.

                        \n
                      • \n
                      • \n

                        Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name.\n Example: cluster:my-db-cluster.

                        \n
                      • \n
                      • \n

                        Amazon SageMaker endpoint variant - The resource type is variant and the unique identifier is the resource ID.\n Example: endpoint/my-end-point/variant/KMeansClustering.

                        \n
                      • \n
                      • \n

                        Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information\n is available in our GitHub\n repository.

                        \n
                      • \n
                      • \n

                        Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE.

                        \n
                      • \n
                      • \n

                        Amazon Comprehend entity recognizer endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE.

                        \n
                      • \n
                      • \n

                        Lambda provisioned concurrency - The resource type is function and the unique identifier is the function name with a function version or alias name suffix that is not $LATEST. \n Example: function:my-function:prod or function:my-function:1.

                        \n
                      • \n
                      • \n

                        Amazon Keyspaces table - The resource type is table and the unique identifier is the table name. \n Example: keyspace/mykeyspace/table/mytable.

                        \n
                      • \n
                      • \n

                        Amazon MSK cluster - The resource type and unique identifier are specified using the cluster ARN. \n Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5.

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

                      The identifier of the resource associated with the scalable target.\n This string consists of the resource type and unique identifier.

                      \n
                        \n
                      • \n

                        ECS service - The resource type is service and the unique identifier is the cluster name \n and service name. Example: service/default/sample-webapp.

                        \n
                      • \n
                      • \n

                        Spot Fleet request - The resource type is spot-fleet-request and the unique identifier is the \n Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

                        \n
                      • \n
                      • \n

                        EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID.\n Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

                        \n
                      • \n
                      • \n

                        AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name.\n Example: fleet/sample-fleet.

                        \n
                      • \n
                      • \n

                        DynamoDB table - The resource type is table and the unique identifier is the table name. \n Example: table/my-table.

                        \n
                      • \n
                      • \n

                        DynamoDB global secondary index - The resource type is index and the unique identifier is the index name. \n Example: table/my-table/index/my-table-index.

                        \n
                      • \n
                      • \n

                        Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name.\n Example: cluster:my-db-cluster.

                        \n
                      • \n
                      • \n

                        Amazon SageMaker endpoint variant - The resource type is variant and the unique identifier is the resource ID.\n Example: endpoint/my-end-point/variant/KMeansClustering.

                        \n
                      • \n
                      • \n

                        Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information\n is available in our GitHub\n repository.

                        \n
                      • \n
                      • \n

                        Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE.

                        \n
                      • \n
                      • \n

                        Amazon Comprehend entity recognizer endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE.

                        \n
                      • \n
                      • \n

                        Lambda provisioned concurrency - The resource type is function and the unique identifier is the function name with a function version or alias name suffix that is not $LATEST. \n Example: function:my-function:prod or function:my-function:1.

                        \n
                      • \n
                      • \n

                        Amazon Keyspaces table - The resource type is table and the unique identifier is the table name. \n Example: keyspace/mykeyspace/table/mytable.

                        \n
                      • \n
                      • \n

                        Amazon MSK cluster - The resource type and unique identifier are specified using the cluster ARN. \n Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5.

                        \n
                      • \n
                      • \n

                        Amazon ElastiCache replication group - The resource type is replication-group and the unique identifier is the replication group name.\n Example: replication-group/mycluster.

                        \n
                      • \n
                      ", "smithy.api#required": {} } }, "ScalableDimension": { "target": "com.amazonaws.applicationautoscaling#ScalableDimension", "traits": { - "smithy.api#documentation": "

                      The scalable dimension associated with the scalable target.\n This string consists of the service namespace, resource type, and scaling property.

                      \n
                        \n
                      • \n

                        \n ecs:service:DesiredCount - The desired task count of an ECS service.

                        \n
                      • \n
                      • \n

                        \n ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet request.

                        \n
                      • \n
                      • \n

                        \n elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

                        \n
                      • \n
                      • \n

                        \n appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

                        \n
                      • \n
                      • \n

                        \n dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

                        \n
                      • \n
                      • \n

                        \n dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

                        \n
                      • \n
                      • \n

                        \n dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

                        \n
                      • \n
                      • \n

                        \n dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

                        \n
                      • \n
                      • \n

                        \n rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.

                        \n
                      • \n
                      • \n

                        \n sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

                        \n
                      • \n
                      • \n

                        \n custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

                        \n
                      • \n
                      • \n

                        \n comprehend:document-classifier-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend document classification endpoint.

                        \n
                      • \n
                      • \n

                        \n comprehend:entity-recognizer-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend entity recognizer endpoint.

                        \n
                      • \n
                      • \n

                        \n lambda:function:ProvisionedConcurrency - The provisioned concurrency for a Lambda function.

                        \n
                      • \n
                      • \n

                        \n cassandra:table:ReadCapacityUnits - The provisioned read capacity for an Amazon Keyspaces table.

                        \n
                      • \n
                      • \n

                        \n cassandra:table:WriteCapacityUnits - The provisioned write capacity for an Amazon Keyspaces table.

                        \n
                      • \n
                      • \n

                        \n kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) for brokers in an Amazon MSK cluster.

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

                      The scalable dimension associated with the scalable target.\n This string consists of the service namespace, resource type, and scaling property.

                      \n
                        \n
                      • \n

                        \n ecs:service:DesiredCount - The desired task count of an ECS service.

                        \n
                      • \n
                      • \n

                        \n elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

                        \n
                      • \n
                      • \n

                        \n ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet request.

                        \n
                      • \n
                      • \n

                        \n appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

                        \n
                      • \n
                      • \n

                        \n dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

                        \n
                      • \n
                      • \n

                        \n dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

                        \n
                      • \n
                      • \n

                        \n dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

                        \n
                      • \n
                      • \n

                        \n dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

                        \n
                      • \n
                      • \n

                        \n rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.

                        \n
                      • \n
                      • \n

                        \n sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

                        \n
                      • \n
                      • \n

                        \n custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

                        \n
                      • \n
                      • \n

                        \n comprehend:document-classifier-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend document classification endpoint.

                        \n
                      • \n
                      • \n

                        \n comprehend:entity-recognizer-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend entity recognizer endpoint.

                        \n
                      • \n
                      • \n

                        \n lambda:function:ProvisionedConcurrency - The provisioned concurrency for a Lambda function.

                        \n
                      • \n
                      • \n

                        \n cassandra:table:ReadCapacityUnits - The provisioned read capacity for an Amazon Keyspaces table.

                        \n
                      • \n
                      • \n

                        \n cassandra:table:WriteCapacityUnits - The provisioned write capacity for an Amazon Keyspaces table.

                        \n
                      • \n
                      • \n

                        \n kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) for brokers in an Amazon MSK cluster.

                        \n
                      • \n
                      • \n

                        \n elasticache:replication-group:NodeGroups - The number of node groups for an Amazon ElastiCache replication group.

                        \n
                      • \n
                      • \n

                        \n elasticache:replication-group:Replicas - The number of replicas per node group for an Amazon ElastiCache replication group.

                        \n
                      • \n
                      ", "smithy.api#required": {} } }, @@ -1526,21 +1570,21 @@ "ServiceNamespace": { "target": "com.amazonaws.applicationautoscaling#ServiceNamespace", "traits": { - "smithy.api#documentation": "

                      The namespace of the AWS service that provides the resource, or a\n custom-resource.

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

                      The namespace of the Amazon Web Services service that provides the resource, or a\n custom-resource.

                      ", "smithy.api#required": {} } }, "ResourceId": { "target": "com.amazonaws.applicationautoscaling#ResourceIdMaxLen1600", "traits": { - "smithy.api#documentation": "

                      The identifier of the resource associated with the scaling activity.\n This string consists of the resource type and unique identifier.

                      \n
                        \n
                      • \n

                        ECS service - The resource type is service and the unique identifier is the cluster name \n and service name. Example: service/default/sample-webapp.

                        \n
                      • \n
                      • \n

                        Spot Fleet request - The resource type is spot-fleet-request and the unique identifier is the \n Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

                        \n
                      • \n
                      • \n

                        EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID.\n Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

                        \n
                      • \n
                      • \n

                        AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name.\n Example: fleet/sample-fleet.

                        \n
                      • \n
                      • \n

                        DynamoDB table - The resource type is table and the unique identifier is the table name. \n Example: table/my-table.

                        \n
                      • \n
                      • \n

                        DynamoDB global secondary index - The resource type is index and the unique identifier is the index name. \n Example: table/my-table/index/my-table-index.

                        \n
                      • \n
                      • \n

                        Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name.\n Example: cluster:my-db-cluster.

                        \n
                      • \n
                      • \n

                        Amazon SageMaker endpoint variant - The resource type is variant and the unique identifier is the resource ID.\n Example: endpoint/my-end-point/variant/KMeansClustering.

                        \n
                      • \n
                      • \n

                        Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information\n is available in our GitHub\n repository.

                        \n
                      • \n
                      • \n

                        Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE.

                        \n
                      • \n
                      • \n

                        Amazon Comprehend entity recognizer endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE.

                        \n
                      • \n
                      • \n

                        Lambda provisioned concurrency - The resource type is function and the unique identifier is the function name with a function version or alias name suffix that is not $LATEST. \n Example: function:my-function:prod or function:my-function:1.

                        \n
                      • \n
                      • \n

                        Amazon Keyspaces table - The resource type is table and the unique identifier is the table name. \n Example: keyspace/mykeyspace/table/mytable.

                        \n
                      • \n
                      • \n

                        Amazon MSK cluster - The resource type and unique identifier are specified using the cluster ARN. \n Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5.

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

                      The identifier of the resource associated with the scaling activity.\n This string consists of the resource type and unique identifier.

                      \n
                        \n
                      • \n

                        ECS service - The resource type is service and the unique identifier is the cluster name \n and service name. Example: service/default/sample-webapp.

                        \n
                      • \n
                      • \n

                        Spot Fleet request - The resource type is spot-fleet-request and the unique identifier is the \n Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

                        \n
                      • \n
                      • \n

                        EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID.\n Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

                        \n
                      • \n
                      • \n

                        AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name.\n Example: fleet/sample-fleet.

                        \n
                      • \n
                      • \n

                        DynamoDB table - The resource type is table and the unique identifier is the table name. \n Example: table/my-table.

                        \n
                      • \n
                      • \n

                        DynamoDB global secondary index - The resource type is index and the unique identifier is the index name. \n Example: table/my-table/index/my-table-index.

                        \n
                      • \n
                      • \n

                        Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name.\n Example: cluster:my-db-cluster.

                        \n
                      • \n
                      • \n

                        Amazon SageMaker endpoint variant - The resource type is variant and the unique identifier is the resource ID.\n Example: endpoint/my-end-point/variant/KMeansClustering.

                        \n
                      • \n
                      • \n

                        Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information\n is available in our GitHub\n repository.

                        \n
                      • \n
                      • \n

                        Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE.

                        \n
                      • \n
                      • \n

                        Amazon Comprehend entity recognizer endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE.

                        \n
                      • \n
                      • \n

                        Lambda provisioned concurrency - The resource type is function and the unique identifier is the function name with a function version or alias name suffix that is not $LATEST. \n Example: function:my-function:prod or function:my-function:1.

                        \n
                      • \n
                      • \n

                        Amazon Keyspaces table - The resource type is table and the unique identifier is the table name. \n Example: keyspace/mykeyspace/table/mytable.

                        \n
                      • \n
                      • \n

                        Amazon MSK cluster - The resource type and unique identifier are specified using the cluster ARN. \n Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5.

                        \n
                      • \n
                      • \n

                        Amazon ElastiCache replication group - The resource type is replication-group and the unique identifier is the replication group name.\n Example: replication-group/mycluster.

                        \n
                      • \n
                      ", "smithy.api#required": {} } }, "ScalableDimension": { "target": "com.amazonaws.applicationautoscaling#ScalableDimension", "traits": { - "smithy.api#documentation": "

                      The scalable dimension. This string consists of the service namespace, resource type, and scaling property.

                      \n
                        \n
                      • \n

                        \n ecs:service:DesiredCount - The desired task count of an ECS service.

                        \n
                      • \n
                      • \n

                        \n ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet request.

                        \n
                      • \n
                      • \n

                        \n elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

                        \n
                      • \n
                      • \n

                        \n appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

                        \n
                      • \n
                      • \n

                        \n dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

                        \n
                      • \n
                      • \n

                        \n dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

                        \n
                      • \n
                      • \n

                        \n dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

                        \n
                      • \n
                      • \n

                        \n dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

                        \n
                      • \n
                      • \n

                        \n rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.

                        \n
                      • \n
                      • \n

                        \n sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

                        \n
                      • \n
                      • \n

                        \n custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

                        \n
                      • \n
                      • \n

                        \n comprehend:document-classifier-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend document classification endpoint.

                        \n
                      • \n
                      • \n

                        \n comprehend:entity-recognizer-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend entity recognizer endpoint.

                        \n
                      • \n
                      • \n

                        \n lambda:function:ProvisionedConcurrency - The provisioned concurrency for a Lambda function.

                        \n
                      • \n
                      • \n

                        \n cassandra:table:ReadCapacityUnits - The provisioned read capacity for an Amazon Keyspaces table.

                        \n
                      • \n
                      • \n

                        \n cassandra:table:WriteCapacityUnits - The provisioned write capacity for an Amazon Keyspaces table.

                        \n
                      • \n
                      • \n

                        \n kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) for brokers in an Amazon MSK cluster.

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

                      The scalable dimension. This string consists of the service namespace, resource type, and scaling property.

                      \n
                        \n
                      • \n

                        \n ecs:service:DesiredCount - The desired task count of an ECS service.

                        \n
                      • \n
                      • \n

                        \n elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

                        \n
                      • \n
                      • \n

                        \n ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet request.

                        \n
                      • \n
                      • \n

                        \n appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

                        \n
                      • \n
                      • \n

                        \n dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

                        \n
                      • \n
                      • \n

                        \n dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

                        \n
                      • \n
                      • \n

                        \n dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

                        \n
                      • \n
                      • \n

                        \n dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

                        \n
                      • \n
                      • \n

                        \n rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.

                        \n
                      • \n
                      • \n

                        \n sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

                        \n
                      • \n
                      • \n

                        \n custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

                        \n
                      • \n
                      • \n

                        \n comprehend:document-classifier-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend document classification endpoint.

                        \n
                      • \n
                      • \n

                        \n comprehend:entity-recognizer-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend entity recognizer endpoint.

                        \n
                      • \n
                      • \n

                        \n lambda:function:ProvisionedConcurrency - The provisioned concurrency for a Lambda function.

                        \n
                      • \n
                      • \n

                        \n cassandra:table:ReadCapacityUnits - The provisioned read capacity for an Amazon Keyspaces table.

                        \n
                      • \n
                      • \n

                        \n cassandra:table:WriteCapacityUnits - The provisioned write capacity for an Amazon Keyspaces table.

                        \n
                      • \n
                      • \n

                        \n kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) for brokers in an Amazon MSK cluster.

                        \n
                      • \n
                      • \n

                        \n elasticache:replication-group:NodeGroups - The number of node groups for an Amazon ElastiCache replication group.

                        \n
                      • \n
                      • \n

                        \n elasticache:replication-group:Replicas - The number of replicas per node group for an Amazon ElastiCache replication group.

                        \n
                      • \n
                      ", "smithy.api#required": {} } }, @@ -1658,21 +1702,21 @@ "ServiceNamespace": { "target": "com.amazonaws.applicationautoscaling#ServiceNamespace", "traits": { - "smithy.api#documentation": "

                      The namespace of the AWS service that provides the resource, or a\n custom-resource.

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

                      The namespace of the Amazon Web Services service that provides the resource, or a\n custom-resource.

                      ", "smithy.api#required": {} } }, "ResourceId": { "target": "com.amazonaws.applicationautoscaling#ResourceIdMaxLen1600", "traits": { - "smithy.api#documentation": "

                      The identifier of the resource associated with the scaling policy.\n This string consists of the resource type and unique identifier.

                      \n
                        \n
                      • \n

                        ECS service - The resource type is service and the unique identifier is the cluster name \n and service name. Example: service/default/sample-webapp.

                        \n
                      • \n
                      • \n

                        Spot Fleet request - The resource type is spot-fleet-request and the unique identifier is the \n Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

                        \n
                      • \n
                      • \n

                        EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID.\n Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

                        \n
                      • \n
                      • \n

                        AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name.\n Example: fleet/sample-fleet.

                        \n
                      • \n
                      • \n

                        DynamoDB table - The resource type is table and the unique identifier is the table name. \n Example: table/my-table.

                        \n
                      • \n
                      • \n

                        DynamoDB global secondary index - The resource type is index and the unique identifier is the index name. \n Example: table/my-table/index/my-table-index.

                        \n
                      • \n
                      • \n

                        Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name.\n Example: cluster:my-db-cluster.

                        \n
                      • \n
                      • \n

                        Amazon SageMaker endpoint variant - The resource type is variant and the unique identifier is the resource ID.\n Example: endpoint/my-end-point/variant/KMeansClustering.

                        \n
                      • \n
                      • \n

                        Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information\n is available in our GitHub\n repository.

                        \n
                      • \n
                      • \n

                        Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE.

                        \n
                      • \n
                      • \n

                        Amazon Comprehend entity recognizer endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE.

                        \n
                      • \n
                      • \n

                        Lambda provisioned concurrency - The resource type is function and the unique identifier is the function name with a function version or alias name suffix that is not $LATEST. \n Example: function:my-function:prod or function:my-function:1.

                        \n
                      • \n
                      • \n

                        Amazon Keyspaces table - The resource type is table and the unique identifier is the table name. \n Example: keyspace/mykeyspace/table/mytable.

                        \n
                      • \n
                      • \n

                        Amazon MSK cluster - The resource type and unique identifier are specified using the cluster ARN. \n Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5.

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

                      The identifier of the resource associated with the scaling policy.\n This string consists of the resource type and unique identifier.

                      \n
                        \n
                      • \n

                        ECS service - The resource type is service and the unique identifier is the cluster name \n and service name. Example: service/default/sample-webapp.

                        \n
                      • \n
                      • \n

                        Spot Fleet request - The resource type is spot-fleet-request and the unique identifier is the \n Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

                        \n
                      • \n
                      • \n

                        EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID.\n Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

                        \n
                      • \n
                      • \n

                        AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name.\n Example: fleet/sample-fleet.

                        \n
                      • \n
                      • \n

                        DynamoDB table - The resource type is table and the unique identifier is the table name. \n Example: table/my-table.

                        \n
                      • \n
                      • \n

                        DynamoDB global secondary index - The resource type is index and the unique identifier is the index name. \n Example: table/my-table/index/my-table-index.

                        \n
                      • \n
                      • \n

                        Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name.\n Example: cluster:my-db-cluster.

                        \n
                      • \n
                      • \n

                        Amazon SageMaker endpoint variant - The resource type is variant and the unique identifier is the resource ID.\n Example: endpoint/my-end-point/variant/KMeansClustering.

                        \n
                      • \n
                      • \n

                        Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information\n is available in our GitHub\n repository.

                        \n
                      • \n
                      • \n

                        Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE.

                        \n
                      • \n
                      • \n

                        Amazon Comprehend entity recognizer endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE.

                        \n
                      • \n
                      • \n

                        Lambda provisioned concurrency - The resource type is function and the unique identifier is the function name with a function version or alias name suffix that is not $LATEST. \n Example: function:my-function:prod or function:my-function:1.

                        \n
                      • \n
                      • \n

                        Amazon Keyspaces table - The resource type is table and the unique identifier is the table name. \n Example: keyspace/mykeyspace/table/mytable.

                        \n
                      • \n
                      • \n

                        Amazon MSK cluster - The resource type and unique identifier are specified using the cluster ARN. \n Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5.

                        \n
                      • \n
                      • \n

                        Amazon ElastiCache replication group - The resource type is replication-group and the unique identifier is the replication group name.\n Example: replication-group/mycluster.

                        \n
                      • \n
                      ", "smithy.api#required": {} } }, "ScalableDimension": { "target": "com.amazonaws.applicationautoscaling#ScalableDimension", "traits": { - "smithy.api#documentation": "

                      The scalable dimension. This string consists of the service namespace, resource type, and scaling property.

                      \n
                        \n
                      • \n

                        \n ecs:service:DesiredCount - The desired task count of an ECS service.

                        \n
                      • \n
                      • \n

                        \n ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet request.

                        \n
                      • \n
                      • \n

                        \n elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

                        \n
                      • \n
                      • \n

                        \n appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

                        \n
                      • \n
                      • \n

                        \n dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

                        \n
                      • \n
                      • \n

                        \n dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

                        \n
                      • \n
                      • \n

                        \n dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

                        \n
                      • \n
                      • \n

                        \n dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

                        \n
                      • \n
                      • \n

                        \n rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.

                        \n
                      • \n
                      • \n

                        \n sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

                        \n
                      • \n
                      • \n

                        \n custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

                        \n
                      • \n
                      • \n

                        \n comprehend:document-classifier-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend document classification endpoint.

                        \n
                      • \n
                      • \n

                        \n comprehend:entity-recognizer-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend entity recognizer endpoint.

                        \n
                      • \n
                      • \n

                        \n lambda:function:ProvisionedConcurrency - The provisioned concurrency for a Lambda function.

                        \n
                      • \n
                      • \n

                        \n cassandra:table:ReadCapacityUnits - The provisioned read capacity for an Amazon Keyspaces table.

                        \n
                      • \n
                      • \n

                        \n cassandra:table:WriteCapacityUnits - The provisioned write capacity for an Amazon Keyspaces table.

                        \n
                      • \n
                      • \n

                        \n kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) for brokers in an Amazon MSK cluster.

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

                      The scalable dimension. This string consists of the service namespace, resource type, and scaling property.

                      \n
                        \n
                      • \n

                        \n ecs:service:DesiredCount - The desired task count of an ECS service.

                        \n
                      • \n
                      • \n

                        \n elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

                        \n
                      • \n
                      • \n

                        \n ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet request.

                        \n
                      • \n
                      • \n

                        \n appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

                        \n
                      • \n
                      • \n

                        \n dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

                        \n
                      • \n
                      • \n

                        \n dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

                        \n
                      • \n
                      • \n

                        \n dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

                        \n
                      • \n
                      • \n

                        \n dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

                        \n
                      • \n
                      • \n

                        \n rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.

                        \n
                      • \n
                      • \n

                        \n sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

                        \n
                      • \n
                      • \n

                        \n custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

                        \n
                      • \n
                      • \n

                        \n comprehend:document-classifier-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend document classification endpoint.

                        \n
                      • \n
                      • \n

                        \n comprehend:entity-recognizer-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend entity recognizer endpoint.

                        \n
                      • \n
                      • \n

                        \n lambda:function:ProvisionedConcurrency - The provisioned concurrency for a Lambda function.

                        \n
                      • \n
                      • \n

                        \n cassandra:table:ReadCapacityUnits - The provisioned read capacity for an Amazon Keyspaces table.

                        \n
                      • \n
                      • \n

                        \n cassandra:table:WriteCapacityUnits - The provisioned write capacity for an Amazon Keyspaces table.

                        \n
                      • \n
                      • \n

                        \n kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) for brokers in an Amazon MSK cluster.

                        \n
                      • \n
                      • \n

                        \n elasticache:replication-group:NodeGroups - The number of node groups for an Amazon ElastiCache replication group.

                        \n
                      • \n
                      • \n

                        \n elasticache:replication-group:Replicas - The number of replicas per node group for an Amazon ElastiCache replication group.

                        \n
                      • \n
                      ", "smithy.api#required": {} } }, @@ -1739,7 +1783,7 @@ "ServiceNamespace": { "target": "com.amazonaws.applicationautoscaling#ServiceNamespace", "traits": { - "smithy.api#documentation": "

                      The namespace of the AWS service that provides the resource, or a\n custom-resource.

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

                      The namespace of the Amazon Web Services service that provides the resource, or a\n custom-resource.

                      ", "smithy.api#required": {} } }, @@ -1759,14 +1803,14 @@ "ResourceId": { "target": "com.amazonaws.applicationautoscaling#ResourceIdMaxLen1600", "traits": { - "smithy.api#documentation": "

                      The identifier of the resource associated with the scaling policy.\n This string consists of the resource type and unique identifier.

                      \n
                        \n
                      • \n

                        ECS service - The resource type is service and the unique identifier is the cluster name \n and service name. Example: service/default/sample-webapp.

                        \n
                      • \n
                      • \n

                        Spot Fleet request - The resource type is spot-fleet-request and the unique identifier is the \n Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

                        \n
                      • \n
                      • \n

                        EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID.\n Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

                        \n
                      • \n
                      • \n

                        AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name.\n Example: fleet/sample-fleet.

                        \n
                      • \n
                      • \n

                        DynamoDB table - The resource type is table and the unique identifier is the table name. \n Example: table/my-table.

                        \n
                      • \n
                      • \n

                        DynamoDB global secondary index - The resource type is index and the unique identifier is the index name. \n Example: table/my-table/index/my-table-index.

                        \n
                      • \n
                      • \n

                        Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name.\n Example: cluster:my-db-cluster.

                        \n
                      • \n
                      • \n

                        Amazon SageMaker endpoint variant - The resource type is variant and the unique identifier is the resource ID.\n Example: endpoint/my-end-point/variant/KMeansClustering.

                        \n
                      • \n
                      • \n

                        Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information\n is available in our GitHub\n repository.

                        \n
                      • \n
                      • \n

                        Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE.

                        \n
                      • \n
                      • \n

                        Amazon Comprehend entity recognizer endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE.

                        \n
                      • \n
                      • \n

                        Lambda provisioned concurrency - The resource type is function and the unique identifier is the function name with a function version or alias name suffix that is not $LATEST. \n Example: function:my-function:prod or function:my-function:1.

                        \n
                      • \n
                      • \n

                        Amazon Keyspaces table - The resource type is table and the unique identifier is the table name. \n Example: keyspace/mykeyspace/table/mytable.

                        \n
                      • \n
                      • \n

                        Amazon MSK cluster - The resource type and unique identifier are specified using the cluster ARN. \n Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5.

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

                      The identifier of the resource associated with the scaling policy.\n This string consists of the resource type and unique identifier.

                      \n
                        \n
                      • \n

                        ECS service - The resource type is service and the unique identifier is the cluster name \n and service name. Example: service/default/sample-webapp.

                        \n
                      • \n
                      • \n

                        Spot Fleet request - The resource type is spot-fleet-request and the unique identifier is the \n Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

                        \n
                      • \n
                      • \n

                        EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID.\n Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

                        \n
                      • \n
                      • \n

                        AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name.\n Example: fleet/sample-fleet.

                        \n
                      • \n
                      • \n

                        DynamoDB table - The resource type is table and the unique identifier is the table name. \n Example: table/my-table.

                        \n
                      • \n
                      • \n

                        DynamoDB global secondary index - The resource type is index and the unique identifier is the index name. \n Example: table/my-table/index/my-table-index.

                        \n
                      • \n
                      • \n

                        Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name.\n Example: cluster:my-db-cluster.

                        \n
                      • \n
                      • \n

                        Amazon SageMaker endpoint variant - The resource type is variant and the unique identifier is the resource ID.\n Example: endpoint/my-end-point/variant/KMeansClustering.

                        \n
                      • \n
                      • \n

                        Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information\n is available in our GitHub\n repository.

                        \n
                      • \n
                      • \n

                        Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE.

                        \n
                      • \n
                      • \n

                        Amazon Comprehend entity recognizer endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE.

                        \n
                      • \n
                      • \n

                        Lambda provisioned concurrency - The resource type is function and the unique identifier is the function name with a function version or alias name suffix that is not $LATEST. \n Example: function:my-function:prod or function:my-function:1.

                        \n
                      • \n
                      • \n

                        Amazon Keyspaces table - The resource type is table and the unique identifier is the table name. \n Example: keyspace/mykeyspace/table/mytable.

                        \n
                      • \n
                      • \n

                        Amazon MSK cluster - The resource type and unique identifier are specified using the cluster ARN. \n Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5.

                        \n
                      • \n
                      • \n

                        Amazon ElastiCache replication group - The resource type is replication-group and the unique identifier is the replication group name.\n Example: replication-group/mycluster.

                        \n
                      • \n
                      ", "smithy.api#required": {} } }, "ScalableDimension": { "target": "com.amazonaws.applicationautoscaling#ScalableDimension", "traits": { - "smithy.api#documentation": "

                      The scalable dimension. This string consists of the service namespace, resource type, and scaling property.

                      \n
                        \n
                      • \n

                        \n ecs:service:DesiredCount - The desired task count of an ECS service.

                        \n
                      • \n
                      • \n

                        \n ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet request.

                        \n
                      • \n
                      • \n

                        \n elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

                        \n
                      • \n
                      • \n

                        \n appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

                        \n
                      • \n
                      • \n

                        \n dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

                        \n
                      • \n
                      • \n

                        \n dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

                        \n
                      • \n
                      • \n

                        \n dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

                        \n
                      • \n
                      • \n

                        \n dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

                        \n
                      • \n
                      • \n

                        \n rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.

                        \n
                      • \n
                      • \n

                        \n sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

                        \n
                      • \n
                      • \n

                        \n custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

                        \n
                      • \n
                      • \n

                        \n comprehend:document-classifier-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend document classification endpoint.

                        \n
                      • \n
                      • \n

                        \n comprehend:entity-recognizer-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend entity recognizer endpoint.

                        \n
                      • \n
                      • \n

                        \n lambda:function:ProvisionedConcurrency - The provisioned concurrency for a Lambda function.

                        \n
                      • \n
                      • \n

                        \n cassandra:table:ReadCapacityUnits - The provisioned read capacity for an Amazon Keyspaces table.

                        \n
                      • \n
                      • \n

                        \n cassandra:table:WriteCapacityUnits - The provisioned write capacity for an Amazon Keyspaces table.

                        \n
                      • \n
                      • \n

                        \n kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) for brokers in an Amazon MSK cluster.

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

                      The scalable dimension. This string consists of the service namespace, resource type, and scaling property.

                      \n
                        \n
                      • \n

                        \n ecs:service:DesiredCount - The desired task count of an ECS service.

                        \n
                      • \n
                      • \n

                        \n elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

                        \n
                      • \n
                      • \n

                        \n ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet request.

                        \n
                      • \n
                      • \n

                        \n appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

                        \n
                      • \n
                      • \n

                        \n dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

                        \n
                      • \n
                      • \n

                        \n dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

                        \n
                      • \n
                      • \n

                        \n dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

                        \n
                      • \n
                      • \n

                        \n dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

                        \n
                      • \n
                      • \n

                        \n rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.

                        \n
                      • \n
                      • \n

                        \n sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

                        \n
                      • \n
                      • \n

                        \n custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

                        \n
                      • \n
                      • \n

                        \n comprehend:document-classifier-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend document classification endpoint.

                        \n
                      • \n
                      • \n

                        \n comprehend:entity-recognizer-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend entity recognizer endpoint.

                        \n
                      • \n
                      • \n

                        \n lambda:function:ProvisionedConcurrency - The provisioned concurrency for a Lambda function.

                        \n
                      • \n
                      • \n

                        \n cassandra:table:ReadCapacityUnits - The provisioned read capacity for an Amazon Keyspaces table.

                        \n
                      • \n
                      • \n

                        \n cassandra:table:WriteCapacityUnits - The provisioned write capacity for an Amazon Keyspaces table.

                        \n
                      • \n
                      • \n

                        \n kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) for brokers in an Amazon MSK cluster.

                        \n
                      • \n
                      • \n

                        \n elasticache:replication-group:NodeGroups - The number of node groups for an Amazon ElastiCache replication group.

                        \n
                      • \n
                      • \n

                        \n elasticache:replication-group:Replicas - The number of replicas per node group for an Amazon ElastiCache replication group.

                        \n
                      • \n
                      " } }, "StartTime": { @@ -1806,7 +1850,7 @@ "min": 1, "max": 256 }, - "smithy.api#pattern": "(?!((^[ ]+.*)|(.*([\\u0000-\\u001f]|[\\u007f-\\u009f]|[:/|])+.*)|(.*[ ]+$))).+" + "smithy.api#pattern": "^(?!((^[ ]+.*)|(.*([\\u0000-\\u001f]|[\\u007f-\\u009f]|[:/|])+.*)|(.*[ ]+$))).+$" } }, "com.amazonaws.applicationautoscaling#ScheduledActions": { @@ -1866,6 +1910,10 @@ { "value": "kafka", "name": "KAFKA" + }, + { + "value": "elasticache", + "name": "ELASTICACHE" } ] } @@ -1927,7 +1975,7 @@ "Cooldown": { "target": "com.amazonaws.applicationautoscaling#Cooldown", "traits": { - "smithy.api#documentation": "

                      The amount of time, in seconds, to wait for a previous scaling activity to take effect.

                      \n

                      With scale-out policies, the intention is to continuously (but not excessively) scale out.\n After Application Auto Scaling successfully scales out using a step scaling policy, it starts to calculate the\n cooldown time. The scaling policy won't increase the desired capacity again unless either a\n larger scale out is triggered or the cooldown period ends. While the cooldown period is in\n effect, capacity added by the initiating scale-out activity is calculated as part of the\n desired capacity for the next scale-out activity. For example, when an alarm triggers a step\n scaling policy to increase the capacity by 2, the scaling activity completes successfully, and\n a cooldown period starts. If the alarm triggers again during the cooldown period but at a more\n aggressive step adjustment of 3, the previous increase of 2 is considered part of the current\n capacity. Therefore, only 1 is added to the capacity.

                      \n

                      With scale-in policies, the intention is to scale in conservatively to protect your\n application’s availability, so scale-in activities are blocked until the cooldown period has\n expired. However, if another alarm triggers a scale-out activity during the cooldown period\n after a scale-in activity, Application Auto Scaling scales out the target immediately. In this case, the\n cooldown period for the scale-in activity stops and doesn't complete.

                      \n

                      Application Auto Scaling provides a default value of 300 for the following scalable targets:

                      \n
                        \n
                      • \n

                        ECS services

                        \n
                      • \n
                      • \n

                        Spot Fleet requests

                        \n
                      • \n
                      • \n

                        EMR clusters

                        \n
                      • \n
                      • \n

                        AppStream 2.0 fleets

                        \n
                      • \n
                      • \n

                        Aurora DB clusters

                        \n
                      • \n
                      • \n

                        Amazon SageMaker endpoint variants

                        \n
                      • \n
                      • \n

                        Custom resources

                        \n
                      • \n
                      \n

                      For all other scalable targets, the default value is 0:

                      \n
                        \n
                      • \n

                        DynamoDB tables

                        \n
                      • \n
                      • \n

                        DynamoDB global secondary indexes

                        \n
                      • \n
                      • \n

                        Amazon Comprehend document classification and entity recognizer endpoints

                        \n
                      • \n
                      • \n

                        Lambda provisioned concurrency

                        \n
                      • \n
                      • \n

                        Amazon Keyspaces tables

                        \n
                      • \n
                      • \n

                        Amazon MSK broker storage

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

                      The amount of time, in seconds, to wait for a previous scaling activity to take effect.

                      \n

                      With scale-out policies, the intention is to continuously (but not excessively) scale out.\n After Application Auto Scaling successfully scales out using a step scaling policy, it starts to calculate the\n cooldown time. The scaling policy won't increase the desired capacity again unless either a\n larger scale out is triggered or the cooldown period ends. While the cooldown period is in\n effect, capacity added by the initiating scale-out activity is calculated as part of the\n desired capacity for the next scale-out activity. For example, when an alarm triggers a step\n scaling policy to increase the capacity by 2, the scaling activity completes successfully, and\n a cooldown period starts. If the alarm triggers again during the cooldown period but at a more\n aggressive step adjustment of 3, the previous increase of 2 is considered part of the current\n capacity. Therefore, only 1 is added to the capacity.

                      \n

                      With scale-in policies, the intention is to scale in conservatively to protect your\n application’s availability, so scale-in activities are blocked until the cooldown period has\n expired. However, if another alarm triggers a scale-out activity during the cooldown period\n after a scale-in activity, Application Auto Scaling scales out the target immediately. In this case, the\n cooldown period for the scale-in activity stops and doesn't complete.

                      \n

                      Application Auto Scaling provides a default value of 600 for Amazon ElastiCache replication groups\n and a default value of 300 for the following scalable targets:

                      \n
                        \n
                      • \n

                        ECS services

                        \n
                      • \n
                      • \n

                        Spot Fleet requests

                        \n
                      • \n
                      • \n

                        EMR clusters

                        \n
                      • \n
                      • \n

                        AppStream 2.0 fleets

                        \n
                      • \n
                      • \n

                        Aurora DB clusters

                        \n
                      • \n
                      • \n

                        Amazon SageMaker endpoint variants

                        \n
                      • \n
                      • \n

                        Custom resources

                        \n
                      • \n
                      \n

                      For all other scalable targets, the default value is 0:

                      \n
                        \n
                      • \n

                        DynamoDB tables

                        \n
                      • \n
                      • \n

                        DynamoDB global secondary indexes

                        \n
                      • \n
                      • \n

                        Amazon Comprehend document classification and entity recognizer endpoints

                        \n
                      • \n
                      • \n

                        Lambda provisioned concurrency

                        \n
                      • \n
                      • \n

                        Amazon Keyspaces tables

                        \n
                      • \n
                      • \n

                        Amazon MSK broker storage

                        \n
                      • \n
                      " } }, "MetricAggregationType": { @@ -1992,13 +2040,13 @@ "ScaleOutCooldown": { "target": "com.amazonaws.applicationautoscaling#Cooldown", "traits": { - "smithy.api#documentation": "

                      The amount of time, in seconds, to wait for a previous scale-out activity to take\n effect.

                      \n

                      With the scale-out cooldown period, the intention is to continuously\n (but not excessively) scale out. After Application Auto Scaling successfully scales out using a target\n tracking scaling policy, it starts to calculate the cooldown time. The scaling policy won't\n increase the desired capacity again unless either a larger scale out is triggered or the\n cooldown period ends. While the cooldown period is in effect, the capacity added by the\n initiating scale-out activity is calculated as part of the desired capacity for the next\n scale-out activity.

                      \n

                      Application Auto Scaling provides a default value of 300 for the following scalable targets:

                      \n
                        \n
                      • \n

                        ECS services

                        \n
                      • \n
                      • \n

                        Spot Fleet requests

                        \n
                      • \n
                      • \n

                        EMR clusters

                        \n
                      • \n
                      • \n

                        AppStream 2.0 fleets

                        \n
                      • \n
                      • \n

                        Aurora DB clusters

                        \n
                      • \n
                      • \n

                        Amazon SageMaker endpoint variants

                        \n
                      • \n
                      • \n

                        Custom resources

                        \n
                      • \n
                      \n

                      For all other scalable targets, the default value is 0:

                      \n
                        \n
                      • \n

                        DynamoDB tables

                        \n
                      • \n
                      • \n

                        DynamoDB global secondary indexes

                        \n
                      • \n
                      • \n

                        Amazon Comprehend document classification and entity recognizer endpoints

                        \n
                      • \n
                      • \n

                        Lambda provisioned concurrency

                        \n
                      • \n
                      • \n

                        Amazon Keyspaces tables

                        \n
                      • \n
                      • \n

                        Amazon MSK broker storage

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

                      The amount of time, in seconds, to wait for a previous scale-out activity to take\n effect.

                      \n

                      With the scale-out cooldown period, the intention is to continuously\n (but not excessively) scale out. After Application Auto Scaling successfully scales out using a target\n tracking scaling policy, it starts to calculate the cooldown time. The scaling policy won't\n increase the desired capacity again unless either a larger scale out is triggered or the\n cooldown period ends. While the cooldown period is in effect, the capacity added by the\n initiating scale-out activity is calculated as part of the desired capacity for the next\n scale-out activity.

                      \n

                      Application Auto Scaling provides a default value of 600 for Amazon ElastiCache replication groups\n and a default value of 300 for the following scalable targets:

                      \n
                        \n
                      • \n

                        ECS services

                        \n
                      • \n
                      • \n

                        Spot Fleet requests

                        \n
                      • \n
                      • \n

                        EMR clusters

                        \n
                      • \n
                      • \n

                        AppStream 2.0 fleets

                        \n
                      • \n
                      • \n

                        Aurora DB clusters

                        \n
                      • \n
                      • \n

                        Amazon SageMaker endpoint variants

                        \n
                      • \n
                      • \n

                        Custom resources

                        \n
                      • \n
                      \n

                      For all other scalable targets, the default value is 0:

                      \n
                        \n
                      • \n

                        DynamoDB tables

                        \n
                      • \n
                      • \n

                        DynamoDB global secondary indexes

                        \n
                      • \n
                      • \n

                        Amazon Comprehend document classification and entity recognizer endpoints

                        \n
                      • \n
                      • \n

                        Lambda provisioned concurrency

                        \n
                      • \n
                      • \n

                        Amazon Keyspaces tables

                        \n
                      • \n
                      • \n

                        Amazon MSK broker storage

                        \n
                      • \n
                      " } }, "ScaleInCooldown": { "target": "com.amazonaws.applicationautoscaling#Cooldown", "traits": { - "smithy.api#documentation": "

                      The amount of time, in seconds, after a scale-in activity completes before another\n scale-in activity can start.

                      \n

                      With the scale-in cooldown period, the intention is to scale in\n conservatively to protect your application’s availability, so scale-in activities are blocked\n until the cooldown period has expired. However, if another alarm triggers a scale-out activity\n during the scale-in cooldown period, Application Auto Scaling scales out the target immediately. In this case,\n the scale-in cooldown period stops and doesn't complete.

                      \n

                      Application Auto Scaling provides a default value of 300 for the following scalable targets:

                      \n
                        \n
                      • \n

                        ECS services

                        \n
                      • \n
                      • \n

                        Spot Fleet requests

                        \n
                      • \n
                      • \n

                        EMR clusters

                        \n
                      • \n
                      • \n

                        AppStream 2.0 fleets

                        \n
                      • \n
                      • \n

                        Aurora DB clusters

                        \n
                      • \n
                      • \n

                        Amazon SageMaker endpoint variants

                        \n
                      • \n
                      • \n

                        Custom resources

                        \n
                      • \n
                      \n

                      For all other scalable targets, the default value is 0:

                      \n
                        \n
                      • \n

                        DynamoDB tables

                        \n
                      • \n
                      • \n

                        DynamoDB global secondary indexes

                        \n
                      • \n
                      • \n

                        Amazon Comprehend document classification and entity recognizer endpoints

                        \n
                      • \n
                      • \n

                        Lambda provisioned concurrency

                        \n
                      • \n
                      • \n

                        Amazon Keyspaces tables

                        \n
                      • \n
                      • \n

                        Amazon MSK broker storage

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

                      The amount of time, in seconds, after a scale-in activity completes before another\n scale-in activity can start.

                      \n

                      With the scale-in cooldown period, the intention is to scale in\n conservatively to protect your application’s availability, so scale-in activities are blocked\n until the cooldown period has expired. However, if another alarm triggers a scale-out activity\n during the scale-in cooldown period, Application Auto Scaling scales out the target immediately. In this case,\n the scale-in cooldown period stops and doesn't complete.

                      \n

                      Application Auto Scaling provides a default value of 600 for Amazon ElastiCache replication groups\n and a default value of 300 for the following scalable targets:

                      \n
                        \n
                      • \n

                        ECS services

                        \n
                      • \n
                      • \n

                        Spot Fleet requests

                        \n
                      • \n
                      • \n

                        EMR clusters

                        \n
                      • \n
                      • \n

                        AppStream 2.0 fleets

                        \n
                      • \n
                      • \n

                        Aurora DB clusters

                        \n
                      • \n
                      • \n

                        Amazon SageMaker endpoint variants

                        \n
                      • \n
                      • \n

                        Custom resources

                        \n
                      • \n
                      \n

                      For all other scalable targets, the default value is 0:

                      \n
                        \n
                      • \n

                        DynamoDB tables

                        \n
                      • \n
                      • \n

                        DynamoDB global secondary indexes

                        \n
                      • \n
                      • \n

                        Amazon Comprehend document classification and entity recognizer endpoints

                        \n
                      • \n
                      • \n

                        Lambda provisioned concurrency

                        \n
                      • \n
                      • \n

                        Amazon Keyspaces tables

                        \n
                      • \n
                      • \n

                        Amazon MSK broker storage

                        \n
                      • \n
                      " } }, "DisableScaleIn": { @@ -2023,6 +2071,10 @@ } }, "traits": { + "aws.protocols#awsQueryError": { + "code": "ValidationException", + "httpResponseCode": 400 + }, "smithy.api#documentation": "

                      An exception was thrown for a validation issue. Review the available parameters for the\n API request.

                      ", "smithy.api#error": "client", "smithy.api#httpError": 400 @@ -2031,7 +2083,7 @@ "com.amazonaws.applicationautoscaling#XmlString": { "type": "string", "traits": { - "smithy.api#pattern": "[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" + "smithy.api#pattern": "^[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*$" } } } diff --git a/codegen/sdk-codegen/aws-models/cloud9.2017-09-23.json b/codegen/sdk-codegen/aws-models/cloud9.2017-09-23.json index 4a26881fbdf8..ef0650b99378 100644 --- a/codegen/sdk-codegen/aws-models/cloud9.2017-09-23.json +++ b/codegen/sdk-codegen/aws-models/cloud9.2017-09-23.json @@ -285,6 +285,12 @@ "traits": { "smithy.api#documentation": "

                      The connection type used for connecting to an Amazon EC2 environment. Valid values are\n CONNECT_SSH (default) and CONNECT_SSM (connected through\n Amazon EC2 Systems Manager).

                      \n

                      For more information, see Accessing no-ingress EC2 instances with\n Amazon EC2 Systems Manager in the Cloud9 User Guide.

                      " } + }, + "dryRun": { + "target": "com.amazonaws.cloud9#NullableBoolean", + "traits": { + "smithy.api#documentation": "

                      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.

                      " + } } } }, @@ -1155,6 +1161,21 @@ } } }, + "com.amazonaws.cloud9#ManagedCredentialsAction": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "ENABLE", + "name": "ENABLE" + }, + { + "value": "DISABLE", + "name": "DISABLE" + } + ] + } + }, "com.amazonaws.cloud9#ManagedCredentialsStatus": { "type": "string", "traits": { @@ -1249,6 +1270,12 @@ "smithy.api#error": "client" } }, + "com.amazonaws.cloud9#NullableBoolean": { + "type": "boolean", + "traits": { + "smithy.api#box": {} + } + }, "com.amazonaws.cloud9#Permissions": { "type": "string", "traits": { @@ -1605,6 +1632,12 @@ "traits": { "smithy.api#documentation": "

                      Any new or replacement description for the environment.

                      " } + }, + "managedCredentialsAction": { + "target": "com.amazonaws.cloud9#ManagedCredentialsAction", + "traits": { + "smithy.api#documentation": "

                      Allows the environment owner to turn on or turn off the Amazon Web Services managed temporary\n credentials for an Cloud9 environment by using one of the following values:

                      \n
                        \n
                      • \n

                        \n ENABLE\n

                        \n
                      • \n
                      • \n

                        \n DISABLE\n

                        \n
                      • \n
                      \n \n

                      Only the environment owner can change the status of managed temporary credentials. An AccessDeniedException is thrown if an attempt to turn on or turn off managed temporary credentials is made by an account that's not the environment\n owner.

                      \n
                      " + } } } }, diff --git a/codegen/sdk-codegen/aws-models/clouddirectory.2017-01-11.json b/codegen/sdk-codegen/aws-models/clouddirectory.2017-01-11.json index ddacc6d76a9b..036c47ec1829 100644 --- a/codegen/sdk-codegen/aws-models/clouddirectory.2017-01-11.json +++ b/codegen/sdk-codegen/aws-models/clouddirectory.2017-01-11.json @@ -37,7 +37,7 @@ } }, "traits": { - "smithy.api#documentation": "

                      Access denied. Check your permissions.

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

                      Access denied or directory not found. Either you don't have permissions for this directory or the directory does not exist. Try calling ListDirectories and check your permissions.

                      ", "smithy.api#error": "client", "smithy.api#httpError": 403 } @@ -1794,22 +1794,40 @@ } }, "NextToken": { - "target": "com.amazonaws.clouddirectory#NextToken" + "target": "com.amazonaws.clouddirectory#NextToken", + "traits": { + "smithy.api#documentation": "

                      The pagination token.

                      " + } }, "MaxResults": { - "target": "com.amazonaws.clouddirectory#NumberResults" + "target": "com.amazonaws.clouddirectory#NumberResults", + "traits": { + "smithy.api#documentation": "

                      The maximum number of items to be retrieved in a single call. This is an approximate\n number.

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

                      Lists parent objects that are associated with a given object in pagination\n fashion.

                      " } }, "com.amazonaws.clouddirectory#BatchListObjectParentsResponse": { "type": "structure", "members": { "ParentLinks": { - "target": "com.amazonaws.clouddirectory#ObjectIdentifierAndLinkNameList" + "target": "com.amazonaws.clouddirectory#ObjectIdentifierAndLinkNameList", + "traits": { + "smithy.api#documentation": "

                      Returns a list of parent reference and LinkName Tuples.

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

                      The pagination token.

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

                      Represents the output of a ListObjectParents response operation.

                      " } }, "com.amazonaws.clouddirectory#BatchListObjectPolicies": { @@ -2174,7 +2192,10 @@ } }, "ListObjectParents": { - "target": "com.amazonaws.clouddirectory#BatchListObjectParents" + "target": "com.amazonaws.clouddirectory#BatchListObjectParents", + "traits": { + "smithy.api#documentation": "

                      Lists parent objects that are associated with a given object in pagination\n fashion.

                      " + } }, "ListObjectPolicies": { "target": "com.amazonaws.clouddirectory#BatchListObjectPolicies", @@ -2375,7 +2396,10 @@ } }, "ListObjectParents": { - "target": "com.amazonaws.clouddirectory#BatchListObjectParentsResponse" + "target": "com.amazonaws.clouddirectory#BatchListObjectParentsResponse", + "traits": { + "smithy.api#documentation": "

                      The list of parent objects to retrieve.

                      " + } } }, "traits": { @@ -5450,7 +5474,7 @@ "min": 1, "max": 64 }, - "smithy.api#pattern": "[^\\/\\[\\]\\(\\):\\{\\}#@!?\\s\\\\;]+" + "smithy.api#pattern": "^[^\\/\\[\\]\\(\\):\\{\\}#@!?\\s\\\\;]+$" } }, "com.amazonaws.clouddirectory#LinkNameAlreadyInUseException": { @@ -7799,7 +7823,7 @@ "Selector": { "target": "com.amazonaws.clouddirectory#SelectorObjectReference", "traits": { - "smithy.api#documentation": "

                      A path selector supports easy selection of an object by the parent/child links leading to it from the directory root. Use the link names from each parent/child link to construct the path. Path selectors start with a slash (/) and link names are separated by slashes. For more information about paths, see Access Objects. You can identify an object in one of the following ways:

                      \n
                        \n
                      • \n

                        \n $ObjectIdentifier - An object identifier is an opaque string provided by Amazon Cloud Directory. When creating objects, the system will provide you with the identifier of the created object. An object’s identifier is immutable and no two objects will ever share the same object identifier

                        \n
                      • \n
                      • \n

                        \n /some/path - Identifies the object based on path

                        \n
                      • \n
                      • \n

                        \n #SomeBatchReference - Identifies the object in a batch call

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

                      A path selector supports easy selection of an object by the parent/child links leading to it from the directory root. Use the link names from each parent/child link to construct the path. Path selectors start with a slash (/) and link names are separated by slashes. For more information about paths, see Access Objects. You can identify an object in one of the following ways:

                      \n
                        \n
                      • \n

                        \n $ObjectIdentifier - An object identifier is an opaque string provided by Amazon Cloud Directory. When creating objects, the system will provide you with the identifier of the created object. An object’s identifier is immutable and no two objects will ever share the same object identifier. To identify an object with ObjectIdentifier, the ObjectIdentifier must be wrapped in double quotes.

                        \n
                      • \n
                      • \n

                        \n /some/path - Identifies the object based on path

                        \n
                      • \n
                      • \n

                        \n #SomeBatchReference - Identifies the object in a batch call

                        \n
                      • \n
                      " } } }, @@ -8334,13 +8358,13 @@ "SchemaArn": { "target": "com.amazonaws.clouddirectory#Arn", "traits": { - "smithy.api#documentation": "

                      The ARN of the schema that contains the facet with no minor component. See arns and In-Place Schema Upgrade for a description of when to provide minor versions.

                      " + "smithy.api#documentation": "

                      The ARN of the schema that contains the facet with no minor component. See arns and In-Place Schema Upgrade for a description of when to provide minor versions.\n If this value is set, FacetName must also be set.

                      " } }, "FacetName": { "target": "com.amazonaws.clouddirectory#FacetName", "traits": { - "smithy.api#documentation": "

                      The name of the facet.

                      " + "smithy.api#documentation": "

                      The name of the facet. If this value is set, SchemaArn must also be set.

                      " } } }, diff --git a/codegen/sdk-codegen/aws-models/cloudwatch-logs.2014-03-28.json b/codegen/sdk-codegen/aws-models/cloudwatch-logs.2014-03-28.json index 80510144b8a0..d03ba9424ba3 100644 --- a/codegen/sdk-codegen/aws-models/cloudwatch-logs.2014-03-28.json +++ b/codegen/sdk-codegen/aws-models/cloudwatch-logs.2014-03-28.json @@ -60,7 +60,7 @@ } ], "traits": { - "smithy.api#documentation": "

                      Associates the specified AWS Key Management Service (AWS KMS) customer master key (CMK) with the specified log group.

                      \n

                      Associating an AWS KMS CMK with a log group overrides any existing associations between the log group and a CMK. \n After a CMK is associated with a log group, all newly ingested data for the log group is encrypted using the CMK. \n This association is stored as long as the data encrypted with the CMK is still within Amazon CloudWatch Logs. \n This enables Amazon CloudWatch Logs to decrypt this data whenever it is requested.

                      \n \n

                      CloudWatch Logs supports only symmetric CMKs. Do not use an associate an asymmetric CMK\n with your log group. For more information, see Using Symmetric and Asymmetric\n Keys.

                      \n
                      \n

                      It can take up to 5 minutes for this operation to take effect.

                      \n

                      If you attempt to associate a CMK with a log group but the CMK does not exist or the\n CMK is disabled, you receive an InvalidParameterException error.

                      " + "smithy.api#documentation": "

                      Associates the specified Key Management Service customer master key (CMK) with the specified log group.

                      \n

                      Associating an KMS CMK with a log group overrides any existing associations between the log group and a CMK. \n After a CMK is associated with a log group, all newly ingested data for the log group is encrypted using the CMK. \n This association is stored as long as the data encrypted with the CMK is still within CloudWatch Logs. \n This enables CloudWatch Logs to decrypt this data whenever it is requested.

                      \n \n

                      CloudWatch Logs supports only symmetric CMKs. Do not use an associate an asymmetric CMK\n with your log group. For more information, see Using Symmetric and Asymmetric\n Keys.

                      \n
                      \n

                      It can take up to 5 minutes for this operation to take effect.

                      \n

                      If you attempt to associate a CMK with a log group but the CMK does not exist or the\n CMK is disabled, you receive an InvalidParameterException error.

                      " } }, "com.amazonaws.cloudwatchlogs#AssociateKmsKeyRequest": { @@ -76,7 +76,7 @@ "kmsKeyId": { "target": "com.amazonaws.cloudwatchlogs#KmsKeyId", "traits": { - "smithy.api#documentation": "

                      The Amazon Resource Name (ARN) of the CMK to use when encrypting log data. This must be a symmetric CMK.\n For more information, see Amazon Resource Names - AWS Key Management Service (AWS KMS) and Using Symmetric and Asymmetric Keys.

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

                      The Amazon Resource Name (ARN) of the CMK to use when encrypting log data. This must be a symmetric CMK.\n For more information, see Amazon Resource Names - Key Management Service and Using Symmetric and Asymmetric Keys.

                      ", "smithy.api#required": {} } } @@ -188,7 +188,7 @@ "destination": { "target": "com.amazonaws.cloudwatchlogs#ExportDestinationBucket", "traits": { - "smithy.api#documentation": "

                      The name of S3 bucket for the exported log data. The bucket must be in the same AWS region.

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

                      The name of S3 bucket for the exported log data. The bucket must be in the same Amazon Web Services region.

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

                      Creates a log group with the specified name. You can create up to 20,000 log groups per account.

                      \n

                      You must use the following guidelines when naming a log group:

                      \n
                        \n
                      • \n

                        Log group names must be unique within a region for an AWS account.

                        \n
                      • \n
                      • \n

                        Log group names can be between 1 and 512 characters long.

                        \n
                      • \n
                      • \n

                        Log group names consist of the following characters: a-z, A-Z, 0-9, '_' (underscore), '-' (hyphen), \n '/' (forward slash), '.' (period), and '#' (number sign)

                        \n
                      • \n
                      \n

                      When you create a log group, by default the log events in the log group never expire. To set\n a retention policy so that events expire and are deleted after a specified time, use\n PutRetentionPolicy.

                      \n

                      If you associate a AWS Key Management Service (AWS KMS) customer master key (CMK) with the log group, ingested data is encrypted using the CMK. \n This association is stored as long as the data encrypted with the CMK is still within Amazon CloudWatch Logs. \n This enables Amazon CloudWatch Logs to decrypt this data whenever it is requested.

                      \n

                      If you attempt to associate a CMK with the log group but the CMK does not exist or the\n CMK is disabled, you receive an InvalidParameterException error.

                      \n \n

                      CloudWatch Logs supports only symmetric CMKs. Do not associate an asymmetric CMK with\n your log group. For more information, see Using Symmetric and Asymmetric\n Keys.

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

                      Creates a log group with the specified name. You can create up to 20,000 log groups per account.

                      \n

                      You must use the following guidelines when naming a log group:

                      \n
                        \n
                      • \n

                        Log group names must be unique within a region for an Amazon Web Services account.

                        \n
                      • \n
                      • \n

                        Log group names can be between 1 and 512 characters long.

                        \n
                      • \n
                      • \n

                        Log group names consist of the following characters: a-z, A-Z, 0-9, '_' (underscore), '-' (hyphen), \n '/' (forward slash), '.' (period), and '#' (number sign)

                        \n
                      • \n
                      \n

                      When you create a log group, by default the log events in the log group never expire. To set\n a retention policy so that events expire and are deleted after a specified time, use\n PutRetentionPolicy.

                      \n

                      If you associate a Key Management Service customer master key (CMK) with the log group, ingested data is encrypted using the CMK. \n This association is stored as long as the data encrypted with the CMK is still within CloudWatch Logs. \n This enables CloudWatch Logs to decrypt this data whenever it is requested.

                      \n

                      If you attempt to associate a CMK with the log group but the CMK does not exist or the\n CMK is disabled, you receive an InvalidParameterException error.

                      \n \n

                      CloudWatch Logs supports only symmetric CMKs. Do not associate an asymmetric CMK with\n your log group. For more information, see Using Symmetric and Asymmetric\n Keys.

                      \n
                      " } }, "com.amazonaws.cloudwatchlogs#CreateLogGroupRequest": { @@ -250,13 +250,13 @@ "kmsKeyId": { "target": "com.amazonaws.cloudwatchlogs#KmsKeyId", "traits": { - "smithy.api#documentation": "

                      The Amazon Resource Name (ARN) of the CMK to use when encrypting log data. \n For more information, see Amazon Resource Names - AWS Key Management Service (AWS KMS).

                      " + "smithy.api#documentation": "

                      The Amazon Resource Name (ARN) of the CMK to use when encrypting log data. \n For more information, see Amazon Resource Names - Key Management Service.

                      " } }, "tags": { "target": "com.amazonaws.cloudwatchlogs#Tags", "traits": { - "smithy.api#documentation": "

                      The key-value pairs to use for the tags.

                      " + "smithy.api#documentation": "

                      The key-value pairs to use for the tags.

                      \n

                      CloudWatch Logs doesn’t support IAM policies that prevent users from assigning specified tags to \n log groups using the aws:Resource/key-name\n or aws:TagKeys condition keys. \n For more information about using tags to control access, see \n Controlling access to Amazon Web Services resources using tags.

                      " } } } @@ -322,7 +322,7 @@ "type": "integer", "traits": { "smithy.api#box": {}, - "smithy.api#documentation": "

                      The number of days to retain the log events in the specified log group.\n Possible values are: 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827, and 3653.

                      \n

                      If you omit retentionInDays in a PutRetentionPolicy operation, \n the events in the log group are always retained and never expire.

                      " + "smithy.api#documentation": "

                      The number of days to retain the log events in the specified log group.\n Possible values are: 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827, and 3653.

                      \n

                      To set a log group to never have log events expire, use\n DeleteRetentionPolicy.\n

                      " } }, "com.amazonaws.cloudwatchlogs#DefaultValue": { @@ -798,7 +798,7 @@ } ], "traits": { - "smithy.api#documentation": "

                      Lists the specified log groups. You can list all your log groups or filter the results by prefix.\n The results are ASCII-sorted by log group name.

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

                      Lists the specified log groups. You can list all your log groups or filter the results by prefix.\n The results are ASCII-sorted by log group name.

                      \n

                      CloudWatch Logs doesn’t support IAM policies that control access to the DescribeLogGroups action by using the \n aws:ResourceTag/key-name\n condition key. Other CloudWatch Logs actions\n do support the use of the aws:ResourceTag/key-name\n condition key to control access.\n For more information about using tags to control access, see \n Controlling access to Amazon Web Services resources using tags.

                      ", "smithy.api#paginated": { "inputToken": "nextToken", "outputToken": "nextToken", @@ -1285,7 +1285,7 @@ "accessPolicy": { "target": "com.amazonaws.cloudwatchlogs#AccessPolicy", "traits": { - "smithy.api#documentation": "

                      An IAM policy document that governs which AWS accounts can create subscription filters\n against this destination.

                      " + "smithy.api#documentation": "

                      An IAM policy document that governs which Amazon Web Services accounts can create subscription filters\n against this destination.

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

                      Disassociates the associated AWS Key Management Service (AWS KMS) customer master key (CMK) from the specified log group.

                      \n

                      After the AWS KMS CMK is disassociated from the log group, AWS CloudWatch Logs stops encrypting newly ingested data for the log group. \n All previously ingested data remains encrypted, and AWS CloudWatch Logs requires permissions for the CMK whenever the encrypted data is requested.

                      \n

                      Note that it can take up to 5 minutes for this operation to take effect.

                      " + "smithy.api#documentation": "

                      Disassociates the associated Key Management Service customer master key (CMK) from the specified log group.

                      \n

                      After the KMS CMK is disassociated from the log group, CloudWatch Logs stops encrypting newly ingested data for the log group. \n All previously ingested data remains encrypted, and CloudWatch Logs requires permissions for the CMK whenever the encrypted data is requested.

                      \n

                      Note that it can take up to 5 minutes for this operation to take effect.

                      " } }, "com.amazonaws.cloudwatchlogs#DisassociateKmsKeyRequest": { @@ -1860,7 +1860,7 @@ "nextToken": { "target": "com.amazonaws.cloudwatchlogs#NextToken", "traits": { - "smithy.api#documentation": "

                      The token for the next set of items to return. (You received this token from a previous call.)

                      \n

                      Using this token works only when you specify true for startFromHead.

                      " + "smithy.api#documentation": "

                      The token for the next set of items to return. (You received this token from a previous call.)

                      " } }, "limit": { @@ -1872,7 +1872,7 @@ "startFromHead": { "target": "com.amazonaws.cloudwatchlogs#StartFromHead", "traits": { - "smithy.api#documentation": "

                      If the value is true, the earliest log events are returned first.\n If the value is false, the latest log events are returned first.\n The default value is false.

                      \n

                      If you are using nextToken in this operation, you must specify true for startFromHead.

                      " + "smithy.api#documentation": "

                      If the value is true, the earliest log events are returned first.\n If the value is false, the latest log events are returned first.\n The default value is false.

                      \n

                      If you are using a previous nextForwardToken value as the nextToken in this operation, \n you must specify true for startFromHead.

                      " } } } @@ -2554,7 +2554,7 @@ "name": "logs" }, "aws.protocols#awsJson1_1": {}, - "smithy.api#documentation": "

                      You can use Amazon CloudWatch Logs to monitor, store, and access your log files from\n EC2 instances, AWS CloudTrail, and other sources. You can then retrieve the associated\n log data from CloudWatch Logs using the CloudWatch console, CloudWatch Logs commands in the\n AWS CLI, CloudWatch Logs API, or CloudWatch Logs SDK.

                      \n

                      You can use CloudWatch Logs to:

                      \n
                        \n
                      • \n

                        \n Monitor logs from EC2 instances in real-time: You\n can use CloudWatch Logs to monitor applications and systems using log data. For example,\n CloudWatch Logs can track the number of errors that occur in your application logs and\n send you a notification whenever the rate of errors exceeds a threshold that you specify.\n CloudWatch Logs uses your log data for monitoring so no code changes are required. For\n example, you can monitor application logs for specific literal terms (such as\n \"NullReferenceException\") or count the number of occurrences of a literal term at a\n particular position in log data (such as \"404\" status codes in an Apache access log). When\n the term you are searching for is found, CloudWatch Logs reports the data to a CloudWatch\n metric that you specify.

                        \n
                      • \n
                      • \n

                        \n Monitor AWS CloudTrail logged events: You can\n create alarms in CloudWatch and receive notifications of particular API activity as\n captured by CloudTrail. You can use the notification to perform troubleshooting.

                        \n
                      • \n
                      • \n

                        \n Archive log data: You can use CloudWatch Logs to\n store your log data in highly durable storage. You can change the log retention setting so\n that any log events older than this setting are automatically deleted. The CloudWatch Logs\n agent makes it easy to quickly send both rotated and non-rotated log data off of a host\n and into the log service. You can then access the raw log data when you need it.

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

                      You can use Amazon CloudWatch Logs to monitor, store, and access your log files from\n EC2 instances, CloudTrail, and other sources. You can then retrieve the associated\n log data from CloudWatch Logs using the CloudWatch console, CloudWatch Logs commands in the\n Amazon Web Services CLI, CloudWatch Logs API, or CloudWatch Logs SDK.

                      \n

                      You can use CloudWatch Logs to:

                      \n
                        \n
                      • \n

                        \n Monitor logs from EC2 instances in real-time: You\n can use CloudWatch Logs to monitor applications and systems using log data. For example,\n CloudWatch Logs can track the number of errors that occur in your application logs and\n send you a notification whenever the rate of errors exceeds a threshold that you specify.\n CloudWatch Logs uses your log data for monitoring so no code changes are required. For\n example, you can monitor application logs for specific literal terms (such as\n \"NullReferenceException\") or count the number of occurrences of a literal term at a\n particular position in log data (such as \"404\" status codes in an Apache access log). When\n the term you are searching for is found, CloudWatch Logs reports the data to a CloudWatch\n metric that you specify.

                        \n
                      • \n
                      • \n

                        \n Monitor CloudTrail logged events: You can\n create alarms in CloudWatch and receive notifications of particular API activity as\n captured by CloudTrail. You can use the notification to perform troubleshooting.

                        \n
                      • \n
                      • \n

                        \n Archive log data: You can use CloudWatch Logs to\n store your log data in highly durable storage. You can change the log retention setting so\n that any log events older than this setting are automatically deleted. The CloudWatch Logs\n agent makes it easy to quickly send both rotated and non-rotated log data off of a host\n and into the log service. You can then access the raw log data when you need it.

                        \n
                      • \n
                      ", "smithy.api#title": "Amazon CloudWatch Logs", "smithy.api#xmlNamespace": { "uri": "http://monitoring.amazonaws.com/doc/2014-03-28/" @@ -2706,7 +2706,7 @@ "dimensions": { "target": "com.amazonaws.cloudwatchlogs#Dimensions", "traits": { - "smithy.api#documentation": "

                      The fields to use as dimensions for the metric. One metric filter can include\n as many as three dimensions.

                      \n \n

                      Metrics extracted from log events are charged as custom metrics.\n To prevent unexpected high charges, do not specify high-cardinality fields such as \n IPAddress or requestID as dimensions. Each different value \n found for \n a dimension is treated as a separate metric and accrues charges as a separate custom metric.\n

                      \n

                      To help prevent accidental high charges, Amazon disables a metric filter\n if it generates 1000 different name/value pairs for the dimensions that you \n have specified within a certain amount of time.

                      \n

                      You can also set up a billing alarm to alert you if your charges are higher than \n expected. For more information, \n see \n Creating a Billing Alarm to Monitor Your Estimated AWS Charges.\n

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

                      The fields to use as dimensions for the metric. One metric filter can include\n as many as three dimensions.

                      \n \n

                      Metrics extracted from log events are charged as custom metrics.\n To prevent unexpected high charges, do not specify high-cardinality fields such as \n IPAddress or requestID as dimensions. Each different value \n found for \n a dimension is treated as a separate metric and accrues charges as a separate custom metric.\n

                      \n

                      To help prevent accidental high charges, Amazon disables a metric filter\n if it generates 1000 different name/value pairs for the dimensions that you \n have specified within a certain amount of time.

                      \n

                      You can also set up a billing alarm to alert you if your charges are higher than \n expected. For more information, \n see \n Creating a Billing Alarm to Monitor Your Estimated Amazon Web Services Charges.\n

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

                      Creates or updates an access policy associated with an existing\n destination. An access policy is an IAM policy document that is used\n to authorize claims to register a subscription filter against a given destination.

                      \n

                      If multiple AWS accounts are sending logs to this destination, each sender account must be \n listed separately in the policy. The policy does not support specifying *\n as the Principal or the use of the aws:PrincipalOrgId global key.

                      " + "smithy.api#documentation": "

                      Creates or updates an access policy associated with an existing\n destination. An access policy is an IAM policy document that is used\n to authorize claims to register a subscription filter against a given destination.

                      \n

                      If multiple Amazon Web Services accounts are sending logs to this destination, each sender account must be \n listed separately in the policy. The policy does not support specifying *\n as the Principal or the use of the aws:PrincipalOrgId global key.

                      " } }, "com.amazonaws.cloudwatchlogs#PutDestinationPolicyRequest": { @@ -2959,7 +2959,7 @@ } ], "traits": { - "smithy.api#documentation": "

                      Uploads a batch of log events to the specified log stream.

                      \n

                      You must include the sequence token obtained from the response of the previous call. An\n upload in a newly created log stream does not require a sequence token. You can also get the\n sequence token in the expectedSequenceToken field from\n InvalidSequenceTokenException. If you call PutLogEvents twice\n within a narrow time period using the same value for sequenceToken, both calls\n might be successful or one might be rejected.

                      \n

                      The batch of events must satisfy the following constraints:

                      \n
                        \n
                      • \n

                        The maximum batch size is 1,048,576 bytes. This size is calculated as the sum of\n all event messages in UTF-8, plus 26 bytes for each log event.

                        \n
                      • \n
                      • \n

                        None of the log events in the batch can be more than 2 hours in the future.

                        \n
                      • \n
                      • \n

                        None of the log events in the batch can be older than 14 days or older than the retention\n period of the log group.

                        \n
                      • \n
                      • \n

                        The log events in the batch must be in chronological order by their timestamp. The\n timestamp is the time the event occurred, expressed as the number of milliseconds after\n Jan 1, 1970 00:00:00 UTC. (In AWS Tools for PowerShell and the AWS SDK for .NET, the\n timestamp is specified in .NET format: yyyy-mm-ddThh:mm:ss. For example,\n 2017-09-15T13:45:30.)

                        \n
                      • \n
                      • \n

                        A batch of log events in a single request cannot span more than 24 hours. Otherwise, the operation fails.

                        \n
                      • \n
                      • \n

                        The maximum number of log events in a batch is 10,000.

                        \n
                      • \n
                      • \n

                        There is a quota of 5 requests per second per log stream. Additional requests are throttled. This quota can't be changed.

                        \n
                      • \n
                      \n

                      If a call to PutLogEvents returns \"UnrecognizedClientException\" the most likely cause is an invalid AWS access key ID or secret key.

                      " + "smithy.api#documentation": "

                      Uploads a batch of log events to the specified log stream.

                      \n

                      You must include the sequence token obtained from the response of the previous call. An\n upload in a newly created log stream does not require a sequence token. You can also get the\n sequence token in the expectedSequenceToken field from\n InvalidSequenceTokenException. If you call PutLogEvents twice\n within a narrow time period using the same value for sequenceToken, both calls\n might be successful or one might be rejected.

                      \n

                      The batch of events must satisfy the following constraints:

                      \n
                        \n
                      • \n

                        The maximum batch size is 1,048,576 bytes. This size is calculated as the sum of\n all event messages in UTF-8, plus 26 bytes for each log event.

                        \n
                      • \n
                      • \n

                        None of the log events in the batch can be more than 2 hours in the future.

                        \n
                      • \n
                      • \n

                        None of the log events in the batch can be older than 14 days or older than the retention\n period of the log group.

                        \n
                      • \n
                      • \n

                        The log events in the batch must be in chronological order by their timestamp. The\n timestamp is the time the event occurred, expressed as the number of milliseconds after\n Jan 1, 1970 00:00:00 UTC. (In Amazon Web Services Tools for PowerShell and the Amazon Web Services SDK for .NET, the\n timestamp is specified in .NET format: yyyy-mm-ddThh:mm:ss. For example,\n 2017-09-15T13:45:30.)

                        \n
                      • \n
                      • \n

                        A batch of log events in a single request cannot span more than 24 hours. Otherwise, the operation fails.

                        \n
                      • \n
                      • \n

                        The maximum number of log events in a batch is 10,000.

                        \n
                      • \n
                      • \n

                        There is a quota of 5 requests per second per log stream. Additional requests are throttled. This quota can't be changed.

                        \n
                      • \n
                      \n

                      If a call to PutLogEvents returns \"UnrecognizedClientException\" the most likely cause is an invalid Amazon Web Services access key ID or secret key.

                      " } }, "com.amazonaws.cloudwatchlogs#PutLogEventsRequest": { @@ -3034,7 +3034,7 @@ } ], "traits": { - "smithy.api#documentation": "

                      Creates or updates a metric filter and associates it with the specified log group.\n Metric filters allow you to configure rules to extract metric data from log events ingested\n through PutLogEvents.

                      \n

                      The maximum number of metric filters that can be associated with a log group is\n 100.

                      \n

                      When you create a metric filter, you can also optionally assign a unit and dimensions\n to the metric that is created.

                      \n \n

                      Metrics extracted from log events are charged as custom metrics.\n To prevent unexpected high charges, do not specify high-cardinality fields such as \n IPAddress or requestID as dimensions. Each different value \n found for \n a dimension is treated as a separate metric and accrues charges as a separate custom metric.\n

                      \n

                      To help prevent accidental high charges, Amazon disables a metric filter\n if it generates 1000 different name/value pairs for the dimensions that you \n have specified within a certain amount of time.

                      \n

                      You can also set up a billing alarm to alert you if your charges are higher than \n expected. For more information, \n see \n Creating a Billing Alarm to Monitor Your Estimated AWS Charges.\n

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

                      Creates or updates a metric filter and associates it with the specified log group.\n Metric filters allow you to configure rules to extract metric data from log events ingested\n through PutLogEvents.

                      \n

                      The maximum number of metric filters that can be associated with a log group is\n 100.

                      \n

                      When you create a metric filter, you can also optionally assign a unit and dimensions\n to the metric that is created.

                      \n \n

                      Metrics extracted from log events are charged as custom metrics.\n To prevent unexpected high charges, do not specify high-cardinality fields such as \n IPAddress or requestID as dimensions. Each different value \n found for \n a dimension is treated as a separate metric and accrues charges as a separate custom metric.\n

                      \n

                      To help prevent accidental high charges, Amazon disables a metric filter\n if it generates 1000 different name/value pairs for the dimensions that you \n have specified within a certain amount of time.

                      \n

                      You can also set up a billing alarm to alert you if your charges are higher than \n expected. For more information, \n see \n Creating a Billing Alarm to Monitor Your Estimated Amazon Web Services Charges.\n

                      \n
                      " } }, "com.amazonaws.cloudwatchlogs#PutMetricFilterRequest": { @@ -3155,7 +3155,7 @@ } ], "traits": { - "smithy.api#documentation": "

                      Creates or updates a resource policy allowing other AWS services to put log events to\n this account, such as Amazon Route 53. An account can have up to 10 resource policies per AWS\n Region.

                      " + "smithy.api#documentation": "

                      Creates or updates a resource policy allowing other Amazon Web Services services to put log events to\n this account, such as Amazon Route 53. An account can have up to 10 resource policies per Amazon Web Services\n Region.

                      " } }, "com.amazonaws.cloudwatchlogs#PutResourcePolicyRequest": { @@ -3170,7 +3170,7 @@ "policyDocument": { "target": "com.amazonaws.cloudwatchlogs#PolicyDocument", "traits": { - "smithy.api#documentation": "

                      Details of the new policy, including the identity of the principal that is enabled to put logs to this account. This is formatted as a JSON string.\n This parameter is required.

                      \n

                      The following example creates a resource policy enabling the Route 53 service to put\n DNS query logs in to the specified log group. Replace \"logArn\" with the ARN of your CloudWatch Logs resource, such as a log group or log stream.

                      \n

                      \n { \n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Sid\": \"Route53LogsToCloudWatchLogs\", \n \"Effect\": \"Allow\", \n \"Principal\": {\n \"Service\": [\n \"route53.amazonaws.com\"\n ]\n }, \n \"Action\":\"logs:PutLogEvents\", \n \"Resource\": \"logArn\"\n }\n ]\n} \n \n

                      " + "smithy.api#documentation": "

                      Details of the new policy, including the identity of the principal that is enabled to put logs to this account. This is formatted as a JSON string.\n This parameter is required.

                      \n

                      The following example creates a resource policy enabling the Route 53 service to put\n DNS query logs in to the specified log group. Replace \"logArn\" with the ARN of \n your CloudWatch Logs resource, such as a log group or log stream.

                      \n

                      CloudWatch Logs also supports aws:SourceArn\n and aws:SourceAccount\ncondition context keys.

                      \n

                      In the example resource policy, you would replace the value of SourceArn with the resource making the\n call from Route 53 to CloudWatch Logs and replace the value of SourceAccount with \n the Amazon Web Services account ID making that call.

                      \n

                      \n

                      \n {\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Sid\": \"Route53LogsToCloudWatchLogs\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"Service\": [\n \"route53.amazonaws.com\"\n ]\n },\n \"Action\": \"logs:PutLogEvents\",\n \"Resource\": \"logArn\",\n \"Condition\": {\n \"ArnLike\": {\n \"aws:SourceArn\": \"myRoute53ResourceArn\"\n },\n \"StringEquals\": {\n \"aws:SourceAccount\": \"myAwsAccountId\"\n }\n }\n }\n ]\n}\n \n

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

                      Creates or updates a subscription filter and associates it with the specified log\n group. Subscription filters allow you to subscribe to a real-time stream of log events\n ingested through PutLogEvents and have them delivered to a specific\n destination. When log events are sent to the \n receiving service, they are Base64 encoded\n and compressed with the gzip format.

                      \n

                      The following destinations are supported for subscription filters:

                      \n
                        \n
                      • \n

                        An Amazon Kinesis stream belonging to the same account as the subscription filter,\n for same-account delivery.

                        \n
                      • \n
                      • \n

                        A logical destination that belongs to a different account, for cross-account delivery.

                        \n
                      • \n
                      • \n

                        An Amazon Kinesis Firehose delivery stream that belongs to the same account as the\n subscription filter, for same-account delivery.

                        \n
                      • \n
                      • \n

                        An AWS Lambda function that belongs to the same account as the subscription filter,\n for same-account delivery.

                        \n
                      • \n
                      \n

                      Each log group can have up to two subscription filters associated with it. If you are\n updating an existing filter, you must specify the correct name in filterName.\n

                      \n

                      To perform a PutSubscriptionFilter operation, you must also have the \n iam:PassRole permission.

                      " + "smithy.api#documentation": "

                      Creates or updates a subscription filter and associates it with the specified log\n group. Subscription filters allow you to subscribe to a real-time stream of log events\n ingested through PutLogEvents and have them delivered to a specific\n destination. When log events are sent to the \n receiving service, they are Base64 encoded\n and compressed with the gzip format.

                      \n

                      The following destinations are supported for subscription filters:

                      \n
                        \n
                      • \n

                        An Amazon Kinesis stream belonging to the same account as the subscription filter,\n for same-account delivery.

                        \n
                      • \n
                      • \n

                        A logical destination that belongs to a different account, for cross-account delivery.

                        \n
                      • \n
                      • \n

                        An Amazon Kinesis Firehose delivery stream that belongs to the same account as the\n subscription filter, for same-account delivery.

                        \n
                      • \n
                      • \n

                        An Lambda function that belongs to the same account as the subscription filter,\n for same-account delivery.

                        \n
                      • \n
                      \n

                      Each log group can have up to two subscription filters associated with it. If you are\n updating an existing filter, you must specify the correct name in filterName.\n

                      \n

                      To perform a PutSubscriptionFilter operation, you must also have the \n iam:PassRole permission.

                      " } }, "com.amazonaws.cloudwatchlogs#PutSubscriptionFilterRequest": { @@ -3280,7 +3280,7 @@ "destinationArn": { "target": "com.amazonaws.cloudwatchlogs#DestinationArn", "traits": { - "smithy.api#documentation": "

                      The ARN of the destination to deliver matching log events to. Currently, the supported\n destinations are:

                      \n
                        \n
                      • \n

                        An Amazon Kinesis stream belonging to the same account as the subscription filter,\n for same-account delivery.

                        \n
                      • \n
                      • \n

                        A logical destination (specified using an ARN) belonging to a different account, \n for cross-account delivery.

                        \n

                        If you are setting up a cross-account subscription, the destination must have an \n IAM policy associated with it that allows the sender to send logs to the destination.\n For more information, see PutDestinationPolicy.

                        \n
                      • \n
                      • \n

                        An Amazon Kinesis Firehose delivery stream belonging to the same account as the\n subscription filter, for same-account delivery.

                        \n
                      • \n
                      • \n

                        An AWS Lambda function belonging to the same account as the subscription filter,\n for same-account delivery.

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

                      The ARN of the destination to deliver matching log events to. Currently, the supported\n destinations are:

                      \n
                        \n
                      • \n

                        An Amazon Kinesis stream belonging to the same account as the subscription filter,\n for same-account delivery.

                        \n
                      • \n
                      • \n

                        A logical destination (specified using an ARN) belonging to a different account, \n for cross-account delivery.

                        \n

                        If you are setting up a cross-account subscription, the destination must have an \n IAM policy associated with it that allows the sender to send logs to the destination.\n For more information, see PutDestinationPolicy.

                        \n
                      • \n
                      • \n

                        An Amazon Kinesis Firehose delivery stream belonging to the same account as the\n subscription filter, for same-account delivery.

                        \n
                      • \n
                      • \n

                        A Lambda function belonging to the same account as the subscription filter,\n for same-account delivery.

                        \n
                      • \n
                      ", "smithy.api#required": {} } }, @@ -4059,7 +4059,7 @@ } ], "traits": { - "smithy.api#documentation": "

                      Adds or updates the specified tags for the specified log group.

                      \n

                      To list the tags for a log group, use ListTagsLogGroup.\n To remove tags, use UntagLogGroup.

                      \n

                      For more information about tags, see Tag Log Groups in Amazon CloudWatch Logs\n in the Amazon CloudWatch Logs User Guide.

                      " + "smithy.api#documentation": "

                      Adds or updates the specified tags for the specified log group.

                      \n

                      To list the tags for a log group, use ListTagsLogGroup.\n To remove tags, use UntagLogGroup.

                      \n

                      For more information about tags, see Tag Log Groups in Amazon CloudWatch Logs\n in the Amazon CloudWatch Logs User Guide.

                      \n

                      CloudWatch Logs doesn’t support IAM policies that prevent users from assigning specified tags to \n log groups using the aws:Resource/key-name\n or aws:TagKeys condition keys. \n For more information about using tags to control access, see \n Controlling access to Amazon Web Services resources using tags.

                      " } }, "com.amazonaws.cloudwatchlogs#TagLogGroupRequest": { @@ -4195,7 +4195,7 @@ } }, "traits": { - "smithy.api#documentation": "

                      The most likely cause is an invalid AWS access key ID or secret key.

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

                      The most likely cause is an invalid Amazon Web Services access key ID or secret key.

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

                      Removes the specified tags from the specified log group.

                      \n

                      To list the tags for a log group, use ListTagsLogGroup.\n To add tags, use TagLogGroup.

                      " + "smithy.api#documentation": "

                      Removes the specified tags from the specified log group.

                      \n

                      To list the tags for a log group, use ListTagsLogGroup.\n To add tags, use TagLogGroup.

                      \n

                      CloudWatch Logs doesn’t support IAM policies that prevent users from assigning specified tags to \n log groups using the aws:Resource/key-name\n or aws:TagKeys condition keys. \n

                      " } }, "com.amazonaws.cloudwatchlogs#UntagLogGroupRequest": { diff --git a/codegen/sdk-codegen/aws-models/codebuild.2016-10-06.json b/codegen/sdk-codegen/aws-models/codebuild.2016-10-06.json index d33add9ee2ec..cb927100a799 100644 --- a/codegen/sdk-codegen/aws-models/codebuild.2016-10-06.json +++ b/codegen/sdk-codegen/aws-models/codebuild.2016-10-06.json @@ -4430,7 +4430,7 @@ "reportBuildStatus": { "target": "com.amazonaws.codebuild#WrapperBoolean", "traits": { - "smithy.api#documentation": "

                      Set to true to report the status of a build's start and finish to your source\n provider. This option is valid only when your source provider is GitHub, GitHub\n Enterprise, or Bitbucket. If this is set and you use a different source provider, an\n invalidInputException is thrown.

                      \n

                      To be able to report the build status to the source provider, the user associated with the source provider must\nhave write access to the repo. If the user does not have write access, the build status cannot be updated. For more information, see Source provider access in the CodeBuild User Guide.

                      \n \n

                      The status of a build triggered by a webhook is always reported to your source\n provider.

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

                      Set to true to report the status of a build's start and finish to your source\n provider. This option is valid only when your source provider is GitHub, GitHub\n Enterprise, or Bitbucket. If this is set and you use a different source provider, an\n invalidInputException is thrown.

                      \n

                      To be able to report the build status to the source provider, the user associated with the source provider must\nhave write access to the repo. If the user does not have write access, the build status cannot be updated. For more information, see Source provider access in the CodeBuild User Guide.

                      \n

                      The status of a build triggered by a webhook is always reported to your source\n provider.

                      \n

                      If your project's builds are triggered by a webhook, you must push a\n new commit to the repo for a change to this property to take\n effect.

                      " } }, "buildStatusConfig": { diff --git a/codegen/sdk-codegen/aws-models/config-service.2014-11-12.json b/codegen/sdk-codegen/aws-models/config-service.2014-11-12.json index cdea72dc8c21..612e8b531add 100644 --- a/codegen/sdk-codegen/aws-models/config-service.2014-11-12.json +++ b/codegen/sdk-codegen/aws-models/config-service.2014-11-12.json @@ -85,7 +85,7 @@ "com.amazonaws.configservice#AccountId": { "type": "string", "traits": { - "smithy.api#pattern": "\\d{12}" + "smithy.api#pattern": "^\\d{12}$" } }, "com.amazonaws.configservice#AggregateComplianceByConfigRule": { @@ -1345,7 +1345,7 @@ "min": 1, "max": 128 }, - "smithy.api#pattern": ".*\\S.*" + "smithy.api#pattern": "\\S" } }, "com.amazonaws.configservice#ConfigRuleNames": { @@ -1491,7 +1491,7 @@ "com.amazonaws.configservice#ConfigurationAggregatorArn": { "type": "string", "traits": { - "smithy.api#pattern": "arn:aws[a-z\\-]*:config:[a-z\\-\\d]+:\\d+:config-aggregator/config-aggregator-[a-z\\d]+" + "smithy.api#pattern": "^arn:aws[a-z\\-]*:config:[a-z\\-\\d]+:\\d+:config-aggregator/config-aggregator-[a-z\\d]+$" } }, "com.amazonaws.configservice#ConfigurationAggregatorList": { @@ -1507,7 +1507,7 @@ "min": 1, "max": 256 }, - "smithy.api#pattern": "[\\w\\-]+" + "smithy.api#pattern": "^[\\w\\-]+$" } }, "com.amazonaws.configservice#ConfigurationAggregatorNameList": { @@ -2080,7 +2080,7 @@ "min": 1, "max": 256 }, - "smithy.api#pattern": "[a-zA-Z][-a-zA-Z0-9]*" + "smithy.api#pattern": "^[a-zA-Z][-a-zA-Z0-9]*$" } }, "com.amazonaws.configservice#ConformancePackNamesList": { @@ -7523,7 +7523,7 @@ "min": 1, "max": 64 }, - "smithy.api#pattern": ".*\\S.*" + "smithy.api#pattern": "\\S" } }, "com.amazonaws.configservice#OrganizationConfigRuleNames": { @@ -7728,7 +7728,7 @@ "min": 1, "max": 128 }, - "smithy.api#pattern": "[a-zA-Z][-a-zA-Z0-9]*" + "smithy.api#pattern": "^[a-zA-Z][-a-zA-Z0-9]*$" } }, "com.amazonaws.configservice#OrganizationConformancePackNames": { @@ -9081,7 +9081,7 @@ "min": 0, "max": 256 }, - "smithy.api#pattern": "[\\s\\S]*" + "smithy.api#pattern": "^[\\s\\S]*$" } }, "com.amazonaws.configservice#QueryExpression": { @@ -9091,7 +9091,7 @@ "min": 1, "max": 4096 }, - "smithy.api#pattern": "[\\s\\S]*" + "smithy.api#pattern": "^[\\s\\S]*$" } }, "com.amazonaws.configservice#QueryId": { @@ -10271,6 +10271,50 @@ { "value": "AWS::SSM::FileData", "name": "FileData" + }, + { + "value": "AWS::Backup::BackupPlan", + "name": "BackupPlan" + }, + { + "value": "AWS::Backup::BackupSelection", + "name": "BackupSelection" + }, + { + "value": "AWS::Backup::BackupVault", + "name": "BackupVault" + }, + { + "value": "AWS::Backup::RecoveryPoint", + "name": "BackupRecoveryPoint" + }, + { + "value": "AWS::ECR::Repository", + "name": "ECRRepository" + }, + { + "value": "AWS::ECS::Cluster", + "name": "ECSCluster" + }, + { + "value": "AWS::ECS::Service", + "name": "ECSService" + }, + { + "value": "AWS::ECS::TaskDefinition", + "name": "ECSTaskDefinition" + }, + { + "value": "AWS::EFS::AccessPoint", + "name": "EFSAccessPoint" + }, + { + "value": "AWS::EFS::FileSystem", + "name": "EFSFileSystem" + }, + { + "value": "AWS::EKS::Cluster", + "name": "EKSCluster" } ] } @@ -10381,7 +10425,7 @@ "min": 1, "max": 256 }, - "smithy.api#pattern": "[\\w\\-]+" + "smithy.api#pattern": "^[\\w\\-]+$" } }, "com.amazonaws.configservice#RetentionConfigurationNameList": { @@ -10421,7 +10465,7 @@ "min": 1, "max": 128 }, - "smithy.api#pattern": "[A-Za-z0-9-]+" + "smithy.api#pattern": "^[A-Za-z0-9-]+$" } }, "com.amazonaws.configservice#Scope": { @@ -11511,7 +11555,7 @@ "min": 1, "max": 1024 }, - "smithy.api#pattern": "s3://.*" + "smithy.api#pattern": "^s3://" } }, "com.amazonaws.configservice#TooManyTagsException": { diff --git a/codegen/sdk-codegen/aws-models/cost-explorer.2017-10-25.json b/codegen/sdk-codegen/aws-models/cost-explorer.2017-10-25.json index 2ebd21ee7c78..250a93bd4be0 100644 --- a/codegen/sdk-codegen/aws-models/cost-explorer.2017-10-25.json +++ b/codegen/sdk-codegen/aws-models/cost-explorer.2017-10-25.json @@ -136,7 +136,7 @@ "name": "ce" }, "aws.protocols#awsJson1_1": {}, - "smithy.api#documentation": "

                      The Cost Explorer API enables you to programmatically query your cost and usage data. You can query for aggregated data \n\t\t\tsuch as total monthly costs or total daily usage. You can also query for granular data, such as the number of \n\t\t\tdaily write operations for Amazon DynamoDB database tables in your production environment.

                      \n\t\t

                      Service Endpoint

                      \n\t\t

                      The Cost Explorer API provides the following endpoint:

                      \n\t\t
                        \n
                      • \n\t\t\t\t

                        \n https://ce.us-east-1.amazonaws.com\n

                        \n\t\t\t
                      • \n
                      \n\t\t

                      For information about costs associated with the Cost Explorer API, see \n\t\t\tAWS Cost Management Pricing.

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

                      You can use the Cost Explorer API to programmatically query your cost and usage data. You\n can query for aggregated data such as total monthly costs or total daily usage. You can also\n query for granular data. This might include the number of daily write operations for Amazon\n DynamoDB database tables in your production environment.

                      \n\t\t

                      Service Endpoint

                      \n\t\t

                      The Cost Explorer API provides the following endpoint:

                      \n\t\t
                        \n
                      • \n\t\t\t\t

                        \n https://ce.us-east-1.amazonaws.com\n

                        \n\t\t\t
                      • \n
                      \n\t\t

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

                      ", "smithy.api#title": "AWS Cost Explorer Service" } }, @@ -173,64 +173,64 @@ "AnomalyId": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      \n The unique identifier for the anomaly.\n

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

                      The unique identifier for the anomaly.

                      ", "smithy.api#required": {} } }, "AnomalyStartDate": { "target": "com.amazonaws.costexplorer#YearMonthDay", "traits": { - "smithy.api#documentation": "

                      \n The first day the anomaly is detected.\n

                      " + "smithy.api#documentation": "

                      The first day the anomaly is detected.

                      " } }, "AnomalyEndDate": { "target": "com.amazonaws.costexplorer#YearMonthDay", "traits": { - "smithy.api#documentation": "

                      \n The last day the anomaly is detected.\n

                      " + "smithy.api#documentation": "

                      The last day the anomaly is detected.

                      " } }, "DimensionValue": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      \n The dimension for the anomaly. For example, an AWS service in a service monitor.\n

                      " + "smithy.api#documentation": "

                      The dimension for the anomaly (for example, an Amazon Web Services service in a service\n monitor).

                      " } }, "RootCauses": { "target": "com.amazonaws.costexplorer#RootCauses", "traits": { - "smithy.api#documentation": "

                      \n The list of identified root causes for the anomaly.\n

                      " + "smithy.api#documentation": "

                      The list of identified root causes for the anomaly.

                      " } }, "AnomalyScore": { "target": "com.amazonaws.costexplorer#AnomalyScore", "traits": { - "smithy.api#documentation": "

                      \n The latest and maximum score for the anomaly.\n

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

                      The latest and maximum score for the anomaly.

                      ", "smithy.api#required": {} } }, "Impact": { "target": "com.amazonaws.costexplorer#Impact", "traits": { - "smithy.api#documentation": "

                      \n The dollar impact for the anomaly.\n

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

                      The dollar impact for the anomaly.

                      ", "smithy.api#required": {} } }, "MonitorArn": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      The Amazon Resource Name (ARN) for the cost monitor that generated this anomaly.

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

                      The Amazon Resource Name (ARN) for the cost monitor that generated this anomaly.\n

                      ", "smithy.api#required": {} } }, "Feedback": { "target": "com.amazonaws.costexplorer#AnomalyFeedbackType", "traits": { - "smithy.api#documentation": "

                      \n The feedback value.\n

                      " + "smithy.api#documentation": "

                      The feedback value.

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

                      \n An unusual cost pattern. This consists of the detailed metadata and the current status of the anomaly object.\n

                      " + "smithy.api#documentation": "

                      An unusual cost pattern. This consists of the detailed metadata and the current status\n of the anomaly object.

                      " } }, "com.amazonaws.costexplorer#AnomalyDateInterval": { @@ -239,19 +239,19 @@ "StartDate": { "target": "com.amazonaws.costexplorer#YearMonthDay", "traits": { - "smithy.api#documentation": "

                      \n The first date an anomaly was observed.\n

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

                      The first date an anomaly was observed.

                      ", "smithy.api#required": {} } }, "EndDate": { "target": "com.amazonaws.costexplorer#YearMonthDay", "traits": { - "smithy.api#documentation": "

                      \n The last date an anomaly was observed.\n

                      " + "smithy.api#documentation": "

                      The last date an anomaly was observed.

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

                      \n The time period for an anomaly.\n

                      " + "smithy.api#documentation": "

                      The time period for an anomaly.

                      " } }, "com.amazonaws.costexplorer#AnomalyFeedbackType": { @@ -279,45 +279,45 @@ "MonitorArn": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      The Amazon Resource Name (ARN) value.

                      " + "smithy.api#documentation": "

                      The Amazon Resource Name (ARN) value.

                      " } }, "MonitorName": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      \n The name of the monitor.\n

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

                      The name of the monitor.

                      ", "smithy.api#required": {} } }, "CreationDate": { "target": "com.amazonaws.costexplorer#YearMonthDay", "traits": { - "smithy.api#documentation": "

                      \n The date when the monitor was created.\n

                      " + "smithy.api#documentation": "

                      The date when the monitor was created.

                      " } }, "LastUpdatedDate": { "target": "com.amazonaws.costexplorer#YearMonthDay", "traits": { - "smithy.api#documentation": "

                      \n The date when the monitor was last updated.\n

                      " + "smithy.api#documentation": "

                      The date when the monitor was last updated.

                      " } }, "LastEvaluatedDate": { "target": "com.amazonaws.costexplorer#YearMonthDay", "traits": { - "smithy.api#documentation": "

                      \n The date when the monitor last evaluated for anomalies.\n

                      " + "smithy.api#documentation": "

                      The date when the monitor last evaluated for anomalies.

                      " } }, "MonitorType": { "target": "com.amazonaws.costexplorer#MonitorType", "traits": { - "smithy.api#documentation": "

                      \n The possible type values.\n

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

                      The possible type values.

                      ", "smithy.api#required": {} } }, "MonitorDimension": { "target": "com.amazonaws.costexplorer#MonitorDimension", "traits": { - "smithy.api#documentation": "

                      \n The dimensions to evaluate.\n

                      " + "smithy.api#documentation": "

                      The dimensions to evaluate.

                      " } }, "MonitorSpecification": { @@ -326,12 +326,12 @@ "DimensionalValueCount": { "target": "com.amazonaws.costexplorer#NonNegativeInteger", "traits": { - "smithy.api#documentation": "

                      \n The value for evaluated dimensions.\n

                      " + "smithy.api#documentation": "

                      The value for evaluated dimensions.

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

                      This object continuously inspects your account's cost data for anomalies, based on\n MonitorType and MonitorSpecification. The content consists\n of detailed metadata and the current status of the monitor object.

                      " + "smithy.api#documentation": "

                      This object continuously inspects your account's cost data for anomalies. It's based\n on MonitorType and MonitorSpecification. The content consists\n of detailed metadata and the current status of the monitor object.

                      " } }, "com.amazonaws.costexplorer#AnomalyMonitors": { @@ -346,20 +346,20 @@ "MaxScore": { "target": "com.amazonaws.costexplorer#GenericDouble", "traits": { - "smithy.api#documentation": "

                      \n The maximum score observed during the AnomalyDateInterval.\n

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

                      The maximum score that's observed during the AnomalyDateInterval.

                      ", "smithy.api#required": {} } }, "CurrentScore": { "target": "com.amazonaws.costexplorer#GenericDouble", "traits": { - "smithy.api#documentation": "

                      \n The last observed score.\n

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

                      The last observed score.

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

                      Quantifies the anomaly. The higher score means that it is more anomalous.

                      " + "smithy.api#documentation": "

                      Quantifies the anomaly. The higher score means that it's more anomalous.

                      " } }, "com.amazonaws.costexplorer#AnomalySubscription": { @@ -368,53 +368,53 @@ "SubscriptionArn": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      The AnomalySubscription Amazon Resource Name (ARN).

                      " + "smithy.api#documentation": "

                      The AnomalySubscription Amazon Resource Name (ARN).

                      " } }, "AccountId": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      \n Your unique account identifier.\n

                      " + "smithy.api#documentation": "

                      Your unique account identifier.

                      " } }, "MonitorArnList": { "target": "com.amazonaws.costexplorer#MonitorArnList", "traits": { - "smithy.api#documentation": "

                      \n A list of cost anomaly monitors.\n

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

                      A list of cost anomaly monitors.

                      ", "smithy.api#required": {} } }, "Subscribers": { "target": "com.amazonaws.costexplorer#Subscribers", "traits": { - "smithy.api#documentation": "

                      \n A list of subscribers to notify.\n

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

                      A list of subscribers to notify.

                      ", "smithy.api#required": {} } }, "Threshold": { "target": "com.amazonaws.costexplorer#NullableNonNegativeDouble", "traits": { - "smithy.api#documentation": "

                      \n The dollar value that triggers a notification if the threshold is exceeded.\n

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

                      The dollar value that triggers a notification if the threshold is exceeded.

                      ", "smithy.api#required": {} } }, "Frequency": { "target": "com.amazonaws.costexplorer#AnomalySubscriptionFrequency", "traits": { - "smithy.api#documentation": "

                      \n The frequency at which anomaly reports are sent over email.\n

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

                      The frequency that anomaly reports are sent over email.

                      ", "smithy.api#required": {} } }, "SubscriptionName": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      \n The name for the subscription.\n

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

                      The name for the subscription.

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

                      \n The association between a monitor, threshold, and list of subscribers used to deliver notifications about anomalies detected by a monitor that exceeds a threshold. The content consists of the detailed metadata and the current status of the AnomalySubscription object.\n

                      " + "smithy.api#documentation": "

                      The association between a monitor, threshold, and list of subscribers used to deliver\n notifications about anomalies detected by a monitor that exceeds a threshold. The\n content consists of the detailed metadata and the current status of the\n AnomalySubscription object.

                      " } }, "com.amazonaws.costexplorer#AnomalySubscriptionFrequency": { @@ -449,7 +449,7 @@ "min": 20, "max": 2048 }, - "smithy.api#pattern": "arn:aws[-a-z0-9]*:[a-z0-9]+:[-a-z0-9]*:[0-9]{12}:[-a-zA-Z0-9/:_]+" + "smithy.api#pattern": "^arn:aws[-a-z0-9]*:[a-z0-9]+:[-a-z0-9]*:[0-9]{12}:[-a-zA-Z0-9/:_]+$" } }, "com.amazonaws.costexplorer#AttributeType": { @@ -504,21 +504,21 @@ "CostCategoryArn": { "target": "com.amazonaws.costexplorer#Arn", "traits": { - "smithy.api#documentation": "

                      \n The unique identifier for your Cost Category.\n

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

                      The unique identifier for your Cost Category.

                      ", "smithy.api#required": {} } }, "EffectiveStart": { "target": "com.amazonaws.costexplorer#ZonedDateTime", "traits": { - "smithy.api#documentation": "

                      \n The Cost Category's effective start date.

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

                      The effective state data of your Cost Category.

                      ", "smithy.api#required": {} } }, "EffectiveEnd": { "target": "com.amazonaws.costexplorer#ZonedDateTime", "traits": { - "smithy.api#documentation": "

                      \n The Cost Category's effective end date.

                      " + "smithy.api#documentation": "

                      The effective end data of your Cost Category.

                      " } }, "Name": { @@ -536,14 +536,20 @@ "Rules": { "target": "com.amazonaws.costexplorer#CostCategoryRulesList", "traits": { - "smithy.api#documentation": "

                      \n Rules are processed in order. If there are multiple rules that match the line item, then the first rule to match is used to determine that Cost Category value.\n

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

                      The rules are processed in order. If there are multiple rules that match the line\n item, then the first rule to match is used to determine that Cost Category value.\n

                      ", "smithy.api#required": {} } }, + "SplitChargeRules": { + "target": "com.amazonaws.costexplorer#CostCategorySplitChargeRulesList", + "traits": { + "smithy.api#documentation": "

                      The split charge rules that are used to allocate your charges between your Cost\n Category values.

                      " + } + }, "ProcessingStatus": { "target": "com.amazonaws.costexplorer#CostCategoryProcessingStatusList", "traits": { - "smithy.api#documentation": "

                      \n The list of processing statuses for Cost Management products for a specific cost category.\n

                      " + "smithy.api#documentation": "

                      The list of processing statuses for Cost Management products for a specific cost\n category.

                      " } }, "DefaultValue": { @@ -551,7 +557,7 @@ } }, "traits": { - "smithy.api#documentation": "

                      The structure of Cost Categories. This includes detailed metadata and the set of rules for the CostCategory object.

                      " + "smithy.api#documentation": "

                      The structure of Cost Categories. This includes detailed metadata and the set of rules\n for the CostCategory object.

                      " } }, "com.amazonaws.costexplorer#CostCategoryInheritedValueDimension": { @@ -560,7 +566,7 @@ "DimensionName": { "target": "com.amazonaws.costexplorer#CostCategoryInheritedValueDimensionName", "traits": { - "smithy.api#documentation": "

                      The name of dimension for which to group costs.

                      \n\t

                      If you specify LINKED_ACCOUNT_NAME, the cost category value will be based on account name. If you specify TAG, the cost category value will be based on the value of the specified tag key.

                      " + "smithy.api#documentation": "

                      The name of the dimension that's used to group costs.

                      \n

                      If you specify LINKED_ACCOUNT_NAME, the cost category value is based on\n account name. If you specify TAG, the cost category value will be based on\n the value of the specified tag key.

                      " } }, "DimensionKey": { @@ -571,7 +577,7 @@ } }, "traits": { - "smithy.api#documentation": "

                      When creating or updating a cost category, you can define the CostCategoryRule rule type as INHERITED_VALUE. This rule type adds the flexibility of defining a rule that dynamically inherits the cost category value from the dimension value defined by CostCategoryInheritedValueDimension. For example, if you wanted to dynamically group costs based on the value of a specific tag key, you would first choose an inherited value rule type, then choose the tag dimension and specify the tag key to use.

                      " + "smithy.api#documentation": "

                      When creating or updating a cost category, you can define the\n CostCategoryRule rule type as INHERITED_VALUE. This rule\n type adds the flexibility of defining a rule that dynamically inherits the cost category\n value from the dimension value defined by\n CostCategoryInheritedValueDimension. For example, if you want to\n dynamically group costs that are based on the value of a specific tag key, first choose\n an inherited value rule type, then choose the tag dimension and specify the tag key to\n use.

                      " } }, "com.amazonaws.costexplorer#CostCategoryInheritedValueDimensionName": { @@ -621,18 +627,18 @@ "Component": { "target": "com.amazonaws.costexplorer#CostCategoryStatusComponent", "traits": { - "smithy.api#documentation": "

                      \n The Cost Management product name of the applied status.\n

                      " + "smithy.api#documentation": "

                      The Cost Management product name of the applied status.

                      " } }, "Status": { "target": "com.amazonaws.costexplorer#CostCategoryStatus", "traits": { - "smithy.api#documentation": "

                      \n The process status for a specific cost category.\n

                      " + "smithy.api#documentation": "

                      The process status for a specific cost category.

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

                      \n The list of processing statuses for Cost Management products for a specific cost category.\n

                      " + "smithy.api#documentation": "

                      The list of processing statuses for Cost Management products for a specific cost\n category.

                      " } }, "com.amazonaws.costexplorer#CostCategoryProcessingStatusList": { @@ -647,7 +653,7 @@ "CostCategoryArn": { "target": "com.amazonaws.costexplorer#Arn", "traits": { - "smithy.api#documentation": "

                      \n The unique identifier for your Cost Category.\n

                      " + "smithy.api#documentation": "

                      The unique identifier for your Cost Category.

                      " } }, "Name": { @@ -656,31 +662,31 @@ "EffectiveStart": { "target": "com.amazonaws.costexplorer#ZonedDateTime", "traits": { - "smithy.api#documentation": "

                      \n The Cost Category's effective start date.

                      " + "smithy.api#documentation": "

                      The Cost Category's effective start date.

                      " } }, "EffectiveEnd": { "target": "com.amazonaws.costexplorer#ZonedDateTime", "traits": { - "smithy.api#documentation": "

                      \n The Cost Category's effective end date.

                      " + "smithy.api#documentation": "

                      The Cost Category's effective end date.

                      " } }, "NumberOfRules": { "target": "com.amazonaws.costexplorer#NonNegativeInteger", "traits": { - "smithy.api#documentation": "

                      \n The number of rules associated with a specific Cost Category.\n

                      " + "smithy.api#documentation": "

                      The number of rules that are associated with a specific Cost Category.

                      " } }, "ProcessingStatus": { "target": "com.amazonaws.costexplorer#CostCategoryProcessingStatusList", "traits": { - "smithy.api#documentation": "

                      \n The list of processing statuses for Cost Management products for a specific cost category.\n

                      " + "smithy.api#documentation": "

                      The list of processing statuses for Cost Management products for a specific cost\n category.

                      " } }, "Values": { "target": "com.amazonaws.costexplorer#CostCategoryValuesList", "traits": { - "smithy.api#documentation": "

                      \n A list of unique cost category values in a specific cost category.\n

                      " + "smithy.api#documentation": "

                      A list of unique cost category values in a specific cost category.

                      " } }, "DefaultValue": { @@ -688,7 +694,7 @@ } }, "traits": { - "smithy.api#documentation": "

                      A reference to a Cost Category containing only enough information to identify the Cost Category.

                      \n

                      You can use this information to retrieve the full Cost Category information using DescribeCostCategory.

                      " + "smithy.api#documentation": "

                      A reference to a Cost Category containing only enough information to identify the Cost\n Category.

                      \n

                      You can use this information to retrieve the full Cost Category information using\n DescribeCostCategory.

                      " } }, "com.amazonaws.costexplorer#CostCategoryReferencesList": { @@ -706,24 +712,24 @@ "Rule": { "target": "com.amazonaws.costexplorer#Expression", "traits": { - "smithy.api#documentation": "

                      An Expression\n object used to categorize costs. This supports dimensions, tags, and nested expressions.\n Currently the only dimensions supported are LINKED_ACCOUNT,\n SERVICE_CODE, RECORD_TYPE, and\n LINKED_ACCOUNT_NAME.

                      \n

                      Root level OR is not supported. We recommend that you create a separate\n rule instead.

                      \n \n

                      \n RECORD_TYPE is a dimension used for Cost Explorer APIs, and is also\n supported for Cost Category expressions. This dimension uses different terms, depending\n on whether you're using the console or API/JSON editor. For a detailed comparison, see\n Term Comparisons in the AWS Billing and Cost Management User\n Guide.

                      " + "smithy.api#documentation": "

                      An Expression\n object used to categorize costs. This supports dimensions, tags, and nested expressions.\n Currently the only dimensions supported are LINKED_ACCOUNT,\n SERVICE_CODE, RECORD_TYPE, and\n LINKED_ACCOUNT_NAME.

                      \n

                      Root level OR isn't supported. We recommend that you create a separate\n rule instead.

                      \n

                      \n RECORD_TYPE is a dimension used for Cost Explorer APIs, and is also\n supported for Cost Category expressions. This dimension uses different terms, depending\n on whether you're using the console or API/JSON editor. For a detailed comparison, see\n Term Comparisons in the Billing and Cost Management User\n Guide.

                      " } }, "InheritedValue": { "target": "com.amazonaws.costexplorer#CostCategoryInheritedValueDimension", "traits": { - "smithy.api#documentation": "

                      The value the line item will be categorized as, if the line item contains the matched dimension.

                      " + "smithy.api#documentation": "

                      The value the line item is categorized as if the line item contains the matched\n dimension.

                      " } }, "Type": { "target": "com.amazonaws.costexplorer#CostCategoryRuleType", "traits": { - "smithy.api#documentation": "

                      You can define the CostCategoryRule rule type as either REGULAR or INHERITED_VALUE. The INHERITED_VALUE rule type adds the flexibility of defining a rule that dynamically inherits the cost category value from the dimension value defined by CostCategoryInheritedValueDimension. For example, if you wanted to dynamically group costs based on the value of a specific tag key, you would first choose an inherited value rule type, then choose the tag dimension and specify the tag key to use.

                      " + "smithy.api#documentation": "

                      You can define the CostCategoryRule rule type as either\n REGULAR or INHERITED_VALUE. The\n INHERITED_VALUE rule type adds the flexibility of defining a rule that\n dynamically inherits the cost category value from the dimension value defined by\n CostCategoryInheritedValueDimension. For example, if you want to\n dynamically group costs based on the value of a specific tag key, first choose an\n inherited value rule type, then choose the tag dimension and specify the tag key to\n use.

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

                      Rules are processed in order. If there are multiple rules that match the line item, then the first rule to match is used to determine that Cost Category value.

                      " + "smithy.api#documentation": "

                      Rules are processed in order. If there are multiple rules that match the line item,\n then the first rule to match is used to determine that Cost Category value.

                      " } }, "com.amazonaws.costexplorer#CostCategoryRuleType": { @@ -765,6 +771,141 @@ } } }, + "com.amazonaws.costexplorer#CostCategorySplitChargeMethod": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "FIXED", + "name": "FIXED" + }, + { + "value": "PROPORTIONAL", + "name": "PROPORTIONAL" + }, + { + "value": "EVEN", + "name": "EVEN" + } + ] + } + }, + "com.amazonaws.costexplorer#CostCategorySplitChargeRule": { + "type": "structure", + "members": { + "Source": { + "target": "com.amazonaws.costexplorer#GenericString", + "traits": { + "smithy.api#documentation": "

                      The Cost Category value that you want to split. That value can't be used as a source\n or a target in other split charge rules. To indicate uncategorized costs, you can use an empty string as the source.

                      ", + "smithy.api#required": {} + } + }, + "Targets": { + "target": "com.amazonaws.costexplorer#CostCategorySplitChargeRuleTargetsList", + "traits": { + "smithy.api#documentation": "

                      The Cost Category values that you want to split costs across. These values can't be\n used as a source in other split charge rules.

                      ", + "smithy.api#required": {} + } + }, + "Method": { + "target": "com.amazonaws.costexplorer#CostCategorySplitChargeMethod", + "traits": { + "smithy.api#documentation": "

                      The method that's used to define how to split your source costs across your targets.

                      \n

                      \n Proportional - Allocates charges across your targets based on the\n proportional weighted cost of each target.

                      \n

                      \n Fixed - Allocates charges across your targets based on your defined\n allocation percentage.

                      \n

                      >Even - Allocates costs evenly across all targets.

                      ", + "smithy.api#required": {} + } + }, + "Parameters": { + "target": "com.amazonaws.costexplorer#CostCategorySplitChargeRuleParametersList", + "traits": { + "smithy.api#documentation": "

                      The parameters for a split charge method. This is only required for the\n FIXED method.

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

                      Use the split charge rule to split the cost of one Cost Category value across several\n other target values.

                      " + } + }, + "com.amazonaws.costexplorer#CostCategorySplitChargeRuleParameter": { + "type": "structure", + "members": { + "Type": { + "target": "com.amazonaws.costexplorer#CostCategorySplitChargeRuleParameterType", + "traits": { + "smithy.api#documentation": "

                      The parameter type.

                      ", + "smithy.api#required": {} + } + }, + "Values": { + "target": "com.amazonaws.costexplorer#CostCategorySplitChargeRuleParameterValuesList", + "traits": { + "smithy.api#documentation": "

                      The parameter values.

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

                      The parameters for a split charge method.

                      " + } + }, + "com.amazonaws.costexplorer#CostCategorySplitChargeRuleParameterType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "ALLOCATION_PERCENTAGES", + "name": "ALLOCATION_PERCENTAGES" + } + ] + } + }, + "com.amazonaws.costexplorer#CostCategorySplitChargeRuleParameterValuesList": { + "type": "list", + "member": { + "target": "com.amazonaws.costexplorer#GenericString" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 500 + } + } + }, + "com.amazonaws.costexplorer#CostCategorySplitChargeRuleParametersList": { + "type": "list", + "member": { + "target": "com.amazonaws.costexplorer#CostCategorySplitChargeRuleParameter" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 10 + } + } + }, + "com.amazonaws.costexplorer#CostCategorySplitChargeRuleTargetsList": { + "type": "list", + "member": { + "target": "com.amazonaws.costexplorer#GenericString" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 500 + } + } + }, + "com.amazonaws.costexplorer#CostCategorySplitChargeRulesList": { + "type": "list", + "member": { + "target": "com.amazonaws.costexplorer#CostCategorySplitChargeRule" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 10 + } + } + }, "com.amazonaws.costexplorer#CostCategoryStatus": { "type": "string", "traits": { @@ -794,7 +935,7 @@ "com.amazonaws.costexplorer#CostCategoryValue": { "type": "string", "traits": { - "smithy.api#documentation": "

                      The default value for the cost category.

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

                      The\n default value for the cost category.

                      ", "smithy.api#length": { "min": 1, "max": 50 @@ -817,12 +958,12 @@ "MatchOptions": { "target": "com.amazonaws.costexplorer#MatchOptions", "traits": { - "smithy.api#documentation": "

                      \n The match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is EQUALS and CASE_SENSITIVE.\n

                      " + "smithy.api#documentation": "

                      The match options that you can use to filter your results. MatchOptions is only\n applicable for actions related to cost category. The default values for\n MatchOptions is EQUALS and CASE_SENSITIVE.\n

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

                      The Cost Categories values used for filtering the costs.

                      \n\t\t

                      If Values and Key are not specified, the ABSENT \n MatchOption is applied to all Cost Categories. That is, filtering on resources that are not mapped to any Cost Categories.

                      \n

                      If Values is provided and Key is not specified, the ABSENT \n MatchOption is applied to the Cost Categories Key only. That is, filtering on resources without the given Cost Categories key.

                      " + "smithy.api#documentation": "

                      The Cost Categories values used for filtering the costs.

                      \n

                      If Values and Key are not specified, the ABSENT\n MatchOption is applied to all Cost Categories. That is, it filters on\n resources that aren't mapped to any Cost Categories.

                      \n

                      If Values is provided and Key isn't specified, the\n ABSENT\n MatchOption is applied to the Cost Categories Key only. That\n is, it filters on resources without the given Cost Categories key.

                      " } }, "com.amazonaws.costexplorer#CostCategoryValuesList": { @@ -843,7 +984,7 @@ "CoverageNormalizedUnits": { "target": "com.amazonaws.costexplorer#CoverageNormalizedUnits", "traits": { - "smithy.api#documentation": "

                      The amount of instance usage that the reservation covered, in normalized\n units.

                      " + "smithy.api#documentation": "

                      The amount of instance usage that the reservation covered, in normalized units.

                      " } }, "CoverageCost": { @@ -880,7 +1021,7 @@ } }, "traits": { - "smithy.api#documentation": "

                      Reservation\n coverage for a specified period, in\n hours.

                      " + "smithy.api#documentation": "

                      Reservation coverage for a specified period, in hours.

                      " } }, "com.amazonaws.costexplorer#CoverageCost": { @@ -961,7 +1102,7 @@ } }, "traits": { - "smithy.api#documentation": "

                      The amount of instance usage, in normalized units. Normalized units enable you to\n see your EC2 usage for multiple sizes of instances in a uniform way. For example,\n suppose you run an xlarge instance and a 2xlarge instance. If you run both instances for\n the same amount of time, the 2xlarge instance uses twice as much of your reservation as\n the xlarge instance, even though both instances show only one instance-hour. Using\n normalized units instead of instance-hours, the xlarge instance used 8 normalized units,\n and the 2xlarge instance used 16 normalized units.

                      \n

                      For more information, see Modifying Reserved Instances in the Amazon Elastic Compute Cloud User Guide for\n Linux Instances.

                      " + "smithy.api#documentation": "

                      The amount of instance usage, in normalized units. You can use normalized units to see\n your EC2 usage for multiple sizes of instances in a uniform way. For example, suppose\n that you run an xlarge instance and a 2xlarge instance. If you run both instances for\n the same amount of time, the 2xlarge instance uses twice as much of your reservation as\n the xlarge instance, even though both instances show only one instance-hour. When you\n use normalized units instead of instance-hours, the xlarge instance used 8 normalized\n units, and the 2xlarge instance used 16 normalized units.

                      \n

                      For more information, see Modifying Reserved Instances\n in the Amazon Elastic Compute Cloud User Guide for Linux\n Instances.

                      " } }, "com.amazonaws.costexplorer#CoverageNormalizedUnitsPercentage": { @@ -996,7 +1137,7 @@ "AnomalyMonitor": { "target": "com.amazonaws.costexplorer#AnomalyMonitor", "traits": { - "smithy.api#documentation": "

                      The cost anomaly detection monitor object that you want to create.

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

                      The cost anomaly detection monitor object that you want to create.

                      ", "smithy.api#required": {} } } @@ -1008,7 +1149,7 @@ "MonitorArn": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      The unique identifier of your newly created cost anomaly detection monitor.

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

                      The unique identifier of your newly created cost anomaly detection monitor.

                      ", "smithy.api#required": {} } } @@ -1040,7 +1181,7 @@ "AnomalySubscription": { "target": "com.amazonaws.costexplorer#AnomalySubscription", "traits": { - "smithy.api#documentation": "

                      \n The cost anomaly subscription object that you want to create.\n

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

                      The cost anomaly subscription object that you want to create.

                      ", "smithy.api#required": {} } } @@ -1052,7 +1193,7 @@ "SubscriptionArn": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      \n The unique identifier of your newly created cost anomaly subscription.\n

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

                      The unique identifier of your newly created cost anomaly subscription.

                      ", "smithy.api#required": {} } } @@ -1102,6 +1243,12 @@ }, "DefaultValue": { "target": "com.amazonaws.costexplorer#CostCategoryValue" + }, + "SplitChargeRules": { + "target": "com.amazonaws.costexplorer#CostCategorySplitChargeRulesList", + "traits": { + "smithy.api#documentation": "

                      \n The split charge rules used to allocate your charges between your Cost Category values.\n

                      " + } } } }, @@ -1134,61 +1281,61 @@ "InstanceName": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      The name you've given an instance. This field will show as blank if you haven't given the instance a name.

                      " + "smithy.api#documentation": "

                      The name that you given an instance. This field shows as blank if you haven't given\n the instance a name.

                      " } }, "Tags": { "target": "com.amazonaws.costexplorer#TagValuesList", "traits": { - "smithy.api#documentation": "

                      Cost allocation resource tags applied to the instance.

                      " + "smithy.api#documentation": "

                      Cost allocation resource tags that are applied to the instance.

                      " } }, "ResourceDetails": { "target": "com.amazonaws.costexplorer#ResourceDetails", "traits": { - "smithy.api#documentation": "

                      Details about the resource and utilization.

                      " + "smithy.api#documentation": "

                      Details about the resource and utilization.

                      " } }, "ResourceUtilization": { "target": "com.amazonaws.costexplorer#ResourceUtilization", "traits": { - "smithy.api#documentation": "

                      Utilization information of the current instance during the lookback period.

                      " + "smithy.api#documentation": "

                      Utilization information of the current instance during the lookback period.

                      " } }, "ReservationCoveredHoursInLookbackPeriod": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      Number of hours during the lookback period covered by reservations.

                      " + "smithy.api#documentation": "

                      The number of hours during the lookback period that's covered by reservations.

                      " } }, "SavingsPlansCoveredHoursInLookbackPeriod": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      Number of hours during the lookback period covered by Savings Plans.

                      " + "smithy.api#documentation": "

                      The number of hours during the lookback period that's covered by Savings Plans.

                      " } }, "OnDemandHoursInLookbackPeriod": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      Number of hours during the lookback period billed at On-Demand rates.

                      " + "smithy.api#documentation": "

                      The number of hours during the lookback period that's billed at On-Demand\n rates.

                      " } }, "TotalRunningHoursInLookbackPeriod": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      The total number of hours the instance ran during the lookback period.

                      " + "smithy.api#documentation": "

                      The total number of hours that the instance ran during the lookback period.

                      " } }, "MonthlyCost": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      Current On-Demand cost of operating this instance on a monthly basis.

                      " + "smithy.api#documentation": "

                      The current On-Demand cost of operating this instance on a monthly basis.

                      " } }, "CurrencyCode": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      The currency code that AWS used to calculate the costs for this instance.

                      " + "smithy.api#documentation": "

                      The currency code that Amazon Web Services used to calculate the costs for this\n instance.

                      " } } }, @@ -1214,20 +1361,20 @@ "Start": { "target": "com.amazonaws.costexplorer#YearMonthDay", "traits": { - "smithy.api#documentation": "

                      The beginning of the time period. The start\n date is inclusive. For example, if start is 2017-01-01, AWS\n retrieves cost and usage data starting at 2017-01-01 up to the end\n date. The start date must be equal to or no later than the current date to avoid a validation error.

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

                      The beginning of the time period. The start date is inclusive. For example, if\n start is 2017-01-01, Amazon Web Services retrieves cost and\n usage data starting at 2017-01-01 up to the end date. The start date must\n be equal to or no later than the current date to avoid a validation error.

                      ", "smithy.api#required": {} } }, "End": { "target": "com.amazonaws.costexplorer#YearMonthDay", "traits": { - "smithy.api#documentation": "

                      The end of the time period. The end date is\n exclusive. For example, if end is 2017-05-01, AWS retrieves\n cost and usage data from the start date up to, but not including,\n 2017-05-01.

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

                      The end of the time period. The end date is exclusive. For example, if\n end is 2017-05-01, Amazon Web Services retrieves cost and\n usage data from the start date up to, but not including, 2017-05-01.

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

                      The time period of the request.\n

                      " + "smithy.api#documentation": "

                      The time period of the request.

                      " } }, "com.amazonaws.costexplorer#DeleteAnomalyMonitor": { @@ -1256,7 +1403,7 @@ "MonitorArn": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      The unique identifier of the cost anomaly monitor that you want to delete.

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

                      The unique identifier of the cost anomaly monitor that you want to delete.

                      ", "smithy.api#required": {} } } @@ -1292,7 +1439,7 @@ "SubscriptionArn": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      The unique identifier of the cost anomaly subscription that you want to delete.

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

                      The unique identifier of the cost anomaly subscription that you want to delete.

                      ", "smithy.api#required": {} } } @@ -1534,7 +1681,7 @@ "Key": { "target": "com.amazonaws.costexplorer#Dimension", "traits": { - "smithy.api#documentation": "

                      The names of the metadata types that you can use to filter and group your results.\n For example, AZ returns a list of Availability Zones.

                      " + "smithy.api#documentation": "

                      The names of the metadata types that you can use to filter and group your results. For\n example, AZ returns a list of Availability Zones.

                      " } }, "Values": { @@ -1546,7 +1693,7 @@ "MatchOptions": { "target": "com.amazonaws.costexplorer#MatchOptions", "traits": { - "smithy.api#documentation": "

                      The match options that you can use to filter your results.\n MatchOptions is only applicable for actions related to Cost Category.\n The default values for MatchOptions are EQUALS and\n CASE_SENSITIVE.

                      " + "smithy.api#documentation": "

                      The match options that you can use to filter your results. MatchOptions\n is only applicable for actions related to Cost Category. The default values for\n MatchOptions are EQUALS and\n CASE_SENSITIVE.

                      " } } }, @@ -1571,7 +1718,7 @@ } }, "traits": { - "smithy.api#documentation": "

                      The metadata of a specific type that you can use to filter and group your results.\n You can use GetDimensionValues to find specific values.

                      " + "smithy.api#documentation": "

                      The metadata of a specific type that you can use to filter and group your results. You\n can use GetDimensionValues to find specific values.

                      " } }, "com.amazonaws.costexplorer#DimensionValuesWithAttributesList": { @@ -1586,30 +1733,30 @@ "DiskReadOpsPerSecond": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      \n The maximum number of read operations per second.\n

                      " + "smithy.api#documentation": "

                      The maximum number of read operations per second.

                      " } }, "DiskWriteOpsPerSecond": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      \n The maximum number of write operations per second.\n

                      " + "smithy.api#documentation": "

                      The maximum number of write operations per second.

                      " } }, "DiskReadBytesPerSecond": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      \n The maximum read throughput operations per second.\n

                      " + "smithy.api#documentation": "

                      The maximum read throughput operations per second.

                      " } }, "DiskWriteBytesPerSecond": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      \n The maximum write throughput operations per second.\n

                      " + "smithy.api#documentation": "

                      The maximum write throughput operations per second.

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

                      \n The field that contains a list of disk (local storage) metrics associated with the current instance.\n

                      " + "smithy.api#documentation": "

                      The field that contains a list of disk (local storage) metrics that are associated\n with the current instance.

                      " } }, "com.amazonaws.costexplorer#EBSResourceUtilization": { @@ -1618,30 +1765,30 @@ "EbsReadOpsPerSecond": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      \n The maximum number of read operations per second.\n

                      " + "smithy.api#documentation": "

                      The maximum number of read operations per second.

                      " } }, "EbsWriteOpsPerSecond": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      \n The maximum number of write operations per second.\n

                      " + "smithy.api#documentation": "

                      The maximum number of write operations per second.

                      " } }, "EbsReadBytesPerSecond": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      \n The maximum size of read operations per second\n

                      " + "smithy.api#documentation": "

                      The maximum size of read operations per second

                      " } }, "EbsWriteBytesPerSecond": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      \n The maximum size of write operations per second.\n

                      " + "smithy.api#documentation": "

                      The maximum size of write operations per second.

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

                      \n The EBS field that contains a list of EBS metrics associated with the current instance.\n

                      " + "smithy.api#documentation": "

                      The EBS field that contains a list of EBS metrics that are associated with the current\n instance.

                      " } }, "com.amazonaws.costexplorer#EC2InstanceDetails": { @@ -1656,13 +1803,13 @@ "InstanceType": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      The type of instance that AWS recommends.

                      " + "smithy.api#documentation": "

                      The type of instance that Amazon Web Services recommends.

                      " } }, "Region": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      The AWS Region of the recommended reservation.

                      " + "smithy.api#documentation": "

                      The Amazon Web Services Region of the recommended reservation.

                      " } }, "AvailabilityZone": { @@ -1674,30 +1821,30 @@ "Platform": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      The platform of the recommended reservation. The platform is the specific\n combination of operating system, license model, and software on an instance.

                      " + "smithy.api#documentation": "

                      The platform of the recommended reservation. The platform is the specific combination\n of operating system, license model, and software on an instance.

                      " } }, "Tenancy": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      Whether the recommended reservation is dedicated or shared.

                      " + "smithy.api#documentation": "

                      Determines whether the recommended reservation is dedicated or shared.

                      " } }, "CurrentGeneration": { "target": "com.amazonaws.costexplorer#GenericBoolean", "traits": { - "smithy.api#documentation": "

                      Whether the recommendation is for a current-generation instance.

                      " + "smithy.api#documentation": "

                      Determines whether the recommendation is for a current-generation instance.

                      " } }, "SizeFlexEligible": { "target": "com.amazonaws.costexplorer#GenericBoolean", "traits": { - "smithy.api#documentation": "

                      Whether the recommended reservation is size flexible.

                      " + "smithy.api#documentation": "

                      Determines whether the recommended reservation is size flexible.

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

                      Details about the Amazon EC2 instances that AWS recommends that you purchase.

                      " + "smithy.api#documentation": "

                      Details about the Amazon EC2 instances that Amazon Web Services recommends that you\n purchase.

                      " } }, "com.amazonaws.costexplorer#EC2ResourceDetails": { @@ -1706,60 +1853,60 @@ "HourlyOnDemandRate": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      Hourly public On-Demand rate for the instance type.

                      " + "smithy.api#documentation": "

                      The hourly public On-Demand rate for the instance type.

                      " } }, "InstanceType": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      The type of AWS instance.

                      " + "smithy.api#documentation": "

                      The type of Amazon Web Services instance.

                      " } }, "Platform": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      The platform of the AWS instance. The platform is the specific combination of\n operating system, license model, and software on an instance.

                      " + "smithy.api#documentation": "

                      The platform of the Amazon Web Services instance. The platform is the specific\n combination of operating system, license model, and software on an instance.

                      " } }, "Region": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      The AWS Region of the instance.

                      " + "smithy.api#documentation": "

                      The Amazon Web Services Region of the instance.

                      " } }, "Sku": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      The SKU of the product.

                      " + "smithy.api#documentation": "

                      The SKU of the product.

                      " } }, "Memory": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      Memory capacity of the AWS instance.

                      " + "smithy.api#documentation": "

                      The memory capacity of the Amazon Web Services instance.

                      " } }, "NetworkPerformance": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      Network performance capacity of the AWS instance.

                      " + "smithy.api#documentation": "

                      The network performance capacity of the Amazon Web Services instance.

                      " } }, "Storage": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      The disk storage of the AWS instance (not EBS storage).

                      " + "smithy.api#documentation": "

                      The disk storage of the Amazon Web Services instance. This doesn't include EBS\n storage.

                      " } }, "Vcpu": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      Number of VCPU cores in the AWS instance type.

                      " + "smithy.api#documentation": "

                      The number of VCPU cores in the Amazon Web Services instance type.

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

                      Details on the Amazon EC2 Resource.

                      " + "smithy.api#documentation": "

                      Details on the Amazon EC2 Resource.

                      " } }, "com.amazonaws.costexplorer#EC2ResourceUtilization": { @@ -1768,42 +1915,42 @@ "MaxCpuUtilizationPercentage": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      Maximum observed or expected CPU utilization of the instance.

                      " + "smithy.api#documentation": "

                      The maximum observed or expected CPU utilization of the instance.

                      " } }, "MaxMemoryUtilizationPercentage": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      Maximum observed or expected memory utilization of the instance.

                      " + "smithy.api#documentation": "

                      The maximum observed or expected memory utilization of the instance.

                      " } }, "MaxStorageUtilizationPercentage": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      Maximum observed or expected storage utilization of the instance (does not measure EBS storage).

                      " + "smithy.api#documentation": "

                      The maximum observed or expected storage utilization of the instance. This doesn't\n include EBS storage.

                      " } }, "EBSResourceUtilization": { "target": "com.amazonaws.costexplorer#EBSResourceUtilization", "traits": { - "smithy.api#documentation": "

                      \n The EBS field that contains a list of EBS metrics associated with the current instance.\n

                      " + "smithy.api#documentation": "

                      The EBS field that contains a list of EBS metrics that are associated with the current\n instance.

                      " } }, "DiskResourceUtilization": { "target": "com.amazonaws.costexplorer#DiskResourceUtilization", "traits": { - "smithy.api#documentation": "

                      \n The field that contains a list of disk (local storage) metrics associated with the current instance.\n

                      " + "smithy.api#documentation": "

                      The field that contains a list of disk (local storage) metrics that are associated\n with the current instance.

                      " } }, "NetworkResourceUtilization": { "target": "com.amazonaws.costexplorer#NetworkResourceUtilization", "traits": { - "smithy.api#documentation": "

                      \n The network field that contains a list of network metrics associated with the current instance.\n

                      " + "smithy.api#documentation": "

                      The network field that contains a list of network metrics that are associated with\n the current instance.

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

                      Utilization metrics of the instance.

                      " + "smithy.api#documentation": "

                      Utilization metrics of the instance.

                      " } }, "com.amazonaws.costexplorer#EC2Specification": { @@ -1812,12 +1959,12 @@ "OfferingClass": { "target": "com.amazonaws.costexplorer#OfferingClass", "traits": { - "smithy.api#documentation": "

                      Whether you want a recommendation for standard or convertible\n reservations.

                      " + "smithy.api#documentation": "

                      Indicates whether you want a recommendation for standard or convertible\n reservations.

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

                      The Amazon EC2 hardware specifications that you want AWS to provide recommendations\n for.

                      " + "smithy.api#documentation": "

                      The Amazon EC2 hardware specifications that you want Amazon Web Services to provide\n recommendations for.

                      " } }, "com.amazonaws.costexplorer#ESInstanceDetails": { @@ -1826,36 +1973,36 @@ "InstanceClass": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      The class of instance that AWS recommends.

                      " + "smithy.api#documentation": "

                      The class of instance that Amazon Web Services recommends.

                      " } }, "InstanceSize": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      The size of instance that AWS recommends.

                      " + "smithy.api#documentation": "

                      The size of instance that Amazon Web Services recommends.

                      " } }, "Region": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      The AWS Region of the recommended reservation.

                      " + "smithy.api#documentation": "

                      The Amazon Web Services Region of the recommended reservation.

                      " } }, "CurrentGeneration": { "target": "com.amazonaws.costexplorer#GenericBoolean", "traits": { - "smithy.api#documentation": "

                      Whether the recommendation is for a current-generation instance.

                      " + "smithy.api#documentation": "

                      Determines whether the recommendation is for a current-generation instance.

                      " } }, "SizeFlexEligible": { "target": "com.amazonaws.costexplorer#GenericBoolean", "traits": { - "smithy.api#documentation": "

                      Whether the recommended reservation is size flexible.

                      " + "smithy.api#documentation": "

                      Determines whether the recommended reservation is size flexible.

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

                      Details about the Amazon ES instances that AWS recommends that you\n purchase.

                      " + "smithy.api#documentation": "

                      Details about the Amazon ES instances that Amazon Web Services recommends that you\n purchase.

                      " } }, "com.amazonaws.costexplorer#ElastiCacheInstanceDetails": { @@ -1870,13 +2017,13 @@ "NodeType": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      The type of node that AWS recommends.

                      " + "smithy.api#documentation": "

                      The type of node that Amazon Web Services recommends.

                      " } }, "Region": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      The AWS Region of the recommended reservation.

                      " + "smithy.api#documentation": "

                      The Amazon Web Services Region of the recommended reservation.

                      " } }, "ProductDescription": { @@ -1888,18 +2035,18 @@ "CurrentGeneration": { "target": "com.amazonaws.costexplorer#GenericBoolean", "traits": { - "smithy.api#documentation": "

                      Whether the recommendation is for a current generation instance.

                      " + "smithy.api#documentation": "

                      Determines whether the recommendation is for a current generation instance.

                      " } }, "SizeFlexEligible": { "target": "com.amazonaws.costexplorer#GenericBoolean", "traits": { - "smithy.api#documentation": "

                      Whether the recommended reservation is size flexible.

                      " + "smithy.api#documentation": "

                      Determines whether the recommended reservation is size flexible.

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

                      Details about the Amazon ElastiCache instances that AWS recommends that you\n purchase.

                      " + "smithy.api#documentation": "

                      Details about the Amazon ElastiCache instances that Amazon Web Services recommends that\n you purchase.

                      " } }, "com.amazonaws.costexplorer#Entity": { @@ -1947,12 +2094,12 @@ "CostCategories": { "target": "com.amazonaws.costexplorer#CostCategoryValues", "traits": { - "smithy.api#documentation": "

                      The filter based on CostCategory values.

                      " + "smithy.api#documentation": "

                      The filter that's based on CostCategory values.

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

                      Use Expression to filter by cost or by usage. There are two patterns:

                      \n
                        \n
                      • \n

                        Simple dimension values - You can set the dimension name and values for the\n filters that you plan to use. For example, you can filter for\n REGION==us-east-1 OR REGION==us-west-1. For GetRightsizingRecommendation, the Region is a full name (for example, REGION==US East (N. Virginia). The\n Expression example looks like:

                        \n

                        \n { \"Dimensions\": { \"Key\": \"REGION\", \"Values\": [ \"us-east-1\",\n “us-west-1” ] } }\n

                        \n

                        The list of dimension values are OR'd together to retrieve cost or usage\n data. You can create Expression and DimensionValues\n objects using either with* methods or set* methods in\n multiple lines.

                        \n
                      • \n
                      • \n

                        Compound dimension values with logical operations - You can use multiple\n Expression types and the logical operators\n AND/OR/NOT to create a list of one or more\n Expression objects. This allows you to filter on more advanced\n options. For example, you can filter on ((REGION == us-east-1 OR\n REGION == us-west-1) OR (TAG.Type == Type1)) AND (USAGE_TYPE !=\n DataTransfer). The Expression for that looks like\n this:

                        \n

                        \n { \"And\": [ {\"Or\": [ {\"Dimensions\": { \"Key\": \"REGION\",\n \"Values\": [ \"us-east-1\", \"us-west-1\" ] }}, {\"Tags\": { \"Key\": \"TagName\",\n \"Values\": [\"Value1\"] } } ]}, {\"Not\": {\"Dimensions\": { \"Key\": \"USAGE_TYPE\",\n \"Values\": [\"DataTransfer\"] }}} ] } \n

                        \n \n

                        Because each Expression can have only one operator, the\n service returns an error if more than one is specified. The following\n example shows an Expression object that creates an\n error.

                        \n
                        \n

                        \n { \"And\": [ ... ], \"DimensionValues\": { \"Dimension\": \"USAGE_TYPE\",\n \"Values\": [ \"DataTransfer\" ] } } \n

                        \n
                      • \n
                      \n \n

                      For the GetRightsizingRecommendation action, a combination of OR and NOT is not\n supported. OR is not supported between different dimensions, or dimensions and tags.\n NOT operators aren't supported.\n Dimensions\n are also limited to LINKED_ACCOUNT, REGION, or\n RIGHTSIZING_TYPE.

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

                      For the GetReservationPurchaseRecommendation action, only NOT is supported. AND and OR are not supported. Dimensions are limited to LINKED_ACCOUNT.

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

                      Use Expression to filter by cost or by usage. There are two patterns:

                      \n
                        \n
                      • \n

                        Simple dimension values - You can set the dimension name and values for the\n filters that you plan to use. For example, you can filter for\n REGION==us-east-1 OR REGION==us-west-1. For\n GetRightsizingRecommendation, the Region is a full name (for\n example, REGION==US East (N. Virginia). The Expression\n example is as follows:

                        \n

                        \n { \"Dimensions\": { \"Key\": \"REGION\", \"Values\": [ \"us-east-1\", “us-west-1” ]\n } }\n

                        \n

                        The list of dimension values are OR'd together to retrieve cost or usage data.\n You can create Expression and DimensionValues objects\n using either with* methods or set* methods in multiple\n lines.

                        \n
                      • \n
                      • \n

                        Compound dimension values with logical operations - You can use multiple\n Expression types and the logical operators\n AND/OR/NOT to create a list of one or more\n Expression objects. By doing this, you can filter on more\n advanced options. For example, you can filter on ((REGION == us-east-1 OR\n REGION == us-west-1) OR (TAG.Type == Type1)) AND (USAGE_TYPE !=\n DataTransfer). The Expression for that is as\n follows:

                        \n

                        \n { \"And\": [ {\"Or\": [ {\"Dimensions\": { \"Key\": \"REGION\", \"Values\": [\n \"us-east-1\", \"us-west-1\" ] }}, {\"Tags\": { \"Key\": \"TagName\", \"Values\":\n [\"Value1\"] } } ]}, {\"Not\": {\"Dimensions\": { \"Key\": \"USAGE_TYPE\", \"Values\":\n [\"DataTransfer\"] }}} ] } \n

                        \n \n

                        Because each Expression can have only one operator, the\n service returns an error if more than one is specified. The following\n example shows an Expression object that creates an\n error.

                        \n
                        \n

                        \n { \"And\": [ ... ], \"DimensionValues\": { \"Dimension\": \"USAGE_TYPE\",\n \"Values\": [ \"DataTransfer\" ] } } \n

                        \n
                      • \n
                      \n \n

                      For the GetRightsizingRecommendation action, a combination of OR and\n NOT isn't supported. OR isn't supported between different dimensions, or dimensions\n and tags. NOT operators aren't supported. Dimensions are also limited to\n LINKED_ACCOUNT, REGION, or\n RIGHTSIZING_TYPE.

                      \n

                      For the GetReservationPurchaseRecommendation action, only NOT is\n supported. AND and OR aren't supported. Dimensions are limited to\n LINKED_ACCOUNT.

                      \n
                      " } }, "com.amazonaws.costexplorer#Expressions": { @@ -2067,7 +2214,7 @@ } }, "traits": { - "smithy.api#documentation": "

                      The forecast created for your query.

                      " + "smithy.api#documentation": "

                      The forecast that's created for your query.

                      " } }, "com.amazonaws.costexplorer#ForecastResultsByTime": { @@ -2089,7 +2236,7 @@ "min": 0, "max": 1024 }, - "smithy.api#pattern": "[\\S\\s]*" + "smithy.api#pattern": "^[\\S\\s]*$" } }, "com.amazonaws.costexplorer#GetAnomalies": { @@ -2109,7 +2256,7 @@ } ], "traits": { - "smithy.api#documentation": "

                      Retrieves all of the cost anomalies detected on your account, during the time period\n specified by the DateInterval object.

                      " + "smithy.api#documentation": "

                      Retrieves all of the cost anomalies detected on your account during the time period that's\n specified by the DateInterval object.

                      " } }, "com.amazonaws.costexplorer#GetAnomaliesRequest": { @@ -2143,13 +2290,13 @@ "NextPageToken": { "target": "com.amazonaws.costexplorer#NextPageToken", "traits": { - "smithy.api#documentation": "

                      \n The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size.\n

                      " + "smithy.api#documentation": "

                      The token to retrieve the next set of results. Amazon Web Services provides the token when\n the response from a previous call has more results than the maximum page size.

                      " } }, "MaxResults": { "target": "com.amazonaws.costexplorer#PageSize", "traits": { - "smithy.api#documentation": "

                      \n The number of entries a paginated response contains.\n

                      " + "smithy.api#documentation": "

                      The number of entries a paginated response contains.

                      " } } } @@ -2160,14 +2307,14 @@ "Anomalies": { "target": "com.amazonaws.costexplorer#Anomalies", "traits": { - "smithy.api#documentation": "

                      \n A list of cost anomalies.\n

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

                      A list of cost anomalies.

                      ", "smithy.api#required": {} } }, "NextPageToken": { "target": "com.amazonaws.costexplorer#NextPageToken", "traits": { - "smithy.api#documentation": "

                      \n The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size.\n

                      " + "smithy.api#documentation": "

                      The token to retrieve the next set of results. Amazon Web Services provides the token when\n the response from a previous call has more results than the maximum page size.

                      " } } } @@ -2201,19 +2348,19 @@ "MonitorArnList": { "target": "com.amazonaws.costexplorer#Values", "traits": { - "smithy.api#documentation": "

                      \n A list of cost anomaly monitor ARNs.\n

                      " + "smithy.api#documentation": "

                      A list of cost anomaly monitor ARNs.

                      " } }, "NextPageToken": { "target": "com.amazonaws.costexplorer#NextPageToken", "traits": { - "smithy.api#documentation": "

                      \n The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size.\n

                      " + "smithy.api#documentation": "

                      The token to retrieve the next set of results. Amazon Web Services provides the token when\n the response from a previous call has more results than the maximum page size.

                      " } }, "MaxResults": { "target": "com.amazonaws.costexplorer#PageSize", "traits": { - "smithy.api#documentation": "

                      \n The number of entries a paginated response contains.\n

                      " + "smithy.api#documentation": "

                      The number of entries that a paginated response contains.

                      " } } } @@ -2224,14 +2371,14 @@ "AnomalyMonitors": { "target": "com.amazonaws.costexplorer#AnomalyMonitors", "traits": { - "smithy.api#documentation": "

                      \n A list of cost anomaly monitors that includes the detailed metadata for each monitor.\n

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

                      A list of cost anomaly monitors that includes the detailed metadata for each monitor.

                      ", "smithy.api#required": {} } }, "NextPageToken": { "target": "com.amazonaws.costexplorer#NextPageToken", "traits": { - "smithy.api#documentation": "

                      \n The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size.\n

                      " + "smithy.api#documentation": "

                      The token to retrieve the next set of results. Amazon Web Services provides the token when\n the response from a previous call has more results than the maximum page size.

                      " } } } @@ -2265,25 +2412,25 @@ "SubscriptionArnList": { "target": "com.amazonaws.costexplorer#Values", "traits": { - "smithy.api#documentation": "

                      \n A list of cost anomaly subscription ARNs.\n

                      " + "smithy.api#documentation": "

                      A list of cost anomaly subscription ARNs.

                      " } }, "MonitorArn": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      \n Cost anomaly monitor ARNs.\n

                      " + "smithy.api#documentation": "

                      Cost anomaly monitor ARNs.

                      " } }, "NextPageToken": { "target": "com.amazonaws.costexplorer#NextPageToken", "traits": { - "smithy.api#documentation": "

                      \n The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size.\n

                      " + "smithy.api#documentation": "

                      The token to retrieve the next set of results. Amazon Web Services provides the token when\n the response from a previous call has more results than the maximum page size.

                      " } }, "MaxResults": { "target": "com.amazonaws.costexplorer#PageSize", "traits": { - "smithy.api#documentation": "

                      \n The number of entries a paginated response contains.\n

                      " + "smithy.api#documentation": "

                      The number of entries a paginated response contains.

                      " } } } @@ -2294,14 +2441,14 @@ "AnomalySubscriptions": { "target": "com.amazonaws.costexplorer#AnomalySubscriptions", "traits": { - "smithy.api#documentation": "

                      \n A list of cost anomaly subscriptions that includes the detailed metadata for each one.\n

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

                      A list of cost anomaly subscriptions that includes the detailed metadata for each one.

                      ", "smithy.api#required": {} } }, "NextPageToken": { "target": "com.amazonaws.costexplorer#NextPageToken", "traits": { - "smithy.api#documentation": "

                      \n The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size.\n

                      " + "smithy.api#documentation": "

                      The token to retrieve the next set of results. Amazon Web Services provides the token when\n the response from a previous call has more results than the maximum page size.

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

                      Retrieves cost and usage metrics for your account. You can specify which cost and usage-related metric, such as \n\t\t\tBlendedCosts or UsageQuantity, that you want the request to return. You can also filter and group \n\t\t\tyour data by various dimensions, such as SERVICE or AZ, in a specific time range. For a complete list \n\t\t\tof valid dimensions, see the \n\t\t\tGetDimensionValues \n\t\t operation. Management account in an organization in AWS Organizations have access to all member accounts.

                      \n\t

                      For information about filter limitations, see Quotas and restrictions in the Billing and Cost Management User Guide.

                      " + "smithy.api#documentation": "

                      Retrieves cost and usage metrics for your account. You can specify which cost and\n usage-related metric that you want the request to return. For example, you can specify\n BlendedCosts or UsageQuantity. You can also filter and group your\n data by various dimensions, such as SERVICE or AZ, in a specific\n time range. For a complete list of valid dimensions, see the GetDimensionValues operation. Management account in an organization in Organizations have access to all member accounts.

                      \n\t

                      For information about filter limitations, see Quotas and restrictions in the Billing and Cost Management User Guide.

                      " } }, "com.amazonaws.costexplorer#GetCostAndUsageRequest": { @@ -2341,40 +2488,40 @@ "TimePeriod": { "target": "com.amazonaws.costexplorer#DateInterval", "traits": { - "smithy.api#documentation": "

                      Sets the start and end dates for retrieving AWS costs. The start date is inclusive, but the end date is exclusive. For example, if start is 2017-01-01 and end is 2017-05-01, then the cost and usage data is \n retrieved from 2017-01-01 up to and including 2017-04-30 but not including 2017-05-01.

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

                      Sets the start date and end date for retrieving Amazon Web Services costs. The start date\n is inclusive, but the end date is exclusive. For example, if start is\n 2017-01-01 and end is 2017-05-01, then the cost and\n usage data is retrieved from 2017-01-01 up to and including\n 2017-04-30 but not including 2017-05-01.

                      ", "smithy.api#required": {} } }, "Granularity": { "target": "com.amazonaws.costexplorer#Granularity", "traits": { - "smithy.api#documentation": "

                      Sets the AWS cost granularity to MONTHLY or DAILY, or HOURLY. If Granularity isn't set, \n\t the response object doesn't include the Granularity, either MONTHLY or DAILY, or HOURLY.

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

                      Sets the Amazon Web Services cost granularity to MONTHLY or DAILY, or HOURLY. If Granularity isn't set, \n\t the response object doesn't include the Granularity, either MONTHLY or DAILY, or HOURLY.

                      ", "smithy.api#required": {} } }, "Filter": { "target": "com.amazonaws.costexplorer#Expression", "traits": { - "smithy.api#documentation": "

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

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

                      " } }, "Metrics": { "target": "com.amazonaws.costexplorer#MetricNames", "traits": { - "smithy.api#documentation": "

                      Which metrics are returned in the query. For more information about blended and unblended rates, see \n\t\t\tWhy does the \"blended\" annotation \n\t\t\t\tappear on some line items in my bill?.

                      \n\t\t

                      Valid values are AmortizedCost, BlendedCost, NetAmortizedCost, \n\t\t\tNetUnblendedCost, NormalizedUsageAmount, UnblendedCost, and UsageQuantity.

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

                      If you return the UsageQuantity metric, the service aggregates all usage numbers without \n\t\t\t\ttaking into account the units. For example, if you aggregate usageQuantity across all of Amazon EC2, \n\t\t\t\tthe results aren't meaningful because Amazon EC2 compute hours and data transfer are measured in different units \n\t\t\t\t(for example, hours vs. GB). To get more meaningful UsageQuantity metrics, filter by UsageType or \n\t\t\t\tUsageTypeGroups.

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

                      \n Metrics is required for GetCostAndUsage requests.

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

                      Which metrics are returned in the query. For more information about blended and unblended rates, see \n\t\t\tWhy does the \"blended\" annotation \n\t\t\t\tappear on some line items in my bill?.

                      \n\t\t

                      Valid values are AmortizedCost, BlendedCost, NetAmortizedCost, \n\t\t\tNetUnblendedCost, NormalizedUsageAmount, UnblendedCost, and UsageQuantity.

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

                      If you return the UsageQuantity metric, the service aggregates all usage\n numbers without taking into account the units. For example, if you aggregate\n usageQuantity across all of Amazon EC2, the results aren't meaningful because\n Amazon EC2 compute hours and data transfer are measured in different units (for example,\n hours and GB). To get more meaningful UsageQuantity metrics, filter by\n UsageType or UsageTypeGroups.

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

                      \n Metrics is required for GetCostAndUsage requests.

                      ", "smithy.api#required": {} } }, "GroupBy": { "target": "com.amazonaws.costexplorer#GroupDefinitions", "traits": { - "smithy.api#documentation": "

                      You can group AWS costs using up to two different groups, either dimensions, tag keys,\n cost categories, or any two group by types.

                      \n\t\t

                      When you group by tag key, you get all tag values, including empty strings.

                      \n\t\t

                      Valid values are AZ, INSTANCE_TYPE, LEGAL_ENTITY_NAME, LINKED_ACCOUNT, \n\t\t\tOPERATION, PLATFORM, PURCHASE_TYPE, SERVICE, TAGS, \n\t\t TENANCY, RECORD_TYPE, and USAGE_TYPE.

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

                      " } }, "NextPageToken": { "target": "com.amazonaws.costexplorer#NextPageToken", "traits": { - "smithy.api#documentation": "

                      The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size.

                      " + "smithy.api#documentation": "

                      The token to retrieve the next set of results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.

                      " } } } @@ -2385,7 +2532,7 @@ "NextPageToken": { "target": "com.amazonaws.costexplorer#NextPageToken", "traits": { - "smithy.api#documentation": "

                      The token for the next set of retrievable results. AWS provides the token when the response from a previous call has more results than the maximum page size.

                      " + "smithy.api#documentation": "

                      The token for the next set of retrievable results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.

                      " } }, "GroupDefinitions": { @@ -2397,7 +2544,7 @@ "ResultsByTime": { "target": "com.amazonaws.costexplorer#ResultsByTime", "traits": { - "smithy.api#documentation": "

                      The time period that is covered by the results in the response.

                      " + "smithy.api#documentation": "

                      The time period that's covered by the results in the response.

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

                      Retrieves cost and usage metrics with resources for your account. You can specify which cost and\n\t usage-related metric, such as BlendedCosts or UsageQuantity, that\n\t you want the request to return. You can also filter and group your data by various dimensions,\n\t such as SERVICE or AZ, in a specific time range. For a complete list\n\t of valid dimensions, see the GetDimensionValues operation. Management account in an organization in AWS\n\t Organizations have access to all member accounts. This API is currently available for the Amazon Elastic Compute Cloud – Compute service only.

                      \n\t \n

                      This is an opt-in only feature. You can enable this feature from the Cost Explorer Settings page. For information on how to access the Settings page, see Controlling Access for Cost Explorer in the AWS Billing and Cost Management User Guide.

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

                      Retrieves cost and usage metrics with resources for your account. You can specify which cost and\n\t usage-related metric, such as BlendedCosts or UsageQuantity, that\n\t you want the request to return. You can also filter and group your data by various dimensions,\n\t such as SERVICE or AZ, in a specific time range. For a complete list\n\t of valid dimensions, see the GetDimensionValues operation. Management account in an organization in Organizations have access to all member accounts. This API is currently available for the Amazon Elastic Compute Cloud – Compute service only.

                      \n\t \n

                      This is an opt-in only feature. You can enable this feature from the Cost Explorer Settings page. For information on how to access the Settings page, see Controlling Access for Cost Explorer in the Billing and Cost Management User Guide.

                      \n
                      " } }, "com.amazonaws.costexplorer#GetCostAndUsageWithResourcesRequest": { @@ -2450,7 +2597,7 @@ "Granularity": { "target": "com.amazonaws.costexplorer#Granularity", "traits": { - "smithy.api#documentation": "

                      Sets the AWS cost granularity to MONTHLY, DAILY, or HOURLY. If\n\t Granularity isn't set, the response object doesn't include the\n\t Granularity, MONTHLY, DAILY, or HOURLY.

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

                      Sets the Amazon Web Services cost granularity to MONTHLY, DAILY, or HOURLY. If\n\t Granularity isn't set, the response object doesn't include the\n\t Granularity, MONTHLY, DAILY, or HOURLY.

                      ", "smithy.api#required": {} } }, @@ -2476,7 +2623,7 @@ "NextPageToken": { "target": "com.amazonaws.costexplorer#NextPageToken", "traits": { - "smithy.api#documentation": "

                      The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size.

                      " + "smithy.api#documentation": "

                      The token to retrieve the next set of results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.

                      " } } } @@ -2487,7 +2634,7 @@ "NextPageToken": { "target": "com.amazonaws.costexplorer#NextPageToken", "traits": { - "smithy.api#documentation": "

                      The token for the next set of retrievable results. AWS provides the token when the response from a previous call has more results than the maximum page size.

                      " + "smithy.api#documentation": "

                      The token for the next set of retrievable results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.

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

                      Retrieves an array of Cost Category names and values incurred cost.

                      \n\t \n

                      If some Cost Category names and values are not associated with any cost, they will not be returned by this API.

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

                      Retrieves an array of Cost Category names and values incurred cost.

                      \n \n

                      If some Cost Category names and values are not associated with any cost, they will not be returned by this API.

                      \n
                      " } }, "com.amazonaws.costexplorer#GetCostCategoriesRequest": { @@ -2545,7 +2692,7 @@ "SearchString": { "target": "com.amazonaws.costexplorer#SearchString", "traits": { - "smithy.api#documentation": "

                      The value that you want to search the filter values for.

                      \n\t

                      If you do not specify a CostCategoryName, SearchString will be used to filter Cost Category names that match the SearchString pattern. If you do specifiy a CostCategoryName, SearchString will be used to filter Cost Category values that match the SearchString pattern.

                      " + "smithy.api#documentation": "

                      The value that you want to search the filter values for.

                      \n

                      If you do not specify a CostCategoryName, SearchString will be used to filter Cost Category names that match the SearchString pattern. If you do specifiy a CostCategoryName, SearchString will be used to filter Cost Category values that match the SearchString pattern.

                      " } }, "TimePeriod": { @@ -2563,19 +2710,19 @@ "SortBy": { "target": "com.amazonaws.costexplorer#SortDefinitions", "traits": { - "smithy.api#documentation": "

                      The value by which you want to sort the data.

                      \n\t

                      The key represents cost and usage metrics. The following values are supported:

                      \n
                        \n
                      • \n

                        \n BlendedCost\n

                        \n
                      • \n
                      • \n

                        \n UnblendedCost\n

                        \n
                      • \n
                      • \n

                        \n AmortizedCost\n

                        \n
                      • \n
                      • \n

                        \n NetAmortizedCost\n

                        \n
                      • \n
                      • \n

                        \n NetUnblendedCost\n

                        \n
                      • \n
                      • \n

                        \n UsageQuantity\n

                        \n
                      • \n
                      • \n

                        \n NormalizedUsageAmount\n

                        \n
                      • \n
                      \n

                      Supported values for SortOrder are ASCENDING or DESCENDING.

                      \n

                      When using SortBy, NextPageToken and SearchString are not supported.

                      " + "smithy.api#documentation": "

                      The value by which you want to sort the data.

                      \n

                      The key represents cost and usage metrics. The following values are supported:

                      \n
                        \n
                      • \n

                        \n BlendedCost\n

                        \n
                      • \n
                      • \n

                        \n UnblendedCost\n

                        \n
                      • \n
                      • \n

                        \n AmortizedCost\n

                        \n
                      • \n
                      • \n

                        \n NetAmortizedCost\n

                        \n
                      • \n
                      • \n

                        \n NetUnblendedCost\n

                        \n
                      • \n
                      • \n

                        \n UsageQuantity\n

                        \n
                      • \n
                      • \n

                        \n NormalizedUsageAmount\n

                        \n
                      • \n
                      \n

                      Supported values for SortOrder are ASCENDING or DESCENDING.

                      \n

                      When using SortBy, NextPageToken and SearchString are not supported.

                      " } }, "MaxResults": { "target": "com.amazonaws.costexplorer#MaxResults", "traits": { - "smithy.api#documentation": "

                      This field is only used when SortBy is provided in the request.

                      \n\t

                      The maximum number of objects that to be returned for this request. If MaxResults is not specified with SortBy, the request will return 1000 results as the default value for this parameter.

                      \n\t

                      For GetCostCategories, MaxResults has an upper limit of 1000.

                      " + "smithy.api#documentation": "

                      This field is only used when SortBy is provided in the request.

                      \n

                      The maximum number of objects that to be returned for this request. If MaxResults is not specified with SortBy, the request will return 1000 results as the default value for this parameter.

                      \n

                      For GetCostCategories, MaxResults has an upper limit of 1000.

                      " } }, "NextPageToken": { "target": "com.amazonaws.costexplorer#NextPageToken", "traits": { - "smithy.api#documentation": "

                      If the number of objects that are still available for retrieval exceeds the limit, AWS returns a NextPageToken value in the response. To retrieve the next batch of objects, provide the NextPageToken from the prior call in your next request.

                      " + "smithy.api#documentation": "

                      If the number of objects that are still available for retrieval exceeds the limit, Amazon Web Services returns a NextPageToken value in the response. To retrieve the next batch of objects, provide the NextPageToken from the prior call in your next request.

                      " } } } @@ -2586,7 +2733,7 @@ "NextPageToken": { "target": "com.amazonaws.costexplorer#NextPageToken", "traits": { - "smithy.api#documentation": "

                      If the number of objects that are still available for retrieval exceeds the limit, AWS returns a NextPageToken value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.

                      " + "smithy.api#documentation": "

                      If the number of objects that are still available for retrieval exceeds the limit, Amazon Web Services returns a NextPageToken value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.

                      " } }, "CostCategoryNames": { @@ -2598,7 +2745,7 @@ "CostCategoryValues": { "target": "com.amazonaws.costexplorer#CostCategoryValuesList", "traits": { - "smithy.api#documentation": "

                      The Cost Category values.

                      \n\t

                      \n CostCategoryValues are not returned if CostCategoryName is not specified in the request.

                      " + "smithy.api#documentation": "

                      The Cost Category values.

                      \n

                      \n CostCategoryValues are not returned if CostCategoryName is not specified in the request.

                      " } }, "ReturnSize": { @@ -2664,7 +2811,7 @@ "Filter": { "target": "com.amazonaws.costexplorer#Expression", "traits": { - "smithy.api#documentation": "

                      The filters that you want to use to filter your forecast. The GetCostForecast API supports filtering by the following dimensions:

                      \n\t\t \n\t
                        \n
                      • \n

                        \n AZ\n

                        \n
                      • \n
                      • \n

                        \n INSTANCE_TYPE\n

                        \n
                      • \n
                      • \n

                        \n LINKED_ACCOUNT\n

                        \n
                      • \n
                      • \n

                        \n LINKED_ACCOUNT_NAME\n

                        \n
                      • \n
                      • \n

                        \n OPERATION\n

                        \n
                      • \n
                      • \n

                        \n PURCHASE_TYPE\n

                        \n
                      • \n
                      • \n

                        \n REGION\n

                        \n
                      • \n
                      • \n

                        \n SERVICE\n

                        \n
                      • \n
                      • \n

                        \n USAGE_TYPE\n

                        \n
                      • \n
                      • \n

                        \n USAGE_TYPE_GROUP\n

                        \n
                      • \n
                      • \n

                        \n RECORD_TYPE\n

                        \n
                      • \n
                      • \n

                        \n OPERATING_SYSTEM\n

                        \n
                      • \n
                      • \n

                        \n TENANCY\n

                        \n
                      • \n
                      • \n

                        \n SCOPE\n

                        \n
                      • \n
                      • \n

                        \n PLATFORM\n

                        \n
                      • \n
                      • \n

                        \n SUBSCRIPTION_ID\n

                        \n
                      • \n
                      • \n

                        \n LEGAL_ENTITY_NAME\n

                        \n
                      • \n
                      • \n

                        \n DEPLOYMENT_OPTION\n

                        \n
                      • \n
                      • \n

                        \n DATABASE_ENGINE\n

                        \n
                      • \n
                      • \n

                        \n INSTANCE_TYPE_FAMILY\n

                        \n
                      • \n
                      • \n

                        \n BILLING_ENTITY\n

                        \n
                      • \n
                      • \n

                        \n RESERVATION_ID\n

                        \n
                      • \n
                      • \n

                        \n SAVINGS_PLAN_ARN\n

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

                      The filters that you want to use to filter your forecast. The GetCostForecast API supports filtering by the following dimensions:

                      \n\t\t\n\t
                        \n
                      • \n

                        \n AZ\n

                        \n
                      • \n
                      • \n

                        \n INSTANCE_TYPE\n

                        \n
                      • \n
                      • \n

                        \n LINKED_ACCOUNT\n

                        \n
                      • \n
                      • \n

                        \n LINKED_ACCOUNT_NAME\n

                        \n
                      • \n
                      • \n

                        \n OPERATION\n

                        \n
                      • \n
                      • \n

                        \n PURCHASE_TYPE\n

                        \n
                      • \n
                      • \n

                        \n REGION\n

                        \n
                      • \n
                      • \n

                        \n SERVICE\n

                        \n
                      • \n
                      • \n

                        \n USAGE_TYPE\n

                        \n
                      • \n
                      • \n

                        \n USAGE_TYPE_GROUP\n

                        \n
                      • \n
                      • \n

                        \n RECORD_TYPE\n

                        \n
                      • \n
                      • \n

                        \n OPERATING_SYSTEM\n

                        \n
                      • \n
                      • \n

                        \n TENANCY\n

                        \n
                      • \n
                      • \n

                        \n SCOPE\n

                        \n
                      • \n
                      • \n

                        \n PLATFORM\n

                        \n
                      • \n
                      • \n

                        \n SUBSCRIPTION_ID\n

                        \n
                      • \n
                      • \n

                        \n LEGAL_ENTITY_NAME\n

                        \n
                      • \n
                      • \n

                        \n DEPLOYMENT_OPTION\n

                        \n
                      • \n
                      • \n

                        \n DATABASE_ENGINE\n

                        \n
                      • \n
                      • \n

                        \n INSTANCE_TYPE_FAMILY\n

                        \n
                      • \n
                      • \n

                        \n BILLING_ENTITY\n

                        \n
                      • \n
                      • \n

                        \n RESERVATION_ID\n

                        \n
                      • \n
                      • \n

                        \n SAVINGS_PLAN_ARN\n

                        \n
                      • \n
                      " } }, "PredictionIntervalLevel": { @@ -2733,7 +2880,7 @@ "TimePeriod": { "target": "com.amazonaws.costexplorer#DateInterval", "traits": { - "smithy.api#documentation": "

                      The start and end dates for retrieving the dimension values. The start date is inclusive, but the end date is exclusive. For example, if start is 2017-01-01 and end is 2017-05-01, then the cost and usage data is \n retrieved from 2017-01-01 up to and including 2017-04-30 but not including 2017-05-01.

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

                      The start date and end date for retrieving the dimension values. The start date is\n inclusive, but the end date is exclusive. For example, if start is\n 2017-01-01 and end is 2017-05-01, then the cost and\n usage data is retrieved from 2017-01-01 up to and including\n 2017-04-30 but not including 2017-05-01.

                      ", "smithy.api#required": {} } }, @@ -2747,7 +2894,7 @@ "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
                      • \n

                        AZ - The Availability Zone. An example is us-east-1a.

                        \n
                      • \n
                      • \n

                        DATABASE_ENGINE - The Amazon Relational Database Service database. Examples are Aurora or MySQL.

                        \n
                      • \n
                      • \n

                        INSTANCE_TYPE - The type of Amazon EC2 instance. An example is m4.xlarge.

                        \n
                      • \n
                      • \n

                        LEGAL_ENTITY_NAME - The name of the organization that sells you AWS services, such as Amazon Web Services.

                        \n
                      • \n
                      • \n

                        LINKED_ACCOUNT - The description in the attribute map that includes the full name of the member account. The value \n field contains the AWS ID of the member account.

                        \n
                      • \n
                      • \n

                        OPERATING_SYSTEM - The operating system. Examples are Windows or Linux.

                        \n
                      • \n
                      • \n

                        OPERATION - The action performed. Examples include RunInstance and CreateBucket.

                        \n
                      • \n
                      • \n

                        PLATFORM - The Amazon EC2 operating system. Examples are Windows or Linux.

                        \n
                      • \n
                      • \n

                        PURCHASE_TYPE - The reservation type of the purchase to which this usage is related. Examples include On-Demand \n Instances and Standard Reserved Instances.

                        \n
                      • \n
                      • \n

                        SERVICE - The AWS service such as Amazon DynamoDB.

                        \n
                      • \n
                      • \n

                        USAGE_TYPE - The type of usage. An example is DataTransfer-In-Bytes. The response for the GetDimensionValues operation\n includes a unit attribute. Examples include GB and Hrs.

                        \n
                      • \n
                      • \n

                        USAGE_TYPE_GROUP - The grouping of common usage types. An example is Amazon EC2: CloudWatch – Alarms. The response for this \n operation includes a unit attribute.

                        \n
                      • \n
                      • \n

                        REGION - The AWS Region.

                        \n
                      • \n
                      • \n

                        RECORD_TYPE - The different types of charges such as RI fees, usage costs, tax refunds, and credits.

                        \n
                      • \n
                      • \n

                        RESOURCE_ID - The unique identifier of the resource. ResourceId is an opt-in feature only available for last 14 days for EC2-Compute Service.

                        \n
                      • \n
                      \n

                      If you set the context to RESERVATIONS, you can use the following \n dimensions for searching:

                      \n
                        \n
                      • \n

                        AZ - The Availability Zone. An example is us-east-1a.

                        \n
                      • \n
                      • \n

                        CACHE_ENGINE - The Amazon ElastiCache operating system. Examples are Windows or Linux.

                        \n
                      • \n
                      • \n

                        DEPLOYMENT_OPTION - The scope of Amazon Relational Database Service deployments. Valid values are SingleAZ and MultiAZ.

                        \n
                      • \n
                      • \n

                        INSTANCE_TYPE - The type of Amazon EC2 instance. An example is m4.xlarge.

                        \n
                      • \n
                      • \n

                        LINKED_ACCOUNT - The description in the attribute map that includes the full name of the member account. The value \n field contains the AWS ID of the member account.

                        \n
                      • \n
                      • \n

                        PLATFORM - The Amazon EC2 operating system. Examples are Windows or Linux.

                        \n
                      • \n
                      • \n

                        REGION - The AWS Region.

                        \n
                      • \n
                      • \n

                        SCOPE (Utilization only) - The scope of a Reserved Instance (RI). Values are regional or a single Availability Zone.

                        \n
                      • \n
                      • \n

                        TAG (Coverage only) - The tags that are associated with a Reserved Instance (RI).

                        \n
                      • \n
                      • \n

                        TENANCY - The tenancy of a resource. Examples are shared or dedicated.

                        \n
                      • \n
                      \n

                      If you set the context to SAVINGS_PLANS, you can use the following dimensions for searching:

                      \n
                        \n
                      • \n

                        SAVINGS_PLANS_TYPE - Type of Savings Plans (EC2 Instance or Compute)

                        \n
                      • \n
                      • \n

                        PAYMENT_OPTION - Payment option for the given Savings Plans (for example, All Upfront)

                        \n
                      • \n
                      • \n

                        REGION - The AWS Region.

                        \n
                      • \n
                      • \n

                        INSTANCE_TYPE_FAMILY - The family of instances (For example, m5)

                        \n
                      • \n
                      • \n

                        LINKED_ACCOUNT - The description in the attribute map that includes the full name of the member account. The value \n field contains the AWS ID of the member account.

                        \n
                      • \n
                      • \n

                        SAVINGS_PLAN_ARN - The unique identifier for your Savings Plan

                        \n
                      • \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
                      • \n

                        AZ - The Availability Zone. An example is us-east-1a.

                        \n
                      • \n
                      • \n

                        DATABASE_ENGINE - The Amazon Relational Database Service database. Examples are Aurora or MySQL.

                        \n
                      • \n
                      • \n

                        INSTANCE_TYPE - The type of Amazon EC2 instance. An example is m4.xlarge.

                        \n
                      • \n
                      • \n

                        LEGAL_ENTITY_NAME - The name of the organization that sells you Amazon Web Services services, such as Amazon Web Services.

                        \n
                      • \n
                      • \n

                        LINKED_ACCOUNT - The description in the attribute map that includes the full name of the member account. The value \n field contains the Amazon Web Services ID of the member account.

                        \n
                      • \n
                      • \n

                        OPERATING_SYSTEM - The operating system. Examples are Windows or Linux.

                        \n
                      • \n
                      • \n

                        OPERATION - The action performed. Examples include RunInstance and CreateBucket.

                        \n
                      • \n
                      • \n

                        PLATFORM - The Amazon EC2 operating system. Examples are Windows or Linux.

                        \n
                      • \n
                      • \n

                        PURCHASE_TYPE - The reservation type of the purchase to which this usage is related. Examples include On-Demand \n Instances and Standard Reserved Instances.

                        \n
                      • \n
                      • \n

                        SERVICE - The Amazon Web Services service such as Amazon DynamoDB.

                        \n
                      • \n
                      • \n

                        USAGE_TYPE - The type of usage. An example is DataTransfer-In-Bytes. The response for the GetDimensionValues operation\n includes a unit attribute. Examples include GB and Hrs.

                        \n
                      • \n
                      • \n

                        USAGE_TYPE_GROUP - The grouping of common usage types. An example is Amazon EC2: CloudWatch – Alarms. The response for this \n operation includes a unit attribute.

                        \n
                      • \n
                      • \n

                        REGION - The Amazon Web Services Region.

                        \n
                      • \n
                      • \n

                        RECORD_TYPE - The different types of charges such as RI fees, usage costs, tax refunds, and credits.

                        \n
                      • \n
                      • \n

                        RESOURCE_ID - The unique identifier of the resource. ResourceId is an opt-in feature only available for last 14 days for EC2-Compute Service.

                        \n
                      • \n
                      \n

                      If you set the context to RESERVATIONS, you can use the following \n dimensions for searching:

                      \n
                        \n
                      • \n

                        AZ - The Availability Zone. An example is us-east-1a.

                        \n
                      • \n
                      • \n

                        CACHE_ENGINE - The Amazon ElastiCache operating system. Examples are Windows or Linux.

                        \n
                      • \n
                      • \n

                        DEPLOYMENT_OPTION - The scope of Amazon Relational Database Service deployments. Valid values are SingleAZ and MultiAZ.

                        \n
                      • \n
                      • \n

                        INSTANCE_TYPE - The type of Amazon EC2 instance. An example is m4.xlarge.

                        \n
                      • \n
                      • \n

                        LINKED_ACCOUNT - The description in the attribute map that includes the full name of the member account. The value \n field contains the Amazon Web Services ID of the member account.

                        \n
                      • \n
                      • \n

                        PLATFORM - The Amazon EC2 operating system. Examples are Windows or Linux.

                        \n
                      • \n
                      • \n

                        REGION - The Amazon Web Services Region.

                        \n
                      • \n
                      • \n

                        SCOPE (Utilization only) - The scope of a Reserved Instance (RI). Values are regional or a single Availability Zone.

                        \n
                      • \n
                      • \n

                        TAG (Coverage only) - The tags that are associated with a Reserved Instance (RI).

                        \n
                      • \n
                      • \n

                        TENANCY - The tenancy of a resource. Examples are shared or dedicated.

                        \n
                      • \n
                      \n

                      If you set the context to SAVINGS_PLANS, you can use the following dimensions for searching:

                      \n
                        \n
                      • \n

                        SAVINGS_PLANS_TYPE - Type of Savings Plans (EC2 Instance or Compute)

                        \n
                      • \n
                      • \n

                        PAYMENT_OPTION - Payment option for the given Savings Plans (for example, All Upfront)

                        \n
                      • \n
                      • \n

                        REGION - The Amazon Web Services Region.

                        \n
                      • \n
                      • \n

                        INSTANCE_TYPE_FAMILY - The family of instances (For example, m5)

                        \n
                      • \n
                      • \n

                        LINKED_ACCOUNT - The description in the attribute map that includes the full name of the member account. The value \n field contains the Amazon Web Services ID of the member account.

                        \n
                      • \n
                      • \n

                        SAVINGS_PLAN_ARN - The unique identifier for your Savings Plan

                        \n
                      • \n
                      " } }, "Filter": { @@ -2756,19 +2903,19 @@ "SortBy": { "target": "com.amazonaws.costexplorer#SortDefinitions", "traits": { - "smithy.api#documentation": "

                      The value by which you want to sort the data.

                      \n\t

                      The key represents cost and usage metrics. The following values are supported:

                      \n
                        \n
                      • \n

                        \n BlendedCost\n

                        \n
                      • \n
                      • \n

                        \n UnblendedCost\n

                        \n
                      • \n
                      • \n

                        \n AmortizedCost\n

                        \n
                      • \n
                      • \n

                        \n NetAmortizedCost\n

                        \n
                      • \n
                      • \n

                        \n NetUnblendedCost\n

                        \n
                      • \n
                      • \n

                        \n UsageQuantity\n

                        \n
                      • \n
                      • \n

                        \n NormalizedUsageAmount\n

                        \n
                      • \n
                      \n

                      Supported values for SortOrder are ASCENDING or DESCENDING.

                      \n

                      When you specify a SortBy paramater, the context must be COST_AND_USAGE. Further, when using SortBy, NextPageToken and SearchString are not supported.

                      " + "smithy.api#documentation": "

                      The value by which you want to sort the data.

                      \n

                      The key represents cost and usage metrics. The following values are supported:

                      \n
                        \n
                      • \n

                        \n BlendedCost\n

                        \n
                      • \n
                      • \n

                        \n UnblendedCost\n

                        \n
                      • \n
                      • \n

                        \n AmortizedCost\n

                        \n
                      • \n
                      • \n

                        \n NetAmortizedCost\n

                        \n
                      • \n
                      • \n

                        \n NetUnblendedCost\n

                        \n
                      • \n
                      • \n

                        \n UsageQuantity\n

                        \n
                      • \n
                      • \n

                        \n NormalizedUsageAmount\n

                        \n
                      • \n
                      \n

                      Supported values for SortOrder are ASCENDING or DESCENDING.

                      \n

                      When you specify a SortBy paramater, the context must be COST_AND_USAGE. Further, when using SortBy, NextPageToken and SearchString are not supported.

                      " } }, "MaxResults": { "target": "com.amazonaws.costexplorer#MaxResults", "traits": { - "smithy.api#documentation": "

                      This field is only used when SortBy is provided in the request. The maximum number of objects that to be returned for this request. If MaxResults is not specified with SortBy, the request will return 1000 results as the default value for this parameter.

                      \n\t

                      For GetDimensionValues, MaxResults has an upper limit of 1000.

                      " + "smithy.api#documentation": "

                      This field is only used when SortBy is provided in the request. The maximum number of objects that to be returned for this request. If MaxResults is not specified with SortBy, the request will return 1000 results as the default value for this parameter.

                      \n

                      For GetDimensionValues, MaxResults has an upper limit of 1000.

                      " } }, "NextPageToken": { "target": "com.amazonaws.costexplorer#NextPageToken", "traits": { - "smithy.api#documentation": "

                      The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size.

                      " + "smithy.api#documentation": "

                      The token to retrieve the next set of results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.

                      " } } } @@ -2779,14 +2926,14 @@ "DimensionValues": { "target": "com.amazonaws.costexplorer#DimensionValuesWithAttributesList", "traits": { - "smithy.api#documentation": "

                      The filters that you used to filter your request. Some dimensions are available only for a specific context.

                      \n\t\t

                      If you set the context to COST_AND_USAGE, you can use the following \n dimensions for searching:

                      \n
                        \n
                      • \n

                        AZ - The Availability Zone. An example is us-east-1a.

                        \n
                      • \n
                      • \n

                        DATABASE_ENGINE - The Amazon Relational Database Service database. Examples are Aurora or MySQL.

                        \n
                      • \n
                      • \n

                        INSTANCE_TYPE - The type of Amazon EC2 instance. An example is m4.xlarge.

                        \n
                      • \n
                      • \n

                        LEGAL_ENTITY_NAME - The name of the organization that sells you AWS services, such as Amazon Web Services.

                        \n
                      • \n
                      • \n

                        LINKED_ACCOUNT - The description in the attribute map that includes the full name of the member account. The value \n field contains the AWS ID of the member account.

                        \n
                      • \n
                      • \n

                        OPERATING_SYSTEM - The operating system. Examples are Windows or Linux.

                        \n
                      • \n
                      • \n

                        OPERATION - The action performed. Examples include RunInstance and CreateBucket.

                        \n
                      • \n
                      • \n

                        PLATFORM - The Amazon EC2 operating system. Examples are Windows or Linux.

                        \n
                      • \n
                      • \n

                        PURCHASE_TYPE - The reservation type of the purchase to which this usage is related. Examples include On-Demand \n Instances and Standard Reserved Instances.

                        \n
                      • \n
                      • \n

                        SERVICE - The AWS service such as Amazon DynamoDB.

                        \n
                      • \n
                      • \n

                        USAGE_TYPE - The type of usage. An example is DataTransfer-In-Bytes. The response for the GetDimensionValues operation\n includes a unit attribute. Examples include GB and Hrs.

                        \n
                      • \n
                      • \n

                        USAGE_TYPE_GROUP - The grouping of common usage types. An example is Amazon EC2: CloudWatch – Alarms. The response for this \n operation includes a unit attribute.

                        \n
                      • \n
                      • \n

                        RECORD_TYPE - The different types of charges such as RI fees, usage costs, tax refunds, and credits.

                        \n
                      • \n
                      • \n

                        RESOURCE_ID - The unique identifier of the resource. ResourceId is an opt-in feature only available for last 14 days for EC2-Compute Service.

                        \n
                      • \n
                      \n

                      If you set the context to RESERVATIONS, you can use the following \n dimensions for searching:

                      \n
                        \n
                      • \n

                        AZ - The Availability Zone. An example is us-east-1a.

                        \n
                      • \n
                      • \n

                        CACHE_ENGINE - The Amazon ElastiCache operating system. Examples are Windows or Linux.

                        \n
                      • \n
                      • \n

                        DEPLOYMENT_OPTION - The scope of Amazon Relational Database Service deployments. Valid values are SingleAZ and MultiAZ.

                        \n
                      • \n
                      • \n

                        INSTANCE_TYPE - The type of Amazon EC2 instance. An example is m4.xlarge.

                        \n
                      • \n
                      • \n

                        LINKED_ACCOUNT - The description in the attribute map that includes the full name of the member account. The value \n field contains the AWS ID of the member account.

                        \n
                      • \n
                      • \n

                        PLATFORM - The Amazon EC2 operating system. Examples are Windows or Linux.

                        \n
                      • \n
                      • \n

                        REGION - The AWS Region.

                        \n
                      • \n
                      • \n

                        SCOPE (Utilization only) - The scope of a Reserved Instance (RI). Values are regional or a single Availability Zone.

                        \n
                      • \n
                      • \n

                        TAG (Coverage only) - The tags that are associated with a Reserved Instance (RI).

                        \n
                      • \n
                      • \n

                        TENANCY - The tenancy of a resource. Examples are shared or dedicated.

                        \n
                      • \n
                      \n

                      If you set the context to SAVINGS_PLANS, you can use the following dimensions for searching:

                      \n
                        \n
                      • \n

                        SAVINGS_PLANS_TYPE - Type of Savings Plans (EC2 Instance or Compute)

                        \n
                      • \n
                      • \n

                        PAYMENT_OPTION - Payment option for the given Savings Plans (for example, All Upfront)

                        \n
                      • \n
                      • \n

                        REGION - The AWS Region.

                        \n
                      • \n
                      • \n

                        INSTANCE_TYPE_FAMILY - The family of instances (For example, m5)

                        \n
                      • \n
                      • \n

                        LINKED_ACCOUNT - The description in the attribute map that includes the full name of the member account. The value \n field contains the AWS ID of the member account.

                        \n
                      • \n
                      • \n

                        SAVINGS_PLAN_ARN - The unique identifier for your Savings Plan

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

                      The filters that you used to filter your request. Some dimensions are available only for a specific context.

                      \n\t\t

                      If you set the context to COST_AND_USAGE, you can use the following \n dimensions for searching:

                      \n
                        \n
                      • \n

                        AZ - The Availability Zone. An example is us-east-1a.

                        \n
                      • \n
                      • \n

                        DATABASE_ENGINE - The Amazon Relational Database Service database. Examples are Aurora or MySQL.

                        \n
                      • \n
                      • \n

                        INSTANCE_TYPE - The type of Amazon EC2 instance. An example is m4.xlarge.

                        \n
                      • \n
                      • \n

                        LEGAL_ENTITY_NAME - The name of the organization that sells you Amazon Web Services services, such as Amazon Web Services.

                        \n
                      • \n
                      • \n

                        LINKED_ACCOUNT - The description in the attribute map that includes the full name of the member account. The value \n field contains the Amazon Web Services ID of the member account.

                        \n
                      • \n
                      • \n

                        OPERATING_SYSTEM - The operating system. Examples are Windows or Linux.

                        \n
                      • \n
                      • \n

                        OPERATION - The action performed. Examples include RunInstance and CreateBucket.

                        \n
                      • \n
                      • \n

                        PLATFORM - The Amazon EC2 operating system. Examples are Windows or Linux.

                        \n
                      • \n
                      • \n

                        PURCHASE_TYPE - The reservation type of the purchase to which this usage is related. Examples include On-Demand \n Instances and Standard Reserved Instances.

                        \n
                      • \n
                      • \n

                        SERVICE - The Amazon Web Services service such as Amazon DynamoDB.

                        \n
                      • \n
                      • \n

                        USAGE_TYPE - The type of usage. An example is DataTransfer-In-Bytes. The response for the GetDimensionValues operation\n includes a unit attribute. Examples include GB and Hrs.

                        \n
                      • \n
                      • \n

                        USAGE_TYPE_GROUP - The grouping of common usage types. An example is Amazon EC2: CloudWatch – Alarms. The response for this \n operation includes a unit attribute.

                        \n
                      • \n
                      • \n

                        RECORD_TYPE - The different types of charges such as RI fees, usage costs, tax refunds, and credits.

                        \n
                      • \n
                      • \n

                        RESOURCE_ID - The unique identifier of the resource. ResourceId is an opt-in feature only available for last 14 days for EC2-Compute Service.

                        \n
                      • \n
                      \n

                      If you set the context to RESERVATIONS, you can use the following \n dimensions for searching:

                      \n
                        \n
                      • \n

                        AZ - The Availability Zone. An example is us-east-1a.

                        \n
                      • \n
                      • \n

                        CACHE_ENGINE - The Amazon ElastiCache operating system. Examples are Windows or Linux.

                        \n
                      • \n
                      • \n

                        DEPLOYMENT_OPTION - The scope of Amazon Relational Database Service deployments. Valid values are SingleAZ and MultiAZ.

                        \n
                      • \n
                      • \n

                        INSTANCE_TYPE - The type of Amazon EC2 instance. An example is m4.xlarge.

                        \n
                      • \n
                      • \n

                        LINKED_ACCOUNT - The description in the attribute map that includes the full name of the member account. The value \n field contains the Amazon Web Services ID of the member account.

                        \n
                      • \n
                      • \n

                        PLATFORM - The Amazon EC2 operating system. Examples are Windows or Linux.

                        \n
                      • \n
                      • \n

                        REGION - The Amazon Web Services Region.

                        \n
                      • \n
                      • \n

                        SCOPE (Utilization only) - The scope of a Reserved Instance (RI). Values are regional or a single Availability Zone.

                        \n
                      • \n
                      • \n

                        TAG (Coverage only) - The tags that are associated with a Reserved Instance (RI).

                        \n
                      • \n
                      • \n

                        TENANCY - The tenancy of a resource. Examples are shared or dedicated.

                        \n
                      • \n
                      \n

                      If you set the context to SAVINGS_PLANS, you can use the following dimensions for searching:

                      \n
                        \n
                      • \n

                        SAVINGS_PLANS_TYPE - Type of Savings Plans (EC2 Instance or Compute)

                        \n
                      • \n
                      • \n

                        PAYMENT_OPTION - Payment option for the given Savings Plans (for example, All Upfront)

                        \n
                      • \n
                      • \n

                        REGION - The Amazon Web Services Region.

                        \n
                      • \n
                      • \n

                        INSTANCE_TYPE_FAMILY - The family of instances (For example, m5)

                        \n
                      • \n
                      • \n

                        LINKED_ACCOUNT - The description in the attribute map that includes the full name of the member account. The value \n field contains the Amazon Web Services ID of the member account.

                        \n
                      • \n
                      • \n

                        SAVINGS_PLAN_ARN - The unique identifier for your Savings Plan

                        \n
                      • \n
                      ", "smithy.api#required": {} } }, "ReturnSize": { "target": "com.amazonaws.costexplorer#PageSize", "traits": { - "smithy.api#documentation": "

                      The number of results that AWS returned at one time.

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

                      The number of results that Amazon Web Services returned at one time.

                      ", "smithy.api#required": {} } }, @@ -2800,7 +2947,7 @@ "NextPageToken": { "target": "com.amazonaws.costexplorer#NextPageToken", "traits": { - "smithy.api#documentation": "

                      The token for the next set of retrievable results. AWS provides the token when the response from a previous call has more results than the maximum page size.

                      " + "smithy.api#documentation": "

                      The token for the next set of retrievable results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.

                      " } } } @@ -2847,7 +2994,7 @@ "Granularity": { "target": "com.amazonaws.costexplorer#Granularity", "traits": { - "smithy.api#documentation": "

                      The granularity of the AWS cost data for the reservation. Valid values are MONTHLY and DAILY.

                      \n\t\t

                      If GroupBy is set, Granularity can't be set. If Granularity isn't set, \n\t\t\tthe response object doesn't include Granularity, either MONTHLY or DAILY.

                      \n\t\t

                      The GetReservationCoverage operation supports only DAILY and MONTHLY granularities.

                      " + "smithy.api#documentation": "

                      The granularity of the Amazon Web Services cost data for the reservation. Valid values are MONTHLY and DAILY.

                      \n\t\t

                      If GroupBy is set, Granularity can't be set. If Granularity isn't set, \n\t\t\tthe response object doesn't include Granularity, either MONTHLY or DAILY.

                      \n\t\t

                      The GetReservationCoverage operation supports only DAILY and MONTHLY granularities.

                      " } }, "Filter": { @@ -2865,20 +3012,20 @@ "NextPageToken": { "target": "com.amazonaws.costexplorer#NextPageToken", "traits": { - "smithy.api#documentation": "

                      The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size.

                      " + "smithy.api#documentation": "

                      The token to retrieve the next set of results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.

                      " } }, "SortBy": { "target": "com.amazonaws.costexplorer#SortDefinition", "traits": { - "smithy.api#documentation": "

                      The value by which you want to sort the data.

                      \n\t

                      The following values are supported for Key:

                      \n
                        \n
                      • \n

                        \n OnDemandCost\n

                        \n
                      • \n
                      • \n

                        \n CoverageHoursPercentage\n

                        \n
                      • \n
                      • \n

                        \n OnDemandHours\n

                        \n
                      • \n
                      • \n

                        \n ReservedHours\n

                        \n
                      • \n
                      • \n

                        \n TotalRunningHours\n

                        \n
                      • \n
                      • \n

                        \n CoverageNormalizedUnitsPercentage\n

                        \n
                      • \n
                      • \n

                        \n OnDemandNormalizedUnits\n

                        \n
                      • \n
                      • \n

                        \n ReservedNormalizedUnits\n

                        \n
                      • \n
                      • \n

                        \n TotalRunningNormalizedUnits\n

                        \n
                      • \n
                      • \n

                        \n Time\n

                        \n
                      • \n
                      \n\n

                      Supported values for SortOrder are ASCENDING or DESCENDING.

                      " + "smithy.api#documentation": "

                      The value by which you want to sort the data.

                      \n

                      The following values are supported for Key:

                      \n
                        \n
                      • \n

                        \n OnDemandCost\n

                        \n
                      • \n
                      • \n

                        \n CoverageHoursPercentage\n

                        \n
                      • \n
                      • \n

                        \n OnDemandHours\n

                        \n
                      • \n
                      • \n

                        \n ReservedHours\n

                        \n
                      • \n
                      • \n

                        \n TotalRunningHours\n

                        \n
                      • \n
                      • \n

                        \n CoverageNormalizedUnitsPercentage\n

                        \n
                      • \n
                      • \n

                        \n OnDemandNormalizedUnits\n

                        \n
                      • \n
                      • \n

                        \n ReservedNormalizedUnits\n

                        \n
                      • \n
                      • \n

                        \n TotalRunningNormalizedUnits\n

                        \n
                      • \n
                      • \n

                        \n Time\n

                        \n
                      • \n
                      \n \n

                      Supported values for SortOrder are ASCENDING or DESCENDING.

                      " } }, "MaxResults": { "target": "com.amazonaws.costexplorer#MaxResults", "traits": { "smithy.api#box": {}, - "smithy.api#documentation": "

                      The maximum number of objects that you returned for this request. If more objects are available, in the response, AWS provides a NextPageToken value that you can use in a subsequent call to get the next batch of objects.

                      " + "smithy.api#documentation": "

                      The maximum number of objects that you returned for this request. If more objects are available, in the response, Amazon Web Services provides a NextPageToken value that you can use in a subsequent call to get the next batch of objects.

                      " } } }, @@ -2905,7 +3052,7 @@ "NextPageToken": { "target": "com.amazonaws.costexplorer#NextPageToken", "traits": { - "smithy.api#documentation": "

                      The token for the next set of retrievable results. AWS provides the token when the response from a previous call has more results than the maximum page size.

                      " + "smithy.api#documentation": "

                      The token for the next set of retrievable results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.

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

                      Gets recommendations for which reservations to purchase. These recommendations could help you reduce your costs. \n\t\t\tReservations provide a discounted hourly rate (up to 75%) compared to On-Demand pricing.

                      \n\t\t

                      AWS generates your recommendations by identifying your On-Demand usage during a specific time period and collecting your usage \n\t\t\tinto categories that are eligible for a reservation. After AWS has these categories, it simulates every combination of reservations \n\t\t\tin each category of usage to identify the best number of each type of RI to purchase to maximize your estimated savings.

                      \n\t\t

                      For example, AWS automatically aggregates your Amazon EC2 Linux, shared tenancy, and c4 family usage in the US West (Oregon) Region \n\t\t\tand recommends that you buy size-flexible regional reservations to apply to the c4 family usage. AWS recommends the smallest size instance \n\t\t\tin an instance family. This makes it easier to purchase a size-flexible RI. AWS also shows the equal number of normalized units \n\t\t\tso that you can purchase any instance size that you want. For this example, your RI recommendation would be for c4.large \n\t\t\tbecause that is the smallest size instance in the c4 instance family.

                      " + "smithy.api#documentation": "

                      Gets recommendations for which reservations to purchase. These recommendations could help you reduce your costs. \n\t\t\tReservations provide a discounted hourly rate (up to 75%) compared to On-Demand pricing.

                      \n\t\t

                      Amazon Web Services generates your recommendations by identifying your On-Demand usage during a specific time period and collecting your usage \n\t\t\tinto categories that are eligible for a reservation. After Amazon Web Services has these categories, it simulates every combination of reservations \n\t\t\tin each category of usage to identify the best number of each type of RI to purchase to maximize your estimated savings.

                      \n\t\t

                      For example, Amazon Web Services automatically aggregates your Amazon EC2 Linux, shared tenancy, and c4 family usage in the US West (Oregon) Region \n\t\t\tand recommends that you buy size-flexible regional reservations to apply to the c4 family usage. Amazon Web Services recommends the smallest size instance \n\t\t\tin an instance family. This makes it easier to purchase a size-flexible RI. Amazon Web Services also shows the equal number of normalized units \n\t\t\tso that you can purchase any instance size that you want. For this example, your RI recommendation would be for c4.large \n\t\t\tbecause that is the smallest size instance in the c4 instance family.

                      " } }, "com.amazonaws.costexplorer#GetReservationPurchaseRecommendationRequest": { @@ -2961,7 +3108,7 @@ "LookbackPeriodInDays": { "target": "com.amazonaws.costexplorer#LookbackPeriodInDays", "traits": { - "smithy.api#documentation": "

                      The number of previous days that you want AWS to consider when it calculates your recommendations.

                      " + "smithy.api#documentation": "

                      The number of previous days that you want Amazon Web Services to consider when it calculates your recommendations.

                      " } }, "TermInYears": { @@ -3073,20 +3220,20 @@ "SortBy": { "target": "com.amazonaws.costexplorer#SortDefinition", "traits": { - "smithy.api#documentation": "

                      The value by which you want to sort the data.

                      \n\t \n\t

                      The following values are supported for Key:

                      \n
                        \n
                      • \n

                        \n UtilizationPercentage\n

                        \n
                      • \n
                      • \n

                        \n UtilizationPercentageInUnits\n

                        \n
                      • \n
                      • \n

                        \n PurchasedHours\n

                        \n
                      • \n
                      • \n

                        \n PurchasedUnits\n

                        \n
                      • \n
                      • \n

                        \n TotalActualHours\n

                        \n
                      • \n
                      • \n

                        \n TotalActualUnits\n

                        \n
                      • \n
                      • \n

                        \n UnusedHours\n

                        \n
                      • \n
                      • \n

                        \n UnusedUnits\n

                        \n
                      • \n
                      • \n

                        \n OnDemandCostOfRIHoursUsed\n

                        \n
                      • \n
                      • \n

                        \n NetRISavings\n

                        \n
                      • \n
                      • \n

                        \n TotalPotentialRISavings\n

                        \n
                      • \n
                      • \n

                        \n AmortizedUpfrontFee\n

                        \n
                      • \n
                      • \n

                        \n AmortizedRecurringFee\n

                        \n
                      • \n
                      • \n

                        \n TotalAmortizedFee\n

                        \n
                      • \n
                      • \n

                        \n RICostForUnusedHours\n

                        \n
                      • \n
                      • \n

                        \n RealizedSavings\n

                        \n
                      • \n
                      • \n

                        \n UnrealizedSavings\n

                        \n
                      • \n
                      \n\n

                      Supported values for SortOrder are ASCENDING or DESCENDING.

                      " + "smithy.api#documentation": "

                      The value by which you want to sort the data.

                      \n \n

                      The following values are supported for Key:

                      \n
                        \n
                      • \n

                        \n UtilizationPercentage\n

                        \n
                      • \n
                      • \n

                        \n UtilizationPercentageInUnits\n

                        \n
                      • \n
                      • \n

                        \n PurchasedHours\n

                        \n
                      • \n
                      • \n

                        \n PurchasedUnits\n

                        \n
                      • \n
                      • \n

                        \n TotalActualHours\n

                        \n
                      • \n
                      • \n

                        \n TotalActualUnits\n

                        \n
                      • \n
                      • \n

                        \n UnusedHours\n

                        \n
                      • \n
                      • \n

                        \n UnusedUnits\n

                        \n
                      • \n
                      • \n

                        \n OnDemandCostOfRIHoursUsed\n

                        \n
                      • \n
                      • \n

                        \n NetRISavings\n

                        \n
                      • \n
                      • \n

                        \n TotalPotentialRISavings\n

                        \n
                      • \n
                      • \n

                        \n AmortizedUpfrontFee\n

                        \n
                      • \n
                      • \n

                        \n AmortizedRecurringFee\n

                        \n
                      • \n
                      • \n

                        \n TotalAmortizedFee\n

                        \n
                      • \n
                      • \n

                        \n RICostForUnusedHours\n

                        \n
                      • \n
                      • \n

                        \n RealizedSavings\n

                        \n
                      • \n
                      • \n

                        \n UnrealizedSavings\n

                        \n
                      • \n
                      \n \n

                      Supported values for SortOrder are ASCENDING or DESCENDING.

                      " } }, "NextPageToken": { "target": "com.amazonaws.costexplorer#NextPageToken", "traits": { - "smithy.api#documentation": "

                      The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size.

                      " + "smithy.api#documentation": "

                      The token to retrieve the next set of results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.

                      " } }, "MaxResults": { "target": "com.amazonaws.costexplorer#MaxResults", "traits": { "smithy.api#box": {}, - "smithy.api#documentation": "

                      The maximum number of objects that you returned for this request. If more objects are available, in the response, AWS provides a NextPageToken value that you can use in a subsequent call to get the next batch of objects.

                      " + "smithy.api#documentation": "

                      The maximum number of objects that you returned for this request. If more objects are available, in the response, Amazon Web Services provides a NextPageToken value that you can use in a subsequent call to get the next batch of objects.

                      " } } } @@ -3110,7 +3257,7 @@ "NextPageToken": { "target": "com.amazonaws.costexplorer#NextPageToken", "traits": { - "smithy.api#documentation": "

                      The token for the next set of retrievable results. AWS provides the token when the response from a previous call has more results than the maximum page size.

                      " + "smithy.api#documentation": "

                      The token for the next set of retrievable results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.

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

                      Creates recommendations that\n help you save cost\n by identifying idle and underutilized Amazon EC2 instances.

                      \n

                      Recommendations are generated to either downsize or terminate instances, along with\n providing savings detail and metrics. For details on calculation and function, see\n Optimizing\n Your Cost with Rightsizing\n Recommendations\n in the AWS Billing and Cost Management User\n Guide.

                      " + "smithy.api#documentation": "

                      Creates recommendations that\n help you save cost\n by identifying idle and underutilized Amazon EC2 instances.

                      \n

                      Recommendations are generated to either downsize or terminate instances, along with\n providing savings detail and metrics. For details on calculation and function, see\n Optimizing\n Your Cost with Rightsizing\n Recommendations\n in the Billing and Cost Management User\n Guide.

                      " } }, "com.amazonaws.costexplorer#GetRightsizingRecommendationRequest": { @@ -3281,7 +3428,7 @@ "SortBy": { "target": "com.amazonaws.costexplorer#SortDefinition", "traits": { - "smithy.api#documentation": "

                      The value by which you want to sort the data.

                      \n\t \t

                      The following values are supported for Key:

                      \n
                        \n
                      • \n

                        \n SpendCoveredBySavingsPlan\n

                        \n
                      • \n
                      • \n

                        \n OnDemandCost\n

                        \n
                      • \n
                      • \n

                        \n CoveragePercentage\n

                        \n
                      • \n
                      • \n

                        \n TotalCost\n

                        \n
                      • \n
                      • \n

                        \n InstanceFamily\n

                        \n
                      • \n
                      • \n

                        \n Region\n

                        \n
                      • \n
                      • \n

                        \n Service\n

                        \n
                      • \n
                      \n\n

                      Supported values for SortOrder are ASCENDING or DESCENDING.

                      " + "smithy.api#documentation": "

                      The value by which you want to sort the data.

                      \n

                      The following values are supported for Key:

                      \n
                        \n
                      • \n

                        \n SpendCoveredBySavingsPlan\n

                        \n
                      • \n
                      • \n

                        \n OnDemandCost\n

                        \n
                      • \n
                      • \n

                        \n CoveragePercentage\n

                        \n
                      • \n
                      • \n

                        \n TotalCost\n

                        \n
                      • \n
                      • \n

                        \n InstanceFamily\n

                        \n
                      • \n
                      • \n

                        \n Region\n

                        \n
                      • \n
                      • \n

                        \n Service\n

                        \n
                      • \n
                      \n \n

                      Supported values for SortOrder are ASCENDING or DESCENDING.

                      " } } } @@ -3399,7 +3546,7 @@ "NextPageToken": { "target": "com.amazonaws.costexplorer#NextPageToken", "traits": { - "smithy.api#documentation": "

                      The token for the next set of retrievable results. AWS provides the token when the response from a previous call has more results than the maximum page size.

                      " + "smithy.api#documentation": "

                      The token for the next set of retrievable results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.

                      " } } } @@ -3490,7 +3637,7 @@ "SortBy": { "target": "com.amazonaws.costexplorer#SortDefinition", "traits": { - "smithy.api#documentation": "

                      The value by which you want to sort the data.

                      \n\t \n\t

                      The following values are supported for Key:

                      \n
                        \n
                      • \n

                        \n UtilizationPercentage\n

                        \n
                      • \n
                      • \n

                        \n TotalCommitment\n

                        \n
                      • \n
                      • \n

                        \n UsedCommitment\n

                        \n
                      • \n
                      • \n

                        \n UnusedCommitment\n

                        \n
                      • \n
                      • \n

                        \n NetSavings\n

                        \n
                      • \n
                      • \n

                        \n AmortizedRecurringCommitment\n

                        \n
                      • \n
                      • \n

                        \n AmortizedUpfrontCommitment\n

                        \n
                      • \n
                      \n\n

                      Supported values for SortOrder are ASCENDING or DESCENDING.

                      " + "smithy.api#documentation": "

                      The value by which you want to sort the data.

                      \n \n

                      The following values are supported for Key:

                      \n
                        \n
                      • \n

                        \n UtilizationPercentage\n

                        \n
                      • \n
                      • \n

                        \n TotalCommitment\n

                        \n
                      • \n
                      • \n

                        \n UsedCommitment\n

                        \n
                      • \n
                      • \n

                        \n UnusedCommitment\n

                        \n
                      • \n
                      • \n

                        \n NetSavings\n

                        \n
                      • \n
                      • \n

                        \n AmortizedRecurringCommitment\n

                        \n
                      • \n
                      • \n

                        \n AmortizedUpfrontCommitment\n

                        \n
                      • \n
                      \n \n

                      Supported values for SortOrder are ASCENDING or DESCENDING.

                      " } } } @@ -3550,7 +3697,7 @@ "SortBy": { "target": "com.amazonaws.costexplorer#SortDefinition", "traits": { - "smithy.api#documentation": "

                      The value by which you want to sort the data.

                      \n\t

                      The following values are supported for Key:

                      \n
                        \n
                      • \n

                        \n UtilizationPercentage\n

                        \n
                      • \n
                      • \n

                        \n TotalCommitment\n

                        \n
                      • \n
                      • \n

                        \n UsedCommitment\n

                        \n
                      • \n
                      • \n

                        \n UnusedCommitment\n

                        \n
                      • \n
                      • \n

                        \n NetSavings\n

                        \n
                      • \n
                      \n\n

                      Supported values for SortOrder are ASCENDING or DESCENDING.

                      " + "smithy.api#documentation": "

                      The value by which you want to sort the data.

                      \n

                      The following values are supported for Key:

                      \n
                        \n
                      • \n

                        \n UtilizationPercentage\n

                        \n
                      • \n
                      • \n

                        \n TotalCommitment\n

                        \n
                      • \n
                      • \n

                        \n UsedCommitment\n

                        \n
                      • \n
                      • \n

                        \n UnusedCommitment\n

                        \n
                      • \n
                      • \n

                        \n NetSavings\n

                        \n
                      • \n
                      \n \n

                      Supported values for SortOrder are ASCENDING or DESCENDING.

                      " } } } @@ -3630,19 +3777,19 @@ "SortBy": { "target": "com.amazonaws.costexplorer#SortDefinitions", "traits": { - "smithy.api#documentation": "

                      The value by which you want to sort the data.

                      \n\t

                      The key represents cost and usage metrics. The following values are supported:

                      \n
                        \n
                      • \n

                        \n BlendedCost\n

                        \n
                      • \n
                      • \n

                        \n UnblendedCost\n

                        \n
                      • \n
                      • \n

                        \n AmortizedCost\n

                        \n
                      • \n
                      • \n

                        \n NetAmortizedCost\n

                        \n
                      • \n
                      • \n

                        \n NetUnblendedCost\n

                        \n
                      • \n
                      • \n

                        \n UsageQuantity\n

                        \n
                      • \n
                      • \n

                        \n NormalizedUsageAmount\n

                        \n
                      • \n
                      \n

                      Supported values for SortOrder are ASCENDING or DESCENDING.

                      \n

                      When using SortBy, NextPageToken and SearchString are not supported.

                      " + "smithy.api#documentation": "

                      The value by which you want to sort the data.

                      \n

                      The key represents cost and usage metrics. The following values are supported:

                      \n
                        \n
                      • \n

                        \n BlendedCost\n

                        \n
                      • \n
                      • \n

                        \n UnblendedCost\n

                        \n
                      • \n
                      • \n

                        \n AmortizedCost\n

                        \n
                      • \n
                      • \n

                        \n NetAmortizedCost\n

                        \n
                      • \n
                      • \n

                        \n NetUnblendedCost\n

                        \n
                      • \n
                      • \n

                        \n UsageQuantity\n

                        \n
                      • \n
                      • \n

                        \n NormalizedUsageAmount\n

                        \n
                      • \n
                      \n

                      Supported values for SortOrder are ASCENDING or DESCENDING.

                      \n

                      When using SortBy, NextPageToken and SearchString are not supported.

                      " } }, "MaxResults": { "target": "com.amazonaws.costexplorer#MaxResults", "traits": { - "smithy.api#documentation": "

                      This field is only used when SortBy is provided in the request. The maximum number of objects that to be returned for this request. If MaxResults is not specified with SortBy, the request will return 1000 results as the default value for this parameter.

                      \n\t

                      For GetTags, MaxResults has an upper limit of 1000.

                      " + "smithy.api#documentation": "

                      This field is only used when SortBy is provided in the request. The maximum number of objects that to be returned for this request. If MaxResults is not specified with SortBy, the request will return 1000 results as the default value for this parameter.

                      \n

                      For GetTags, MaxResults has an upper limit of 1000.

                      " } }, "NextPageToken": { "target": "com.amazonaws.costexplorer#NextPageToken", "traits": { - "smithy.api#documentation": "

                      The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size.

                      " + "smithy.api#documentation": "

                      The token to retrieve the next set of results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.

                      " } } } @@ -3653,7 +3800,7 @@ "NextPageToken": { "target": "com.amazonaws.costexplorer#NextPageToken", "traits": { - "smithy.api#documentation": "

                      The token for the next set of retrievable results. AWS provides the token when the response from a previous call has more results than the maximum page size.

                      " + "smithy.api#documentation": "

                      The token for the next set of retrievable results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.

                      " } }, "Tags": { @@ -3666,7 +3813,7 @@ "ReturnSize": { "target": "com.amazonaws.costexplorer#PageSize", "traits": { - "smithy.api#documentation": "

                      The number of query results that AWS returns at a time.

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

                      The number of query results that Amazon Web Services returns at a time.

                      ", "smithy.api#required": {} } }, @@ -3729,7 +3876,7 @@ "Filter": { "target": "com.amazonaws.costexplorer#Expression", "traits": { - "smithy.api#documentation": "

                      The filters that you want to use to filter your forecast. The GetUsageForecast API supports filtering by the following dimensions:

                      \n\t\t \n\t
                        \n
                      • \n

                        \n AZ\n

                        \n
                      • \n
                      • \n

                        \n INSTANCE_TYPE\n

                        \n
                      • \n
                      • \n

                        \n LINKED_ACCOUNT\n

                        \n
                      • \n
                      • \n

                        \n LINKED_ACCOUNT_NAME\n

                        \n
                      • \n
                      • \n

                        \n OPERATION\n

                        \n
                      • \n
                      • \n

                        \n PURCHASE_TYPE\n

                        \n
                      • \n
                      • \n

                        \n REGION\n

                        \n
                      • \n
                      • \n

                        \n SERVICE\n

                        \n
                      • \n
                      • \n

                        \n USAGE_TYPE\n

                        \n
                      • \n
                      • \n

                        \n USAGE_TYPE_GROUP\n

                        \n
                      • \n
                      • \n

                        \n RECORD_TYPE\n

                        \n
                      • \n
                      • \n

                        \n OPERATING_SYSTEM\n

                        \n
                      • \n
                      • \n

                        \n TENANCY\n

                        \n
                      • \n
                      • \n

                        \n SCOPE\n

                        \n
                      • \n
                      • \n

                        \n PLATFORM\n

                        \n
                      • \n
                      • \n

                        \n SUBSCRIPTION_ID\n

                        \n
                      • \n
                      • \n

                        \n LEGAL_ENTITY_NAME\n

                        \n
                      • \n
                      • \n

                        \n DEPLOYMENT_OPTION\n

                        \n
                      • \n
                      • \n

                        \n DATABASE_ENGINE\n

                        \n
                      • \n
                      • \n

                        \n INSTANCE_TYPE_FAMILY\n

                        \n
                      • \n
                      • \n

                        \n BILLING_ENTITY\n

                        \n
                      • \n
                      • \n

                        \n RESERVATION_ID\n

                        \n
                      • \n
                      • \n

                        \n SAVINGS_PLAN_ARN\n

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

                      The filters that you want to use to filter your forecast. The GetUsageForecast API supports filtering by the following dimensions:

                      \n\t\t\n\t
                        \n
                      • \n

                        \n AZ\n

                        \n
                      • \n
                      • \n

                        \n INSTANCE_TYPE\n

                        \n
                      • \n
                      • \n

                        \n LINKED_ACCOUNT\n

                        \n
                      • \n
                      • \n

                        \n LINKED_ACCOUNT_NAME\n

                        \n
                      • \n
                      • \n

                        \n OPERATION\n

                        \n
                      • \n
                      • \n

                        \n PURCHASE_TYPE\n

                        \n
                      • \n
                      • \n

                        \n REGION\n

                        \n
                      • \n
                      • \n

                        \n SERVICE\n

                        \n
                      • \n
                      • \n

                        \n USAGE_TYPE\n

                        \n
                      • \n
                      • \n

                        \n USAGE_TYPE_GROUP\n

                        \n
                      • \n
                      • \n

                        \n RECORD_TYPE\n

                        \n
                      • \n
                      • \n

                        \n OPERATING_SYSTEM\n

                        \n
                      • \n
                      • \n

                        \n TENANCY\n

                        \n
                      • \n
                      • \n

                        \n SCOPE\n

                        \n
                      • \n
                      • \n

                        \n PLATFORM\n

                        \n
                      • \n
                      • \n

                        \n SUBSCRIPTION_ID\n

                        \n
                      • \n
                      • \n

                        \n LEGAL_ENTITY_NAME\n

                        \n
                      • \n
                      • \n

                        \n DEPLOYMENT_OPTION\n

                        \n
                      • \n
                      • \n

                        \n DATABASE_ENGINE\n

                        \n
                      • \n
                      • \n

                        \n INSTANCE_TYPE_FAMILY\n

                        \n
                      • \n
                      • \n

                        \n BILLING_ENTITY\n

                        \n
                      • \n
                      • \n

                        \n RESERVATION_ID\n

                        \n
                      • \n
                      • \n

                        \n SAVINGS_PLAN_ARN\n

                        \n
                      • \n
                      " } }, "PredictionIntervalLevel": { @@ -3813,7 +3960,7 @@ } }, "traits": { - "smithy.api#documentation": "

                      Represents a group when you specify a group by criteria or in the response to a\n query with a specific grouping.

                      " + "smithy.api#documentation": "

                      Represents a group when you specify a group by criteria or in the response to a query\n with a specific grouping.

                      " } }, "com.amazonaws.costexplorer#GroupDefinitionKey": { @@ -3823,7 +3970,7 @@ "min": 0, "max": 1024 }, - "smithy.api#pattern": "[\\S\\s]*" + "smithy.api#pattern": "^[\\S\\s]*$" } }, "com.amazonaws.costexplorer#GroupDefinitionType": { @@ -3863,19 +4010,19 @@ "MaxImpact": { "target": "com.amazonaws.costexplorer#GenericDouble", "traits": { - "smithy.api#documentation": "

                      \n The maximum dollar value observed for an anomaly.\n

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

                      The maximum dollar value that's observed for an anomaly.

                      ", "smithy.api#required": {} } }, "TotalImpact": { "target": "com.amazonaws.costexplorer#GenericDouble", "traits": { - "smithy.api#documentation": "

                      \n The cumulative dollar value observed for an anomaly.\n

                      " + "smithy.api#documentation": "

                      The cumulative dollar value that's observed for an anomaly.

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

                      \n The anomaly's dollar value.\n

                      " + "smithy.api#documentation": "

                      The dollar value of the anomaly.

                      " } }, "com.amazonaws.costexplorer#InstanceDetails": { @@ -3884,36 +4031,36 @@ "EC2InstanceDetails": { "target": "com.amazonaws.costexplorer#EC2InstanceDetails", "traits": { - "smithy.api#documentation": "

                      The Amazon EC2 instances that AWS recommends that you purchase.

                      " + "smithy.api#documentation": "

                      The Amazon EC2 instances that Amazon Web Services recommends that you purchase.

                      " } }, "RDSInstanceDetails": { "target": "com.amazonaws.costexplorer#RDSInstanceDetails", "traits": { - "smithy.api#documentation": "

                      The Amazon RDS instances that AWS recommends that you purchase.

                      " + "smithy.api#documentation": "

                      The Amazon RDS instances that Amazon Web Services recommends that you purchase.

                      " } }, "RedshiftInstanceDetails": { "target": "com.amazonaws.costexplorer#RedshiftInstanceDetails", "traits": { - "smithy.api#documentation": "

                      The Amazon Redshift instances that AWS recommends that you purchase.

                      " + "smithy.api#documentation": "

                      The Amazon Redshift instances that Amazon Web Services recommends that you\n purchase.

                      " } }, "ElastiCacheInstanceDetails": { "target": "com.amazonaws.costexplorer#ElastiCacheInstanceDetails", "traits": { - "smithy.api#documentation": "

                      The ElastiCache instances that AWS recommends that you purchase.

                      " + "smithy.api#documentation": "

                      The ElastiCache instances that Amazon Web Services recommends that you purchase.

                      " } }, "ESInstanceDetails": { "target": "com.amazonaws.costexplorer#ESInstanceDetails", "traits": { - "smithy.api#documentation": "

                      The Amazon ES instances that AWS recommends that you purchase.

                      " + "smithy.api#documentation": "

                      The Amazon ES instances that Amazon Web Services recommends that you purchase.

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

                      Details about the instances that AWS recommends that you purchase.

                      " + "smithy.api#documentation": "

                      Details about the instances that Amazon Web Services recommends that you\n purchase.

                      " } }, "com.amazonaws.costexplorer#InvalidNextTokenException": { @@ -4125,7 +4272,7 @@ "min": 0, "max": 1024 }, - "smithy.api#pattern": "[\\S\\s]*" + "smithy.api#pattern": "^[\\S\\s]*$" } }, "com.amazonaws.costexplorer#MetricNames": { @@ -4172,7 +4319,7 @@ "TargetInstances": { "target": "com.amazonaws.costexplorer#TargetInstancesList", "traits": { - "smithy.api#documentation": "

                      Identifies whether this instance type is the AWS default recommendation.

                      " + "smithy.api#documentation": "

                      Determines whether this instance type is the Amazon Web Services default\n recommendation.

                      " } } }, @@ -4221,30 +4368,30 @@ "NetworkInBytesPerSecond": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      \n The network ingress throughput utilization measured in Bytes per second.\n

                      " + "smithy.api#documentation": "

                      The network inbound throughput utilization measured in Bytes per second.

                      " } }, "NetworkOutBytesPerSecond": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      \n The network outgress throughput utilization measured in Bytes per second.\n

                      " + "smithy.api#documentation": "

                      The network outbound throughput utilization measured in Bytes per second.

                      " } }, "NetworkPacketsInPerSecond": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      \n The network ingress packets measured in packets per second.\n

                      " + "smithy.api#documentation": "

                      The network ingress packets that are measured in packets per second.

                      " } }, "NetworkPacketsOutPerSecond": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      \n The network outgress packets measured in packets per second.\n

                      " + "smithy.api#documentation": "

                      The network outgress packets that are measured in packets per second.

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

                      \n The network field that contains a list of network metrics associated with the current instance.\n

                      " + "smithy.api#documentation": "

                      The network field that contains a list of network metrics that are associated with\n the current instance.

                      " } }, "com.amazonaws.costexplorer#NextPageToken": { @@ -4254,7 +4401,7 @@ "min": 0, "max": 8192 }, - "smithy.api#pattern": "[\\S\\s]*" + "smithy.api#pattern": "^[\\S\\s]*$" } }, "com.amazonaws.costexplorer#NonNegativeInteger": { @@ -4435,7 +4582,7 @@ "AnomalyId": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      \n A cost anomaly ID.\n

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

                      A cost anomaly ID.

                      ", "smithy.api#required": {} } }, @@ -4454,7 +4601,7 @@ "AnomalyId": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      \n The ID of the modified cost anomaly.\n

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

                      The ID of the modified cost anomaly.

                      ", "smithy.api#required": {} } } @@ -4478,13 +4625,13 @@ "InstanceType": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      The type of instance that AWS recommends.

                      " + "smithy.api#documentation": "

                      The type of instance that Amazon Web Services recommends.

                      " } }, "Region": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      The AWS Region of the recommended reservation.

                      " + "smithy.api#documentation": "

                      The Amazon Web Services Region of the recommended reservation.

                      " } }, "DatabaseEngine": { @@ -4502,7 +4649,7 @@ "DeploymentOption": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      Whether the recommendation is for a reservation in a single Availability Zone or a\n reservation with a backup in a second Availability Zone.

                      " + "smithy.api#documentation": "

                      Determines whether the recommendation is for a reservation in a single Availability\n Zone or a reservation with a backup in a second Availability Zone.

                      " } }, "LicenseModel": { @@ -4514,18 +4661,18 @@ "CurrentGeneration": { "target": "com.amazonaws.costexplorer#GenericBoolean", "traits": { - "smithy.api#documentation": "

                      Whether the recommendation is for a current-generation instance.

                      " + "smithy.api#documentation": "

                      Determines whether the recommendation is for a current-generation instance.

                      " } }, "SizeFlexEligible": { "target": "com.amazonaws.costexplorer#GenericBoolean", "traits": { - "smithy.api#documentation": "

                      Whether the recommended reservation is size flexible.

                      " + "smithy.api#documentation": "

                      Determines whether the recommended reservation is size flexible.

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

                      Details about the Amazon RDS instances that AWS recommends that you\n purchase.

                      " + "smithy.api#documentation": "

                      Details about the Amazon RDS instances that Amazon Web Services recommends that you\n purchase.

                      " } }, "com.amazonaws.costexplorer#RICostForUnusedHours": { @@ -4561,30 +4708,30 @@ "NodeType": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      The type of node that AWS recommends.

                      " + "smithy.api#documentation": "

                      The type of node that Amazon Web Services recommends.

                      " } }, "Region": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      The AWS Region of the recommended reservation.

                      " + "smithy.api#documentation": "

                      The Amazon Web Services Region of the recommended reservation.

                      " } }, "CurrentGeneration": { "target": "com.amazonaws.costexplorer#GenericBoolean", "traits": { - "smithy.api#documentation": "

                      Whether the recommendation is for a current-generation instance.

                      " + "smithy.api#documentation": "

                      Determines whether the recommendation is for a current-generation instance.

                      " } }, "SizeFlexEligible": { "target": "com.amazonaws.costexplorer#GenericBoolean", "traits": { - "smithy.api#documentation": "

                      Whether the recommended reservation is size flexible.

                      " + "smithy.api#documentation": "

                      Determines whether the recommended reservation is size flexible.

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

                      Details about the Amazon Redshift instances that AWS recommends that you\n purchase.

                      " + "smithy.api#documentation": "

                      Details about the Amazon Redshift instances that Amazon Web Services recommends that\n you purchase.

                      " } }, "com.amazonaws.costexplorer#RequestChangedException": { @@ -4611,7 +4758,7 @@ "UtilizationPercentageInUnits": { "target": "com.amazonaws.costexplorer#UtilizationPercentageInUnits", "traits": { - "smithy.api#documentation": "

                      The percentage of Amazon EC2 reservation time that you used, converted to normalized\n units. Normalized units are available only for Amazon EC2 usage after November 11,\n 2017.

                      " + "smithy.api#documentation": "

                      The percentage of Amazon EC2 reservation time that you used. It's converted to\n normalized units. Normalized units are available only for Amazon EC2 usage after\n November 11, 2017.

                      " } }, "PurchasedHours": { @@ -4623,7 +4770,7 @@ "PurchasedUnits": { "target": "com.amazonaws.costexplorer#PurchasedUnits", "traits": { - "smithy.api#documentation": "

                      How many Amazon EC2 reservation hours that you purchased, converted to normalized units.\n Normalized units are available only for Amazon EC2 usage after November 11, 2017.

                      " + "smithy.api#documentation": "

                      The number of Amazon EC2 reservation hours that you purchased. It's converted to\n normalized units. Normalized units are available only for Amazon EC2 usage after\n November 11, 2017.

                      " } }, "TotalActualHours": { @@ -4635,7 +4782,7 @@ "TotalActualUnits": { "target": "com.amazonaws.costexplorer#TotalActualUnits", "traits": { - "smithy.api#documentation": "

                      The total number of Amazon EC2 reservation hours that you used, converted to normalized\n units. Normalized units are available only for Amazon EC2 usage after November 11,\n 2017.

                      " + "smithy.api#documentation": "

                      The total number of Amazon EC2 reservation hours that you used. It's converted to\n normalized units. Normalized units are available only for Amazon EC2 usage after\n November 11, 2017.

                      " } }, "UnusedHours": { @@ -4647,43 +4794,43 @@ "UnusedUnits": { "target": "com.amazonaws.costexplorer#UnusedUnits", "traits": { - "smithy.api#documentation": "

                      The number of Amazon EC2 reservation hours that you didn't use, converted to normalized\n units. Normalized units are available only for Amazon EC2 usage after November 11,\n 2017.

                      " + "smithy.api#documentation": "

                      The number of Amazon EC2 reservation hours that you didn't use. It's converted to\n normalized units. Normalized units are available only for Amazon EC2 usage after\n November 11, 2017.

                      " } }, "OnDemandCostOfRIHoursUsed": { "target": "com.amazonaws.costexplorer#OnDemandCostOfRIHoursUsed", "traits": { - "smithy.api#documentation": "

                      How much your reservation would cost if charged On-Demand rates.

                      " + "smithy.api#documentation": "

                      How much your reservation costs if charged On-Demand rates.

                      " } }, "NetRISavings": { "target": "com.amazonaws.costexplorer#NetRISavings", "traits": { - "smithy.api#documentation": "

                      How much you saved due to purchasing and utilizing reservation. AWS calculates this\n by subtracting TotalAmortizedFee from\n OnDemandCostOfRIHoursUsed.

                      " + "smithy.api#documentation": "

                      How much you saved due to purchasing and utilizing reservation. Amazon Web Services\n calculates this by subtracting TotalAmortizedFee from\n OnDemandCostOfRIHoursUsed.

                      " } }, "TotalPotentialRISavings": { "target": "com.amazonaws.costexplorer#TotalPotentialRISavings", "traits": { - "smithy.api#documentation": "

                      How much you could save if you use your entire reservation.

                      " + "smithy.api#documentation": "

                      How much you might save if you use your entire reservation.

                      " } }, "AmortizedUpfrontFee": { "target": "com.amazonaws.costexplorer#AmortizedUpfrontFee", "traits": { - "smithy.api#documentation": "

                      The upfront cost of your reservation, amortized over the reservation\n period.

                      " + "smithy.api#documentation": "

                      The upfront cost of your reservation. It's amortized over the reservation\n period.

                      " } }, "AmortizedRecurringFee": { "target": "com.amazonaws.costexplorer#AmortizedRecurringFee", "traits": { - "smithy.api#documentation": "

                      The monthly cost of your reservation, amortized over the reservation\n period.

                      " + "smithy.api#documentation": "

                      The monthly cost of your reservation. It's amortized over the reservation\n period.

                      " } }, "TotalAmortizedFee": { "target": "com.amazonaws.costexplorer#TotalAmortizedFee", "traits": { - "smithy.api#documentation": "

                      The total cost of your reservation, amortized over the reservation\n period.

                      " + "smithy.api#documentation": "

                      The total cost of your reservation. It's amortized over the reservation period.

                      " } }, "RICostForUnusedHours": { @@ -4695,13 +4842,13 @@ "RealizedSavings": { "target": "com.amazonaws.costexplorer#RealizedSavings", "traits": { - "smithy.api#documentation": "

                      The realized savings due to purchasing and using a reservation.

                      " + "smithy.api#documentation": "

                      The realized savings because of purchasing and using a reservation.

                      " } }, "UnrealizedSavings": { "target": "com.amazonaws.costexplorer#UnrealizedSavings", "traits": { - "smithy.api#documentation": "

                      The unrealized savings due to purchasing and using a reservation.

                      " + "smithy.api#documentation": "

                      The unrealized savings because of purchasing and using a reservation.

                      " } } }, @@ -4726,7 +4873,7 @@ } }, "traits": { - "smithy.api#documentation": "

                      A\n group of reservations that share a set of attributes.

                      " + "smithy.api#documentation": "

                      A group of reservations that share a set of attributes.

                      " } }, "com.amazonaws.costexplorer#ReservationCoverageGroups": { @@ -4747,13 +4894,13 @@ "AccountScope": { "target": "com.amazonaws.costexplorer#AccountScope", "traits": { - "smithy.api#documentation": "

                      The account scope that AWS recommends that you purchase this instance for. For\n example, you can purchase this reservation for an entire organization in AWS\n Organizations.

                      " + "smithy.api#documentation": "

                      The account scope that Amazon Web Services recommends that you purchase this instance\n for. For example, you can purchase this reservation for an entire organization in\n Amazon Web Services Organizations.

                      " } }, "LookbackPeriodInDays": { "target": "com.amazonaws.costexplorer#LookbackPeriodInDays", "traits": { - "smithy.api#documentation": "

                      How many days of previous usage that AWS considers when making this\n recommendation.

                      " + "smithy.api#documentation": "

                      How many days of previous usage that Amazon Web Services considers when making this\n recommendation.

                      " } }, "TermInYears": { @@ -4765,13 +4912,13 @@ "PaymentOption": { "target": "com.amazonaws.costexplorer#PaymentOption", "traits": { - "smithy.api#documentation": "

                      The payment option for the reservation. For example, AllUpfront or\n NoUpfront.

                      " + "smithy.api#documentation": "

                      The payment option for the reservation (for example, AllUpfront or\n NoUpfront).

                      " } }, "ServiceSpecification": { "target": "com.amazonaws.costexplorer#ServiceSpecification", "traits": { - "smithy.api#documentation": "

                      Hardware specifications for the service that you want recommendations\n for.

                      " + "smithy.api#documentation": "

                      Hardware specifications for the service that you want recommendations for.

                      " } }, "RecommendationDetails": { @@ -4788,7 +4935,7 @@ } }, "traits": { - "smithy.api#documentation": "

                      A specific reservation that AWS recommends for purchase.

                      " + "smithy.api#documentation": "

                      A specific reservation that Amazon Web Services recommends for purchase.

                      " } }, "com.amazonaws.costexplorer#ReservationPurchaseRecommendationDetail": { @@ -4803,97 +4950,97 @@ "InstanceDetails": { "target": "com.amazonaws.costexplorer#InstanceDetails", "traits": { - "smithy.api#documentation": "

                      Details about the instances that AWS recommends that you purchase.

                      " + "smithy.api#documentation": "

                      Details about the instances that Amazon Web Services recommends that you\n purchase.

                      " } }, "RecommendedNumberOfInstancesToPurchase": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      The number of instances that AWS recommends that you purchase.

                      " + "smithy.api#documentation": "

                      The number of instances that Amazon Web Services recommends that you purchase.

                      " } }, "RecommendedNormalizedUnitsToPurchase": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      The number of normalized units that AWS recommends that you purchase.

                      " + "smithy.api#documentation": "

                      The number of normalized units that Amazon Web Services recommends that you\n purchase.

                      " } }, "MinimumNumberOfInstancesUsedPerHour": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      The minimum number of instances that you used in an hour during the historical\n period. AWS uses this to calculate your recommended reservation purchases.

                      " + "smithy.api#documentation": "

                      The minimum number of instances that you used in an hour during the historical period.\n Amazon Web Services uses this to calculate your recommended reservation\n purchases.

                      " } }, "MinimumNormalizedUnitsUsedPerHour": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      The minimum number of normalized units that you used in an hour during the\n historical period. AWS uses this to calculate your recommended reservation\n purchases.

                      " + "smithy.api#documentation": "

                      The minimum number of normalized units that you used in an hour during the historical\n period. Amazon Web Services uses this to calculate your recommended reservation\n purchases.

                      " } }, "MaximumNumberOfInstancesUsedPerHour": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      The maximum number of instances that you used in an hour during the historical\n period. AWS uses this to calculate your recommended reservation purchases.

                      " + "smithy.api#documentation": "

                      The maximum number of instances that you used in an hour during the historical period.\n Amazon Web Services uses this to calculate your recommended reservation\n purchases.

                      " } }, "MaximumNormalizedUnitsUsedPerHour": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      The maximum number of normalized units that you used in an hour during the\n historical period. AWS uses this to calculate your recommended reservation\n purchases.

                      " + "smithy.api#documentation": "

                      The maximum number of normalized units that you used in an hour during the historical\n period. Amazon Web Services uses this to calculate your recommended reservation\n purchases.

                      " } }, "AverageNumberOfInstancesUsedPerHour": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      The average number of instances that you used in an hour during the historical\n period. AWS uses this to calculate your recommended reservation purchases.

                      " + "smithy.api#documentation": "

                      The average number of instances that you used in an hour during the historical period.\n Amazon Web Services uses this to calculate your recommended reservation\n purchases.

                      " } }, "AverageNormalizedUnitsUsedPerHour": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      The average number of normalized units that you used in an hour during the\n historical period. AWS uses this to calculate your recommended reservation\n purchases.

                      " + "smithy.api#documentation": "

                      The average number of normalized units that you used in an hour during the historical\n period. Amazon Web Services uses this to calculate your recommended reservation\n purchases.

                      " } }, "AverageUtilization": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      The average utilization of your instances. AWS uses this to calculate your\n recommended reservation purchases.

                      " + "smithy.api#documentation": "

                      The average utilization of your instances. Amazon Web Services uses this to calculate\n your recommended reservation purchases.

                      " } }, "EstimatedBreakEvenInMonths": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      How long AWS estimates that it takes for this instance to start saving you money,\n in months.

                      " + "smithy.api#documentation": "

                      How long Amazon Web Services estimates that it takes for this instance to start saving\n you money, in months.

                      " } }, "CurrencyCode": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      The currency code that AWS used to calculate the costs for this instance.

                      " + "smithy.api#documentation": "

                      The currency code that Amazon Web Services used to calculate the costs for this\n instance.

                      " } }, "EstimatedMonthlySavingsAmount": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      How much AWS estimates that this specific recommendation could save you in a\n month.

                      " + "smithy.api#documentation": "

                      How much Amazon Web Services estimates that this specific recommendation could save you\n in a month.

                      " } }, "EstimatedMonthlySavingsPercentage": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      How much AWS estimates that this specific recommendation could save you in a month,\n as a percentage of your overall costs.

                      " + "smithy.api#documentation": "

                      How much Amazon Web Services estimates that this specific recommendation could save you\n in a month, as a percentage of your overall costs.

                      " } }, "EstimatedMonthlyOnDemandCost": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      How much AWS estimates that you spend on On-Demand Instances in a month.

                      " + "smithy.api#documentation": "

                      How much Amazon Web Services estimates that you spend on On-Demand Instances in a\n month.

                      " } }, "EstimatedReservationCostForLookbackPeriod": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      How much AWS estimates that you would have spent for all usage during the specified\n historical period if you had\n a\n reservation.

                      " + "smithy.api#documentation": "

                      How much Amazon Web Services estimates that you would have spent for all usage during\n the specified historical period if you had a reservation.

                      " } }, "UpfrontCost": { @@ -4931,12 +5078,12 @@ "GenerationTimestamp": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      The timestamp for when AWS made this recommendation.

                      " + "smithy.api#documentation": "

                      The timestamp for when Amazon Web Services made this recommendation.

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

                      Information about this specific recommendation, such as the timestamp for when AWS\n made a specific recommendation.

                      " + "smithy.api#documentation": "

                      Information about this specific recommendation, such as the timestamp for when Amazon Web Services made a specific recommendation.

                      " } }, "com.amazonaws.costexplorer#ReservationPurchaseRecommendationSummary": { @@ -4945,13 +5092,13 @@ "TotalEstimatedMonthlySavingsAmount": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      The total amount that AWS estimates that this recommendation could save you in a\n month.

                      " + "smithy.api#documentation": "

                      The total amount that Amazon Web Services estimates that this recommendation could save\n you in a month.

                      " } }, "TotalEstimatedMonthlySavingsPercentage": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      The total amount that AWS estimates that this recommendation could save you in a\n month, as a percentage of your costs.

                      " + "smithy.api#documentation": "

                      The total amount that Amazon Web Services estimates that this recommendation could save\n you in a month, as a percentage of your costs.

                      " } }, "CurrencyCode": { @@ -4962,7 +5109,7 @@ } }, "traits": { - "smithy.api#documentation": "

                      A summary about this recommendation, such as the currency code, the amount that AWS\n estimates that you could save, and the total amount of reservation to\n purchase.

                      " + "smithy.api#documentation": "

                      A summary about this recommendation, such as the currency code, the amount that\n Amazon Web Services estimates that you could save, and the total amount of\n reservation to purchase.

                      " } }, "com.amazonaws.costexplorer#ReservationPurchaseRecommendations": { @@ -5048,12 +5195,12 @@ "EC2ResourceUtilization": { "target": "com.amazonaws.costexplorer#EC2ResourceUtilization", "traits": { - "smithy.api#documentation": "

                      Utilization of current Amazon EC2 instance.

                      " + "smithy.api#documentation": "

                      The utilization of current Amazon EC2 instance.

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

                      Resource utilization of current resource.

                      " + "smithy.api#documentation": "

                      Resource utilization of current resource.

                      " } }, "com.amazonaws.costexplorer#ResultByTime": { @@ -5080,12 +5227,12 @@ "Estimated": { "target": "com.amazonaws.costexplorer#Estimated", "traits": { - "smithy.api#documentation": "

                      Whether\n the result is estimated.

                      " + "smithy.api#documentation": "

                      Determines whether the result is estimated.

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

                      The result that is associated with a time period.

                      " + "smithy.api#documentation": "

                      The result that's associated with a time period.

                      " } }, "com.amazonaws.costexplorer#ResultsByTime": { @@ -5106,31 +5253,31 @@ "CurrentInstance": { "target": "com.amazonaws.costexplorer#CurrentInstance", "traits": { - "smithy.api#documentation": "

                      Context regarding the current instance.

                      " + "smithy.api#documentation": "

                      Context regarding the current instance.

                      " } }, "RightsizingType": { "target": "com.amazonaws.costexplorer#RightsizingType", "traits": { - "smithy.api#documentation": "

                      Recommendation to either terminate or modify the resource.

                      " + "smithy.api#documentation": "

                      A recommendation to either terminate or modify the resource.

                      " } }, "ModifyRecommendationDetail": { "target": "com.amazonaws.costexplorer#ModifyRecommendationDetail", "traits": { - "smithy.api#documentation": "

                      Details for modification recommendations.

                      " + "smithy.api#documentation": "

                      The details for the modification recommendations.

                      " } }, "TerminateRecommendationDetail": { "target": "com.amazonaws.costexplorer#TerminateRecommendationDetail", "traits": { - "smithy.api#documentation": "

                      Details for termination recommendations.

                      " + "smithy.api#documentation": "

                      The details for termination recommendations.

                      " } }, "FindingReasonCodes": { "target": "com.amazonaws.costexplorer#FindingReasonCodes", "traits": { - "smithy.api#documentation": "

                      \n The list of possible reasons why the recommendation is generated such as under or over utilization of specific metrics (for example, CPU, Memory, Network).\n

                      " + "smithy.api#documentation": "

                      The list of possible reasons why the recommendation is generated such as under or\n over utilization of specific metrics (for example, CPU, Memory, Network).

                      " } } }, @@ -5144,20 +5291,20 @@ "RecommendationTarget": { "target": "com.amazonaws.costexplorer#RecommendationTarget", "traits": { - "smithy.api#documentation": "

                      \n The option to see recommendations within the same instance family, or recommendations for instances across other families. The default value is SAME_INSTANCE_FAMILY.\n

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

                      The option to see recommendations within the same instance family or recommendations\n for instances across other families. The default value is\n SAME_INSTANCE_FAMILY.

                      ", "smithy.api#required": {} } }, "BenefitsConsidered": { "target": "com.amazonaws.costexplorer#GenericBoolean", "traits": { - "smithy.api#documentation": "

                      \n The option to consider RI or Savings Plans discount benefits in your savings calculation. The default value is TRUE.\n

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

                      The option to consider RI or Savings Plans discount benefits in your savings\n calculation. The default value is TRUE.

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

                      Enables you to customize recommendations across two attributes. You can choose to view\n recommendations for instances within the same instance families or across different instance\n families. You can also choose to view your estimated savings associated with recommendations\n with consideration of existing Savings Plans or RI benefits, or\n neither.

                      " + "smithy.api#documentation": "

                      You can use RightsizingRecommendationConfiguration to customize\n recommendations across two attributes. You can choose to view recommendations for\n instances within the same instance families or across different instance families. You\n can also choose to view your estimated savings that are associated with recommendations\n with consideration of existing Savings Plans or RI benefits, or neither.

                      " } }, "com.amazonaws.costexplorer#RightsizingRecommendationList": { @@ -5172,25 +5319,25 @@ "RecommendationId": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      The ID for this specific recommendation.

                      " + "smithy.api#documentation": "

                      The ID for this specific recommendation.

                      " } }, "GenerationTimestamp": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      The timestamp for when AWS made this recommendation.

                      " + "smithy.api#documentation": "

                      The timestamp for when Amazon Web Services made this recommendation.

                      " } }, "LookbackPeriodInDays": { "target": "com.amazonaws.costexplorer#LookbackPeriodInDays", "traits": { - "smithy.api#documentation": "

                      How many days of previous usage that AWS considers when making this\n recommendation.

                      " + "smithy.api#documentation": "

                      The number of days of previous usage that Amazon Web Services considers when making\n this recommendation.

                      " } }, "AdditionalMetadata": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      Additional metadata that may be applicable to the recommendation.

                      " + "smithy.api#documentation": "

                      Additional metadata that might be applicable to the recommendation.

                      " } } }, @@ -5204,30 +5351,30 @@ "TotalRecommendationCount": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      Total number of instance recommendations.

                      " + "smithy.api#documentation": "

                      The total number of instance recommendations.

                      " } }, "EstimatedTotalMonthlySavingsAmount": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      Estimated total savings resulting from modifications, on a monthly basis.

                      " + "smithy.api#documentation": "

                      The estimated total savings resulting from modifications, on a monthly basis.

                      " } }, "SavingsCurrencyCode": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      The currency code that AWS used to calculate the savings.

                      " + "smithy.api#documentation": "

                      The currency code that Amazon Web Services used to calculate the savings.

                      " } }, "SavingsPercentage": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      Savings percentage based on the recommended modifications, relative to the total\n On-Demand\n costs associated with these instances.

                      " + "smithy.api#documentation": "

                      The savings percentage based on the recommended modifications. It's relative to the\n total On-Demand costs that are associated with these instances.

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

                      Summary of rightsizing recommendations

                      " + "smithy.api#documentation": "

                      The summary of rightsizing recommendations

                      " } }, "com.amazonaws.costexplorer#RightsizingType": { @@ -5251,30 +5398,30 @@ "Service": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      \n The AWS service name associated with the cost anomaly.\n

                      " + "smithy.api#documentation": "

                      The Amazon Web Services service name that's associated with the cost anomaly.

                      " } }, "Region": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      \n The AWS Region associated with the cost anomaly.\n

                      " + "smithy.api#documentation": "

                      The Amazon Web Services Region that's associated with the cost anomaly.

                      " } }, "LinkedAccount": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      \n The linked account value associated with the cost anomaly.\n

                      " + "smithy.api#documentation": "

                      The member account value that's associated with the cost anomaly.

                      " } }, "UsageType": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      \n The UsageType value associated with the cost anomaly.\n

                      " + "smithy.api#documentation": "

                      The UsageType value that's associated with the cost anomaly.

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

                      \n The combination of AWS service, linked account, Region, and usage type where a cost anomaly is observed.\n

                      " + "smithy.api#documentation": "

                      The combination of Amazon Web Services service, linked account, Region, and usage type\n where a cost anomaly is observed.

                      " } }, "com.amazonaws.costexplorer#RootCauses": { @@ -5292,24 +5439,24 @@ "AmortizedRecurringCommitment": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      The amortized amount of your Savings Plans commitment that was purchased with either a Partial or a NoUpfront.

                      " + "smithy.api#documentation": "

                      The amortized amount of your Savings Plans commitment that was purchased with either a\n Partial or a NoUpfront.

                      " } }, "AmortizedUpfrontCommitment": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      The amortized amount of your Savings Plans commitment that was purchased with an Upfront or PartialUpfront Savings Plans.

                      " + "smithy.api#documentation": "

                      The amortized amount of your Savings Plans commitment that was purchased with an\n Upfront or PartialUpfront Savings Plans.

                      " } }, "TotalAmortizedCommitment": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      The total amortized amount of your Savings Plans commitment, regardless of your Savings Plans purchase method.

                      " + "smithy.api#documentation": "

                      The total amortized amount of your Savings Plans commitment, regardless of your\n Savings Plans purchase method.

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

                      The amortized amount of Savings Plans purchased in a specific account during a specific time interval.

                      " + "smithy.api#documentation": "

                      The amortized amount of Savings Plans purchased in a specific account during a\n specific time interval.

                      " } }, "com.amazonaws.costexplorer#SavingsPlansCoverage": { @@ -5332,7 +5479,7 @@ } }, "traits": { - "smithy.api#documentation": "

                      The amount of Savings Plans eligible usage that is covered by Savings Plans. All calculations consider the On-Demand equivalent of your Savings Plans usage.

                      " + "smithy.api#documentation": "

                      The amount of Savings Plans eligible usage that is covered by Savings Plans. All\n calculations consider the On-Demand equivalent of your Savings Plans usage.

                      " } }, "com.amazonaws.costexplorer#SavingsPlansCoverageData": { @@ -5341,30 +5488,30 @@ "SpendCoveredBySavingsPlans": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      The amount of your AWS usage that is covered by a Savings Plans.

                      " + "smithy.api#documentation": "

                      The amount of your Amazon Web Services usage that is covered by a Savings Plans.

                      " } }, "OnDemandCost": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      The cost of your AWS usage at the public On-Demand rate.

                      " + "smithy.api#documentation": "

                      The cost of your Amazon Web Services usage at the public On-Demand rate.

                      " } }, "TotalCost": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      The total cost of your AWS usage, regardless of your purchase option.

                      " + "smithy.api#documentation": "

                      The total cost of your Amazon Web Services usage, regardless of your purchase\n option.

                      " } }, "CoveragePercentage": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      The percentage of your existing Savings Plans covered usage, divided by all of your\n eligible Savings Plans usage in an account(or set of accounts).

                      " + "smithy.api#documentation": "

                      The percentage of your existing Savings Plans covered usage, divided by all of your\n eligible Savings Plans usage in an account (or set of accounts).

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

                      Specific coverage percentage, On-Demand costs, and spend covered by Savings Plans, and total Savings Plans costs for an account.

                      " + "smithy.api#documentation": "

                      Specific coverage percentage, On-Demand costs, and spend covered by Savings Plans, and\n total Savings Plans costs for an account.

                      " } }, "com.amazonaws.costexplorer#SavingsPlansCoverages": { @@ -5408,7 +5555,7 @@ "Region": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      A collection of AWS resources in a geographic area. Each AWS Region is isolated and independent of the other Regions.

                      " + "smithy.api#documentation": "

                      A collection of Amazon Web Services resources in a geographic area. Each Amazon Web Services Region is isolated and independent of the other Regions.

                      " } }, "InstanceFamily": { @@ -5420,12 +5567,12 @@ "OfferingId": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      The unique ID used to distinguish Savings Plans from one another.

                      " + "smithy.api#documentation": "

                      The unique ID that's used to distinguish Savings Plans from one another.

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

                      Attribute details on a specific Savings Plan.

                      " + "smithy.api#documentation": "

                      The attribute details on a specific Savings Plan.

                      " } }, "com.amazonaws.costexplorer#SavingsPlansPurchaseRecommendation": { @@ -5434,7 +5581,7 @@ "AccountScope": { "target": "com.amazonaws.costexplorer#AccountScope", "traits": { - "smithy.api#documentation": "

                      The account scope that you want your recommendations for. Amazon Web Services calculates recommendations including the management account and member accounts if the value is set to PAYER. If the value is LINKED, recommendations are calculated for individual member accounts only.

                      " + "smithy.api#documentation": "

                      The account scope that you want your recommendations for. Amazon Web Services\n calculates recommendations that include the management account and member accounts if\n the value is set to PAYER. If the value is LINKED,\n recommendations are calculated for individual member accounts only.

                      " } }, "SavingsPlansType": { @@ -5446,7 +5593,7 @@ "TermInYears": { "target": "com.amazonaws.costexplorer#TermInYears", "traits": { - "smithy.api#documentation": "

                      The Savings Plans recommendation term in years, used to generate the recommendation.

                      " + "smithy.api#documentation": "

                      The Savings Plans recommendation term in years. It's used to generate the\n recommendation.

                      " } }, "PaymentOption": { @@ -5475,7 +5622,7 @@ } }, "traits": { - "smithy.api#documentation": "

                      Contains your request parameters, Savings Plan Recommendations Summary, and Details.

                      " + "smithy.api#documentation": "

                      Contains your request parameters, Savings Plan Recommendations Summary, and\n Details.

                      " } }, "com.amazonaws.costexplorer#SavingsPlansPurchaseRecommendationDetail": { @@ -5496,55 +5643,55 @@ "UpfrontCost": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      The upfront cost of the recommended Savings Plans, based on the selected payment option.

                      " + "smithy.api#documentation": "

                      The upfront cost of the recommended Savings Plans, based on the selected payment\n option.

                      " } }, "EstimatedROI": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      The estimated return on investment based on the recommended Savings Plans purchased. This is calculated as estimatedSavingsAmount/ estimatedSPCost*100.

                      " + "smithy.api#documentation": "

                      The estimated return on investment that's based on the recommended Savings Plans that\n you purchased. This is calculated as estimatedSavingsAmount/\n estimatedSPCost*100.

                      " } }, "CurrencyCode": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      The currency code AWS used to generate the recommendations and present potential\n savings.

                      " + "smithy.api#documentation": "

                      The currency code that Amazon Web Services used to generate the recommendations and\n present potential savings.

                      " } }, "EstimatedSPCost": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      The cost of the recommended Savings Plans over the length of the lookback period.

                      " + "smithy.api#documentation": "

                      The cost of the recommended Savings Plans over the length of the lookback\n period.

                      " } }, "EstimatedOnDemandCost": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      The remaining On-Demand cost estimated to not be covered by the recommended Savings Plans, over the length of the lookback period.

                      " + "smithy.api#documentation": "

                      The remaining On-Demand cost estimated to not be covered by the recommended Savings\n Plans, over the length of the lookback period.

                      " } }, "EstimatedOnDemandCostWithCurrentCommitment": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      \n The estimated On-Demand costs you would expect with no additional commitment, based on your usage of the selected time period and the Savings Plans you own.\n

                      " + "smithy.api#documentation": "

                      The estimated On-Demand costs you would expect with no additional commitment, based\n on your usage of the selected time period and the Savings Plans you own.

                      " } }, "EstimatedSavingsAmount": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      The estimated savings amount based on the recommended Savings Plans over the length of the lookback period.

                      " + "smithy.api#documentation": "

                      The estimated savings amount that's based on the recommended Savings Plans over the\n length of the lookback period.

                      " } }, "EstimatedSavingsPercentage": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      The estimated savings percentage relative to the total cost of applicable On-Demand usage over the lookback period.

                      " + "smithy.api#documentation": "

                      The estimated savings percentage relative to the total cost of applicable On-Demand\n usage over the lookback period.

                      " } }, "HourlyCommitmentToPurchase": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      The recommended hourly commitment level for the Savings Plans type, and configuration based on the usage during the lookback period.

                      " + "smithy.api#documentation": "

                      The recommended hourly commitment level for the Savings Plans type and the\n configuration that's based on the usage during the lookback period.

                      " } }, "EstimatedAverageUtilization": { @@ -5556,25 +5703,25 @@ "EstimatedMonthlySavingsAmount": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      The estimated monthly savings amount, based on the recommended Savings Plans.

                      " + "smithy.api#documentation": "

                      The estimated monthly savings amount based on the recommended Savings Plans.

                      " } }, "CurrentMinimumHourlyOnDemandSpend": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      The lowest value of hourly On-Demand spend over the lookback period of the applicable usage type.

                      " + "smithy.api#documentation": "

                      The lowest value of hourly On-Demand spend over the lookback period of the applicable\n usage type.

                      " } }, "CurrentMaximumHourlyOnDemandSpend": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      The highest value of hourly On-Demand spend over the lookback period of the applicable usage type.

                      " + "smithy.api#documentation": "

                      The highest value of hourly On-Demand spend over the lookback period of the applicable\n usage type.

                      " } }, "CurrentAverageHourlyOnDemandSpend": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      The average value of hourly On-Demand spend over the lookback period of the applicable usage type.

                      " + "smithy.api#documentation": "

                      The average value of hourly On-Demand spend over the lookback period of the applicable\n usage type.

                      " } } }, @@ -5606,7 +5753,7 @@ "AdditionalMetadata": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      Additional metadata that may be applicable to the recommendation.

                      " + "smithy.api#documentation": "

                      Additional metadata that might be applicable to the recommendation.

                      " } } }, @@ -5620,37 +5767,37 @@ "EstimatedROI": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      The estimated return on investment based on the recommended Savings Plans and estimated savings.

                      " + "smithy.api#documentation": "

                      The estimated return on investment that's based on the recommended Savings Plans and\n estimated savings.

                      " } }, "CurrencyCode": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      The currency code AWS used to generate the recommendations and present potential\n savings.

                      " + "smithy.api#documentation": "

                      The currency code that Amazon Web Services used to generate the recommendations and\n present potential savings.

                      " } }, "EstimatedTotalCost": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      The estimated total cost of the usage after purchasing the recommended Savings Plans. This is a sum of the cost of Savings Plans during this term, and the remaining On-Demand usage.

                      " + "smithy.api#documentation": "

                      The estimated total cost of the usage after purchasing the recommended Savings Plans.\n This is a sum of the cost of Savings Plans during this term, and the remaining On-Demand\n usage.

                      " } }, "CurrentOnDemandSpend": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      The current total on demand spend of the applicable usage types over the lookback period.

                      " + "smithy.api#documentation": "

                      The current total on demand spend of the applicable usage types over the lookback\n period.

                      " } }, "EstimatedSavingsAmount": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      The estimated total savings over the lookback period, based on the purchase of the recommended Savings Plans.

                      " + "smithy.api#documentation": "

                      The estimated total savings over the lookback period, based on the purchase of the\n recommended Savings Plans.

                      " } }, "TotalRecommendationCount": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      The aggregate number of Savings Plans recommendations that exist for your account.

                      " + "smithy.api#documentation": "

                      The aggregate number of Savings Plans recommendations that exist for your\n account.

                      " } }, "DailyCommitmentToPurchase": { @@ -5662,25 +5809,25 @@ "HourlyCommitmentToPurchase": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      The recommended hourly commitment based on the recommendation parameters.

                      " + "smithy.api#documentation": "

                      The recommended hourly commitment that's based on the recommendation\n parameters.

                      " } }, "EstimatedSavingsPercentage": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      The estimated savings relative to the total cost of On-Demand usage, over the lookback period. This is calculated as estimatedSavingsAmount/ CurrentOnDemandSpend*100.

                      " + "smithy.api#documentation": "

                      The estimated savings relative to the total cost of On-Demand usage, over the lookback\n period. This is calculated as estimatedSavingsAmount/\n CurrentOnDemandSpend*100.

                      " } }, "EstimatedMonthlySavingsAmount": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      The estimated monthly savings amount, based on the recommended Savings Plans purchase.

                      " + "smithy.api#documentation": "

                      The estimated monthly savings amount that's based on the recommended Savings Plans\n purchase.

                      " } }, "EstimatedOnDemandCostWithCurrentCommitment": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      \n The estimated On-Demand costs you would expect with no additional commitment, based on your usage of the selected time period and the Savings Plans you own.\n

                      " + "smithy.api#documentation": "

                      The estimated On-Demand costs you would expect with no additional commitment. It's\n based on your usage of the selected time period and the Savings Plans you own.

                      " } } }, @@ -5694,18 +5841,18 @@ "NetSavings": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      The savings amount that you are accumulating for the usage that is covered by a Savings Plans, when compared to the On-Demand equivalent of the same usage.

                      " + "smithy.api#documentation": "

                      The savings amount that you're accumulating for the usage that's covered by a Savings\n Plans, when compared to the On-Demand equivalent of the same usage.

                      " } }, "OnDemandCostEquivalent": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      How much the amount that the usage would have cost if it was\n accrued\n at the On-Demand rate.

                      " + "smithy.api#documentation": "

                      How much the amount that the usage would have cost if it was accrued at the On-Demand\n rate.

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

                      The amount of savings you're accumulating, against the public On-Demand rate of the usage accrued in an account.

                      " + "smithy.api#documentation": "

                      The amount of savings that you're accumulating, against the public On-Demand rate of\n the usage accrued in an account.

                      " } }, "com.amazonaws.costexplorer#SavingsPlansUtilization": { @@ -5714,30 +5861,30 @@ "TotalCommitment": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      The total amount of Savings Plans commitment that's been purchased in an account (or set of accounts).

                      " + "smithy.api#documentation": "

                      The total amount of Savings Plans commitment that's been purchased in an account (or\n set of accounts).

                      " } }, "UsedCommitment": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      The amount of your Savings Plans commitment that was consumed from Savings Plans eligible usage in a specific period.

                      " + "smithy.api#documentation": "

                      The amount of your Savings Plans commitment that was consumed from Savings Plans\n eligible usage in a specific period.

                      " } }, "UnusedCommitment": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      The amount of your Savings Plans commitment that was not consumed from Savings Plans eligible usage in a specific period.

                      " + "smithy.api#documentation": "

                      The amount of your Savings Plans commitment that wasn't consumed from Savings Plans\n eligible usage in a specific period.

                      " } }, "UtilizationPercentage": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      The amount of UsedCommitment divided by the TotalCommitment for your Savings Plans.

                      " + "smithy.api#documentation": "

                      The amount of UsedCommitment divided by the TotalCommitment\n for your Savings Plans.

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

                      The measurement of how well you are using your existing Savings Plans.

                      " + "smithy.api#documentation": "

                      The measurement of how well you're using your existing Savings Plans.

                      " } }, "com.amazonaws.costexplorer#SavingsPlansUtilizationAggregates": { @@ -5746,20 +5893,20 @@ "Utilization": { "target": "com.amazonaws.costexplorer#SavingsPlansUtilization", "traits": { - "smithy.api#documentation": "

                      A ratio of your effectiveness of using existing Savings Plans to apply to workloads that are Savings Plans eligible.

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

                      A ratio of your effectiveness of using existing Savings Plans to apply to workloads\n that are Savings Plans eligible.

                      ", "smithy.api#required": {} } }, "Savings": { "target": "com.amazonaws.costexplorer#SavingsPlansSavings", "traits": { - "smithy.api#documentation": "

                      The amount saved by using existing Savings Plans. Savings returns both net savings from Savings Plans, as well as the onDemandCostEquivalent of the Savings Plans when considering the utilization rate.

                      " + "smithy.api#documentation": "

                      The amount saved by using existing Savings Plans. Savings returns both net savings\n from Savings Plans, as well as the onDemandCostEquivalent of the Savings\n Plans when considering the utilization rate.

                      " } }, "AmortizedCommitment": { "target": "com.amazonaws.costexplorer#SavingsPlansAmortizedCommitment", "traits": { - "smithy.api#documentation": "

                      The total amortized commitment for a Savings Plans. This includes the sum of the upfront and recurring Savings Plans fees.

                      " + "smithy.api#documentation": "

                      The total amortized commitment for a Savings Plans. This includes the sum of the\n upfront and recurring Savings Plans fees.

                      " } } }, @@ -5779,20 +5926,20 @@ "Utilization": { "target": "com.amazonaws.costexplorer#SavingsPlansUtilization", "traits": { - "smithy.api#documentation": "

                      A ratio of your effectiveness of using existing Savings Plans to apply to workloads that are Savings Plans eligible.

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

                      A ratio of your effectiveness of using existing Savings Plans to apply to workloads\n that are Savings Plans eligible.

                      ", "smithy.api#required": {} } }, "Savings": { "target": "com.amazonaws.costexplorer#SavingsPlansSavings", "traits": { - "smithy.api#documentation": "

                      The amount saved by using existing Savings Plans. Savings returns both net savings from Savings Plans as well as the onDemandCostEquivalent of the Savings Plans when considering the utilization rate.

                      " + "smithy.api#documentation": "

                      The amount saved by using existing Savings Plans. Savings returns both net savings\n from Savings Plans as well as the onDemandCostEquivalent of the Savings\n Plans when considering the utilization rate.

                      " } }, "AmortizedCommitment": { "target": "com.amazonaws.costexplorer#SavingsPlansAmortizedCommitment", "traits": { - "smithy.api#documentation": "

                      The total amortized commitment for a Savings Plans. This includes the sum of the upfront and recurring Savings Plans fees.

                      " + "smithy.api#documentation": "

                      The total amortized commitment for a Savings Plans. This includes the sum of the\n upfront and recurring Savings Plans fees.

                      " } } }, @@ -5818,24 +5965,24 @@ "Utilization": { "target": "com.amazonaws.costexplorer#SavingsPlansUtilization", "traits": { - "smithy.api#documentation": "

                      A ratio of your effectiveness of using existing Savings Plans to apply to workloads that are Savings Plans eligible.

                      " + "smithy.api#documentation": "

                      A ratio of your effectiveness of using existing Savings Plans to apply to workloads\n that are Savings Plans eligible.

                      " } }, "Savings": { "target": "com.amazonaws.costexplorer#SavingsPlansSavings", "traits": { - "smithy.api#documentation": "

                      The amount saved by using existing Savings Plans. Savings returns both net savings from savings plans as well as the onDemandCostEquivalent of the Savings Plans when considering the utilization rate.

                      " + "smithy.api#documentation": "

                      The amount saved by using existing Savings Plans. Savings returns both net savings\n from savings plans as well as the onDemandCostEquivalent of the Savings\n Plans when considering the utilization rate.

                      " } }, "AmortizedCommitment": { "target": "com.amazonaws.costexplorer#SavingsPlansAmortizedCommitment", "traits": { - "smithy.api#documentation": "

                      The total amortized commitment for a Savings Plans. Includes the sum of the upfront and recurring Savings Plans fees.

                      " + "smithy.api#documentation": "

                      The total amortized commitment for a Savings Plans. Includes the sum of the upfront\n and recurring Savings Plans fees.

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

                      A single daily or monthly Savings Plans utilization rate, and details for your account. A management account in an organization have access to member accounts. You can use GetDimensionValues to determine the possible dimension values.

                      " + "smithy.api#documentation": "

                      A single daily or monthly Savings Plans utilization rate, and details for your\n account. A management account in an organization have access to member accounts. You can\n use GetDimensionValues to determine the possible dimension values.

                      " } }, "com.amazonaws.costexplorer#SavingsPlansUtilizationDetails": { @@ -5857,7 +6004,7 @@ "min": 0, "max": 1024 }, - "smithy.api#pattern": "[\\S\\s]*" + "smithy.api#pattern": "^[\\S\\s]*$" } }, "com.amazonaws.costexplorer#ServiceQuotaExceededException": { @@ -5879,12 +6026,12 @@ "EC2Specification": { "target": "com.amazonaws.costexplorer#EC2Specification", "traits": { - "smithy.api#documentation": "

                      The Amazon EC2 hardware specifications that you want AWS to provide recommendations\n for.

                      " + "smithy.api#documentation": "

                      The Amazon EC2 hardware specifications that you want Amazon Web Services to provide\n recommendations for.

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

                      Hardware specifications for the service that you want recommendations\n for.

                      " + "smithy.api#documentation": "

                      Hardware specifications for the service that you want recommendations for.

                      " } }, "com.amazonaws.costexplorer#SortDefinition": { @@ -5893,14 +6040,14 @@ "Key": { "target": "com.amazonaws.costexplorer#SortDefinitionKey", "traits": { - "smithy.api#documentation": "

                      The key by which to sort the data.

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

                      The key that's used to sort the data.

                      ", "smithy.api#required": {} } }, "SortOrder": { "target": "com.amazonaws.costexplorer#SortOrder", "traits": { - "smithy.api#documentation": "

                      The order in which to sort the data.

                      " + "smithy.api#documentation": "

                      The order that's used to sort the data.

                      " } } }, @@ -5915,7 +6062,7 @@ "min": 0, "max": 1024 }, - "smithy.api#pattern": "[\\S\\s]*" + "smithy.api#pattern": "^[\\S\\s]*$" } }, "com.amazonaws.costexplorer#SortDefinitions": { @@ -5945,24 +6092,24 @@ "Address": { "target": "com.amazonaws.costexplorer#SubscriberAddress", "traits": { - "smithy.api#documentation": "

                      The email address or SNS Amazon Resource Name (ARN), depending on the Type.

                      " + "smithy.api#documentation": "

                      The email address or SNS Amazon Resource Name (ARN). This depends on the\n Type.

                      " } }, "Type": { "target": "com.amazonaws.costexplorer#SubscriberType", "traits": { - "smithy.api#documentation": "

                      \n The notification delivery channel.\n

                      " + "smithy.api#documentation": "

                      The notification delivery channel.

                      " } }, "Status": { "target": "com.amazonaws.costexplorer#SubscriberStatus", "traits": { - "smithy.api#documentation": "

                      Indicates if the subscriber accepts the notifications.

                      " + "smithy.api#documentation": "

                      Indicates if the subscriber accepts the notifications.

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

                      \n The recipient of AnomalySubscription notifications.\n

                      " + "smithy.api#documentation": "

                      The recipient of AnomalySubscription notifications.

                      " } }, "com.amazonaws.costexplorer#SubscriberAddress": { @@ -5972,7 +6119,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_-]+$)$" } }, "com.amazonaws.costexplorer#SubscriberStatus": { @@ -6037,7 +6184,7 @@ "min": 0, "max": 1024 }, - "smithy.api#pattern": "[\\S\\s]*" + "smithy.api#pattern": "^[\\S\\s]*$" } }, "com.amazonaws.costexplorer#TagList": { @@ -6064,12 +6211,12 @@ "MatchOptions": { "target": "com.amazonaws.costexplorer#MatchOptions", "traits": { - "smithy.api#documentation": "

                      The match options that you can use to filter your results.\n MatchOptions is only applicable for actions related to Cost Category.\n The default values for MatchOptions are EQUALS and\n CASE_SENSITIVE.

                      " + "smithy.api#documentation": "

                      The match options that you can use to filter your results. MatchOptions\n is only applicable for actions related to Cost Category. The default values for\n MatchOptions are EQUALS and\n CASE_SENSITIVE.

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

                      The values that are available for a tag.

                      \n\t\t

                      If Values and Key are not specified, the ABSENT \n MatchOption is applied to all tags. That is, filtering on resources with no tags.

                      \n

                      If Values is provided and Key is not specified, the ABSENT \n MatchOption is applied to the tag Key only. That is, filtering on resources without the given tag key.

                      " + "smithy.api#documentation": "

                      The values that are available for a tag.

                      \n

                      If Values and Key aren't specified, the ABSENT\n MatchOption is applied to all tags. That is, it's filtered on resources\n with no tags.

                      \n

                      If Values is provided and Key isn't specified, the\n ABSENT\n MatchOption is applied to the tag Key only. That is, it's\n filtered on resources without the given tag key.

                      " } }, "com.amazonaws.costexplorer#TagValuesList": { @@ -6084,48 +6231,48 @@ "EstimatedMonthlyCost": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      Expected cost to operate this instance type on a monthly basis.

                      " + "smithy.api#documentation": "

                      The expected cost to operate this instance type on a monthly basis.

                      " } }, "EstimatedMonthlySavings": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      Estimated savings resulting from modification, on a monthly basis.

                      " + "smithy.api#documentation": "

                      The estimated savings that result from modification, on a monthly basis.

                      " } }, "CurrencyCode": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      The currency code that AWS used to calculate the costs for this instance.

                      " + "smithy.api#documentation": "

                      The currency code that Amazon Web Services used to calculate the costs for this\n instance.

                      " } }, "DefaultTargetInstance": { "target": "com.amazonaws.costexplorer#GenericBoolean", "traits": { - "smithy.api#documentation": "

                      Indicates whether this recommendation is the defaulted AWS recommendation.

                      " + "smithy.api#documentation": "

                      Determines whether this recommendation is the defaulted Amazon Web Services\n recommendation.

                      " } }, "ResourceDetails": { "target": "com.amazonaws.costexplorer#ResourceDetails", "traits": { - "smithy.api#documentation": "

                      Details on the target instance type.

                      " + "smithy.api#documentation": "

                      Details on the target instance type.

                      " } }, "ExpectedResourceUtilization": { "target": "com.amazonaws.costexplorer#ResourceUtilization", "traits": { - "smithy.api#documentation": "

                      Expected utilization metrics for target instance type.

                      " + "smithy.api#documentation": "

                      The expected utilization metrics for target instance type.

                      " } }, "PlatformDifferences": { "target": "com.amazonaws.costexplorer#PlatformDifferences", "traits": { - "smithy.api#documentation": "

                      \n Explains the actions you might need to take in order to successfully migrate your workloads from the current instance type to the recommended instance type.\n

                      " + "smithy.api#documentation": "

                      Explains the actions you might need to take in order to successfully migrate your\n workloads from the current instance type to the recommended instance type.

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

                      Details on recommended instance.

                      " + "smithy.api#documentation": "

                      Details on recommended instance.

                      " } }, "com.amazonaws.costexplorer#TargetInstancesList": { @@ -6155,18 +6302,18 @@ "EstimatedMonthlySavings": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      Estimated savings resulting from modification, on a monthly basis.

                      " + "smithy.api#documentation": "

                      The estimated savings that result from modification, on a monthly basis.

                      " } }, "CurrencyCode": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      The currency code that AWS used to calculate the costs for this instance.

                      " + "smithy.api#documentation": "

                      The currency code that Amazon Web Services used to calculate the costs for this\n instance.

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

                      Details on termination recommendation.

                      " + "smithy.api#documentation": "

                      Details on termination recommendation.

                      " } }, "com.amazonaws.costexplorer#TotalActualHours": { @@ -6184,26 +6331,26 @@ "NumericOperator": { "target": "com.amazonaws.costexplorer#NumericOperator", "traits": { - "smithy.api#documentation": "

                      \n The comparing value used in the filter.\n

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

                      The comparing value that's used in the filter.

                      ", "smithy.api#required": {} } }, "StartValue": { "target": "com.amazonaws.costexplorer#GenericDouble", "traits": { - "smithy.api#documentation": "

                      \n The lower bound dollar value used in the filter.\n

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

                      The lower bound dollar value that's used in the filter.

                      ", "smithy.api#required": {} } }, "EndValue": { "target": "com.amazonaws.costexplorer#GenericDouble", "traits": { - "smithy.api#documentation": "

                      The upper bound dollar value used in the filter.

                      " + "smithy.api#documentation": "

                      The upper bound dollar value that's used in the filter.

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

                      Filters cost anomalies based on the total impact.

                      " + "smithy.api#documentation": "

                      Filters cost anomalies based on the total impact.

                      " } }, "com.amazonaws.costexplorer#TotalPotentialRISavings": { @@ -6279,7 +6426,7 @@ } ], "traits": { - "smithy.api#documentation": "

                      Updates an existing cost anomaly monitor. The changes made are applied going forward, and\n does not change anomalies detected in the past.

                      " + "smithy.api#documentation": "

                      Updates an existing cost anomaly monitor. The changes made are applied going forward, and\n doesn'tt change anomalies detected in the past.

                      " } }, "com.amazonaws.costexplorer#UpdateAnomalyMonitorRequest": { @@ -6288,14 +6435,14 @@ "MonitorArn": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      Cost anomaly monitor Amazon Resource Names (ARNs).

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

                      Cost anomaly monitor Amazon Resource Names (ARNs).

                      ", "smithy.api#required": {} } }, "MonitorName": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      \n The new name for the cost anomaly monitor.\n

                      " + "smithy.api#documentation": "

                      The new name for the cost anomaly monitor.

                      " } } } @@ -6306,7 +6453,7 @@ "MonitorArn": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      \n A cost anomaly monitor ARN.\n

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

                      A cost anomaly monitor ARN.

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

                      Updates an existing cost anomaly monitor subscription.

                      " + "smithy.api#documentation": "

                      Updates an existing cost anomaly monitor subscription.

                      " } }, "com.amazonaws.costexplorer#UpdateAnomalySubscriptionRequest": { @@ -6341,38 +6488,38 @@ "SubscriptionArn": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      A cost anomaly subscription Amazon Resource Name (ARN).

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

                      A cost anomaly subscription Amazon Resource Name (ARN).

                      ", "smithy.api#required": {} } }, "Threshold": { "target": "com.amazonaws.costexplorer#NullableNonNegativeDouble", "traits": { - "smithy.api#documentation": "

                      \n The update to the threshold value for receiving notifications.\n

                      " + "smithy.api#documentation": "

                      The update to the threshold value for receiving notifications.

                      " } }, "Frequency": { "target": "com.amazonaws.costexplorer#AnomalySubscriptionFrequency", "traits": { - "smithy.api#documentation": "

                      \n The update to the frequency value at which subscribers will receive notifications.\n

                      " + "smithy.api#documentation": "

                      The update to the frequency value that subscribers receive notifications.

                      " } }, "MonitorArnList": { "target": "com.amazonaws.costexplorer#MonitorArnList", "traits": { - "smithy.api#documentation": "

                      \n A list of cost anomaly monitor ARNs.\n

                      " + "smithy.api#documentation": "

                      A list of cost anomaly monitor ARNs.

                      " } }, "Subscribers": { "target": "com.amazonaws.costexplorer#Subscribers", "traits": { - "smithy.api#documentation": "

                      \n The update to the subscriber list.\n

                      " + "smithy.api#documentation": "

                      The update to the subscriber list.

                      " } }, "SubscriptionName": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      \n The subscription's new name.\n

                      " + "smithy.api#documentation": "

                      The new name of the subscription.

                      " } } } @@ -6383,7 +6530,7 @@ "SubscriptionArn": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                      \n A cost anomaly subscription ARN.\n

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

                      A cost anomaly subscription ARN.

                      ", "smithy.api#required": {} } } @@ -6437,6 +6584,12 @@ }, "DefaultValue": { "target": "com.amazonaws.costexplorer#CostCategoryValue" + }, + "SplitChargeRules": { + "target": "com.amazonaws.costexplorer#CostCategorySplitChargeRulesList", + "traits": { + "smithy.api#documentation": "

                      \n The split charge rules used to allocate your charges between your Cost Category values.\n

                      " + } } } }, @@ -6502,7 +6655,7 @@ "min": 0, "max": 1024 }, - "smithy.api#pattern": "[\\S\\s]*" + "smithy.api#pattern": "^[\\S\\s]*$" } }, "com.amazonaws.costexplorer#Values": { @@ -6518,7 +6671,7 @@ "min": 0, "max": 40 }, - "smithy.api#pattern": "(\\d{4}-\\d{2}-\\d{2})(T\\d{2}:\\d{2}:\\d{2}Z)?" + "smithy.api#pattern": "^(\\d{4}-\\d{2}-\\d{2})(T\\d{2}:\\d{2}:\\d{2}Z)?$" } }, "com.amazonaws.costexplorer#ZonedDateTime": { diff --git a/codegen/sdk-codegen/aws-models/directory-service.2015-04-16.json b/codegen/sdk-codegen/aws-models/directory-service.2015-04-16.json index ca2da946ed9f..01f436610f81 100644 --- a/codegen/sdk-codegen/aws-models/directory-service.2015-04-16.json +++ b/codegen/sdk-codegen/aws-models/directory-service.2015-04-16.json @@ -137,7 +137,7 @@ } ], "traits": { - "smithy.api#documentation": "

                      If the DNS server for your on-premises domain uses a publicly addressable IP address, you must add a CIDR address block to correctly route traffic to and from your Microsoft AD on Amazon Web Services. AddIpRoutes adds this address block. You can also use AddIpRoutes to facilitate routing traffic that uses public IP ranges from your Microsoft AD on AWS to a peer VPC.

                      \n

                      Before you call AddIpRoutes, ensure that all of the required permissions have been explicitly granted through a policy. For details about what permissions are required to run the AddIpRoutes operation, see AWS Directory Service API Permissions: Actions, Resources, and Conditions Reference.

                      " + "smithy.api#documentation": "

                      If the DNS server for your self-managed domain uses a publicly addressable IP address,\n you must add a CIDR address block to correctly route traffic to and from your Microsoft AD\n on Amazon Web Services. AddIpRoutes adds this address block. You can\n also use AddIpRoutes to facilitate routing traffic that uses public IP\n ranges from your Microsoft AD on Amazon Web Services to a peer VPC.

                      \n

                      Before you call AddIpRoutes, ensure that all of the required\n permissions have been explicitly granted through a policy. For details about what\n permissions are required to run the AddIpRoutes operation, see Directory Service API Permissions: Actions, Resources, and Conditions Reference.

                      " } }, "com.amazonaws.directoryservice#AddIpRoutesRequest": { @@ -153,14 +153,14 @@ "IpRoutes": { "target": "com.amazonaws.directoryservice#IpRoutes", "traits": { - "smithy.api#documentation": "

                      IP address blocks, using CIDR format, of the traffic to route. This is often the IP address block of the DNS server used for your on-premises domain.

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

                      IP address blocks, using CIDR format, of the traffic to route. This is often the IP\n address block of the DNS server used for your self-managed domain.

                      ", "smithy.api#required": {} } }, "UpdateSecurityGroupForDirectoryControllers": { "target": "com.amazonaws.directoryservice#UpdateSecurityGroupForDirectoryControllers", "traits": { - "smithy.api#documentation": "

                      If set to true, updates the inbound and outbound rules of the security group that has the description: \"AWS created security group for directory ID directory controllers.\"\n Following are the new rules:\n

                      \n

                      Inbound:

                      \n
                        \n
                      • \n

                        Type: Custom UDP Rule, Protocol: UDP, Range: 88, Source: 0.0.0.0/0

                        \n
                      • \n
                      • \n

                        Type: Custom UDP Rule, Protocol: UDP, Range: 123, Source: 0.0.0.0/0

                        \n
                      • \n
                      • \n

                        Type: Custom UDP Rule, Protocol: UDP, Range: 138, Source: 0.0.0.0/0

                        \n
                      • \n
                      • \n

                        Type: Custom UDP Rule, Protocol: UDP, Range: 389, Source: 0.0.0.0/0

                        \n
                      • \n
                      • \n

                        Type: Custom UDP Rule, Protocol: UDP, Range: 464, Source: 0.0.0.0/0

                        \n
                      • \n
                      • \n

                        Type: Custom UDP Rule, Protocol: UDP, Range: 445, Source: 0.0.0.0/0

                        \n
                      • \n
                      • \n

                        Type: Custom TCP Rule, Protocol: TCP, Range: 88, Source: 0.0.0.0/0

                        \n
                      • \n
                      • \n

                        Type: Custom TCP Rule, Protocol: TCP, Range: 135, Source: 0.0.0.0/0

                        \n
                      • \n
                      • \n

                        Type: Custom TCP Rule, Protocol: TCP, Range: 445, Source: 0.0.0.0/0

                        \n
                      • \n
                      • \n

                        Type: Custom TCP Rule, Protocol: TCP, Range: 464, Source: 0.0.0.0/0

                        \n
                      • \n
                      • \n

                        Type: Custom TCP Rule, Protocol: TCP, Range: 636, Source: 0.0.0.0/0

                        \n
                      • \n
                      • \n

                        Type: Custom TCP Rule, Protocol: TCP, Range: 1024-65535, Source: 0.0.0.0/0

                        \n
                      • \n
                      • \n

                        Type: Custom TCP Rule, Protocol: TCP, Range: 3268-33269, Source: 0.0.0.0/0

                        \n
                      • \n
                      • \n

                        Type: DNS (UDP), Protocol: UDP, Range: 53, Source: 0.0.0.0/0

                        \n
                      • \n
                      • \n

                        Type: DNS (TCP), Protocol: TCP, Range: 53, Source: 0.0.0.0/0

                        \n
                      • \n
                      • \n

                        Type: LDAP, Protocol: TCP, Range: 389, Source: 0.0.0.0/0

                        \n
                      • \n
                      • \n

                        Type: All ICMP, Protocol: All, Range: N/A, Source: 0.0.0.0/0

                        \n
                      • \n
                      \n \n

                      \n

                      Outbound:

                      \n
                        \n
                      • \n

                        Type: All traffic, Protocol: All, Range: All, Destination: 0.0.0.0/0

                        \n
                      • \n
                      \n

                      These security rules impact an internal network interface that is not exposed publicly.

                      " + "smithy.api#documentation": "

                      If set to true, updates the inbound and outbound rules of the security group that has\n the description: \"Amazon Web Services created security group for directory ID\n directory controllers.\" Following are the new rules:

                      \n

                      Inbound:

                      \n
                        \n
                      • \n

                        Type: Custom UDP Rule, Protocol: UDP, Range: 88, Source: 0.0.0.0/0

                        \n
                      • \n
                      • \n

                        Type: Custom UDP Rule, Protocol: UDP, Range: 123, Source: 0.0.0.0/0

                        \n
                      • \n
                      • \n

                        Type: Custom UDP Rule, Protocol: UDP, Range: 138, Source: 0.0.0.0/0

                        \n
                      • \n
                      • \n

                        Type: Custom UDP Rule, Protocol: UDP, Range: 389, Source: 0.0.0.0/0

                        \n
                      • \n
                      • \n

                        Type: Custom UDP Rule, Protocol: UDP, Range: 464, Source: 0.0.0.0/0

                        \n
                      • \n
                      • \n

                        Type: Custom UDP Rule, Protocol: UDP, Range: 445, Source: 0.0.0.0/0

                        \n
                      • \n
                      • \n

                        Type: Custom TCP Rule, Protocol: TCP, Range: 88, Source: 0.0.0.0/0

                        \n
                      • \n
                      • \n

                        Type: Custom TCP Rule, Protocol: TCP, Range: 135, Source: 0.0.0.0/0

                        \n
                      • \n
                      • \n

                        Type: Custom TCP Rule, Protocol: TCP, Range: 445, Source: 0.0.0.0/0

                        \n
                      • \n
                      • \n

                        Type: Custom TCP Rule, Protocol: TCP, Range: 464, Source: 0.0.0.0/0

                        \n
                      • \n
                      • \n

                        Type: Custom TCP Rule, Protocol: TCP, Range: 636, Source: 0.0.0.0/0

                        \n
                      • \n
                      • \n

                        Type: Custom TCP Rule, Protocol: TCP, Range: 1024-65535, Source:\n 0.0.0.0/0

                        \n
                      • \n
                      • \n

                        Type: Custom TCP Rule, Protocol: TCP, Range: 3268-33269, Source:\n 0.0.0.0/0

                        \n
                      • \n
                      • \n

                        Type: DNS (UDP), Protocol: UDP, Range: 53, Source: 0.0.0.0/0

                        \n
                      • \n
                      • \n

                        Type: DNS (TCP), Protocol: TCP, Range: 53, Source: 0.0.0.0/0

                        \n
                      • \n
                      • \n

                        Type: LDAP, Protocol: TCP, Range: 389, Source: 0.0.0.0/0

                        \n
                      • \n
                      • \n

                        Type: All ICMP, Protocol: All, Range: N/A, Source: 0.0.0.0/0

                        \n
                      • \n
                      \n\n

                      \n

                      Outbound:

                      \n
                        \n
                      • \n

                        Type: All traffic, Protocol: All, Range: All, Destination: 0.0.0.0/0

                        \n
                      • \n
                      \n

                      These security rules impact an internal network interface that is not exposed\n publicly.

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

                      Adds or overwrites one or more tags for the specified directory. Each directory can have a maximum of 50 tags. Each tag consists of a key and optional value. Tag keys must be unique to each resource.

                      " + "smithy.api#documentation": "

                      Adds or overwrites one or more tags for the specified directory. Each directory can\n have a maximum of 50 tags. Each tag consists of a key and optional value. Tag keys must be\n unique to each resource.

                      " } }, "com.amazonaws.directoryservice#AddTagsToResourceRequest": { @@ -310,7 +310,7 @@ "min": 1, "max": 62 }, - "smithy.api#pattern": "^(?!d-)([\\da-zA-Z]+)([-]*[\\da-zA-Z])*" + "smithy.api#pattern": "^(?!D-|d-)([\\da-zA-Z]+)([-]*[\\da-zA-Z])*$" } }, "com.amazonaws.directoryservice#Attribute": { @@ -400,7 +400,7 @@ } ], "traits": { - "smithy.api#documentation": "

                      Cancels an in-progress schema extension to a Microsoft AD directory. Once a schema extension has started replicating to all domain controllers, the task can no longer be canceled. A schema extension can be canceled during any of the following states; Initializing, CreatingSnapshot, and UpdatingSchema.

                      " + "smithy.api#documentation": "

                      Cancels an in-progress schema extension to a Microsoft AD directory. Once a schema\n extension has started replicating to all domain controllers, the task can no longer be\n canceled. A schema extension can be canceled during any of the following states;\n Initializing, CreatingSnapshot, and\n UpdatingSchema.

                      " } }, "com.amazonaws.directoryservice#CancelSchemaExtensionRequest": { @@ -671,6 +671,53 @@ "target": "com.amazonaws.directoryservice#CidrIp" } }, + "com.amazonaws.directoryservice#ClientAuthenticationSettingInfo": { + "type": "structure", + "members": { + "Type": { + "target": "com.amazonaws.directoryservice#ClientAuthenticationType", + "traits": { + "smithy.api#documentation": "

                      The type of client authentication for the specified directory. If no type is specified, a list of all client authentication types that are supported for the directory is retrieved.

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

                      Whether the client authentication type is enabled or disabled for the specified directory.

                      " + } + }, + "LastUpdatedDateTime": { + "target": "com.amazonaws.directoryservice#LastUpdatedDateTime", + "traits": { + "smithy.api#documentation": "

                      The date and time when the status of the client authentication type was last updated.

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

                      Contains information about a client authentication method for a directory.

                      " + } + }, + "com.amazonaws.directoryservice#ClientAuthenticationSettingsInfo": { + "type": "list", + "member": { + "target": "com.amazonaws.directoryservice#ClientAuthenticationSettingInfo" + } + }, + "com.amazonaws.directoryservice#ClientAuthenticationStatus": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "Enabled", + "name": "ENABLED" + }, + { + "value": "Disabled", + "name": "DISABLED" + } + ] + } + }, "com.amazonaws.directoryservice#ClientAuthenticationType": { "type": "string", "traits": { @@ -756,7 +803,7 @@ "min": 8, "max": 64 }, - "smithy.api#pattern": "[\\u0020-\\u00FF]+", + "smithy.api#pattern": "^[\\u0020-\\u00FF]+$", "smithy.api#sensitive": {} } }, @@ -766,24 +813,24 @@ "RemoteDomainName": { "target": "com.amazonaws.directoryservice#RemoteDomainName", "traits": { - "smithy.api#documentation": "

                      The fully qualified domain name (FQDN) of the remote domains pointed to by the conditional forwarder.

                      " + "smithy.api#documentation": "

                      The fully qualified domain name (FQDN) of the remote domains pointed to by the\n conditional forwarder.

                      " } }, "DnsIpAddrs": { "target": "com.amazonaws.directoryservice#DnsIpAddrs", "traits": { - "smithy.api#documentation": "

                      The IP addresses of the remote DNS server associated with RemoteDomainName. This is the IP address of the DNS server that your conditional forwarder points to.

                      " + "smithy.api#documentation": "

                      The IP addresses of the remote DNS server associated with RemoteDomainName. This is the\n IP address of the DNS server that your conditional forwarder points to.

                      " } }, "ReplicationScope": { "target": "com.amazonaws.directoryservice#ReplicationScope", "traits": { - "smithy.api#documentation": "

                      The replication scope of the conditional forwarder. The only allowed value is\n Domain, which will replicate the conditional forwarder to all of the\n domain controllers for your AWS directory.

                      " + "smithy.api#documentation": "

                      The replication scope of the conditional forwarder. The only allowed value is\n Domain, which will replicate the conditional forwarder to all of the domain\n controllers for your Amazon Web Services directory.

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

                      Points to a remote domain with which you are setting up a trust relationship. Conditional forwarders are required in order to set up a trust relationship with another domain.

                      " + "smithy.api#documentation": "

                      Points to a remote domain with which you are setting up a trust relationship.\n Conditional forwarders are required in order to set up a trust relationship with another\n domain.

                      " } }, "com.amazonaws.directoryservice#ConditionalForwarders": { @@ -815,7 +862,7 @@ } ], "traits": { - "smithy.api#documentation": "

                      Creates an AD Connector to connect to an on-premises directory.

                      \n

                      Before you call ConnectDirectory, ensure that all of the required permissions\n have been explicitly granted through a policy. For details about what permissions are required\n to run the ConnectDirectory operation, see AWS Directory Service API Permissions: Actions, Resources, and Conditions\n Reference.

                      " + "smithy.api#documentation": "

                      Creates an AD Connector to connect to a self-managed directory.

                      \n

                      Before you call ConnectDirectory, ensure that all of the required permissions\n have been explicitly granted through a policy. For details about what permissions are required\n to run the ConnectDirectory operation, see Directory Service API Permissions: Actions, Resources, and Conditions\n Reference.

                      " } }, "com.amazonaws.directoryservice#ConnectDirectoryRequest": { @@ -824,20 +871,20 @@ "Name": { "target": "com.amazonaws.directoryservice#DirectoryName", "traits": { - "smithy.api#documentation": "

                      The fully qualified name of the on-premises directory, such as\n corp.example.com.

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

                      The fully qualified name of your self-managed directory, such as\n corp.example.com.

                      ", "smithy.api#required": {} } }, "ShortName": { "target": "com.amazonaws.directoryservice#DirectoryShortName", "traits": { - "smithy.api#documentation": "

                      The NetBIOS name of the on-premises directory, such as CORP.

                      " + "smithy.api#documentation": "

                      The NetBIOS name of your self-managed directory, such as CORP.

                      " } }, "Password": { "target": "com.amazonaws.directoryservice#ConnectPassword", "traits": { - "smithy.api#documentation": "

                      The password for the on-premises user account.

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

                      The password for your self-managed user account.

                      ", "smithy.api#required": {} } }, @@ -941,7 +988,7 @@ "Alias": { "target": "com.amazonaws.directoryservice#AliasName", "traits": { - "smithy.api#documentation": "

                      The requested alias.

                      \n

                      The alias must be unique amongst all aliases in AWS. This operation throws an\n EntityAlreadyExistsException error if the alias already exists.

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

                      The requested alias.

                      \n

                      The alias must be unique amongst all aliases in Amazon Web Services. This operation throws an\n EntityAlreadyExistsException error if the alias already exists.

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

                      Creates a conditional forwarder associated with your AWS directory. Conditional forwarders are required in order to set up a trust relationship with another domain. The conditional forwarder points to the trusted domain.

                      " + "smithy.api#documentation": "

                      Creates a conditional forwarder associated with your Amazon Web Services directory. Conditional\n forwarders are required in order to set up a trust relationship with another domain. The\n conditional forwarder points to the trusted domain.

                      " } }, "com.amazonaws.directoryservice#CreateConditionalForwarderRequest": { @@ -1104,14 +1151,14 @@ "DirectoryId": { "target": "com.amazonaws.directoryservice#DirectoryId", "traits": { - "smithy.api#documentation": "

                      The directory ID of the AWS directory for which you are creating the conditional forwarder.

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

                      The directory ID of the Amazon Web Services directory for which you are creating the conditional\n forwarder.

                      ", "smithy.api#required": {} } }, "RemoteDomainName": { "target": "com.amazonaws.directoryservice#RemoteDomainName", "traits": { - "smithy.api#documentation": "

                      The fully qualified domain name (FQDN) of the remote domain with which you will set up a trust relationship.

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

                      The fully qualified domain name (FQDN) of the remote domain with which you will set up\n a trust relationship.

                      ", "smithy.api#required": {} } }, @@ -1124,7 +1171,7 @@ } }, "traits": { - "smithy.api#documentation": "

                      Initiates the creation of a conditional forwarder for your AWS Directory Service for Microsoft Active Directory. Conditional forwarders are required in order to set up a trust relationship with another domain.

                      " + "smithy.api#documentation": "

                      Initiates the creation of a conditional forwarder for your Directory Service for Microsoft Active\n Directory. Conditional forwarders are required in order to set up a trust relationship with\n another domain.

                      " } }, "com.amazonaws.directoryservice#CreateConditionalForwarderResult": { @@ -1157,7 +1204,7 @@ } ], "traits": { - "smithy.api#documentation": "

                      Creates a Simple AD directory. For more information, see Simple Active Directory in the AWS Directory Service Admin\n Guide.

                      \n

                      Before you call CreateDirectory, ensure that all of the required permissions\n have been explicitly granted through a policy. For details about what permissions are required\n to run the CreateDirectory operation, see AWS Directory Service API Permissions: Actions, Resources, and Conditions\n Reference.

                      " + "smithy.api#documentation": "

                      Creates a Simple AD directory. For more information, see Simple Active Directory in the Directory Service Admin\n Guide.

                      \n

                      Before you call CreateDirectory, ensure that all of the required permissions\n have been explicitly granted through a policy. For details about what permissions are required\n to run the CreateDirectory operation, see Directory Service API Permissions: Actions, Resources, and Conditions\n Reference.

                      " } }, "com.amazonaws.directoryservice#CreateDirectoryRequest": { @@ -1256,7 +1303,7 @@ } ], "traits": { - "smithy.api#documentation": "

                      Creates a subscription to forward real-time Directory Service domain controller security\n logs to the specified Amazon CloudWatch log group in your AWS account.

                      " + "smithy.api#documentation": "

                      Creates a subscription to forward real-time Directory Service domain controller security\n logs to the specified Amazon CloudWatch log group in your Amazon Web Services account.

                      " } }, "com.amazonaws.directoryservice#CreateLogSubscriptionRequest": { @@ -1308,7 +1355,7 @@ } ], "traits": { - "smithy.api#documentation": "

                      Creates a Microsoft AD directory in the AWS Cloud. For more information, see AWS Managed Microsoft AD in the AWS Directory Service Admin Guide.

                      \n

                      Before you call CreateMicrosoftAD, ensure that all of the required permissions have been explicitly granted through a policy. For details about what permissions are required to run the CreateMicrosoftAD operation, see AWS Directory Service API Permissions: Actions, Resources, and Conditions Reference.

                      " + "smithy.api#documentation": "

                      Creates a Microsoft AD directory in the Amazon Web Services Cloud. For more information, see Managed Microsoft AD in the Directory Service Admin Guide.

                      \n

                      Before you call CreateMicrosoftAD, ensure that all of the required\n permissions have been explicitly granted through a policy. For details about what permissions\n are required to run the CreateMicrosoftAD operation, see Directory Service API Permissions: Actions, Resources, and Conditions Reference.

                      " } }, "com.amazonaws.directoryservice#CreateMicrosoftADRequest": { @@ -1317,14 +1364,14 @@ "Name": { "target": "com.amazonaws.directoryservice#DirectoryName", "traits": { - "smithy.api#documentation": "

                      The fully qualified domain name for the AWS Managed Microsoft AD directory, such as\n corp.example.com. This name will resolve inside your VPC only. It does not need\n to be publicly resolvable.

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

                      The fully qualified domain name for the Managed Microsoft AD directory, such as\n corp.example.com. This name will resolve inside your VPC only. It does not need\n to be publicly resolvable.

                      ", "smithy.api#required": {} } }, "ShortName": { "target": "com.amazonaws.directoryservice#DirectoryShortName", "traits": { - "smithy.api#documentation": "

                      The NetBIOS name for your domain, such as CORP. If you don't specify a NetBIOS name, it will default to the first part of your directory DNS. For example, CORP for the directory DNS corp.example.com.

                      " + "smithy.api#documentation": "

                      The NetBIOS name for your domain, such as CORP. If you don't specify a\n NetBIOS name, it will default to the first part of your directory DNS. For example,\n CORP for the directory DNS corp.example.com.

                      " } }, "Password": { @@ -1337,7 +1384,7 @@ "Description": { "target": "com.amazonaws.directoryservice#Description", "traits": { - "smithy.api#documentation": "

                      A description for the directory. This label will appear on the AWS console Directory Details page after the directory is created.

                      " + "smithy.api#documentation": "

                      A description for the directory. This label will appear on the Amazon Web Services console\n Directory Details page after the directory is created.

                      " } }, "VpcSettings": { @@ -1350,18 +1397,18 @@ "Edition": { "target": "com.amazonaws.directoryservice#DirectoryEdition", "traits": { - "smithy.api#documentation": "

                      AWS Managed Microsoft AD is available in two editions: Standard and Enterprise. Enterprise is the default.

                      " + "smithy.api#documentation": "

                      Managed Microsoft AD is available in two editions: Standard and\n Enterprise. Enterprise is the default.

                      " } }, "Tags": { "target": "com.amazonaws.directoryservice#Tags", "traits": { - "smithy.api#documentation": "

                      The tags to be assigned to the AWS Managed Microsoft AD directory.

                      " + "smithy.api#documentation": "

                      The tags to be assigned to the Managed Microsoft AD directory.

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

                      Creates an AWS Managed Microsoft AD directory.

                      " + "smithy.api#documentation": "

                      Creates an Managed Microsoft AD directory.

                      " } }, "com.amazonaws.directoryservice#CreateMicrosoftADResult": { @@ -1404,7 +1451,7 @@ } ], "traits": { - "smithy.api#documentation": "

                      Creates a snapshot of a Simple AD or Microsoft AD directory in the AWS cloud.

                      \n \n

                      You cannot take snapshots of AD Connector directories.

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

                      Creates a snapshot of a Simple AD or Microsoft AD directory in the Amazon Web Services cloud.

                      \n \n

                      You cannot take snapshots of AD Connector directories.

                      \n
                      " } }, "com.amazonaws.directoryservice#CreateSnapshotBeforeSchemaExtension": { @@ -1474,7 +1521,7 @@ } ], "traits": { - "smithy.api#documentation": "

                      AWS Directory Service for Microsoft Active Directory allows you to configure trust relationships. For example, you can establish a trust between your AWS Managed Microsoft AD directory, and your existing on-premises Microsoft Active Directory. This would allow you to provide users and groups access to resources in either domain, with a single set of credentials.

                      \n

                      This action initiates the creation of the AWS side of a trust relationship between an AWS Managed Microsoft AD directory and an external domain. You can create either a forest trust or an external trust.

                      " + "smithy.api#documentation": "

                      Directory Service for Microsoft Active Directory allows you to configure trust relationships. For\n example, you can establish a trust between your Managed Microsoft AD directory, and your existing\n self-managed Microsoft Active Directory. This would allow you to provide users and groups\n access to resources in either domain, with a single set of credentials.

                      \n

                      This action initiates the creation of the Amazon Web Services side of a trust relationship between an\n Managed Microsoft AD directory and an external domain. You can create either a forest trust or an\n external trust.

                      " } }, "com.amazonaws.directoryservice#CreateTrustRequest": { @@ -1483,21 +1530,21 @@ "DirectoryId": { "target": "com.amazonaws.directoryservice#DirectoryId", "traits": { - "smithy.api#documentation": "

                      The Directory ID of the AWS Managed Microsoft AD directory for which to establish the trust relationship.

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

                      The Directory ID of the Managed Microsoft AD directory for which to establish the trust\n relationship.

                      ", "smithy.api#required": {} } }, "RemoteDomainName": { "target": "com.amazonaws.directoryservice#RemoteDomainName", "traits": { - "smithy.api#documentation": "

                      The Fully Qualified Domain Name (FQDN) of the external domain for which to create the trust relationship.

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

                      The Fully Qualified Domain Name (FQDN) of the external domain for which to create the\n trust relationship.

                      ", "smithy.api#required": {} } }, "TrustPassword": { "target": "com.amazonaws.directoryservice#TrustPassword", "traits": { - "smithy.api#documentation": "

                      The trust password. The must be the same password that was used when creating the trust relationship on the external domain.

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

                      The trust password. The must be the same password that was used when creating the trust\n relationship on the external domain.

                      ", "smithy.api#required": {} } }, @@ -1528,7 +1575,7 @@ } }, "traits": { - "smithy.api#documentation": "

                      AWS Directory Service for Microsoft Active Directory allows you to configure trust relationships. For example, you can establish a trust between your AWS Managed Microsoft AD directory, and your existing on-premises Microsoft Active Directory. This would allow you to provide users and groups access to resources in either domain, with a single set of credentials.

                      \n

                      This action initiates the creation of the AWS side of a trust relationship between an AWS Managed Microsoft AD directory and an external domain.

                      " + "smithy.api#documentation": "

                      Directory Service for Microsoft Active Directory allows you to configure trust relationships. For\n example, you can establish a trust between your Managed Microsoft AD directory, and your existing\n self-managed Microsoft Active Directory. This would allow you to provide users and groups\n access to resources in either domain, with a single set of credentials.

                      \n

                      This action initiates the creation of the Amazon Web Services side of a trust relationship between an\n Managed Microsoft AD directory and an external domain.

                      " } }, "com.amazonaws.directoryservice#CreateTrustResult": { @@ -1596,7 +1643,7 @@ } ], "traits": { - "smithy.api#documentation": "

                      Deletes a conditional forwarder that has been set up for your AWS directory.

                      " + "smithy.api#documentation": "

                      Deletes a conditional forwarder that has been set up for your Amazon Web Services\n directory.

                      " } }, "com.amazonaws.directoryservice#DeleteConditionalForwarderRequest": { @@ -1612,7 +1659,7 @@ "RemoteDomainName": { "target": "com.amazonaws.directoryservice#RemoteDomainName", "traits": { - "smithy.api#documentation": "

                      The fully qualified domain name (FQDN) of the remote domain with which you are deleting the conditional forwarder.

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

                      The fully qualified domain name (FQDN) of the remote domain with which you are deleting\n the conditional forwarder.

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

                      Deletes an AWS Directory Service directory.

                      \n

                      Before you call DeleteDirectory, ensure that all of the required permissions\n have been explicitly granted through a policy. For details about what permissions are required\n to run the DeleteDirectory operation, see AWS Directory Service API Permissions: Actions, Resources, and Conditions\n Reference.

                      " + "smithy.api#documentation": "

                      Deletes an Directory Service directory.

                      \n

                      Before you call DeleteDirectory, ensure that all of the required permissions\n have been explicitly granted through a policy. For details about what permissions are required\n to run the DeleteDirectory operation, see Directory Service API Permissions: Actions, Resources, and Conditions\n Reference.

                      " } }, "com.amazonaws.directoryservice#DeleteDirectoryRequest": { @@ -1803,7 +1850,7 @@ } ], "traits": { - "smithy.api#documentation": "

                      Deletes an existing trust relationship between your AWS Managed Microsoft AD directory and an external domain.

                      " + "smithy.api#documentation": "

                      Deletes an existing trust relationship between your Managed Microsoft AD directory and an external\n domain.

                      " } }, "com.amazonaws.directoryservice#DeleteTrustRequest": { @@ -1824,7 +1871,7 @@ } }, "traits": { - "smithy.api#documentation": "

                      Deletes the local side of an existing trust relationship between the AWS Managed Microsoft AD directory and the external domain.

                      " + "smithy.api#documentation": "

                      Deletes the local side of an existing trust relationship between the Managed Microsoft AD\n directory and the external domain.

                      " } }, "com.amazonaws.directoryservice#DeleteTrustResult": { @@ -1925,7 +1972,7 @@ } ], "traits": { - "smithy.api#documentation": "

                      Removes the specified directory as a publisher to the specified SNS topic.

                      " + "smithy.api#documentation": "

                      Removes the specified directory as a publisher to the specified Amazon SNS topic.

                      " } }, "com.amazonaws.directoryservice#DeregisterEventTopicRequest": { @@ -1934,20 +1981,20 @@ "DirectoryId": { "target": "com.amazonaws.directoryservice#DirectoryId", "traits": { - "smithy.api#documentation": "

                      The Directory ID to remove as a publisher. This directory will no longer send messages to the specified SNS topic.

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

                      The Directory ID to remove as a publisher. This directory will no longer send messages\n to the specified Amazon SNS topic.

                      ", "smithy.api#required": {} } }, "TopicName": { "target": "com.amazonaws.directoryservice#TopicName", "traits": { - "smithy.api#documentation": "

                      The name of the SNS topic from which to remove the directory as a publisher.

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

                      The name of the Amazon SNS topic from which to remove the directory as a\n publisher.

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

                      Removes the specified directory as a publisher to the specified SNS topic.

                      " + "smithy.api#documentation": "

                      Removes the specified directory as a publisher to the specified Amazon SNS topic.

                      " } }, "com.amazonaws.directoryservice#DeregisterEventTopicResult": { @@ -2019,6 +2066,85 @@ } } }, + "com.amazonaws.directoryservice#DescribeClientAuthenticationSettings": { + "type": "operation", + "input": { + "target": "com.amazonaws.directoryservice#DescribeClientAuthenticationSettingsRequest" + }, + "output": { + "target": "com.amazonaws.directoryservice#DescribeClientAuthenticationSettingsResult" + }, + "errors": [ + { + "target": "com.amazonaws.directoryservice#AccessDeniedException" + }, + { + "target": "com.amazonaws.directoryservice#ClientException" + }, + { + "target": "com.amazonaws.directoryservice#DirectoryDoesNotExistException" + }, + { + "target": "com.amazonaws.directoryservice#InvalidParameterException" + }, + { + "target": "com.amazonaws.directoryservice#ServiceException" + }, + { + "target": "com.amazonaws.directoryservice#UnsupportedOperationException" + } + ], + "traits": { + "smithy.api#documentation": "

                      Retrieves information about the type of client authentication for the specified directory, if the type is specified. If no type is specified, information about all client authentication types that are supported for the specified directory is retrieved. Currently, only SmartCard is supported.\n

                      " + } + }, + "com.amazonaws.directoryservice#DescribeClientAuthenticationSettingsRequest": { + "type": "structure", + "members": { + "DirectoryId": { + "target": "com.amazonaws.directoryservice#DirectoryId", + "traits": { + "smithy.api#documentation": "

                      The identifier of the directory for which to retrieve information.

                      ", + "smithy.api#required": {} + } + }, + "Type": { + "target": "com.amazonaws.directoryservice#ClientAuthenticationType", + "traits": { + "smithy.api#documentation": "

                      The type of client authentication for which to retrieve information. If no type is specified, a list of all client authentication types that are supported for the specified directory is retrieved.

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

                      The DescribeClientAuthenticationSettingsResult.NextToken value from a previous call to DescribeClientAuthenticationSettings. Pass null if this is the first call.

                      " + } + }, + "Limit": { + "target": "com.amazonaws.directoryservice#PageLimit", + "traits": { + "smithy.api#documentation": "

                      The maximum number of items to return. If this value is zero, the maximum number of items is specified by the limitations of the operation.

                      " + } + } + } + }, + "com.amazonaws.directoryservice#DescribeClientAuthenticationSettingsResult": { + "type": "structure", + "members": { + "ClientAuthenticationSettingsInfo": { + "target": "com.amazonaws.directoryservice#ClientAuthenticationSettingsInfo", + "traits": { + "smithy.api#documentation": "

                      Information about the type of client authentication for the specified directory. The following information is retrieved: The date and time when the status of the client authentication type was last updated, whether the client authentication type is enabled or disabled, and the type of client authentication.

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

                      The next token used to retrieve the client authentication settings if the number of setting types exceeds\n page limit and there is another page.

                      " + } + } + } + }, "com.amazonaws.directoryservice#DescribeConditionalForwarders": { "type": "operation", "input": { @@ -2048,7 +2174,7 @@ } ], "traits": { - "smithy.api#documentation": "

                      Obtains information about the conditional forwarders for this account.

                      \n

                      If no input parameters are provided for RemoteDomainNames, this request describes all conditional forwarders for the specified directory ID.

                      " + "smithy.api#documentation": "

                      Obtains information about the conditional forwarders for this account.

                      \n

                      If no input parameters are provided for RemoteDomainNames, this request describes all\n conditional forwarders for the specified directory ID.

                      " } }, "com.amazonaws.directoryservice#DescribeConditionalForwardersRequest": { @@ -2057,14 +2183,14 @@ "DirectoryId": { "target": "com.amazonaws.directoryservice#DirectoryId", "traits": { - "smithy.api#documentation": "

                      The directory ID for which to get the list of associated conditional forwarders.

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

                      The directory ID for which to get the list of associated conditional\n forwarders.

                      ", "smithy.api#required": {} } }, "RemoteDomainNames": { "target": "com.amazonaws.directoryservice#RemoteDomainNames", "traits": { - "smithy.api#documentation": "

                      The fully qualified domain names (FQDN) of the remote domains for which to get the list of associated conditional forwarders. If this member is null, all conditional forwarders are returned.

                      " + "smithy.api#documentation": "

                      The fully qualified domain names (FQDN) of the remote domains for which to get the list\n of associated conditional forwarders. If this member is null, all conditional forwarders are\n returned.

                      " } } }, @@ -2204,20 +2330,20 @@ "DirectoryId": { "target": "com.amazonaws.directoryservice#DirectoryId", "traits": { - "smithy.api#documentation": "

                      Identifier of the directory for which to retrieve the domain controller information.

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

                      Identifier of the directory for which to retrieve the domain controller\n information.

                      ", "smithy.api#required": {} } }, "DomainControllerIds": { "target": "com.amazonaws.directoryservice#DomainControllerIds", "traits": { - "smithy.api#documentation": "

                      A list of identifiers for the domain controllers whose information will be provided.

                      " + "smithy.api#documentation": "

                      A list of identifiers for the domain controllers whose information will be\n provided.

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

                      The DescribeDomainControllers.NextToken value from a previous call to DescribeDomainControllers. Pass null if this is the first call.

                      " + "smithy.api#documentation": "

                      The DescribeDomainControllers.NextToken value from a previous call\n to DescribeDomainControllers. Pass null if this is the first call.\n

                      " } }, "Limit": { @@ -2240,7 +2366,7 @@ "NextToken": { "target": "com.amazonaws.directoryservice#NextToken", "traits": { - "smithy.api#documentation": "

                      If not null, more results are available. Pass this value for the NextToken parameter in a subsequent call to DescribeDomainControllers retrieve the next set of items.

                      " + "smithy.api#documentation": "

                      If not null, more results are available. Pass this value for the NextToken\n parameter in a subsequent call to DescribeDomainControllers retrieve the\n next set of items.

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

                      Obtains information about which SNS topics receive status messages from the specified directory.

                      \n

                      If no input parameters are provided, such as DirectoryId or TopicName, this request describes all of the associations in the account.

                      " + "smithy.api#documentation": "

                      Obtains information about which Amazon SNS topics receive status messages from the specified\n directory.

                      \n

                      If no input parameters are provided, such as DirectoryId or TopicName, this request\n describes all of the associations in the account.

                      " } }, "com.amazonaws.directoryservice#DescribeEventTopicsRequest": { @@ -2277,13 +2403,13 @@ "DirectoryId": { "target": "com.amazonaws.directoryservice#DirectoryId", "traits": { - "smithy.api#documentation": "

                      The Directory ID for which to get the list of associated SNS topics. If this member is null, associations for all Directory IDs are returned.

                      " + "smithy.api#documentation": "

                      The Directory ID for which to get the list of associated Amazon SNS topics. If this member\n is null, associations for all Directory IDs are returned.

                      " } }, "TopicNames": { "target": "com.amazonaws.directoryservice#TopicNames", "traits": { - "smithy.api#documentation": "

                      A list of SNS topic names for which to obtain the information. If this member is null, all associations for the specified Directory ID are returned.

                      \n

                      An empty list results in an InvalidParameterException being thrown.

                      " + "smithy.api#documentation": "

                      A list of Amazon SNS topic names for which to obtain the information. If this member is\n null, all associations for the specified Directory ID are returned.

                      \n

                      An empty list results in an InvalidParameterException being\n thrown.

                      " } } }, @@ -2297,7 +2423,7 @@ "EventTopics": { "target": "com.amazonaws.directoryservice#EventTopics", "traits": { - "smithy.api#documentation": "

                      A list of SNS topic names that receive status messages from the specified Directory ID.

                      " + "smithy.api#documentation": "

                      A list of Amazon SNS topic names that receive status messages from the specified Directory\n ID.

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

                      Obtains information about the trust relationships for this account.

                      \n

                      If no input parameters are provided, such as DirectoryId or TrustIds, this request describes all the trust relationships belonging to the account.

                      " + "smithy.api#documentation": "

                      Obtains information about the trust relationships for this account.

                      \n

                      If no input parameters are provided, such as DirectoryId or TrustIds, this request\n describes all the trust relationships belonging to the account.

                      " } }, "com.amazonaws.directoryservice#DescribeTrustsRequest": { @@ -2658,19 +2784,19 @@ "DirectoryId": { "target": "com.amazonaws.directoryservice#DirectoryId", "traits": { - "smithy.api#documentation": "

                      The Directory ID of the AWS directory that is a part of the requested trust relationship.

                      " + "smithy.api#documentation": "

                      The Directory ID of the Amazon Web Services directory that is a part of the requested trust\n relationship.

                      " } }, "TrustIds": { "target": "com.amazonaws.directoryservice#TrustIds", "traits": { - "smithy.api#documentation": "

                      A list of identifiers of the trust relationships for which to obtain the information. If this member is null, all trust relationships that belong to the current account are returned.

                      \n

                      An empty list results in an InvalidParameterException being thrown.

                      " + "smithy.api#documentation": "

                      A list of identifiers of the trust relationships for which to obtain the information. If\n this member is null, all trust relationships that belong to the current account are\n returned.

                      \n

                      An empty list results in an InvalidParameterException being thrown.

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

                      The DescribeTrustsResult.NextToken value from a previous call to\n DescribeTrusts. Pass null if this is the first call.

                      " + "smithy.api#documentation": "

                      The DescribeTrustsResult.NextToken value from a previous call to\n DescribeTrusts. Pass null if this is the first call.

                      " } }, "Limit": { @@ -2681,7 +2807,7 @@ } }, "traits": { - "smithy.api#documentation": "

                      Describes the trust relationships for a particular AWS Managed Microsoft AD directory. If no input parameters are are provided, such as directory ID or trust ID, this request describes all the trust relationships.

                      " + "smithy.api#documentation": "

                      Describes the trust relationships for a particular Managed Microsoft AD directory. If no input\n parameters are provided, such as directory ID or trust ID, this request describes all the\n trust relationships.

                      " } }, "com.amazonaws.directoryservice#DescribeTrustsResult": { @@ -2690,13 +2816,13 @@ "Trusts": { "target": "com.amazonaws.directoryservice#Trusts", "traits": { - "smithy.api#documentation": "

                      The list of Trust objects that were retrieved.

                      \n

                      It is possible that this list contains less than the number of items specified in the\n Limit member of the request. This occurs if there are less than the requested\n number of items left to retrieve, or if the limitations of the operation have been\n exceeded.

                      " + "smithy.api#documentation": "

                      The list of Trust objects that were retrieved.

                      \n

                      It is possible that this list contains less than the number of items specified in the\n Limit member of the request. This occurs if there are less than the\n requested number of items left to retrieve, or if the limitations of the operation have been\n exceeded.

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

                      If not null, more results are available. Pass this value for the NextToken parameter\n in a subsequent call to DescribeTrusts to retrieve the next set of items.

                      " + "smithy.api#documentation": "

                      If not null, more results are available. Pass this value for the\n NextToken parameter in a subsequent call to DescribeTrusts to retrieve the next set of items.

                      " } } }, @@ -2733,7 +2859,7 @@ } }, "traits": { - "smithy.api#documentation": "

                      The Region you specified is the same Region where the AWS Managed Microsoft AD directory\n was created. Specify a different Region and try again.

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

                      The Region you specified is the same Region where the Managed Microsoft AD directory\n was created. Specify a different Region and try again.

                      ", "smithy.api#error": "client" } }, @@ -2748,7 +2874,7 @@ } }, "traits": { - "smithy.api#documentation": "

                      The specified directory has already been shared with this AWS account.

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

                      The specified directory has already been shared with this Amazon Web Services account.

                      ", "smithy.api#error": "client" } }, @@ -2772,14 +2898,14 @@ "CustomerDnsIps": { "target": "com.amazonaws.directoryservice#DnsIpAddrs", "traits": { - "smithy.api#documentation": "

                      A list of one or more IP addresses of DNS servers or domain controllers in the on-premises\n directory.

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

                      A list of one or more IP addresses of DNS servers or domain controllers in your self-managed\n directory.

                      ", "smithy.api#required": {} } }, "CustomerUserName": { "target": "com.amazonaws.directoryservice#UserName", "traits": { - "smithy.api#documentation": "

                      The user name of an account in the on-premises directory that is used to connect to the\n directory. This account must have the following permissions:

                      \n
                        \n
                      • \n

                        Read users and groups

                        \n
                      • \n
                      • \n

                        Create computer objects

                        \n
                      • \n
                      • \n

                        Join computers to the domain

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

                      The user name of an account in your self-managed directory that is used to connect to the\n directory. This account must have the following permissions:

                      \n
                        \n
                      • \n

                        Read users and groups

                        \n
                      • \n
                      • \n

                        Create computer objects

                        \n
                      • \n
                      • \n

                        Join computers to the domain

                        \n
                      • \n
                      ", "smithy.api#required": {} } } @@ -2806,7 +2932,7 @@ "CustomerUserName": { "target": "com.amazonaws.directoryservice#UserName", "traits": { - "smithy.api#documentation": "

                      The user name of the service account in the on-premises directory.

                      " + "smithy.api#documentation": "

                      The user name of the service account in your self-managed directory.

                      " } }, "SecurityGroupId": { @@ -2886,7 +3012,7 @@ "DnsIpAddrs": { "target": "com.amazonaws.directoryservice#DnsIpAddrs", "traits": { - "smithy.api#documentation": "

                      The IP addresses of the DNS servers for the directory. For a Simple AD or Microsoft AD\n directory, these are the IP addresses of the Simple AD or Microsoft AD directory servers. For\n an AD Connector directory, these are the IP addresses of the DNS servers or domain controllers\n in the on-premises directory to which the AD Connector is connected.

                      " + "smithy.api#documentation": "

                      The IP addresses of the DNS servers for the directory. For a Simple AD or Microsoft AD\n directory, these are the IP addresses of the Simple AD or Microsoft AD directory servers. For\n an AD Connector directory, these are the IP addresses of the DNS servers or domain controllers\n in your self-managed directory to which the AD Connector is connected.

                      " } }, "Stage": { @@ -2898,13 +3024,13 @@ "ShareStatus": { "target": "com.amazonaws.directoryservice#ShareStatus", "traits": { - "smithy.api#documentation": "

                      Current directory status of the shared AWS Managed Microsoft AD directory.

                      " + "smithy.api#documentation": "

                      Current directory status of the shared Managed Microsoft AD directory.

                      " } }, "ShareMethod": { "target": "com.amazonaws.directoryservice#ShareMethod", "traits": { - "smithy.api#documentation": "

                      The method used when sharing a directory to determine whether the directory should be\n shared within your AWS organization (ORGANIZATIONS) or with any AWS account by\n sending a shared directory request (HANDSHAKE).

                      " + "smithy.api#documentation": "

                      The method used when sharing a directory to determine whether the directory should be\n shared within your Amazon Web Services organization (ORGANIZATIONS) or with any Amazon Web Services account by\n sending a shared directory request (HANDSHAKE).

                      " } }, "ShareNotes": { @@ -2934,7 +3060,7 @@ "VpcSettings": { "target": "com.amazonaws.directoryservice#DirectoryVpcSettingsDescription", "traits": { - "smithy.api#documentation": "

                      A DirectoryVpcSettingsDescription object that contains additional\n information about a directory. This member is only present if the directory is a Simple AD or\n Managed AD directory.

                      " + "smithy.api#documentation": "

                      A DirectoryVpcSettingsDescription object that contains additional\n information about a directory. This member is only present if the directory is a Simple AD or\n Managed Microsoft AD directory.

                      " } }, "ConnectSettings": { @@ -2970,13 +3096,13 @@ "DesiredNumberOfDomainControllers": { "target": "com.amazonaws.directoryservice#DesiredNumberOfDomainControllers", "traits": { - "smithy.api#documentation": "

                      The desired number of domain controllers in the directory if the directory is Microsoft AD.

                      " + "smithy.api#documentation": "

                      The desired number of domain controllers in the directory if the directory is Microsoft\n AD.

                      " } }, "OwnerDirectoryDescription": { "target": "com.amazonaws.directoryservice#OwnerDirectoryDescription", "traits": { - "smithy.api#documentation": "

                      Describes the AWS Managed Microsoft AD directory in the directory owner account.

                      " + "smithy.api#documentation": "

                      Describes the Managed Microsoft AD directory in the directory owner account.

                      " } }, "RegionsInfo": { @@ -2987,7 +3113,7 @@ } }, "traits": { - "smithy.api#documentation": "

                      Contains information about an AWS Directory Service directory.

                      " + "smithy.api#documentation": "

                      Contains information about an Directory Service directory.

                      " } }, "com.amazonaws.directoryservice#DirectoryDescriptions": { @@ -3055,7 +3181,7 @@ } }, "traits": { - "smithy.api#documentation": "

                      The maximum number of directories in the region has been reached. You can use the\n GetDirectoryLimits operation to determine your directory limits in the\n region.

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

                      The maximum number of directories in the region has been reached. You can use the\n GetDirectoryLimits operation to determine your directory limits in\n the region.

                      ", "smithy.api#error": "client" } }, @@ -3083,19 +3209,19 @@ "CloudOnlyMicrosoftADLimit": { "target": "com.amazonaws.directoryservice#Limit", "traits": { - "smithy.api#documentation": "

                      The maximum number of AWS Managed Microsoft AD directories allowed in the region.

                      " + "smithy.api#documentation": "

                      The maximum number of Managed Microsoft AD directories allowed in the region.

                      " } }, "CloudOnlyMicrosoftADCurrentCount": { "target": "com.amazonaws.directoryservice#Limit", "traits": { - "smithy.api#documentation": "

                      The current number of AWS Managed Microsoft AD directories in the region.

                      " + "smithy.api#documentation": "

                      The current number of Managed Microsoft AD directories in the region.

                      " } }, "CloudOnlyMicrosoftADLimitReached": { "target": "com.amazonaws.directoryservice#CloudOnlyDirectoriesLimitReached", "traits": { - "smithy.api#documentation": "

                      Indicates if the AWS Managed Microsoft AD directory limit has been reached.

                      " + "smithy.api#documentation": "

                      Indicates if the Managed Microsoft AD directory limit has been reached.

                      " } }, "ConnectedDirectoriesLimit": { @@ -3138,7 +3264,7 @@ } }, "traits": { - "smithy.api#documentation": "

                      The specified directory has not been shared with this AWS account.

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

                      The specified directory has not been shared with this Amazon Web Services account.

                      ", "smithy.api#error": "client" } }, @@ -3212,6 +3338,9 @@ { "target": "com.amazonaws.directoryservice#DescribeCertificate" }, + { + "target": "com.amazonaws.directoryservice#DescribeClientAuthenticationSettings" + }, { "target": "com.amazonaws.directoryservice#DescribeConditionalForwarders" }, @@ -3345,7 +3474,7 @@ "name": "ds" }, "aws.protocols#awsJson1_1": {}, - "smithy.api#documentation": "AWS Directory Service\n

                      AWS Directory Service is a web service that makes it easy for you to setup and run directories in the AWS cloud, or connect your AWS resources with an existing on-premises Microsoft Active Directory. This guide provides detailed information about AWS Directory Service operations, data types, parameters, and errors. For information about AWS Directory Services features, see AWS Directory Service and the AWS Directory Service Administration Guide.

                      \n \n

                      AWS provides SDKs that consist of libraries and sample code for various programming languages and platforms (Java, Ruby, .Net, iOS, Android, etc.). The SDKs provide a convenient way to create programmatic access to AWS Directory Service and other AWS services. For more information about the AWS SDKs, including how to download and install them, see Tools for Amazon Web\n Services.

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

                      Directory Service is a web service that makes it easy for you to setup and run directories in the\n Amazon Web Services cloud, or connect your Amazon Web Services resources with an existing self-managed Microsoft Active\n Directory. This guide provides detailed information about Directory Service operations, data types,\n parameters, and errors. For information about Directory Services features, see Directory Service and the Directory Service\n Administration Guide.

                      \n \n

                      Amazon Web Services provides SDKs that consist of libraries and sample code for various\n programming languages and platforms (Java, Ruby, .Net, iOS, Android, etc.). The SDKs\n provide a convenient way to create programmatic access to Directory Service and other Amazon Web Services\n services. For more information about the Amazon Web Services SDKs, including how to download and\n install them, see Tools for Amazon Web\n Services.

                      \n
                      ", "smithy.api#title": "AWS Directory Service", "smithy.api#xmlNamespace": { "uri": "http://directoryservice.amazonaws.com/doc/2015-04-16/" @@ -3475,7 +3604,7 @@ "SubnetIds": { "target": "com.amazonaws.directoryservice#SubnetIds", "traits": { - "smithy.api#documentation": "

                      The identifiers of the subnets for the directory servers. The two subnets must be in\n different Availability Zones. AWS Directory Service creates a directory server and a DNS\n server in each of these subnets.

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

                      The identifiers of the subnets for the directory servers. The two subnets must be in\n different Availability Zones. Directory Service creates a directory server and a DNS\n server in each of these subnets.

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

                      Disables multi-factor authentication (MFA) with the Remote Authentication Dial In User Service (RADIUS) server for an AD Connector or Microsoft AD directory.

                      " + "smithy.api#documentation": "

                      Disables multi-factor authentication (MFA) with the Remote Authentication Dial In\n User Service (RADIUS) server for an AD Connector or Microsoft AD directory.

                      " } }, "com.amazonaws.directoryservice#DisableRadiusRequest": { @@ -3716,13 +3845,13 @@ "UserName": { "target": "com.amazonaws.directoryservice#UserName", "traits": { - "smithy.api#documentation": "

                      The username of an alternate account to use to disable single-sign on. This is only used for AD Connector directories. This account must have privileges to remove a service principal name.

                      \n

                      If the AD Connector service account does not have privileges to remove a service principal\n name, you can specify an alternate account with the UserName and Password\n parameters. These credentials are only used to disable single sign-on and are not stored by\n the service. The AD Connector service account is not changed.

                      " + "smithy.api#documentation": "

                      The username of an alternate account to use to disable single-sign on. This is only used\n for AD Connector directories. This account must have privileges to remove a service\n principal name.

                      \n

                      If the AD Connector service account does not have privileges to remove a service\n principal name, you can specify an alternate account with the UserName\n and Password parameters. These credentials are only used to disable\n single sign-on and are not stored by the service. The AD Connector service account is not\n changed.

                      " } }, "Password": { "target": "com.amazonaws.directoryservice#ConnectPassword", "traits": { - "smithy.api#documentation": "

                      The password of an alternate account to use to disable single-sign on. This is only used\n for AD Connector directories. For more information, see the UserName parameter.

                      " + "smithy.api#documentation": "

                      The password of an alternate account to use to disable single-sign on. This is only used\n for AD Connector directories. For more information, see the UserName\n parameter.

                      " } } }, @@ -3834,7 +3963,7 @@ } }, "traits": { - "smithy.api#documentation": "

                      The maximum allowed number of domain controllers per directory was exceeded. The default limit per directory is 20 domain controllers.

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

                      The maximum allowed number of domain controllers per directory was exceeded. The\n default limit per directory is 20 domain controllers.

                      ", "smithy.api#error": "client" } }, @@ -3930,7 +4059,7 @@ "Type": { "target": "com.amazonaws.directoryservice#ClientAuthenticationType", "traits": { - "smithy.api#documentation": "

                      The type of client authentication to enable. Currently only the value SmartCard is\n supported. Smart card authentication in AD Connector requires that you enable Kerberos\n Constrained Delegation for the Service User to the LDAP service in the on-premises AD.\n

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

                      The type of client authentication to enable. Currently only the value SmartCard is\n supported. Smart card authentication in AD Connector requires that you enable Kerberos\n Constrained Delegation for the Service User to the LDAP service in your self-managed AD.\n

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

                      Enables multi-factor authentication (MFA) with the Remote Authentication Dial In User Service (RADIUS) server for an AD Connector or Microsoft AD directory.

                      " + "smithy.api#documentation": "

                      Enables multi-factor authentication (MFA) with the Remote Authentication Dial In User\n Service (RADIUS) server for an AD Connector or Microsoft AD directory.

                      " } }, "com.amazonaws.directoryservice#EnableRadiusRequest": { @@ -4043,7 +4172,7 @@ "RadiusSettings": { "target": "com.amazonaws.directoryservice#RadiusSettings", "traits": { - "smithy.api#documentation": "

                      A RadiusSettings object that contains information about the RADIUS server.

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

                      A RadiusSettings object that contains information about the RADIUS\n server.

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

                      Enables single sign-on for a directory. Single sign-on allows users in your directory to access certain AWS services from a computer joined to the directory without having to enter their credentials separately.

                      " + "smithy.api#documentation": "

                      Enables single sign-on for a directory. Single sign-on allows users in your directory to\n access certain Amazon Web Services services from a computer joined to the directory without having to enter\n their credentials separately.

                      " } }, "com.amazonaws.directoryservice#EnableSsoRequest": { @@ -4101,13 +4230,13 @@ "UserName": { "target": "com.amazonaws.directoryservice#UserName", "traits": { - "smithy.api#documentation": "

                      The username of an alternate account to use to enable single-sign on. This is only used for AD Connector directories. This account must have privileges to add a service principal name.

                      \n

                      If the AD Connector service account does not have privileges to add a service principal\n name, you can specify an alternate account with the UserName and Password\n parameters. These credentials are only used to enable single sign-on and are not stored by\n the service. The AD Connector service account is not changed.

                      " + "smithy.api#documentation": "

                      The username of an alternate account to use to enable single-sign on. This is only used\n for AD Connector directories. This account must have privileges to add a service principal\n name.

                      \n

                      If the AD Connector service account does not have privileges to add a service principal\n name, you can specify an alternate account with the UserName and\n Password parameters. These credentials are only used to enable single\n sign-on and are not stored by the service. The AD Connector service account is not\n changed.

                      " } }, "Password": { "target": "com.amazonaws.directoryservice#ConnectPassword", "traits": { - "smithy.api#documentation": "

                      The password of an alternate account to use to enable single-sign on. This is only used for\n AD Connector directories. For more information, see the UserName parameter.

                      " + "smithy.api#documentation": "

                      The password of an alternate account to use to enable single-sign on. This is only used\n for AD Connector directories. For more information, see the UserName\n parameter.

                      " } } }, @@ -4161,25 +4290,25 @@ "DirectoryId": { "target": "com.amazonaws.directoryservice#DirectoryId", "traits": { - "smithy.api#documentation": "

                      The Directory ID of an AWS Directory Service directory that will publish status messages to an SNS topic.

                      " + "smithy.api#documentation": "

                      The Directory ID of an Directory Service directory that will publish status messages to an Amazon SNS\n topic.

                      " } }, "TopicName": { "target": "com.amazonaws.directoryservice#TopicName", "traits": { - "smithy.api#documentation": "

                      The name of an AWS SNS topic the receives status messages from the directory.

                      " + "smithy.api#documentation": "

                      The name of an Amazon SNS topic the receives status messages from the directory.

                      " } }, "TopicArn": { "target": "com.amazonaws.directoryservice#TopicArn", "traits": { - "smithy.api#documentation": "

                      The SNS topic ARN (Amazon Resource Name).

                      " + "smithy.api#documentation": "

                      The Amazon SNS topic ARN (Amazon Resource Name).

                      " } }, "CreatedDateTime": { "target": "com.amazonaws.directoryservice#CreatedDateTime", "traits": { - "smithy.api#documentation": "

                      The date and time of when you associated your directory with the SNS topic.

                      " + "smithy.api#documentation": "

                      The date and time of when you associated your directory with the Amazon SNS topic.

                      " } }, "Status": { @@ -4190,7 +4319,7 @@ } }, "traits": { - "smithy.api#documentation": "

                      Information about SNS topic and AWS Directory Service directory associations.

                      " + "smithy.api#documentation": "

                      Information about Amazon SNS topic and Directory Service directory associations.

                      " } }, "com.amazonaws.directoryservice#EventTopics": { @@ -4241,7 +4370,7 @@ "DirectoryLimits": { "target": "com.amazonaws.directoryservice#DirectoryLimits", "traits": { - "smithy.api#documentation": "

                      A DirectoryLimits object that contains the directory limits for the\n current rRegion.

                      " + "smithy.api#documentation": "

                      A DirectoryLimits object that contains the directory limits for the\n current Region.

                      " } } }, @@ -4402,7 +4531,7 @@ } }, "traits": { - "smithy.api#documentation": "

                      The new password provided by the user does not meet the password complexity requirements defined in your directory.

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

                      The new password provided by the user does not meet the password complexity\n requirements defined in your directory.

                      ", "smithy.api#error": "client" } }, @@ -4439,7 +4568,7 @@ "CidrIp": { "target": "com.amazonaws.directoryservice#CidrIp", "traits": { - "smithy.api#documentation": "

                      IP address block using CIDR format, for example 10.0.0.0/24. This is often the address block of the DNS server used for your on-premises domain. For a single IP address use a CIDR address block with /32. For example 10.0.0.0/32.

                      " + "smithy.api#documentation": "

                      IP address block using CIDR format, for example 10.0.0.0/24. This is often the\n address block of the DNS server used for your self-managed domain. For a single IP address\n use a CIDR address block with /32. For example 10.0.0.0/32.

                      " } }, "Description": { @@ -4450,7 +4579,7 @@ } }, "traits": { - "smithy.api#documentation": "

                      IP address block. This is often the address block of the DNS server used for your on-premises domain.

                      " + "smithy.api#documentation": "

                      IP address block. This is often the address block of the DNS server used for your\n self-managed domain.

                      " } }, "com.amazonaws.directoryservice#IpRouteInfo": { @@ -4508,7 +4637,7 @@ } }, "traits": { - "smithy.api#documentation": "

                      The maximum allowed number of IP addresses was exceeded. The default limit is 100 IP address blocks.

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

                      The maximum allowed number of IP addresses was exceeded. The default limit is 100 IP\n address blocks.

                      ", "smithy.api#error": "client" } }, @@ -4759,20 +4888,20 @@ "DirectoryId": { "target": "com.amazonaws.directoryservice#DirectoryId", "traits": { - "smithy.api#documentation": "

                      Identifier (ID) of the directory for which you want to retrieve the IP addresses.

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

                      Identifier (ID) of the directory for which you want to retrieve the IP\n addresses.

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

                      The ListIpRoutes.NextToken value from a previous call to\n ListIpRoutes. Pass null if this is the first call.

                      " + "smithy.api#documentation": "

                      The ListIpRoutes.NextToken value from a previous call to ListIpRoutes. Pass null if this is the first call.

                      " } }, "Limit": { "target": "com.amazonaws.directoryservice#Limit", "traits": { - "smithy.api#documentation": "

                      Maximum number of items to return. If this value is zero, the maximum number of items is specified by the limitations of the operation.

                      " + "smithy.api#documentation": "

                      Maximum number of items to return. If this value is zero, the maximum number of items\n is specified by the limitations of the operation.

                      " } } } @@ -4789,7 +4918,7 @@ "NextToken": { "target": "com.amazonaws.directoryservice#NextToken", "traits": { - "smithy.api#documentation": "

                      If not null, more results are available. Pass this value for the NextToken parameter\n in a subsequent call to ListIpRoutes to retrieve the next set of items.

                      " + "smithy.api#documentation": "

                      If not null, more results are available. Pass this value for the\n NextToken parameter in a subsequent call to ListIpRoutes to retrieve the next set of items.

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

                      Lists the active log subscriptions for the AWS account.

                      " + "smithy.api#documentation": "

                      Lists the active log subscriptions for the Amazon Web Services account.

                      " } }, "com.amazonaws.directoryservice#ListLogSubscriptionsRequest": { @@ -4826,7 +4955,7 @@ "DirectoryId": { "target": "com.amazonaws.directoryservice#DirectoryId", "traits": { - "smithy.api#documentation": "

                      If a DirectoryID is provided, lists only the log subscription\n associated with that directory. If no DirectoryId is provided, lists all\n log subscriptions associated with your AWS account. If there are no log subscriptions for the\n AWS account or the directory, an empty list will be returned.

                      " + "smithy.api#documentation": "

                      If a DirectoryID is provided, lists only the log subscription\n associated with that directory. If no DirectoryId is provided, lists all\n log subscriptions associated with your Amazon Web Services account. If there are no log subscriptions for the\n Amazon Web Services account or the directory, an empty list will be returned.

                      " } }, "NextToken": { @@ -4849,7 +4978,7 @@ "LogSubscriptions": { "target": "com.amazonaws.directoryservice#LogSubscriptions", "traits": { - "smithy.api#documentation": "

                      A list of active LogSubscription objects for calling the AWS\n account.

                      " + "smithy.api#documentation": "

                      A list of active LogSubscription objects for calling the Amazon Web Services account.

                      " } }, "NextToken": { @@ -4892,14 +5021,14 @@ "DirectoryId": { "target": "com.amazonaws.directoryservice#DirectoryId", "traits": { - "smithy.api#documentation": "

                      The identifier of the directory from which to retrieve the schema extension information.

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

                      The identifier of the directory from which to retrieve the schema extension\n information.

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

                      The ListSchemaExtensions.NextToken value from a previous call to ListSchemaExtensions. Pass null if this is the first call.

                      " + "smithy.api#documentation": "

                      The ListSchemaExtensions.NextToken value from a previous call to\n ListSchemaExtensions. Pass null if this is the first call.

                      " } }, "Limit": { @@ -4922,7 +5051,7 @@ "NextToken": { "target": "com.amazonaws.directoryservice#NextToken", "traits": { - "smithy.api#documentation": "

                      If not null, more results are available. Pass this value for the NextToken parameter in a subsequent call to ListSchemaExtensions to retrieve the next set of items.

                      " + "smithy.api#documentation": "

                      If not null, more results are available. Pass this value for the NextToken\n parameter in a subsequent call to ListSchemaExtensions to retrieve the next set\n of items.

                      " } } } @@ -5004,7 +5133,7 @@ "min": 1, "max": 512 }, - "smithy.api#pattern": "[-._/#A-Za-z0-9]+" + "smithy.api#pattern": "^[-._/#A-Za-z0-9]+$" } }, "com.amazonaws.directoryservice#LogSubscription": { @@ -5077,7 +5206,7 @@ "min": 1, "max": 1024 }, - "smithy.api#pattern": "^(https?|ftp|file|ldaps?)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;()]*[-a-zA-Z0-9+&@#/%=~_|()]" + "smithy.api#pattern": "^(https?|ftp|file|ldaps?)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;()]*[-a-zA-Z0-9+&@#/%=~_|()]$" } }, "com.amazonaws.directoryservice#OrganizationalUnitDN": { @@ -5100,7 +5229,7 @@ } }, "traits": { - "smithy.api#documentation": "

                      Exception encountered while trying to access your AWS organization.

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

                      Exception encountered while trying to access your Amazon Web Services organization.

                      ", "smithy.api#error": "client" } }, @@ -5110,7 +5239,7 @@ "DirectoryId": { "target": "com.amazonaws.directoryservice#DirectoryId", "traits": { - "smithy.api#documentation": "

                      Identifier of the AWS Managed Microsoft AD directory in the directory owner\n account.

                      " + "smithy.api#documentation": "

                      Identifier of the Managed Microsoft AD directory in the directory owner\n account.

                      " } }, "AccountId": { @@ -5161,7 +5290,7 @@ "com.amazonaws.directoryservice#Password": { "type": "string", "traits": { - "smithy.api#pattern": "(?=^.{8,64}$)((?=.*\\d)(?=.*[A-Z])(?=.*[a-z])|(?=.*\\d)(?=.*[^A-Za-z0-9\\s])(?=.*[a-z])|(?=.*[^A-Za-z0-9\\s])(?=.*[A-Z])(?=.*[a-z])|(?=.*\\d)(?=.*[A-Z])(?=.*[^A-Za-z0-9\\s]))^.*", + "smithy.api#pattern": "^(?=^.{8,64}$)((?=.*\\d)(?=.*[A-Z])(?=.*[a-z])|(?=.*\\d)(?=.*[^A-Za-z0-9\\s])(?=.*[a-z])|(?=.*[^A-Za-z0-9\\s])(?=.*[A-Z])(?=.*[a-z])|(?=.*\\d)(?=.*[A-Z])(?=.*[^A-Za-z0-9\\s]))^", "smithy.api#sensitive": {} } }, @@ -5221,13 +5350,13 @@ "RadiusServers": { "target": "com.amazonaws.directoryservice#Servers", "traits": { - "smithy.api#documentation": "

                      An array of strings that contains the fully qualified domain name (FQDN) or IP addresses of the RADIUS server endpoints, or the FQDN or IP addresses of your RADIUS server load balancer.

                      " + "smithy.api#documentation": "

                      An array of strings that contains the fully qualified domain name (FQDN) or IP\n addresses of the RADIUS server endpoints, or the FQDN or IP addresses of your RADIUS server\n load balancer.

                      " } }, "RadiusPort": { "target": "com.amazonaws.directoryservice#PortNumber", "traits": { - "smithy.api#documentation": "

                      The port that your RADIUS server is using for communications. Your on-premises network must allow inbound traffic over this port from the AWS Directory Service servers.

                      " + "smithy.api#documentation": "

                      The port that your RADIUS server is using for communications. Your self-managed\n network must allow inbound traffic over this port from the Directory Service servers.

                      " } }, "RadiusTimeout": { @@ -5239,7 +5368,7 @@ "RadiusRetries": { "target": "com.amazonaws.directoryservice#RadiusRetries", "traits": { - "smithy.api#documentation": "

                      The maximum number of times that communication with the RADIUS server is attempted.

                      " + "smithy.api#documentation": "

                      The maximum number of times that communication with the RADIUS server is\n attempted.

                      " } }, "SharedSecret": { @@ -5268,7 +5397,7 @@ } }, "traits": { - "smithy.api#documentation": "

                      Contains information about a Remote Authentication Dial In User Service (RADIUS) server.

                      " + "smithy.api#documentation": "

                      Contains information about a Remote Authentication Dial In User Service (RADIUS)\n server.

                      " } }, "com.amazonaws.directoryservice#RadiusSharedSecret": { @@ -5278,6 +5407,7 @@ "min": 8, "max": 512 }, + "smithy.api#pattern": "^(\\p{LD}|\\p{Punct}| )+$", "smithy.api#sensitive": {} } }, @@ -5419,7 +5549,7 @@ "PrimaryRegion": { "target": "com.amazonaws.directoryservice#RegionName", "traits": { - "smithy.api#documentation": "

                      The Region where the AWS Managed Microsoft AD directory was originally created.

                      " + "smithy.api#documentation": "

                      The Region where the Managed Microsoft AD directory was originally created.

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

                      Associates a directory with an SNS topic. This establishes the directory as a publisher to the specified SNS topic. You can then receive email or text (SMS) messages when the status of your directory changes. You get notified if your directory goes from an Active status to an Impaired or Inoperable status. You also receive a notification when the directory returns to an Active status.

                      " + "smithy.api#documentation": "

                      Associates a directory with an Amazon SNS topic. This establishes the directory as a\n publisher to the specified Amazon SNS topic. You can then receive email or text (SMS) messages when\n the status of your directory changes. You get notified if your directory goes from an Active\n status to an Impaired or Inoperable status. You also receive a notification when the directory\n returns to an Active status.

                      " } }, "com.amazonaws.directoryservice#RegisterEventTopicRequest": { @@ -5548,14 +5678,14 @@ "DirectoryId": { "target": "com.amazonaws.directoryservice#DirectoryId", "traits": { - "smithy.api#documentation": "

                      The Directory ID that will publish status messages to the SNS topic.

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

                      The Directory ID that will publish status messages to the Amazon SNS topic.

                      ", "smithy.api#required": {} } }, "TopicName": { "target": "com.amazonaws.directoryservice#TopicName", "traits": { - "smithy.api#documentation": "

                      The SNS topic name to which the directory will publish status messages. This SNS topic must be in the same region as the specified Directory ID.

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

                      The Amazon SNS topic name to which the directory will publish status messages. This Amazon SNS\n topic must be in the same region as the specified Directory ID.

                      ", "smithy.api#required": {} } } @@ -5670,7 +5800,7 @@ "DirectoryId": { "target": "com.amazonaws.directoryservice#DirectoryId", "traits": { - "smithy.api#documentation": "

                      Identifier (ID) of the directory from which you want to remove the IP addresses.

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

                      Identifier (ID) of the directory from which you want to remove the IP\n addresses.

                      ", "smithy.api#required": {} } }, @@ -5798,7 +5928,7 @@ "com.amazonaws.directoryservice#RequestId": { "type": "string", "traits": { - "smithy.api#documentation": "

                      The AWS request identifier.

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

                      The Amazon Web Services request identifier.

                      ", "smithy.api#pattern": "^([A-Fa-f0-9]{8}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{12})$" } }, @@ -5834,7 +5964,7 @@ } ], "traits": { - "smithy.api#documentation": "

                      Resets the password for any user in your AWS Managed Microsoft AD or Simple AD\n directory.

                      \n

                      You can reset the password for any user in your directory with the following\n exceptions:

                      \n
                        \n
                      • \n

                        For Simple AD, you cannot reset the password for any user that is a member of either\n the Domain Admins or Enterprise\n Admins group except for the administrator user.

                        \n
                      • \n
                      • \n

                        For AWS Managed Microsoft AD, you can only reset the password for a user that is in an\n OU based off of the NetBIOS name that you typed when you created your directory. For\n example, you cannot reset the password for a user in the AWS\n Reserved OU. For more information about the OU structure for an AWS Managed\n Microsoft AD directory, see What Gets Created in the AWS Directory Service Administration\n Guide.

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

                      Resets the password for any user in your Managed Microsoft AD or Simple AD\n directory.

                      \n

                      You can reset the password for any user in your directory with the following\n exceptions:

                      \n
                        \n
                      • \n

                        For Simple AD, you cannot reset the password for any user that is a member of either\n the Domain Admins or Enterprise\n Admins group except for the administrator user.

                        \n
                      • \n
                      • \n

                        For Managed Microsoft AD, you can only reset the password for a user that is in an\n OU based off of the NetBIOS name that you typed when you created your directory. For\n example, you cannot reset the password for a user in the Amazon Web Services\n Reserved OU. For more information about the OU structure for an Managed Microsoft AD directory, see What Gets Created in the Directory Service Administration\n Guide.

                        \n
                      • \n
                      " } }, "com.amazonaws.directoryservice#ResetUserPasswordRequest": { @@ -5843,7 +5973,7 @@ "DirectoryId": { "target": "com.amazonaws.directoryservice#DirectoryId", "traits": { - "smithy.api#documentation": "

                      Identifier of the AWS Managed Microsoft AD or Simple AD directory in which the user\n resides.

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

                      Identifier of the Managed Microsoft AD or Simple AD directory in which the user\n resides.

                      ", "smithy.api#required": {} } }, @@ -5928,7 +6058,7 @@ "min": 1, "max": 256 }, - "smithy.api#pattern": "[&\\w+-.@]+" + "smithy.api#pattern": "^[&\\w+-.@]+$" } }, "com.amazonaws.directoryservice#SchemaExtensionId": { @@ -5973,7 +6103,7 @@ "StartDateTime": { "target": "com.amazonaws.directoryservice#StartDateTime", "traits": { - "smithy.api#documentation": "

                      The date and time that the schema extension started being applied to the directory.

                      " + "smithy.api#documentation": "

                      The date and time that the schema extension started being applied to the\n directory.

                      " } }, "EndDateTime": { @@ -6086,7 +6216,7 @@ } }, "traits": { - "smithy.api#documentation": "

                      An exception has occurred in AWS Directory Service.

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

                      An exception has occurred in Directory Service.

                      ", "smithy.api#error": "server" } }, @@ -6131,7 +6261,7 @@ } ], "traits": { - "smithy.api#documentation": "

                      Shares a specified directory (DirectoryId) in your AWS account (directory\n owner) with another AWS account (directory consumer). With this operation you can use your\n directory from any AWS account and from any Amazon VPC within an AWS Region.

                      \n

                      When you share your AWS Managed Microsoft AD directory, AWS Directory Service creates a\n shared directory in the directory consumer account. This shared directory contains the\n metadata to provide access to the directory within the directory owner account. The shared\n directory is visible in all VPCs in the directory consumer account.

                      \n

                      The ShareMethod parameter determines whether the specified directory can be\n shared between AWS accounts inside the same AWS organization (ORGANIZATIONS). It\n also determines whether you can share the directory with any other AWS account either inside\n or outside of the organization (HANDSHAKE).

                      \n

                      The ShareNotes parameter is only used when HANDSHAKE is called,\n which sends a directory sharing request to the directory consumer.

                      " + "smithy.api#documentation": "

                      Shares a specified directory (DirectoryId) in your Amazon Web Services account (directory\n owner) with another Amazon Web Services account (directory consumer). With this operation you can use your\n directory from any Amazon Web Services account and from any Amazon VPC within an Amazon Web Services Region.

                      \n

                      When you share your Managed Microsoft AD directory, Directory Service creates a\n shared directory in the directory consumer account. This shared directory contains the\n metadata to provide access to the directory within the directory owner account. The shared\n directory is visible in all VPCs in the directory consumer account.

                      \n

                      The ShareMethod parameter determines whether the specified directory can be\n shared between Amazon Web Services accounts inside the same Amazon Web Services organization (ORGANIZATIONS). It\n also determines whether you can share the directory with any other Amazon Web Services account either inside\n or outside of the organization (HANDSHAKE).

                      \n

                      The ShareNotes parameter is only used when HANDSHAKE is called,\n which sends a directory sharing request to the directory consumer.

                      " } }, "com.amazonaws.directoryservice#ShareDirectoryRequest": { @@ -6140,7 +6270,7 @@ "DirectoryId": { "target": "com.amazonaws.directoryservice#DirectoryId", "traits": { - "smithy.api#documentation": "

                      Identifier of the AWS Managed Microsoft AD directory that you want to share with other AWS\n accounts.

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

                      Identifier of the Managed Microsoft AD directory that you want to share with other Amazon Web Services accounts.

                      ", "smithy.api#required": {} } }, @@ -6160,7 +6290,7 @@ "ShareMethod": { "target": "com.amazonaws.directoryservice#ShareMethod", "traits": { - "smithy.api#documentation": "

                      The method used when sharing a directory to determine whether the directory should be\n shared within your AWS organization (ORGANIZATIONS) or with any AWS account by\n sending a directory sharing request (HANDSHAKE).

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

                      The method used when sharing a directory to determine whether the directory should be\n shared within your Amazon Web Services organization (ORGANIZATIONS) or with any Amazon Web Services account by\n sending a directory sharing request (HANDSHAKE).

                      ", "smithy.api#required": {} } } @@ -6188,7 +6318,7 @@ } }, "traits": { - "smithy.api#documentation": "

                      The maximum number of AWS accounts that you can share with this directory has been reached.

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

                      The maximum number of Amazon Web Services accounts that you can share with this directory has been\n reached.

                      ", "smithy.api#error": "client" } }, @@ -6296,7 +6426,7 @@ "ShareMethod": { "target": "com.amazonaws.directoryservice#ShareMethod", "traits": { - "smithy.api#documentation": "

                      The method used when sharing a directory to determine whether the directory should be\n shared within your AWS organization (ORGANIZATIONS) or with any AWS account by\n sending a shared directory request (HANDSHAKE).

                      " + "smithy.api#documentation": "

                      The method used when sharing a directory to determine whether the directory should be\n shared within your Amazon Web Services organization (ORGANIZATIONS) or with any Amazon Web Services account by\n sending a shared directory request (HANDSHAKE).

                      " } }, "SharedAccountId": { @@ -6314,7 +6444,7 @@ "ShareStatus": { "target": "com.amazonaws.directoryservice#ShareStatus", "traits": { - "smithy.api#documentation": "

                      Current directory status of the shared AWS Managed Microsoft AD directory.

                      " + "smithy.api#documentation": "

                      Current directory status of the shared Managed Microsoft AD directory.

                      " } }, "ShareNotes": { @@ -6410,7 +6540,7 @@ } }, "traits": { - "smithy.api#documentation": "

                      The maximum number of manual snapshots for the directory has been reached. You can\n use the GetSnapshotLimits operation to determine the snapshot limits for a\n directory.

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

                      The maximum number of manual snapshots for the directory has been reached. You can\n use the GetSnapshotLimits operation to determine the snapshot limits\n for a directory.

                      ", "smithy.api#error": "client" } }, @@ -6540,21 +6670,21 @@ "DirectoryId": { "target": "com.amazonaws.directoryservice#DirectoryId", "traits": { - "smithy.api#documentation": "

                      The identifier of the directory for which the schema extension will be applied to.

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

                      The identifier of the directory for which the schema extension will be applied\n to.

                      ", "smithy.api#required": {} } }, "CreateSnapshotBeforeSchemaExtension": { "target": "com.amazonaws.directoryservice#CreateSnapshotBeforeSchemaExtension", "traits": { - "smithy.api#documentation": "

                      If true, creates a snapshot of the directory before applying the schema extension.

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

                      If true, creates a snapshot of the directory before applying the schema\n extension.

                      ", "smithy.api#required": {} } }, "LdifContent": { "target": "com.amazonaws.directoryservice#LdifContent", "traits": { - "smithy.api#documentation": "

                      The LDIF file represented as a string. To construct the LdifContent string, precede each line as it would be formatted in an ldif file with \\n. See the example request below for more details. The file size can be no larger than 1MB.

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

                      The LDIF file represented as a string. To construct the LdifContent string, precede\n each line as it would be formatted in an ldif file with \\n. See the example request below for\n more details. The file size can be no larger than 1MB.

                      ", "smithy.api#required": {} } }, @@ -6605,14 +6735,14 @@ "Key": { "target": "com.amazonaws.directoryservice#TagKey", "traits": { - "smithy.api#documentation": "

                      Required name of the tag. The string value can be Unicode characters and cannot be prefixed with \"aws:\". The string can contain only the set of Unicode letters, digits, white-space, '_', '.', '/', '=', '+', '-' (Java regex: \"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=+\\\\-]*)$\").

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

                      Required name of the tag. The string value can be Unicode characters and cannot be\n prefixed with \"aws:\". The string can contain only the set of Unicode letters, digits,\n white-space, '_', '.', '/', '=', '+', '-' (Java regex:\n \"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=+\\\\-]*)$\").

                      ", "smithy.api#required": {} } }, "Value": { "target": "com.amazonaws.directoryservice#TagValue", "traits": { - "smithy.api#documentation": "

                      The optional value of the tag. The string value can be Unicode characters. The string can contain only the set of Unicode letters, digits, white-space, '_', '.', '/', '=', '+', '-' (Java regex: \"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=+\\\\-]*)$\").

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

                      The optional value of the tag. The string value can be Unicode characters. The string\n can contain only the set of Unicode letters, digits, white-space, '_', '.', '/', '=', '+', '-'\n (Java regex: \"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=+\\\\-]*)$\").

                      ", "smithy.api#required": {} } } @@ -6698,7 +6828,7 @@ "min": 1, "max": 256 }, - "smithy.api#pattern": "[a-zA-Z0-9_-]+" + "smithy.api#pattern": "^[a-zA-Z0-9_-]+$" } }, "com.amazonaws.directoryservice#TopicNames": { @@ -6736,7 +6866,7 @@ "DirectoryId": { "target": "com.amazonaws.directoryservice#DirectoryId", "traits": { - "smithy.api#documentation": "

                      The Directory ID of the AWS directory involved in the trust relationship.

                      " + "smithy.api#documentation": "

                      The Directory ID of the Amazon Web Services directory involved in the trust relationship.

                      " } }, "TrustId": { @@ -6748,7 +6878,7 @@ "RemoteDomainName": { "target": "com.amazonaws.directoryservice#RemoteDomainName", "traits": { - "smithy.api#documentation": "

                      The Fully Qualified Domain Name (FQDN) of the external domain involved in the trust relationship.

                      " + "smithy.api#documentation": "

                      The Fully Qualified Domain Name (FQDN) of the external domain involved in the trust\n relationship.

                      " } }, "TrustType": { @@ -6801,7 +6931,7 @@ } }, "traits": { - "smithy.api#documentation": "

                      Describes a trust relationship between an AWS Managed Microsoft AD directory and an external domain.

                      " + "smithy.api#documentation": "

                      Describes a trust relationship between an Managed Microsoft AD directory and an external\n domain.

                      " } }, "com.amazonaws.directoryservice#TrustDirection": { @@ -6842,7 +6972,7 @@ "min": 1, "max": 128 }, - "smithy.api#pattern": "(.|\\s)*\\S(.|\\s)*", + "smithy.api#pattern": "^(.|\\s)*\\S(.|\\s)*$", "smithy.api#sensitive": {} } }, @@ -6956,7 +7086,7 @@ "DirectoryId": { "target": "com.amazonaws.directoryservice#DirectoryId", "traits": { - "smithy.api#documentation": "

                      The identifier of the AWS Managed Microsoft AD directory that you want to stop\n sharing.

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

                      The identifier of the Managed Microsoft AD directory that you want to stop\n sharing.

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

                      Updates a conditional forwarder that has been set up for your AWS directory.

                      " + "smithy.api#documentation": "

                      Updates a conditional forwarder that has been set up for your Amazon Web Services\n directory.

                      " } }, "com.amazonaws.directoryservice#UpdateConditionalForwarderRequest": { @@ -7055,21 +7185,21 @@ "DirectoryId": { "target": "com.amazonaws.directoryservice#DirectoryId", "traits": { - "smithy.api#documentation": "

                      The directory ID of the AWS directory for which to update the conditional forwarder.

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

                      The directory ID of the Amazon Web Services directory for which to update the conditional\n forwarder.

                      ", "smithy.api#required": {} } }, "RemoteDomainName": { "target": "com.amazonaws.directoryservice#RemoteDomainName", "traits": { - "smithy.api#documentation": "

                      The fully qualified domain name (FQDN) of the remote domain with which you will set up a trust relationship.

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

                      The fully qualified domain name (FQDN) of the remote domain with which you will set up\n a trust relationship.

                      ", "smithy.api#required": {} } }, "DnsIpAddrs": { "target": "com.amazonaws.directoryservice#DnsIpAddrs", "traits": { - "smithy.api#documentation": "

                      The updated IP addresses of the remote DNS server associated with the conditional forwarder.

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

                      The updated IP addresses of the remote DNS server associated with the conditional\n forwarder.

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

                      Adds or removes domain controllers to or from the directory. Based on the difference between current value and new value (provided through this API call), domain controllers will be added or removed. It may take up to 45 minutes for any new domain controllers to become fully active once the requested number of domain controllers is updated. During this time, you cannot make another update request.

                      " + "smithy.api#documentation": "

                      Adds or removes domain controllers to or from the directory. Based on the difference\n between current value and new value (provided through this API call), domain controllers will\n be added or removed. It may take up to 45 minutes for any new domain controllers to become\n fully active once the requested number of domain controllers is updated. During this time, you\n cannot make another update request.

                      " } }, "com.amazonaws.directoryservice#UpdateNumberOfDomainControllersRequest": { @@ -7126,7 +7256,7 @@ "DirectoryId": { "target": "com.amazonaws.directoryservice#DirectoryId", "traits": { - "smithy.api#documentation": "

                      Identifier of the directory to which the domain controllers will be added or removed.

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

                      Identifier of the directory to which the domain controllers will be added or\n removed.

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

                      Updates the Remote Authentication Dial In User Service (RADIUS) server information for an AD Connector or Microsoft AD directory.

                      " + "smithy.api#documentation": "

                      Updates the Remote Authentication Dial In User Service (RADIUS) server information\n for an AD Connector or Microsoft AD directory.

                      " } }, "com.amazonaws.directoryservice#UpdateRadiusRequest": { @@ -7175,14 +7305,14 @@ "DirectoryId": { "target": "com.amazonaws.directoryservice#DirectoryId", "traits": { - "smithy.api#documentation": "

                      The identifier of the directory for which to update the RADIUS server information.

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

                      The identifier of the directory for which to update the RADIUS server\n information.

                      ", "smithy.api#required": {} } }, "RadiusSettings": { "target": "com.amazonaws.directoryservice#RadiusSettings", "traits": { - "smithy.api#documentation": "

                      A RadiusSettings object that contains information about the RADIUS server.

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

                      A RadiusSettings object that contains information about the RADIUS\n server.

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

                      Updates the trust that has been set up between your AWS Managed Microsoft AD directory and an on-premises Active Directory.

                      " + "smithy.api#documentation": "

                      Updates the trust that has been set up between your Managed Microsoft AD directory and an\n self-managed Active Directory.

                      " } }, "com.amazonaws.directoryservice#UpdateTrustRequest": { @@ -7283,7 +7413,7 @@ "smithy.api#length": { "min": 1 }, - "smithy.api#pattern": "[a-zA-Z0-9._-]+" + "smithy.api#pattern": "^[a-zA-Z0-9._-]+$" } }, "com.amazonaws.directoryservice#UserPassword": { @@ -7322,7 +7452,7 @@ } ], "traits": { - "smithy.api#documentation": "

                      AWS Directory Service for Microsoft Active Directory allows you to configure and verify trust relationships.

                      \n

                      This action verifies a trust relationship between your AWS Managed Microsoft AD directory and an external domain.

                      " + "smithy.api#documentation": "

                      Directory Service for Microsoft Active Directory allows you to configure and verify trust\n relationships.

                      \n

                      This action verifies a trust relationship between your Managed Microsoft AD directory and an\n external domain.

                      " } }, "com.amazonaws.directoryservice#VerifyTrustRequest": { @@ -7337,7 +7467,7 @@ } }, "traits": { - "smithy.api#documentation": "

                      Initiates the verification of an existing trust relationship between an AWS Managed Microsoft AD directory and an external domain.

                      " + "smithy.api#documentation": "

                      Initiates the verification of an existing trust relationship between an Managed Microsoft AD\n directory and an external domain.

                      " } }, "com.amazonaws.directoryservice#VerifyTrustResult": { 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 22e8f8f06cce..ec44688431ff 100644 --- a/codegen/sdk-codegen/aws-models/ec2.2016-11-15.json +++ b/codegen/sdk-codegen/aws-models/ec2.2016-11-15.json @@ -10080,7 +10080,7 @@ "target": "com.amazonaws.ec2#KeyPair" }, "traits": { - "smithy.api#documentation": "

                      Creates a 2048-bit RSA key pair with the specified name. Amazon EC2 stores the public\n key and displays the private key for you to save to a file. The private key is returned\n as an unencrypted PEM encoded PKCS#1 private key. If a key with the specified name\n already exists, Amazon EC2 returns an error.

                      \n

                      You can have up to five thousand key pairs per Region.

                      \n\t\t

                      The key pair returned to you is available only in the Region in which you create it.\n If you prefer, you can create your own key pair using a third-party tool and upload it\n to any Region using ImportKeyPair.

                      \n

                      For more information, see Key Pairs in the\n Amazon Elastic Compute Cloud User Guide.

                      " + "smithy.api#documentation": "

                      Creates an ED25519 or 2048-bit RSA key pair with the specified name. Amazon EC2 stores the public\n key and displays the private key for you to save to a file. The private key is returned\n as an unencrypted PEM encoded PKCS#1 private key. If a key with the specified name\n already exists, Amazon EC2 returns an error.

                      \n\t\t

                      The key pair returned to you is available only in the Amazon Web Services Region in which you create it.\n If you prefer, you can create your own key pair using a third-party tool and upload it\n to any Region using ImportKeyPair.

                      \n

                      You can have up to 5,000 key pairs per Amazon Web Services Region.

                      \n

                      For more information, see Amazon EC2 key pairs in the\n Amazon Elastic Compute Cloud User Guide.

                      " } }, "com.amazonaws.ec2#CreateKeyPairRequest": { @@ -10101,6 +10101,12 @@ "smithy.api#xmlName": "dryRun" } }, + "KeyType": { + "target": "com.amazonaws.ec2#KeyType", + "traits": { + "smithy.api#documentation": "

                      The type of key pair. Note that ED25519 keys are not supported for Windows instances, EC2 Instance Connect, and EC2 Serial Console.

                      \n

                      Default: rsa\n

                      " + } + }, "TagSpecifications": { "target": "com.amazonaws.ec2#TagSpecificationList", "traits": { @@ -11477,7 +11483,7 @@ "target": "com.amazonaws.ec2#CreateSecurityGroupResult" }, "traits": { - "smithy.api#documentation": "

                      Creates a security group.

                      \n

                      A security group acts as a virtual firewall for your instance to control inbound and outbound traffic.\n For more information, see\n\t\t\t\tAmazon EC2 Security Groups in \n\t\t\t\tthe Amazon Elastic Compute Cloud User Guide and \n\t\t\t\tSecurity Groups for Your VPC in the\n\t\t\t\tAmazon Virtual Private Cloud User Guide.

                      \n

                      When you create a security group, you specify a friendly name of your choice. You can have a security group for use in EC2-Classic with the same name as a security group for use in a VPC. However, you can't have two security groups for use in EC2-Classic with the same name or two security groups for use in a VPC with the same name.

                      \n

                      You have a default security group for use in EC2-Classic and a default security group for use in your VPC. If you don't specify a security group when you launch an instance, the instance is launched into the appropriate default security group. A default security group includes a default rule that grants instances unrestricted network access to each other.

                      \n

                      You can add or remove rules from your security groups using \n\t\t\t\t\tAuthorizeSecurityGroupIngress,\n\t\t\t\t\tAuthorizeSecurityGroupEgress,\n\t\t\t\t\tRevokeSecurityGroupIngress, and\n\t\t\t\t\tRevokeSecurityGroupEgress.

                      \n

                      For more information about VPC security group limits, see Amazon VPC Limits.

                      " + "smithy.api#documentation": "

                      Creates a security group.

                      \n

                      A security group acts as a virtual firewall for your instance to control inbound and outbound traffic.\n For more information, see\n\t\t\t\tAmazon EC2 security groups in \n\t\t\t\tthe Amazon Elastic Compute Cloud User Guide and \n\t\t\t\tSecurity groups for your VPC in the\n\t\t\t\tAmazon Virtual Private Cloud User Guide.

                      \n

                      When you create a security group, you specify a friendly name of your choice. You can have a security group for use in EC2-Classic with the same name as a security group for use in a VPC. However, you can't have two security groups for use in EC2-Classic with the same name or two security groups for use in a VPC with the same name.

                      \n

                      You have a default security group for use in EC2-Classic and a default security group for use in your VPC. If you don't specify a security group when you launch an instance, the instance is launched into the appropriate default security group. A default security group includes a default rule that grants instances unrestricted network access to each other.

                      \n

                      You can add or remove rules from your security groups using \n\t\t\t\t\tAuthorizeSecurityGroupIngress,\n\t\t\t\t\tAuthorizeSecurityGroupEgress,\n\t\t\t\t\tRevokeSecurityGroupIngress, and\n\t\t\t\t\tRevokeSecurityGroupEgress.

                      \n

                      For more information about VPC security group limits, see Amazon VPC Limits.

                      " } }, "com.amazonaws.ec2#CreateSecurityGroupRequest": { @@ -21056,7 +21062,7 @@ "target": "com.amazonaws.ec2#DescribeKeyPairsResult" }, "traits": { - "smithy.api#documentation": "

                      Describes the specified key pairs or all of your key pairs.

                      \n

                      For more information about key pairs, see Key Pairs \n\t\t\t\tin the Amazon Elastic Compute Cloud User Guide.

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

                      Describes the specified key pairs or all of your key pairs.

                      \n

                      For more information about key pairs, see Amazon EC2 key pairs \n\t\t\t\tin the Amazon Elastic Compute Cloud User Guide.

                      ", "smithy.api#suppress": ["WaitableTraitInvalidErrorType"], "smithy.waiters#waitable": { "KeyPairExists": { @@ -23844,7 +23850,7 @@ "target": "com.amazonaws.ec2#DescribeSecurityGroupsResult" }, "traits": { - "smithy.api#documentation": "

                      Describes the specified security groups or all of your security groups.

                      \n

                      A security group is for use with instances either in the EC2-Classic platform \n\t\t\t\tor in a specific VPC. For more information, see\n\t\t\t\tAmazon EC2 Security Groups in \n\t\t\t\tthe Amazon Elastic Compute Cloud User Guide and \n\t\t\t\tSecurity Groups for Your VPC in the\n\t\t\t\tAmazon Virtual Private Cloud User Guide.

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

                      Describes the specified security groups or all of your security groups.

                      \n

                      A security group is for use with instances either in the EC2-Classic platform \n\t\t\t\tor in a specific VPC. For more information, see\n\t\t\t\tAmazon EC2 security groups in \n\t\t\t\tthe Amazon Elastic Compute Cloud User Guide and \n\t\t\t\tSecurity groups for your VPC in the\n\t\t\t\tAmazon Virtual Private Cloud User Guide.

                      ", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -31264,7 +31270,7 @@ "S3ExportLocation": { "target": "com.amazonaws.ec2#ExportTaskS3LocationRequest", "traits": { - "smithy.api#documentation": "

                      Information about the destination Amazon S3 bucket. The bucket must exist and grant WRITE\n and READ_ACP permissions to the AWS account vm-import-export@amazon.com.

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

                      Information about the destination Amazon S3 bucket. The bucket must exist and grant WRITE\n and READ_ACP permissions to the Amazon Web Services account vm-import-export@amazon.com.

                      ", "smithy.api#required": {} } }, @@ -31637,7 +31643,7 @@ "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "S3Bucket", - "smithy.api#documentation": "

                      The Amazon S3 bucket for the destination image. The destination bucket must exist and grant\n WRITE and READ_ACP permissions to the AWS account\n vm-import-export@amazon.com.

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

                      The Amazon S3 bucket for the destination image. The destination bucket must exist and grant\n WRITE and READ_ACP permissions to the Amazon Web Services account vm-import-export@amazon.com.

                      ", "smithy.api#xmlName": "s3Bucket" } }, @@ -31677,7 +31683,7 @@ "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "S3Bucket", - "smithy.api#documentation": "

                      The Amazon S3 bucket for the destination image. The destination bucket must exist and grant\n WRITE and READ_ACP permissions to the AWS account\n vm-import-export@amazon.com.

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

                      The Amazon S3 bucket for the destination image. The destination bucket must exist and grant\n WRITE and READ_ACP permissions to the Amazon Web Services account vm-import-export@amazon.com.

                      ", "smithy.api#xmlName": "s3Bucket" } }, @@ -36470,7 +36476,7 @@ "Encrypted": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#documentation": "

                      Specifies whether the destination AMI of the imported image should be encrypted. The default CMK for EBS is used\n unless you specify a non-default AWS Key Management Service (AWS KMS) CMK using KmsKeyId. For more information, see Amazon EBS Encryption in the\n Amazon Elastic Compute Cloud User Guide.

                      " + "smithy.api#documentation": "

                      Specifies whether the destination AMI of the imported image should be encrypted. The default KMS key for EBS is used\n unless you specify a non-default KMS key using KmsKeyId. For more information, see Amazon EBS Encryption in the\n Amazon Elastic Compute Cloud User Guide.

                      " } }, "Hypervisor": { @@ -36482,13 +36488,13 @@ "KmsKeyId": { "target": "com.amazonaws.ec2#KmsKeyId", "traits": { - "smithy.api#documentation": "

                      An identifier for the symmetric AWS Key Management Service (AWS KMS) customer master key (CMK) to use when creating the\n encrypted AMI. This parameter is only required if you want to use a non-default CMK; if this\n parameter is not specified, the default CMK for EBS is used. If a KmsKeyId is\n specified, the Encrypted flag must also be set.

                      \n

                      The CMK identifier may be provided in any of the following formats:

                      \n
                        \n
                      • \n

                        Key ID

                        \n
                      • \n
                      • \n

                        Key alias. The alias ARN contains the arn:aws:kms namespace, followed by the Region of the CMK, the AWS account ID of the CMK owner, the alias namespace, and then the CMK alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

                        \n
                      • \n
                      • \n

                        ARN using key ID. The ID ARN contains the arn:aws:kms namespace, followed by the Region of the CMK, the AWS account ID of the CMK owner, the key namespace, and then the CMK ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.

                        \n
                      • \n
                      • \n

                        ARN using key alias. The alias ARN contains the arn:aws:kms namespace, followed by the Region of the CMK, the AWS account ID of the CMK owner, the alias namespace, and then the CMK alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

                        \n
                      • \n
                      \n

                      AWS parses KmsKeyId asynchronously, meaning that the action you call may appear to complete even\n though you provided an invalid identifier. This action will eventually report failure.

                      \n

                      The specified CMK must exist in the Region that the AMI is being copied to.

                      \n

                      Amazon EBS does not support asymmetric CMKs.

                      " + "smithy.api#documentation": "

                      An identifier for the symmetric KMS key to use when creating the\n encrypted AMI. This parameter is only required if you want to use a non-default KMS key; if this\n parameter is not specified, the default KMS key for EBS is used. If a KmsKeyId is\n specified, the Encrypted flag must also be set.

                      \n

                      The KMS key identifier may be provided in any of the following formats:

                      \n
                        \n
                      • \n

                        Key ID

                        \n
                      • \n
                      • \n

                        Key alias. The alias ARN contains the arn:aws:kms namespace, followed by the Region of the key, the Amazon Web Services account ID of the key owner, the alias namespace, and then the key alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

                        \n
                      • \n
                      • \n

                        ARN using key ID. The ID ARN contains the arn:aws:kms namespace, followed by the Region of the key, the Amazon Web Services account ID of the key owner, the key namespace, and then the key ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.

                        \n
                      • \n
                      • \n

                        ARN using key alias. The alias ARN contains the arn:aws:kms namespace, followed by the Region of the key, the Amazon Web Services account ID of the key owner, the alias namespace, and then the key alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

                        \n
                      • \n
                      \n

                      Amazon Web Services parses KmsKeyId asynchronously, meaning that the action you call may appear to complete even\n though you provided an invalid identifier. This action will eventually report failure.

                      \n

                      The specified KMS key must exist in the Region that the AMI is being copied to.

                      \n

                      Amazon EBS does not support asymmetric KMS keys.

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

                      The license type to be used for the Amazon Machine Image (AMI) after importing.

                      \n

                      By default, we detect the source-system operating system (OS) and apply the appropriate license. Specify\n AWS to replace the source-system license with an AWS license, if appropriate. Specify BYOL\n to retain the source-system license, if appropriate.

                      \n

                      To use BYOL, you must have existing licenses with rights to use these licenses in a third party\n cloud, such as AWS. For more information, see Prerequisites in the\n VM Import/Export User Guide.

                      " + "smithy.api#documentation": "

                      The license type to be used for the Amazon Machine Image (AMI) after importing.

                      \n

                      By default, we detect the source-system operating system (OS) and apply the appropriate license. Specify\n AWS to replace the source-system license with an Amazon Web Services license, if appropriate. Specify BYOL\n to retain the source-system license, if appropriate.

                      \n

                      To use BYOL, you must have existing licenses with rights to use these licenses in a third party\n cloud, such as Amazon Web Services. For more information, see Prerequisites in the\n VM Import/Export User Guide.

                      " } }, "Platform": { @@ -36515,6 +36521,12 @@ "smithy.api#documentation": "

                      The tags to apply to the import image task during creation.

                      ", "smithy.api#xmlName": "TagSpecification" } + }, + "UsageOperation": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

                      The usage operation value. For more information, see AMI billing information fields in the Amazon Elastic Compute Cloud User Guide.

                      " + } } } }, @@ -36573,7 +36585,7 @@ "target": "com.amazonaws.ec2#KmsKeyId", "traits": { "aws.protocols#ec2QueryName": "KmsKeyId", - "smithy.api#documentation": "

                      The identifier for the symmetric AWS Key Management Service (AWS KMS) customer master key\n (CMK) that was used to create the encrypted AMI.

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

                      The identifier for the symmetric KMS key that was used to create the encrypted AMI.

                      ", "smithy.api#xmlName": "kmsKeyId" } }, @@ -36640,6 +36652,14 @@ "smithy.api#documentation": "

                      Any tags assigned to the import image task.

                      ", "smithy.api#xmlName": "tagSet" } + }, + "UsageOperation": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "UsageOperation", + "smithy.api#documentation": "

                      The usage operation value.

                      ", + "smithy.api#xmlName": "usageOperation" + } } } }, @@ -36698,7 +36718,7 @@ "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "KmsKeyId", - "smithy.api#documentation": "

                      The identifier for the AWS Key Management Service (AWS KMS) customer master key (CMK) that was used to create\n the encrypted image.

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

                      The identifier for the KMS key that was used to create the encrypted image.

                      ", "smithy.api#xmlName": "kmsKeyId" } }, @@ -36765,6 +36785,14 @@ "smithy.api#documentation": "

                      The ARNs of the license configurations that are associated with the import image task.

                      ", "smithy.api#xmlName": "licenseSpecifications" } + }, + "UsageOperation": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "UsageOperation", + "smithy.api#documentation": "

                      The usage operation value.

                      ", + "smithy.api#xmlName": "usageOperation" + } } }, "traits": { @@ -36792,7 +36820,7 @@ "target": "com.amazonaws.ec2#ImportInstanceResult" }, "traits": { - "smithy.api#documentation": "

                      Creates an import instance task using metadata from the specified disk image.

                      \n

                      This API action supports only single-volume VMs. To import multi-volume VMs, use ImportImage\n instead.

                      \n

                      This API action is not supported by the AWS Command Line Interface (AWS CLI). For \n information about using the Amazon EC2 CLI, which is deprecated, see\n Importing a VM to Amazon EC2 in the Amazon EC2 CLI Reference PDF file.

                      \n

                      For information about the import manifest referenced by this API action, see VM Import Manifest.

                      " + "smithy.api#documentation": "

                      Creates an import instance task using metadata from the specified disk image.

                      \n

                      This API action supports only single-volume VMs. To import multi-volume VMs, use ImportImage\n instead.

                      \n

                      This API action is not supported by the Command Line Interface (CLI). For \n information about using the Amazon EC2 CLI, which is deprecated, see\n Importing a VM to Amazon EC2 in the Amazon EC2 CLI Reference PDF file.

                      \n

                      For information about the import manifest referenced by this API action, see VM Import Manifest.

                      " } }, "com.amazonaws.ec2#ImportInstanceLaunchSpecification": { @@ -37070,7 +37098,7 @@ "target": "com.amazonaws.ec2#ImportKeyPairResult" }, "traits": { - "smithy.api#documentation": "

                      Imports the public key from an RSA key pair that you created with a third-party tool. \n Compare this with CreateKeyPair, in which Amazon Web Services creates the key pair and gives the keys to you \n (Amazon Web Services keeps a copy of the public key). With ImportKeyPair, you create the key pair and give Amazon Web Services just the public key. \n The private key is never transferred between you and Amazon Web Services.

                      \n

                      For more information about key pairs, see Key Pairs \n\t\t\t\tin the Amazon Elastic Compute Cloud User Guide.

                      " + "smithy.api#documentation": "

                      Imports the public key from an RSA or ED25519 key pair that you created with a third-party tool. \n Compare this with CreateKeyPair, in which Amazon Web Services creates the key pair and gives the keys to you \n (Amazon Web Services keeps a copy of the public key). With ImportKeyPair, you create the key pair and give Amazon Web Services just the public key. \n The private key is never transferred between you and Amazon Web Services.

                      \n

                      For more information about key pairs, see Amazon EC2 key pairs \n\t\t\t\tin the Amazon Elastic Compute Cloud User Guide.

                      " } }, "com.amazonaws.ec2#ImportKeyPairRequest": { @@ -37196,13 +37224,13 @@ "Encrypted": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#documentation": "

                      Specifies whether the destination snapshot of the imported image should be encrypted. The default CMK for EBS is\n used unless you specify a non-default AWS Key Management Service (AWS KMS) CMK using KmsKeyId. For more information, see Amazon EBS Encryption in the\n Amazon Elastic Compute Cloud User Guide.

                      " + "smithy.api#documentation": "

                      Specifies whether the destination snapshot of the imported image should be encrypted. The default KMS key for EBS is\n used unless you specify a non-default KMS key using KmsKeyId. For more information, see Amazon EBS Encryption in the\n Amazon Elastic Compute Cloud User Guide.

                      " } }, "KmsKeyId": { "target": "com.amazonaws.ec2#KmsKeyId", "traits": { - "smithy.api#documentation": "

                      An identifier for the symmetric AWS Key Management Service (AWS KMS) customer master key (CMK) to use when creating the\n encrypted snapshot. This parameter is only required if you want to use a non-default CMK; if this\n parameter is not specified, the default CMK for EBS is used. If a KmsKeyId is\n specified, the Encrypted flag must also be set.

                      \n

                      The CMK identifier may be provided in any of the following formats:

                      \n
                        \n
                      • \n

                        Key ID

                        \n
                      • \n
                      • \n

                        Key alias. The alias ARN contains the arn:aws:kms namespace, followed by the Region of the CMK, the AWS account ID of the CMK owner, the alias namespace, and then the CMK alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

                        \n
                      • \n
                      • \n

                        ARN using key ID. The ID ARN contains the arn:aws:kms namespace, followed by the Region of the CMK, the AWS account ID of the CMK owner, the key namespace, and then the CMK ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.

                        \n
                      • \n
                      • \n

                        ARN using key alias. The alias ARN contains the arn:aws:kms namespace, followed by the Region of the CMK, the AWS account ID of the CMK owner, the alias namespace, and then the CMK alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

                        \n
                      • \n
                      \n

                      AWS parses KmsKeyId asynchronously, meaning that the action you call may appear to complete even\n though you provided an invalid identifier. This action will eventually report failure.

                      \n

                      The specified CMK must exist in the Region that the snapshot is being copied to.

                      \n

                      Amazon EBS does not support asymmetric CMKs.

                      " + "smithy.api#documentation": "

                      An identifier for the symmetric KMS key to use when creating the\n encrypted snapshot. This parameter is only required if you want to use a non-default KMS key; if this\n parameter is not specified, the default KMS key for EBS is used. If a KmsKeyId is\n specified, the Encrypted flag must also be set.

                      \n

                      The KMS key identifier may be provided in any of the following formats:

                      \n
                        \n
                      • \n

                        Key ID

                        \n
                      • \n
                      • \n

                        Key alias. The alias ARN contains the arn:aws:kms namespace, followed by the Region of the key, the Amazon Web Services account ID of the key owner, the alias namespace, and then the key alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

                        \n
                      • \n
                      • \n

                        ARN using key ID. The ID ARN contains the arn:aws:kms namespace, followed by the Region of the key, the Amazon Web Services account ID of the key owner, the key namespace, and then the key ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.

                        \n
                      • \n
                      • \n

                        ARN using key alias. The alias ARN contains the arn:aws:kms namespace, followed by the Region of the key, the Amazon Web Services account ID of the key owner, the alias namespace, and then the key alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

                        \n
                      • \n
                      \n

                      Amazon Web Services parses KmsKeyId asynchronously, meaning that the action you call may appear to complete even\n though you provided an invalid identifier. This action will eventually report failure.

                      \n

                      The specified KMS key must exist in the Region that the snapshot is being copied to.

                      \n

                      Amazon EBS does not support asymmetric KMS keys.

                      " } }, "RoleName": { @@ -37339,7 +37367,7 @@ "target": "com.amazonaws.ec2#ImportVolumeResult" }, "traits": { - "smithy.api#documentation": "

                      Creates an import volume task using metadata from the specified disk image.

                      \n

                      This API action supports only single-volume VMs. To import multi-volume VMs, use \n ImportImage instead. To import a disk to a snapshot, use\n ImportSnapshot instead.

                      \n

                      This API action is not supported by the AWS Command Line Interface (AWS CLI). For \n information about using the Amazon EC2 CLI, which is deprecated, see Importing Disks to Amazon EBS in the Amazon EC2 CLI Reference PDF file.

                      \n

                      For information about the import manifest referenced by this API action, see VM Import Manifest.

                      " + "smithy.api#documentation": "

                      Creates an import volume task using metadata from the specified disk image.

                      \n

                      This API action supports only single-volume VMs. To import multi-volume VMs, use \n ImportImage instead. To import a disk to a snapshot, use\n ImportSnapshot instead.

                      \n

                      This API action is not supported by the Command Line Interface (CLI). For \n information about using the Amazon EC2 CLI, which is deprecated, see Importing Disks to Amazon EBS in the Amazon EC2 CLI Reference PDF file.

                      \n

                      For information about the import manifest referenced by this API action, see VM Import Manifest.

                      " } }, "com.amazonaws.ec2#ImportVolumeRequest": { @@ -42525,7 +42553,7 @@ "target": "com.amazonaws.ec2#SensitiveUserData", "traits": { "aws.protocols#ec2QueryName": "KeyMaterial", - "smithy.api#documentation": "

                      An unencrypted PEM encoded RSA private key.

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

                      An unencrypted PEM encoded RSA or ED25519 private key.

                      ", "smithy.api#xmlName": "keyMaterial" } }, @@ -42585,7 +42613,7 @@ "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "KeyFingerprint", - "smithy.api#documentation": "

                      If you used CreateKeyPair to create the key pair, this is the SHA-1 digest of the DER encoded private key. \n If you used ImportKeyPair to provide Amazon Web Services the public key, this is the MD5 public key fingerprint as specified in section 4 of RFC4716.

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

                      If you used CreateKeyPair to create the key pair:

                      \n
                        \n
                      • \n

                        For RSA key pairs, the key fingerprint is the SHA-1 digest of the DER encoded private key. \n

                        \n
                      • \n
                      • \n

                        For ED25519 key pairs, the key fingerprint is the base64-encoded SHA-256 digest, which \n is the default for OpenSSH, starting with OpenSSH 6.8.

                        \n
                      • \n
                      \n

                      If you used ImportKeyPair to provide Amazon Web Services the public key:

                      \n
                        \n
                      • \n

                        For RSA key pairs, the key fingerprint is the MD5 public key fingerprint as specified in section 4 of RFC4716.

                        \n
                      • \n
                      • \n

                        For ED25519 key pairs, the key fingerprint is the base64-encoded SHA-256\n digest, which is the default for OpenSSH, starting with OpenSSH 6.8.

                        \n
                      • \n
                      ", "smithy.api#xmlName": "keyFingerprint" } }, @@ -42597,6 +42625,14 @@ "smithy.api#xmlName": "keyName" } }, + "KeyType": { + "target": "com.amazonaws.ec2#KeyType", + "traits": { + "aws.protocols#ec2QueryName": "KeyType", + "smithy.api#documentation": "

                      The type of key pair.

                      ", + "smithy.api#xmlName": "keyType" + } + }, "Tags": { "target": "com.amazonaws.ec2#TagList", "traits": { @@ -42622,6 +42658,21 @@ "com.amazonaws.ec2#KeyPairName": { "type": "string" }, + "com.amazonaws.ec2#KeyType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "rsa", + "name": "rsa" + }, + { + "value": "ed25519", + "name": "ed25519" + } + ] + } + }, "com.amazonaws.ec2#KmsKeyId": { "type": "string" }, @@ -60233,7 +60284,7 @@ "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "KmsKeyId", - "smithy.api#documentation": "

                      The identifier for the AWS Key Management Service (AWS KMS) customer master key (CMK) that was used to create\n the encrypted snapshot.

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

                      The identifier for the KMS key that was used to create the encrypted snapshot.

                      ", "smithy.api#xmlName": "kmsKeyId" } }, @@ -66684,7 +66735,7 @@ "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "Data", - "smithy.api#documentation": "

                      The user data. If you are using an AWS SDK or command line tool, Base64-encoding is performed for you, and you\n can load the text from a file. Otherwise, you must provide Base64-encoded text.

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

                      The user data. If you are using an Amazon Web Services SDK or command line tool, Base64-encoding is performed for you, and you\n can load the text from a file. Otherwise, you must provide Base64-encoded text.

                      ", "smithy.api#xmlName": "data" } } diff --git a/codegen/sdk-codegen/aws-models/iotsitewise.2019-12-02.json b/codegen/sdk-codegen/aws-models/iotsitewise.2019-12-02.json index 59f604bc93b1..0d930e4f36cf 100644 --- a/codegen/sdk-codegen/aws-models/iotsitewise.2019-12-02.json +++ b/codegen/sdk-codegen/aws-models/iotsitewise.2019-12-02.json @@ -5283,10 +5283,17 @@ "type": { "target": "com.amazonaws.iotsitewise#InterpolationType", "traits": { - "smithy.api#documentation": "

                      The interpolation type.

                      \n

                      Valid values: LINEAR_INTERPOLATION\n

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

                      The interpolation type.

                      \n

                      Valid values: LINEAR_INTERPOLATION | LOCF_INTERPOLATION\n

                      \n

                      For the LOCF_INTERPOLATION interpolation, if no data point is found for an interval, \n IoT SiteWise returns the same interpolated value calculated for the previous interval \n and carries forward this interpolated value until a new data point is found.

                      \n

                      For example, you can get the interpolated temperature values for a wind turbine every 24 hours over a duration of 7 days. \n If the LOCF_INTERPOLATION interpolation starts on July 1, 2021, at 9 AM, IoT SiteWise uses the data points from July 1, 2021, \n at 9 AM to July 2, 2021, at 9 AM to compute the first interpolated value. \n If no data points is found after 9 A.M. on July 2, 2021, IoT SiteWise uses the same interpolated value for the rest of the days.

                      ", "smithy.api#httpQuery": "type", "smithy.api#required": {} } + }, + "intervalWindowInSeconds": { + "target": "com.amazonaws.iotsitewise#IntervalWindowInSeconds", + "traits": { + "smithy.api#documentation": "

                      The query interval for the window in seconds. IoT SiteWise computes each interpolated value by using data points \n from the timestamp of each interval minus the window to the timestamp of each interval plus the window. \n If not specified, the window is between the start time minus the interval and the end time plus the interval.

                      \n \n
                        \n
                      • \n

                        If you specify a value for the intervalWindowInSeconds parameter, \n the type parameter must be LINEAR_INTERPOLATION.

                        \n
                      • \n
                      • \n

                        If no data point is found during the specified query window, \n IoT SiteWise won't return an interpolated value for the interval. \n This indicates that there's a gap in the ingested data points.

                        \n
                      • \n
                      \n
                      \n

                      For example, you can get the interpolated temperature values for a wind turbine \n every 24 hours over a duration of 7 days. If the interpolation starts on July 1, 2021, \n at 9 AM with a window of 2 hours, IoT SiteWise uses the data points from 7 AM (9 AM - 2 hours) \n to 11 AM (9 AM + 2 hours) on July 2, 2021 to compute the first interpolated value, \n uses the data points from 7 AM (9 AM - 2 hours) to 11 AM (9 AM + 2 hours) on July 3, 2021 \n to compute the second interpolated value, and so on.

                      ", + "smithy.api#httpQuery": "intervalWindowInSeconds" + } } } }, @@ -5617,6 +5624,16 @@ } } }, + "com.amazonaws.iotsitewise#IntervalWindowInSeconds": { + "type": "long", + "traits": { + "smithy.api#box": {}, + "smithy.api#range": { + "min": 1, + "max": 320000000 + } + } + }, "com.amazonaws.iotsitewise#InvalidRequestException": { "type": "structure", "members": { @@ -7973,7 +7990,7 @@ "offset": { "target": "com.amazonaws.iotsitewise#Offset", "traits": { - "smithy.api#documentation": "

                      The offset for the tumbling window. The offset parameter accepts the following:

                      \n
                        \n
                      • \n

                        The offset time.

                        \n

                        For example, if you specify 18h for offset \n and 1d for interval, IoT SiteWise aggregates data in one of the following ways:

                        \n
                          \n
                        • \n

                          If you create the metric before or at 6:00 p.m. (UTC), \n you get the first aggregation result at 6 p.m. (UTC) on the day when you create the metric.

                          \n
                        • \n
                        • \n

                          If you create the metric after 6:00 p.m. (UTC), \n you get the first aggregation result at 6 p.m. (UTC) the next day.

                          \n
                        • \n
                        \n
                      • \n
                      • \n

                        The ISO 8601 format.

                        \n

                        For example, if you specify PT18H for offset \n and 1d for interval, IoT SiteWise aggregates data in one of the following ways:

                        \n
                          \n
                        • \n

                          If you create the metric before or at 6:00 p.m. (UTC), \n you get the first aggregation result at 6 p.m. (UTC) on the day when you create the metric.

                          \n
                        • \n
                        • \n

                          If you create the metric after 6:00 p.m. (UTC), \n you get the first aggregation result at 6 p.m. (UTC) the next day.

                          \n
                        • \n
                        \n
                      • \n
                      • \n

                        The 24-hour clock.

                        \n

                        For example, if you specify 00:03:00 for offset \n and 5m for interval, and you create the metric at 2 p.m. (UTC), \n you get the first aggregation result at 2:03 p.m. (UTC). \n You get the second aggregation result at 2:08 p.m. (UTC).

                        \n
                      • \n
                      • \n

                        The offset time zone.

                        \n

                        For example, if you specify 2021-07-23T18:00-08 for offset \n and 1d for interval, IoT SiteWise aggregates data in one of the following ways:

                        \n
                          \n
                        • \n

                          If you create the metric before or at 6:00 p.m. (PST), \n you get the first aggregation result at 6 p.m. (PST) on the day when you create the metric.

                          \n
                        • \n
                        • \n

                          If you create the metric after 6:00 p.m. (PST), \n you get the first aggregation result at 6 p.m. (PST) the next day.

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

                      The offset for the tumbling window. The offset parameter accepts the following:

                      \n
                        \n
                      • \n

                        The offset time.

                        \n

                        For example, if you specify 18h for offset \n and 1d for interval, IoT SiteWise aggregates data in one of the following ways:

                        \n
                          \n
                        • \n

                          If you create the metric before or at 6:00 PM (UTC), \n you get the first aggregation result at 6 PM (UTC) on the day when you create the metric.

                          \n
                        • \n
                        • \n

                          If you create the metric after 6:00 PM (UTC), \n you get the first aggregation result at 6 PM (UTC) the next day.

                          \n
                        • \n
                        \n
                      • \n
                      • \n

                        The ISO 8601 format.

                        \n

                        For example, if you specify PT18H for offset \n and 1d for interval, IoT SiteWise aggregates data in one of the following ways:

                        \n
                          \n
                        • \n

                          If you create the metric before or at 6:00 PM (UTC), \n you get the first aggregation result at 6 PM (UTC) on the day when you create the metric.

                          \n
                        • \n
                        • \n

                          If you create the metric after 6:00 PM (UTC), \n you get the first aggregation result at 6 PM (UTC) the next day.

                          \n
                        • \n
                        \n
                      • \n
                      • \n

                        The 24-hour clock.

                        \n

                        For example, if you specify 00:03:00 for offset \n and 5m for interval, and you create the metric at 2 PM (UTC), \n you get the first aggregation result at 2:03 PM (UTC). \n You get the second aggregation result at 2:08 PM (UTC).

                        \n
                      • \n
                      • \n

                        The offset time zone.

                        \n

                        For example, if you specify 2021-07-23T18:00-08 for offset \n and 1d for interval, IoT SiteWise aggregates data in one of the following ways:

                        \n
                          \n
                        • \n

                          If you create the metric before or at 6:00 PM (PST), \n you get the first aggregation result at 6 PM (PST) on the day when you create the metric.

                          \n
                        • \n
                        • \n

                          If you create the metric after 6:00 PM (PST), \n you get the first aggregation result at 6 PM (PST) the next day.

                          \n
                        • \n
                        \n
                      • \n
                      " } } }, diff --git a/codegen/sdk-codegen/aws-models/license-manager.2018-08-01.json b/codegen/sdk-codegen/aws-models/license-manager.2018-08-01.json index 54cffa2edc19..53dd97c10f1b 100644 --- a/codegen/sdk-codegen/aws-models/license-manager.2018-08-01.json +++ b/codegen/sdk-codegen/aws-models/license-manager.2018-08-01.json @@ -767,6 +767,10 @@ { "value": "PROVISIONAL", "name": "PROVISIONAL" + }, + { + "value": "PERPETUAL", + "name": "PERPETUAL" } ] } diff --git a/codegen/sdk-codegen/aws-models/memorydb.2021-01-01.json b/codegen/sdk-codegen/aws-models/memorydb.2021-01-01.json new file mode 100644 index 000000000000..2312253ca524 --- /dev/null +++ b/codegen/sdk-codegen/aws-models/memorydb.2021-01-01.json @@ -0,0 +1,5130 @@ +{ + "smithy": "1.0", + "metadata": { + "suppressions": [ + { + "id": "HttpMethodSemantics", + "namespace": "*" + }, + { + "id": "HttpResponseCodeSemantics", + "namespace": "*" + }, + { + "id": "PaginatedTrait", + "namespace": "*" + }, + { + "id": "HttpHeaderTrait", + "namespace": "*" + }, + { + "id": "HttpUriConflict", + "namespace": "*" + }, + { + "id": "Service", + "namespace": "*" + } + ] + }, + "shapes": { + "com.amazonaws.memorydb#ACL": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

                      The name of the Access Control List

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

                      Indicates ACL status. Can be \"creating\", \"active\", \"modifying\", \"deleting\".

                      " + } + }, + "UserNames": { + "target": "com.amazonaws.memorydb#UserNameList", + "traits": { + "smithy.api#documentation": "

                      The list of user names that belong to the ACL.

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

                      The minimum engine version supported for the ACL

                      " + } + }, + "PendingChanges": { + "target": "com.amazonaws.memorydb#ACLPendingChanges", + "traits": { + "smithy.api#documentation": "

                      A list of updates being applied to the ACL.

                      " + } + }, + "Clusters": { + "target": "com.amazonaws.memorydb#ACLClusterNameList", + "traits": { + "smithy.api#documentation": "

                      A list of clusters associated with the ACL.

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

                      The Amazon Resource Name (ARN) of the ACL

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

                      An Access Control List. You can authenticate users with Access Contol Lists.\n \n ACLs enable you to control cluster access by grouping users. These Access control lists are designed as a way to organize access to clusters.

                      " + } + }, + "com.amazonaws.memorydb#ACLAlreadyExistsFault": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.memorydb#ExceptionMessage" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "ACLAlreadyExists", + "httpResponseCode": 400 + }, + "smithy.api#documentation": "

                      ", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.memorydb#ACLClusterNameList": { + "type": "list", + "member": { + "target": "com.amazonaws.memorydb#String" + } + }, + "com.amazonaws.memorydb#ACLList": { + "type": "list", + "member": { + "target": "com.amazonaws.memorydb#ACL" + } + }, + "com.amazonaws.memorydb#ACLName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1 + }, + "smithy.api#pattern": "^[a-zA-Z][a-zA-Z0-9\\-]*$" + } + }, + "com.amazonaws.memorydb#ACLNameList": { + "type": "list", + "member": { + "target": "com.amazonaws.memorydb#ACLName" + } + }, + "com.amazonaws.memorydb#ACLNotFoundFault": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.memorydb#ExceptionMessage" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "ACLNotFound", + "httpResponseCode": 404 + }, + "smithy.api#documentation": "

                      ", + "smithy.api#error": "client", + "smithy.api#httpError": 404 + } + }, + "com.amazonaws.memorydb#ACLPendingChanges": { + "type": "structure", + "members": { + "UserNamesToRemove": { + "target": "com.amazonaws.memorydb#UserNameList", + "traits": { + "smithy.api#documentation": "

                      A list of user names being removed from the ACL

                      " + } + }, + "UserNamesToAdd": { + "target": "com.amazonaws.memorydb#UserNameList", + "traits": { + "smithy.api#documentation": "

                      A list of users being added to the ACL

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

                      Returns the updates being applied to the ACL.

                      " + } + }, + "com.amazonaws.memorydb#ACLQuotaExceededFault": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.memorydb#ExceptionMessage" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "ACLQuotaExceeded", + "httpResponseCode": 400 + }, + "smithy.api#documentation": "

                      ", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.memorydb#ACLsUpdateStatus": { + "type": "structure", + "members": { + "ACLToApply": { + "target": "com.amazonaws.memorydb#ACLName", + "traits": { + "smithy.api#documentation": "

                      A list of ACLs pending to be applied.

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

                      The status of the ACL update

                      " + } + }, + "com.amazonaws.memorydb#APICallRateForCustomerExceededFault": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.memorydb#ExceptionMessage" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "APICallRateForCustomerExceeded", + "httpResponseCode": 400 + }, + "smithy.api#documentation": "

                      ", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.memorydb#AZStatus": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "singleaz", + "name": "SingleAZ" + }, + { + "value": "multiaz", + "name": "MultiAZ" + } + ] + } + }, + "com.amazonaws.memorydb#AccessString": { + "type": "string", + "traits": { + "smithy.api#pattern": "\\S" + } + }, + "com.amazonaws.memorydb#AmazonMemoryDB": { + "type": "service", + "version": "2021-01-01", + "operations": [ + { + "target": "com.amazonaws.memorydb#BatchUpdateCluster" + }, + { + "target": "com.amazonaws.memorydb#CopySnapshot" + }, + { + "target": "com.amazonaws.memorydb#CreateACL" + }, + { + "target": "com.amazonaws.memorydb#CreateCluster" + }, + { + "target": "com.amazonaws.memorydb#CreateParameterGroup" + }, + { + "target": "com.amazonaws.memorydb#CreateSnapshot" + }, + { + "target": "com.amazonaws.memorydb#CreateSubnetGroup" + }, + { + "target": "com.amazonaws.memorydb#CreateUser" + }, + { + "target": "com.amazonaws.memorydb#DeleteACL" + }, + { + "target": "com.amazonaws.memorydb#DeleteCluster" + }, + { + "target": "com.amazonaws.memorydb#DeleteParameterGroup" + }, + { + "target": "com.amazonaws.memorydb#DeleteSnapshot" + }, + { + "target": "com.amazonaws.memorydb#DeleteSubnetGroup" + }, + { + "target": "com.amazonaws.memorydb#DeleteUser" + }, + { + "target": "com.amazonaws.memorydb#DescribeACLs" + }, + { + "target": "com.amazonaws.memorydb#DescribeClusters" + }, + { + "target": "com.amazonaws.memorydb#DescribeEngineVersions" + }, + { + "target": "com.amazonaws.memorydb#DescribeEvents" + }, + { + "target": "com.amazonaws.memorydb#DescribeParameterGroups" + }, + { + "target": "com.amazonaws.memorydb#DescribeParameters" + }, + { + "target": "com.amazonaws.memorydb#DescribeServiceUpdates" + }, + { + "target": "com.amazonaws.memorydb#DescribeSnapshots" + }, + { + "target": "com.amazonaws.memorydb#DescribeSubnetGroups" + }, + { + "target": "com.amazonaws.memorydb#DescribeUsers" + }, + { + "target": "com.amazonaws.memorydb#FailoverShard" + }, + { + "target": "com.amazonaws.memorydb#ListAllowedNodeTypeUpdates" + }, + { + "target": "com.amazonaws.memorydb#ListTags" + }, + { + "target": "com.amazonaws.memorydb#ResetParameterGroup" + }, + { + "target": "com.amazonaws.memorydb#TagResource" + }, + { + "target": "com.amazonaws.memorydb#UntagResource" + }, + { + "target": "com.amazonaws.memorydb#UpdateACL" + }, + { + "target": "com.amazonaws.memorydb#UpdateCluster" + }, + { + "target": "com.amazonaws.memorydb#UpdateParameterGroup" + }, + { + "target": "com.amazonaws.memorydb#UpdateSubnetGroup" + }, + { + "target": "com.amazonaws.memorydb#UpdateUser" + } + ], + "traits": { + "aws.api#service": { + "sdkId": "MemoryDB", + "arnNamespace": "memorydb", + "cloudFormationName": "MemoryDB", + "cloudTrailEventSource": "memorydb.amazonaws.com", + "endpointPrefix": "memory-db" + }, + "aws.auth#sigv4": { + "name": "memorydb" + }, + "aws.protocols#awsJson1_1": {}, + "smithy.api#documentation": "

                      Amazon MemoryDB for Redis is a fully managed, Redis-compatible, in-memory database that delivers ultra-fast performance and Multi-AZ durability for modern applications built using microservices architectures.\n \n MemoryDB stores the entire database in-memory, enabling low latency and high throughput data access. It is compatible with Redis, a popular open source data store, enabling you to leverage Redis’ flexible and friendly data structures, APIs, and commands.

                      ", + "smithy.api#title": "Amazon MemoryDB", + "smithy.api#xmlNamespace": { + "uri": "http://memorydb.amazonaws.com/doc/2021-01-01/" + } + } + }, + "com.amazonaws.memorydb#Authentication": { + "type": "structure", + "members": { + "Type": { + "target": "com.amazonaws.memorydb#AuthenticationType", + "traits": { + "smithy.api#documentation": "

                      Indicates whether the user requires a password to authenticate.

                      " + } + }, + "PasswordCount": { + "target": "com.amazonaws.memorydb#IntegerOptional", + "traits": { + "smithy.api#documentation": "

                      The number of passwords belonging to the user. The maximum is two.

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

                      Denotes the user's authentication properties, such as whether it requires a password to authenticate. Used in output responses.

                      " + } + }, + "com.amazonaws.memorydb#AuthenticationMode": { + "type": "structure", + "members": { + "Type": { + "target": "com.amazonaws.memorydb#InputAuthenticationType", + "traits": { + "smithy.api#documentation": "

                      Indicates whether the user requires a password to authenticate. All newly-created users require a password.

                      " + } + }, + "Passwords": { + "target": "com.amazonaws.memorydb#PasswordListInput", + "traits": { + "smithy.api#documentation": "

                      The password(s) used for authentication

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

                      Denotes the user's authentication properties, such as whether it requires a password to authenticate. Used in output responses.

                      " + } + }, + "com.amazonaws.memorydb#AuthenticationType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "password", + "name": "PASSWORD" + }, + { + "value": "no-password", + "name": "NO_PASSWORD" + } + ] + } + }, + "com.amazonaws.memorydb#AvailabilityZone": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

                      The name of the Availability Zone.

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

                      Indicates if the cluster has a Multi-AZ configuration (multiaz) or not (singleaz).

                      " + } + }, + "com.amazonaws.memorydb#AwsQueryErrorMessage": { + "type": "string" + }, + "com.amazonaws.memorydb#BatchUpdateCluster": { + "type": "operation", + "input": { + "target": "com.amazonaws.memorydb#BatchUpdateClusterRequest" + }, + "output": { + "target": "com.amazonaws.memorydb#BatchUpdateClusterResponse" + }, + "errors": [ + { + "target": "com.amazonaws.memorydb#InvalidParameterValueException" + }, + { + "target": "com.amazonaws.memorydb#ServiceUpdateNotFoundFault" + } + ], + "traits": { + "smithy.api#documentation": "

                      Apply the service update to a list of clusters supplied. For more information on service updates and applying them, see Applying the service updates.

                      " + } + }, + "com.amazonaws.memorydb#BatchUpdateClusterRequest": { + "type": "structure", + "members": { + "ClusterNames": { + "target": "com.amazonaws.memorydb#ClusterNameList", + "traits": { + "smithy.api#documentation": "

                      The cluster names to apply the updates.

                      ", + "smithy.api#required": {} + } + }, + "ServiceUpdate": { + "target": "com.amazonaws.memorydb#ServiceUpdateRequest", + "traits": { + "smithy.api#documentation": "

                      The unique ID of the service update

                      " + } + } + } + }, + "com.amazonaws.memorydb#BatchUpdateClusterResponse": { + "type": "structure", + "members": { + "ProcessedClusters": { + "target": "com.amazonaws.memorydb#ClusterList", + "traits": { + "smithy.api#documentation": "

                      The list of clusters that have been updated.

                      " + } + }, + "UnprocessedClusters": { + "target": "com.amazonaws.memorydb#UnprocessedClusterList", + "traits": { + "smithy.api#documentation": "

                      The list of clusters where updates have not been applied.

                      " + } + } + } + }, + "com.amazonaws.memorydb#Boolean": { + "type": "boolean" + }, + "com.amazonaws.memorydb#BooleanOptional": { + "type": "boolean", + "traits": { + "smithy.api#box": {} + } + }, + "com.amazonaws.memorydb#Cluster": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

                      The user-supplied name of the cluster. This identifier is a unique key that identifies a cluster.

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

                      A description of the cluster

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

                      The status of the cluster. For example, Available, Updating, Creating.

                      " + } + }, + "PendingUpdates": { + "target": "com.amazonaws.memorydb#ClusterPendingUpdates", + "traits": { + "smithy.api#documentation": "

                      A group of settings that are currently being applied.

                      " + } + }, + "NumberOfShards": { + "target": "com.amazonaws.memorydb#IntegerOptional", + "traits": { + "smithy.api#documentation": "

                      The number of shards in the cluster

                      " + } + }, + "Shards": { + "target": "com.amazonaws.memorydb#ShardList", + "traits": { + "smithy.api#documentation": "

                      A list of shards that are members of the cluster.

                      " + } + }, + "AvailabilityMode": { + "target": "com.amazonaws.memorydb#AZStatus", + "traits": { + "smithy.api#documentation": "

                      Indicates if the cluster has a Multi-AZ configuration (multiaz) or not (singleaz).

                      " + } + }, + "ClusterEndpoint": { + "target": "com.amazonaws.memorydb#Endpoint", + "traits": { + "smithy.api#documentation": "

                      The cluster's configuration endpoint

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

                      The cluster's node type

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

                      The Redis engine version used by the cluster

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

                      The Redis engine patch version used by the cluster

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

                      The name of the parameter group used by the cluster

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

                      The status of the parameter group used by the cluster, for example 'active' or 'applying'.

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

                      A list of security groups used by the cluster

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

                      The name of the subnet group used by the cluster

                      " + } + }, + "TLSEnabled": { + "target": "com.amazonaws.memorydb#BooleanOptional", + "traits": { + "smithy.api#documentation": "

                      A flag to indicate if In-transit encryption is enabled

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

                      The ID of the KMS key used to encrypt the cluster

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

                      The Amazon Resource Name (ARN) of the cluster.

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

                      The Amazon Resource Name (ARN) of the SNS notification topic

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

                      The SNS topic must be in Active status to receive notifications

                      " + } + }, + "SnapshotRetentionLimit": { + "target": "com.amazonaws.memorydb#IntegerOptional", + "traits": { + "smithy.api#documentation": "

                      The number of days for which MemoryDB retains automatic snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, a snapshot that was taken today is retained for 5 days before being deleted.

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

                      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.

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

                      The daily time range (in UTC) during which MemoryDB begins taking a daily snapshot of your shard.\n \n Example: 05:00-09:00\n \n If you do not specify this parameter, MemoryDB automatically chooses an appropriate time range.

                      " + } + }, + "ACLName": { + "target": "com.amazonaws.memorydb#ACLName", + "traits": { + "smithy.api#documentation": "

                      The name of the Access Control List associated with this cluster.

                      " + } + }, + "AutoMinorVersionUpgrade": { + "target": "com.amazonaws.memorydb#BooleanOptional", + "traits": { + "smithy.api#documentation": "

                      When set to true, the cluster will automatically receive minor engine version upgrades after launch.

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

                      Contains all of the attributes of a specific cluster.

                      " + } + }, + "com.amazonaws.memorydb#ClusterAlreadyExistsFault": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.memorydb#ExceptionMessage" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "ClusterAlreadyExists", + "httpResponseCode": 400 + }, + "smithy.api#documentation": "

                      ", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.memorydb#ClusterConfiguration": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

                      The name of the cluster

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

                      The description of the cluster configuration

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

                      The node type used for the cluster

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

                      The Redis engine version used by the cluster

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

                      The specified maintenance window for the cluster

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

                      The Amazon Resource Name (ARN) of the SNS notification topic for the cluster

                      " + } + }, + "Port": { + "target": "com.amazonaws.memorydb#IntegerOptional", + "traits": { + "smithy.api#documentation": "

                      The port used by the cluster

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

                      The name of parameter group used by the cluster

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

                      The name of the subnet group used by the cluster

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

                      The ID of the VPC the cluster belongs to

                      " + } + }, + "SnapshotRetentionLimit": { + "target": "com.amazonaws.memorydb#IntegerOptional", + "traits": { + "smithy.api#documentation": "

                      The snapshot retention limit set by the cluster

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

                      The snapshot window set by the cluster

                      " + } + }, + "NumShards": { + "target": "com.amazonaws.memorydb#IntegerOptional", + "traits": { + "smithy.api#documentation": "

                      The number of shards in the cluster

                      " + } + }, + "Shards": { + "target": "com.amazonaws.memorydb#ShardDetails", + "traits": { + "smithy.api#documentation": "

                      The list of shards in the cluster

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

                      A list of cluster configuration options.

                      " + } + }, + "com.amazonaws.memorydb#ClusterList": { + "type": "list", + "member": { + "target": "com.amazonaws.memorydb#Cluster", + "traits": { + "smithy.api#xmlName": "Cluster" + } + } + }, + "com.amazonaws.memorydb#ClusterNameList": { + "type": "list", + "member": { + "target": "com.amazonaws.memorydb#String" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 20 + } + } + }, + "com.amazonaws.memorydb#ClusterNotFoundFault": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.memorydb#ExceptionMessage" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "ClusterNotFound", + "httpResponseCode": 404 + }, + "smithy.api#documentation": "

                      ", + "smithy.api#error": "client", + "smithy.api#httpError": 404 + } + }, + "com.amazonaws.memorydb#ClusterPendingUpdates": { + "type": "structure", + "members": { + "Resharding": { + "target": "com.amazonaws.memorydb#ReshardingStatus", + "traits": { + "smithy.api#documentation": "

                      The status of an online resharding operation.

                      " + } + }, + "ACLs": { + "target": "com.amazonaws.memorydb#ACLsUpdateStatus", + "traits": { + "smithy.api#documentation": "

                      A list of ACLs associated with the cluster that are being updated

                      " + } + }, + "ServiceUpdates": { + "target": "com.amazonaws.memorydb#PendingModifiedServiceUpdateList", + "traits": { + "smithy.api#documentation": "

                      A list of service updates being applied to the cluster

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

                      A list of updates being applied to the cluster

                      " + } + }, + "com.amazonaws.memorydb#ClusterQuotaForCustomerExceededFault": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.memorydb#ExceptionMessage" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "ClusterQuotaForCustomerExceeded", + "httpResponseCode": 400 + }, + "smithy.api#documentation": "

                      ", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.memorydb#CopySnapshot": { + "type": "operation", + "input": { + "target": "com.amazonaws.memorydb#CopySnapshotRequest" + }, + "output": { + "target": "com.amazonaws.memorydb#CopySnapshotResponse" + }, + "errors": [ + { + "target": "com.amazonaws.memorydb#InvalidParameterCombinationException" + }, + { + "target": "com.amazonaws.memorydb#InvalidParameterValueException" + }, + { + "target": "com.amazonaws.memorydb#InvalidSnapshotStateFault" + }, + { + "target": "com.amazonaws.memorydb#ServiceLinkedRoleNotFoundFault" + }, + { + "target": "com.amazonaws.memorydb#SnapshotAlreadyExistsFault" + }, + { + "target": "com.amazonaws.memorydb#SnapshotNotFoundFault" + }, + { + "target": "com.amazonaws.memorydb#SnapshotQuotaExceededFault" + }, + { + "target": "com.amazonaws.memorydb#TagQuotaPerResourceExceeded" + } + ], + "traits": { + "smithy.api#documentation": "

                      Makes a copy of an existing snapshot.

                      " + } + }, + "com.amazonaws.memorydb#CopySnapshotRequest": { + "type": "structure", + "members": { + "SourceSnapshotName": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

                      The name of an existing snapshot from which to make a copy.

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

                      A name for the snapshot copy. MemoryDB does not permit overwriting a snapshot, therefore this name must be unique within its context - MemoryDB or an Amazon S3 bucket if exporting.

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

                      The Amazon S3 bucket to which the snapshot is exported. This parameter is used only when exporting a snapshot for external access.\n \n When using this parameter to export a snapshot, be sure MemoryDB has the needed permissions to this S3 bucket. For more information, see \n \n Step 2: Grant MemoryDB Access to Your Amazon S3 Bucket. \n \n

                      " + } + }, + "KmsKeyId": { + "target": "com.amazonaws.memorydb#KmsKeyId", + "traits": { + "smithy.api#documentation": "

                      The ID of the KMS key used to encrypt the target snapshot.

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

                      A list of tags to be added to this resource. A tag is a key-value pair. A tag key must be accompanied by a tag value, although null is accepted.

                      " + } + } + } + }, + "com.amazonaws.memorydb#CopySnapshotResponse": { + "type": "structure", + "members": { + "Snapshot": { + "target": "com.amazonaws.memorydb#Snapshot", + "traits": { + "smithy.api#documentation": "

                      Represents a copy of an entire cluster as of the time when the snapshot was taken.

                      " + } + } + } + }, + "com.amazonaws.memorydb#CreateACL": { + "type": "operation", + "input": { + "target": "com.amazonaws.memorydb#CreateACLRequest" + }, + "output": { + "target": "com.amazonaws.memorydb#CreateACLResponse" + }, + "errors": [ + { + "target": "com.amazonaws.memorydb#ACLAlreadyExistsFault" + }, + { + "target": "com.amazonaws.memorydb#ACLQuotaExceededFault" + }, + { + "target": "com.amazonaws.memorydb#DefaultUserRequired" + }, + { + "target": "com.amazonaws.memorydb#DuplicateUserNameFault" + }, + { + "target": "com.amazonaws.memorydb#InvalidParameterValueException" + }, + { + "target": "com.amazonaws.memorydb#TagQuotaPerResourceExceeded" + }, + { + "target": "com.amazonaws.memorydb#UserNotFoundFault" + } + ], + "traits": { + "smithy.api#documentation": "

                      Creates an Access Control List. For more information, see Authenticating users with Access Contol Lists (ACLs).

                      " + } + }, + "com.amazonaws.memorydb#CreateACLRequest": { + "type": "structure", + "members": { + "ACLName": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

                      The name of the Access Control List.

                      ", + "smithy.api#required": {} + } + }, + "UserNames": { + "target": "com.amazonaws.memorydb#UserNameListInput", + "traits": { + "smithy.api#documentation": "

                      The list of users that belong to the Access Control List.

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

                      A list of tags to be added to this resource. A tag is a key-value pair. A tag key must be accompanied by a tag value, although null is accepted.

                      " + } + } + } + }, + "com.amazonaws.memorydb#CreateACLResponse": { + "type": "structure", + "members": { + "ACL": { + "target": "com.amazonaws.memorydb#ACL", + "traits": { + "smithy.api#documentation": "

                      The newly-created Access Control List.

                      " + } + } + } + }, + "com.amazonaws.memorydb#CreateCluster": { + "type": "operation", + "input": { + "target": "com.amazonaws.memorydb#CreateClusterRequest" + }, + "output": { + "target": "com.amazonaws.memorydb#CreateClusterResponse" + }, + "errors": [ + { + "target": "com.amazonaws.memorydb#ACLNotFoundFault" + }, + { + "target": "com.amazonaws.memorydb#ClusterAlreadyExistsFault" + }, + { + "target": "com.amazonaws.memorydb#ClusterQuotaForCustomerExceededFault" + }, + { + "target": "com.amazonaws.memorydb#InsufficientClusterCapacityFault" + }, + { + "target": "com.amazonaws.memorydb#InvalidACLStateFault" + }, + { + "target": "com.amazonaws.memorydb#InvalidCredentialsException" + }, + { + "target": "com.amazonaws.memorydb#InvalidParameterCombinationException" + }, + { + "target": "com.amazonaws.memorydb#InvalidParameterValueException" + }, + { + "target": "com.amazonaws.memorydb#InvalidVPCNetworkStateFault" + }, + { + "target": "com.amazonaws.memorydb#NodeQuotaForClusterExceededFault" + }, + { + "target": "com.amazonaws.memorydb#NodeQuotaForCustomerExceededFault" + }, + { + "target": "com.amazonaws.memorydb#ParameterGroupNotFoundFault" + }, + { + "target": "com.amazonaws.memorydb#ServiceLinkedRoleNotFoundFault" + }, + { + "target": "com.amazonaws.memorydb#ShardsPerClusterQuotaExceededFault" + }, + { + "target": "com.amazonaws.memorydb#SubnetGroupNotFoundFault" + }, + { + "target": "com.amazonaws.memorydb#TagQuotaPerResourceExceeded" + } + ], + "traits": { + "smithy.api#documentation": "

                      Creates a cluster. All nodes in the cluster run the same protocol-compliant engine software.

                      " + } + }, + "com.amazonaws.memorydb#CreateClusterRequest": { + "type": "structure", + "members": { + "ClusterName": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

                      The name of the cluster. This value must be unique as it also serves as the cluster identifier.

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

                      The compute and memory capacity of the nodes in the cluster.

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

                      The name of the parameter group associated with the cluster.

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

                      An optional description of the cluster.

                      " + } + }, + "NumShards": { + "target": "com.amazonaws.memorydb#IntegerOptional", + "traits": { + "smithy.api#documentation": "

                      The number of shards the cluster will contain.

                      \n

                      Clusters can have up to 500 shards, with your data partitioned across the shards. For example, you can choose to configure a 500 node cluster that ranges between \n\t\t\t83 shards (one primary and 5 replicas per shard) and 500 shards (single primary and no replicas). Make sure there are enough available IP addresses to accommodate the increase. \n\t\t\tCommon pitfalls include the subnets in the subnet group have too small a CIDR range or the subnets are shared and heavily used by other clusters.

                      " + } + }, + "NumReplicasPerShard": { + "target": "com.amazonaws.memorydb#IntegerOptional", + "traits": { + "smithy.api#documentation": "

                      The number of replicas to apply to each shard. The limit is 5.

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

                      The name of the subnet group to be used for the cluster.

                      " + } + }, + "SecurityGroupIds": { + "target": "com.amazonaws.memorydb#SecurityGroupIdsList", + "traits": { + "smithy.api#documentation": "

                      A list of security group names to associate with this cluster.

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

                      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.

                      " + } + }, + "Port": { + "target": "com.amazonaws.memorydb#IntegerOptional", + "traits": { + "smithy.api#documentation": "

                      The port number on which each of the nodes accepts connections.

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

                      The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (SNS) topic to which notifications are sent.

                      " + } + }, + "TLSEnabled": { + "target": "com.amazonaws.memorydb#BooleanOptional", + "traits": { + "smithy.api#documentation": "

                      A flag to enable in-transit encryption on the cluster.

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

                      The ID of the KMS key used to encrypt the cluster.

                      " + } + }, + "SnapshotArns": { + "target": "com.amazonaws.memorydb#SnapshotArnsList", + "traits": { + "smithy.api#documentation": "

                      A list of Amazon Resource Names (ARN) that uniquely identify the RDB snapshot files stored in Amazon S3. The snapshot files are used to populate the new cluster. The Amazon S3 object name in the ARN cannot contain any commas.

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

                      The name of a snapshot from which to restore data into the new cluster. The snapshot status changes to restoring while the new cluster is being created.

                      " + } + }, + "SnapshotRetentionLimit": { + "target": "com.amazonaws.memorydb#IntegerOptional", + "traits": { + "smithy.api#documentation": "

                      The number of days for which MemoryDB retains automatic snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, a snapshot that was taken today is retained for 5 days before being deleted.

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

                      A list of tags to be added to this resource. Tags are comma-separated key,value pairs (e.g. Key=myKey, Value=myKeyValue. You can include multiple tags as shown following: Key=myKey, Value=myKeyValue Key=mySecondKey, Value=mySecondKeyValue.

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

                      The daily time range (in UTC) during which MemoryDB begins taking a daily snapshot of your shard.

                      \n \n

                      Example: 05:00-09:00

                      \n \n

                      If you do not specify this parameter, MemoryDB automatically chooses an appropriate time range.

                      " + } + }, + "ACLName": { + "target": "com.amazonaws.memorydb#ACLName", + "traits": { + "smithy.api#documentation": "

                      The name of the Access Control List to associate with the cluster.

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

                      The version number of the Redis engine to be used for the cluster.

                      " + } + }, + "AutoMinorVersionUpgrade": { + "target": "com.amazonaws.memorydb#BooleanOptional", + "traits": { + "smithy.api#documentation": "

                      When set to true, the cluster will automatically receive minor engine version upgrades after launch.

                      " + } + } + } + }, + "com.amazonaws.memorydb#CreateClusterResponse": { + "type": "structure", + "members": { + "Cluster": { + "target": "com.amazonaws.memorydb#Cluster", + "traits": { + "smithy.api#documentation": "

                      The newly-created cluster.

                      " + } + } + } + }, + "com.amazonaws.memorydb#CreateParameterGroup": { + "type": "operation", + "input": { + "target": "com.amazonaws.memorydb#CreateParameterGroupRequest" + }, + "output": { + "target": "com.amazonaws.memorydb#CreateParameterGroupResponse" + }, + "errors": [ + { + "target": "com.amazonaws.memorydb#InvalidParameterCombinationException" + }, + { + "target": "com.amazonaws.memorydb#InvalidParameterGroupStateFault" + }, + { + "target": "com.amazonaws.memorydb#InvalidParameterValueException" + }, + { + "target": "com.amazonaws.memorydb#ParameterGroupAlreadyExistsFault" + }, + { + "target": "com.amazonaws.memorydb#ParameterGroupQuotaExceededFault" + }, + { + "target": "com.amazonaws.memorydb#ServiceLinkedRoleNotFoundFault" + }, + { + "target": "com.amazonaws.memorydb#TagQuotaPerResourceExceeded" + } + ], + "traits": { + "smithy.api#documentation": "

                      Creates a new MemoryDB parameter group. A parameter group is a collection of parameters and their values that are applied to all of the nodes in any cluster. For \n more information, see Configuring engine parameters using parameter groups.\n \n

                      " + } + }, + "com.amazonaws.memorydb#CreateParameterGroupRequest": { + "type": "structure", + "members": { + "ParameterGroupName": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

                      The name of the parameter group.

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

                      The name of the parameter group family that the parameter group can be used with.

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

                      An optional description of the parameter group.

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

                      A list of tags to be added to this resource. A tag is a key-value pair. A tag key must be accompanied by a tag value, although null is accepted.

                      " + } + } + } + }, + "com.amazonaws.memorydb#CreateParameterGroupResponse": { + "type": "structure", + "members": { + "ParameterGroup": { + "target": "com.amazonaws.memorydb#ParameterGroup", + "traits": { + "smithy.api#documentation": "

                      The newly-created parameter group.

                      " + } + } + } + }, + "com.amazonaws.memorydb#CreateSnapshot": { + "type": "operation", + "input": { + "target": "com.amazonaws.memorydb#CreateSnapshotRequest" + }, + "output": { + "target": "com.amazonaws.memorydb#CreateSnapshotResponse" + }, + "errors": [ + { + "target": "com.amazonaws.memorydb#ClusterNotFoundFault" + }, + { + "target": "com.amazonaws.memorydb#InvalidClusterStateFault" + }, + { + "target": "com.amazonaws.memorydb#InvalidParameterCombinationException" + }, + { + "target": "com.amazonaws.memorydb#InvalidParameterValueException" + }, + { + "target": "com.amazonaws.memorydb#ServiceLinkedRoleNotFoundFault" + }, + { + "target": "com.amazonaws.memorydb#SnapshotAlreadyExistsFault" + }, + { + "target": "com.amazonaws.memorydb#SnapshotQuotaExceededFault" + }, + { + "target": "com.amazonaws.memorydb#TagQuotaPerResourceExceeded" + } + ], + "traits": { + "smithy.api#documentation": "

                      Creates a copy of an entire cluster at a specific moment in time.

                      " + } + }, + "com.amazonaws.memorydb#CreateSnapshotRequest": { + "type": "structure", + "members": { + "ClusterName": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

                      The snapshot is created from this cluster.

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

                      A name for the snapshot being created.

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

                      The ID of the KMS key used to encrypt the snapshot.

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

                      A list of tags to be added to this resource. A tag is a key-value pair. A tag key must be accompanied by a tag value, although null is accepted.

                      " + } + } + } + }, + "com.amazonaws.memorydb#CreateSnapshotResponse": { + "type": "structure", + "members": { + "Snapshot": { + "target": "com.amazonaws.memorydb#Snapshot", + "traits": { + "smithy.api#documentation": "

                      The newly-created snapshot.

                      " + } + } + } + }, + "com.amazonaws.memorydb#CreateSubnetGroup": { + "type": "operation", + "input": { + "target": "com.amazonaws.memorydb#CreateSubnetGroupRequest" + }, + "output": { + "target": "com.amazonaws.memorydb#CreateSubnetGroupResponse" + }, + "errors": [ + { + "target": "com.amazonaws.memorydb#InvalidSubnet" + }, + { + "target": "com.amazonaws.memorydb#ServiceLinkedRoleNotFoundFault" + }, + { + "target": "com.amazonaws.memorydb#SubnetGroupAlreadyExistsFault" + }, + { + "target": "com.amazonaws.memorydb#SubnetGroupQuotaExceededFault" + }, + { + "target": "com.amazonaws.memorydb#SubnetNotAllowedFault" + }, + { + "target": "com.amazonaws.memorydb#SubnetQuotaExceededFault" + }, + { + "target": "com.amazonaws.memorydb#TagQuotaPerResourceExceeded" + } + ], + "traits": { + "smithy.api#documentation": "

                      Creates a subnet group. A subnet group is a collection of subnets (typically private) that you can designate for your clusters running in an Amazon Virtual Private Cloud (VPC) environment.\n \n When you create a cluster in an Amazon VPC, you must specify a subnet group. MemoryDB uses that subnet group to choose a subnet and IP addresses within that subnet to associate with your nodes. \n For more information, see Subnets and subnet groups.

                      " + } + }, + "com.amazonaws.memorydb#CreateSubnetGroupRequest": { + "type": "structure", + "members": { + "SubnetGroupName": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

                      The name of the subnet group.

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

                      A description for the subnet group.

                      " + } + }, + "SubnetIds": { + "target": "com.amazonaws.memorydb#SubnetIdentifierList", + "traits": { + "smithy.api#documentation": "

                      A list of VPC subnet IDs for the subnet group.

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

                      A list of tags to be added to this resource. A tag is a key-value pair. A tag key must be accompanied by a tag value, although null is accepted.

                      " + } + } + } + }, + "com.amazonaws.memorydb#CreateSubnetGroupResponse": { + "type": "structure", + "members": { + "SubnetGroup": { + "target": "com.amazonaws.memorydb#SubnetGroup", + "traits": { + "smithy.api#documentation": "

                      The newly-created subnet group

                      " + } + } + } + }, + "com.amazonaws.memorydb#CreateUser": { + "type": "operation", + "input": { + "target": "com.amazonaws.memorydb#CreateUserRequest" + }, + "output": { + "target": "com.amazonaws.memorydb#CreateUserResponse" + }, + "errors": [ + { + "target": "com.amazonaws.memorydb#DuplicateUserNameFault" + }, + { + "target": "com.amazonaws.memorydb#InvalidParameterCombinationException" + }, + { + "target": "com.amazonaws.memorydb#InvalidParameterValueException" + }, + { + "target": "com.amazonaws.memorydb#TagQuotaPerResourceExceeded" + }, + { + "target": "com.amazonaws.memorydb#UserAlreadyExistsFault" + }, + { + "target": "com.amazonaws.memorydb#UserQuotaExceededFault" + } + ], + "traits": { + "smithy.api#documentation": "

                      Creates a MemoryDB user. For more information, see Authenticating users with Access Contol Lists (ACLs).

                      " + } + }, + "com.amazonaws.memorydb#CreateUserRequest": { + "type": "structure", + "members": { + "UserName": { + "target": "com.amazonaws.memorydb#UserName", + "traits": { + "smithy.api#documentation": "

                      The name of the user. This value must be unique as it also serves as the user identifier.

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

                      Denotes the user's authentication properties, such as whether it requires a password to authenticate.

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

                      Access permissions string used for this user.

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

                      A list of tags to be added to this resource. A tag is a key-value pair. A tag key must be accompanied by a tag value, although null is accepted.

                      " + } + } + } + }, + "com.amazonaws.memorydb#CreateUserResponse": { + "type": "structure", + "members": { + "User": { + "target": "com.amazonaws.memorydb#User", + "traits": { + "smithy.api#documentation": "

                      The newly-created user.

                      " + } + } + } + }, + "com.amazonaws.memorydb#DefaultUserRequired": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.memorydb#ExceptionMessage" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "DefaultUserRequired", + "httpResponseCode": 400 + }, + "smithy.api#documentation": "

                      ", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.memorydb#DeleteACL": { + "type": "operation", + "input": { + "target": "com.amazonaws.memorydb#DeleteACLRequest" + }, + "output": { + "target": "com.amazonaws.memorydb#DeleteACLResponse" + }, + "errors": [ + { + "target": "com.amazonaws.memorydb#ACLNotFoundFault" + }, + { + "target": "com.amazonaws.memorydb#InvalidACLStateFault" + }, + { + "target": "com.amazonaws.memorydb#InvalidParameterValueException" + } + ], + "traits": { + "smithy.api#documentation": "

                      Deletes an Access Control List. The ACL must first be disassociated from the cluster before it can be deleted. For more information, see Authenticating users with Access Contol Lists (ACLs).

                      " + } + }, + "com.amazonaws.memorydb#DeleteACLRequest": { + "type": "structure", + "members": { + "ACLName": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

                      The name of the Access Control List to delete

                      ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.memorydb#DeleteACLResponse": { + "type": "structure", + "members": { + "ACL": { + "target": "com.amazonaws.memorydb#ACL", + "traits": { + "smithy.api#documentation": "

                      The Access Control List object that has been deleted.

                      " + } + } + } + }, + "com.amazonaws.memorydb#DeleteCluster": { + "type": "operation", + "input": { + "target": "com.amazonaws.memorydb#DeleteClusterRequest" + }, + "output": { + "target": "com.amazonaws.memorydb#DeleteClusterResponse" + }, + "errors": [ + { + "target": "com.amazonaws.memorydb#ClusterNotFoundFault" + }, + { + "target": "com.amazonaws.memorydb#InvalidClusterStateFault" + }, + { + "target": "com.amazonaws.memorydb#InvalidParameterCombinationException" + }, + { + "target": "com.amazonaws.memorydb#InvalidParameterValueException" + }, + { + "target": "com.amazonaws.memorydb#ServiceLinkedRoleNotFoundFault" + }, + { + "target": "com.amazonaws.memorydb#SnapshotAlreadyExistsFault" + } + ], + "traits": { + "smithy.api#documentation": "

                      Deletes a cluster. It also deletes all associated nodes and node endpoints

                      " + } + }, + "com.amazonaws.memorydb#DeleteClusterRequest": { + "type": "structure", + "members": { + "ClusterName": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

                      The name of the cluster to be deleted

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

                      The user-supplied name of a final cluster snapshot. This is the unique name that identifies the snapshot. MemoryDB creates the snapshot, and then deletes the cluster immediately afterward.

                      " + } + } + } + }, + "com.amazonaws.memorydb#DeleteClusterResponse": { + "type": "structure", + "members": { + "Cluster": { + "target": "com.amazonaws.memorydb#Cluster", + "traits": { + "smithy.api#documentation": "

                      The cluster object that has been deleted

                      " + } + } + } + }, + "com.amazonaws.memorydb#DeleteParameterGroup": { + "type": "operation", + "input": { + "target": "com.amazonaws.memorydb#DeleteParameterGroupRequest" + }, + "output": { + "target": "com.amazonaws.memorydb#DeleteParameterGroupResponse" + }, + "errors": [ + { + "target": "com.amazonaws.memorydb#InvalidParameterCombinationException" + }, + { + "target": "com.amazonaws.memorydb#InvalidParameterGroupStateFault" + }, + { + "target": "com.amazonaws.memorydb#InvalidParameterValueException" + }, + { + "target": "com.amazonaws.memorydb#ParameterGroupNotFoundFault" + }, + { + "target": "com.amazonaws.memorydb#ServiceLinkedRoleNotFoundFault" + } + ], + "traits": { + "smithy.api#documentation": "

                      Deletes the specified parameter group. You cannot delete a parameter group if it is associated with any clusters. \n You cannot delete the default parameter groups in your account.

                      " + } + }, + "com.amazonaws.memorydb#DeleteParameterGroupRequest": { + "type": "structure", + "members": { + "ParameterGroupName": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

                      The name of the parameter group to delete.

                      ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.memorydb#DeleteParameterGroupResponse": { + "type": "structure", + "members": { + "ParameterGroup": { + "target": "com.amazonaws.memorydb#ParameterGroup", + "traits": { + "smithy.api#documentation": "

                      The parameter group that has been deleted.

                      " + } + } + } + }, + "com.amazonaws.memorydb#DeleteSnapshot": { + "type": "operation", + "input": { + "target": "com.amazonaws.memorydb#DeleteSnapshotRequest" + }, + "output": { + "target": "com.amazonaws.memorydb#DeleteSnapshotResponse" + }, + "errors": [ + { + "target": "com.amazonaws.memorydb#InvalidParameterCombinationException" + }, + { + "target": "com.amazonaws.memorydb#InvalidParameterValueException" + }, + { + "target": "com.amazonaws.memorydb#InvalidSnapshotStateFault" + }, + { + "target": "com.amazonaws.memorydb#ServiceLinkedRoleNotFoundFault" + }, + { + "target": "com.amazonaws.memorydb#SnapshotNotFoundFault" + } + ], + "traits": { + "smithy.api#documentation": "

                      Deletes an existing snapshot. When you receive a successful response from this operation, MemoryDB immediately begins deleting the snapshot; you cannot cancel or revert this operation.

                      " + } + }, + "com.amazonaws.memorydb#DeleteSnapshotRequest": { + "type": "structure", + "members": { + "SnapshotName": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

                      The name of the snapshot to delete

                      ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.memorydb#DeleteSnapshotResponse": { + "type": "structure", + "members": { + "Snapshot": { + "target": "com.amazonaws.memorydb#Snapshot", + "traits": { + "smithy.api#documentation": "

                      The snapshot object that has been deleted.

                      " + } + } + } + }, + "com.amazonaws.memorydb#DeleteSubnetGroup": { + "type": "operation", + "input": { + "target": "com.amazonaws.memorydb#DeleteSubnetGroupRequest" + }, + "output": { + "target": "com.amazonaws.memorydb#DeleteSubnetGroupResponse" + }, + "errors": [ + { + "target": "com.amazonaws.memorydb#ServiceLinkedRoleNotFoundFault" + }, + { + "target": "com.amazonaws.memorydb#SubnetGroupInUseFault" + }, + { + "target": "com.amazonaws.memorydb#SubnetGroupNotFoundFault" + } + ], + "traits": { + "smithy.api#documentation": "

                      Deletes a subnet group. You cannot delete a default subnet group or one that is associated with any clusters.

                      " + } + }, + "com.amazonaws.memorydb#DeleteSubnetGroupRequest": { + "type": "structure", + "members": { + "SubnetGroupName": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

                      The name of the subnet group to delete

                      ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.memorydb#DeleteSubnetGroupResponse": { + "type": "structure", + "members": { + "SubnetGroup": { + "target": "com.amazonaws.memorydb#SubnetGroup", + "traits": { + "smithy.api#documentation": "

                      The subnet group object that has been deleted.

                      " + } + } + } + }, + "com.amazonaws.memorydb#DeleteUser": { + "type": "operation", + "input": { + "target": "com.amazonaws.memorydb#DeleteUserRequest" + }, + "output": { + "target": "com.amazonaws.memorydb#DeleteUserResponse" + }, + "errors": [ + { + "target": "com.amazonaws.memorydb#InvalidParameterValueException" + }, + { + "target": "com.amazonaws.memorydb#InvalidUserStateFault" + }, + { + "target": "com.amazonaws.memorydb#UserNotFoundFault" + } + ], + "traits": { + "smithy.api#documentation": "

                      Deletes a user. The user will be removed from all ACLs and in turn removed from all clusters.

                      " + } + }, + "com.amazonaws.memorydb#DeleteUserRequest": { + "type": "structure", + "members": { + "UserName": { + "target": "com.amazonaws.memorydb#UserName", + "traits": { + "smithy.api#documentation": "

                      The name of the user to delete

                      ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.memorydb#DeleteUserResponse": { + "type": "structure", + "members": { + "User": { + "target": "com.amazonaws.memorydb#User", + "traits": { + "smithy.api#documentation": "

                      The user object that has been deleted.

                      " + } + } + } + }, + "com.amazonaws.memorydb#DescribeACLs": { + "type": "operation", + "input": { + "target": "com.amazonaws.memorydb#DescribeACLsRequest" + }, + "output": { + "target": "com.amazonaws.memorydb#DescribeACLsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.memorydb#ACLNotFoundFault" + }, + { + "target": "com.amazonaws.memorydb#InvalidParameterCombinationException" + } + ], + "traits": { + "smithy.api#documentation": "

                      Returns a list of ACLs

                      " + } + }, + "com.amazonaws.memorydb#DescribeACLsRequest": { + "type": "structure", + "members": { + "ACLName": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

                      The name of the ACL

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

                      The maximum number of records to include in the response. If more records exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

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

                      An optional argument to pass in case the total number of records exceeds the value of MaxResults. If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

                      " + } + } + } + }, + "com.amazonaws.memorydb#DescribeACLsResponse": { + "type": "structure", + "members": { + "ACLs": { + "target": "com.amazonaws.memorydb#ACLList", + "traits": { + "smithy.api#documentation": "

                      The list of ACLs

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

                      If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

                      " + } + } + } + }, + "com.amazonaws.memorydb#DescribeClusters": { + "type": "operation", + "input": { + "target": "com.amazonaws.memorydb#DescribeClustersRequest" + }, + "output": { + "target": "com.amazonaws.memorydb#DescribeClustersResponse" + }, + "errors": [ + { + "target": "com.amazonaws.memorydb#ClusterNotFoundFault" + }, + { + "target": "com.amazonaws.memorydb#InvalidParameterCombinationException" + }, + { + "target": "com.amazonaws.memorydb#InvalidParameterValueException" + }, + { + "target": "com.amazonaws.memorydb#ServiceLinkedRoleNotFoundFault" + } + ], + "traits": { + "smithy.api#documentation": "

                      Returns information about all provisioned clusters if no cluster identifier is specified, or about a specific cluster if a cluster name is supplied.

                      " + } + }, + "com.amazonaws.memorydb#DescribeClustersRequest": { + "type": "structure", + "members": { + "ClusterName": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

                      The name of the cluster

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

                      The maximum number of records to include in the response. If more records exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

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

                      An optional argument to pass in case the total number of records exceeds the value of MaxResults. If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

                      " + } + }, + "ShowShardDetails": { + "target": "com.amazonaws.memorydb#BooleanOptional", + "traits": { + "smithy.api#documentation": "

                      An optional flag that can be included in the request to retrieve information about the individual shard(s).

                      " + } + } + } + }, + "com.amazonaws.memorydb#DescribeClustersResponse": { + "type": "structure", + "members": { + "NextToken": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

                      An optional argument to pass in case the total number of records exceeds the value of MaxResults. If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

                      " + } + }, + "Clusters": { + "target": "com.amazonaws.memorydb#ClusterList", + "traits": { + "smithy.api#documentation": "

                      A list of clusters

                      " + } + } + } + }, + "com.amazonaws.memorydb#DescribeEngineVersions": { + "type": "operation", + "input": { + "target": "com.amazonaws.memorydb#DescribeEngineVersionsRequest" + }, + "output": { + "target": "com.amazonaws.memorydb#DescribeEngineVersionsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.memorydb#InvalidParameterCombinationException" + }, + { + "target": "com.amazonaws.memorydb#InvalidParameterValueException" + }, + { + "target": "com.amazonaws.memorydb#ServiceLinkedRoleNotFoundFault" + } + ], + "traits": { + "smithy.api#documentation": "

                      Returns a list of the available Redis engine versions.

                      " + } + }, + "com.amazonaws.memorydb#DescribeEngineVersionsRequest": { + "type": "structure", + "members": { + "EngineVersion": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

                      The Redis engine version

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

                      The name of a specific parameter group family to return details for.

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

                      The maximum number of records to include in the response. If more records exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

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

                      An optional argument to pass in case the total number of records exceeds the value of MaxResults. If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

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

                      If true, specifies that only the default version of the specified engine or engine and major version combination is to be returned.

                      " + } + } + } + }, + "com.amazonaws.memorydb#DescribeEngineVersionsResponse": { + "type": "structure", + "members": { + "NextToken": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

                      An optional argument to pass in case the total number of records exceeds the value of MaxResults. If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

                      " + } + }, + "EngineVersions": { + "target": "com.amazonaws.memorydb#EngineVersionInfoList", + "traits": { + "smithy.api#documentation": "

                      A list of engine version details. Each element in the list contains detailed information about one engine version.

                      " + } + } + } + }, + "com.amazonaws.memorydb#DescribeEvents": { + "type": "operation", + "input": { + "target": "com.amazonaws.memorydb#DescribeEventsRequest" + }, + "output": { + "target": "com.amazonaws.memorydb#DescribeEventsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.memorydb#InvalidParameterCombinationException" + }, + { + "target": "com.amazonaws.memorydb#InvalidParameterValueException" + }, + { + "target": "com.amazonaws.memorydb#ServiceLinkedRoleNotFoundFault" + } + ], + "traits": { + "smithy.api#documentation": "

                      Returns events related to clusters, security groups, and parameter groups. You can obtain events specific to a particular cluster, security group, or parameter group by providing the name as a parameter.\n \n By default, only the events occurring within the last hour are returned; however, you can retrieve up to 14 days' worth of events if necessary.

                      " + } + }, + "com.amazonaws.memorydb#DescribeEventsRequest": { + "type": "structure", + "members": { + "SourceName": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

                      The identifier of the event source for which events are returned. If not specified, all sources are included in the response.

                      " + } + }, + "SourceType": { + "target": "com.amazonaws.memorydb#SourceType", + "traits": { + "smithy.api#documentation": "

                      The event source to retrieve events for. If no value is specified, all events are returned.

                      " + } + }, + "StartTime": { + "target": "com.amazonaws.memorydb#TStamp", + "traits": { + "smithy.api#documentation": "

                      The beginning of the time interval to retrieve events for, specified in ISO 8601 format.\n \n Example: 2017-03-30T07:03:49.555Z

                      " + } + }, + "EndTime": { + "target": "com.amazonaws.memorydb#TStamp", + "traits": { + "smithy.api#documentation": "

                      The end of the time interval for which to retrieve events, specified in ISO 8601 format.\n \n Example: 2017-03-30T07:03:49.555Z

                      " + } + }, + "Duration": { + "target": "com.amazonaws.memorydb#IntegerOptional", + "traits": { + "smithy.api#documentation": "

                      The number of minutes worth of events to retrieve.

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

                      The maximum number of records to include in the response. If more records exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

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

                      An optional argument to pass in case the total number of records exceeds the value of MaxResults. If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

                      " + } + } + } + }, + "com.amazonaws.memorydb#DescribeEventsResponse": { + "type": "structure", + "members": { + "NextToken": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

                      An optional argument to pass in case the total number of records exceeds the value of MaxResults. If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

                      " + } + }, + "Events": { + "target": "com.amazonaws.memorydb#EventList", + "traits": { + "smithy.api#documentation": "

                      A list of events. Each element in the list contains detailed information about one event.

                      " + } + } + } + }, + "com.amazonaws.memorydb#DescribeParameterGroups": { + "type": "operation", + "input": { + "target": "com.amazonaws.memorydb#DescribeParameterGroupsRequest" + }, + "output": { + "target": "com.amazonaws.memorydb#DescribeParameterGroupsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.memorydb#InvalidParameterCombinationException" + }, + { + "target": "com.amazonaws.memorydb#InvalidParameterValueException" + }, + { + "target": "com.amazonaws.memorydb#ParameterGroupNotFoundFault" + }, + { + "target": "com.amazonaws.memorydb#ServiceLinkedRoleNotFoundFault" + } + ], + "traits": { + "smithy.api#documentation": "

                      Returns a list of parameter group descriptions. If a parameter group name is specified, the list contains only the descriptions for that group.

                      " + } + }, + "com.amazonaws.memorydb#DescribeParameterGroupsRequest": { + "type": "structure", + "members": { + "ParameterGroupName": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

                      The name of a specific parameter group to return details for.

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

                      The maximum number of records to include in the response. If more records exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

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

                      An optional argument to pass in case the total number of records exceeds the value of MaxResults. If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

                      " + } + } + } + }, + "com.amazonaws.memorydb#DescribeParameterGroupsResponse": { + "type": "structure", + "members": { + "NextToken": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

                      An optional argument to pass in case the total number of records exceeds the value of MaxResults. If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

                      " + } + }, + "ParameterGroups": { + "target": "com.amazonaws.memorydb#ParameterGroupList", + "traits": { + "smithy.api#documentation": "

                      A list of parameter groups. Each element in the list contains detailed information about one parameter group.

                      " + } + } + } + }, + "com.amazonaws.memorydb#DescribeParameters": { + "type": "operation", + "input": { + "target": "com.amazonaws.memorydb#DescribeParametersRequest" + }, + "output": { + "target": "com.amazonaws.memorydb#DescribeParametersResponse" + }, + "errors": [ + { + "target": "com.amazonaws.memorydb#InvalidParameterCombinationException" + }, + { + "target": "com.amazonaws.memorydb#InvalidParameterValueException" + }, + { + "target": "com.amazonaws.memorydb#ParameterGroupNotFoundFault" + }, + { + "target": "com.amazonaws.memorydb#ServiceLinkedRoleNotFoundFault" + } + ], + "traits": { + "smithy.api#documentation": "

                      Returns the detailed parameter list for a particular parameter group.

                      " + } + }, + "com.amazonaws.memorydb#DescribeParametersRequest": { + "type": "structure", + "members": { + "ParameterGroupName": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

                      he name of a specific parameter group to return details for.

                      ", + "smithy.api#required": {} + } + }, + "MaxResults": { + "target": "com.amazonaws.memorydb#IntegerOptional", + "traits": { + "smithy.api#documentation": "

                      The maximum number of records to include in the response. If more records exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

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

                      An optional argument to pass in case the total number of records exceeds the value of MaxResults. If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

                      " + } + } + } + }, + "com.amazonaws.memorydb#DescribeParametersResponse": { + "type": "structure", + "members": { + "NextToken": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

                      An optional argument to pass in case the total number of records exceeds the value of MaxResults. If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

                      " + } + }, + "Parameters": { + "target": "com.amazonaws.memorydb#ParametersList", + "traits": { + "smithy.api#documentation": "

                      A list of parameters specific to a particular parameter group. Each element in the list contains detailed information about one parameter.

                      " + } + } + } + }, + "com.amazonaws.memorydb#DescribeServiceUpdates": { + "type": "operation", + "input": { + "target": "com.amazonaws.memorydb#DescribeServiceUpdatesRequest" + }, + "output": { + "target": "com.amazonaws.memorydb#DescribeServiceUpdatesResponse" + }, + "errors": [ + { + "target": "com.amazonaws.memorydb#InvalidParameterCombinationException" + }, + { + "target": "com.amazonaws.memorydb#InvalidParameterValueException" + } + ], + "traits": { + "smithy.api#documentation": "

                      Returns details of the service updates

                      " + } + }, + "com.amazonaws.memorydb#DescribeServiceUpdatesRequest": { + "type": "structure", + "members": { + "ServiceUpdateName": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

                      The unique ID of the service update to describe.

                      " + } + }, + "ClusterNames": { + "target": "com.amazonaws.memorydb#ClusterNameList", + "traits": { + "smithy.api#documentation": "

                      The list of cluster names to identify service updates to apply

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

                      The status(es) of the service updates to filter on

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

                      The maximum number of records to include in the response. If more records exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

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

                      An optional argument to pass in case the total number of records exceeds the value of MaxResults. If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

                      " + } + } + } + }, + "com.amazonaws.memorydb#DescribeServiceUpdatesResponse": { + "type": "structure", + "members": { + "NextToken": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

                      An optional argument to pass in case the total number of records exceeds the value of MaxResults. If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

                      " + } + }, + "ServiceUpdates": { + "target": "com.amazonaws.memorydb#ServiceUpdateList", + "traits": { + "smithy.api#documentation": "

                      A list of service updates

                      " + } + } + } + }, + "com.amazonaws.memorydb#DescribeSnapshots": { + "type": "operation", + "input": { + "target": "com.amazonaws.memorydb#DescribeSnapshotsRequest" + }, + "output": { + "target": "com.amazonaws.memorydb#DescribeSnapshotsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.memorydb#InvalidParameterCombinationException" + }, + { + "target": "com.amazonaws.memorydb#InvalidParameterValueException" + }, + { + "target": "com.amazonaws.memorydb#ServiceLinkedRoleNotFoundFault" + }, + { + "target": "com.amazonaws.memorydb#SnapshotNotFoundFault" + } + ], + "traits": { + "smithy.api#documentation": "

                      Returns information about cluster snapshots. By default, DescribeSnapshots lists all of your snapshots; it can optionally describe a single snapshot, \n or just the snapshots associated with a particular cluster.

                      " + } + }, + "com.amazonaws.memorydb#DescribeSnapshotsRequest": { + "type": "structure", + "members": { + "ClusterName": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

                      A user-supplied cluster identifier. If this parameter is specified, only snapshots associated with that specific cluster are described.

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

                      A user-supplied name of the snapshot. If this parameter is specified, only this named snapshot is described.

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

                      If set to system, the output shows snapshots that were automatically created by MemoryDB. If set to user the output shows snapshots that were manually created. If omitted, the output shows both automatically and manually created snapshots.

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

                      An optional argument to pass in case the total number of records exceeds the value of MaxResults. If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

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

                      The maximum number of records to include in the response. If more records exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

                      " + } + }, + "ShowDetail": { + "target": "com.amazonaws.memorydb#BooleanOptional", + "traits": { + "smithy.api#documentation": "

                      A Boolean value which if true, the shard configuration is included in the snapshot description.

                      " + } + } + } + }, + "com.amazonaws.memorydb#DescribeSnapshotsResponse": { + "type": "structure", + "members": { + "NextToken": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

                      An optional argument to pass in case the total number of records exceeds the value of MaxResults. If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

                      " + } + }, + "Snapshots": { + "target": "com.amazonaws.memorydb#SnapshotList", + "traits": { + "smithy.api#documentation": "

                      A list of snapshots. Each item in the list contains detailed information about one snapshot.

                      " + } + } + } + }, + "com.amazonaws.memorydb#DescribeSubnetGroups": { + "type": "operation", + "input": { + "target": "com.amazonaws.memorydb#DescribeSubnetGroupsRequest" + }, + "output": { + "target": "com.amazonaws.memorydb#DescribeSubnetGroupsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.memorydb#ServiceLinkedRoleNotFoundFault" + }, + { + "target": "com.amazonaws.memorydb#SubnetGroupNotFoundFault" + } + ], + "traits": { + "smithy.api#documentation": "

                      Returns a list of subnet group descriptions. If a subnet group name is specified, the list contains only the description of that group.

                      " + } + }, + "com.amazonaws.memorydb#DescribeSubnetGroupsRequest": { + "type": "structure", + "members": { + "SubnetGroupName": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

                      The name of the subnet group to return details for.

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

                      The maximum number of records to include in the response. If more records exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

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

                      An optional argument to pass in case the total number of records exceeds the value of MaxResults. If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

                      " + } + } + } + }, + "com.amazonaws.memorydb#DescribeSubnetGroupsResponse": { + "type": "structure", + "members": { + "NextToken": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

                      An optional argument to pass in case the total number of records exceeds the value of MaxResults. If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

                      " + } + }, + "SubnetGroups": { + "target": "com.amazonaws.memorydb#SubnetGroupList", + "traits": { + "smithy.api#documentation": "

                      A list of subnet groups. Each element in the list contains detailed information about one group.

                      " + } + } + } + }, + "com.amazonaws.memorydb#DescribeUsers": { + "type": "operation", + "input": { + "target": "com.amazonaws.memorydb#DescribeUsersRequest" + }, + "output": { + "target": "com.amazonaws.memorydb#DescribeUsersResponse" + }, + "errors": [ + { + "target": "com.amazonaws.memorydb#InvalidParameterCombinationException" + }, + { + "target": "com.amazonaws.memorydb#UserNotFoundFault" + } + ], + "traits": { + "smithy.api#documentation": "

                      Returns a list of users.

                      " + } + }, + "com.amazonaws.memorydb#DescribeUsersRequest": { + "type": "structure", + "members": { + "UserName": { + "target": "com.amazonaws.memorydb#UserName", + "traits": { + "smithy.api#documentation": "

                      The name of the user

                      " + } + }, + "Filters": { + "target": "com.amazonaws.memorydb#FilterList", + "traits": { + "smithy.api#documentation": "

                      Filter to determine the list of users to return.

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

                      The maximum number of records to include in the response. If more records exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

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

                      An optional argument to pass in case the total number of records exceeds the value of MaxResults. If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

                      " + } + } + } + }, + "com.amazonaws.memorydb#DescribeUsersResponse": { + "type": "structure", + "members": { + "Users": { + "target": "com.amazonaws.memorydb#UserList", + "traits": { + "smithy.api#documentation": "

                      A list of users.

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

                      An optional argument to pass in case the total number of records exceeds the value of MaxResults. If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

                      " + } + } + } + }, + "com.amazonaws.memorydb#Double": { + "type": "double" + }, + "com.amazonaws.memorydb#DuplicateUserNameFault": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.memorydb#ExceptionMessage" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "DuplicateUserName", + "httpResponseCode": 400 + }, + "smithy.api#documentation": "

                      ", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.memorydb#Endpoint": { + "type": "structure", + "members": { + "Address": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

                      The DNS hostname of the node.

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

                      The port number that the engine is listening on.

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

                      Represents the information required for client programs to connect to the cluster and its nodes.

                      " + } + }, + "com.amazonaws.memorydb#EngineVersionInfo": { + "type": "structure", + "members": { + "EngineVersion": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

                      The engine version

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

                      The patched engine version

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

                      Specifies the name of the parameter group family to which the engine default parameters apply.

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

                      Provides details of the Redis engine version

                      " + } + }, + "com.amazonaws.memorydb#EngineVersionInfoList": { + "type": "list", + "member": { + "target": "com.amazonaws.memorydb#EngineVersionInfo" + } + }, + "com.amazonaws.memorydb#Event": { + "type": "structure", + "members": { + "SourceName": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

                      The name for the source of the event. For example, if the event occurred at the cluster level, the identifier would be the name of the cluster.

                      " + } + }, + "SourceType": { + "target": "com.amazonaws.memorydb#SourceType", + "traits": { + "smithy.api#documentation": "

                      Specifies the origin of this event - a cluster, a parameter group, a security group, etc.

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

                      The text of the event.

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

                      The date and time when the event occurred.

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

                      Represents a single occurrence of something interesting within the system. Some examples of events are creating a cluster or adding or removing a \n node.

                      " + } + }, + "com.amazonaws.memorydb#EventList": { + "type": "list", + "member": { + "target": "com.amazonaws.memorydb#Event", + "traits": { + "smithy.api#xmlName": "Event" + } + } + }, + "com.amazonaws.memorydb#ExceptionMessage": { + "type": "string" + }, + "com.amazonaws.memorydb#FailoverShard": { + "type": "operation", + "input": { + "target": "com.amazonaws.memorydb#FailoverShardRequest" + }, + "output": { + "target": "com.amazonaws.memorydb#FailoverShardResponse" + }, + "errors": [ + { + "target": "com.amazonaws.memorydb#APICallRateForCustomerExceededFault" + }, + { + "target": "com.amazonaws.memorydb#ClusterNotFoundFault" + }, + { + "target": "com.amazonaws.memorydb#InvalidClusterStateFault" + }, + { + "target": "com.amazonaws.memorydb#InvalidKMSKeyFault" + }, + { + "target": "com.amazonaws.memorydb#InvalidParameterCombinationException" + }, + { + "target": "com.amazonaws.memorydb#InvalidParameterValueException" + }, + { + "target": "com.amazonaws.memorydb#ShardNotFoundFault" + }, + { + "target": "com.amazonaws.memorydb#TestFailoverNotAvailableFault" + } + ], + "traits": { + "smithy.api#documentation": "

                      Used to failover a shard

                      " + } + }, + "com.amazonaws.memorydb#FailoverShardRequest": { + "type": "structure", + "members": { + "ClusterName": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

                      The cluster being failed over

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

                      The name of the shard

                      ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.memorydb#FailoverShardResponse": { + "type": "structure", + "members": { + "Cluster": { + "target": "com.amazonaws.memorydb#Cluster", + "traits": { + "smithy.api#documentation": "

                      The cluster being failed over

                      " + } + } + } + }, + "com.amazonaws.memorydb#Filter": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.memorydb#FilterName", + "traits": { + "smithy.api#documentation": "

                      The property being filtered. For example, UserName.

                      ", + "smithy.api#required": {} + } + }, + "Values": { + "target": "com.amazonaws.memorydb#FilterValueList", + "traits": { + "smithy.api#documentation": "

                      The property values to filter on. For example, \"user-123\".

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

                      Used to streamline results of a search based on the property being filtered.

                      " + } + }, + "com.amazonaws.memorydb#FilterList": { + "type": "list", + "member": { + "target": "com.amazonaws.memorydb#Filter" + } + }, + "com.amazonaws.memorydb#FilterName": { + "type": "string", + "traits": { + "smithy.api#pattern": "\\S" + } + }, + "com.amazonaws.memorydb#FilterValue": { + "type": "string", + "traits": { + "smithy.api#pattern": "\\S" + } + }, + "com.amazonaws.memorydb#FilterValueList": { + "type": "list", + "member": { + "target": "com.amazonaws.memorydb#FilterValue" + }, + "traits": { + "smithy.api#length": { + "min": 1 + } + } + }, + "com.amazonaws.memorydb#InputAuthenticationType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "password", + "name": "PASSWORD" + } + ] + } + }, + "com.amazonaws.memorydb#InsufficientClusterCapacityFault": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.memorydb#ExceptionMessage" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "InsufficientClusterCapacity", + "httpResponseCode": 400 + }, + "smithy.api#documentation": "

                      ", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.memorydb#Integer": { + "type": "integer" + }, + "com.amazonaws.memorydb#IntegerOptional": { + "type": "integer", + "traits": { + "smithy.api#box": {} + } + }, + "com.amazonaws.memorydb#InvalidACLStateFault": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.memorydb#ExceptionMessage" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "InvalidACLState", + "httpResponseCode": 400 + }, + "smithy.api#documentation": "

                      ", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.memorydb#InvalidARNFault": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.memorydb#ExceptionMessage" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "InvalidARN", + "httpResponseCode": 400 + }, + "smithy.api#documentation": "

                      ", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.memorydb#InvalidClusterStateFault": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.memorydb#ExceptionMessage" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "InvalidClusterState", + "httpResponseCode": 400 + }, + "smithy.api#documentation": "

                      ", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.memorydb#InvalidCredentialsException": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.memorydb#ExceptionMessage" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "InvalidCredentialsException", + "httpResponseCode": 408 + }, + "smithy.api#documentation": "

                      ", + "smithy.api#error": "client", + "smithy.api#httpError": 408 + } + }, + "com.amazonaws.memorydb#InvalidKMSKeyFault": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.memorydb#ExceptionMessage" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "InvalidKMSKeyFault", + "httpResponseCode": 400 + }, + "smithy.api#documentation": "

                      ", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.memorydb#InvalidNodeStateFault": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.memorydb#ExceptionMessage" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "InvalidNodeState", + "httpResponseCode": 400 + }, + "smithy.api#documentation": "

                      ", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.memorydb#InvalidParameterCombinationException": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.memorydb#AwsQueryErrorMessage" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "InvalidParameterCombination", + "httpResponseCode": 400 + }, + "smithy.api#documentation": "

                      ", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.memorydb#InvalidParameterGroupStateFault": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.memorydb#ExceptionMessage" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "InvalidParameterGroupState", + "httpResponseCode": 400 + }, + "smithy.api#documentation": "

                      ", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.memorydb#InvalidParameterValueException": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.memorydb#AwsQueryErrorMessage" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "InvalidParameterValue", + "httpResponseCode": 400 + }, + "smithy.api#documentation": "

                      ", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.memorydb#InvalidSnapshotStateFault": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.memorydb#ExceptionMessage" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "InvalidSnapshotState", + "httpResponseCode": 400 + }, + "smithy.api#documentation": "

                      ", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.memorydb#InvalidSubnet": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.memorydb#ExceptionMessage" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "InvalidSubnet", + "httpResponseCode": 400 + }, + "smithy.api#documentation": "

                      ", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.memorydb#InvalidUserStateFault": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.memorydb#ExceptionMessage" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "InvalidUserState", + "httpResponseCode": 400 + }, + "smithy.api#documentation": "

                      ", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.memorydb#InvalidVPCNetworkStateFault": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.memorydb#ExceptionMessage" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "InvalidVPCNetworkStateFault", + "httpResponseCode": 400 + }, + "smithy.api#documentation": "

                      ", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.memorydb#KeyList": { + "type": "list", + "member": { + "target": "com.amazonaws.memorydb#String" + } + }, + "com.amazonaws.memorydb#KmsKeyId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 2048 + } + } + }, + "com.amazonaws.memorydb#ListAllowedNodeTypeUpdates": { + "type": "operation", + "input": { + "target": "com.amazonaws.memorydb#ListAllowedNodeTypeUpdatesRequest" + }, + "output": { + "target": "com.amazonaws.memorydb#ListAllowedNodeTypeUpdatesResponse" + }, + "errors": [ + { + "target": "com.amazonaws.memorydb#ClusterNotFoundFault" + }, + { + "target": "com.amazonaws.memorydb#InvalidParameterCombinationException" + }, + { + "target": "com.amazonaws.memorydb#InvalidParameterValueException" + }, + { + "target": "com.amazonaws.memorydb#ServiceLinkedRoleNotFoundFault" + } + ], + "traits": { + "smithy.api#documentation": "

                      Lists all available node types that you can scale to from your cluster's current node type.\n \n When you use the UpdateCluster operation to scale your cluster, the value of the NodeType parameter must be one of the node types returned by this operation.

                      " + } + }, + "com.amazonaws.memorydb#ListAllowedNodeTypeUpdatesRequest": { + "type": "structure", + "members": { + "ClusterName": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

                      The name of the cluster you want to scale. MemoryDB uses the cluster name to identify the current node type being used by this cluster, and from that to create a list of node types\n you can scale up to.

                      ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.memorydb#ListAllowedNodeTypeUpdatesResponse": { + "type": "structure", + "members": { + "ScaleUpNodeTypes": { + "target": "com.amazonaws.memorydb#NodeTypeList", + "traits": { + "smithy.api#documentation": "

                      A list node types which you can use to scale up your cluster.

                      " + } + }, + "ScaleDownNodeTypes": { + "target": "com.amazonaws.memorydb#NodeTypeList", + "traits": { + "smithy.api#documentation": "

                      A list node types which you can use to scale down your cluster.

                      " + } + } + } + }, + "com.amazonaws.memorydb#ListTags": { + "type": "operation", + "input": { + "target": "com.amazonaws.memorydb#ListTagsRequest" + }, + "output": { + "target": "com.amazonaws.memorydb#ListTagsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.memorydb#ACLNotFoundFault" + }, + { + "target": "com.amazonaws.memorydb#ClusterNotFoundFault" + }, + { + "target": "com.amazonaws.memorydb#InvalidARNFault" + }, + { + "target": "com.amazonaws.memorydb#InvalidClusterStateFault" + }, + { + "target": "com.amazonaws.memorydb#ParameterGroupNotFoundFault" + }, + { + "target": "com.amazonaws.memorydb#ServiceLinkedRoleNotFoundFault" + }, + { + "target": "com.amazonaws.memorydb#SnapshotNotFoundFault" + }, + { + "target": "com.amazonaws.memorydb#SubnetGroupNotFoundFault" + }, + { + "target": "com.amazonaws.memorydb#UserNotFoundFault" + } + ], + "traits": { + "smithy.api#documentation": "

                      Lists all tags currently on a named resource.\n \n A tag is a key-value pair where the key and value are case-sensitive. You can use tags to categorize and track your MemoryDB resources. \n For more information, see Tagging your MemoryDB resources\n

                      " + } + }, + "com.amazonaws.memorydb#ListTagsRequest": { + "type": "structure", + "members": { + "ResourceArn": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

                      The Amazon Resource Name (ARN) of the resource for which you want the list of tags

                      ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.memorydb#ListTagsResponse": { + "type": "structure", + "members": { + "TagList": { + "target": "com.amazonaws.memorydb#TagList", + "traits": { + "smithy.api#documentation": "

                      A list of tags as key-value pairs.

                      " + } + } + } + }, + "com.amazonaws.memorydb#NoOperationFault": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.memorydb#ExceptionMessage" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "NoOperationFault", + "httpResponseCode": 400 + }, + "smithy.api#documentation": "

                      ", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.memorydb#Node": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

                      The node identifier. A node name is a numeric identifier (0001, 0002, etc.). The combination of cluster name, shard name and node name uniquely identifies every node used in a customer's Amazon account.

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

                      The status of the service update on the node

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

                      The Availability Zone in which the node resides

                      " + } + }, + "CreateTime": { + "target": "com.amazonaws.memorydb#TStamp", + "traits": { + "smithy.api#documentation": "

                      The date and time when the node was created.

                      " + } + }, + "Endpoint": { + "target": "com.amazonaws.memorydb#Endpoint", + "traits": { + "smithy.api#documentation": "

                      The hostname for connecting to this node.

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

                      Represents an individual node within a cluster. Each node runs its own instance of the cluster's protocol-compliant caching software.

                      " + } + }, + "com.amazonaws.memorydb#NodeList": { + "type": "list", + "member": { + "target": "com.amazonaws.memorydb#Node", + "traits": { + "smithy.api#xmlName": "Node" + } + } + }, + "com.amazonaws.memorydb#NodeQuotaForClusterExceededFault": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.memorydb#ExceptionMessage" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "NodeQuotaForClusterExceeded", + "httpResponseCode": 400 + }, + "smithy.api#documentation": "

                      ", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.memorydb#NodeQuotaForCustomerExceededFault": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.memorydb#ExceptionMessage" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "NodeQuotaForCustomerExceeded", + "httpResponseCode": 400 + }, + "smithy.api#documentation": "

                      ", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.memorydb#NodeTypeList": { + "type": "list", + "member": { + "target": "com.amazonaws.memorydb#String" + } + }, + "com.amazonaws.memorydb#Parameter": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

                      The name of the parameter

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

                      The value of the parameter

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

                      A description of the parameter

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

                      The parameter's data type

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

                      The valid range of values for the parameter.

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

                      The earliest engine version to which the parameter can apply.

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

                      Describes an individual setting that controls some aspect of MemoryDB behavior.

                      " + } + }, + "com.amazonaws.memorydb#ParameterGroup": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

                      The name of the parameter group

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

                      The name of the parameter group family that this parameter group is compatible with.

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

                      A description of the parameter group

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

                      The Amazon Resource Name (ARN) of the parameter group

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

                      Represents the output of a CreateParameterGroup operation. A parameter group represents a combination of specific values for the parameters that are passed to the engine software during startup.

                      " + } + }, + "com.amazonaws.memorydb#ParameterGroupAlreadyExistsFault": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.memorydb#ExceptionMessage" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "ParameterGroupAlreadyExists", + "httpResponseCode": 400 + }, + "smithy.api#documentation": "

                      ", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.memorydb#ParameterGroupList": { + "type": "list", + "member": { + "target": "com.amazonaws.memorydb#ParameterGroup", + "traits": { + "smithy.api#xmlName": "ParameterGroup" + } + } + }, + "com.amazonaws.memorydb#ParameterGroupNotFoundFault": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.memorydb#ExceptionMessage" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "ParameterGroupNotFound", + "httpResponseCode": 404 + }, + "smithy.api#documentation": "

                      ", + "smithy.api#error": "client", + "smithy.api#httpError": 404 + } + }, + "com.amazonaws.memorydb#ParameterGroupQuotaExceededFault": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.memorydb#ExceptionMessage" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "ParameterGroupQuotaExceeded", + "httpResponseCode": 400 + }, + "smithy.api#documentation": "

                      ", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.memorydb#ParameterNameList": { + "type": "list", + "member": { + "target": "com.amazonaws.memorydb#String" + } + }, + "com.amazonaws.memorydb#ParameterNameValue": { + "type": "structure", + "members": { + "ParameterName": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

                      The name of the parameter

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

                      The value of the parameter

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

                      Describes a name-value pair that is used to update the value of a parameter.

                      " + } + }, + "com.amazonaws.memorydb#ParameterNameValueList": { + "type": "list", + "member": { + "target": "com.amazonaws.memorydb#ParameterNameValue", + "traits": { + "smithy.api#xmlName": "ParameterNameValue" + } + } + }, + "com.amazonaws.memorydb#ParametersList": { + "type": "list", + "member": { + "target": "com.amazonaws.memorydb#Parameter", + "traits": { + "smithy.api#xmlName": "Parameter" + } + } + }, + "com.amazonaws.memorydb#PasswordListInput": { + "type": "list", + "member": { + "target": "com.amazonaws.memorydb#String" + }, + "traits": { + "smithy.api#length": { + "min": 1 + } + } + }, + "com.amazonaws.memorydb#PendingModifiedServiceUpdate": { + "type": "structure", + "members": { + "ServiceUpdateName": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

                      The unique ID of the service update

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

                      The status of the service update

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

                      Update action that has yet to be processed for the corresponding apply/stop request

                      " + } + }, + "com.amazonaws.memorydb#PendingModifiedServiceUpdateList": { + "type": "list", + "member": { + "target": "com.amazonaws.memorydb#PendingModifiedServiceUpdate", + "traits": { + "smithy.api#xmlName": "PendingModifiedServiceUpdate" + } + } + }, + "com.amazonaws.memorydb#ReplicaConfigurationRequest": { + "type": "structure", + "members": { + "ReplicaCount": { + "target": "com.amazonaws.memorydb#Integer", + "traits": { + "smithy.api#documentation": "

                      The number of replicas to scale up or down to

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

                      A request to configure the number of replicas in a shard

                      " + } + }, + "com.amazonaws.memorydb#ResetParameterGroup": { + "type": "operation", + "input": { + "target": "com.amazonaws.memorydb#ResetParameterGroupRequest" + }, + "output": { + "target": "com.amazonaws.memorydb#ResetParameterGroupResponse" + }, + "errors": [ + { + "target": "com.amazonaws.memorydb#InvalidParameterCombinationException" + }, + { + "target": "com.amazonaws.memorydb#InvalidParameterGroupStateFault" + }, + { + "target": "com.amazonaws.memorydb#InvalidParameterValueException" + }, + { + "target": "com.amazonaws.memorydb#ParameterGroupNotFoundFault" + }, + { + "target": "com.amazonaws.memorydb#ServiceLinkedRoleNotFoundFault" + } + ], + "traits": { + "smithy.api#documentation": "

                      Modifies the parameters of a parameter group to the engine or system default value. You can reset specific parameters by submitting a list of parameter names. To reset the entire parameter group, specify the AllParameters and ParameterGroupName parameters.

                      " + } + }, + "com.amazonaws.memorydb#ResetParameterGroupRequest": { + "type": "structure", + "members": { + "ParameterGroupName": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

                      The name of the parameter group to reset.

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

                      If true, all parameters in the parameter group are reset to their default values. If false, only the parameters listed by ParameterNames are reset to their default values.

                      " + } + }, + "ParameterNames": { + "target": "com.amazonaws.memorydb#ParameterNameList", + "traits": { + "smithy.api#documentation": "

                      An array of parameter names to reset to their default values. If AllParameters is true, do not use ParameterNames. If AllParameters is false, you must specify the name of at least one parameter to reset.

                      " + } + } + } + }, + "com.amazonaws.memorydb#ResetParameterGroupResponse": { + "type": "structure", + "members": { + "ParameterGroup": { + "target": "com.amazonaws.memorydb#ParameterGroup", + "traits": { + "smithy.api#documentation": "

                      The parameter group being reset.

                      " + } + } + } + }, + "com.amazonaws.memorydb#ReshardingStatus": { + "type": "structure", + "members": { + "SlotMigration": { + "target": "com.amazonaws.memorydb#SlotMigration", + "traits": { + "smithy.api#documentation": "

                      The status of the online resharding slot migration

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

                      The status of the online resharding

                      " + } + }, + "com.amazonaws.memorydb#SecurityGroupIdsList": { + "type": "list", + "member": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#xmlName": "SecurityGroupId" + } + } + }, + "com.amazonaws.memorydb#SecurityGroupMembership": { + "type": "structure", + "members": { + "SecurityGroupId": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

                      The identifier of the security group.

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

                      The status of the security group membership. The status changes whenever a security group is modified, or when the security groups assigned to a cluster are modified.

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

                      Represents a single security group and its status.

                      " + } + }, + "com.amazonaws.memorydb#SecurityGroupMembershipList": { + "type": "list", + "member": { + "target": "com.amazonaws.memorydb#SecurityGroupMembership" + } + }, + "com.amazonaws.memorydb#ServiceLinkedRoleNotFoundFault": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.memorydb#ExceptionMessage" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "ServiceLinkedRoleNotFoundFault", + "httpResponseCode": 400 + }, + "smithy.api#documentation": "

                      ", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.memorydb#ServiceUpdate": { + "type": "structure", + "members": { + "ClusterName": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

                      The name of the cluster to which the service update applies

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

                      The unique ID of the service update

                      " + } + }, + "ReleaseDate": { + "target": "com.amazonaws.memorydb#TStamp", + "traits": { + "smithy.api#documentation": "

                      The date when the service update is initially available

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

                      Provides details of the service update

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

                      The status of the service update

                      " + } + }, + "Type": { + "target": "com.amazonaws.memorydb#ServiceUpdateType", + "traits": { + "smithy.api#documentation": "

                      Reflects the nature of the service update

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

                      A list of nodes updated by the service update

                      " + } + }, + "AutoUpdateStartDate": { + "target": "com.amazonaws.memorydb#TStamp", + "traits": { + "smithy.api#documentation": "

                      The date at which the service update will be automatically applied

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

                      An update that you can apply to your MemoryDB clusters.

                      " + } + }, + "com.amazonaws.memorydb#ServiceUpdateList": { + "type": "list", + "member": { + "target": "com.amazonaws.memorydb#ServiceUpdate", + "traits": { + "smithy.api#xmlName": "ServiceUpdate" + } + } + }, + "com.amazonaws.memorydb#ServiceUpdateNotFoundFault": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.memorydb#ExceptionMessage" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "ServiceUpdateNotFoundFault", + "httpResponseCode": 404 + }, + "smithy.api#documentation": "

                      ", + "smithy.api#error": "client", + "smithy.api#httpError": 404 + } + }, + "com.amazonaws.memorydb#ServiceUpdateRequest": { + "type": "structure", + "members": { + "ServiceUpdateNameToApply": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

                      The unique ID of the service update

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

                      A request to apply a service update

                      " + } + }, + "com.amazonaws.memorydb#ServiceUpdateStatus": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "available", + "name": "NOT_APPLIED" + }, + { + "value": "in-progress", + "name": "IN_PROGRESS" + }, + { + "value": "complete", + "name": "COMPLETE" + }, + { + "value": "scheduled", + "name": "SCHEDULED" + } + ] + } + }, + "com.amazonaws.memorydb#ServiceUpdateStatusList": { + "type": "list", + "member": { + "target": "com.amazonaws.memorydb#ServiceUpdateStatus" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 4 + } + } + }, + "com.amazonaws.memorydb#ServiceUpdateType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "security-update", + "name": "SECURITY_UPDATE" + } + ] + } + }, + "com.amazonaws.memorydb#Shard": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

                      The name of the shard

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

                      The current state of this replication group - creating, available, modifying, deleting.

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

                      The keyspace for this shard.

                      " + } + }, + "Nodes": { + "target": "com.amazonaws.memorydb#NodeList", + "traits": { + "smithy.api#documentation": "

                      A list containing information about individual nodes within the shard

                      " + } + }, + "NumberOfNodes": { + "target": "com.amazonaws.memorydb#IntegerOptional", + "traits": { + "smithy.api#documentation": "

                      The number of nodes in the shard

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

                      Represents a collection of nodes in a cluster. One node in the node group is the read/write primary node. All the other nodes are read-only Replica nodes.

                      " + } + }, + "com.amazonaws.memorydb#ShardConfiguration": { + "type": "structure", + "members": { + "Slots": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

                      A string that specifies the keyspace for a particular node group. Keyspaces range from 0 to 16,383. The string is in the format startkey-endkey.

                      " + } + }, + "ReplicaCount": { + "target": "com.amazonaws.memorydb#IntegerOptional", + "traits": { + "smithy.api#documentation": "

                      The number of read replica nodes in this shard.

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

                      Shard configuration options. Each shard configuration has the following: Slots and ReplicaCount.

                      " + } + }, + "com.amazonaws.memorydb#ShardConfigurationRequest": { + "type": "structure", + "members": { + "ShardCount": { + "target": "com.amazonaws.memorydb#Integer", + "traits": { + "smithy.api#documentation": "

                      The number of shards in the cluster

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

                      A request to configure the sharding properties of a cluster

                      " + } + }, + "com.amazonaws.memorydb#ShardDetail": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

                      The name of the shard

                      " + } + }, + "Configuration": { + "target": "com.amazonaws.memorydb#ShardConfiguration", + "traits": { + "smithy.api#documentation": "

                      The configuration details of the shard

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

                      The size of the shard's snapshot

                      " + } + }, + "SnapshotCreationTime": { + "target": "com.amazonaws.memorydb#TStamp", + "traits": { + "smithy.api#documentation": "

                      The date and time that the shard's snapshot was created

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

                      Provides details of a shard in a snapshot

                      " + } + }, + "com.amazonaws.memorydb#ShardDetails": { + "type": "list", + "member": { + "target": "com.amazonaws.memorydb#ShardDetail" + } + }, + "com.amazonaws.memorydb#ShardList": { + "type": "list", + "member": { + "target": "com.amazonaws.memorydb#Shard", + "traits": { + "smithy.api#xmlName": "Shard" + } + } + }, + "com.amazonaws.memorydb#ShardNotFoundFault": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.memorydb#ExceptionMessage" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "ShardNotFoundFault", + "httpResponseCode": 404 + }, + "smithy.api#error": "client", + "smithy.api#httpError": 404 + } + }, + "com.amazonaws.memorydb#ShardsPerClusterQuotaExceededFault": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.memorydb#ExceptionMessage" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "ShardsPerClusterQuotaExceeded", + "httpResponseCode": 400 + }, + "smithy.api#documentation": "

                      ", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.memorydb#SlotMigration": { + "type": "structure", + "members": { + "ProgressPercentage": { + "target": "com.amazonaws.memorydb#Double", + "traits": { + "smithy.api#documentation": "

                      The percentage of the slot migration that is complete.

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

                      Represents the progress of an online resharding operation.

                      " + } + }, + "com.amazonaws.memorydb#Snapshot": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

                      The name of the snapshot

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

                      The status of the snapshot. Valid values: creating | available | restoring | copying | deleting.

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

                      Indicates whether the snapshot is from an automatic backup (automated) or was created manually (manual).

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

                      The ID of the KMS key used to encrypt the snapshot.

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

                      The ARN (Amazon Resource Name) of the snapshot.

                      " + } + }, + "ClusterConfiguration": { + "target": "com.amazonaws.memorydb#ClusterConfiguration", + "traits": { + "smithy.api#documentation": "

                      The configuration of the cluster from which the snapshot was taken

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

                      Represents a copy of an entire cluster as of the time when the snapshot was taken.

                      " + } + }, + "com.amazonaws.memorydb#SnapshotAlreadyExistsFault": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.memorydb#ExceptionMessage" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "SnapshotAlreadyExistsFault", + "httpResponseCode": 400 + }, + "smithy.api#documentation": "

                      ", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.memorydb#SnapshotArnsList": { + "type": "list", + "member": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#xmlName": "SnapshotArn" + } + } + }, + "com.amazonaws.memorydb#SnapshotList": { + "type": "list", + "member": { + "target": "com.amazonaws.memorydb#Snapshot" + } + }, + "com.amazonaws.memorydb#SnapshotNotFoundFault": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.memorydb#ExceptionMessage" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "SnapshotNotFoundFault", + "httpResponseCode": 404 + }, + "smithy.api#documentation": "

                      ", + "smithy.api#error": "client", + "smithy.api#httpError": 404 + } + }, + "com.amazonaws.memorydb#SnapshotQuotaExceededFault": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.memorydb#ExceptionMessage" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "SnapshotQuotaExceededFault", + "httpResponseCode": 400 + }, + "smithy.api#documentation": "

                      ", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.memorydb#SourceType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "node", + "name": "node" + }, + { + "value": "parameter-group", + "name": "parameter_group" + }, + { + "value": "subnet-group", + "name": "subnet_group" + }, + { + "value": "cluster", + "name": "cluster" + }, + { + "value": "user", + "name": "user" + }, + { + "value": "acl", + "name": "acl" + } + ] + } + }, + "com.amazonaws.memorydb#String": { + "type": "string" + }, + "com.amazonaws.memorydb#Subnet": { + "type": "structure", + "members": { + "Identifier": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

                      The unique identifier for the subnet.

                      " + } + }, + "AvailabilityZone": { + "target": "com.amazonaws.memorydb#AvailabilityZone", + "traits": { + "smithy.api#documentation": "

                      The Availability Zone where the subnet resides

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

                      Represents the subnet associated with a cluster. This parameter refers to subnets defined in Amazon Virtual Private Cloud (Amazon VPC) and used with MemoryDB.

                      " + } + }, + "com.amazonaws.memorydb#SubnetGroup": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

                      The name of the subnet group

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

                      A description of the subnet group

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

                      The Amazon Virtual Private Cloud identifier (VPC ID) of the subnet group.

                      " + } + }, + "Subnets": { + "target": "com.amazonaws.memorydb#SubnetList", + "traits": { + "smithy.api#documentation": "

                      A list of subnets associated with the subnet group.

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

                      The ARN (Amazon Resource Name) of the subnet group.

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

                      Represents the output of one of the following operations:

                      \n
                        \n
                      • \n

                        CreateSubnetGroup

                        \n
                      • \n
                      • \n

                        UpdateSubnetGroup

                        \n
                      • \n
                      \n

                      A subnet group is a collection of subnets (typically private) that you can designate for your clusters running in an Amazon Virtual Private Cloud (VPC) environment.

                      " + } + }, + "com.amazonaws.memorydb#SubnetGroupAlreadyExistsFault": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.memorydb#ExceptionMessage" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "SubnetGroupAlreadyExists", + "httpResponseCode": 400 + }, + "smithy.api#documentation": "

                      ", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.memorydb#SubnetGroupInUseFault": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.memorydb#ExceptionMessage" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "SubnetGroupInUse", + "httpResponseCode": 400 + }, + "smithy.api#documentation": "

                      ", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.memorydb#SubnetGroupList": { + "type": "list", + "member": { + "target": "com.amazonaws.memorydb#SubnetGroup" + } + }, + "com.amazonaws.memorydb#SubnetGroupNotFoundFault": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.memorydb#ExceptionMessage" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "SubnetGroupNotFoundFault", + "httpResponseCode": 404 + }, + "smithy.api#documentation": "

                      ", + "smithy.api#error": "client", + "smithy.api#httpError": 404 + } + }, + "com.amazonaws.memorydb#SubnetGroupQuotaExceededFault": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.memorydb#ExceptionMessage" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "SubnetGroupQuotaExceeded", + "httpResponseCode": 400 + }, + "smithy.api#documentation": "

                      ", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.memorydb#SubnetIdentifierList": { + "type": "list", + "member": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#xmlName": "SubnetIdentifier" + } + } + }, + "com.amazonaws.memorydb#SubnetInUse": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.memorydb#ExceptionMessage" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "SubnetInUse", + "httpResponseCode": 400 + }, + "smithy.api#documentation": "

                      ", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.memorydb#SubnetList": { + "type": "list", + "member": { + "target": "com.amazonaws.memorydb#Subnet", + "traits": { + "smithy.api#xmlName": "Subnet" + } + } + }, + "com.amazonaws.memorydb#SubnetNotAllowedFault": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.memorydb#ExceptionMessage" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "SubnetNotAllowedFault", + "httpResponseCode": 400 + }, + "smithy.api#documentation": "

                      ", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.memorydb#SubnetQuotaExceededFault": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.memorydb#ExceptionMessage" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "SubnetQuotaExceededFault", + "httpResponseCode": 400 + }, + "smithy.api#documentation": "

                      ", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.memorydb#TStamp": { + "type": "timestamp" + }, + "com.amazonaws.memorydb#Tag": { + "type": "structure", + "members": { + "Key": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

                      The key for the tag. May not be null.

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

                      The tag's value. May be null.

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

                      A tag that can be added to an MemoryDB resource. Tags are composed of a Key/Value pair. You can use tags to categorize and track all your MemoryDB resources. \n When you add or remove tags on clusters, those actions will be replicated to all nodes in the cluster. A tag with a null Value is permitted. For more information, see \n Tagging your MemoryDB resources\n

                      " + } + }, + "com.amazonaws.memorydb#TagList": { + "type": "list", + "member": { + "target": "com.amazonaws.memorydb#Tag", + "traits": { + "smithy.api#xmlName": "Tag" + } + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 200 + } + } + }, + "com.amazonaws.memorydb#TagNotFoundFault": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.memorydb#ExceptionMessage" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "TagNotFound", + "httpResponseCode": 404 + }, + "smithy.api#documentation": "

                      ", + "smithy.api#error": "client", + "smithy.api#httpError": 404 + } + }, + "com.amazonaws.memorydb#TagQuotaPerResourceExceeded": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.memorydb#ExceptionMessage" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "TagQuotaPerResourceExceeded", + "httpResponseCode": 400 + }, + "smithy.api#documentation": "

                      ", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.memorydb#TagResource": { + "type": "operation", + "input": { + "target": "com.amazonaws.memorydb#TagResourceRequest" + }, + "output": { + "target": "com.amazonaws.memorydb#TagResourceResponse" + }, + "errors": [ + { + "target": "com.amazonaws.memorydb#ACLNotFoundFault" + }, + { + "target": "com.amazonaws.memorydb#ClusterNotFoundFault" + }, + { + "target": "com.amazonaws.memorydb#InvalidARNFault" + }, + { + "target": "com.amazonaws.memorydb#InvalidClusterStateFault" + }, + { + "target": "com.amazonaws.memorydb#ParameterGroupNotFoundFault" + }, + { + "target": "com.amazonaws.memorydb#ServiceLinkedRoleNotFoundFault" + }, + { + "target": "com.amazonaws.memorydb#SnapshotNotFoundFault" + }, + { + "target": "com.amazonaws.memorydb#SubnetGroupNotFoundFault" + }, + { + "target": "com.amazonaws.memorydb#TagQuotaPerResourceExceeded" + }, + { + "target": "com.amazonaws.memorydb#UserNotFoundFault" + } + ], + "traits": { + "smithy.api#documentation": "

                      A tag is a key-value pair where the key and value are case-sensitive. You can use tags to categorize and track all your MemoryDB resources. \n\n When you add or remove tags on clusters, those actions will be replicated to all nodes in the cluster. For more information, see \n\n Resource-level permissions.

                      \n \n

                      For example, you can use cost-allocation tags to your MemoryDB resources, Amazon generates a cost allocation report as a comma-separated value \n (CSV) file with your usage and costs aggregated by your tags. You can apply tags that represent business categories \n (such as cost centers, application names, or owners) to organize your costs across multiple services.\n \n For more information, see Using Cost Allocation Tags.

                      " + } + }, + "com.amazonaws.memorydb#TagResourceRequest": { + "type": "structure", + "members": { + "ResourceArn": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

                      The Amazon Resource Name (ARN) of the resource to which the tags are to be added

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

                      A list of tags to be added to this resource. A tag is a key-value pair. A tag key must be accompanied by a tag value, although null is accepted.

                      ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.memorydb#TagResourceResponse": { + "type": "structure", + "members": { + "TagList": { + "target": "com.amazonaws.memorydb#TagList", + "traits": { + "smithy.api#documentation": "

                      A list of tags as key-value pairs.

                      " + } + } + } + }, + "com.amazonaws.memorydb#TargetBucket": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 255 + }, + "smithy.api#pattern": "^[A-Za-z0-9._-]+$" + } + }, + "com.amazonaws.memorydb#TestFailoverNotAvailableFault": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.memorydb#ExceptionMessage" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "TestFailoverNotAvailableFault", + "httpResponseCode": 400 + }, + "smithy.api#documentation": "

                      ", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.memorydb#UnprocessedCluster": { + "type": "structure", + "members": { + "ClusterName": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

                      The name of the cluster

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

                      The error type associated with the update failure

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

                      The error message associated with the update failure

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

                      A cluster whose updates have failed

                      " + } + }, + "com.amazonaws.memorydb#UnprocessedClusterList": { + "type": "list", + "member": { + "target": "com.amazonaws.memorydb#UnprocessedCluster", + "traits": { + "smithy.api#xmlName": "UnprocessedCluster" + } + } + }, + "com.amazonaws.memorydb#UntagResource": { + "type": "operation", + "input": { + "target": "com.amazonaws.memorydb#UntagResourceRequest" + }, + "output": { + "target": "com.amazonaws.memorydb#UntagResourceResponse" + }, + "errors": [ + { + "target": "com.amazonaws.memorydb#ACLNotFoundFault" + }, + { + "target": "com.amazonaws.memorydb#ClusterNotFoundFault" + }, + { + "target": "com.amazonaws.memorydb#InvalidARNFault" + }, + { + "target": "com.amazonaws.memorydb#InvalidClusterStateFault" + }, + { + "target": "com.amazonaws.memorydb#ParameterGroupNotFoundFault" + }, + { + "target": "com.amazonaws.memorydb#ServiceLinkedRoleNotFoundFault" + }, + { + "target": "com.amazonaws.memorydb#SnapshotNotFoundFault" + }, + { + "target": "com.amazonaws.memorydb#SubnetGroupNotFoundFault" + }, + { + "target": "com.amazonaws.memorydb#TagNotFoundFault" + }, + { + "target": "com.amazonaws.memorydb#UserNotFoundFault" + } + ], + "traits": { + "smithy.api#documentation": "

                      Use this operation to remove tags on a resource

                      " + } + }, + "com.amazonaws.memorydb#UntagResourceRequest": { + "type": "structure", + "members": { + "ResourceArn": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

                      The Amazon Resource Name (ARN) of the resource to which the tags are to be removed

                      ", + "smithy.api#required": {} + } + }, + "TagKeys": { + "target": "com.amazonaws.memorydb#KeyList", + "traits": { + "smithy.api#documentation": "

                      The list of keys of the tags that are to be removed

                      ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.memorydb#UntagResourceResponse": { + "type": "structure", + "members": { + "TagList": { + "target": "com.amazonaws.memorydb#TagList", + "traits": { + "smithy.api#documentation": "

                      The list of tags removed

                      " + } + } + } + }, + "com.amazonaws.memorydb#UpdateACL": { + "type": "operation", + "input": { + "target": "com.amazonaws.memorydb#UpdateACLRequest" + }, + "output": { + "target": "com.amazonaws.memorydb#UpdateACLResponse" + }, + "errors": [ + { + "target": "com.amazonaws.memorydb#ACLNotFoundFault" + }, + { + "target": "com.amazonaws.memorydb#DefaultUserRequired" + }, + { + "target": "com.amazonaws.memorydb#DuplicateUserNameFault" + }, + { + "target": "com.amazonaws.memorydb#InvalidACLStateFault" + }, + { + "target": "com.amazonaws.memorydb#InvalidParameterCombinationException" + }, + { + "target": "com.amazonaws.memorydb#InvalidParameterValueException" + }, + { + "target": "com.amazonaws.memorydb#UserNotFoundFault" + } + ], + "traits": { + "smithy.api#documentation": "

                      Changes the list of users that belong to the Access Control List.

                      " + } + }, + "com.amazonaws.memorydb#UpdateACLRequest": { + "type": "structure", + "members": { + "ACLName": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

                      The name of the Access Control List

                      ", + "smithy.api#required": {} + } + }, + "UserNamesToAdd": { + "target": "com.amazonaws.memorydb#UserNameListInput", + "traits": { + "smithy.api#documentation": "

                      The list of users to add to the Access Control List

                      " + } + }, + "UserNamesToRemove": { + "target": "com.amazonaws.memorydb#UserNameListInput", + "traits": { + "smithy.api#documentation": "

                      The list of users to remove from the Access Control List

                      " + } + } + } + }, + "com.amazonaws.memorydb#UpdateACLResponse": { + "type": "structure", + "members": { + "ACL": { + "target": "com.amazonaws.memorydb#ACL", + "traits": { + "smithy.api#documentation": "

                      The updated Access Control List

                      " + } + } + } + }, + "com.amazonaws.memorydb#UpdateCluster": { + "type": "operation", + "input": { + "target": "com.amazonaws.memorydb#UpdateClusterRequest" + }, + "output": { + "target": "com.amazonaws.memorydb#UpdateClusterResponse" + }, + "errors": [ + { + "target": "com.amazonaws.memorydb#ACLNotFoundFault" + }, + { + "target": "com.amazonaws.memorydb#ClusterNotFoundFault" + }, + { + "target": "com.amazonaws.memorydb#ClusterQuotaForCustomerExceededFault" + }, + { + "target": "com.amazonaws.memorydb#InvalidACLStateFault" + }, + { + "target": "com.amazonaws.memorydb#InvalidClusterStateFault" + }, + { + "target": "com.amazonaws.memorydb#InvalidKMSKeyFault" + }, + { + "target": "com.amazonaws.memorydb#InvalidNodeStateFault" + }, + { + "target": "com.amazonaws.memorydb#InvalidParameterCombinationException" + }, + { + "target": "com.amazonaws.memorydb#InvalidParameterValueException" + }, + { + "target": "com.amazonaws.memorydb#InvalidVPCNetworkStateFault" + }, + { + "target": "com.amazonaws.memorydb#NodeQuotaForClusterExceededFault" + }, + { + "target": "com.amazonaws.memorydb#NodeQuotaForCustomerExceededFault" + }, + { + "target": "com.amazonaws.memorydb#NoOperationFault" + }, + { + "target": "com.amazonaws.memorydb#ParameterGroupNotFoundFault" + }, + { + "target": "com.amazonaws.memorydb#ServiceLinkedRoleNotFoundFault" + }, + { + "target": "com.amazonaws.memorydb#ShardsPerClusterQuotaExceededFault" + } + ], + "traits": { + "smithy.api#documentation": "

                      Modifies the settings for a cluster. You can use this operation to change one or more cluster configuration settings by specifying the settings and the new values.

                      " + } + }, + "com.amazonaws.memorydb#UpdateClusterRequest": { + "type": "structure", + "members": { + "ClusterName": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

                      The name of the cluster to update

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

                      The description of the cluster to update

                      " + } + }, + "SecurityGroupIds": { + "target": "com.amazonaws.memorydb#SecurityGroupIdsList", + "traits": { + "smithy.api#documentation": "

                      The SecurityGroupIds to update

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

                      The maintenance window to update

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

                      The SNS topic ARN to update

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

                      The status of the Amazon SNS notification topic. Notifications are sent only if the status is active.

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

                      The name of the parameter group to update

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

                      The daily time range (in UTC) during which MemoryDB begins taking a daily snapshot of your cluster.

                      " + } + }, + "SnapshotRetentionLimit": { + "target": "com.amazonaws.memorydb#IntegerOptional", + "traits": { + "smithy.api#documentation": "

                      The number of days for which MemoryDB retains automatic cluster snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, a snapshot that was taken today is retained for 5 days before being deleted.

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

                      A valid node type that you want to scale this cluster up or down to.

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

                      The upgraded version of the engine to be run on the nodes. You can upgrade to a newer engine version, but you cannot downgrade to an earlier engine version. If you want to use an earlier engine version, you must delete the existing cluster and create it anew with the earlier engine version.

                      " + } + }, + "ReplicaConfiguration": { + "target": "com.amazonaws.memorydb#ReplicaConfigurationRequest", + "traits": { + "smithy.api#documentation": "

                      The number of replicas that will reside in each shard

                      " + } + }, + "ShardConfiguration": { + "target": "com.amazonaws.memorydb#ShardConfigurationRequest", + "traits": { + "smithy.api#documentation": "

                      The number of shards in the cluster

                      " + } + }, + "ACLName": { + "target": "com.amazonaws.memorydb#ACLName", + "traits": { + "smithy.api#documentation": "

                      The Access Control List that is associated with the cluster

                      " + } + } + } + }, + "com.amazonaws.memorydb#UpdateClusterResponse": { + "type": "structure", + "members": { + "Cluster": { + "target": "com.amazonaws.memorydb#Cluster", + "traits": { + "smithy.api#documentation": "

                      The updated cluster

                      " + } + } + } + }, + "com.amazonaws.memorydb#UpdateParameterGroup": { + "type": "operation", + "input": { + "target": "com.amazonaws.memorydb#UpdateParameterGroupRequest" + }, + "output": { + "target": "com.amazonaws.memorydb#UpdateParameterGroupResponse" + }, + "errors": [ + { + "target": "com.amazonaws.memorydb#InvalidParameterCombinationException" + }, + { + "target": "com.amazonaws.memorydb#InvalidParameterGroupStateFault" + }, + { + "target": "com.amazonaws.memorydb#InvalidParameterValueException" + }, + { + "target": "com.amazonaws.memorydb#ParameterGroupNotFoundFault" + }, + { + "target": "com.amazonaws.memorydb#ServiceLinkedRoleNotFoundFault" + } + ], + "traits": { + "smithy.api#documentation": "

                      Updates the parameters of a parameter group. You can modify up to 20 parameters in a single request by submitting a list parameter name and value pairs.

                      " + } + }, + "com.amazonaws.memorydb#UpdateParameterGroupRequest": { + "type": "structure", + "members": { + "ParameterGroupName": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

                      The name of the parameter group to update.

                      ", + "smithy.api#required": {} + } + }, + "ParameterNameValues": { + "target": "com.amazonaws.memorydb#ParameterNameValueList", + "traits": { + "smithy.api#documentation": "

                      An array of parameter names and values for the parameter update. You must supply at least one parameter name and value; subsequent arguments are optional. A maximum of 20 parameters may be updated per request.

                      ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.memorydb#UpdateParameterGroupResponse": { + "type": "structure", + "members": { + "ParameterGroup": { + "target": "com.amazonaws.memorydb#ParameterGroup", + "traits": { + "smithy.api#documentation": "

                      The updated parameter group

                      " + } + } + } + }, + "com.amazonaws.memorydb#UpdateSubnetGroup": { + "type": "operation", + "input": { + "target": "com.amazonaws.memorydb#UpdateSubnetGroupRequest" + }, + "output": { + "target": "com.amazonaws.memorydb#UpdateSubnetGroupResponse" + }, + "errors": [ + { + "target": "com.amazonaws.memorydb#InvalidSubnet" + }, + { + "target": "com.amazonaws.memorydb#ServiceLinkedRoleNotFoundFault" + }, + { + "target": "com.amazonaws.memorydb#SubnetGroupNotFoundFault" + }, + { + "target": "com.amazonaws.memorydb#SubnetInUse" + }, + { + "target": "com.amazonaws.memorydb#SubnetNotAllowedFault" + }, + { + "target": "com.amazonaws.memorydb#SubnetQuotaExceededFault" + } + ], + "traits": { + "smithy.api#documentation": "

                      Updates a subnet group. For more information, see Updating a subnet group\n

                      " + } + }, + "com.amazonaws.memorydb#UpdateSubnetGroupRequest": { + "type": "structure", + "members": { + "SubnetGroupName": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

                      The name of the subnet group

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

                      A description of the subnet group

                      " + } + }, + "SubnetIds": { + "target": "com.amazonaws.memorydb#SubnetIdentifierList", + "traits": { + "smithy.api#documentation": "

                      The EC2 subnet IDs for the subnet group.

                      " + } + } + } + }, + "com.amazonaws.memorydb#UpdateSubnetGroupResponse": { + "type": "structure", + "members": { + "SubnetGroup": { + "target": "com.amazonaws.memorydb#SubnetGroup", + "traits": { + "smithy.api#documentation": "

                      The updated subnet group

                      " + } + } + } + }, + "com.amazonaws.memorydb#UpdateUser": { + "type": "operation", + "input": { + "target": "com.amazonaws.memorydb#UpdateUserRequest" + }, + "output": { + "target": "com.amazonaws.memorydb#UpdateUserResponse" + }, + "errors": [ + { + "target": "com.amazonaws.memorydb#InvalidParameterCombinationException" + }, + { + "target": "com.amazonaws.memorydb#InvalidParameterValueException" + }, + { + "target": "com.amazonaws.memorydb#InvalidUserStateFault" + }, + { + "target": "com.amazonaws.memorydb#UserNotFoundFault" + } + ], + "traits": { + "smithy.api#documentation": "

                      Changes user password(s) and/or access string.

                      " + } + }, + "com.amazonaws.memorydb#UpdateUserRequest": { + "type": "structure", + "members": { + "UserName": { + "target": "com.amazonaws.memorydb#UserName", + "traits": { + "smithy.api#documentation": "

                      The name of the user

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

                      Denotes the user's authentication properties, such as whether it requires a password to authenticate.

                      " + } + }, + "AccessString": { + "target": "com.amazonaws.memorydb#AccessString", + "traits": { + "smithy.api#documentation": "

                      Access permissions string used for this user.

                      " + } + } + } + }, + "com.amazonaws.memorydb#UpdateUserResponse": { + "type": "structure", + "members": { + "User": { + "target": "com.amazonaws.memorydb#User", + "traits": { + "smithy.api#documentation": "

                      The updated user

                      " + } + } + } + }, + "com.amazonaws.memorydb#User": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

                      The name of the user

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

                      Indicates the user status. Can be \"active\", \"modifying\" or \"deleting\".

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

                      Access permissions string used for this user.

                      " + } + }, + "ACLNames": { + "target": "com.amazonaws.memorydb#ACLNameList", + "traits": { + "smithy.api#documentation": "

                      The names of the Access Control Lists to which the user belongs

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

                      The minimum engine version supported for the user

                      " + } + }, + "Authentication": { + "target": "com.amazonaws.memorydb#Authentication", + "traits": { + "smithy.api#documentation": "

                      Denotes whether the user requires a password to authenticate.

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

                      The Amazon Resource Name (ARN) of the user.\n \n

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

                      You create users and assign them specific permissions by using an access string. You assign the users to Access Control Lists aligned with a specific role (administrators, human resources) that are then deployed to one or more MemoryDB clusters.

                      " + } + }, + "com.amazonaws.memorydb#UserAlreadyExistsFault": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.memorydb#ExceptionMessage" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "UserAlreadyExists", + "httpResponseCode": 400 + }, + "smithy.api#documentation": "

                      ", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.memorydb#UserList": { + "type": "list", + "member": { + "target": "com.amazonaws.memorydb#User" + } + }, + "com.amazonaws.memorydb#UserName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1 + }, + "smithy.api#pattern": "^[a-zA-Z][a-zA-Z0-9\\-]*$" + } + }, + "com.amazonaws.memorydb#UserNameList": { + "type": "list", + "member": { + "target": "com.amazonaws.memorydb#UserName" + } + }, + "com.amazonaws.memorydb#UserNameListInput": { + "type": "list", + "member": { + "target": "com.amazonaws.memorydb#UserName" + }, + "traits": { + "smithy.api#length": { + "min": 1 + } + } + }, + "com.amazonaws.memorydb#UserNotFoundFault": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.memorydb#ExceptionMessage" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "UserNotFound", + "httpResponseCode": 404 + }, + "smithy.api#documentation": "

                      ", + "smithy.api#error": "client", + "smithy.api#httpError": 404 + } + }, + "com.amazonaws.memorydb#UserQuotaExceededFault": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.memorydb#ExceptionMessage" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "UserQuotaExceeded", + "httpResponseCode": 400 + }, + "smithy.api#documentation": "

                      ", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + } + } +} diff --git a/codegen/sdk-codegen/aws-models/route-53.2013-04-01.json b/codegen/sdk-codegen/aws-models/route-53.2013-04-01.json index b26f35f2af1d..9f60c8b28103 100644 --- a/codegen/sdk-codegen/aws-models/route-53.2013-04-01.json +++ b/codegen/sdk-codegen/aws-models/route-53.2013-04-01.json @@ -4168,7 +4168,7 @@ "FullyQualifiedDomainName": { "target": "com.amazonaws.route53#FullyQualifiedDomainName", "traits": { - "smithy.api#documentation": "

                      Amazon Route 53 behavior depends on whether you specify a value for IPAddress.

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

                      \n If you specify a value for \n IPAddress:

                      \n\t\t

                      Amazon Route 53 sends health check requests to the specified IPv4 or IPv6 address and passes the value of FullyQualifiedDomainName \n\t\t\tin the Host header for all health checks except TCP health checks. This is typically the fully qualified DNS name of the endpoint \n\t\t\ton which you want Route 53 to perform health checks.

                      \n\t\t

                      When Route 53 checks the health of an endpoint, here is how it constructs the Host header:

                      \n\t\t
                        \n
                      • \n\t\t\t\t

                        If you specify a value of 80 for Port and HTTP or HTTP_STR_MATCH for \n\t\t\t\t\tType, Route 53 passes the value of FullyQualifiedDomainName to the endpoint in the Host header.

                        \n\t\t\t
                      • \n
                      • \n\t\t\t\t

                        If you specify a value of 443 for Port and HTTPS or HTTPS_STR_MATCH for \n\t\t\t\t\tType, Route 53 passes the value of FullyQualifiedDomainName to the endpoint in the Host header.

                        \n\t\t\t
                      • \n
                      • \n\t\t\t\t

                        If you specify another value for Port and any value except TCP for Type, Route 53 passes \n\t\t\t\t\tFullyQualifiedDomainName:Port to the endpoint in the Host header.

                        \n\t\t\t
                      • \n
                      \n\t\t

                      If you don't specify a value for FullyQualifiedDomainName, Route 53 substitutes the value of IPAddress in the \n\t\t\tHost header in each of the preceding cases.

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

                      \n If you don't specify a value for IPAddress\n :

                      \n\t\t

                      Route 53 sends a DNS request to the domain that you specify for FullyQualifiedDomainName at the interval that you specify for \n\t\t\tRequestInterval. Using an IPv4 address that DNS returns, Route 53 then checks the health of the endpoint.

                      \n\t\t \n

                      If you don't specify a value for IPAddress, Route 53 uses only IPv4 to send health checks to the endpoint. If there's \n\t\t\tno resource record set with a type of A for the name that you specify for FullyQualifiedDomainName, the health check fails with a \n\t\t\t\"DNS resolution failed\" error.

                      \n
                      \n\t\t

                      If you want to check the health of weighted, latency, or failover resource record sets and you choose to specify the endpoint only by \n\t\t\tFullyQualifiedDomainName, we recommend that you create a separate health check for each endpoint. For example, create a \n\t\t\thealth check for each HTTP server that is serving content for www.example.com. For the value of FullyQualifiedDomainName, \n\t\t\tspecify the domain name of the server (such as us-east-2-www.example.com), not the name of the resource record sets (www.example.com).

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

                      In this configuration, if you create a health check for which the value of FullyQualifiedDomainName matches the name of the \n\t\t\t\tresource record sets and you then associate the health check with those resource record sets, health check results will be unpredictable.

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

                      In addition, if the value that you specify for Type is HTTP, HTTPS, HTTP_STR_MATCH, or \n\t\t\tHTTPS_STR_MATCH, Route 53 passes the value of FullyQualifiedDomainName in the Host header, as it does when you \n\t\t\tspecify a value for IPAddress. If the value of Type is TCP, Route 53 doesn't pass a Host header.

                      " + "smithy.api#documentation": "

                      Amazon Route 53 behavior depends on whether you specify a value for IPAddress.

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

                      \n If you specify a value for \n IPAddress:

                      \n\t\t

                      Amazon Route 53 sends health check requests to the specified IPv4 or IPv6 address and passes the value of FullyQualifiedDomainName \n\t\t\tin the Host header for all health checks except TCP health checks. This is typically the fully qualified DNS name of the endpoint \n\t\t\ton which you want Route 53 to perform health checks.

                      \n\t\t

                      When Route 53 checks the health of an endpoint, here is how it constructs the Host header:

                      \n\t\t
                        \n
                      • \n\t\t\t\t

                        If you specify a value of 80 for Port and HTTP or HTTP_STR_MATCH for \n\t\t\t\t\tType, Route 53 passes the value of FullyQualifiedDomainName to the endpoint in the Host header.

                        \n\t\t\t
                      • \n
                      • \n\t\t\t\t

                        If you specify a value of 443 for Port and HTTPS or HTTPS_STR_MATCH for \n\t\t\t\t\tType, Route 53 passes the value of FullyQualifiedDomainName to the endpoint in the Host header.

                        \n\t\t\t
                      • \n
                      • \n\t\t\t\t

                        If you specify another value for Port and any value except TCP for Type, Route 53 passes \n\t\t\t\t\tFullyQualifiedDomainName:Port to the endpoint in the Host header.

                        \n\t\t\t
                      • \n
                      \n\t\t

                      If you don't specify a value for FullyQualifiedDomainName, Route 53 substitutes the value of IPAddress in the \n\t\t\tHost header in each of the preceding cases.

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

                      \n If you don't specify a value for \n IPAddress:

                      \n\t\t

                      Route 53 sends a DNS request to the domain that you specify for FullyQualifiedDomainName at the interval that you specify for \n\t\t\tRequestInterval. Using an IPv4 address that DNS returns, Route 53 then checks the health of the endpoint.

                      \n\t\t \n

                      If you don't specify a value for IPAddress, Route 53 uses only IPv4 to send health checks to the endpoint. If there's \n\t\t\tno resource record set with a type of A for the name that you specify for FullyQualifiedDomainName, the health check fails with a \n\t\t\t\"DNS resolution failed\" error.

                      \n
                      \n\t\t

                      If you want to check the health of weighted, latency, or failover resource record sets and you choose to specify the endpoint only by \n\t\t\tFullyQualifiedDomainName, we recommend that you create a separate health check for each endpoint. For example, create a \n\t\t\thealth check for each HTTP server that is serving content for www.example.com. For the value of FullyQualifiedDomainName, \n\t\t\tspecify the domain name of the server (such as us-east-2-www.example.com), not the name of the resource record sets (www.example.com).

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

                      In this configuration, if you create a health check for which the value of FullyQualifiedDomainName matches the name of the \n\t\t\t\tresource record sets and you then associate the health check with those resource record sets, health check results will be unpredictable.

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

                      In addition, if the value that you specify for Type is HTTP, HTTPS, HTTP_STR_MATCH, or \n\t\t\tHTTPS_STR_MATCH, Route 53 passes the value of FullyQualifiedDomainName in the Host header, as it does when you \n\t\t\tspecify a value for IPAddress. If the value of Type is TCP, Route 53 doesn't pass a Host header.

                      " } }, "SearchString": { diff --git a/codegen/sdk-codegen/aws-models/route53resolver.2018-04-01.json b/codegen/sdk-codegen/aws-models/route53resolver.2018-04-01.json index a5b3ce456dda..0ef4e79d12e1 100644 --- a/codegen/sdk-codegen/aws-models/route53resolver.2018-04-01.json +++ b/codegen/sdk-codegen/aws-models/route53resolver.2018-04-01.json @@ -825,7 +825,7 @@ } ], "traits": { - "smithy.api#documentation": "

                      Creates a Resolver query logging configuration, which defines where you want Resolver to save DNS query logs that originate in your VPCs. \n\t\t\tResolver can log queries only for VPCs that are in the same Region as the query logging configuration.

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

                      To specify which VPCs you want to log queries for, you use AssociateResolverQueryLogConfig. For more information, see \n\t\t\tAssociateResolverQueryLogConfig.

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

                      You can optionally use AWS Resource Access Manager (AWS RAM) to share a query logging configuration with other AWS accounts. The other accounts \n\t\t\tcan then associate VPCs with the configuration. The query logs that Resolver creates for a configuration include all DNS queries that originate in all \n\t\t\tVPCs that are associated with the configuration.

                      " + "smithy.api#documentation": "

                      Creates a Resolver query logging configuration, which defines where you want Resolver to save DNS query logs that originate in your VPCs. \n\t\t\tResolver can log queries only for VPCs that are in the same Region as the query logging configuration.

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

                      To specify which VPCs you want to log queries for, you use AssociateResolverQueryLogConfig. For more information, see \n\t\t\tAssociateResolverQueryLogConfig.

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

                      You can optionally use Resource Access Manager (RAM) to share a query logging configuration with other Amazon Web Services accounts. The other accounts \n\t\t\tcan then associate VPCs with the configuration. The query logs that Resolver creates for a configuration include all DNS queries that originate in all \n\t\t\tVPCs that are associated with the configuration.

                      " } }, "com.amazonaws.route53resolver#CreateResolverQueryLogConfigRequest": { @@ -1224,7 +1224,7 @@ } ], "traits": { - "smithy.api#documentation": "

                      Deletes a query logging configuration. When you delete a configuration, Resolver stops logging DNS queries for all of the Amazon VPCs that are \n\t\t\tassociated with the configuration. This also applies if the query logging configuration is shared with other AWS accounts, and \n\t\t\tthe other accounts have associated VPCs with the shared configuration.

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

                      Before you can delete a query logging configuration, you must first disassociate all VPCs from the configuration. See \n\t\t\tDisassociateResolverQueryLogConfig.

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

                      If you used Resource Access Manager (RAM) to share a query logging configuration with other accounts, you must stop sharing \n\t\t\tthe configuration before you can delete a configuration. The accounts that you shared the configuration with can first disassociate VPCs \n\t\t\tthat they associated with the configuration, but that's not necessary. If you stop sharing the configuration, those VPCs are automatically \n\t\t\tdisassociated from the configuration.

                      " + "smithy.api#documentation": "

                      Deletes a query logging configuration. When you delete a configuration, Resolver stops logging DNS queries for all of the Amazon VPCs that are \n\t\t\tassociated with the configuration. This also applies if the query logging configuration is shared with other Amazon Web Services accounts, and \n\t\t\tthe other accounts have associated VPCs with the shared configuration.

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

                      Before you can delete a query logging configuration, you must first disassociate all VPCs from the configuration. See \n\t\t\tDisassociateResolverQueryLogConfig.

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

                      If you used Resource Access Manager (RAM) to share a query logging configuration with other accounts, you must stop sharing \n\t\t\tthe configuration before you can delete a configuration. The accounts that you shared the configuration with can first disassociate VPCs \n\t\t\tthat they associated with the configuration, but that's not necessary. If you stop sharing the configuration, those VPCs are automatically \n\t\t\tdisassociated from the configuration.

                      " } }, "com.amazonaws.route53resolver#DeleteResolverQueryLogConfigRequest": { @@ -1457,7 +1457,7 @@ } ], "traits": { - "smithy.api#documentation": "

                      Disassociates a VPC from a query logging configuration.

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

                      Before you can delete a query logging configuration, you must first disassociate all VPCs\n\t\t\t\tfrom the configuration. If you used AWS Resource Access Manager (AWS RAM) to share a\n\t\t\t\tquery logging configuration with other accounts, VPCs can be disassociated from the\n\t\t\t\tconfiguration in the following ways:

                      \n\t\t\t
                        \n
                      • \n

                        The accounts that you shared the configuration with can disassociate VPCs from the configuration.

                        \n
                      • \n
                      • \n

                        You can stop sharing the configuration.

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

                      Disassociates a VPC from a query logging configuration.

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

                      Before you can delete a query logging configuration, you must first disassociate all VPCs\n\t\t\t\tfrom the configuration. If you used Resource Access Manager (RAM) to share a\n\t\t\t\tquery logging configuration with other accounts, VPCs can be disassociated from the\n\t\t\t\tconfiguration in the following ways:

                      \n\t\t\t
                        \n
                      • \n

                        The accounts that you shared the configuration with can disassociate VPCs from the configuration.

                        \n
                      • \n
                      • \n

                        You can stop sharing the configuration.

                        \n
                      • \n
                      \n\t\t
                      " } }, "com.amazonaws.route53resolver#DisassociateResolverQueryLogConfigRequest": { @@ -1573,7 +1573,7 @@ "Name": { "target": "com.amazonaws.route53resolver#FilterName", "traits": { - "smithy.api#documentation": "

                      The name of the parameter that you want to use to filter objects.

                      \n\t\t

                      The valid values for Name depend on the action that you're including the filter in, \n\t\t\tListResolverEndpoints, \n\t\t\tListResolverRules, \n\t\t\tListResolverRuleAssociations, \n\t\t\tListResolverQueryLogConfigs,\n\t\t\tor \n\t\t\tListResolverQueryLogConfigAssociations.

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

                      In early versions of Resolver, values for Name were listed as uppercase, with underscore (_) delimiters. For example, \n\t\t\t\tCreatorRequestId was originally listed as CREATOR_REQUEST_ID. Uppercase values for Name are still supported.

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

                      \n ListResolverEndpoints\n

                      \n\t\t

                      Valid values for Name include the following:

                      \n\t\t
                        \n
                      • \n

                        \n CreatorRequestId: The value that you specified when you created the Resolver endpoint.

                        \n
                      • \n
                      • \n

                        \n Direction: Whether you want to return inbound or outbound Resolver endpoints. If you specify DIRECTION \n\t\t\t\tfor Name, specify INBOUND or OUTBOUND for Values.

                        \n
                      • \n
                      • \n

                        \n HostVpcId: The ID of the VPC that inbound DNS queries pass through on the way from your network to your VPCs in a region, or \n\t\t\t\tthe VPC that outbound queries pass through on the way from your VPCs to your network. In a \n\t\t\t\tCreateResolverEndpoint\n\t\t\t\trequest, SubnetId indirectly identifies the VPC. In a \n\t\t\t\tGetResolverEndpoint\n\t\t\t\trequest, the VPC ID for a Resolver endpoint \n\t\t\t\tis returned in the HostVPCId element.

                        \n
                      • \n
                      • \n

                        \n IpAddressCount: The number of IP addresses that you have associated with the Resolver endpoint.

                        \n
                      • \n
                      • \n

                        \n Name: The name of the Resolver endpoint.

                        \n
                      • \n
                      • \n

                        \n SecurityGroupIds: The IDs of the VPC security groups that you specified when you created the \n\t\t\t\tResolver endpoint.

                        \n
                      • \n
                      • \n

                        \n Status: The status of the Resolver endpoint. If you specify Status for Name, \n\t\t\t\tspecify one of the following status codes for Values: CREATING, OPERATIONAL, UPDATING,\n\t\t\t\tAUTO_RECOVERING, ACTION_NEEDED, or DELETING. For more information, see Status in\n\t\t\t\tResolverEndpoint.

                        \n
                      • \n
                      \n\t\t\n\t\t

                      \n ListResolverRules\n

                      \n\t\t

                      Valid values for Name include the following:

                      \n\t\t
                        \n
                      • \n

                        \n CreatorRequestId: The value that you specified when you created the Resolver rule.

                        \n
                      • \n
                      • \n

                        \n DomainName: The domain name for which Resolver is forwarding DNS queries to your network. In the value that \n\t\t\t\tyou specify for Values, include a trailing dot (.) after the domain name. For example, if the domain name is example.com, \n\t\t\t\tspecify the following value. Note the \".\" after com:

                        \n\t\t\t\t

                        \n example.com.\n

                        \n\t\t\t
                      • \n
                      • \n

                        \n Name: The name of the Resolver rule.

                        \n
                      • \n
                      • \n

                        \n ResolverEndpointId: The ID of the Resolver endpoint that the Resolver rule is associated with.

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

                        You can filter on the Resolver endpoint only for rules that have a value of FORWARD for \n\t\t\t\t\tRuleType.

                        \n
                        \n\t\t\t
                      • \n
                      • \n

                        \n Status: The status of the Resolver rule. If you specify Status for Name, \n\t\t\t\tspecify one of the following status codes for Values: COMPLETE, DELETING, UPDATING, \n\t\t\t\tor FAILED.

                        \n
                      • \n
                      • \n

                        \n Type: The type of the Resolver rule. If you specify TYPE \n\t\t\t\tfor Name, specify FORWARD or SYSTEM for Values.

                        \n
                      • \n
                      \n\t\t\n\t\t

                      \n ListResolverRuleAssociations\n

                      \n\t\t

                      Valid values for Name include the following:

                      \n\t\t
                        \n
                      • \n

                        \n Name: The name of the Resolver rule association.

                        \n
                      • \n
                      • \n

                        \n ResolverRuleId: The ID of the Resolver rule that is associated with one or more VPCs.

                        \n
                      • \n
                      • \n

                        \n Status: The status of the Resolver rule association. If you specify Status for Name, \n\t\t\t\tspecify one of the following status codes for Values: CREATING, COMPLETE, DELETING, or \n\t\t\t\tFAILED.

                        \n\t\t\t
                      • \n
                      • \n

                        \n VPCId: The ID of the VPC that the Resolver rule is associated with.

                        \n
                      • \n
                      \n\n\t\t

                      \n ListResolverQueryLogConfigs\n

                      \n\t\t

                      Valid values for Name include the following:

                      \n\t\t
                        \n
                      • \n

                        \n Arn: The ARN for the query logging configuration.

                        \n
                      • \n
                      • \n

                        \n AssociationCount: The number of VPCs that are associated with the query logging configuration.

                        \n
                      • \n
                      • \n

                        \n CreationTime: The date and time that the query logging configuration was created, in Unix time format and \n\t\t\t\tCoordinated Universal Time (UTC).

                        \n
                      • \n
                      • \n

                        \n CreatorRequestId: A unique string that identifies the request that created the query logging configuration.

                        \n
                      • \n
                      • \n

                        \n Destination: The AWS service that you want to forward query logs to. Valid values include the following:

                        \n\t\t\t\t
                          \n
                        • \n

                          \n S3\n

                          \n
                        • \n
                        • \n

                          \n CloudWatchLogs\n

                          \n
                        • \n
                        • \n

                          \n KinesisFirehose\n

                          \n
                        • \n
                        \n\t\t\t
                      • \n
                      • \n

                        \n DestinationArn: The ARN of the location that Resolver is sending query logs to. This value can be the ARN for an \n\t\t\t\tS3 bucket, a CloudWatch Logs log group, or a Kinesis Data Firehose delivery stream.

                        \n
                      • \n
                      • \n

                        \n Id: The ID of the query logging configuration

                        \n
                      • \n
                      • \n

                        \n Name: The name of the query logging configuration

                        \n
                      • \n
                      • \n

                        \n OwnerId: The AWS account ID for the account that created the query logging configuration.

                        \n
                      • \n
                      • \n

                        \n ShareStatus: An indication of whether the query logging configuration is shared with other AWS accounts, \n\t\t\t\tor was shared with the current account by another AWS account. Valid values include: NOT_SHARED, SHARED_WITH_ME, \n\t\t\t\tor SHARED_BY_ME.

                        \n
                      • \n
                      • \n

                        \n Status: The status of the query logging configuration. If you specify Status for Name, \n\t\t\t\tspecify the applicable status code for Values: CREATING, CREATED, \n\t\t\t\tDELETING, or FAILED. For more information, see \n\t\t\t\tStatus.\n\t\t\t\t

                        \n\t\t\t
                      • \n
                      \n\t\t\n\t\t

                      \n ListResolverQueryLogConfigAssociations\n

                      \n\t\t

                      Valid values for Name include the following:

                      \n\t\t
                        \n
                      • \n

                        \n CreationTime: The date and time that the VPC was associated with the query logging configuration, in Unix time format and \n\t\t\t\tCoordinated Universal Time (UTC).

                        \n
                      • \n
                      • \n

                        \n Error: If the value of Status is FAILED, specify the cause: \n\t\t\t\tDESTINATION_NOT_FOUND or ACCESS_DENIED.

                        \n
                      • \n
                      • \n

                        \n Id: The ID of the query logging association.

                        \n
                      • \n
                      • \n

                        \n ResolverQueryLogConfigId: The ID of the query logging configuration that a VPC is associated with.

                        \n
                      • \n
                      • \n

                        \n ResourceId: The ID of the Amazon VPC that is associated with the query logging configuration.

                        \n
                      • \n
                      • \n

                        \n Status: The status of the query logging association. If you specify Status for Name, \n\t\t\t\tspecify the applicable status code for Values: CREATING, CREATED, \n\t\t\t\tDELETING, or FAILED. For more information, see \n\t\t\t Status.\n\t\t\t\t

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

                      The name of the parameter that you want to use to filter objects.

                      \n\t\t

                      The valid values for Name depend on the action that you're including the filter in, \n\t\t\tListResolverEndpoints, \n\t\t\tListResolverRules, \n\t\t\tListResolverRuleAssociations, \n\t\t\tListResolverQueryLogConfigs,\n\t\t\tor \n\t\t\tListResolverQueryLogConfigAssociations.

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

                      In early versions of Resolver, values for Name were listed as uppercase, with underscore (_) delimiters. For example, \n\t\t\t\tCreatorRequestId was originally listed as CREATOR_REQUEST_ID. Uppercase values for Name are still supported.

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

                      \n ListResolverEndpoints\n

                      \n\t\t

                      Valid values for Name include the following:

                      \n\t\t
                        \n
                      • \n

                        \n CreatorRequestId: The value that you specified when you created the Resolver endpoint.

                        \n
                      • \n
                      • \n

                        \n Direction: Whether you want to return inbound or outbound Resolver endpoints. If you specify DIRECTION \n\t\t\t\tfor Name, specify INBOUND or OUTBOUND for Values.

                        \n
                      • \n
                      • \n

                        \n HostVPCId: The ID of the VPC that inbound DNS queries pass through on the way from your network to your VPCs in a region, or \n\t\t\t\tthe VPC that outbound queries pass through on the way from your VPCs to your network. In a \n\t\t\t\tCreateResolverEndpoint\n\t\t\t\trequest, SubnetId indirectly identifies the VPC. In a \n\t\t\t\tGetResolverEndpoint\n\t\t\t\trequest, the VPC ID for a Resolver endpoint \n\t\t\t\tis returned in the HostVPCId element.

                        \n
                      • \n
                      • \n

                        \n IpAddressCount: The number of IP addresses that you have associated with the Resolver endpoint.

                        \n
                      • \n
                      • \n

                        \n Name: The name of the Resolver endpoint.

                        \n
                      • \n
                      • \n

                        \n SecurityGroupIds: The IDs of the VPC security groups that you specified when you created the \n\t\t\t\tResolver endpoint.

                        \n
                      • \n
                      • \n

                        \n Status: The status of the Resolver endpoint. If you specify Status for Name, \n\t\t\t\tspecify one of the following status codes for Values: CREATING, OPERATIONAL, UPDATING,\n\t\t\t\tAUTO_RECOVERING, ACTION_NEEDED, or DELETING. For more information, see Status in\n\t\t\t\tResolverEndpoint.

                        \n
                      • \n
                      \n\t\t\n\t\t

                      \n ListResolverRules\n

                      \n\t\t

                      Valid values for Name include the following:

                      \n\t\t
                        \n
                      • \n

                        \n CreatorRequestId: The value that you specified when you created the Resolver rule.

                        \n
                      • \n
                      • \n

                        \n DomainName: The domain name for which Resolver is forwarding DNS queries to your network. In the value that \n\t\t\t\tyou specify for Values, include a trailing dot (.) after the domain name. For example, if the domain name is example.com, \n\t\t\t\tspecify the following value. Note the \".\" after com:

                        \n\t\t\t\t

                        \n example.com.\n

                        \n\t\t\t
                      • \n
                      • \n

                        \n Name: The name of the Resolver rule.

                        \n
                      • \n
                      • \n

                        \n ResolverEndpointId: The ID of the Resolver endpoint that the Resolver rule is associated with.

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

                        You can filter on the Resolver endpoint only for rules that have a value of FORWARD for \n\t\t\t\t\tRuleType.

                        \n
                        \n\t\t\t
                      • \n
                      • \n

                        \n Status: The status of the Resolver rule. If you specify Status for Name, \n\t\t\t\tspecify one of the following status codes for Values: COMPLETE, DELETING, UPDATING, \n\t\t\t\tor FAILED.

                        \n
                      • \n
                      • \n

                        \n Type: The type of the Resolver rule. If you specify TYPE \n\t\t\t\tfor Name, specify FORWARD or SYSTEM for Values.

                        \n
                      • \n
                      \n\t\t\n\t\t

                      \n ListResolverRuleAssociations\n

                      \n\t\t

                      Valid values for Name include the following:

                      \n\t\t
                        \n
                      • \n

                        \n Name: The name of the Resolver rule association.

                        \n
                      • \n
                      • \n

                        \n ResolverRuleId: The ID of the Resolver rule that is associated with one or more VPCs.

                        \n
                      • \n
                      • \n

                        \n Status: The status of the Resolver rule association. If you specify Status for Name, \n\t\t\t\tspecify one of the following status codes for Values: CREATING, COMPLETE, DELETING, or \n\t\t\t\tFAILED.

                        \n\t\t\t
                      • \n
                      • \n

                        \n VPCId: The ID of the VPC that the Resolver rule is associated with.

                        \n
                      • \n
                      \n\n\t\t

                      \n ListResolverQueryLogConfigs\n

                      \n\t\t

                      Valid values for Name include the following:

                      \n\t\t
                        \n
                      • \n

                        \n Arn: The ARN for the query logging configuration.

                        \n
                      • \n
                      • \n

                        \n AssociationCount: The number of VPCs that are associated with the query logging configuration.

                        \n
                      • \n
                      • \n

                        \n CreationTime: The date and time that the query logging configuration was created, in Unix time format and \n\t\t\t\tCoordinated Universal Time (UTC).

                        \n
                      • \n
                      • \n

                        \n CreatorRequestId: A unique string that identifies the request that created the query logging configuration.

                        \n
                      • \n
                      • \n

                        \n Destination: The Amazon Web Services service that you want to forward query logs to. Valid values include the following:

                        \n\t\t\t\t
                          \n
                        • \n

                          \n S3\n

                          \n
                        • \n
                        • \n

                          \n CloudWatchLogs\n

                          \n
                        • \n
                        • \n

                          \n KinesisFirehose\n

                          \n
                        • \n
                        \n\t\t\t
                      • \n
                      • \n

                        \n DestinationArn: The ARN of the location that Resolver is sending query logs to. This value can be the ARN for an \n\t\t\t\tS3 bucket, a CloudWatch Logs log group, or a Kinesis Data Firehose delivery stream.

                        \n
                      • \n
                      • \n

                        \n Id: The ID of the query logging configuration

                        \n
                      • \n
                      • \n

                        \n Name: The name of the query logging configuration

                        \n
                      • \n
                      • \n

                        \n OwnerId: The Amazon Web Services account ID for the account that created the query logging configuration.

                        \n
                      • \n
                      • \n

                        \n ShareStatus: An indication of whether the query logging configuration is shared with other Amazon Web Services accounts, \n\t\t\t\tor was shared with the current account by another Amazon Web Services account. Valid values include: NOT_SHARED, SHARED_WITH_ME, \n\t\t\t\tor SHARED_BY_ME.

                        \n
                      • \n
                      • \n

                        \n Status: The status of the query logging configuration. If you specify Status for Name, \n\t\t\t\tspecify the applicable status code for Values: CREATING, CREATED, \n\t\t\t\tDELETING, or FAILED. For more information, see \n\t\t\t\tStatus.\n\t\t\t\t

                        \n\t\t\t
                      • \n
                      \n\t\t\n\t\t

                      \n ListResolverQueryLogConfigAssociations\n

                      \n\t\t

                      Valid values for Name include the following:

                      \n\t\t
                        \n
                      • \n

                        \n CreationTime: The date and time that the VPC was associated with the query logging configuration, in Unix time format and \n\t\t\t\tCoordinated Universal Time (UTC).

                        \n
                      • \n
                      • \n

                        \n Error: If the value of Status is FAILED, specify the cause: \n\t\t\t\tDESTINATION_NOT_FOUND or ACCESS_DENIED.

                        \n
                      • \n
                      • \n

                        \n Id: The ID of the query logging association.

                        \n
                      • \n
                      • \n

                        \n ResolverQueryLogConfigId: The ID of the query logging configuration that a VPC is associated with.

                        \n
                      • \n
                      • \n

                        \n ResourceId: The ID of the Amazon VPC that is associated with the query logging configuration.

                        \n
                      • \n
                      • \n

                        \n Status: The status of the query logging association. If you specify Status for Name, \n\t\t\t\tspecify the applicable status code for Values: CREATING, CREATED, \n\t\t\t\tDELETING, or FAILED. For more information, see \n\t\t\t Status.\n\t\t\t\t

                        \n\t\t\t
                      • \n
                      " } }, "Values": { @@ -1635,7 +1635,7 @@ "OwnerId": { "target": "com.amazonaws.route53resolver#AccountId", "traits": { - "smithy.api#documentation": "

                      The AWS account ID of the owner of the VPC that this firewall configuration applies to.

                      " + "smithy.api#documentation": "

                      The Amazon Web Services account ID of the owner of the VPC that this firewall configuration applies to.

                      " } }, "FirewallFailOpen": { @@ -1976,7 +1976,7 @@ "OwnerId": { "target": "com.amazonaws.route53resolver#AccountId", "traits": { - "smithy.api#documentation": "

                      The AWS account ID for the account that created the rule group. When a rule group is shared with your account,\n this is the account that has shared the rule group with you.

                      " + "smithy.api#documentation": "

                      The Amazon Web Services account ID for the account that created the rule group. When a rule group is shared with your account,\n this is the account that has shared the rule group with you.

                      " } }, "CreatorRequestId": { @@ -1988,7 +1988,7 @@ "ShareStatus": { "target": "com.amazonaws.route53resolver#ShareStatus", "traits": { - "smithy.api#documentation": "

                      Whether the rule group is shared with other AWS accounts, or was shared with the current account by another \n AWS account. Sharing is configured through AWS Resource Access Manager (AWS RAM).

                      " + "smithy.api#documentation": "

                      Whether the rule group is shared with other Amazon Web Services accounts, or was shared with the current account by another \n Amazon Web Services account. Sharing is configured through Resource Access Manager (RAM).

                      " } }, "CreationTime": { @@ -2056,7 +2056,7 @@ "ManagedOwnerName": { "target": "com.amazonaws.route53resolver#ServicePrinciple", "traits": { - "smithy.api#documentation": "

                      The owner of the association, used only for associations that are not managed by you. If you use AWS Firewall Manager to \n manage your DNS Firewalls, then this reports Firewall Manager as the managed owner.

                      " + "smithy.api#documentation": "

                      The owner of the association, used only for associations that are not managed by you. If you use Firewall Manager to \n manage your DNS Firewalls, then this reports Firewall Manager as the managed owner.

                      " } }, "Status": { @@ -2143,7 +2143,7 @@ "OwnerId": { "target": "com.amazonaws.route53resolver#AccountId", "traits": { - "smithy.api#documentation": "

                      The AWS account ID for the account that created the rule group. When a rule group is shared with your account,\n this is the account that has shared the rule group with you.

                      " + "smithy.api#documentation": "

                      The Amazon Web Services account ID for the account that created the rule group. When a rule group is shared with your account,\n this is the account that has shared the rule group with you.

                      " } }, "CreatorRequestId": { @@ -2155,7 +2155,7 @@ "ShareStatus": { "target": "com.amazonaws.route53resolver#ShareStatus", "traits": { - "smithy.api#documentation": "

                      Whether the rule group is shared with other AWS accounts, or was shared with the current account by another \n AWS account. Sharing is configured through AWS Resource Access Manager (AWS RAM).

                      " + "smithy.api#documentation": "

                      Whether the rule group is shared with other Amazon Web Services accounts, or was shared with the current account by another \n Amazon Web Services account. Sharing is configured through Resource Access Manager (RAM).

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

                      Returns the AWS Identity and Access Management (AWS IAM) policy for sharing the\n\t\t\tspecified rule group. You can use the policy to share the rule group using AWS Resource\n\t\t\tAccess Manager (AWS RAM).

                      " + "smithy.api#documentation": "

                      Returns the Identity and Access Management (Amazon Web Services IAM) policy for sharing the\n \tspecified rule group. You can use the policy to share the rule group using Resource Access Manager (RAM).

                      " } }, "com.amazonaws.route53resolver#GetFirewallRuleGroupPolicyRequest": { @@ -2426,7 +2426,7 @@ "FirewallRuleGroupPolicy": { "target": "com.amazonaws.route53resolver#FirewallRuleGroupPolicy", "traits": { - "smithy.api#documentation": "

                      The AWS Identity and Access Management (AWS IAM) policy for sharing the specified rule\n\t\t\tgroup. You can use the policy to share the rule group using AWS Resource Access Manager\n\t\t\t(AWS RAM).

                      " + "smithy.api#documentation": "

                      The Identity and Access Management (Amazon Web Services IAM) policy for sharing the specified rule\n\t\t\tgroup. You can use the policy to share the rule group using Resource Access Manager\n\t\t\t(RAM).

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

                      Gets information about a query logging policy. A query logging policy specifies the Resolver query logging \n\t\t\toperations and resources that you want to allow another AWS account to be able to use.

                      " + "smithy.api#documentation": "

                      Gets information about a query logging policy. A query logging policy specifies the Resolver query logging \n\t\t\toperations and resources that you want to allow another Amazon Web Services account to be able to use.

                      " } }, "com.amazonaws.route53resolver#GetResolverQueryLogConfigPolicyRequest": { @@ -3733,7 +3733,7 @@ } ], "traits": { - "smithy.api#documentation": "

                      Lists the configurations for DNSSEC validation that are associated with the current AWS account.

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

                      Lists the configurations for DNSSEC validation that are associated with the current Amazon Web Services account.

                      ", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -3754,7 +3754,7 @@ "NextToken": { "target": "com.amazonaws.route53resolver#NextToken", "traits": { - "smithy.api#documentation": "

                      (Optional) If the current AWS account has more than MaxResults DNSSEC configurations, use NextToken \n\t\t\tto get the second and subsequent pages of results.

                      \n\t\t

                      For the first ListResolverDnssecConfigs request, omit this value.

                      \n\t\t

                      For the second and subsequent requests, get the value of NextToken from the previous response and specify that value \n\t\t\tfor NextToken in the request.

                      " + "smithy.api#documentation": "

                      (Optional) If the current Amazon Web Services account has more than MaxResults DNSSEC configurations, use NextToken \n\t\t\tto get the second and subsequent pages of results.

                      \n\t\t

                      For the first ListResolverDnssecConfigs request, omit this value.

                      \n\t\t

                      For the second and subsequent requests, get the value of NextToken from the previous response and specify that value \n\t\t\tfor NextToken in the request.

                      " } }, "Filters": { @@ -3771,13 +3771,13 @@ "NextToken": { "target": "com.amazonaws.route53resolver#NextToken", "traits": { - "smithy.api#documentation": "

                      If a response includes the last of the DNSSEC configurations that are associated with the current AWS account, \n\t\t\tNextToken doesn't appear in the response.

                      \n\t\t

                      If a response doesn't include the last of the configurations, you can get more configurations by submitting another \n\t\t\tListResolverDnssecConfigs \n\t\t\trequest. Get the value of NextToken that Amazon Route 53 returned in the previous response and include it in \n\t\t\tNextToken in the next request.

                      " + "smithy.api#documentation": "

                      If a response includes the last of the DNSSEC configurations that are associated with the current Amazon Web Services account, \n\t\t\tNextToken doesn't appear in the response.

                      \n\t\t

                      If a response doesn't include the last of the configurations, you can get more configurations by submitting another \n\t\t\tListResolverDnssecConfigs \n\t\t\trequest. Get the value of NextToken that Amazon Route 53 returned in the previous response and include it in \n\t\t\tNextToken in the next request.

                      " } }, "ResolverDnssecConfigs": { "target": "com.amazonaws.route53resolver#ResolverDnssecConfigList", "traits": { - "smithy.api#documentation": "

                      An array that contains one \n\t\t\tResolverDnssecConfig element \n\t\t\tfor each configuration for DNSSEC validation that is associated with the current AWS account.

                      " + "smithy.api#documentation": "

                      An array that contains one \n\t\t\tResolverDnssecConfig element \n\t\t\tfor each configuration for DNSSEC validation that is associated with the current Amazon Web Services account.

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

                      Lists all the Resolver endpoints that were created using the current AWS account.

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

                      Lists all the Resolver endpoints that were created using the current Amazon Web Services account.

                      ", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -3940,7 +3940,7 @@ "ResolverEndpoints": { "target": "com.amazonaws.route53resolver#ResolverEndpoints", "traits": { - "smithy.api#documentation": "

                      The Resolver endpoints that were created by using the current AWS account, and that match the specified filters, if any.

                      " + "smithy.api#documentation": "

                      The Resolver endpoints that were created by using the current Amazon Web Services account, and that match the specified filters, if any.

                      " } } } @@ -4108,7 +4108,7 @@ "SortBy": { "target": "com.amazonaws.route53resolver#SortByKey", "traits": { - "smithy.api#documentation": "

                      The element that you want Resolver to sort query logging configurations by.

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

                      If you submit a second or subsequent ListResolverQueryLogConfigs request and specify the NextToken parameter, \n\t\t\t\tyou must use the same value for SortBy, if any, as in the previous request.

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

                      Valid values include the following elements:

                      \n\t\t
                        \n
                      • \n

                        \n Arn: The ARN of the query logging configuration

                        \n
                      • \n
                      • \n

                        \n AssociationCount: The number of VPCs that are associated with the specified configuration

                        \n
                      • \n
                      • \n

                        \n CreationTime: The date and time that Resolver returned when the configuration was created

                        \n
                      • \n
                      • \n

                        \n CreatorRequestId: The value that was specified for CreatorRequestId when the configuration was created

                        \n
                      • \n
                      • \n

                        \n DestinationArn: The location that logs are sent to

                        \n
                      • \n
                      • \n

                        \n Id: The ID of the configuration

                        \n
                      • \n
                      • \n

                        \n Name: The name of the configuration

                        \n
                      • \n
                      • \n

                        \n OwnerId: The AWS account number of the account that created the configuration

                        \n
                      • \n
                      • \n

                        \n ShareStatus: Whether the configuration is shared with other AWS accounts or shared with the current account by \n\t\t\t\tanother AWS account. Sharing is configured through AWS Resource Access Manager (AWS RAM).

                        \n
                      • \n
                      • \n

                        \n Status: The current status of the configuration. Valid values include the following:

                        \n\t\t\t\t\n\t\t\t\t
                          \n
                        • \n

                          \n CREATING: Resolver is creating the query logging configuration.

                          \n
                        • \n
                        • \n

                          \n CREATED: The query logging configuration was successfully created. \n\t\t\t\t\t\tResolver is logging queries that originate in the specified VPC.

                          \n
                        • \n
                        • \n

                          \n DELETING: Resolver is deleting this query logging configuration.

                          \n
                        • \n
                        • \n

                          \n FAILED: Resolver either couldn't create or couldn't delete the query logging configuration.\n\t\t\t\t\t\tHere are two common causes:

                          \n\t\t\t\t\t\t
                            \n
                          • \n

                            The specified destination (for example, an Amazon S3 bucket) was deleted.

                            \n
                          • \n
                          • \n

                            Permissions don't allow sending logs to the destination.

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

                      The element that you want Resolver to sort query logging configurations by.

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

                      If you submit a second or subsequent ListResolverQueryLogConfigs request and specify the NextToken parameter, \n\t\t\t\tyou must use the same value for SortBy, if any, as in the previous request.

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

                      Valid values include the following elements:

                      \n\t\t
                        \n
                      • \n

                        \n Arn: The ARN of the query logging configuration

                        \n
                      • \n
                      • \n

                        \n AssociationCount: The number of VPCs that are associated with the specified configuration

                        \n
                      • \n
                      • \n

                        \n CreationTime: The date and time that Resolver returned when the configuration was created

                        \n
                      • \n
                      • \n

                        \n CreatorRequestId: The value that was specified for CreatorRequestId when the configuration was created

                        \n
                      • \n
                      • \n

                        \n DestinationArn: The location that logs are sent to

                        \n
                      • \n
                      • \n

                        \n Id: The ID of the configuration

                        \n
                      • \n
                      • \n

                        \n Name: The name of the configuration

                        \n
                      • \n
                      • \n

                        \n OwnerId: The Amazon Web Services account number of the account that created the configuration

                        \n
                      • \n
                      • \n

                        \n ShareStatus: Whether the configuration is shared with other Amazon Web Services accounts or shared with the current account by \n\t\t\t\tanother Amazon Web Services account. Sharing is configured through Resource Access Manager (RAM).

                        \n
                      • \n
                      • \n

                        \n Status: The current status of the configuration. Valid values include the following:

                        \n\t\t\t\t\n\t\t\t\t
                          \n
                        • \n

                          \n CREATING: Resolver is creating the query logging configuration.

                          \n
                        • \n
                        • \n

                          \n CREATED: The query logging configuration was successfully created. \n\t\t\t\t\t\tResolver is logging queries that originate in the specified VPC.

                          \n
                        • \n
                        • \n

                          \n DELETING: Resolver is deleting this query logging configuration.

                          \n
                        • \n
                        • \n

                          \n FAILED: Resolver either couldn't create or couldn't delete the query logging configuration.\n\t\t\t\t\t\tHere are two common causes:

                          \n\t\t\t\t\t\t
                            \n
                          • \n

                            The specified destination (for example, an Amazon S3 bucket) was deleted.

                            \n
                          • \n
                          • \n

                            Permissions don't allow sending logs to the destination.

                            \n
                          • \n
                          \n\t\t\t\t\t
                        • \n
                        \n\t\t\t
                      • \n
                      " } }, "SortOrder": { @@ -4174,7 +4174,7 @@ } ], "traits": { - "smithy.api#documentation": "

                      Lists the associations that were created between Resolver rules and VPCs using the current AWS account.

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

                      Lists the associations that were created between Resolver rules and VPCs using the current Amazon Web Services account.

                      ", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -4224,7 +4224,7 @@ "ResolverRuleAssociations": { "target": "com.amazonaws.route53resolver#ResolverRuleAssociations", "traits": { - "smithy.api#documentation": "

                      The associations that were created between Resolver rules and VPCs using the current AWS account, and that match the \n\t\t\tspecified filters, if any.

                      " + "smithy.api#documentation": "

                      The associations that were created between Resolver rules and VPCs using the current Amazon Web Services account, and that match the \n\t\t\tspecified filters, if any.

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

                      Lists the Resolver rules that were created using the current AWS account.

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

                      Lists the Resolver rules that were created using the current Amazon Web Services account.

                      ", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -4305,7 +4305,7 @@ "ResolverRules": { "target": "com.amazonaws.route53resolver#ResolverRules", "traits": { - "smithy.api#documentation": "

                      The Resolver rules that were created using the current AWS account and that match the specified filters, if any.

                      " + "smithy.api#documentation": "

                      The Resolver rules that were created using the current Amazon Web Services account and that match the specified filters, if any.

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

                      Attaches an AWS Identity and Access Management (AWS IAM) policy for sharing the rule\n\t\t\tgroup. You can use the policy to share the rule group using AWS Resource Access Manager\n\t\t\t(AWS RAM).

                      " + "smithy.api#documentation": "

                      Attaches an Identity and Access Management (Amazon Web Services IAM) policy for sharing the rule\n\t\t\tgroup. You can use the policy to share the rule group using Resource Access Manager\n\t\t\t(RAM).

                      " } }, "com.amazonaws.route53resolver#PutFirewallRuleGroupPolicyRequest": { @@ -4485,7 +4485,7 @@ "FirewallRuleGroupPolicy": { "target": "com.amazonaws.route53resolver#FirewallRuleGroupPolicy", "traits": { - "smithy.api#documentation": "

                      The AWS Identity and Access Management (AWS IAM) policy to attach to the rule group.

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

                      The Identity and Access Management (Amazon Web Services IAM) policy to attach to the rule group.

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

                      Specifies an AWS account that you want to share a query logging configuration with, the query logging configuration that you want to share, \n\t\t\tand the operations that you want the account to be able to perform on the configuration.

                      " + "smithy.api#documentation": "

                      Specifies an Amazon Web Services account that you want to share a query logging configuration with, the query logging configuration that you want to share, \n\t\t\tand the operations that you want the account to be able to perform on the configuration.

                      " } }, "com.amazonaws.route53resolver#PutResolverQueryLogConfigPolicyRequest": { @@ -4547,7 +4547,7 @@ "ResolverQueryLogConfigPolicy": { "target": "com.amazonaws.route53resolver#ResolverQueryLogConfigPolicy", "traits": { - "smithy.api#documentation": "

                      An AWS Identity and Access Management policy statement that lists the query logging configurations that you want to share with another AWS account \n\t\t\tand the operations that you want the account to be able to perform. You can specify the following operations in the Actions section \n\t\t\tof the statement:

                      \n\t\t
                        \n
                      • \n

                        \n route53resolver:AssociateResolverQueryLogConfig\n

                        \n
                      • \n
                      • \n

                        \n route53resolver:DisassociateResolverQueryLogConfig\n

                        \n
                      • \n
                      • \n

                        \n route53resolver:ListResolverQueryLogConfigAssociations\n

                        \n
                      • \n
                      • \n

                        \n route53resolver:ListResolverQueryLogConfigs\n

                        \n
                      • \n
                      \n\t\t\n\t\t

                      In the Resource section of the statement, you specify the ARNs for the query logging configurations that you want to share \n\t\t\twith the account that you specified in Arn.

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

                      An Identity and Access Management policy statement that lists the query logging configurations that you want to share with another Amazon Web Services account \n\t\t\tand the operations that you want the account to be able to perform. You can specify the following operations in the Actions section \n\t\t\tof the statement:

                      \n\t\t
                        \n
                      • \n

                        \n route53resolver:AssociateResolverQueryLogConfig\n

                        \n
                      • \n
                      • \n

                        \n route53resolver:DisassociateResolverQueryLogConfig\n

                        \n
                      • \n
                      • \n

                        \n route53resolver:ListResolverQueryLogConfigAssociations\n

                        \n
                      • \n
                      • \n

                        \n route53resolver:ListResolverQueryLogConfigs\n

                        \n
                      • \n
                      \n\t\t\n\t\t

                      In the Resource section of the statement, you specify the ARNs for the query logging configurations that you want to share \n\t\t\twith the account that you specified in Arn.

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

                      Specifies an AWS rule that you want to share with another account, the account that you want to share the rule with, \n\t\t\tand the operations that you want the account to be able to perform on the rule.

                      " + "smithy.api#documentation": "

                      Specifies an Amazon Web Services rule that you want to share with another account, the account that you want to share the rule with, \n\t\t\tand the operations that you want the account to be able to perform on the rule.

                      " } }, "com.amazonaws.route53resolver#PutResolverRulePolicyRequest": { @@ -4606,7 +4606,7 @@ "ResolverRulePolicy": { "target": "com.amazonaws.route53resolver#ResolverRulePolicy", "traits": { - "smithy.api#documentation": "

                      An AWS Identity and Access Management policy statement that lists the rules that you want to share with another AWS account and the operations that you want the account \n\t\t\tto be able to perform. You can specify the following operations in the Action section of the statement:

                      \n\t\t\t
                        \n
                      • \n

                        \n route53resolver:GetResolverRule\n

                        \n
                      • \n
                      • \n

                        \n route53resolver:AssociateResolverRule\n

                        \n
                      • \n
                      • \n

                        \n route53resolver:DisassociateResolverRule\n

                        \n
                      • \n
                      • \n

                        \n route53resolver:ListResolverRules\n

                        \n
                      • \n
                      • \n

                        \n route53resolver:ListResolverRuleAssociations\n

                        \n
                      • \n
                      \n\t\t\n\t\t

                      In the Resource section of the statement, specify the ARN for the rule that you want to share with another account. Specify the same ARN \n\t\t\tthat you specified in Arn.

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

                      An Identity and Access Management policy statement that lists the rules that you want to share with another Amazon Web Services account and the operations that you want the account \n\t\t\tto be able to perform. You can specify the following operations in the Action section of the statement:

                      \n\t\t\t
                        \n
                      • \n

                        \n route53resolver:GetResolverRule\n

                        \n
                      • \n
                      • \n

                        \n route53resolver:AssociateResolverRule\n

                        \n
                      • \n
                      • \n

                        \n route53resolver:DisassociateResolverRule\n

                        \n
                      • \n
                      • \n

                        \n route53resolver:ListResolverRules\n

                        \n
                      • \n
                      • \n

                        \n route53resolver:ListResolverRuleAssociations\n

                        \n
                      • \n
                      \n\t\t\n\t\t

                      In the Resource section of the statement, specify the ARN for the rule that you want to share with another account. Specify the same ARN \n\t\t\tthat you specified in Arn.

                      ", "smithy.api#required": {} } } @@ -4831,7 +4831,7 @@ "OwnerId": { "target": "com.amazonaws.route53resolver#AccountId", "traits": { - "smithy.api#documentation": "

                      The AWS account ID for the account that created the query logging configuration.

                      " + "smithy.api#documentation": "

                      The Amazon Web Services account ID for the account that created the query logging configuration.

                      " } }, "Status": { @@ -4843,7 +4843,7 @@ "ShareStatus": { "target": "com.amazonaws.route53resolver#ShareStatus", "traits": { - "smithy.api#documentation": "

                      An indication of whether the query logging configuration is shared with other AWS accounts, or was shared with the current account by another \n\t\t\tAWS account. Sharing is configured through AWS Resource Access Manager (AWS RAM).

                      " + "smithy.api#documentation": "

                      An indication of whether the query logging configuration is shared with other Amazon Web Services accounts, or was shared with the current account by another \n\t\t\tAmazon Web Services account. Sharing is configured through Resource Access Manager (RAM).

                      " } }, "AssociationCount": { @@ -5110,7 +5110,7 @@ "OwnerId": { "target": "com.amazonaws.route53resolver#AccountId", "traits": { - "smithy.api#documentation": "

                      When a rule is shared with another AWS account, the account ID of the account that the rule is shared with.

                      " + "smithy.api#documentation": "

                      When a rule is shared with another Amazon Web Services account, the account ID of the account that the rule is shared with.

                      " } }, "ShareStatus": { @@ -5564,7 +5564,7 @@ "name": "route53resolver" }, "aws.protocols#awsJson1_1": {}, - "smithy.api#documentation": "

                      When you create a VPC using Amazon VPC, you automatically get DNS resolution within the VPC\n\t\t\tfrom Route 53 Resolver. By default, Resolver answers DNS queries for VPC domain names\n\t\t\tsuch as domain names for EC2 instances or Elastic Load Balancing load balancers.\n\t\t\tResolver performs recursive lookups against public name servers for all other domain\n\t\t\tnames.

                      \n\n\t\t

                      You can also configure DNS resolution between your VPC and your network over a Direct Connect or VPN connection:

                      \n\n\t\t

                      \n Forward DNS queries from resolvers on your network to Route 53 Resolver\n

                      \n\n\t\t

                      DNS resolvers on your network can forward DNS queries to Resolver in a specified VPC. This allows your DNS resolvers \n\t\t\tto easily resolve domain names for AWS resources such as EC2 instances or records in a Route 53 private hosted zone. \n\t\t\tFor more information, see \n\t\t\tHow DNS Resolvers \n\t\t\ton Your Network Forward DNS Queries to Route 53 Resolver in the Amazon Route 53 Developer Guide.

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

                      \n Conditionally forward queries from a VPC to resolvers on your network\n

                      \n\n\t\t

                      You can configure Resolver to forward queries that it receives from EC2 instances in your VPCs to DNS resolvers on your network. \n\t\t\tTo forward selected queries, you create Resolver rules that specify the domain names for the DNS queries that you want to forward \n\t\t\t(such as example.com), and the IP addresses of the DNS resolvers on your network that you want to forward the queries to. \n\t\t\tIf a query matches multiple rules (example.com, acme.example.com), Resolver chooses the rule with the most specific match \n\t\t\t(acme.example.com) and forwards the query to the IP addresses that you specified in that rule. For more information, see \n\t\t\tHow Route 53 Resolver \n\t\t\tForwards DNS Queries from Your VPCs to Your Network in the Amazon Route 53 Developer Guide.

                      \n\n\t\t

                      Like Amazon VPC, Resolver is Regional. In each Region where you have VPCs, you can choose\n\t\t\twhether to forward queries from your VPCs to your network (outbound queries), from your\n\t\t\tnetwork to your VPCs (inbound queries), or both.

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

                      When you create a VPC using Amazon VPC, you automatically get DNS resolution within the VPC\n\t\t\tfrom Route 53 Resolver. By default, Resolver answers DNS queries for VPC domain names\n\t\t\tsuch as domain names for EC2 instances or Elastic Load Balancing load balancers.\n\t\t\tResolver performs recursive lookups against public name servers for all other domain\n\t\t\tnames.

                      \n\n\t\t

                      You can also configure DNS resolution between your VPC and your network over a Direct Connect or VPN connection:

                      \n\n\t\t

                      \n Forward DNS queries from resolvers on your network to Route 53 Resolver\n

                      \n\n\t\t

                      DNS resolvers on your network can forward DNS queries to Resolver in a specified VPC. This allows your DNS resolvers \n\t\t\tto easily resolve domain names for Amazon Web Services resources such as EC2 instances or records in a Route 53 private hosted zone. \n\t\t\tFor more information, see \n\t\t\tHow DNS Resolvers \n\t\t\ton Your Network Forward DNS Queries to Route 53 Resolver in the Amazon Route 53 Developer Guide.

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

                      \n Conditionally forward queries from a VPC to resolvers on your network\n

                      \n\n\t\t

                      You can configure Resolver to forward queries that it receives from EC2 instances in your VPCs to DNS resolvers on your network. \n\t\t\tTo forward selected queries, you create Resolver rules that specify the domain names for the DNS queries that you want to forward \n\t\t\t(such as example.com), and the IP addresses of the DNS resolvers on your network that you want to forward the queries to. \n\t\t\tIf a query matches multiple rules (example.com, acme.example.com), Resolver chooses the rule with the most specific match \n\t\t\t(acme.example.com) and forwards the query to the IP addresses that you specified in that rule. For more information, see \n\t\t\tHow Route 53 Resolver \n\t\t\tForwards DNS Queries from Your VPCs to Your Network in the Amazon Route 53 Developer Guide.

                      \n\n\t\t

                      Like Amazon VPC, Resolver is Regional. In each Region where you have VPCs, you can choose\n\t\t\twhether to forward queries from your VPCs to your network (outbound queries), from your\n\t\t\tnetwork to your VPCs (inbound queries), or both.

                      ", "smithy.api#title": "Amazon Route 53 Resolver" } }, diff --git a/codegen/sdk-codegen/aws-models/s3.2006-03-01.json b/codegen/sdk-codegen/aws-models/s3.2006-03-01.json index a0890b9e9996..f93b60a8df86 100644 --- a/codegen/sdk-codegen/aws-models/s3.2006-03-01.json +++ b/codegen/sdk-codegen/aws-models/s3.2006-03-01.json @@ -85,7 +85,7 @@ "Bucket": { "target": "com.amazonaws.s3#BucketName", "traits": { - "smithy.api#documentation": "

                      The bucket name to which the upload was taking place.

                      \n

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                      \n

                      When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

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

                      The bucket name to which the upload was taking place.

                      \n

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                      \n

                      When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                      ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -692,7 +692,7 @@ } }, "traits": { - "smithy.api#documentation": "

                      In terms of implementation, a Bucket is a resource. An Amazon S3 bucket name is globally\n unique, and the namespace is shared by all AWS accounts.

                      " + "smithy.api#documentation": "

                      In terms of implementation, a Bucket is a resource. An Amazon S3 bucket name is globally\n unique, and the namespace is shared by all Amazon Web Services accounts.

                      " } }, "com.amazonaws.s3#BucketAccelerateStatus": { @@ -722,7 +722,7 @@ "type": "structure", "members": {}, "traits": { - "smithy.api#documentation": "

                      The bucket you tried to create already exists, and you own it. Amazon S3 returns this error\n in all AWS Regions except in the North Virginia Region. For legacy compatibility, if you\n re-create an existing bucket that you already own in the North Virginia Region, Amazon S3\n returns 200 OK and resets the bucket access control lists (ACLs).

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

                      The bucket you tried to create already exists, and you own it. Amazon S3 returns this error\n in all Amazon Web Services Regions except in the North Virginia Region. For legacy compatibility, if you\n re-create an existing bucket that you already own in the North Virginia Region, Amazon S3\n returns 200 OK and resets the bucket access control lists (ACLs).

                      ", "smithy.api#error": "client" } }, @@ -1168,7 +1168,7 @@ "Bucket": { "target": "com.amazonaws.s3#BucketName", "traits": { - "smithy.api#documentation": "

                      The name of the bucket that contains the newly created object.

                      \n

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                      \n

                      When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                      " + "smithy.api#documentation": "

                      The name of the bucket that contains the newly created object. Does not return the access point ARN or access point alias if used.

                      \n

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                      \n

                      When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                      " } }, "Key": { @@ -1193,7 +1193,7 @@ "ServerSideEncryption": { "target": "com.amazonaws.s3#ServerSideEncryption", "traits": { - "smithy.api#documentation": "

                      If you specified server-side encryption either with an Amazon S3-managed encryption key or an\n AWS KMS customer master key (CMK) in your initiate multipart upload request, the response\n includes this header. It confirms the encryption algorithm that Amazon S3 used to encrypt the\n object.

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

                      If you specified server-side encryption either with an Amazon S3-managed encryption key or an\n Amazon Web Services KMS customer master key (CMK) in your initiate multipart upload request, the response\n includes this header. It confirms the encryption algorithm that Amazon S3 used to encrypt the\n object.

                      ", "smithy.api#httpHeader": "x-amz-server-side-encryption" } }, @@ -1207,14 +1207,14 @@ "SSEKMSKeyId": { "target": "com.amazonaws.s3#SSEKMSKeyId", "traits": { - "smithy.api#documentation": "

                      If present, specifies the ID of the AWS Key Management Service (AWS KMS) symmetric\n customer managed customer master key (CMK) that was used for the object.

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

                      If present, specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric\n customer managed customer master key (CMK) that was used for the object.

                      ", "smithy.api#httpHeader": "x-amz-server-side-encryption-aws-kms-key-id" } }, "BucketKeyEnabled": { "target": "com.amazonaws.s3#BucketKeyEnabled", "traits": { - "smithy.api#documentation": "

                      Indicates whether the multipart upload uses an S3 Bucket Key for server-side encryption with AWS KMS (SSE-KMS).

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

                      Indicates whether the multipart upload uses an S3 Bucket Key for server-side encryption with Amazon Web Services KMS (SSE-KMS).

                      ", "smithy.api#httpHeader": "x-amz-server-side-encryption-bucket-key-enabled" } }, @@ -1235,7 +1235,7 @@ "Bucket": { "target": "com.amazonaws.s3#BucketName", "traits": { - "smithy.api#documentation": "

                      Name of the bucket to which the multipart upload was initiated.

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

                      Name of the bucket to which the multipart upload was initiated.

                      \n

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                      \n

                      When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

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

                      Creates a copy of an object that is already stored in Amazon S3.

                      \n \n

                      You can store individual objects of up to 5 TB in Amazon S3. You create a copy of your\n object up to 5 GB in size in a single atomic action using this API. However, to copy\n an object greater than 5 GB, you must use the multipart upload Upload Part - Copy API.\n For more information, see Copy Object Using the REST Multipart Upload API.

                      \n
                      \n

                      All copy requests must be authenticated. Additionally, you must have\n read access to the source object and write\n access to the destination bucket. For more information, see REST Authentication. Both the Region\n that you want to copy the object from and the Region that you want to copy the object to\n must be enabled for your account.

                      \n

                      A copy request might return an error when Amazon S3 receives the copy request or while Amazon S3\n is copying the files. If the error occurs before the copy action starts, you receive a\n standard Amazon S3 error. If the error occurs during the copy operation, the error response is\n embedded in the 200 OK response. This means that a 200 OK\n response can contain either a success or an error. Design your application to parse the\n contents of the response and handle it appropriately.

                      \n

                      If the copy is successful, you receive a response with information about the copied\n object.

                      \n \n

                      If the request is an HTTP 1.1 request, the response is chunk encoded. If it were not,\n it would not contain the content-length, and you would need to read the entire\n body.

                      \n
                      \n

                      The copy request charge is based on the storage class and Region that you specify for\n the destination object. For pricing information, see Amazon S3 pricing.

                      \n \n

                      Amazon S3 transfer acceleration does not support cross-Region copies. If you request a\n cross-Region copy using a transfer acceleration endpoint, you get a 400 Bad\n Request error. For more information, see Transfer Acceleration.

                      \n
                      \n

                      \n Metadata\n

                      \n

                      When copying an object, you can preserve all metadata (default) or specify new metadata.\n However, the ACL is not preserved and is set to private for the user making the request. To\n override the default ACL setting, specify a new ACL when generating a copy request. For\n more information, see Using ACLs.

                      \n

                      To specify whether you want the object metadata copied from the source object or\n replaced with metadata provided in the request, you can optionally add the\n x-amz-metadata-directive header. When you grant permissions, you can use\n the s3:x-amz-metadata-directive condition key to enforce certain metadata\n behavior when objects are uploaded. For more information, see Specifying Conditions in a\n Policy in the Amazon S3 User Guide. For a complete list of\n Amazon S3-specific condition keys, see Actions, Resources, and Condition Keys for\n Amazon S3.

                      \n

                      \n \n x-amz-copy-source-if Headers\n

                      \n

                      To only copy an object under certain conditions, such as whether the Etag\n matches or whether the object was modified before or after a specified date, use the\n following request parameters:

                      \n
                        \n
                      • \n

                        \n x-amz-copy-source-if-match\n

                        \n
                      • \n
                      • \n

                        \n x-amz-copy-source-if-none-match\n

                        \n
                      • \n
                      • \n

                        \n x-amz-copy-source-if-unmodified-since\n

                        \n
                      • \n
                      • \n

                        \n x-amz-copy-source-if-modified-since\n

                        \n
                      • \n
                      \n

                      If both the x-amz-copy-source-if-match and\n x-amz-copy-source-if-unmodified-since headers are present in the request\n and evaluate as follows, Amazon S3 returns 200 OK and copies the data:

                      \n
                        \n
                      • \n

                        \n x-amz-copy-source-if-match condition evaluates to true

                        \n
                      • \n
                      • \n

                        \n x-amz-copy-source-if-unmodified-since condition evaluates to\n false

                        \n
                      • \n
                      \n\n

                      If both the x-amz-copy-source-if-none-match and\n x-amz-copy-source-if-modified-since headers are present in the request and\n evaluate as follows, Amazon S3 returns the 412 Precondition Failed response\n code:

                      \n
                        \n
                      • \n

                        \n x-amz-copy-source-if-none-match condition evaluates to false

                        \n
                      • \n
                      • \n

                        \n x-amz-copy-source-if-modified-since condition evaluates to\n true

                        \n
                      • \n
                      \n\n \n

                      All headers with the x-amz- prefix, including\n x-amz-copy-source, must be signed.

                      \n
                      \n

                      \n Server-side encryption\n

                      \n

                      When you perform a CopyObject operation, you can optionally use the appropriate encryption-related \n headers to encrypt the object using server-side encryption with AWS managed encryption keys \n (SSE-S3 or SSE-KMS) or a customer-provided encryption key. With server-side encryption, Amazon S3 \n encrypts your data as it writes it to disks in its data centers and decrypts the data when \n you access it. For more information about server-side encryption, see Using\n Server-Side Encryption.

                      \n

                      If a target object uses SSE-KMS, you can enable an S3 Bucket Key for the object. For more\n information, see Amazon S3 Bucket Keys in the Amazon S3 User Guide.

                      \n

                      \n Access Control List (ACL)-Specific Request\n Headers\n

                      \n

                      When copying an object, you can optionally use headers to grant ACL-based permissions.\n By default, all objects are private. Only the owner has full access control. When adding a\n new object, you can grant permissions to individual AWS accounts or to predefined groups\n defined by Amazon S3. These permissions are then added to the ACL on the object. For more\n information, see Access Control List (ACL) Overview and Managing ACLs Using the REST\n API.

                      \n\n

                      \n Storage Class Options\n

                      \n

                      You can use the CopyObject action to change the storage class of an\n object that is already stored in Amazon S3 using the StorageClass parameter. For\n more information, see Storage\n Classes in the Amazon S3 User Guide.

                      \n

                      \n Versioning\n

                      \n

                      By default, x-amz-copy-source identifies the current version of an object\n to copy. If the current version is a delete marker, Amazon S3 behaves as if the object was\n deleted. To copy a different version, use the versionId subresource.

                      \n

                      If you enable versioning on the target bucket, Amazon S3 generates a unique version ID for\n the object being copied. This version ID is different from the version ID of the source\n object. Amazon S3 returns the version ID of the copied object in the\n x-amz-version-id response header in the response.

                      \n

                      If you do not enable versioning or suspend it on the target bucket, the version ID that\n Amazon S3 generates is always null.

                      \n

                      If the source object's storage class is GLACIER, you must restore a copy of this object\n before you can use it as a source object for the copy operation. For more information, see\n RestoreObject.

                      \n

                      The following operations are related to CopyObject:

                      \n \n

                      For more information, see Copying\n Objects.

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

                      Creates a copy of an object that is already stored in Amazon S3.

                      \n \n

                      You can store individual objects of up to 5 TB in Amazon S3. You create a copy of your\n object up to 5 GB in size in a single atomic action using this API. However, to copy\n an object greater than 5 GB, you must use the multipart upload Upload Part - Copy API.\n For more information, see Copy Object Using the REST Multipart Upload API.

                      \n
                      \n

                      All copy requests must be authenticated. Additionally, you must have\n read access to the source object and write\n access to the destination bucket. For more information, see REST Authentication. Both the Region\n that you want to copy the object from and the Region that you want to copy the object to\n must be enabled for your account.

                      \n

                      A copy request might return an error when Amazon S3 receives the copy request or while Amazon S3\n is copying the files. If the error occurs before the copy action starts, you receive a\n standard Amazon S3 error. If the error occurs during the copy operation, the error response is\n embedded in the 200 OK response. This means that a 200 OK\n response can contain either a success or an error. Design your application to parse the\n contents of the response and handle it appropriately.

                      \n

                      If the copy is successful, you receive a response with information about the copied\n object.

                      \n \n

                      If the request is an HTTP 1.1 request, the response is chunk encoded. If it were not,\n it would not contain the content-length, and you would need to read the entire\n body.

                      \n
                      \n

                      The copy request charge is based on the storage class and Region that you specify for\n the destination object. For pricing information, see Amazon S3 pricing.

                      \n \n

                      Amazon S3 transfer acceleration does not support cross-Region copies. If you request a\n cross-Region copy using a transfer acceleration endpoint, you get a 400 Bad\n Request error. For more information, see Transfer Acceleration.

                      \n
                      \n

                      \n Metadata\n

                      \n

                      When copying an object, you can preserve all metadata (default) or specify new metadata.\n However, the ACL is not preserved and is set to private for the user making the request. To\n override the default ACL setting, specify a new ACL when generating a copy request. For\n more information, see Using ACLs.

                      \n

                      To specify whether you want the object metadata copied from the source object or\n replaced with metadata provided in the request, you can optionally add the\n x-amz-metadata-directive header. When you grant permissions, you can use\n the s3:x-amz-metadata-directive condition key to enforce certain metadata\n behavior when objects are uploaded. For more information, see Specifying Conditions in a\n Policy in the Amazon S3 User Guide. For a complete list of\n Amazon S3-specific condition keys, see Actions, Resources, and Condition Keys for\n Amazon S3.

                      \n

                      \n \n x-amz-copy-source-if Headers\n

                      \n

                      To only copy an object under certain conditions, such as whether the Etag\n matches or whether the object was modified before or after a specified date, use the\n following request parameters:

                      \n
                        \n
                      • \n

                        \n x-amz-copy-source-if-match\n

                        \n
                      • \n
                      • \n

                        \n x-amz-copy-source-if-none-match\n

                        \n
                      • \n
                      • \n

                        \n x-amz-copy-source-if-unmodified-since\n

                        \n
                      • \n
                      • \n

                        \n x-amz-copy-source-if-modified-since\n

                        \n
                      • \n
                      \n

                      If both the x-amz-copy-source-if-match and\n x-amz-copy-source-if-unmodified-since headers are present in the request\n and evaluate as follows, Amazon S3 returns 200 OK and copies the data:

                      \n
                        \n
                      • \n

                        \n x-amz-copy-source-if-match condition evaluates to true

                        \n
                      • \n
                      • \n

                        \n x-amz-copy-source-if-unmodified-since condition evaluates to\n false

                        \n
                      • \n
                      \n\n

                      If both the x-amz-copy-source-if-none-match and\n x-amz-copy-source-if-modified-since headers are present in the request and\n evaluate as follows, Amazon S3 returns the 412 Precondition Failed response\n code:

                      \n
                        \n
                      • \n

                        \n x-amz-copy-source-if-none-match condition evaluates to false

                        \n
                      • \n
                      • \n

                        \n x-amz-copy-source-if-modified-since condition evaluates to\n true

                        \n
                      • \n
                      \n\n \n

                      All headers with the x-amz- prefix, including\n x-amz-copy-source, must be signed.

                      \n
                      \n

                      \n Server-side encryption\n

                      \n

                      When you perform a CopyObject operation, you can optionally use the appropriate encryption-related \n headers to encrypt the object using server-side encryption with Amazon Web Services managed encryption keys \n (SSE-S3 or SSE-KMS) or a customer-provided encryption key. With server-side encryption, Amazon S3 \n encrypts your data as it writes it to disks in its data centers and decrypts the data when \n you access it. For more information about server-side encryption, see Using\n Server-Side Encryption.

                      \n

                      If a target object uses SSE-KMS, you can enable an S3 Bucket Key for the object. For more\n information, see Amazon S3 Bucket Keys in the Amazon S3 User Guide.

                      \n

                      \n Access Control List (ACL)-Specific Request\n Headers\n

                      \n

                      When copying an object, you can optionally use headers to grant ACL-based permissions.\n By default, all objects are private. Only the owner has full access control. When adding a\n new object, you can grant permissions to individual Amazon Web Services accounts or to predefined groups\n defined by Amazon S3. These permissions are then added to the ACL on the object. For more\n information, see Access Control List (ACL) Overview and Managing ACLs Using the REST\n API.

                      \n\n

                      \n Storage Class Options\n

                      \n

                      You can use the CopyObject action to change the storage class of an\n object that is already stored in Amazon S3 using the StorageClass parameter. For\n more information, see Storage\n Classes in the Amazon S3 User Guide.

                      \n

                      \n Versioning\n

                      \n

                      By default, x-amz-copy-source identifies the current version of an object\n to copy. If the current version is a delete marker, Amazon S3 behaves as if the object was\n deleted. To copy a different version, use the versionId subresource.

                      \n

                      If you enable versioning on the target bucket, Amazon S3 generates a unique version ID for\n the object being copied. This version ID is different from the version ID of the source\n object. Amazon S3 returns the version ID of the copied object in the\n x-amz-version-id response header in the response.

                      \n

                      If you do not enable versioning or suspend it on the target bucket, the version ID that\n Amazon S3 generates is always null.

                      \n

                      If the source object's storage class is GLACIER, you must restore a copy of this object\n before you can use it as a source object for the copy operation. For more information, see\n RestoreObject.

                      \n

                      The following operations are related to CopyObject:

                      \n \n

                      For more information, see Copying\n Objects.

                      ", "smithy.api#http": { "method": "PUT", "uri": "/{Bucket}/{Key+}?x-id=CopyObject", @@ -1468,21 +1468,21 @@ "SSEKMSKeyId": { "target": "com.amazonaws.s3#SSEKMSKeyId", "traits": { - "smithy.api#documentation": "

                      If present, specifies the ID of the AWS Key Management Service (AWS KMS) symmetric\n customer managed customer master key (CMK) that was used for the object.

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

                      If present, specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric\n customer managed customer master key (CMK) that was used for the object.

                      ", "smithy.api#httpHeader": "x-amz-server-side-encryption-aws-kms-key-id" } }, "SSEKMSEncryptionContext": { "target": "com.amazonaws.s3#SSEKMSEncryptionContext", "traits": { - "smithy.api#documentation": "

                      If present, specifies the AWS KMS Encryption Context to use for object encryption. The\n value of this header is a base64-encoded UTF-8 string holding JSON with the encryption\n context key-value pairs.

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

                      If present, specifies the Amazon Web Services KMS Encryption Context to use for object encryption. The\n value of this header is a base64-encoded UTF-8 string holding JSON with the encryption\n context key-value pairs.

                      ", "smithy.api#httpHeader": "x-amz-server-side-encryption-context" } }, "BucketKeyEnabled": { "target": "com.amazonaws.s3#BucketKeyEnabled", "traits": { - "smithy.api#documentation": "

                      Indicates whether the copied object uses an S3 Bucket Key for server-side encryption with AWS KMS (SSE-KMS).

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

                      Indicates whether the copied object uses an S3 Bucket Key for server-side encryption with Amazon Web Services KMS (SSE-KMS).

                      ", "smithy.api#httpHeader": "x-amz-server-side-encryption-bucket-key-enabled" } }, @@ -1507,7 +1507,7 @@ "Bucket": { "target": "com.amazonaws.s3#BucketName", "traits": { - "smithy.api#documentation": "

                      The name of the destination bucket.

                      \n

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                      \n

                      When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

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

                      The name of the destination bucket.

                      \n

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                      \n

                      When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                      ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -1550,7 +1550,7 @@ "CopySource": { "target": "com.amazonaws.s3#CopySource", "traits": { - "smithy.api#documentation": "

                      Specifies the source object for the copy operation. You specify the value in one of two\n formats, depending on whether you want to access the source object through an access point:

                      \n
                        \n
                      • \n

                        For objects not accessed through an access point, specify the name of the source\n bucket and the key of the source object, separated by a slash (/). For example, to\n copy the object reports/january.pdf from the bucket\n awsexamplebucket, use\n awsexamplebucket/reports/january.pdf. The value must be URL\n encoded.

                        \n
                      • \n
                      • \n

                        For objects accessed through access points, specify the Amazon Resource Name (ARN) of the object as accessed through the access point, in the format arn:aws:s3:::accesspoint//object/. For example, to copy the object reports/january.pdf through access point my-access-point owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point/object/reports/january.pdf. The value must be URL encoded.

                        \n \n

                        Amazon S3 supports copy operations using access points only when the source and destination buckets are in the same AWS Region.

                        \n
                        \n

                        Alternatively, for objects accessed through Amazon S3 on Outposts, specify the ARN of the object as accessed in the format arn:aws:s3-outposts:::outpost//object/. For example, to copy the object reports/january.pdf 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/object/reports/january.pdf. The value must be URL encoded.

                        \n
                      • \n
                      \n

                      To copy a specific version of an object, append ?versionId=\n to the value (for example,\n awsexamplebucket/reports/january.pdf?versionId=QUpfdndhfd8438MNFDN93jdnJFkdmqnh893).\n If you don't specify a version ID, Amazon S3 copies the latest version of the source\n object.

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

                      Specifies the source object for the copy operation. You specify the value in one of two\n formats, depending on whether you want to access the source object through an access point:

                      \n
                        \n
                      • \n

                        For objects not accessed through an access point, specify the name of the source\n bucket and the key of the source object, separated by a slash (/). For example, to\n copy the object reports/january.pdf from the bucket\n awsexamplebucket, use\n awsexamplebucket/reports/january.pdf. The value must be URL\n encoded.

                        \n
                      • \n
                      • \n

                        For objects accessed through access points, specify the Amazon Resource Name (ARN) of the object as accessed through the access point, in the format arn:aws:s3:::accesspoint//object/. For example, to copy the object reports/january.pdf through access point my-access-point owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point/object/reports/january.pdf. The value must be URL encoded.

                        \n \n

                        Amazon S3 supports copy operations using access points only when the source and destination buckets are in the same Amazon Web Services Region.

                        \n
                        \n

                        Alternatively, for objects accessed through Amazon S3 on Outposts, specify the ARN of the object as accessed in the format arn:aws:s3-outposts:::outpost//object/. For example, to copy the object reports/january.pdf 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/object/reports/january.pdf. The value must be URL encoded.

                        \n
                      • \n
                      \n

                      To copy a specific version of an object, append ?versionId=\n to the value (for example,\n awsexamplebucket/reports/january.pdf?versionId=QUpfdndhfd8438MNFDN93jdnJFkdmqnh893).\n If you don't specify a version ID, Amazon S3 copies the latest version of the source\n object.

                      ", "smithy.api#httpHeader": "x-amz-copy-source", "smithy.api#required": {} } @@ -1692,14 +1692,14 @@ "SSEKMSKeyId": { "target": "com.amazonaws.s3#SSEKMSKeyId", "traits": { - "smithy.api#documentation": "

                      Specifies the AWS KMS key ID to use for object encryption. All GET and PUT requests for\n an object protected by AWS KMS will fail if not made via SSL or using SigV4. For\n information about configuring using any of the officially supported AWS SDKs and AWS CLI,\n see Specifying the\n Signature Version in Request Authentication in the Amazon S3 User Guide.

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

                      Specifies the Amazon Web Services KMS key ID to use for object encryption. All GET and PUT requests for\n an object protected by Amazon Web Services KMS will fail if not made via SSL or using SigV4. For\n information about configuring using any of the officially supported Amazon Web Services SDKs and Amazon Web Services CLI,\n see Specifying the\n Signature Version in Request Authentication in the Amazon S3 User Guide.

                      ", "smithy.api#httpHeader": "x-amz-server-side-encryption-aws-kms-key-id" } }, "SSEKMSEncryptionContext": { "target": "com.amazonaws.s3#SSEKMSEncryptionContext", "traits": { - "smithy.api#documentation": "

                      Specifies the AWS KMS Encryption Context to use for object encryption. The value of this\n header is a base64-encoded UTF-8 string holding JSON with the encryption context key-value\n pairs.

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

                      Specifies the Amazon Web Services KMS Encryption Context to use for object encryption. The value of this\n header is a base64-encoded UTF-8 string holding JSON with the encryption context key-value\n pairs.

                      ", "smithy.api#httpHeader": "x-amz-server-side-encryption-context" } }, @@ -1787,7 +1787,7 @@ "ETag": { "target": "com.amazonaws.s3#ETag", "traits": { - "smithy.api#documentation": "

                      Returns the ETag of the new object. The ETag reflects only changes to the contents of an\n object, not its metadata. The source and destination ETag is identical for a successfully\n copied non-multipart object.

                      " + "smithy.api#documentation": "

                      Returns the ETag of the new object. The ETag reflects only changes to the contents of an object, not its metadata.

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

                      Creates a new S3 bucket. To create a bucket, you must register with Amazon S3 and have a\n valid AWS Access Key ID to authenticate requests. Anonymous requests are never allowed to\n create buckets. By creating the bucket, you become the bucket owner.

                      \n

                      Not every string is an acceptable bucket name. For information about bucket naming\n restrictions, see Bucket naming rules.

                      \n

                      If you want to create an Amazon S3 on Outposts bucket, see Create Bucket.

                      \n

                      By default, the bucket is created in the US East (N. Virginia) Region. You can\n optionally specify a Region in the request body. You might choose a Region to optimize\n latency, minimize costs, or address regulatory requirements. For example, if you reside in\n Europe, you will probably find it advantageous to create buckets in the Europe (Ireland)\n Region. For more information, see Accessing a\n bucket.

                      \n \n

                      If you send your create bucket request to the s3.amazonaws.com endpoint,\n the request goes to the us-east-1 Region. Accordingly, the signature calculations in\n Signature Version 4 must use us-east-1 as the Region, even if the location constraint in\n the request specifies another Region where the bucket is to be created. If you create a\n bucket in a Region other than US East (N. Virginia), your application must be able to\n handle 307 redirect. For more information, see Virtual hosting of buckets.

                      \n
                      \n

                      When creating a bucket using this operation, you can optionally specify the accounts or\n groups that should be granted specific permissions on the bucket. There are two ways to\n grant the appropriate permissions using the request headers.

                      \n
                        \n
                      • \n

                        Specify a canned ACL using the x-amz-acl request header. Amazon S3\n supports a set of predefined ACLs, known as canned ACLs. Each\n canned ACL has a predefined set of grantees and permissions. For more information,\n see Canned ACL.

                        \n
                      • \n
                      • \n

                        Specify access permissions explicitly using the x-amz-grant-read,\n x-amz-grant-write, x-amz-grant-read-acp,\n x-amz-grant-write-acp, and x-amz-grant-full-control\n headers. These headers map to the set of permissions Amazon S3 supports in an ACL. For\n more information, see Access control list\n (ACL) overview.

                        \n

                        You specify each grantee as a type=value pair, where the type is one of the\n following:

                        \n
                          \n
                        • \n

                          \n id – if the value specified is the canonical user ID of an AWS\n account

                          \n
                        • \n
                        • \n

                          \n uri – if you are granting permissions to a predefined\n group

                          \n
                        • \n
                        • \n

                          \n emailAddress – if the value specified is the email address of\n an AWS account

                          \n \n

                          Using email addresses to specify a grantee is only supported in the following AWS Regions:

                          \n
                            \n
                          • \n

                            US East (N. Virginia)

                            \n
                          • \n
                          • \n

                            US West (N. California)

                            \n
                          • \n
                          • \n

                            US West (Oregon)

                            \n
                          • \n
                          • \n

                            Asia Pacific (Singapore)

                            \n
                          • \n
                          • \n

                            Asia Pacific (Sydney)

                            \n
                          • \n
                          • \n

                            Asia Pacific (Tokyo)

                            \n
                          • \n
                          • \n

                            Europe (Ireland)

                            \n
                          • \n
                          • \n

                            South America (São Paulo)

                            \n
                          • \n
                          \n

                          For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the AWS General Reference.

                          \n
                          \n
                        • \n
                        \n

                        For example, the following x-amz-grant-read header grants the AWS accounts identified by account IDs permissions to read object data and its metadata:

                        \n

                        \n x-amz-grant-read: id=\"11112222333\", id=\"444455556666\" \n

                        \n
                      • \n
                      \n \n

                      You can use either a canned ACL or specify access permissions explicitly. You cannot\n do both.

                      \n
                      \n\n\n

                      The following operations are related to CreateBucket:

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

                      Creates a new S3 bucket. To create a bucket, you must register with Amazon S3 and have a\n valid Amazon Web Services Access Key ID to authenticate requests. Anonymous requests are never allowed to\n create buckets. By creating the bucket, you become the bucket owner.

                      \n

                      Not every string is an acceptable bucket name. For information about bucket naming\n restrictions, see Bucket naming rules.

                      \n

                      If you want to create an Amazon S3 on Outposts bucket, see Create Bucket.

                      \n

                      By default, the bucket is created in the US East (N. Virginia) Region. You can\n optionally specify a Region in the request body. You might choose a Region to optimize\n latency, minimize costs, or address regulatory requirements. For example, if you reside in\n Europe, you will probably find it advantageous to create buckets in the Europe (Ireland)\n Region. For more information, see Accessing a\n bucket.

                      \n \n

                      If you send your create bucket request to the s3.amazonaws.com endpoint,\n the request goes to the us-east-1 Region. Accordingly, the signature calculations in\n Signature Version 4 must use us-east-1 as the Region, even if the location constraint in\n the request specifies another Region where the bucket is to be created. If you create a\n bucket in a Region other than US East (N. Virginia), your application must be able to\n handle 307 redirect. For more information, see Virtual hosting of buckets.

                      \n
                      \n

                      When creating a bucket using this operation, you can optionally specify the accounts or\n groups that should be granted specific permissions on the bucket. There are two ways to\n grant the appropriate permissions using the request headers.

                      \n
                        \n
                      • \n

                        Specify a canned ACL using the x-amz-acl request header. Amazon S3\n supports a set of predefined ACLs, known as canned ACLs. Each\n canned ACL has a predefined set of grantees and permissions. For more information,\n see Canned ACL.

                        \n
                      • \n
                      • \n

                        Specify access permissions explicitly using the x-amz-grant-read,\n x-amz-grant-write, x-amz-grant-read-acp,\n x-amz-grant-write-acp, and x-amz-grant-full-control\n headers. These headers map to the set of permissions Amazon S3 supports in an ACL. For\n more information, see Access control list\n (ACL) overview.

                        \n

                        You specify each grantee as a type=value pair, where the type is one of the\n following:

                        \n
                          \n
                        • \n

                          \n id – if the value specified is the canonical user ID of an Amazon Web Services account

                          \n
                        • \n
                        • \n

                          \n uri – if you are granting permissions to a predefined\n group

                          \n
                        • \n
                        • \n

                          \n emailAddress – if the value specified is the email address of\n an Amazon Web Services account

                          \n \n

                          Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions:

                          \n
                            \n
                          • \n

                            US East (N. Virginia)

                            \n
                          • \n
                          • \n

                            US West (N. California)

                            \n
                          • \n
                          • \n

                            US West (Oregon)

                            \n
                          • \n
                          • \n

                            Asia Pacific (Singapore)

                            \n
                          • \n
                          • \n

                            Asia Pacific (Sydney)

                            \n
                          • \n
                          • \n

                            Asia Pacific (Tokyo)

                            \n
                          • \n
                          • \n

                            Europe (Ireland)

                            \n
                          • \n
                          • \n

                            South America (São Paulo)

                            \n
                          • \n
                          \n

                          For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the Amazon Web Services General Reference.

                          \n
                          \n
                        • \n
                        \n

                        For example, the following x-amz-grant-read header grants the Amazon Web Services accounts identified by account IDs permissions to read object data and its metadata:

                        \n

                        \n x-amz-grant-read: id=\"11112222333\", id=\"444455556666\" \n

                        \n
                      • \n
                      \n \n

                      You can use either a canned ACL or specify access permissions explicitly. You cannot\n do both.

                      \n
                      \n\n

                      \n Permissions\n

                      \n

                      If your CreateBucket request specifies ACL permissions and the ACL is public-read, public-read-write, \n authenticated-read, or if you specify access permissions explicitly through any other ACL, both \n s3:CreateBucket and s3:PutBucketAcl permissions are needed. If the ACL the \n CreateBucket request is private, only s3:CreateBucket permission is needed.

                      \n

                      If ObjectLockEnabledForBucket is set to true in your CreateBucket request, \n s3:PutBucketObjectLockConfiguration and s3:PutBucketVersioning permissions are required.

                      \n\n

                      The following operations are related to CreateBucket:

                      \n ", "smithy.api#http": { "method": "PUT", "uri": "/{Bucket}", @@ -1987,7 +1987,7 @@ "target": "com.amazonaws.s3#CreateMultipartUploadOutput" }, "traits": { - "smithy.api#documentation": "

                      This action initiates a multipart upload and returns an upload ID. This upload ID is\n used to associate all of the parts in the specific multipart upload. You specify this\n upload ID in each of your subsequent upload part requests (see UploadPart). You also include this\n upload ID in the final request to either complete or abort the multipart upload\n request.

                      \n\n

                      For more information about multipart uploads, see Multipart Upload Overview.

                      \n\n

                      If you have configured a lifecycle rule to abort incomplete multipart uploads, the\n upload must complete within the number of days specified in the bucket lifecycle\n configuration. Otherwise, the incomplete multipart upload becomes eligible for an abort\n action and Amazon S3 aborts the multipart upload. For more information, see Aborting\n Incomplete Multipart Uploads Using a Bucket Lifecycle Policy.

                      \n\n

                      For information about the permissions required to use the multipart upload API, see\n Multipart Upload and\n Permissions.

                      \n\n

                      For request signing, multipart upload is just a series of regular requests. You initiate\n a multipart upload, send one or more requests to upload parts, and then complete the\n multipart upload process. You sign each request individually. There is nothing special\n about signing multipart upload requests. For more information about signing, see Authenticating\n Requests (AWS Signature Version 4).

                      \n\n \n

                      After you initiate a multipart upload and upload one or more parts, to stop being\n charged for storing the uploaded parts, you must either complete or abort the multipart\n upload. Amazon S3 frees up the space used to store the parts and stop charging you for\n storing them only after you either complete or abort a multipart upload.

                      \n
                      \n\n

                      You can optionally request server-side encryption. For server-side encryption, Amazon S3\n encrypts your data as it writes it to disks in its data centers and decrypts it when you\n access it. You can provide your own encryption key, or use AWS Key Management Service (AWS\n KMS) customer master keys (CMKs) or Amazon S3-managed encryption keys. If you choose to provide\n your own encryption key, the request headers you provide in UploadPart and UploadPartCopy requests must match the headers you used in the request to\n initiate the upload by using CreateMultipartUpload.

                      \n

                      To perform a multipart upload with encryption using an AWS KMS CMK, the requester must\n have permission to the kms:Decrypt and kms:GenerateDataKey*\n actions on the key. These permissions are required because Amazon S3 must decrypt and read data\n from the encrypted file parts before it completes the multipart upload. For more\n information, see Multipart upload API\n and permissions in the Amazon S3 User Guide.

                      \n\n

                      If your AWS Identity and Access Management (IAM) user or role is in the same AWS account\n as the AWS KMS CMK, then you must have these permissions on the key policy. If your IAM\n user or role belongs to a different account than the key, then you must have the\n permissions on both the key policy and your IAM user or role.

                      \n\n\n

                      For more information, see Protecting\n Data Using Server-Side Encryption.

                      \n\n
                      \n
                      Access Permissions
                      \n
                      \n

                      When copying an object, you can optionally specify the accounts or groups that\n should be granted specific permissions on the new object. There are two ways to\n grant the permissions using the request headers:

                      \n
                        \n
                      • \n

                        Specify a canned ACL with the x-amz-acl request header. For\n more information, see Canned ACL.

                        \n
                      • \n
                      • \n

                        Specify access permissions explicitly with the\n x-amz-grant-read, x-amz-grant-read-acp,\n x-amz-grant-write-acp, and\n x-amz-grant-full-control headers. These parameters map to\n the set of permissions that Amazon S3 supports in an ACL. For more information,\n see Access Control List (ACL)\n Overview.

                        \n
                      • \n
                      \n

                      You can use either a canned ACL or specify access permissions explicitly. You\n cannot do both.

                      \n
                      \n
                      Server-Side- Encryption-Specific Request Headers
                      \n
                      \n

                      You can optionally tell Amazon S3 to encrypt data at rest using server-side\n encryption. Server-side encryption is for data encryption at rest. Amazon S3 encrypts\n your data as it writes it to disks in its data centers and decrypts it when you\n access it. The option you use depends on whether you want to use AWS managed\n encryption keys or provide your own encryption key.

                      \n
                        \n
                      • \n

                        Use encryption keys managed by Amazon S3 or customer master keys (CMKs) stored\n in AWS Key Management Service (AWS KMS) – If you want AWS to manage the keys\n used to encrypt data, specify the following headers in the request.

                        \n
                          \n
                        • \n

                          x-amz-server-side-encryption

                          \n
                        • \n
                        • \n

                          x-amz-server-side-encryption-aws-kms-key-id

                          \n
                        • \n
                        • \n

                          x-amz-server-side-encryption-context

                          \n
                        • \n
                        \n \n

                        If you specify x-amz-server-side-encryption:aws:kms, but\n don't provide x-amz-server-side-encryption-aws-kms-key-id,\n Amazon S3 uses the AWS managed CMK in AWS KMS to protect the data.

                        \n
                        \n \n

                        All GET and PUT requests for an object protected by AWS KMS fail if\n you don't make them with SSL or by using SigV4.

                        \n
                        \n

                        For more information about server-side encryption with CMKs stored in AWS\n KMS (SSE-KMS), see Protecting Data Using Server-Side Encryption with CMKs stored in AWS\n KMS.

                        \n
                      • \n
                      • \n

                        Use customer-provided encryption keys – If you want to manage your own\n encryption keys, provide all the following headers in the request.

                        \n
                          \n
                        • \n

                          x-amz-server-side-encryption-customer-algorithm

                          \n
                        • \n
                        • \n

                          x-amz-server-side-encryption-customer-key

                          \n
                        • \n
                        • \n

                          x-amz-server-side-encryption-customer-key-MD5

                          \n
                        • \n
                        \n

                        For more information about server-side encryption with CMKs stored in AWS\n KMS (SSE-KMS), see Protecting Data Using Server-Side Encryption with CMKs stored in AWS\n KMS.

                        \n
                      • \n
                      \n
                      \n
                      Access-Control-List (ACL)-Specific Request Headers
                      \n
                      \n

                      You also can use the following access control–related headers with this\n operation. By default, all objects are private. Only the owner has full access\n control. When adding a new object, you can grant permissions to individual AWS\n accounts or to predefined groups defined by Amazon S3. These permissions are then added\n to the access control list (ACL) on the object. For more information, see Using ACLs. With this\n operation, you can grant access permissions using one of the following two\n methods:

                      \n
                        \n
                      • \n

                        Specify a canned ACL (x-amz-acl) — Amazon S3 supports a set of\n predefined ACLs, known as canned ACLs. Each canned ACL\n has a predefined set of grantees and permissions. For more information, see\n Canned\n ACL.

                        \n
                      • \n
                      • \n

                        Specify access permissions explicitly — To explicitly grant access\n permissions to specific AWS accounts or groups, use the following headers.\n Each header maps to specific permissions that Amazon S3 supports in an ACL. For\n more information, see Access\n Control List (ACL) Overview. In the header, you specify a list of\n grantees who get the specific permission. To grant permissions explicitly,\n use:

                        \n
                          \n
                        • \n

                          x-amz-grant-read

                          \n
                        • \n
                        • \n

                          x-amz-grant-write

                          \n
                        • \n
                        • \n

                          x-amz-grant-read-acp

                          \n
                        • \n
                        • \n

                          x-amz-grant-write-acp

                          \n
                        • \n
                        • \n

                          x-amz-grant-full-control

                          \n
                        • \n
                        \n

                        You specify each grantee as a type=value pair, where the type is one of\n the following:

                        \n
                          \n
                        • \n

                          \n id – if the value specified is the canonical user ID\n of an AWS account

                          \n
                        • \n
                        • \n

                          \n uri – if you are granting permissions to a predefined\n group

                          \n
                        • \n
                        • \n

                          \n emailAddress – if the value specified is the email\n address of an AWS account

                          \n \n

                          Using email addresses to specify a grantee is only supported in the following AWS Regions:

                          \n
                            \n
                          • \n

                            US East (N. Virginia)

                            \n
                          • \n
                          • \n

                            US West (N. California)

                            \n
                          • \n
                          • \n

                            US West (Oregon)

                            \n
                          • \n
                          • \n

                            Asia Pacific (Singapore)

                            \n
                          • \n
                          • \n

                            Asia Pacific (Sydney)

                            \n
                          • \n
                          • \n

                            Asia Pacific (Tokyo)

                            \n
                          • \n
                          • \n

                            Europe (Ireland)

                            \n
                          • \n
                          • \n

                            South America (São Paulo)

                            \n
                          • \n
                          \n

                          For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the AWS General Reference.

                          \n
                          \n
                        • \n
                        \n

                        For example, the following x-amz-grant-read header grants the AWS accounts identified by account IDs permissions to read object data and its metadata:

                        \n

                        \n x-amz-grant-read: id=\"11112222333\", id=\"444455556666\" \n

                        \n
                      • \n
                      \n\n
                      \n
                      \n\n

                      The following operations are related to CreateMultipartUpload:

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

                      This action initiates a multipart upload and returns an upload ID. This upload ID is\n used to associate all of the parts in the specific multipart upload. You specify this\n upload ID in each of your subsequent upload part requests (see UploadPart). You also include this\n upload ID in the final request to either complete or abort the multipart upload\n request.

                      \n\n

                      For more information about multipart uploads, see Multipart Upload Overview.

                      \n\n

                      If you have configured a lifecycle rule to abort incomplete multipart uploads, the\n upload must complete within the number of days specified in the bucket lifecycle\n configuration. Otherwise, the incomplete multipart upload becomes eligible for an abort\n action and Amazon S3 aborts the multipart upload. For more information, see Aborting\n Incomplete Multipart Uploads Using a Bucket Lifecycle Policy.

                      \n\n

                      For information about the permissions required to use the multipart upload API, see\n Multipart Upload and\n Permissions.

                      \n\n

                      For request signing, multipart upload is just a series of regular requests. You initiate\n a multipart upload, send one or more requests to upload parts, and then complete the\n multipart upload process. You sign each request individually. There is nothing special\n about signing multipart upload requests. For more information about signing, see Authenticating\n Requests (Amazon Web Services Signature Version 4).

                      \n\n \n

                      After you initiate a multipart upload and upload one or more parts, to stop being\n charged for storing the uploaded parts, you must either complete or abort the multipart\n upload. Amazon S3 frees up the space used to store the parts and stop charging you for\n storing them only after you either complete or abort a multipart upload.

                      \n
                      \n\n

                      You can optionally request server-side encryption. For server-side encryption, Amazon S3\n encrypts your data as it writes it to disks in its data centers and decrypts it when you\n access it. You can provide your own encryption key, or use Amazon Web Services Key Management Service (Amazon Web Services\n KMS) customer master keys (CMKs) or Amazon S3-managed encryption keys. If you choose to provide\n your own encryption key, the request headers you provide in UploadPart and UploadPartCopy requests must match the headers you used in the request to\n initiate the upload by using CreateMultipartUpload.

                      \n

                      To perform a multipart upload with encryption using an Amazon Web Services KMS CMK, the requester must\n have permission to the kms:Decrypt and kms:GenerateDataKey*\n actions on the key. These permissions are required because Amazon S3 must decrypt and read data\n from the encrypted file parts before it completes the multipart upload. For more\n information, see Multipart upload API\n and permissions in the Amazon S3 User Guide.

                      \n\n

                      If your Identity and Access Management (IAM) user or role is in the same Amazon Web Services account\n as the Amazon Web Services KMS CMK, then you must have these permissions on the key policy. If your IAM\n user or role belongs to a different account than the key, then you must have the\n permissions on both the key policy and your IAM user or role.

                      \n\n\n

                      For more information, see Protecting\n Data Using Server-Side Encryption.

                      \n\n
                      \n
                      Access Permissions
                      \n
                      \n

                      When copying an object, you can optionally specify the accounts or groups that\n should be granted specific permissions on the new object. There are two ways to\n grant the permissions using the request headers:

                      \n
                        \n
                      • \n

                        Specify a canned ACL with the x-amz-acl request header. For\n more information, see Canned ACL.

                        \n
                      • \n
                      • \n

                        Specify access permissions explicitly with the\n x-amz-grant-read, x-amz-grant-read-acp,\n x-amz-grant-write-acp, and\n x-amz-grant-full-control headers. These parameters map to\n the set of permissions that Amazon S3 supports in an ACL. For more information,\n see Access Control List (ACL)\n Overview.

                        \n
                      • \n
                      \n

                      You can use either a canned ACL or specify access permissions explicitly. You\n cannot do both.

                      \n
                      \n
                      Server-Side- Encryption-Specific Request Headers
                      \n
                      \n

                      You can optionally tell Amazon S3 to encrypt data at rest using server-side\n encryption. Server-side encryption is for data encryption at rest. Amazon S3 encrypts\n your data as it writes it to disks in its data centers and decrypts it when you\n access it. The option you use depends on whether you want to use Amazon Web Services managed\n encryption keys or provide your own encryption key.

                      \n
                        \n
                      • \n

                        Use encryption keys managed by Amazon S3 or customer master keys (CMKs) stored\n in Amazon Web Services Key Management Service (Amazon Web Services KMS) – If you want Amazon Web Services to manage the keys\n used to encrypt data, specify the following headers in the request.

                        \n
                          \n
                        • \n

                          x-amz-server-side-encryption

                          \n
                        • \n
                        • \n

                          x-amz-server-side-encryption-aws-kms-key-id

                          \n
                        • \n
                        • \n

                          x-amz-server-side-encryption-context

                          \n
                        • \n
                        \n \n

                        If you specify x-amz-server-side-encryption:aws:kms, but\n don't provide x-amz-server-side-encryption-aws-kms-key-id,\n Amazon S3 uses the Amazon Web Services managed CMK in Amazon Web Services KMS to protect the data.

                        \n
                        \n \n

                        All GET and PUT requests for an object protected by Amazon Web Services KMS fail if\n you don't make them with SSL or by using SigV4.

                        \n
                        \n

                        For more information about server-side encryption with CMKs stored in Amazon Web Services\n KMS (SSE-KMS), see Protecting Data Using Server-Side Encryption with CMKs stored in Amazon Web Services\n KMS.

                        \n
                      • \n
                      • \n

                        Use customer-provided encryption keys – If you want to manage your own\n encryption keys, provide all the following headers in the request.

                        \n
                          \n
                        • \n

                          x-amz-server-side-encryption-customer-algorithm

                          \n
                        • \n
                        • \n

                          x-amz-server-side-encryption-customer-key

                          \n
                        • \n
                        • \n

                          x-amz-server-side-encryption-customer-key-MD5

                          \n
                        • \n
                        \n

                        For more information about server-side encryption with CMKs stored in Amazon Web Services\n KMS (SSE-KMS), see Protecting Data Using Server-Side Encryption with CMKs stored in Amazon Web Services\n KMS.

                        \n
                      • \n
                      \n
                      \n
                      Access-Control-List (ACL)-Specific Request Headers
                      \n
                      \n

                      You also can use the following access control–related headers with this\n operation. By default, all objects are private. Only the owner has full access\n control. When adding a new object, you can grant permissions to individual Amazon Web Services accounts or to predefined groups defined by Amazon S3. These permissions are then added\n to the access control list (ACL) on the object. For more information, see Using ACLs. With this\n operation, you can grant access permissions using one of the following two\n methods:

                      \n
                        \n
                      • \n

                        Specify a canned ACL (x-amz-acl) — Amazon S3 supports a set of\n predefined ACLs, known as canned ACLs. Each canned ACL\n has a predefined set of grantees and permissions. For more information, see\n Canned\n ACL.

                        \n
                      • \n
                      • \n

                        Specify access permissions explicitly — To explicitly grant access\n permissions to specific Amazon Web Services accounts or groups, use the following headers.\n Each header maps to specific permissions that Amazon S3 supports in an ACL. For\n more information, see Access\n Control List (ACL) Overview. In the header, you specify a list of\n grantees who get the specific permission. To grant permissions explicitly,\n use:

                        \n
                          \n
                        • \n

                          x-amz-grant-read

                          \n
                        • \n
                        • \n

                          x-amz-grant-write

                          \n
                        • \n
                        • \n

                          x-amz-grant-read-acp

                          \n
                        • \n
                        • \n

                          x-amz-grant-write-acp

                          \n
                        • \n
                        • \n

                          x-amz-grant-full-control

                          \n
                        • \n
                        \n

                        You specify each grantee as a type=value pair, where the type is one of\n the following:

                        \n
                          \n
                        • \n

                          \n id – if the value specified is the canonical user ID\n of an Amazon Web Services account

                          \n
                        • \n
                        • \n

                          \n uri – if you are granting permissions to a predefined\n group

                          \n
                        • \n
                        • \n

                          \n emailAddress – if the value specified is the email\n address of an Amazon Web Services account

                          \n \n

                          Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions:

                          \n
                            \n
                          • \n

                            US East (N. Virginia)

                            \n
                          • \n
                          • \n

                            US West (N. California)

                            \n
                          • \n
                          • \n

                            US West (Oregon)

                            \n
                          • \n
                          • \n

                            Asia Pacific (Singapore)

                            \n
                          • \n
                          • \n

                            Asia Pacific (Sydney)

                            \n
                          • \n
                          • \n

                            Asia Pacific (Tokyo)

                            \n
                          • \n
                          • \n

                            Europe (Ireland)

                            \n
                          • \n
                          • \n

                            South America (São Paulo)

                            \n
                          • \n
                          \n

                          For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the Amazon Web Services General Reference.

                          \n
                          \n
                        • \n
                        \n

                        For example, the following x-amz-grant-read header grants the Amazon Web Services accounts identified by account IDs permissions to read object data and its metadata:

                        \n

                        \n x-amz-grant-read: id=\"11112222333\", id=\"444455556666\" \n

                        \n
                      • \n
                      \n\n
                      \n
                      \n\n

                      The following operations are related to CreateMultipartUpload:

                      \n ", "smithy.api#http": { "method": "POST", "uri": "/{Bucket}/{Key+}?uploads&x-id=CreateMultipartUpload", @@ -2015,7 +2015,7 @@ "Bucket": { "target": "com.amazonaws.s3#BucketName", "traits": { - "smithy.api#documentation": "

                      The name of the bucket to which the multipart upload was initiated.

                      \n

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                      \n

                      When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

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

                      The name of the bucket to which the multipart upload was initiated. Does not return the access point ARN or access point alias if used.

                      \n

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                      \n

                      When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                      ", "smithy.api#xmlName": "Bucket" } }, @@ -2055,21 +2055,21 @@ "SSEKMSKeyId": { "target": "com.amazonaws.s3#SSEKMSKeyId", "traits": { - "smithy.api#documentation": "

                      If present, specifies the ID of the AWS Key Management Service (AWS KMS) symmetric\n customer managed customer master key (CMK) that was used for the object.

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

                      If present, specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric\n customer managed customer master key (CMK) that was used for the object.

                      ", "smithy.api#httpHeader": "x-amz-server-side-encryption-aws-kms-key-id" } }, "SSEKMSEncryptionContext": { "target": "com.amazonaws.s3#SSEKMSEncryptionContext", "traits": { - "smithy.api#documentation": "

                      If present, specifies the AWS KMS Encryption Context to use for object encryption. The\n value of this header is a base64-encoded UTF-8 string holding JSON with the encryption\n context key-value pairs.

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

                      If present, specifies the Amazon Web Services KMS Encryption Context to use for object encryption. The\n value of this header is a base64-encoded UTF-8 string holding JSON with the encryption\n context key-value pairs.

                      ", "smithy.api#httpHeader": "x-amz-server-side-encryption-context" } }, "BucketKeyEnabled": { "target": "com.amazonaws.s3#BucketKeyEnabled", "traits": { - "smithy.api#documentation": "

                      Indicates whether the multipart upload uses an S3 Bucket Key for server-side encryption with AWS KMS (SSE-KMS).

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

                      Indicates whether the multipart upload uses an S3 Bucket Key for server-side encryption with Amazon Web Services KMS (SSE-KMS).

                      ", "smithy.api#httpHeader": "x-amz-server-side-encryption-bucket-key-enabled" } }, @@ -2097,7 +2097,7 @@ "Bucket": { "target": "com.amazonaws.s3#BucketName", "traits": { - "smithy.api#documentation": "

                      The name of the bucket to which to initiate the upload

                      \n

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                      \n

                      When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

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

                      The name of the bucket to which to initiate the upload

                      \n

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                      \n

                      When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                      ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -2232,14 +2232,14 @@ "SSEKMSKeyId": { "target": "com.amazonaws.s3#SSEKMSKeyId", "traits": { - "smithy.api#documentation": "

                      Specifies the ID of the symmetric customer managed AWS KMS CMK to use for object\n encryption. All GET and PUT requests for an object protected by AWS KMS will fail if not\n made via SSL or using SigV4. For information about configuring using any of the officially\n supported AWS SDKs and AWS CLI, see Specifying the Signature Version in Request Authentication\n in the Amazon S3 User Guide.

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

                      Specifies the ID of the symmetric customer managed Amazon Web Services KMS CMK to use for object\n encryption. All GET and PUT requests for an object protected by Amazon Web Services KMS will fail if not\n made via SSL or using SigV4. For information about configuring using any of the officially\n supported Amazon Web Services SDKs and Amazon Web Services CLI, see Specifying the Signature Version in Request Authentication\n in the Amazon S3 User Guide.

                      ", "smithy.api#httpHeader": "x-amz-server-side-encryption-aws-kms-key-id" } }, "SSEKMSEncryptionContext": { "target": "com.amazonaws.s3#SSEKMSEncryptionContext", "traits": { - "smithy.api#documentation": "

                      Specifies the AWS KMS Encryption Context to use for object encryption. The value of this\n header is a base64-encoded UTF-8 string holding JSON with the encryption context key-value\n pairs.

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

                      Specifies the Amazon Web Services KMS Encryption Context to use for object encryption. The value of this\n header is a base64-encoded UTF-8 string holding JSON with the encryption context key-value\n pairs.

                      ", "smithy.api#httpHeader": "x-amz-server-side-encryption-context" } }, @@ -2674,7 +2674,7 @@ "target": "com.amazonaws.s3#DeleteBucketPolicyRequest" }, "traits": { - "smithy.api#documentation": "

                      This implementation of the DELETE action uses the policy subresource to delete the\n policy of a specified bucket. If you are using an identity other than the root user of the\n AWS account that owns the bucket, the calling identity must have the\n DeleteBucketPolicy permissions on the specified bucket and belong to the\n bucket owner's account to use this operation.

                      \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

                      As a security precaution, the root user of the AWS account that owns a bucket can\n always use this operation, even if the policy explicitly denies the root user the\n ability to perform this action.

                      \n
                      \n\n

                      For more information about bucket policies, see Using Bucket Policies and\n UserPolicies.

                      \n

                      The following operations are related to DeleteBucketPolicy\n

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

                      This implementation of the DELETE action uses the policy subresource to delete the\n policy of a specified bucket. If you are using an identity other than the root user of the\n Amazon Web Services account that owns the bucket, the calling identity must have the\n DeleteBucketPolicy permissions on the specified bucket and belong to the\n bucket owner's account to use this operation.

                      \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

                      As a security precaution, the root user of the Amazon Web Services account that owns a bucket can\n always use this operation, even if the policy explicitly denies the root user the\n ability to perform this action.

                      \n
                      \n\n

                      For more information about bucket policies, see Using Bucket Policies and\n UserPolicies.

                      \n

                      The following operations are related to DeleteBucketPolicy\n

                      \n ", "smithy.api#http": { "method": "DELETE", "uri": "/{Bucket}?policy", @@ -2951,7 +2951,7 @@ "Bucket": { "target": "com.amazonaws.s3#BucketName", "traits": { - "smithy.api#documentation": "

                      The bucket name of the bucket containing the object.

                      \n

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                      \n

                      When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

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

                      The bucket name of the bucket containing the object.

                      \n

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                      \n

                      When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                      ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -3035,7 +3035,7 @@ "Bucket": { "target": "com.amazonaws.s3#BucketName", "traits": { - "smithy.api#documentation": "

                      The bucket name containing the objects from which to remove the tags.

                      \n

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                      \n

                      When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

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

                      The bucket name containing the objects from which to remove the tags.

                      \n

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                      \n

                      When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                      ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -3117,7 +3117,7 @@ "Bucket": { "target": "com.amazonaws.s3#BucketName", "traits": { - "smithy.api#documentation": "

                      The bucket name containing the objects to delete.

                      \n

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                      \n

                      When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

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

                      The bucket name containing the objects to delete.

                      \n

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                      \n

                      When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                      ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -3251,7 +3251,7 @@ "Account": { "target": "com.amazonaws.s3#AccountId", "traits": { - "smithy.api#documentation": "

                      Destination bucket owner account ID. In a cross-account scenario, if you direct Amazon S3 to\n change replica ownership to the AWS account that owns the destination bucket by specifying\n the AccessControlTranslation property, this is the account ID of the\n destination bucket owner. For more information, see Replication Additional\n Configuration: Changing the Replica Owner in the Amazon S3 User Guide.

                      " + "smithy.api#documentation": "

                      Destination bucket owner account ID. In a cross-account scenario, if you direct Amazon S3 to\n change replica ownership to the Amazon Web Services account that owns the destination bucket by specifying\n the AccessControlTranslation property, this is the account ID of the\n destination bucket owner. For more information, see Replication Additional\n Configuration: Changing the Replica Owner in the Amazon S3 User Guide.

                      " } }, "StorageClass": { @@ -3263,7 +3263,7 @@ "AccessControlTranslation": { "target": "com.amazonaws.s3#AccessControlTranslation", "traits": { - "smithy.api#documentation": "

                      Specify this only in a cross-account scenario (where source and destination bucket\n owners are not the same), and you want to change replica ownership to the AWS account that\n owns the destination bucket. If this is not specified in the replication configuration, the\n replicas are owned by same AWS account that owns the source object.

                      " + "smithy.api#documentation": "

                      Specify this only in a cross-account scenario (where source and destination bucket\n owners are not the same), and you want to change replica ownership to the Amazon Web Services account that\n owns the destination bucket. If this is not specified in the replication configuration, the\n replicas are owned by same Amazon Web Services account that owns the source object.

                      " } }, "EncryptionConfiguration": { @@ -3326,7 +3326,7 @@ "KMSKeyId": { "target": "com.amazonaws.s3#SSEKMSKeyId", "traits": { - "smithy.api#documentation": "

                      If the encryption type is aws:kms, this optional value specifies the ID of\n the symmetric customer managed AWS KMS CMK to use for encryption of job results. Amazon S3 only\n supports symmetric CMKs. For more information, see Using symmetric and\n asymmetric keys in the AWS Key Management Service Developer Guide.

                      " + "smithy.api#documentation": "

                      If the encryption type is aws:kms, this optional value specifies the ID of\n the symmetric customer managed Amazon Web Services KMS CMK to use for encryption of job results. Amazon S3 only\n supports symmetric CMKs. For more information, see Using symmetric and\n asymmetric keys in the Amazon Web Services Key Management Service Developer Guide.

                      " } }, "KMSContext": { @@ -3346,7 +3346,7 @@ "ReplicaKmsKeyID": { "target": "com.amazonaws.s3#ReplicaKmsKeyID", "traits": { - "smithy.api#documentation": "

                      Specifies the ID (Key ARN or Alias ARN) of the customer managed AWS KMS key\n stored in AWS Key Management Service (KMS) for the destination bucket. Amazon S3 uses\n this key to encrypt replica objects. Amazon S3 only supports symmetric, customer managed KMS keys.\n For more information, see Using symmetric and\n asymmetric keys in the AWS Key Management Service Developer Guide.

                      " + "smithy.api#documentation": "

                      Specifies the ID (Key ARN or Alias ARN) of the customer managed Amazon Web Services KMS key\n stored in Amazon Web Services Key Management Service (KMS) for the destination bucket. Amazon S3 uses\n this key to encrypt replica objects. Amazon S3 only supports symmetric, customer managed KMS keys.\n For more information, see Using symmetric and\n asymmetric keys in the Amazon Web Services Key Management Service Developer Guide.

                      " } } }, @@ -3382,7 +3382,7 @@ "Code": { "target": "com.amazonaws.s3#Code", "traits": { - "smithy.api#documentation": "

                      The error code is a string that uniquely identifies an error condition. It is meant to\n be read and understood by programs that detect and handle errors by type.

                      \n

                      \n Amazon S3 error codes\n

                      \n
                        \n
                      • \n
                          \n
                        • \n

                          \n Code: AccessDenied

                          \n
                        • \n
                        • \n

                          \n Description: Access Denied

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 403 Forbidden

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: AccountProblem

                          \n
                        • \n
                        • \n

                          \n Description: There is a problem with your AWS account\n that prevents the action from completing successfully. Contact AWS Support\n for further assistance.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 403 Forbidden

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: AllAccessDisabled

                          \n
                        • \n
                        • \n

                          \n Description: All access to this Amazon S3 resource has been\n disabled. Contact AWS Support for further assistance.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 403 Forbidden

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: AmbiguousGrantByEmailAddress

                          \n
                        • \n
                        • \n

                          \n Description: The email address you provided is\n associated with more than one account.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: AuthorizationHeaderMalformed

                          \n
                        • \n
                        • \n

                          \n Description: The authorization header you provided is\n invalid.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: N/A

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: BadDigest

                          \n
                        • \n
                        • \n

                          \n Description: The Content-MD5 you specified did not\n match what we received.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: BucketAlreadyExists

                          \n
                        • \n
                        • \n

                          \n Description: The requested bucket name is not\n available. The bucket namespace is shared by all users of the system. Please\n select a different name and try again.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 409 Conflict

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: BucketAlreadyOwnedByYou

                          \n
                        • \n
                        • \n

                          \n Description: The bucket you tried to create already\n exists, and you own it. Amazon S3 returns this error in all AWS Regions except in\n the North Virginia Region. For legacy compatibility, if you re-create an\n existing bucket that you already own in the North Virginia Region, Amazon S3 returns\n 200 OK and resets the bucket access control lists (ACLs).

                          \n
                        • \n
                        • \n

                          \n Code: 409 Conflict (in all Regions except the North\n Virginia Region)

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: BucketNotEmpty

                          \n
                        • \n
                        • \n

                          \n Description: The bucket you tried to delete is not\n empty.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 409 Conflict

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: CredentialsNotSupported

                          \n
                        • \n
                        • \n

                          \n Description: This request does not support\n credentials.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: CrossLocationLoggingProhibited

                          \n
                        • \n
                        • \n

                          \n Description: Cross-location logging not allowed.\n Buckets in one geographic location cannot log information to a bucket in\n another location.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 403 Forbidden

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: EntityTooSmall

                          \n
                        • \n
                        • \n

                          \n Description: Your proposed upload is smaller than the\n minimum allowed object size.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: EntityTooLarge

                          \n
                        • \n
                        • \n

                          \n Description: Your proposed upload exceeds the maximum\n allowed object size.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: ExpiredToken

                          \n
                        • \n
                        • \n

                          \n Description: The provided token has expired.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: IllegalVersioningConfigurationException

                          \n
                        • \n
                        • \n

                          \n Description: Indicates that the versioning\n configuration specified in the request is invalid.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: IncompleteBody

                          \n
                        • \n
                        • \n

                          \n Description: You did not provide the number of bytes\n specified by the Content-Length HTTP header

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: IncorrectNumberOfFilesInPostRequest

                          \n
                        • \n
                        • \n

                          \n Description: POST requires exactly one file upload per\n request.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: InlineDataTooLarge

                          \n
                        • \n
                        • \n

                          \n Description: Inline data exceeds the maximum allowed\n size.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: InternalError

                          \n
                        • \n
                        • \n

                          \n Description: We encountered an internal error. Please\n try again.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 500 Internal Server Error

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Server

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: InvalidAccessKeyId

                          \n
                        • \n
                        • \n

                          \n Description: The AWS access key ID you provided does\n not exist in our records.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 403 Forbidden

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: InvalidAddressingHeader

                          \n
                        • \n
                        • \n

                          \n Description: You must specify the Anonymous\n role.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: N/A

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: InvalidArgument

                          \n
                        • \n
                        • \n

                          \n Description: Invalid Argument

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: InvalidBucketName

                          \n
                        • \n
                        • \n

                          \n Description: The specified bucket is not valid.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: InvalidBucketState

                          \n
                        • \n
                        • \n

                          \n Description: The request is not valid with the current\n state of the bucket.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 409 Conflict

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: InvalidDigest

                          \n
                        • \n
                        • \n

                          \n Description: The Content-MD5 you specified is not\n valid.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: InvalidEncryptionAlgorithmError

                          \n
                        • \n
                        • \n

                          \n Description: The encryption request you specified is\n not valid. The valid value is AES256.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: InvalidLocationConstraint

                          \n
                        • \n
                        • \n

                          \n Description: The specified location constraint is not\n valid. For more information about Regions, see How to Select a\n Region for Your Buckets.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: InvalidObjectState

                          \n
                        • \n
                        • \n

                          \n Description: The action is not valid for the current\n state of the object.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 403 Forbidden

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: InvalidPart

                          \n
                        • \n
                        • \n

                          \n Description: One or more of the specified parts could\n not be found. The part might not have been uploaded, or the specified entity\n tag might not have matched the part's entity tag.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: InvalidPartOrder

                          \n
                        • \n
                        • \n

                          \n Description: The list of parts was not in ascending\n order. Parts list must be specified in order by part number.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: InvalidPayer

                          \n
                        • \n
                        • \n

                          \n Description: All access to this object has been\n disabled. Please contact AWS Support for further assistance.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 403 Forbidden

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: InvalidPolicyDocument

                          \n
                        • \n
                        • \n

                          \n Description: The content of the form does not meet the\n conditions specified in the policy document.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: InvalidRange

                          \n
                        • \n
                        • \n

                          \n Description: The requested range cannot be\n satisfied.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 416 Requested Range Not\n Satisfiable

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: InvalidRequest

                          \n
                        • \n
                        • \n

                          \n Description: Please use AWS4-HMAC-SHA256.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n Code: N/A

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: InvalidRequest

                          \n
                        • \n
                        • \n

                          \n Description: SOAP requests must be made over an HTTPS\n connection.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: InvalidRequest

                          \n
                        • \n
                        • \n

                          \n Description: Amazon S3 Transfer Acceleration is not\n supported for buckets with non-DNS compliant names.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n Code: N/A

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: InvalidRequest

                          \n
                        • \n
                        • \n

                          \n Description: Amazon S3 Transfer Acceleration is not\n supported for buckets with periods (.) in their names.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n Code: N/A

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: InvalidRequest

                          \n
                        • \n
                        • \n

                          \n Description: Amazon S3 Transfer Accelerate endpoint only\n supports virtual style requests.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n Code: N/A

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: InvalidRequest

                          \n
                        • \n
                        • \n

                          \n Description: Amazon S3 Transfer Accelerate is not configured\n on this bucket.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n Code: N/A

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: InvalidRequest

                          \n
                        • \n
                        • \n

                          \n Description: Amazon S3 Transfer Accelerate is disabled on\n this bucket.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n Code: N/A

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: InvalidRequest

                          \n
                        • \n
                        • \n

                          \n Description: Amazon S3 Transfer Acceleration is not\n supported on this bucket. Contact AWS Support for more information.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n Code: N/A

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: InvalidRequest

                          \n
                        • \n
                        • \n

                          \n Description: Amazon S3 Transfer Acceleration cannot be\n enabled on this bucket. Contact AWS Support for more information.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n Code: N/A

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: InvalidSecurity

                          \n
                        • \n
                        • \n

                          \n Description: The provided security credentials are not\n valid.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 403 Forbidden

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: InvalidSOAPRequest

                          \n
                        • \n
                        • \n

                          \n Description: The SOAP request body is invalid.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: InvalidStorageClass

                          \n
                        • \n
                        • \n

                          \n Description: The storage class you specified is not\n valid.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: InvalidTargetBucketForLogging

                          \n
                        • \n
                        • \n

                          \n Description: The target bucket for logging does not\n exist, is not owned by you, or does not have the appropriate grants for the\n log-delivery group.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: InvalidToken

                          \n
                        • \n
                        • \n

                          \n Description: The provided token is malformed or\n otherwise invalid.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: InvalidURI

                          \n
                        • \n
                        • \n

                          \n Description: Couldn't parse the specified URI.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: KeyTooLongError

                          \n
                        • \n
                        • \n

                          \n Description: Your key is too long.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: MalformedACLError

                          \n
                        • \n
                        • \n

                          \n Description: The XML you provided was not well-formed\n or did not validate against our published schema.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: MalformedPOSTRequest

                          \n
                        • \n
                        • \n

                          \n Description: The body of your POST request is not\n well-formed multipart/form-data.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: MalformedXML

                          \n
                        • \n
                        • \n

                          \n Description: This happens when the user sends malformed\n XML (XML that doesn't conform to the published XSD) for the configuration. The\n error message is, \"The XML you provided was not well-formed or did not validate\n against our published schema.\"

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: MaxMessageLengthExceeded

                          \n
                        • \n
                        • \n

                          \n Description: Your request was too big.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: MaxPostPreDataLengthExceededError

                          \n
                        • \n
                        • \n

                          \n Description: Your POST request fields preceding the\n upload file were too large.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: MetadataTooLarge

                          \n
                        • \n
                        • \n

                          \n Description: Your metadata headers exceed the maximum\n allowed metadata size.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: MethodNotAllowed

                          \n
                        • \n
                        • \n

                          \n Description: The specified method is not allowed\n against this resource.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 405 Method Not Allowed

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: MissingAttachment

                          \n
                        • \n
                        • \n

                          \n Description: A SOAP attachment was expected, but none\n were found.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: N/A

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: MissingContentLength

                          \n
                        • \n
                        • \n

                          \n Description: You must provide the Content-Length HTTP\n header.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 411 Length Required

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: MissingRequestBodyError

                          \n
                        • \n
                        • \n

                          \n Description: This happens when the user sends an empty\n XML document as a request. The error message is, \"Request body is empty.\"\n

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: MissingSecurityElement

                          \n
                        • \n
                        • \n

                          \n Description: The SOAP 1.1 request is missing a security\n element.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: MissingSecurityHeader

                          \n
                        • \n
                        • \n

                          \n Description: Your request is missing a required\n header.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: NoLoggingStatusForKey

                          \n
                        • \n
                        • \n

                          \n Description: There is no such thing as a logging status\n subresource for a key.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: NoSuchBucket

                          \n
                        • \n
                        • \n

                          \n Description: The specified bucket does not\n exist.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 404 Not Found

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: NoSuchBucketPolicy

                          \n
                        • \n
                        • \n

                          \n Description: The specified bucket does not have a\n bucket policy.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 404 Not Found

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: NoSuchKey

                          \n
                        • \n
                        • \n

                          \n Description: The specified key does not exist.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 404 Not Found

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: NoSuchLifecycleConfiguration

                          \n
                        • \n
                        • \n

                          \n Description: The lifecycle configuration does not\n exist.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 404 Not Found

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: NoSuchUpload

                          \n
                        • \n
                        • \n

                          \n Description: The specified multipart upload does not\n exist. The upload ID might be invalid, or the multipart upload might have been\n aborted or completed.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 404 Not Found

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: NoSuchVersion

                          \n
                        • \n
                        • \n

                          \n Description: Indicates that the version ID specified in\n the request does not match an existing version.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 404 Not Found

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: NotImplemented

                          \n
                        • \n
                        • \n

                          \n Description: A header you provided implies\n functionality that is not implemented.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 501 Not Implemented

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Server

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: NotSignedUp

                          \n
                        • \n
                        • \n

                          \n Description: Your account is not signed up for the Amazon S3\n service. You must sign up before you can use Amazon S3. You can sign up at the\n following URL: https://aws.amazon.com/s3

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 403 Forbidden

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: OperationAborted

                          \n
                        • \n
                        • \n

                          \n Description: A conflicting conditional action is\n currently in progress against this resource. Try again.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 409 Conflict

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: PermanentRedirect

                          \n
                        • \n
                        • \n

                          \n Description: The bucket you are attempting to access\n must be addressed using the specified endpoint. Send all future requests to\n this endpoint.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 301 Moved Permanently

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: PreconditionFailed

                          \n
                        • \n
                        • \n

                          \n Description: At least one of the preconditions you\n specified did not hold.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 412 Precondition Failed

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: Redirect

                          \n
                        • \n
                        • \n

                          \n Description: Temporary redirect.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 307 Moved Temporarily

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: RestoreAlreadyInProgress

                          \n
                        • \n
                        • \n

                          \n Description: Object restore is already in\n progress.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 409 Conflict

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: RequestIsNotMultiPartContent

                          \n
                        • \n
                        • \n

                          \n Description: Bucket POST must be of the enclosure-type\n multipart/form-data.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: RequestTimeout

                          \n
                        • \n
                        • \n

                          \n Description: Your socket connection to the server was\n not read from or written to within the timeout period.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: RequestTimeTooSkewed

                          \n
                        • \n
                        • \n

                          \n Description: The difference between the request time\n and the server's time is too large.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 403 Forbidden

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: RequestTorrentOfBucketError

                          \n
                        • \n
                        • \n

                          \n Description: Requesting the torrent file of a bucket is\n not permitted.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: SignatureDoesNotMatch

                          \n
                        • \n
                        • \n

                          \n Description: The request signature we calculated does\n not match the signature you provided. Check your AWS secret access key and\n signing method. For more information, see REST Authentication and\n SOAP Authentication\n for details.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 403 Forbidden

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: ServiceUnavailable

                          \n
                        • \n
                        • \n

                          \n Description: Reduce your request rate.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 503 Service Unavailable

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Server

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: SlowDown

                          \n
                        • \n
                        • \n

                          \n Description: Reduce your request rate.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 503 Slow Down

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Server

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: TemporaryRedirect

                          \n
                        • \n
                        • \n

                          \n Description: You are being redirected to the bucket\n while DNS updates.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 307 Moved Temporarily

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: TokenRefreshRequired

                          \n
                        • \n
                        • \n

                          \n Description: The provided token must be\n refreshed.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: TooManyBuckets

                          \n
                        • \n
                        • \n

                          \n Description: You have attempted to create more buckets\n than allowed.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: UnexpectedContent

                          \n
                        • \n
                        • \n

                          \n Description: This request does not support\n content.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: UnresolvableGrantByEmailAddress

                          \n
                        • \n
                        • \n

                          \n Description: The email address you provided does not\n match any account on record.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: UserKeyMustBeSpecified

                          \n
                        • \n
                        • \n

                          \n Description: The bucket POST must contain the specified\n field name. If it is specified, check the order of the fields.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      \n

                      " + "smithy.api#documentation": "

                      The error code is a string that uniquely identifies an error condition. It is meant to\n be read and understood by programs that detect and handle errors by type.

                      \n

                      \n Amazon S3 error codes\n

                      \n
                        \n
                      • \n
                          \n
                        • \n

                          \n Code: AccessDenied

                          \n
                        • \n
                        • \n

                          \n Description: Access Denied

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 403 Forbidden

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: AccountProblem

                          \n
                        • \n
                        • \n

                          \n Description: There is a problem with your Amazon Web Services account\n that prevents the action from completing successfully. Contact Amazon Web Services Support\n for further assistance.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 403 Forbidden

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: AllAccessDisabled

                          \n
                        • \n
                        • \n

                          \n Description: All access to this Amazon S3 resource has been\n disabled. Contact Amazon Web Services Support for further assistance.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 403 Forbidden

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: AmbiguousGrantByEmailAddress

                          \n
                        • \n
                        • \n

                          \n Description: The email address you provided is\n associated with more than one account.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: AuthorizationHeaderMalformed

                          \n
                        • \n
                        • \n

                          \n Description: The authorization header you provided is\n invalid.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: N/A

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: BadDigest

                          \n
                        • \n
                        • \n

                          \n Description: The Content-MD5 you specified did not\n match what we received.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: BucketAlreadyExists

                          \n
                        • \n
                        • \n

                          \n Description: The requested bucket name is not\n available. The bucket namespace is shared by all users of the system. Please\n select a different name and try again.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 409 Conflict

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: BucketAlreadyOwnedByYou

                          \n
                        • \n
                        • \n

                          \n Description: The bucket you tried to create already\n exists, and you own it. Amazon S3 returns this error in all Amazon Web Services Regions except in\n the North Virginia Region. For legacy compatibility, if you re-create an\n existing bucket that you already own in the North Virginia Region, Amazon S3 returns\n 200 OK and resets the bucket access control lists (ACLs).

                          \n
                        • \n
                        • \n

                          \n Code: 409 Conflict (in all Regions except the North\n Virginia Region)

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: BucketNotEmpty

                          \n
                        • \n
                        • \n

                          \n Description: The bucket you tried to delete is not\n empty.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 409 Conflict

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: CredentialsNotSupported

                          \n
                        • \n
                        • \n

                          \n Description: This request does not support\n credentials.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: CrossLocationLoggingProhibited

                          \n
                        • \n
                        • \n

                          \n Description: Cross-location logging not allowed.\n Buckets in one geographic location cannot log information to a bucket in\n another location.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 403 Forbidden

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: EntityTooSmall

                          \n
                        • \n
                        • \n

                          \n Description: Your proposed upload is smaller than the\n minimum allowed object size.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: EntityTooLarge

                          \n
                        • \n
                        • \n

                          \n Description: Your proposed upload exceeds the maximum\n allowed object size.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: ExpiredToken

                          \n
                        • \n
                        • \n

                          \n Description: The provided token has expired.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: IllegalVersioningConfigurationException

                          \n
                        • \n
                        • \n

                          \n Description: Indicates that the versioning\n configuration specified in the request is invalid.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: IncompleteBody

                          \n
                        • \n
                        • \n

                          \n Description: You did not provide the number of bytes\n specified by the Content-Length HTTP header

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: IncorrectNumberOfFilesInPostRequest

                          \n
                        • \n
                        • \n

                          \n Description: POST requires exactly one file upload per\n request.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: InlineDataTooLarge

                          \n
                        • \n
                        • \n

                          \n Description: Inline data exceeds the maximum allowed\n size.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: InternalError

                          \n
                        • \n
                        • \n

                          \n Description: We encountered an internal error. Please\n try again.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 500 Internal Server Error

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Server

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: InvalidAccessKeyId

                          \n
                        • \n
                        • \n

                          \n Description: The Amazon Web Services access key ID you provided does\n not exist in our records.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 403 Forbidden

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: InvalidAddressingHeader

                          \n
                        • \n
                        • \n

                          \n Description: You must specify the Anonymous\n role.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: N/A

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: InvalidArgument

                          \n
                        • \n
                        • \n

                          \n Description: Invalid Argument

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: InvalidBucketName

                          \n
                        • \n
                        • \n

                          \n Description: The specified bucket is not valid.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: InvalidBucketState

                          \n
                        • \n
                        • \n

                          \n Description: The request is not valid with the current\n state of the bucket.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 409 Conflict

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: InvalidDigest

                          \n
                        • \n
                        • \n

                          \n Description: The Content-MD5 you specified is not\n valid.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: InvalidEncryptionAlgorithmError

                          \n
                        • \n
                        • \n

                          \n Description: The encryption request you specified is\n not valid. The valid value is AES256.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: InvalidLocationConstraint

                          \n
                        • \n
                        • \n

                          \n Description: The specified location constraint is not\n valid. For more information about Regions, see How to Select a\n Region for Your Buckets.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: InvalidObjectState

                          \n
                        • \n
                        • \n

                          \n Description: The action is not valid for the current\n state of the object.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 403 Forbidden

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: InvalidPart

                          \n
                        • \n
                        • \n

                          \n Description: One or more of the specified parts could\n not be found. The part might not have been uploaded, or the specified entity\n tag might not have matched the part's entity tag.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: InvalidPartOrder

                          \n
                        • \n
                        • \n

                          \n Description: The list of parts was not in ascending\n order. Parts list must be specified in order by part number.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: InvalidPayer

                          \n
                        • \n
                        • \n

                          \n Description: All access to this object has been\n disabled. Please contact Amazon Web Services Support for further assistance.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 403 Forbidden

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: InvalidPolicyDocument

                          \n
                        • \n
                        • \n

                          \n Description: The content of the form does not meet the\n conditions specified in the policy document.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: InvalidRange

                          \n
                        • \n
                        • \n

                          \n Description: The requested range cannot be\n satisfied.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 416 Requested Range Not\n Satisfiable

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: InvalidRequest

                          \n
                        • \n
                        • \n

                          \n Description: Please use AWS4-HMAC-SHA256.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n Code: N/A

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: InvalidRequest

                          \n
                        • \n
                        • \n

                          \n Description: SOAP requests must be made over an HTTPS\n connection.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: InvalidRequest

                          \n
                        • \n
                        • \n

                          \n Description: Amazon S3 Transfer Acceleration is not\n supported for buckets with non-DNS compliant names.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n Code: N/A

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: InvalidRequest

                          \n
                        • \n
                        • \n

                          \n Description: Amazon S3 Transfer Acceleration is not\n supported for buckets with periods (.) in their names.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n Code: N/A

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: InvalidRequest

                          \n
                        • \n
                        • \n

                          \n Description: Amazon S3 Transfer Accelerate endpoint only\n supports virtual style requests.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n Code: N/A

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: InvalidRequest

                          \n
                        • \n
                        • \n

                          \n Description: Amazon S3 Transfer Accelerate is not configured\n on this bucket.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n Code: N/A

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: InvalidRequest

                          \n
                        • \n
                        • \n

                          \n Description: Amazon S3 Transfer Accelerate is disabled on\n this bucket.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n Code: N/A

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: InvalidRequest

                          \n
                        • \n
                        • \n

                          \n Description: Amazon S3 Transfer Acceleration is not\n supported on this bucket. Contact Amazon Web Services Support for more information.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n Code: N/A

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: InvalidRequest

                          \n
                        • \n
                        • \n

                          \n Description: Amazon S3 Transfer Acceleration cannot be\n enabled on this bucket. Contact Amazon Web Services Support for more information.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n Code: N/A

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: InvalidSecurity

                          \n
                        • \n
                        • \n

                          \n Description: The provided security credentials are not\n valid.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 403 Forbidden

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: InvalidSOAPRequest

                          \n
                        • \n
                        • \n

                          \n Description: The SOAP request body is invalid.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: InvalidStorageClass

                          \n
                        • \n
                        • \n

                          \n Description: The storage class you specified is not\n valid.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: InvalidTargetBucketForLogging

                          \n
                        • \n
                        • \n

                          \n Description: The target bucket for logging does not\n exist, is not owned by you, or does not have the appropriate grants for the\n log-delivery group.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: InvalidToken

                          \n
                        • \n
                        • \n

                          \n Description: The provided token is malformed or\n otherwise invalid.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: InvalidURI

                          \n
                        • \n
                        • \n

                          \n Description: Couldn't parse the specified URI.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: KeyTooLongError

                          \n
                        • \n
                        • \n

                          \n Description: Your key is too long.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: MalformedACLError

                          \n
                        • \n
                        • \n

                          \n Description: The XML you provided was not well-formed\n or did not validate against our published schema.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: MalformedPOSTRequest

                          \n
                        • \n
                        • \n

                          \n Description: The body of your POST request is not\n well-formed multipart/form-data.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: MalformedXML

                          \n
                        • \n
                        • \n

                          \n Description: This happens when the user sends malformed\n XML (XML that doesn't conform to the published XSD) for the configuration. The\n error message is, \"The XML you provided was not well-formed or did not validate\n against our published schema.\"

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: MaxMessageLengthExceeded

                          \n
                        • \n
                        • \n

                          \n Description: Your request was too big.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: MaxPostPreDataLengthExceededError

                          \n
                        • \n
                        • \n

                          \n Description: Your POST request fields preceding the\n upload file were too large.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: MetadataTooLarge

                          \n
                        • \n
                        • \n

                          \n Description: Your metadata headers exceed the maximum\n allowed metadata size.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: MethodNotAllowed

                          \n
                        • \n
                        • \n

                          \n Description: The specified method is not allowed\n against this resource.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 405 Method Not Allowed

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: MissingAttachment

                          \n
                        • \n
                        • \n

                          \n Description: A SOAP attachment was expected, but none\n were found.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: N/A

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: MissingContentLength

                          \n
                        • \n
                        • \n

                          \n Description: You must provide the Content-Length HTTP\n header.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 411 Length Required

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: MissingRequestBodyError

                          \n
                        • \n
                        • \n

                          \n Description: This happens when the user sends an empty\n XML document as a request. The error message is, \"Request body is empty.\"\n

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: MissingSecurityElement

                          \n
                        • \n
                        • \n

                          \n Description: The SOAP 1.1 request is missing a security\n element.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: MissingSecurityHeader

                          \n
                        • \n
                        • \n

                          \n Description: Your request is missing a required\n header.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: NoLoggingStatusForKey

                          \n
                        • \n
                        • \n

                          \n Description: There is no such thing as a logging status\n subresource for a key.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: NoSuchBucket

                          \n
                        • \n
                        • \n

                          \n Description: The specified bucket does not\n exist.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 404 Not Found

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: NoSuchBucketPolicy

                          \n
                        • \n
                        • \n

                          \n Description: The specified bucket does not have a\n bucket policy.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 404 Not Found

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: NoSuchKey

                          \n
                        • \n
                        • \n

                          \n Description: The specified key does not exist.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 404 Not Found

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: NoSuchLifecycleConfiguration

                          \n
                        • \n
                        • \n

                          \n Description: The lifecycle configuration does not\n exist.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 404 Not Found

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: NoSuchUpload

                          \n
                        • \n
                        • \n

                          \n Description: The specified multipart upload does not\n exist. The upload ID might be invalid, or the multipart upload might have been\n aborted or completed.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 404 Not Found

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: NoSuchVersion

                          \n
                        • \n
                        • \n

                          \n Description: Indicates that the version ID specified in\n the request does not match an existing version.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 404 Not Found

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: NotImplemented

                          \n
                        • \n
                        • \n

                          \n Description: A header you provided implies\n functionality that is not implemented.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 501 Not Implemented

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Server

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: NotSignedUp

                          \n
                        • \n
                        • \n

                          \n Description: Your account is not signed up for the Amazon S3\n service. You must sign up before you can use Amazon S3. You can sign up at the\n following URL: Amazon S3\n

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 403 Forbidden

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: OperationAborted

                          \n
                        • \n
                        • \n

                          \n Description: A conflicting conditional action is\n currently in progress against this resource. Try again.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 409 Conflict

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: PermanentRedirect

                          \n
                        • \n
                        • \n

                          \n Description: The bucket you are attempting to access\n must be addressed using the specified endpoint. Send all future requests to\n this endpoint.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 301 Moved Permanently

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: PreconditionFailed

                          \n
                        • \n
                        • \n

                          \n Description: At least one of the preconditions you\n specified did not hold.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 412 Precondition Failed

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: Redirect

                          \n
                        • \n
                        • \n

                          \n Description: Temporary redirect.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 307 Moved Temporarily

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: RestoreAlreadyInProgress

                          \n
                        • \n
                        • \n

                          \n Description: Object restore is already in\n progress.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 409 Conflict

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: RequestIsNotMultiPartContent

                          \n
                        • \n
                        • \n

                          \n Description: Bucket POST must be of the enclosure-type\n multipart/form-data.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: RequestTimeout

                          \n
                        • \n
                        • \n

                          \n Description: Your socket connection to the server was\n not read from or written to within the timeout period.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: RequestTimeTooSkewed

                          \n
                        • \n
                        • \n

                          \n Description: The difference between the request time\n and the server's time is too large.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 403 Forbidden

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: RequestTorrentOfBucketError

                          \n
                        • \n
                        • \n

                          \n Description: Requesting the torrent file of a bucket is\n not permitted.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: SignatureDoesNotMatch

                          \n
                        • \n
                        • \n

                          \n Description: The request signature we calculated does\n not match the signature you provided. Check your Amazon Web Services secret access key and\n signing method. For more information, see REST Authentication and\n SOAP Authentication\n for details.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 403 Forbidden

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: ServiceUnavailable

                          \n
                        • \n
                        • \n

                          \n Description: Reduce your request rate.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 503 Service Unavailable

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Server

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: SlowDown

                          \n
                        • \n
                        • \n

                          \n Description: Reduce your request rate.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 503 Slow Down

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Server

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: TemporaryRedirect

                          \n
                        • \n
                        • \n

                          \n Description: You are being redirected to the bucket\n while DNS updates.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 307 Moved Temporarily

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: TokenRefreshRequired

                          \n
                        • \n
                        • \n

                          \n Description: The provided token must be\n refreshed.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: TooManyBuckets

                          \n
                        • \n
                        • \n

                          \n Description: You have attempted to create more buckets\n than allowed.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: UnexpectedContent

                          \n
                        • \n
                        • \n

                          \n Description: This request does not support\n content.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: UnresolvableGrantByEmailAddress

                          \n
                        • \n
                        • \n

                          \n Description: The email address you provided does not\n match any account on record.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: UserKeyMustBeSpecified

                          \n
                        • \n
                        • \n

                          \n Description: The bucket POST must contain the specified\n field name. If it is specified, check the order of the fields.

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 400 Bad Request

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client

                          \n
                        • \n
                        \n
                      • \n
                      \n

                      " } }, "Message": { @@ -4074,7 +4074,7 @@ }, "traits": { "aws.customizations#s3UnwrappedXmlOutput": {}, - "smithy.api#documentation": "

                      Returns the Region the bucket resides in. You set the bucket's Region using the\n LocationConstraint request parameter in a CreateBucket\n request. For more information, see CreateBucket.

                      \n\n

                      To use this implementation of the operation, you must be the bucket owner.

                      \n\n

                      The following operations are related to GetBucketLocation:

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

                      Returns the Region the bucket resides in. You set the bucket's Region using the\n LocationConstraint request parameter in a CreateBucket\n request. For more information, see CreateBucket.

                      \n\n

                      To use this implementation of the operation, you must be the bucket owner.

                      \n \n

                      To use this API against an access point, provide the alias of the access point in place of the bucket name.

                      \n\n

                      The following operations are related to GetBucketLocation:

                      \n ", "smithy.api#http": { "method": "GET", "uri": "/{Bucket}?location", @@ -4316,7 +4316,7 @@ "target": "com.amazonaws.s3#GetBucketPolicyOutput" }, "traits": { - "smithy.api#documentation": "

                      Returns the policy of a specified bucket. If you are using an identity other than the\n root user of the AWS account that owns the bucket, the calling identity must have the\n GetBucketPolicy permissions on the specified bucket and belong to the\n bucket owner's account in order to use this operation.

                      \n\n

                      If you don't have GetBucketPolicy 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 AWS account that owns a bucket can\n always use this operation, even if the policy explicitly denies the root user the\n ability to perform this action.

                      \n
                      \n\n

                      For more information about bucket policies, see Using Bucket Policies and User\n Policies.

                      \n\n

                      The following action is related to GetBucketPolicy:

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

                      Returns the policy of a specified 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 GetBucketPolicy permissions on the specified bucket and belong to the\n bucket owner's account in order to use this operation.

                      \n\n

                      If you don't have GetBucketPolicy 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 operation, even if the policy explicitly denies the root user the\n ability to perform this action.

                      \n
                      \n\n

                      For more information about bucket policies, see Using Bucket Policies and User\n Policies.

                      \n\n

                      The following action is related to GetBucketPolicy:

                      \n ", "smithy.api#http": { "method": "GET", "uri": "/{Bucket}?policy", @@ -4700,7 +4700,7 @@ } ], "traits": { - "smithy.api#documentation": "

                      Retrieves objects from Amazon S3. To use GET, you must have READ\n access to the object. If you grant READ access to the anonymous user, you can\n return the object without using an authorization header.

                      \n\n

                      An Amazon S3 bucket has no directory hierarchy such as you would find in a typical computer\n file system. You can, however, create a logical hierarchy by using object key names that\n imply a folder structure. For example, instead of naming an object sample.jpg,\n you can name it photos/2006/February/sample.jpg.

                      \n\n

                      To get an object from such a logical hierarchy, specify the full key name for the object\n in the GET operation. For a virtual hosted-style request example, if you have\n the object photos/2006/February/sample.jpg, specify the resource as\n /photos/2006/February/sample.jpg. For a path-style request example, if you\n have the object photos/2006/February/sample.jpg in the bucket named\n examplebucket, specify the resource as\n /examplebucket/photos/2006/February/sample.jpg. For more information about\n request types, see HTTP Host Header Bucket Specification.

                      \n\n

                      To distribute large files to many people, you can save bandwidth costs by using\n BitTorrent. For more information, see Amazon S3\n Torrent. For more information about returning the ACL of an object, see GetObjectAcl.

                      \n\n

                      If the object you are retrieving is stored in the S3 Glacier or\n S3 Glacier Deep Archive storage class, or S3 Intelligent-Tiering Archive or\n S3 Intelligent-Tiering Deep Archive tiers, before you can retrieve the object you must first restore a\n copy using RestoreObject. Otherwise, this action returns an\n InvalidObjectStateError error. For information about restoring archived\n objects, see Restoring Archived\n Objects.

                      \n\n

                      Encryption request headers, like x-amz-server-side-encryption, should not\n be sent for GET requests if your object uses server-side encryption with CMKs stored in AWS\n KMS (SSE-KMS) or server-side encryption with Amazon S3–managed encryption keys (SSE-S3). If your\n object does use these types of keys, you’ll get an HTTP 400 BadRequest error.

                      \n

                      If you encrypt an object by using server-side encryption with customer-provided\n encryption keys (SSE-C) when you store the object in Amazon S3, then when you GET the object,\n you must use the following headers:

                      \n
                        \n
                      • \n

                        x-amz-server-side-encryption-customer-algorithm

                        \n
                      • \n
                      • \n

                        x-amz-server-side-encryption-customer-key

                        \n
                      • \n
                      • \n

                        x-amz-server-side-encryption-customer-key-MD5

                        \n
                      • \n
                      \n

                      For more information about SSE-C, see Server-Side Encryption (Using\n Customer-Provided Encryption Keys).

                      \n\n

                      Assuming you have permission to read object tags (permission for the\n s3:GetObjectVersionTagging action), the response also returns the\n x-amz-tagging-count header that provides the count of number of tags\n associated with the object. You can use GetObjectTagging to retrieve\n the tag set associated with an object.

                      \n\n

                      \n Permissions\n

                      \n

                      You need the s3:GetObject permission for this operation. For more\n information, see Specifying Permissions\n in a Policy. If the object you request does not exist, the error Amazon S3 returns\n depends on whether you also have the s3:ListBucket permission.

                      \n
                        \n
                      • \n

                        If you have the s3:ListBucket permission on the bucket, Amazon S3 will\n return an HTTP status code 404 (\"no such key\") error.

                        \n
                      • \n
                      • \n

                        If you don’t have the s3:ListBucket permission, Amazon S3 will return an\n HTTP status code 403 (\"access denied\") error.

                        \n
                      • \n
                      \n\n\n

                      \n Versioning\n

                      \n

                      By default, the GET action returns the current version of an object. To return a\n different version, use the versionId subresource.

                      \n\n \n

                      If the current version of the object is a delete marker, Amazon S3 behaves as if the\n object was deleted and includes x-amz-delete-marker: true in the\n response.

                      \n
                      \n\n\n

                      For more information about versioning, see PutBucketVersioning.

                      \n\n

                      \n Overriding Response Header Values\n

                      \n

                      There are times when you want to override certain response header values in a GET\n response. For example, you might override the Content-Disposition response header value in\n your GET request.

                      \n\n

                      You can override values for a set of response headers using the following query\n parameters. These response header values are sent only on a successful request, that is,\n when status code 200 OK is returned. The set of headers you can override using these\n parameters is a subset of the headers that Amazon S3 accepts when you create an object. The\n response headers that you can override for the GET response are Content-Type,\n Content-Language, Expires, Cache-Control,\n Content-Disposition, and Content-Encoding. To override these\n header values in the GET response, you use the following request parameters.

                      \n\n \n

                      You must sign the request, either using an Authorization header or a presigned URL,\n when using these parameters. They cannot be used with an unsigned (anonymous)\n request.

                      \n
                      \n
                        \n
                      • \n

                        \n response-content-type\n

                        \n
                      • \n
                      • \n

                        \n response-content-language\n

                        \n
                      • \n
                      • \n

                        \n response-expires\n

                        \n
                      • \n
                      • \n

                        \n response-cache-control\n

                        \n
                      • \n
                      • \n

                        \n response-content-disposition\n

                        \n
                      • \n
                      • \n

                        \n response-content-encoding\n

                        \n
                      • \n
                      \n\n

                      \n Additional Considerations about Request Headers\n

                      \n\n

                      If both of the If-Match and If-Unmodified-Since headers are\n present in the request as follows: If-Match condition evaluates to\n true, and; If-Unmodified-Since condition evaluates to\n false; then, S3 returns 200 OK and the data requested.

                      \n\n

                      If both of the If-None-Match and If-Modified-Since headers are\n present in the request as follows: If-None-Match condition evaluates to\n false, and; If-Modified-Since condition evaluates to\n true; then, S3 returns 304 Not Modified response code.

                      \n\n

                      For more information about conditional requests, see RFC 7232.

                      \n\n

                      The following operations are related to GetObject:

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

                      Retrieves objects from Amazon S3. To use GET, you must have READ\n access to the object. If you grant READ access to the anonymous user, you can\n return the object without using an authorization header.

                      \n\n

                      An Amazon S3 bucket has no directory hierarchy such as you would find in a typical computer\n file system. You can, however, create a logical hierarchy by using object key names that\n imply a folder structure. For example, instead of naming an object sample.jpg,\n you can name it photos/2006/February/sample.jpg.

                      \n\n

                      To get an object from such a logical hierarchy, specify the full key name for the object\n in the GET operation. For a virtual hosted-style request example, if you have\n the object photos/2006/February/sample.jpg, specify the resource as\n /photos/2006/February/sample.jpg. For a path-style request example, if you\n have the object photos/2006/February/sample.jpg in the bucket named\n examplebucket, specify the resource as\n /examplebucket/photos/2006/February/sample.jpg. For more information about\n request types, see HTTP Host Header Bucket Specification.

                      \n\n

                      To distribute large files to many people, you can save bandwidth costs by using\n BitTorrent. For more information, see Amazon S3\n Torrent. For more information about returning the ACL of an object, see GetObjectAcl.

                      \n\n

                      If the object you are retrieving is stored in the S3 Glacier or\n S3 Glacier Deep Archive storage class, or S3 Intelligent-Tiering Archive or\n S3 Intelligent-Tiering Deep Archive tiers, before you can retrieve the object you must first restore a\n copy using RestoreObject. Otherwise, this action returns an\n InvalidObjectStateError error. For information about restoring archived\n objects, see Restoring Archived\n Objects.

                      \n\n

                      Encryption request headers, like x-amz-server-side-encryption, should not\n be sent for GET requests if your object uses server-side encryption with CMKs stored in Amazon Web Services\n KMS (SSE-KMS) or server-side encryption with Amazon S3–managed encryption keys (SSE-S3). If your\n object does use these types of keys, you’ll get an HTTP 400 BadRequest error.

                      \n

                      If you encrypt an object by using server-side encryption with customer-provided\n encryption keys (SSE-C) when you store the object in Amazon S3, then when you GET the object,\n you must use the following headers:

                      \n
                        \n
                      • \n

                        x-amz-server-side-encryption-customer-algorithm

                        \n
                      • \n
                      • \n

                        x-amz-server-side-encryption-customer-key

                        \n
                      • \n
                      • \n

                        x-amz-server-side-encryption-customer-key-MD5

                        \n
                      • \n
                      \n

                      For more information about SSE-C, see Server-Side Encryption (Using\n Customer-Provided Encryption Keys).

                      \n\n

                      Assuming you have permission to read object tags (permission for the\n s3:GetObjectVersionTagging action), the response also returns the\n x-amz-tagging-count header that provides the count of number of tags\n associated with the object. You can use GetObjectTagging to retrieve\n the tag set associated with an object.

                      \n\n

                      \n Permissions\n

                      \n

                      You need the s3:GetObject permission for this operation. For more\n information, see Specifying Permissions\n in a Policy. If the object you request does not exist, the error Amazon S3 returns\n depends on whether you also have the s3:ListBucket permission.

                      \n
                        \n
                      • \n

                        If you have the s3:ListBucket permission on the bucket, Amazon S3 will\n return an HTTP status code 404 (\"no such key\") error.

                        \n
                      • \n
                      • \n

                        If you don’t have the s3:ListBucket permission, Amazon S3 will return an\n HTTP status code 403 (\"access denied\") error.

                        \n
                      • \n
                      \n\n\n

                      \n Versioning\n

                      \n

                      By default, the GET action returns the current version of an object. To return a\n different version, use the versionId subresource.

                      \n\n \n
                        \n
                      • \n

                        You need the s3:GetObjectVersion permission to access a specific version of an object.\n

                        \n
                      • \n
                      • \n

                        If the current version of the object is a delete marker, Amazon S3 behaves as if the\n object was deleted and includes x-amz-delete-marker: true in the\n response.

                        \n
                      • \n
                      \n
                      \n\n\n

                      For more information about versioning, see PutBucketVersioning.

                      \n\n

                      \n Overriding Response Header Values\n

                      \n

                      There are times when you want to override certain response header values in a GET\n response. For example, you might override the Content-Disposition response header value in\n your GET request.

                      \n\n

                      You can override values for a set of response headers using the following query\n parameters. These response header values are sent only on a successful request, that is,\n when status code 200 OK is returned. The set of headers you can override using these\n parameters is a subset of the headers that Amazon S3 accepts when you create an object. The\n response headers that you can override for the GET response are Content-Type,\n Content-Language, Expires, Cache-Control,\n Content-Disposition, and Content-Encoding. To override these\n header values in the GET response, you use the following request parameters.

                      \n\n \n

                      You must sign the request, either using an Authorization header or a presigned URL,\n when using these parameters. They cannot be used with an unsigned (anonymous)\n request.

                      \n
                      \n
                        \n
                      • \n

                        \n response-content-type\n

                        \n
                      • \n
                      • \n

                        \n response-content-language\n

                        \n
                      • \n
                      • \n

                        \n response-expires\n

                        \n
                      • \n
                      • \n

                        \n response-cache-control\n

                        \n
                      • \n
                      • \n

                        \n response-content-disposition\n

                        \n
                      • \n
                      • \n

                        \n response-content-encoding\n

                        \n
                      • \n
                      \n\n

                      \n Additional Considerations about Request Headers\n

                      \n\n

                      If both of the If-Match and If-Unmodified-Since headers are\n present in the request as follows: If-Match condition evaluates to\n true, and; If-Unmodified-Since condition evaluates to\n false; then, S3 returns 200 OK and the data requested.

                      \n\n

                      If both of the If-None-Match and If-Modified-Since headers are\n present in the request as follows: If-None-Match condition evaluates to\n false, and; If-Modified-Since condition evaluates to\n true; then, S3 returns 304 Not Modified response code.

                      \n\n

                      For more information about conditional requests, see RFC 7232.

                      \n\n

                      The following operations are related to GetObject:

                      \n ", "smithy.api#http": { "method": "GET", "uri": "/{Bucket}/{Key+}?x-id=GetObject", @@ -4763,7 +4763,7 @@ "Bucket": { "target": "com.amazonaws.s3#BucketName", "traits": { - "smithy.api#documentation": "

                      The bucket name that contains the object for which to get the ACL information.

                      \n

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

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

                      The bucket name that contains the object for which to get the ACL information.

                      \n

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                      ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -4833,7 +4833,7 @@ "Bucket": { "target": "com.amazonaws.s3#BucketName", "traits": { - "smithy.api#documentation": "

                      The bucket name containing the object whose Legal Hold status you want to retrieve.

                      \n

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

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

                      The bucket name containing the object whose Legal Hold status you want to retrieve.

                      \n

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                      ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -4903,7 +4903,7 @@ "Bucket": { "target": "com.amazonaws.s3#BucketName", "traits": { - "smithy.api#documentation": "

                      The bucket whose Object Lock configuration you want to retrieve.

                      \n

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

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

                      The bucket whose Object Lock configuration you want to retrieve.

                      \n

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                      ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -5077,14 +5077,14 @@ "SSEKMSKeyId": { "target": "com.amazonaws.s3#SSEKMSKeyId", "traits": { - "smithy.api#documentation": "

                      If present, specifies the ID of the AWS Key Management Service (AWS KMS) symmetric\n customer managed customer master key (CMK) that was used for the object.

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

                      If present, specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric\n customer managed customer master key (CMK) that was used for the object.

                      ", "smithy.api#httpHeader": "x-amz-server-side-encryption-aws-kms-key-id" } }, "BucketKeyEnabled": { "target": "com.amazonaws.s3#BucketKeyEnabled", "traits": { - "smithy.api#documentation": "

                      Indicates whether the object uses an S3 Bucket Key for server-side encryption with AWS KMS (SSE-KMS).

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

                      Indicates whether the object uses an S3 Bucket Key for server-side encryption with Amazon Web Services KMS (SSE-KMS).

                      ", "smithy.api#httpHeader": "x-amz-server-side-encryption-bucket-key-enabled" } }, @@ -5151,7 +5151,7 @@ "Bucket": { "target": "com.amazonaws.s3#BucketName", "traits": { - "smithy.api#documentation": "

                      The bucket name containing the object.

                      \n

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                      \n

                      When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

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

                      The bucket name containing the object.

                      \n

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                      \n

                      When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                      ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -5329,7 +5329,7 @@ "Bucket": { "target": "com.amazonaws.s3#BucketName", "traits": { - "smithy.api#documentation": "

                      The bucket name containing the object whose retention settings you want to retrieve.

                      \n

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

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

                      The bucket name containing the object whose retention settings you want to retrieve.

                      \n

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                      ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -5409,7 +5409,7 @@ "Bucket": { "target": "com.amazonaws.s3#BucketName", "traits": { - "smithy.api#documentation": "

                      The bucket name containing the object for which to get the tagging information.

                      \n

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                      \n

                      When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

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

                      The bucket name containing the object for which to get the tagging information.

                      \n

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                      \n

                      When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                      ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -5628,7 +5628,7 @@ "EmailAddress": { "target": "com.amazonaws.s3#EmailAddress", "traits": { - "smithy.api#documentation": "

                      Email address of the grantee.

                      \n \n

                      Using email addresses to specify a grantee is only supported in the following AWS Regions:

                      \n
                        \n
                      • \n

                        US East (N. Virginia)

                        \n
                      • \n
                      • \n

                        US West (N. California)

                        \n
                      • \n
                      • \n

                        US West (Oregon)

                        \n
                      • \n
                      • \n

                        Asia Pacific (Singapore)

                        \n
                      • \n
                      • \n

                        Asia Pacific (Sydney)

                        \n
                      • \n
                      • \n

                        Asia Pacific (Tokyo)

                        \n
                      • \n
                      • \n

                        Europe (Ireland)

                        \n
                      • \n
                      • \n

                        South America (São Paulo)

                        \n
                      • \n
                      \n

                      For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the AWS General Reference.

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

                      Email address of the grantee.

                      \n \n

                      Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions:

                      \n
                        \n
                      • \n

                        US East (N. Virginia)

                        \n
                      • \n
                      • \n

                        US West (N. California)

                        \n
                      • \n
                      • \n

                        US West (Oregon)

                        \n
                      • \n
                      • \n

                        Asia Pacific (Singapore)

                        \n
                      • \n
                      • \n

                        Asia Pacific (Sydney)

                        \n
                      • \n
                      • \n

                        Asia Pacific (Tokyo)

                        \n
                      • \n
                      • \n

                        Europe (Ireland)

                        \n
                      • \n
                      • \n

                        South America (São Paulo)

                        \n
                      • \n
                      \n

                      For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the Amazon Web Services General Reference.

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

                      This action is useful to determine if a bucket exists and you have permission to\n access it. The action returns a 200 OK if the bucket exists and you have\n permission to access it.

                      \n \n \n

                      If the bucket does not exist or you do not have permission to access it, the HEAD request\n returns a generic 404 Not Found or 403 Forbidden code. A message body is not \n included, so you cannot determine the exception beyond these error codes.

                      \n\n

                      To use this operation, you must have permissions to perform the\n s3:ListBucket action. The bucket owner has this permission by default and\n can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3\n Resources.

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

                      This action is useful to determine if a bucket exists and you have permission to\n access it. The action returns a 200 OK if the bucket exists and you have\n permission to access it.

                      \n \n \n

                      If the bucket does not exist or you do not have permission to access it, the HEAD request\n returns a generic 404 Not Found or 403 Forbidden code. A message body is not \n included, so you cannot determine the exception beyond these error codes.

                      \n\n

                      To use this operation, you must have permissions to perform the\n s3:ListBucket action. The bucket owner has this permission by default and\n can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3\n Resources.

                      \n\n\n

                      To use this API against an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using the Amazon Web Services SDKs, you provide the ARN in place of the bucket name. For more information see, Using access points.

                      ", "smithy.api#http": { "method": "HEAD", "uri": "/{Bucket}", @@ -5721,7 +5721,7 @@ "Bucket": { "target": "com.amazonaws.s3#BucketName", "traits": { - "smithy.api#documentation": "

                      The bucket name.

                      \n

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                      \n

                      When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

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

                      The bucket name.

                      \n

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                      \n

                      When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

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

                      The HEAD action retrieves metadata from an object without returning the object\n itself. This action is useful if you're only interested in an object's metadata. To use\n HEAD, you must have READ access to the object.

                      \n\n

                      A HEAD request has the same options as a GET action on an\n object. The response is identical to the GET response except that there is no\n response body. Because of this, if the HEAD request generates an error, it\n returns a generic 404 Not Found or 403 Forbidden code. It is not \n possible to retrieve the exact exception beyond these error codes.

                      \n\n

                      If you encrypt an object by using server-side encryption with customer-provided\n encryption keys (SSE-C) when you store the object in Amazon S3, then when you retrieve the\n metadata from the object, you must use the following headers:

                      \n
                        \n
                      • \n

                        x-amz-server-side-encryption-customer-algorithm

                        \n
                      • \n
                      • \n

                        x-amz-server-side-encryption-customer-key

                        \n
                      • \n
                      • \n

                        x-amz-server-side-encryption-customer-key-MD5

                        \n
                      • \n
                      \n

                      For more information about SSE-C, see Server-Side Encryption (Using\n Customer-Provided Encryption Keys).

                      \n \n
                        \n
                      • \n

                        Encryption request headers, like x-amz-server-side-encryption, should\n not be sent for GET requests if your object uses server-side encryption with CMKs stored\n in AWS KMS (SSE-KMS) or server-side encryption with Amazon S3–managed encryption keys\n (SSE-S3). If your object does use these types of keys, you’ll get an HTTP 400 BadRequest\n error.

                        \n
                      • \n
                      • \n

                        \n The last modified property in this case is the creation date of the object.

                        \n
                      • \n
                      \n
                      \n\n\n

                      Request headers are limited to 8 KB in size. For more information, see Common Request\n Headers.

                      \n

                      Consider the following when using request headers:

                      \n
                        \n
                      • \n

                        Consideration 1 – If both of the If-Match and\n If-Unmodified-Since headers are present in the request as\n follows:

                        \n
                          \n
                        • \n

                          \n If-Match condition evaluates to true, and;

                          \n
                        • \n
                        • \n

                          \n If-Unmodified-Since condition evaluates to\n false;

                          \n
                        • \n
                        \n

                        Then Amazon S3 returns 200 OK and the data requested.

                        \n
                      • \n
                      • \n

                        Consideration 2 – If both of the If-None-Match and\n If-Modified-Since headers are present in the request as\n follows:

                        \n
                          \n
                        • \n

                          \n If-None-Match condition evaluates to false,\n and;

                          \n
                        • \n
                        • \n

                          \n If-Modified-Since condition evaluates to\n true;

                          \n
                        • \n
                        \n

                        Then Amazon S3 returns the 304 Not Modified response code.

                        \n
                      • \n
                      \n\n

                      For more information about conditional requests, see RFC 7232.

                      \n\n

                      \n Permissions\n

                      \n

                      You need the s3:GetObject permission for this operation. For more\n information, see Specifying Permissions\n in a Policy. If the object you request does not exist, the error Amazon S3 returns\n depends on whether you also have the s3:ListBucket permission.

                      \n
                        \n
                      • \n

                        If you have the s3:ListBucket permission on the bucket, Amazon S3 returns\n an HTTP status code 404 (\"no such key\") error.

                        \n
                      • \n
                      • \n

                        If you don’t have the s3:ListBucket permission, Amazon S3 returns an HTTP\n status code 403 (\"access denied\") error.

                        \n
                      • \n
                      \n\n

                      The following action is related to HeadObject:

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

                      The HEAD action retrieves metadata from an object without returning the object\n itself. This action is useful if you're only interested in an object's metadata. To use\n HEAD, you must have READ access to the object.

                      \n\n

                      A HEAD request has the same options as a GET action on an\n object. The response is identical to the GET response except that there is no\n response body. Because of this, if the HEAD request generates an error, it\n returns a generic 404 Not Found or 403 Forbidden code. It is not \n possible to retrieve the exact exception beyond these error codes.

                      \n\n

                      If you encrypt an object by using server-side encryption with customer-provided\n encryption keys (SSE-C) when you store the object in Amazon S3, then when you retrieve the\n metadata from the object, you must use the following headers:

                      \n
                        \n
                      • \n

                        x-amz-server-side-encryption-customer-algorithm

                        \n
                      • \n
                      • \n

                        x-amz-server-side-encryption-customer-key

                        \n
                      • \n
                      • \n

                        x-amz-server-side-encryption-customer-key-MD5

                        \n
                      • \n
                      \n

                      For more information about SSE-C, see Server-Side Encryption (Using\n Customer-Provided Encryption Keys).

                      \n \n
                        \n
                      • \n

                        Encryption request headers, like x-amz-server-side-encryption, should\n not be sent for GET requests if your object uses server-side encryption with CMKs stored\n in Amazon Web Services KMS (SSE-KMS) or server-side encryption with Amazon S3–managed encryption keys\n (SSE-S3). If your object does use these types of keys, you’ll get an HTTP 400 BadRequest\n error.

                        \n
                      • \n
                      • \n

                        \n The last modified property in this case is the creation date of the object.

                        \n
                      • \n
                      \n
                      \n\n\n

                      Request headers are limited to 8 KB in size. For more information, see Common Request\n Headers.

                      \n

                      Consider the following when using request headers:

                      \n
                        \n
                      • \n

                        Consideration 1 – If both of the If-Match and\n If-Unmodified-Since headers are present in the request as\n follows:

                        \n
                          \n
                        • \n

                          \n If-Match condition evaluates to true, and;

                          \n
                        • \n
                        • \n

                          \n If-Unmodified-Since condition evaluates to\n false;

                          \n
                        • \n
                        \n

                        Then Amazon S3 returns 200 OK and the data requested.

                        \n
                      • \n
                      • \n

                        Consideration 2 – If both of the If-None-Match and\n If-Modified-Since headers are present in the request as\n follows:

                        \n
                          \n
                        • \n

                          \n If-None-Match condition evaluates to false,\n and;

                          \n
                        • \n
                        • \n

                          \n If-Modified-Since condition evaluates to\n true;

                          \n
                        • \n
                        \n

                        Then Amazon S3 returns the 304 Not Modified response code.

                        \n
                      • \n
                      \n\n

                      For more information about conditional requests, see RFC 7232.

                      \n\n

                      \n Permissions\n

                      \n

                      You need the s3:GetObject permission for this operation. For more\n information, see Specifying Permissions\n in a Policy. If the object you request does not exist, the error Amazon S3 returns\n depends on whether you also have the s3:ListBucket permission.

                      \n
                        \n
                      • \n

                        If you have the s3:ListBucket permission on the bucket, Amazon S3 returns\n an HTTP status code 404 (\"no such key\") error.

                        \n
                      • \n
                      • \n

                        If you don’t have the s3:ListBucket permission, Amazon S3 returns an HTTP\n status code 403 (\"access denied\") error.

                        \n
                      • \n
                      \n\n

                      The following action is related to HeadObject:

                      \n ", "smithy.api#http": { "method": "HEAD", "uri": "/{Bucket}/{Key+}", @@ -5912,7 +5912,7 @@ "ServerSideEncryption": { "target": "com.amazonaws.s3#ServerSideEncryption", "traits": { - "smithy.api#documentation": "

                      If the object is stored using server-side encryption either with an AWS KMS customer\n master key (CMK) or an Amazon S3-managed encryption key, the response includes this header with\n the value of the server-side encryption algorithm used when storing this object in Amazon\n S3 (for example, AES256, aws:kms).

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

                      If the object is stored using server-side encryption either with an Amazon Web Services KMS customer\n master key (CMK) or an Amazon S3-managed encryption key, the response includes this header with\n the value of the server-side encryption algorithm used when storing this object in Amazon\n S3 (for example, AES256, aws:kms).

                      ", "smithy.api#httpHeader": "x-amz-server-side-encryption" } }, @@ -5940,14 +5940,14 @@ "SSEKMSKeyId": { "target": "com.amazonaws.s3#SSEKMSKeyId", "traits": { - "smithy.api#documentation": "

                      If present, specifies the ID of the AWS Key Management Service (AWS KMS) symmetric\n customer managed customer master key (CMK) that was used for the object.

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

                      If present, specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric\n customer managed customer master key (CMK) that was used for the object.

                      ", "smithy.api#httpHeader": "x-amz-server-side-encryption-aws-kms-key-id" } }, "BucketKeyEnabled": { "target": "com.amazonaws.s3#BucketKeyEnabled", "traits": { - "smithy.api#documentation": "

                      Indicates whether the object uses an S3 Bucket Key for server-side encryption with AWS KMS (SSE-KMS).

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

                      Indicates whether the object uses an S3 Bucket Key for server-side encryption with Amazon Web Services KMS (SSE-KMS).

                      ", "smithy.api#httpHeader": "x-amz-server-side-encryption-bucket-key-enabled" } }, @@ -6007,7 +6007,7 @@ "Bucket": { "target": "com.amazonaws.s3#BucketName", "traits": { - "smithy.api#documentation": "

                      The name of the bucket containing the object.

                      \n

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                      \n

                      When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

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

                      The name of the bucket containing the object.

                      \n

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                      \n

                      When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                      ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -6153,7 +6153,7 @@ "ID": { "target": "com.amazonaws.s3#ID", "traits": { - "smithy.api#documentation": "

                      If the principal is an AWS account, it provides the Canonical User ID. If the principal\n is an IAM User, it provides a user ARN value.

                      " + "smithy.api#documentation": "

                      If the principal is an Amazon Web Services account, it provides the Canonical User ID. If the principal\n is an IAM User, it provides a user ARN value.

                      " } }, "DisplayName": { @@ -6701,7 +6701,7 @@ "LambdaFunctionArn": { "target": "com.amazonaws.s3#LambdaFunctionArn", "traits": { - "smithy.api#documentation": "

                      The Amazon Resource Name (ARN) of the AWS Lambda function that Amazon S3 invokes when the\n specified event type occurs.

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

                      The Amazon Resource Name (ARN) of the Lambda function that Amazon S3 invokes when the\n specified event type occurs.

                      ", "smithy.api#required": {}, "smithy.api#xmlName": "CloudFunction" } @@ -6709,7 +6709,7 @@ "Events": { "target": "com.amazonaws.s3#EventList", "traits": { - "smithy.api#documentation": "

                      The Amazon S3 bucket event for which to invoke the AWS Lambda function. For more information,\n see Supported\n Event Types in the Amazon S3 User Guide.

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

                      The Amazon S3 bucket event for which to invoke the Lambda function. For more information,\n see Supported\n Event Types in the Amazon S3 User Guide.

                      ", "smithy.api#required": {}, "smithy.api#xmlFlattened": {}, "smithy.api#xmlName": "Event" @@ -6720,7 +6720,7 @@ } }, "traits": { - "smithy.api#documentation": "

                      A container for specifying the configuration for AWS Lambda notifications.

                      " + "smithy.api#documentation": "

                      A container for specifying the configuration for Lambda notifications.

                      " } }, "com.amazonaws.s3#LambdaFunctionConfigurationList": { @@ -7230,7 +7230,7 @@ "Bucket": { "target": "com.amazonaws.s3#BucketName", "traits": { - "smithy.api#documentation": "

                      The name of the bucket to which the multipart upload was initiated.

                      " + "smithy.api#documentation": "

                      The name of the bucket to which the multipart upload was initiated. Does not return the access point ARN or access point alias if used.

                      " } }, "KeyMarker": { @@ -7313,7 +7313,7 @@ "Bucket": { "target": "com.amazonaws.s3#BucketName", "traits": { - "smithy.api#documentation": "

                      The name of the bucket to which the multipart upload was initiated.

                      \n

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                      \n

                      When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

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

                      The name of the bucket to which the multipart upload was initiated.

                      \n

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                      \n

                      When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                      ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -7635,7 +7635,7 @@ "Bucket": { "target": "com.amazonaws.s3#BucketName", "traits": { - "smithy.api#documentation": "

                      The name of the bucket containing the objects.

                      \n

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                      \n

                      When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

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

                      The name of the bucket containing the objects.

                      \n

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                      \n

                      When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                      ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -7656,7 +7656,7 @@ "Marker": { "target": "com.amazonaws.s3#Marker", "traits": { - "smithy.api#documentation": "

                      Specifies the key to start with when listing objects in a bucket.

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

                      Marker is where you want Amazon S3 to start listing from. Amazon S3 starts listing after\n this specified key. Marker can be any key in the bucket.

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

                      Returns some or all (up to 1,000) of the objects in a bucket with each request. You can use\n the request parameters as selection criteria to return a subset of the objects in a bucket. A \n 200 OK response can contain valid or invalid XML. Make sure to design your\n application to parse the contents of the response and handle it appropriately. \n Objects are returned sorted in an ascending order of the respective key names in the list.\n For more information about listing objects, see Listing object keys \n programmatically\n

                      \n\n

                      To use this operation, you must have READ access to the bucket.

                      \n\n

                      To use this action in an AWS Identity and Access Management (IAM) policy, you must\n have permissions to perform the s3:ListBucket action. The bucket owner has\n this permission by default and can grant this permission to others. For more information\n about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3\n Resources.

                      \n \n

                      This section describes the latest revision of this action. We recommend that you use this\n revised API for application development. For backward compatibility, Amazon S3 continues to\n support the prior version of this API, ListObjects.

                      \n
                      \n\n

                      To get a list of your buckets, see ListBuckets.

                      \n\n

                      The following operations are related to ListObjectsV2:

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

                      Returns some or all (up to 1,000) of the objects in a bucket with each request. You can use\n the request parameters as selection criteria to return a subset of the objects in a bucket. A \n 200 OK response can contain valid or invalid XML. Make sure to design your\n application to parse the contents of the response and handle it appropriately. \n Objects are returned sorted in an ascending order of the respective key names in the list.\n For more information about listing objects, see Listing object keys \n programmatically\n

                      \n\n

                      To use this operation, you must have READ access to the bucket.

                      \n\n

                      To use this action in an Identity and Access Management (IAM) policy, you must\n have permissions to perform the s3:ListBucket action. The bucket owner has\n this permission by default and can grant this permission to others. For more information\n about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3\n Resources.

                      \n \n

                      This section describes the latest revision of this action. We recommend that you use this\n revised API for application development. For backward compatibility, Amazon S3 continues to\n support the prior version of this API, ListObjects.

                      \n
                      \n\n

                      To get a list of your buckets, see ListBuckets.

                      \n\n

                      The following operations are related to ListObjectsV2:

                      \n ", "smithy.api#http": { "method": "GET", "uri": "/{Bucket}?list-type=2", @@ -7736,7 +7736,7 @@ "Name": { "target": "com.amazonaws.s3#BucketName", "traits": { - "smithy.api#documentation": "

                      The bucket name.

                      \n

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                      \n

                      When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                      " + "smithy.api#documentation": "

                      The bucket name.

                      \n

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                      \n

                      When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                      " } }, "Prefix": { @@ -7805,7 +7805,7 @@ "Bucket": { "target": "com.amazonaws.s3#BucketName", "traits": { - "smithy.api#documentation": "

                      Bucket name to list.

                      \n

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                      \n

                      When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

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

                      Bucket name to list.

                      \n

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                      \n

                      When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                      ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -7918,7 +7918,7 @@ "Bucket": { "target": "com.amazonaws.s3#BucketName", "traits": { - "smithy.api#documentation": "

                      The name of the bucket to which the multipart upload was initiated.

                      " + "smithy.api#documentation": "

                      The name of the bucket to which the multipart upload was initiated. Does not return the access point ARN or access point alias if used.

                      " } }, "Key": { @@ -7968,7 +7968,7 @@ "Initiator": { "target": "com.amazonaws.s3#Initiator", "traits": { - "smithy.api#documentation": "

                      Container element that identifies who initiated the multipart upload. If the initiator\n is an AWS account, this element provides the same information as the Owner\n element. If the initiator is an IAM User, this element provides the user ARN and display\n name.

                      " + "smithy.api#documentation": "

                      Container element that identifies who initiated the multipart upload. If the initiator\n is an Amazon Web Services account, this element provides the same information as the Owner\n element. If the initiator is an IAM User, this element provides the user ARN and display\n name.

                      " } }, "Owner": { @@ -8000,7 +8000,7 @@ "Bucket": { "target": "com.amazonaws.s3#BucketName", "traits": { - "smithy.api#documentation": "

                      The name of the bucket to which the parts are being uploaded.

                      \n

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                      \n

                      When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

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

                      The name of the bucket to which the parts are being uploaded.

                      \n

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                      \n

                      When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                      ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -8470,7 +8470,7 @@ "LambdaFunctionConfigurations": { "target": "com.amazonaws.s3#LambdaFunctionConfigurationList", "traits": { - "smithy.api#documentation": "

                      Describes the AWS Lambda functions to invoke and the events for which to invoke\n them.

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

                      Describes the Lambda functions to invoke and the events for which to invoke\n them.

                      ", "smithy.api#xmlFlattened": {}, "smithy.api#xmlName": "CloudFunctionConfiguration" } @@ -8518,7 +8518,7 @@ "ETag": { "target": "com.amazonaws.s3#ETag", "traits": { - "smithy.api#documentation": "

                      The entity tag is a hash of the object. The ETag reflects changes only to the contents\n of an object, not its metadata. The ETag may or may not be an MD5 digest of the object\n data. Whether or not it is depends on how the object was created and how it is encrypted as\n described below:

                      \n
                        \n
                      • \n

                        Objects created by the PUT Object, POST Object, or Copy operation, or through the\n AWS Management Console, and are encrypted by SSE-S3 or plaintext, have ETags that are\n an MD5 digest of their object data.

                        \n
                      • \n
                      • \n

                        Objects created by the PUT Object, POST Object, or Copy operation, or through the\n AWS Management Console, and are encrypted by SSE-C or SSE-KMS, have ETags that are\n not an MD5 digest of their object data.

                        \n
                      • \n
                      • \n

                        If an object is created by either the Multipart Upload or Part Copy operation, the\n ETag is not an MD5 digest, regardless of the method of encryption.

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

                      The entity tag is a hash of the object. The ETag reflects changes only to the contents\n of an object, not its metadata. The ETag may or may not be an MD5 digest of the object\n data. Whether or not it is depends on how the object was created and how it is encrypted as\n described below:

                      \n
                        \n
                      • \n

                        Objects created by the PUT Object, POST Object, or Copy operation, or through the\n Amazon Web Services Management Console, and are encrypted by SSE-S3 or plaintext, have ETags that are\n an MD5 digest of their object data.

                        \n
                      • \n
                      • \n

                        Objects created by the PUT Object, POST Object, or Copy operation, or through the\n Amazon Web Services Management Console, and are encrypted by SSE-C or SSE-KMS, have ETags that are\n not an MD5 digest of their object data.

                        \n
                      • \n
                      • \n

                        If an object is created by either the Multipart Upload or Part Copy operation, the\n ETag is not an MD5 digest, regardless of the method of encryption.

                        \n
                      • \n
                      " } }, "Size": { @@ -9208,7 +9208,7 @@ "RestrictPublicBuckets": { "target": "com.amazonaws.s3#Setting", "traits": { - "smithy.api#documentation": "

                      Specifies whether Amazon S3 should restrict public bucket policies for this bucket. Setting\n this element to TRUE restricts access to this bucket to only AWS service\n principals and authorized users within this account if the bucket has a public\n policy.

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

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

                      Specifies whether Amazon S3 should restrict public bucket policies for this bucket. Setting\n this element to TRUE restricts access to this bucket to only Amazon Web Service\n principals and authorized users within this account if the bucket has a public\n policy.

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

                      ", "smithy.api#xmlName": "RestrictPublicBuckets" } } @@ -9266,7 +9266,7 @@ "target": "com.amazonaws.s3#PutBucketAclRequest" }, "traits": { - "smithy.api#documentation": "

                      Sets the permissions on an existing bucket using access control lists (ACL). For more\n information, see Using ACLs. To set\n the ACL of a bucket, you must have WRITE_ACP permission.

                      \n\n

                      You can use one of the following two ways to set a bucket's permissions:

                      \n
                        \n
                      • \n

                        Specify the ACL in the request body

                        \n
                      • \n
                      • \n

                        Specify permissions using request headers

                        \n
                      • \n
                      \n\n \n

                      You cannot specify access permission using both the body and the request\n headers.

                      \n
                      \n\n

                      Depending on your application needs, you may choose to set the ACL on a bucket using\n either the request body or the headers. For example, if you have an existing application\n that updates a bucket ACL using the request body, then you can continue to use that\n approach.

                      \n\n\n

                      \n Access Permissions\n

                      \n

                      You can set access permissions using one of the following methods:

                      \n
                        \n
                      • \n

                        Specify a canned ACL with the x-amz-acl request header. Amazon S3 supports\n a set of predefined ACLs, known as canned ACLs. Each canned ACL\n has a predefined set of grantees and permissions. Specify the canned ACL name as the\n value of x-amz-acl. If you use this header, you cannot use other access\n control-specific headers in your request. For more information, see Canned ACL.

                        \n
                      • \n
                      • \n

                        Specify access permissions explicitly with the x-amz-grant-read,\n x-amz-grant-read-acp, x-amz-grant-write-acp, and\n x-amz-grant-full-control headers. When using these headers, you\n specify explicit access permissions and grantees (AWS accounts or Amazon S3 groups) who\n will receive the permission. If you use these ACL-specific headers, you cannot use\n the x-amz-acl header to set a canned ACL. These parameters map to the\n set of permissions that Amazon S3 supports in an ACL. For more information, see Access Control List (ACL)\n Overview.

                        \n

                        You specify each grantee as a type=value pair, where the type is one of the\n following:

                        \n
                          \n
                        • \n

                          \n id – if the value specified is the canonical user ID of an AWS\n account

                          \n
                        • \n
                        • \n

                          \n uri – if you are granting permissions to a predefined\n group

                          \n
                        • \n
                        • \n

                          \n emailAddress – if the value specified is the email address of\n an AWS account

                          \n \n

                          Using email addresses to specify a grantee is only supported in the following AWS Regions:

                          \n
                            \n
                          • \n

                            US East (N. Virginia)

                            \n
                          • \n
                          • \n

                            US West (N. California)

                            \n
                          • \n
                          • \n

                            US West (Oregon)

                            \n
                          • \n
                          • \n

                            Asia Pacific (Singapore)

                            \n
                          • \n
                          • \n

                            Asia Pacific (Sydney)

                            \n
                          • \n
                          • \n

                            Asia Pacific (Tokyo)

                            \n
                          • \n
                          • \n

                            Europe (Ireland)

                            \n
                          • \n
                          • \n

                            South America (São Paulo)

                            \n
                          • \n
                          \n

                          For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the AWS General Reference.

                          \n
                          \n
                        • \n
                        \n

                        For example, the following x-amz-grant-write header grants create,\n overwrite, and delete objects permission to LogDelivery group predefined by Amazon S3 and\n two AWS accounts identified by their email addresses.

                        \n

                        \n x-amz-grant-write: uri=\"http://acs.amazonaws.com/groups/s3/LogDelivery\",\n id=\"111122223333\", id=\"555566667777\" \n

                        \n\n
                      • \n
                      \n

                      You can use either a canned ACL or specify access permissions explicitly. You cannot do\n both.

                      \n

                      \n Grantee Values\n

                      \n

                      You can specify the person (grantee) to whom you're assigning access rights (using\n request elements) in the following ways:

                      \n
                        \n
                      • \n

                        By the person's ID:

                        \n

                        \n <>ID<><>GranteesEmail<>\n \n

                        \n

                        DisplayName is optional and ignored in the request

                        \n
                      • \n
                      • \n

                        By URI:

                        \n

                        \n <>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<>\n

                        \n
                      • \n
                      • \n

                        By Email address:

                        \n

                        \n <>Grantees@email.com<>lt;/Grantee>\n

                        \n

                        The grantee is resolved to the CanonicalUser and, in a response to a GET Object\n acl request, appears as the CanonicalUser.

                        \n \n

                        Using email addresses to specify a grantee is only supported in the following AWS Regions:

                        \n
                          \n
                        • \n

                          US East (N. Virginia)

                          \n
                        • \n
                        • \n

                          US West (N. California)

                          \n
                        • \n
                        • \n

                          US West (Oregon)

                          \n
                        • \n
                        • \n

                          Asia Pacific (Singapore)

                          \n
                        • \n
                        • \n

                          Asia Pacific (Sydney)

                          \n
                        • \n
                        • \n

                          Asia Pacific (Tokyo)

                          \n
                        • \n
                        • \n

                          Europe (Ireland)

                          \n
                        • \n
                        • \n

                          South America (São Paulo)

                          \n
                        • \n
                        \n

                        For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the AWS General Reference.

                        \n
                        \n
                      • \n
                      \n\n\n

                      \n Related Resources\n

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

                      Sets the permissions on an existing bucket using access control lists (ACL). For more\n information, see Using ACLs. To set\n the ACL of a bucket, you must have WRITE_ACP permission.

                      \n\n

                      You can use one of the following two ways to set a bucket's permissions:

                      \n
                        \n
                      • \n

                        Specify the ACL in the request body

                        \n
                      • \n
                      • \n

                        Specify permissions using request headers

                        \n
                      • \n
                      \n\n \n

                      You cannot specify access permission using both the body and the request\n headers.

                      \n
                      \n\n

                      Depending on your application needs, you may choose to set the ACL on a bucket using\n either the request body or the headers. For example, if you have an existing application\n that updates a bucket ACL using the request body, then you can continue to use that\n approach.

                      \n\n\n

                      \n Access Permissions\n

                      \n

                      You can set access permissions using one of the following methods:

                      \n
                        \n
                      • \n

                        Specify a canned ACL with the x-amz-acl request header. Amazon S3 supports\n a set of predefined ACLs, known as canned ACLs. Each canned ACL\n has a predefined set of grantees and permissions. Specify the canned ACL name as the\n value of x-amz-acl. If you use this header, you cannot use other access\n control-specific headers in your request. For more information, see Canned ACL.

                        \n
                      • \n
                      • \n

                        Specify access permissions explicitly with the x-amz-grant-read,\n x-amz-grant-read-acp, x-amz-grant-write-acp, and\n x-amz-grant-full-control headers. When using these headers, you\n specify explicit access permissions and grantees (Amazon Web Services accounts or Amazon S3 groups) who\n will receive the permission. If you use these ACL-specific headers, you cannot use\n the x-amz-acl header to set a canned ACL. These parameters map to the\n set of permissions that Amazon S3 supports in an ACL. For more information, see Access Control List (ACL)\n Overview.

                        \n

                        You specify each grantee as a type=value pair, where the type is one of the\n following:

                        \n
                          \n
                        • \n

                          \n id – if the value specified is the canonical user ID of an Amazon Web Services account

                          \n
                        • \n
                        • \n

                          \n uri – if you are granting permissions to a predefined\n group

                          \n
                        • \n
                        • \n

                          \n emailAddress – if the value specified is the email address of\n an Amazon Web Services account

                          \n \n

                          Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions:

                          \n
                            \n
                          • \n

                            US East (N. Virginia)

                            \n
                          • \n
                          • \n

                            US West (N. California)

                            \n
                          • \n
                          • \n

                            US West (Oregon)

                            \n
                          • \n
                          • \n

                            Asia Pacific (Singapore)

                            \n
                          • \n
                          • \n

                            Asia Pacific (Sydney)

                            \n
                          • \n
                          • \n

                            Asia Pacific (Tokyo)

                            \n
                          • \n
                          • \n

                            Europe (Ireland)

                            \n
                          • \n
                          • \n

                            South America (São Paulo)

                            \n
                          • \n
                          \n

                          For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the Amazon Web Services General Reference.

                          \n
                          \n
                        • \n
                        \n

                        For example, the following x-amz-grant-write header grants create,\n overwrite, and delete objects permission to LogDelivery group predefined by Amazon S3 and\n two Amazon Web Services accounts identified by their email addresses.

                        \n

                        \n x-amz-grant-write: uri=\"http://acs.amazonaws.com/groups/s3/LogDelivery\",\n id=\"111122223333\", id=\"555566667777\" \n

                        \n\n
                      • \n
                      \n

                      You can use either a canned ACL or specify access permissions explicitly. You cannot do\n both.

                      \n

                      \n Grantee Values\n

                      \n

                      You can specify the person (grantee) to whom you're assigning access rights (using\n request elements) in the following ways:

                      \n
                        \n
                      • \n

                        By the person's ID:

                        \n

                        \n <>ID<><>GranteesEmail<>\n \n

                        \n

                        DisplayName is optional and ignored in the request

                        \n
                      • \n
                      • \n

                        By URI:

                        \n

                        \n <>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<>\n

                        \n
                      • \n
                      • \n

                        By Email address:

                        \n

                        \n <>Grantees@email.com<>lt;/Grantee>\n

                        \n

                        The grantee is resolved to the CanonicalUser and, in a response to a GET Object\n acl request, appears as the CanonicalUser.

                        \n \n

                        Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions:

                        \n
                          \n
                        • \n

                          US East (N. Virginia)

                          \n
                        • \n
                        • \n

                          US West (N. California)

                          \n
                        • \n
                        • \n

                          US West (Oregon)

                          \n
                        • \n
                        • \n

                          Asia Pacific (Singapore)

                          \n
                        • \n
                        • \n

                          Asia Pacific (Sydney)

                          \n
                        • \n
                        • \n

                          Asia Pacific (Tokyo)

                          \n
                        • \n
                        • \n

                          Europe (Ireland)

                          \n
                        • \n
                        • \n

                          South America (São Paulo)

                          \n
                        • \n
                        \n

                        For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the Amazon Web Services General Reference.

                        \n
                        \n
                      • \n
                      \n\n\n

                      \n Related Resources\n

                      \n ", "smithy.api#http": { "method": "PUT", "uri": "/{Bucket}?acl", @@ -9296,7 +9296,7 @@ "ContentMD5": { "target": "com.amazonaws.s3#ContentMD5", "traits": { - "smithy.api#documentation": "

                      The base64-encoded 128-bit MD5 digest of the data. This header must be used as a message\n integrity check to verify that the request body was not corrupted in transit. For more\n information, go to RFC\n 1864.\n

                      \n

                      For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

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

                      The base64-encoded 128-bit MD5 digest of the data. This header must be used as a message\n integrity check to verify that the request body was not corrupted in transit. For more\n information, go to RFC\n 1864.\n

                      \n

                      For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                      ", "smithy.api#httpHeader": "Content-MD5" } }, @@ -9432,7 +9432,7 @@ "ContentMD5": { "target": "com.amazonaws.s3#ContentMD5", "traits": { - "smithy.api#documentation": "

                      The base64-encoded 128-bit MD5 digest of the data. This header must be used as a message\n integrity check to verify that the request body was not corrupted in transit. For more\n information, go to RFC\n 1864.\n

                      \n

                      For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

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

                      The base64-encoded 128-bit MD5 digest of the data. This header must be used as a message\n integrity check to verify that the request body was not corrupted in transit. For more\n information, go to RFC\n 1864.\n

                      \n

                      For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                      ", "smithy.api#httpHeader": "Content-MD5" } }, @@ -9460,7 +9460,7 @@ "target": "com.amazonaws.s3#PutBucketEncryptionRequest" }, "traits": { - "smithy.api#documentation": "

                      This action uses the encryption subresource to configure default\n encryption and Amazon S3 Bucket Key for an existing bucket.

                      \n

                      Default encryption for a bucket can use server-side encryption with Amazon S3-managed keys\n (SSE-S3) or AWS KMS customer master keys (SSE-KMS). If you specify default encryption\n using SSE-KMS, you can also configure Amazon S3 Bucket Key. For information about default\n encryption, see Amazon S3 default bucket encryption\n in the Amazon S3 User Guide. For more information about S3 Bucket Keys,\n see Amazon S3 Bucket Keys in the Amazon S3 User Guide.

                      \n \n

                      This action requires AWS Signature Version 4. For more information, see Authenticating Requests (AWS Signature\n Version 4).

                      \n
                      \n

                      To use this operation, you must have permissions to perform the\n s3:PutEncryptionConfiguration action. The bucket owner has this permission\n by default. The bucket owner can grant this permission to others. For more information\n about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3\n Resources in the Amazon S3 User Guide.

                      \n \n

                      \n Related Resources\n

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

                      This action uses the encryption subresource to configure default\n encryption and Amazon S3 Bucket Key for an existing bucket.

                      \n

                      Default encryption for a bucket can use server-side encryption with Amazon S3-managed keys\n (SSE-S3) or Amazon Web Services KMS customer master keys (SSE-KMS). If you specify default encryption\n using SSE-KMS, you can also configure Amazon S3 Bucket Key. For information about default\n encryption, see Amazon S3 default bucket encryption\n in the Amazon S3 User Guide. For more information about S3 Bucket Keys,\n see Amazon S3 Bucket Keys in the Amazon S3 User Guide.

                      \n \n

                      This action requires Amazon Web Services Signature Version 4. For more information, see Authenticating Requests (Amazon Web Services Signature\n Version 4).

                      \n
                      \n

                      To use this operation, you must have permissions to perform the\n s3:PutEncryptionConfiguration action. The bucket owner has this permission\n by default. The bucket owner can grant this permission to others. For more information\n about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3\n Resources in the Amazon S3 User Guide.

                      \n \n

                      \n Related Resources\n

                      \n ", "smithy.api#http": { "method": "PUT", "uri": "/{Bucket}?encryption", @@ -9475,7 +9475,7 @@ "Bucket": { "target": "com.amazonaws.s3#BucketName", "traits": { - "smithy.api#documentation": "

                      Specifies default encryption for a bucket using server-side encryption with Amazon S3-managed\n keys (SSE-S3) or customer master keys stored in AWS KMS (SSE-KMS). For information about\n the Amazon S3 default encryption feature, see Amazon S3 Default Bucket Encryption\n in the Amazon S3 User Guide.

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

                      Specifies default encryption for a bucket using server-side encryption with Amazon S3-managed\n keys (SSE-S3) or customer master keys stored in Amazon Web Services KMS (SSE-KMS). For information about\n the Amazon S3 default encryption feature, see Amazon S3 Default Bucket Encryption\n in the Amazon S3 User Guide.

                      ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -9483,7 +9483,7 @@ "ContentMD5": { "target": "com.amazonaws.s3#ContentMD5", "traits": { - "smithy.api#documentation": "

                      The base64-encoded 128-bit MD5 digest of the server-side encryption configuration.

                      \n

                      For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

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

                      The base64-encoded 128-bit MD5 digest of the server-side encryption configuration.

                      \n

                      For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                      ", "smithy.api#httpHeader": "Content-MD5" } }, @@ -9554,7 +9554,7 @@ "target": "com.amazonaws.s3#PutBucketInventoryConfigurationRequest" }, "traits": { - "smithy.api#documentation": "

                      This implementation of the PUT action adds an inventory configuration\n (identified by the inventory ID) to the bucket. You can have up to 1,000 inventory\n configurations per bucket.

                      \n

                      Amazon S3 inventory generates inventories of the objects in the bucket on a daily or weekly\n basis, and the results are published to a flat file. The bucket that is inventoried is\n called the source bucket, and the bucket where the inventory flat file\n is stored is called the destination bucket. The\n destination bucket must be in the same AWS Region as the\n source bucket.

                      \n

                      When you configure an inventory for a source bucket, you specify\n the destination bucket where you want the inventory to be stored, and\n whether to generate the inventory daily or weekly. You can also configure what object\n metadata to include and whether to inventory all object versions or only current versions.\n For more information, see Amazon S3\n Inventory in the Amazon S3 User Guide.

                      \n \n

                      You must create a bucket policy on the destination bucket to\n grant permissions to Amazon S3 to write objects to the bucket in the defined location. For an\n example policy, see \n Granting Permissions for Amazon S3 Inventory and Storage Class Analysis.

                      \n
                      \n

                      To use this operation, you must have permissions to perform the\n s3:PutInventoryConfiguration action. The bucket owner has this permission\n by default and can grant this permission to others. For more information about permissions,\n see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3\n Resources in the Amazon S3 User Guide.

                      \n \n

                      \n Special Errors\n

                      \n
                        \n
                      • \n

                        \n HTTP 400 Bad Request Error\n

                        \n
                          \n
                        • \n

                          \n Code: InvalidArgument

                          \n
                        • \n
                        • \n

                          \n Cause: Invalid Argument

                          \n
                        • \n
                        \n
                      • \n
                      • \n

                        \n HTTP 400 Bad Request Error\n

                        \n
                          \n
                        • \n

                          \n Code: TooManyConfigurations

                          \n
                        • \n
                        • \n

                          \n Cause: You are attempting to create a new configuration\n but have already reached the 1,000-configuration limit.

                          \n
                        • \n
                        \n
                      • \n
                      • \n

                        \n HTTP 403 Forbidden Error\n

                        \n
                          \n
                        • \n

                          \n Code: AccessDenied

                          \n
                        • \n
                        • \n

                          \n Cause: You are not the owner of the specified bucket,\n or you do not have the s3:PutInventoryConfiguration bucket\n permission to set the configuration on the bucket.

                          \n
                        • \n
                        \n
                      • \n
                      \n \n

                      \n Related Resources\n

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

                      This implementation of the PUT action adds an inventory configuration\n (identified by the inventory ID) to the bucket. You can have up to 1,000 inventory\n configurations per bucket.

                      \n

                      Amazon S3 inventory generates inventories of the objects in the bucket on a daily or weekly\n basis, and the results are published to a flat file. The bucket that is inventoried is\n called the source bucket, and the bucket where the inventory flat file\n is stored is called the destination bucket. The\n destination bucket must be in the same Amazon Web Services Region as the\n source bucket.

                      \n

                      When you configure an inventory for a source bucket, you specify\n the destination bucket where you want the inventory to be stored, and\n whether to generate the inventory daily or weekly. You can also configure what object\n metadata to include and whether to inventory all object versions or only current versions.\n For more information, see Amazon S3\n Inventory in the Amazon S3 User Guide.

                      \n \n

                      You must create a bucket policy on the destination bucket to\n grant permissions to Amazon S3 to write objects to the bucket in the defined location. For an\n example policy, see \n Granting Permissions for Amazon S3 Inventory and Storage Class Analysis.

                      \n
                      \n

                      To use this operation, you must have permissions to perform the\n s3:PutInventoryConfiguration action. The bucket owner has this permission\n by default and can grant this permission to others. For more information about permissions,\n see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3\n Resources in the Amazon S3 User Guide.

                      \n \n

                      \n Special Errors\n

                      \n
                        \n
                      • \n

                        \n HTTP 400 Bad Request Error\n

                        \n
                          \n
                        • \n

                          \n Code: InvalidArgument

                          \n
                        • \n
                        • \n

                          \n Cause: Invalid Argument

                          \n
                        • \n
                        \n
                      • \n
                      • \n

                        \n HTTP 400 Bad Request Error\n

                        \n
                          \n
                        • \n

                          \n Code: TooManyConfigurations

                          \n
                        • \n
                        • \n

                          \n Cause: You are attempting to create a new configuration\n but have already reached the 1,000-configuration limit.

                          \n
                        • \n
                        \n
                      • \n
                      • \n

                        \n HTTP 403 Forbidden Error\n

                        \n
                          \n
                        • \n

                          \n Code: AccessDenied

                          \n
                        • \n
                        • \n

                          \n Cause: You are not the owner of the specified bucket,\n or you do not have the s3:PutInventoryConfiguration bucket\n permission to set the configuration on the bucket.

                          \n
                        • \n
                        \n
                      • \n
                      \n \n

                      \n Related Resources\n

                      \n ", "smithy.api#http": { "method": "PUT", "uri": "/{Bucket}?inventory", @@ -9605,7 +9605,7 @@ "target": "com.amazonaws.s3#PutBucketLifecycleConfigurationRequest" }, "traits": { - "smithy.api#documentation": "

                      Creates a new lifecycle configuration for the bucket or replaces an existing lifecycle\n configuration. For information about lifecycle configuration, see Managing your storage\n lifecycle.

                      \n\n \n

                      Bucket lifecycle configuration now supports specifying a lifecycle rule using an\n object key name prefix, one or more object tags, or a combination of both. Accordingly,\n this section describes the latest API. The previous version of the API supported\n filtering based only on an object key name prefix, which is supported for backward\n compatibility. For the related API description, see PutBucketLifecycle.

                      \n
                      \n\n \n\n

                      \n Rules\n

                      \n

                      You specify the lifecycle configuration in your request body. The lifecycle\n configuration is specified as XML consisting of one or more rules. Each rule consists of\n the following:

                      \n\n
                        \n
                      • \n

                        Filter identifying a subset of objects to which the rule applies. The filter can\n be based on a key name prefix, object tags, or a combination of both.

                        \n
                      • \n
                      • \n

                        Status whether the rule is in effect.

                        \n
                      • \n
                      • \n

                        One or more lifecycle transition and expiration actions that you want Amazon S3 to\n perform on the objects identified by the filter. If the state of your bucket is\n versioning-enabled or versioning-suspended, you can have many versions of the same\n object (one current version and zero or more noncurrent versions). Amazon S3 provides\n predefined actions that you can specify for current and noncurrent object\n versions.

                        \n
                      • \n
                      \n\n

                      For more information, see Object\n Lifecycle Management and Lifecycle Configuration Elements.

                      \n\n\n

                      \n Permissions\n

                      \n\n\n

                      By default, all Amazon S3 resources are private, including buckets, objects, and related\n subresources (for example, lifecycle configuration and website configuration). Only the\n resource owner (that is, the AWS account that created it) can access the resource. The\n resource owner can optionally grant access permissions to others by writing an access\n policy. For this operation, a user must get the s3:PutLifecycleConfiguration\n permission.

                      \n\n

                      You can also explicitly deny permissions. Explicit deny also supersedes any other\n permissions. If you want to block users or accounts from removing or deleting objects from\n your bucket, you must deny them permissions for the following actions:

                      \n\n
                        \n
                      • \n

                        s3:DeleteObject

                        \n
                      • \n
                      • \n

                        s3:DeleteObjectVersion

                        \n
                      • \n
                      • \n

                        s3:PutLifecycleConfiguration

                        \n
                      • \n
                      \n\n\n

                      For more information about permissions, see Managing Access Permissions to Your Amazon S3\n Resources.

                      \n\n

                      The following are related to PutBucketLifecycleConfiguration:

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

                      Creates a new lifecycle configuration for the bucket or replaces an existing lifecycle\n configuration. For information about lifecycle configuration, see Managing your storage\n lifecycle.

                      \n\n \n

                      Bucket lifecycle configuration now supports specifying a lifecycle rule using an\n object key name prefix, one or more object tags, or a combination of both. Accordingly,\n this section describes the latest API. The previous version of the API supported\n filtering based only on an object key name prefix, which is supported for backward\n compatibility. For the related API description, see PutBucketLifecycle.

                      \n
                      \n\n \n\n

                      \n Rules\n

                      \n

                      You specify the lifecycle configuration in your request body. The lifecycle\n configuration is specified as XML consisting of one or more rules. Each rule consists of\n the following:

                      \n\n
                        \n
                      • \n

                        Filter identifying a subset of objects to which the rule applies. The filter can\n be based on a key name prefix, object tags, or a combination of both.

                        \n
                      • \n
                      • \n

                        Status whether the rule is in effect.

                        \n
                      • \n
                      • \n

                        One or more lifecycle transition and expiration actions that you want Amazon S3 to\n perform on the objects identified by the filter. If the state of your bucket is\n versioning-enabled or versioning-suspended, you can have many versions of the same\n object (one current version and zero or more noncurrent versions). Amazon S3 provides\n predefined actions that you can specify for current and noncurrent object\n versions.

                        \n
                      • \n
                      \n\n

                      For more information, see Object\n Lifecycle Management and Lifecycle Configuration Elements.

                      \n\n\n

                      \n Permissions\n

                      \n\n\n

                      By default, all Amazon S3 resources are private, including buckets, objects, and related\n subresources (for example, lifecycle configuration and website configuration). Only the\n resource owner (that is, the Amazon Web Services account that created it) can access the resource. The\n resource owner can optionally grant access permissions to others by writing an access\n policy. For this operation, a user must get the s3:PutLifecycleConfiguration\n permission.

                      \n\n

                      You can also explicitly deny permissions. Explicit deny also supersedes any other\n permissions. If you want to block users or accounts from removing or deleting objects from\n your bucket, you must deny them permissions for the following actions:

                      \n\n
                        \n
                      • \n

                        s3:DeleteObject

                        \n
                      • \n
                      • \n

                        s3:DeleteObjectVersion

                        \n
                      • \n
                      • \n

                        s3:PutLifecycleConfiguration

                        \n
                      • \n
                      \n\n\n

                      For more information about permissions, see Managing Access Permissions to Your Amazon S3\n Resources.

                      \n\n

                      The following are related to PutBucketLifecycleConfiguration:

                      \n ", "smithy.api#http": { "method": "PUT", "uri": "/{Bucket}?lifecycle", @@ -9648,7 +9648,7 @@ "target": "com.amazonaws.s3#PutBucketLoggingRequest" }, "traits": { - "smithy.api#documentation": "

                      Set the logging parameters for a bucket and to specify permissions for who can view and\n modify the logging parameters. All logs are saved to buckets in the same AWS Region as the\n source bucket. To set the logging status of a bucket, you must be the bucket owner.

                      \n\n

                      The bucket owner is automatically granted FULL_CONTROL to all logs. You use the\n Grantee request element to grant access to other people. The\n Permissions request element specifies the kind of access the grantee has to\n the logs.

                      \n\n

                      \n Grantee Values\n

                      \n

                      You can specify the person (grantee) to whom you're assigning access rights (using\n request elements) in the following ways:

                      \n\n
                        \n
                      • \n

                        By the person's ID:

                        \n

                        \n <>ID<><>GranteesEmail<>\n \n

                        \n

                        DisplayName is optional and ignored in the request.

                        \n
                      • \n
                      • \n

                        By Email address:

                        \n

                        \n <>Grantees@email.com<>\n

                        \n

                        The grantee is resolved to the CanonicalUser and, in a response to a GET Object\n acl request, appears as the CanonicalUser.

                        \n
                      • \n
                      • \n

                        By URI:

                        \n

                        \n <>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<>\n

                        \n
                      • \n
                      \n\n\n

                      To enable logging, you use LoggingEnabled and its children request elements. To disable\n logging, you use an empty BucketLoggingStatus request element:

                      \n\n

                      \n \n

                      \n\n

                      For more information about server access logging, see Server Access Logging.

                      \n\n

                      For more information about creating a bucket, see CreateBucket. For more\n information about returning the logging status of a bucket, see GetBucketLogging.

                      \n\n

                      The following operations are related to PutBucketLogging:

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

                      Set the logging parameters for a bucket and to specify permissions for who can view and\n modify the logging parameters. All logs are saved to buckets in the same Amazon Web Services Region as the\n source bucket. To set the logging status of a bucket, you must be the bucket owner.

                      \n\n

                      The bucket owner is automatically granted FULL_CONTROL to all logs. You use the\n Grantee request element to grant access to other people. The\n Permissions request element specifies the kind of access the grantee has to\n the logs.

                      \n\n

                      \n Grantee Values\n

                      \n

                      You can specify the person (grantee) to whom you're assigning access rights (using\n request elements) in the following ways:

                      \n\n
                        \n
                      • \n

                        By the person's ID:

                        \n

                        \n <>ID<><>GranteesEmail<>\n \n

                        \n

                        DisplayName is optional and ignored in the request.

                        \n
                      • \n
                      • \n

                        By Email address:

                        \n

                        \n <>Grantees@email.com<>\n

                        \n

                        The grantee is resolved to the CanonicalUser and, in a response to a GET Object\n acl request, appears as the CanonicalUser.

                        \n
                      • \n
                      • \n

                        By URI:

                        \n

                        \n <>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<>\n

                        \n
                      • \n
                      \n\n\n

                      To enable logging, you use LoggingEnabled and its children request elements. To disable\n logging, you use an empty BucketLoggingStatus request element:

                      \n\n

                      \n \n

                      \n\n

                      For more information about server access logging, see Server Access Logging.

                      \n\n

                      For more information about creating a bucket, see CreateBucket. For more\n information about returning the logging status of a bucket, see GetBucketLogging.

                      \n\n

                      The following operations are related to PutBucketLogging:

                      \n ", "smithy.api#http": { "method": "PUT", "uri": "/{Bucket}?logging", @@ -9671,7 +9671,7 @@ "ContentMD5": { "target": "com.amazonaws.s3#ContentMD5", "traits": { - "smithy.api#documentation": "

                      The MD5 hash of the PutBucketLogging request body.

                      \n

                      For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

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

                      The MD5 hash of the PutBucketLogging request body.

                      \n

                      For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                      ", "smithy.api#httpHeader": "Content-MD5" } }, @@ -9750,7 +9750,7 @@ "target": "com.amazonaws.s3#PutBucketNotificationConfigurationRequest" }, "traits": { - "smithy.api#documentation": "

                      Enables notifications of specified events for a bucket. For more information about event\n notifications, see Configuring Event\n Notifications.

                      \n\n

                      Using this API, you can replace an existing notification configuration. The\n configuration is an XML file that defines the event types that you want Amazon S3 to publish and\n the destination where you want Amazon S3 to publish an event notification when it detects an\n event of the specified type.

                      \n\n

                      By default, your bucket has no event notifications configured. That is, the notification\n configuration will be an empty NotificationConfiguration.

                      \n\n

                      \n \n

                      \n

                      \n \n

                      \n

                      This action replaces the existing notification configuration with the configuration\n you include in the request body.

                      \n\n

                      After Amazon S3 receives this request, it first verifies that any Amazon Simple Notification\n Service (Amazon SNS) or Amazon Simple Queue Service (Amazon SQS) destination exists, and\n that the bucket owner has permission to publish to it by sending a test notification. In\n the case of AWS Lambda destinations, Amazon S3 verifies that the Lambda function permissions\n grant Amazon S3 permission to invoke the function from the Amazon S3 bucket. For more information,\n see Configuring Notifications for Amazon S3\n Events.

                      \n\n

                      You can disable notifications by adding the empty NotificationConfiguration\n element.

                      \n\n

                      By default, only the bucket owner can configure notifications on a bucket. However,\n bucket owners can use a bucket policy to grant permission to other users to set this\n configuration with s3:PutBucketNotification permission.

                      \n\n \n

                      The PUT notification is an atomic operation. For example, suppose your notification\n configuration includes SNS topic, SQS queue, and Lambda function configurations. When\n you send a PUT request with this configuration, Amazon S3 sends test messages to your SNS\n topic. If the message fails, the entire PUT action will fail, and Amazon S3 will not add\n the configuration to your bucket.

                      \n
                      \n\n

                      \n Responses\n

                      \n

                      If the configuration in the request body includes only one\n TopicConfiguration specifying only the\n s3:ReducedRedundancyLostObject event type, the response will also include\n the x-amz-sns-test-message-id header containing the message ID of the test\n notification sent to the topic.

                      \n\n

                      The following action is related to\n PutBucketNotificationConfiguration:

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

                      Enables notifications of specified events for a bucket. For more information about event\n notifications, see Configuring Event\n Notifications.

                      \n\n

                      Using this API, you can replace an existing notification configuration. The\n configuration is an XML file that defines the event types that you want Amazon S3 to publish and\n the destination where you want Amazon S3 to publish an event notification when it detects an\n event of the specified type.

                      \n\n

                      By default, your bucket has no event notifications configured. That is, the notification\n configuration will be an empty NotificationConfiguration.

                      \n\n

                      \n \n

                      \n

                      \n \n

                      \n

                      This action replaces the existing notification configuration with the configuration\n you include in the request body.

                      \n\n

                      After Amazon S3 receives this request, it first verifies that any Amazon Simple Notification\n Service (Amazon SNS) or Amazon Simple Queue Service (Amazon SQS) destination exists, and\n that the bucket owner has permission to publish to it by sending a test notification. In\n the case of Lambda destinations, Amazon S3 verifies that the Lambda function permissions\n grant Amazon S3 permission to invoke the function from the Amazon S3 bucket. For more information,\n see Configuring Notifications for Amazon S3\n Events.

                      \n\n

                      You can disable notifications by adding the empty NotificationConfiguration\n element.

                      \n\n

                      By default, only the bucket owner can configure notifications on a bucket. However,\n bucket owners can use a bucket policy to grant permission to other users to set this\n configuration with s3:PutBucketNotification permission.

                      \n\n \n

                      The PUT notification is an atomic operation. For example, suppose your notification\n configuration includes SNS topic, SQS queue, and Lambda function configurations. When\n you send a PUT request with this configuration, Amazon S3 sends test messages to your SNS\n topic. If the message fails, the entire PUT action will fail, and Amazon S3 will not add\n the configuration to your bucket.

                      \n
                      \n\n

                      \n Responses\n

                      \n

                      If the configuration in the request body includes only one\n TopicConfiguration specifying only the\n s3:ReducedRedundancyLostObject event type, the response will also include\n the x-amz-sns-test-message-id header containing the message ID of the test\n notification sent to the topic.

                      \n\n

                      The following action is related to\n PutBucketNotificationConfiguration:

                      \n ", "smithy.api#http": { "method": "PUT", "uri": "/{Bucket}?notification", @@ -9815,7 +9815,7 @@ "ContentMD5": { "target": "com.amazonaws.s3#ContentMD5", "traits": { - "smithy.api#documentation": "

                      The MD5 hash of the OwnershipControls request body.

                      \n

                      For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

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

                      The MD5 hash of the OwnershipControls request body.

                      \n

                      For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                      ", "smithy.api#httpHeader": "Content-MD5" } }, @@ -9843,7 +9843,7 @@ "target": "com.amazonaws.s3#PutBucketPolicyRequest" }, "traits": { - "smithy.api#documentation": "

                      Applies an Amazon S3 bucket policy to an Amazon S3 bucket. If you are using an identity other than\n the root user of the AWS account that owns the bucket, the calling identity must have the\n PutBucketPolicy permissions on the specified bucket and belong to the\n bucket owner's account in order to use this operation.

                      \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 AWS account that owns a bucket can\n always use this operation, even if the policy explicitly denies the root user the\n ability to perform this action.

                      \n
                      \n\n\n

                      For more information about bucket policies, see Using Bucket Policies and User\n Policies.

                      \n\n

                      The following operations are related to PutBucketPolicy:

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

                      Applies an Amazon S3 bucket policy to an Amazon S3 bucket. If you are using an identity other than\n the root user of the Amazon Web Services account that owns the bucket, the calling identity must have the\n PutBucketPolicy permissions on the specified bucket and belong to the\n bucket owner's account in order to use this operation.

                      \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 operation, even if the policy explicitly denies the root user the\n ability to perform this action.

                      \n
                      \n

                      For more information, see Bucket policy examples.

                      \n\n

                      The following operations are related to PutBucketPolicy:

                      \n ", "smithy.api#http": { "method": "PUT", "uri": "/{Bucket}?policy", @@ -9866,7 +9866,7 @@ "ContentMD5": { "target": "com.amazonaws.s3#ContentMD5", "traits": { - "smithy.api#documentation": "

                      The MD5 hash of the request body.

                      \n

                      For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

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

                      The MD5 hash of the request body.

                      \n

                      For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                      ", "smithy.api#httpHeader": "Content-MD5" } }, @@ -9900,7 +9900,7 @@ "target": "com.amazonaws.s3#PutBucketReplicationRequest" }, "traits": { - "smithy.api#documentation": "

                      Creates a replication configuration or replaces an existing one. For more information,\n see Replication in the Amazon S3 User Guide.

                      \n \n

                      To perform this operation, the user or role performing the action must have the\n iam:PassRole permission.

                      \n
                      \n

                      Specify the replication configuration in the request body. In the replication\n configuration, you provide the name of the destination bucket or buckets where you want\n Amazon S3 to replicate objects, the IAM role that Amazon S3 can assume to replicate objects on your\n behalf, and other relevant information.

                      \n\n\n

                      A replication configuration must include at least one rule, and can contain a maximum of\n 1,000. Each rule identifies a subset of objects to replicate by filtering the objects in\n the source bucket. To choose additional subsets of objects to replicate, add a rule for\n each subset.

                      \n\n

                      To specify a subset of the objects in the source bucket to apply a replication rule to,\n add the Filter element as a child of the Rule element. You can filter objects based on an\n object key prefix, one or more object tags, or both. When you add the Filter element in the\n configuration, you must also add the following elements:\n DeleteMarkerReplication, Status, and\n Priority.

                      \n \n

                      If you are using an earlier version of the replication configuration, Amazon S3 handles\n replication of delete markers differently. For more information, see Backward Compatibility.

                      \n
                      \n

                      For information about enabling versioning on a bucket, see Using Versioning.

                      \n\n

                      By default, a resource owner, in this case the AWS account that created the bucket, can\n perform this operation. The resource owner can also grant others permissions to perform the\n operation. For more information about permissions, see Specifying Permissions in a Policy\n and Managing Access Permissions to Your\n Amazon S3 Resources.

                      \n\n

                      \n Handling Replication of Encrypted Objects\n

                      \n

                      By default, Amazon S3 doesn't replicate objects that are stored at rest using server-side\n encryption with CMKs stored in AWS KMS. To replicate AWS KMS-encrypted objects, add the\n following: SourceSelectionCriteria, SseKmsEncryptedObjects,\n Status, EncryptionConfiguration, and\n ReplicaKmsKeyID. For information about replication configuration, see\n Replicating Objects\n Created with SSE Using CMKs stored in AWS KMS.

                      \n\n

                      For information on PutBucketReplication errors, see List of\n replication-related error codes\n

                      \n\n\n

                      The following operations are related to PutBucketReplication:

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

                      Creates a replication configuration or replaces an existing one. For more information,\n see Replication in the Amazon S3 User Guide.

                      \n \n

                      Specify the replication configuration in the request body. In the replication\n configuration, you provide the name of the destination bucket or buckets where you want\n Amazon S3 to replicate objects, the IAM role that Amazon S3 can assume to replicate objects on your\n behalf, and other relevant information.

                      \n\n\n

                      A replication configuration must include at least one rule, and can contain a maximum of\n 1,000. Each rule identifies a subset of objects to replicate by filtering the objects in\n the source bucket. To choose additional subsets of objects to replicate, add a rule for\n each subset.

                      \n\n

                      To specify a subset of the objects in the source bucket to apply a replication rule to,\n add the Filter element as a child of the Rule element. You can filter objects based on an\n object key prefix, one or more object tags, or both. When you add the Filter element in the\n configuration, you must also add the following elements:\n DeleteMarkerReplication, Status, and\n Priority.

                      \n \n

                      If you are using an earlier version of the replication configuration, Amazon S3 handles\n replication of delete markers differently. For more information, see Backward Compatibility.

                      \n
                      \n

                      For information about enabling versioning on a bucket, see Using Versioning.

                      \n\n

                      \n Handling Replication of Encrypted Objects\n

                      \n

                      By default, Amazon S3 doesn't replicate objects that are stored at rest using server-side\n encryption with CMKs stored in Amazon Web Services KMS. To replicate Amazon Web Services KMS-encrypted objects, add the\n following: SourceSelectionCriteria, SseKmsEncryptedObjects,\n Status, EncryptionConfiguration, and\n ReplicaKmsKeyID. For information about replication configuration, see\n Replicating Objects\n Created with SSE Using CMKs stored in Amazon Web Services KMS.

                      \n\n

                      For information on PutBucketReplication errors, see List of\n replication-related error codes\n

                      \n\n

                      \n Permissions\n

                      \n

                      To create a PutBucketReplication request, you must have s3:PutReplicationConfiguration \n permissions for the bucket. \n

                      \n

                      By default, a resource owner, in this case the Amazon Web Services account that created the bucket, can\n perform this operation. The resource owner can also grant others permissions to perform the\n operation. For more information about permissions, see Specifying Permissions in a Policy\n and Managing Access Permissions to Your\n Amazon S3 Resources.

                      \n \n

                      To perform this operation, the user or role performing the action must have the\n iam:PassRole permission.

                      \n
                      \n\n

                      The following operations are related to PutBucketReplication:

                      \n ", "smithy.api#http": { "method": "PUT", "uri": "/{Bucket}?replication", @@ -9923,7 +9923,7 @@ "ContentMD5": { "target": "com.amazonaws.s3#ContentMD5", "traits": { - "smithy.api#documentation": "

                      The base64-encoded 128-bit MD5 digest of the data. You must use this header as a message\n integrity check to verify that the request body was not corrupted in transit. For more\n information, see RFC 1864.

                      \n

                      For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

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

                      The base64-encoded 128-bit MD5 digest of the data. You must use this header as a message\n integrity check to verify that the request body was not corrupted in transit. For more\n information, see RFC 1864.

                      \n

                      For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                      ", "smithy.api#httpHeader": "Content-MD5" } }, @@ -9980,7 +9980,7 @@ "ContentMD5": { "target": "com.amazonaws.s3#ContentMD5", "traits": { - "smithy.api#documentation": "

                      The base64-encoded 128-bit MD5 digest of the data. You must use this header as a\n message integrity check to verify that the request body was not corrupted in transit. For\n more information, see RFC\n 1864.

                      \n

                      For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

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

                      The base64-encoded 128-bit MD5 digest of the data. You must use this header as a\n message integrity check to verify that the request body was not corrupted in transit. For\n more information, see RFC\n 1864.

                      \n

                      For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                      ", "smithy.api#httpHeader": "Content-MD5" } }, @@ -10008,7 +10008,7 @@ "target": "com.amazonaws.s3#PutBucketTaggingRequest" }, "traits": { - "smithy.api#documentation": "

                      Sets the tags for a bucket.

                      \n

                      Use tags to organize your AWS bill to reflect your own cost structure. To do this, sign\n up to get your AWS account bill with tag key values included. Then, to see the cost of\n combined resources, organize your billing information according to resources with the same\n 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\n and Tagging and Using Cost Allocation in Amazon S3 Bucket\n Tags.

                      \n\n \n

                      \n When this operation sets the tags for a bucket, it will overwrite any current tags the \n bucket already has. You cannot use this operation to add tags to an existing list of tags.

                      \n
                      \n

                      To use this operation, you must have permissions to perform the\n s3:PutBucketTagging action. The bucket owner has this permission by default\n and can grant this permission to others. For more information about 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
                      • \n

                        Error code: InvalidTagError\n

                        \n \n
                      • \n
                      • \n

                        Error code: MalformedXMLError\n

                        \n
                          \n
                        • \n

                          Description: The XML provided does not match the schema.

                          \n
                        • \n
                        \n
                      • \n
                      • \n

                        Error code: OperationAbortedError \n

                        \n
                          \n
                        • \n

                          Description: A conflicting conditional action is currently in progress\n against this resource. Please try again.

                          \n
                        • \n
                        \n
                      • \n
                      • \n

                        Error code: InternalError\n

                        \n
                          \n
                        • \n

                          Description: The service was unable to apply the provided tag to the\n bucket.

                          \n
                        • \n
                        \n
                      • \n
                      \n\n\n

                      The following operations are related to PutBucketTagging:

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

                      Sets the tags for a bucket.

                      \n

                      Use tags to organize your Amazon Web Services bill to reflect your own cost structure. To do this, sign\n up to get your Amazon Web Services account bill with tag key values included. Then, to see the cost of\n combined resources, organize your billing information according to resources with the same\n 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\n and Tagging and Using Cost Allocation in Amazon S3 Bucket\n Tags.

                      \n\n \n

                      \n When this operation sets the tags for a bucket, it will overwrite any current tags the \n bucket already has. You cannot use this operation to add tags to an existing list of tags.

                      \n
                      \n

                      To use this operation, you must have permissions to perform the\n s3:PutBucketTagging action. The bucket owner has this permission by default\n and can grant this permission to others. For more information about 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
                      • \n

                        Error code: InvalidTagError\n

                        \n \n
                      • \n
                      • \n

                        Error code: MalformedXMLError\n

                        \n
                          \n
                        • \n

                          Description: The XML provided does not match the schema.

                          \n
                        • \n
                        \n
                      • \n
                      • \n

                        Error code: OperationAbortedError \n

                        \n
                          \n
                        • \n

                          Description: A conflicting conditional action is currently in progress\n against this resource. Please try again.

                          \n
                        • \n
                        \n
                      • \n
                      • \n

                        Error code: InternalError\n

                        \n
                          \n
                        • \n

                          Description: The service was unable to apply the provided tag to the\n bucket.

                          \n
                        • \n
                        \n
                      • \n
                      \n\n\n

                      The following operations are related to PutBucketTagging:

                      \n ", "smithy.api#http": { "method": "PUT", "uri": "/{Bucket}?tagging", @@ -10031,7 +10031,7 @@ "ContentMD5": { "target": "com.amazonaws.s3#ContentMD5", "traits": { - "smithy.api#documentation": "

                      The base64-encoded 128-bit MD5 digest of the data. You must use this header as a message\n integrity check to verify that the request body was not corrupted in transit. For more\n information, see RFC 1864.

                      \n

                      For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

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

                      The base64-encoded 128-bit MD5 digest of the data. You must use this header as a message\n integrity check to verify that the request body was not corrupted in transit. For more\n information, see RFC 1864.

                      \n

                      For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                      ", "smithy.api#httpHeader": "Content-MD5" } }, @@ -10082,7 +10082,7 @@ "ContentMD5": { "target": "com.amazonaws.s3#ContentMD5", "traits": { - "smithy.api#documentation": "

                      >The base64-encoded 128-bit MD5 digest of the data. You must use this header as a\n message integrity check to verify that the request body was not corrupted in transit. For\n more information, see RFC\n 1864.

                      \n

                      For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

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

                      >The base64-encoded 128-bit MD5 digest of the data. You must use this header as a\n message integrity check to verify that the request body was not corrupted in transit. For\n more information, see RFC\n 1864.

                      \n

                      For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                      ", "smithy.api#httpHeader": "Content-MD5" } }, @@ -10140,7 +10140,7 @@ "ContentMD5": { "target": "com.amazonaws.s3#ContentMD5", "traits": { - "smithy.api#documentation": "

                      The base64-encoded 128-bit MD5 digest of the data. You must use this header as a message\n integrity check to verify that the request body was not corrupted in transit. For more\n information, see RFC 1864.

                      \n

                      For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

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

                      The base64-encoded 128-bit MD5 digest of the data. You must use this header as a message\n integrity check to verify that the request body was not corrupted in transit. For more\n information, see RFC 1864.

                      \n

                      For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                      ", "smithy.api#httpHeader": "Content-MD5" } }, @@ -10171,7 +10171,7 @@ "target": "com.amazonaws.s3#PutObjectOutput" }, "traits": { - "smithy.api#documentation": "

                      Adds an object to a bucket. You must have WRITE permissions on a bucket to add an object\n to it.

                      \n\n\n

                      Amazon S3 never adds partial objects; if you receive a success response, Amazon S3 added the\n entire object to the bucket.

                      \n\n

                      Amazon S3 is a distributed system. If it receives multiple write requests for the same object\n simultaneously, it overwrites all but the last object written. Amazon S3 does not provide object\n locking; if you need this, make sure to build it into your application layer or use\n versioning instead.

                      \n\n

                      To ensure that data is not corrupted traversing the network, use the\n Content-MD5 header. When you use this header, Amazon S3 checks the object\n against the provided MD5 value and, if they do not match, returns an error. Additionally,\n you can calculate the MD5 while putting an object to Amazon S3 and compare the returned ETag to\n the calculated MD5 value.

                      \n \n

                      The Content-MD5 header is required for any request to upload an object\n with a retention period configured using Amazon S3 Object Lock. For more information about\n Amazon S3 Object Lock, see Amazon S3 Object Lock Overview\n in the Amazon S3 User Guide.

                      \n
                      \n\n\n

                      \n Server-side Encryption\n

                      \n

                      You can optionally request server-side encryption. With server-side encryption, Amazon S3 encrypts \n your data as it writes it to disks in its data centers and decrypts the data\n when you access it. You have the option to provide your own encryption key or use AWS\n managed encryption keys (SSE-S3 or SSE-KMS). For more information, see Using Server-Side\n Encryption.

                      \n

                      If you request server-side encryption using AWS Key Management Service (SSE-KMS), you can enable \n an S3 Bucket Key at the object-level. For more information, see Amazon S3 Bucket Keys in the \n Amazon S3 User Guide.

                      \n

                      \n Access Control List (ACL)-Specific Request\n Headers\n

                      \n

                      You can use headers to grant ACL- based permissions. By default, all objects are\n private. Only the owner has full access control. When adding a new object, you can grant\n permissions to individual AWS accounts or to predefined groups defined by Amazon S3. These\n permissions are then added to the ACL on the object. For more information, see Access Control List\n (ACL) Overview and Managing ACLs Using the REST\n API.

                      \n\n

                      \n Storage Class Options\n

                      \n

                      By default, Amazon S3 uses the STANDARD Storage Class to store newly created objects. The\n STANDARD storage class provides high durability and high availability. Depending on\n performance needs, you can specify a different Storage Class. Amazon S3 on Outposts only uses\n the OUTPOSTS Storage Class. For more information, see Storage Classes in the\n Amazon S3 User Guide.

                      \n\n\n

                      \n Versioning\n

                      \n

                      If you enable versioning for a bucket, Amazon S3 automatically generates a unique version ID\n for the object being stored. Amazon S3 returns this ID in the response. When you enable\n versioning for a bucket, if Amazon S3 receives multiple write requests for the same object\n simultaneously, it stores all of the objects.

                      \n

                      For more information about versioning, see Adding Objects to\n Versioning Enabled Buckets. For information about returning the versioning state\n of a bucket, see GetBucketVersioning.

                      \n\n\n

                      \n Related Resources\n

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

                      Adds an object to a bucket. You must have WRITE permissions on a bucket to add an object\n to it.

                      \n\n\n

                      Amazon S3 never adds partial objects; if you receive a success response, Amazon S3 added the\n entire object to the bucket.

                      \n\n

                      Amazon S3 is a distributed system. If it receives multiple write requests for the same object\n simultaneously, it overwrites all but the last object written. Amazon S3 does not provide object\n locking; if you need this, make sure to build it into your application layer or use\n versioning instead.

                      \n\n

                      To ensure that data is not corrupted traversing the network, use the\n Content-MD5 header. When you use this header, Amazon S3 checks the object\n against the provided MD5 value and, if they do not match, returns an error. Additionally,\n you can calculate the MD5 while putting an object to Amazon S3 and compare the returned ETag to\n the calculated MD5 value.

                      \n \n
                        \n
                      • \n

                        To successfully complete the PutObject request, you must have the \n s3:PutObject in your IAM permissions.

                        \n
                      • \n
                      • \n

                        To successfully change the objects acl of your PutObject request, \n you must have the s3:PutObjectAcl in your IAM permissions.

                        \n
                      • \n
                      • \n

                        The Content-MD5 header is required for any request to upload an object\n with a retention period configured using Amazon S3 Object Lock. For more information about\n Amazon S3 Object Lock, see Amazon S3 Object Lock Overview\n in the Amazon S3 User Guide.

                        \n
                      • \n
                      \n
                      \n\n

                      \n Server-side Encryption\n

                      \n

                      You can optionally request server-side encryption. With server-side encryption, Amazon S3 encrypts \n your data as it writes it to disks in its data centers and decrypts the data\n when you access it. You have the option to provide your own encryption key or use Amazon Web Services\n managed encryption keys (SSE-S3 or SSE-KMS). For more information, see Using Server-Side\n Encryption.

                      \n

                      If you request server-side encryption using Amazon Web Services Key Management Service (SSE-KMS), you can enable \n an S3 Bucket Key at the object-level. For more information, see Amazon S3 Bucket Keys in the \n Amazon S3 User Guide.

                      \n

                      \n Access Control List (ACL)-Specific Request\n Headers\n

                      \n

                      You can use headers to grant ACL- based permissions. By default, all objects are\n private. Only the owner has full access control. When adding a new object, you can grant\n permissions to individual Amazon Web Services accounts or to predefined groups defined by Amazon S3. These\n permissions are then added to the ACL on the object. For more information, see Access Control List\n (ACL) Overview and Managing ACLs Using the REST\n API.

                      \n\n

                      \n Storage Class Options\n

                      \n

                      By default, Amazon S3 uses the STANDARD Storage Class to store newly created objects. The\n STANDARD storage class provides high durability and high availability. Depending on\n performance needs, you can specify a different Storage Class. Amazon S3 on Outposts only uses\n the OUTPOSTS Storage Class. For more information, see Storage Classes in the\n Amazon S3 User Guide.

                      \n\n\n

                      \n Versioning\n

                      \n

                      If you enable versioning for a bucket, Amazon S3 automatically generates a unique version ID\n for the object being stored. Amazon S3 returns this ID in the response. When you enable\n versioning for a bucket, if Amazon S3 receives multiple write requests for the same object\n simultaneously, it stores all of the objects.

                      \n

                      For more information about versioning, see Adding Objects to\n Versioning Enabled Buckets. For information about returning the versioning state\n of a bucket, see GetBucketVersioning.

                      \n\n\n

                      \n Related Resources\n

                      \n ", "smithy.api#http": { "method": "PUT", "uri": "/{Bucket}/{Key+}?x-id=PutObject", @@ -10193,7 +10193,7 @@ } ], "traits": { - "smithy.api#documentation": "

                      Uses the acl subresource to set the access control list (ACL) permissions\n for a new or existing object in an S3 bucket. You must have WRITE_ACP\n permission to set the ACL of an object. For more information, see What\n permissions can I grant? in the Amazon S3 User Guide.

                      \n

                      This action is not supported by Amazon S3 on Outposts.

                      \n

                      Depending on your application needs, you can choose to set\n the ACL on an object using either the request body or the headers. For example, if you have\n an existing application that updates a bucket ACL using the request body, you can continue\n to use that approach. For more information, see Access Control List (ACL) Overview in the Amazon S3 User Guide.

                      \n\n\n\n

                      \n Access Permissions\n

                      \n

                      You can set access permissions using one of the following methods:

                      \n
                        \n
                      • \n

                        Specify a canned ACL with the x-amz-acl request header. Amazon S3 supports\n a set of predefined ACLs, known as canned ACLs. Each canned ACL has a predefined set\n of grantees and permissions. Specify the canned ACL name as the value of\n x-amz-acl. If you use this header, you cannot use other access\n control-specific headers in your request. For more information, see Canned ACL.

                        \n
                      • \n
                      • \n

                        Specify access permissions explicitly with the x-amz-grant-read,\n x-amz-grant-read-acp, x-amz-grant-write-acp, and\n x-amz-grant-full-control headers. When using these headers, you\n specify explicit access permissions and grantees (AWS accounts or Amazon S3 groups) who\n will receive the permission. If you use these ACL-specific headers, you cannot use\n x-amz-acl header to set a canned ACL. These parameters map to the set\n of permissions that Amazon S3 supports in an ACL. For more information, see Access Control List (ACL)\n Overview.

                        \n\n

                        You specify each grantee as a type=value pair, where the type is one of the\n following:

                        \n
                          \n
                        • \n

                          \n id – if the value specified is the canonical user ID of an AWS\n account

                          \n
                        • \n
                        • \n

                          \n uri – if you are granting permissions to a predefined\n group

                          \n
                        • \n
                        • \n

                          \n emailAddress – if the value specified is the email address of\n an AWS account

                          \n \n

                          Using email addresses to specify a grantee is only supported in the following AWS Regions:

                          \n
                            \n
                          • \n

                            US East (N. Virginia)

                            \n
                          • \n
                          • \n

                            US West (N. California)

                            \n
                          • \n
                          • \n

                            US West (Oregon)

                            \n
                          • \n
                          • \n

                            Asia Pacific (Singapore)

                            \n
                          • \n
                          • \n

                            Asia Pacific (Sydney)

                            \n
                          • \n
                          • \n

                            Asia Pacific (Tokyo)

                            \n
                          • \n
                          • \n

                            Europe (Ireland)

                            \n
                          • \n
                          • \n

                            South America (São Paulo)

                            \n
                          • \n
                          \n

                          For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the AWS General Reference.

                          \n
                          \n
                        • \n
                        \n

                        For example, the following x-amz-grant-read header grants list\n objects permission to the two AWS accounts identified by their email\n addresses.

                        \n

                        \n x-amz-grant-read: emailAddress=\"xyz@amazon.com\",\n emailAddress=\"abc@amazon.com\" \n

                        \n\n
                      • \n
                      \n

                      You can use either a canned ACL or specify access permissions explicitly. You cannot do\n both.

                      \n

                      \n Grantee Values\n

                      \n

                      You can specify the person (grantee) to whom you're assigning access rights (using\n request elements) in the following ways:

                      \n
                        \n
                      • \n

                        By the person's ID:

                        \n

                        \n <>ID<><>GranteesEmail<>\n \n

                        \n

                        DisplayName is optional and ignored in the request.

                        \n
                      • \n
                      • \n

                        By URI:

                        \n

                        \n <>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<>\n

                        \n
                      • \n
                      • \n

                        By Email address:

                        \n

                        \n <>Grantees@email.com<>lt;/Grantee>\n

                        \n

                        The grantee is resolved to the CanonicalUser and, in a response to a GET Object\n acl request, appears as the CanonicalUser.

                        \n \n

                        Using email addresses to specify a grantee is only supported in the following AWS Regions:

                        \n
                          \n
                        • \n

                          US East (N. Virginia)

                          \n
                        • \n
                        • \n

                          US West (N. California)

                          \n
                        • \n
                        • \n

                          US West (Oregon)

                          \n
                        • \n
                        • \n

                          Asia Pacific (Singapore)

                          \n
                        • \n
                        • \n

                          Asia Pacific (Sydney)

                          \n
                        • \n
                        • \n

                          Asia Pacific (Tokyo)

                          \n
                        • \n
                        • \n

                          Europe (Ireland)

                          \n
                        • \n
                        • \n

                          South America (São Paulo)

                          \n
                        • \n
                        \n

                        For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the AWS General Reference.

                        \n
                        \n
                      • \n
                      \n

                      \n Versioning\n

                      \n

                      The ACL of an object is set at the object version level. By default, PUT sets the ACL of\n the current version of an object. To set the ACL of a different version, use the\n versionId subresource.

                      \n

                      \n Related Resources\n

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

                      Uses the acl subresource to set the access control list (ACL) permissions\n for a new or existing object in an S3 bucket. You must have WRITE_ACP\n permission to set the ACL of an object. For more information, see What\n permissions can I grant? in the Amazon S3 User Guide.

                      \n

                      This action is not supported by Amazon S3 on Outposts.

                      \n

                      Depending on your application needs, you can choose to set\n the ACL on an object using either the request body or the headers. For example, if you have\n an existing application that updates a bucket ACL using the request body, you can continue\n to use that approach. For more information, see Access Control List (ACL) Overview in the Amazon S3 User Guide.

                      \n\n\n\n

                      \n Access Permissions\n

                      \n

                      You can set access permissions using one of the following methods:

                      \n
                        \n
                      • \n

                        Specify a canned ACL with the x-amz-acl request header. Amazon S3 supports\n a set of predefined ACLs, known as canned ACLs. Each canned ACL has a predefined set\n of grantees and permissions. Specify the canned ACL name as the value of\n x-amz-acl. If you use this header, you cannot use other access\n control-specific headers in your request. For more information, see Canned ACL.

                        \n
                      • \n
                      • \n

                        Specify access permissions explicitly with the x-amz-grant-read,\n x-amz-grant-read-acp, x-amz-grant-write-acp, and\n x-amz-grant-full-control headers. When using these headers, you\n specify explicit access permissions and grantees (Amazon Web Services accounts or Amazon S3 groups) who\n will receive the permission. If you use these ACL-specific headers, you cannot use\n x-amz-acl header to set a canned ACL. These parameters map to the set\n of permissions that Amazon S3 supports in an ACL. For more information, see Access Control List (ACL)\n Overview.

                        \n\n

                        You specify each grantee as a type=value pair, where the type is one of the\n following:

                        \n
                          \n
                        • \n

                          \n id – if the value specified is the canonical user ID of an Amazon Web Services account

                          \n
                        • \n
                        • \n

                          \n uri – if you are granting permissions to a predefined\n group

                          \n
                        • \n
                        • \n

                          \n emailAddress – if the value specified is the email address of\n an Amazon Web Services account

                          \n \n

                          Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions:

                          \n
                            \n
                          • \n

                            US East (N. Virginia)

                            \n
                          • \n
                          • \n

                            US West (N. California)

                            \n
                          • \n
                          • \n

                            US West (Oregon)

                            \n
                          • \n
                          • \n

                            Asia Pacific (Singapore)

                            \n
                          • \n
                          • \n

                            Asia Pacific (Sydney)

                            \n
                          • \n
                          • \n

                            Asia Pacific (Tokyo)

                            \n
                          • \n
                          • \n

                            Europe (Ireland)

                            \n
                          • \n
                          • \n

                            South America (São Paulo)

                            \n
                          • \n
                          \n

                          For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the Amazon Web Services General Reference.

                          \n
                          \n
                        • \n
                        \n

                        For example, the following x-amz-grant-read header grants list\n objects permission to the two Amazon Web Services accounts identified by their email\n addresses.

                        \n

                        \n x-amz-grant-read: emailAddress=\"xyz@amazon.com\",\n emailAddress=\"abc@amazon.com\" \n

                        \n\n
                      • \n
                      \n

                      You can use either a canned ACL or specify access permissions explicitly. You cannot do\n both.

                      \n

                      \n Grantee Values\n

                      \n

                      You can specify the person (grantee) to whom you're assigning access rights (using\n request elements) in the following ways:

                      \n
                        \n
                      • \n

                        By the person's ID:

                        \n

                        \n <>ID<><>GranteesEmail<>\n \n

                        \n

                        DisplayName is optional and ignored in the request.

                        \n
                      • \n
                      • \n

                        By URI:

                        \n

                        \n <>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<>\n

                        \n
                      • \n
                      • \n

                        By Email address:

                        \n

                        \n <>Grantees@email.com<>lt;/Grantee>\n

                        \n

                        The grantee is resolved to the CanonicalUser and, in a response to a GET Object\n acl request, appears as the CanonicalUser.

                        \n \n

                        Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions:

                        \n
                          \n
                        • \n

                          US East (N. Virginia)

                          \n
                        • \n
                        • \n

                          US West (N. California)

                          \n
                        • \n
                        • \n

                          US West (Oregon)

                          \n
                        • \n
                        • \n

                          Asia Pacific (Singapore)

                          \n
                        • \n
                        • \n

                          Asia Pacific (Sydney)

                          \n
                        • \n
                        • \n

                          Asia Pacific (Tokyo)

                          \n
                        • \n
                        • \n

                          Europe (Ireland)

                          \n
                        • \n
                        • \n

                          South America (São Paulo)

                          \n
                        • \n
                        \n

                        For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the Amazon Web Services General Reference.

                        \n
                        \n
                      • \n
                      \n

                      \n Versioning\n

                      \n

                      The ACL of an object is set at the object version level. By default, PUT sets the ACL of\n the current version of an object. To set the ACL of a different version, use the\n versionId subresource.

                      \n

                      \n Related Resources\n

                      \n ", "smithy.api#http": { "method": "PUT", "uri": "/{Bucket}/{Key+}?acl", @@ -10226,7 +10226,7 @@ "Bucket": { "target": "com.amazonaws.s3#BucketName", "traits": { - "smithy.api#documentation": "

                      The bucket name that contains the object to which you want to attach the ACL.

                      \n

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

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

                      The bucket name that contains the object to which you want to attach the ACL.

                      \n

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                      ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -10234,7 +10234,7 @@ "ContentMD5": { "target": "com.amazonaws.s3#ContentMD5", "traits": { - "smithy.api#documentation": "

                      The base64-encoded 128-bit MD5 digest of the data. This header must be used as a message\n integrity check to verify that the request body was not corrupted in transit. For more\n information, go to RFC\n 1864.>\n

                      \n

                      For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

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

                      The base64-encoded 128-bit MD5 digest of the data. This header must be used as a message\n integrity check to verify that the request body was not corrupted in transit. For more\n information, go to RFC\n 1864.>\n

                      \n

                      For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                      ", "smithy.api#httpHeader": "Content-MD5" } }, @@ -10276,7 +10276,7 @@ "Key": { "target": "com.amazonaws.s3#ObjectKey", "traits": { - "smithy.api#documentation": "

                      Key for which the PUT action was initiated.

                      \n

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                      \n

                      When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

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

                      Key for which the PUT action was initiated.

                      \n

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                      \n

                      When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                      ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -10346,7 +10346,7 @@ "Bucket": { "target": "com.amazonaws.s3#BucketName", "traits": { - "smithy.api#documentation": "

                      The bucket name containing the object that you want to place a Legal Hold on.

                      \n

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

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

                      The bucket name containing the object that you want to place a Legal Hold on.

                      \n

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                      ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -10375,7 +10375,7 @@ "ContentMD5": { "target": "com.amazonaws.s3#ContentMD5", "traits": { - "smithy.api#documentation": "

                      The MD5 hash for the request body.

                      \n

                      For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

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

                      The MD5 hash for the request body.

                      \n

                      For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                      ", "smithy.api#httpHeader": "Content-MD5" } }, @@ -10405,7 +10405,7 @@ "target": "com.amazonaws.s3#PutObjectLockConfigurationOutput" }, "traits": { - "smithy.api#documentation": "

                      Places an Object Lock configuration on the specified bucket. The rule specified in the\n Object Lock configuration will be applied by default to every new object placed in the\n specified bucket. For more information, see Locking Objects.\n

                      \n \n
                        \n
                      • \n

                        The DefaultRetention settings require both a mode and a\n period.

                        \n
                      • \n
                      • \n

                        The DefaultRetention period can be either Days\n or Years but you must select one. You cannot specify Days\n and Years at the same time.

                        \n
                      • \n
                      • \n

                        You can only enable Object Lock for new buckets. If you want to turn on\n Object Lock for an existing bucket, contact AWS Support.

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

                      Places an Object Lock configuration on the specified bucket. The rule specified in the\n Object Lock configuration will be applied by default to every new object placed in the\n specified bucket. For more information, see Locking Objects.\n

                      \n \n
                        \n
                      • \n

                        The DefaultRetention settings require both a mode and a\n period.

                        \n
                      • \n
                      • \n

                        The DefaultRetention period can be either Days\n or Years but you must select one. You cannot specify Days\n and Years at the same time.

                        \n
                      • \n
                      • \n

                        You can only enable Object Lock for new buckets. If you want to turn on\n Object Lock for an existing bucket, contact Amazon Web Services Support.

                        \n
                      • \n
                      \n
                      ", "smithy.api#http": { "method": "PUT", "uri": "/{Bucket}?object-lock", @@ -10452,7 +10452,7 @@ "ContentMD5": { "target": "com.amazonaws.s3#ContentMD5", "traits": { - "smithy.api#documentation": "

                      The MD5 hash for the request body.

                      \n

                      For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

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

                      The MD5 hash for the request body.

                      \n

                      For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                      ", "smithy.api#httpHeader": "Content-MD5" } }, @@ -10493,7 +10493,7 @@ "ServerSideEncryption": { "target": "com.amazonaws.s3#ServerSideEncryption", "traits": { - "smithy.api#documentation": "

                      If you specified server-side encryption either with an AWS KMS customer master key (CMK)\n or Amazon S3-managed encryption key in your PUT request, the response includes this header. It\n confirms the encryption algorithm that Amazon S3 used to encrypt the object.

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

                      If you specified server-side encryption either with an Amazon Web Services KMS customer master key (CMK)\n or Amazon S3-managed encryption key in your PUT request, the response includes this header. It\n confirms the encryption algorithm that Amazon S3 used to encrypt the object.

                      ", "smithy.api#httpHeader": "x-amz-server-side-encryption" } }, @@ -10521,21 +10521,21 @@ "SSEKMSKeyId": { "target": "com.amazonaws.s3#SSEKMSKeyId", "traits": { - "smithy.api#documentation": "

                      If x-amz-server-side-encryption is present and has the value of\n aws:kms, this header specifies the ID of the AWS Key Management Service\n (AWS KMS) symmetric customer managed customer master key (CMK) that was used for the\n object.

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

                      If x-amz-server-side-encryption is present and has the value of\n aws:kms, this header specifies the ID of the Amazon Web Services Key Management Service\n (Amazon Web Services KMS) symmetric customer managed customer master key (CMK) that was used for the\n object.

                      ", "smithy.api#httpHeader": "x-amz-server-side-encryption-aws-kms-key-id" } }, "SSEKMSEncryptionContext": { "target": "com.amazonaws.s3#SSEKMSEncryptionContext", "traits": { - "smithy.api#documentation": "

                      If present, specifies the AWS KMS Encryption Context to use for object encryption. The\n value of this header is a base64-encoded UTF-8 string holding JSON with the encryption\n context key-value pairs.

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

                      If present, specifies the Amazon Web Services KMS Encryption Context to use for object encryption. The\n value of this header is a base64-encoded UTF-8 string holding JSON with the encryption\n context key-value pairs.

                      ", "smithy.api#httpHeader": "x-amz-server-side-encryption-context" } }, "BucketKeyEnabled": { "target": "com.amazonaws.s3#BucketKeyEnabled", "traits": { - "smithy.api#documentation": "

                      Indicates whether the uploaded object uses an S3 Bucket Key for server-side encryption with AWS KMS (SSE-KMS).

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

                      Indicates whether the uploaded object uses an S3 Bucket Key for server-side encryption with Amazon Web Services KMS (SSE-KMS).

                      ", "smithy.api#httpHeader": "x-amz-server-side-encryption-bucket-key-enabled" } }, @@ -10567,7 +10567,7 @@ "Bucket": { "target": "com.amazonaws.s3#BucketName", "traits": { - "smithy.api#documentation": "

                      The bucket name to which the PUT action was initiated.

                      \n

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                      \n

                      When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

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

                      The bucket name to which the PUT action was initiated.

                      \n

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                      \n

                      When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                      ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -10716,14 +10716,14 @@ "SSEKMSKeyId": { "target": "com.amazonaws.s3#SSEKMSKeyId", "traits": { - "smithy.api#documentation": "

                      If x-amz-server-side-encryption is present and has the value of\n aws:kms, this header specifies the ID of the AWS Key Management Service\n (AWS KMS) symmetrical customer managed customer master key (CMK) that was used for the\n object. If you specify x-amz-server-side-encryption:aws:kms, but do not\n provide x-amz-server-side-encryption-aws-kms-key-id, Amazon S3 uses the AWS\n managed CMK in AWS to protect the data. If the KMS key does not exist in the same account\n issuing the command, you must use the full ARN and not just the ID.\n

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

                      If x-amz-server-side-encryption is present and has the value of\n aws:kms, this header specifies the ID of the Amazon Web Services Key Management Service\n (Amazon Web Services KMS) symmetrical customer managed customer master key (CMK) that was used for the\n object. If you specify x-amz-server-side-encryption:aws:kms, but do not\n provide x-amz-server-side-encryption-aws-kms-key-id, Amazon S3 uses the Amazon Web Services\n managed CMK in Amazon Web Services to protect the data. If the KMS key does not exist in the same account\n issuing the command, you must use the full ARN and not just the ID.\n

                      ", "smithy.api#httpHeader": "x-amz-server-side-encryption-aws-kms-key-id" } }, "SSEKMSEncryptionContext": { "target": "com.amazonaws.s3#SSEKMSEncryptionContext", "traits": { - "smithy.api#documentation": "

                      Specifies the AWS KMS Encryption Context to use for object encryption. The value of this\n header is a base64-encoded UTF-8 string holding JSON with the encryption context key-value\n pairs.

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

                      Specifies the Amazon Web Services KMS Encryption Context to use for object encryption. The value of this\n header is a base64-encoded UTF-8 string holding JSON with the encryption context key-value\n pairs.

                      ", "smithy.api#httpHeader": "x-amz-server-side-encryption-context" } }, @@ -10786,7 +10786,7 @@ "target": "com.amazonaws.s3#PutObjectRetentionOutput" }, "traits": { - "smithy.api#documentation": "

                      Places an Object Retention configuration on an object. For more information, see Locking Objects.\n

                      \n

                      This action is not supported by Amazon S3 on Outposts.

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

                      Places an Object Retention configuration on an object. For more information, see Locking Objects.\n Users or accounts require the s3:PutObjectRetention permission in order to place\n an Object Retention configuration on objects. Bypassing a Governance Retention configuration\n requires the s3:BypassGovernanceRetention permission.\n

                      \n

                      This action is not supported by Amazon S3 on Outposts.

                      \n\n

                      \n Permissions\n

                      \n

                      When the Object Lock retention mode is set to compliance, you need s3:PutObjectRetention and \n s3:BypassGovernanceRetention permissions. For other requests to PutObjectRetention, \n only s3:PutObjectRetention permissions are required.

                      ", "smithy.api#http": { "method": "PUT", "uri": "/{Bucket}/{Key+}?retention", @@ -10812,7 +10812,7 @@ "Bucket": { "target": "com.amazonaws.s3#BucketName", "traits": { - "smithy.api#documentation": "

                      The bucket name that contains the object you want to apply this Object Retention\n configuration to.

                      \n

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

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

                      The bucket name that contains the object you want to apply this Object Retention\n configuration to.

                      \n

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                      ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -10848,7 +10848,7 @@ "ContentMD5": { "target": "com.amazonaws.s3#ContentMD5", "traits": { - "smithy.api#documentation": "

                      The MD5 hash for the request body.

                      \n

                      For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

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

                      The MD5 hash for the request body.

                      \n

                      For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                      ", "smithy.api#httpHeader": "Content-MD5" } }, @@ -10905,7 +10905,7 @@ "Bucket": { "target": "com.amazonaws.s3#BucketName", "traits": { - "smithy.api#documentation": "

                      The bucket name containing the object.

                      \n

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                      \n

                      When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

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

                      The bucket name containing the object.

                      \n

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                      \n

                      When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                      ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -10928,7 +10928,7 @@ "ContentMD5": { "target": "com.amazonaws.s3#ContentMD5", "traits": { - "smithy.api#documentation": "

                      The MD5 hash for the request body.

                      \n

                      For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

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

                      The MD5 hash for the request body.

                      \n

                      For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                      ", "smithy.api#httpHeader": "Content-MD5" } }, @@ -10985,7 +10985,7 @@ "ContentMD5": { "target": "com.amazonaws.s3#ContentMD5", "traits": { - "smithy.api#documentation": "

                      The MD5 hash of the PutPublicAccessBlock request body.

                      \n

                      For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

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

                      The MD5 hash of the PutPublicAccessBlock request body.

                      \n

                      For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                      ", "smithy.api#httpHeader": "Content-MD5" } }, @@ -11196,7 +11196,7 @@ "Role": { "target": "com.amazonaws.s3#Role", "traits": { - "smithy.api#documentation": "

                      The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that\n Amazon S3 assumes when replicating objects. For more information, see How to Set Up\n Replication in the Amazon S3 User Guide.

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

                      The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) role that\n Amazon S3 assumes when replicating objects. For more information, see How to Set Up\n Replication in the Amazon S3 User Guide.

                      ", "smithy.api#required": {} } }, @@ -11249,7 +11249,7 @@ "SourceSelectionCriteria": { "target": "com.amazonaws.s3#SourceSelectionCriteria", "traits": { - "smithy.api#documentation": "

                      A container that describes additional filters for identifying the source objects that\n you want to replicate. You can choose to enable or disable the replication of these\n objects. Currently, Amazon S3 supports only the filter that you can specify for objects created\n with server-side encryption using a customer master key (CMK) stored in AWS Key Management\n Service (SSE-KMS).

                      " + "smithy.api#documentation": "

                      A container that describes additional filters for identifying the source objects that\n you want to replicate. You can choose to enable or disable the replication of these\n objects. Currently, Amazon S3 supports only the filter that you can specify for objects created\n with server-side encryption using a customer master key (CMK) stored in Amazon Web Services Key Management\n Service (SSE-KMS).

                      " } }, "ExistingObjectReplication": { @@ -11408,7 +11408,7 @@ "Minutes": { "target": "com.amazonaws.s3#Minutes", "traits": { - "smithy.api#documentation": "

                      Contains an integer specifying time in minutes.

                      \n

                      Valid values: 15 minutes.

                      " + "smithy.api#documentation": "

                      Contains an integer specifying time in minutes.

                      \n

                      Valid value: 15

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

                      Restores an archived copy of an object back into Amazon S3

                      \n

                      This action is not supported by Amazon S3 on Outposts.

                      \n

                      This action performs the following types of requests:

                      \n
                        \n
                      • \n

                        \n select - Perform a select query on an archived object

                        \n
                      • \n
                      • \n

                        \n restore an archive - Restore an archived object

                        \n
                      • \n
                      \n

                      To use this operation, you must have permissions to perform the\n s3:RestoreObject action. The bucket owner has this permission by default\n and can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3\n Resources in the Amazon S3 User Guide.

                      \n

                      \n Querying Archives with Select Requests\n

                      \n

                      You use a select type of request to perform SQL queries on archived objects. The\n archived objects that are being queried by the select request must be formatted as\n uncompressed comma-separated values (CSV) files. You can run queries and custom analytics\n on your archived data without having to restore your data to a hotter Amazon S3 tier. For an\n overview about select requests, see Querying Archived Objects in the Amazon S3 User Guide.

                      \n

                      When making a select request, do the following:

                      \n
                        \n
                      • \n

                        Define an output location for the select query's output. This must be an Amazon S3\n bucket in the same AWS Region as the bucket that contains the archive object that is\n being queried. The AWS account that initiates the job must have permissions to write\n to the S3 bucket. You can specify the storage class and encryption for the output\n objects stored in the bucket. For more information about output, see Querying Archived Objects\n in the Amazon S3 User Guide.

                        \n

                        For more information about the S3 structure in the request body, see\n the following:

                        \n \n
                      • \n
                      • \n

                        Define the SQL expression for the SELECT type of restoration for your\n query in the request body's SelectParameters structure. You can use\n expressions like the following examples.

                        \n
                          \n
                        • \n

                          The following expression returns all records from the specified\n object.

                          \n

                          \n SELECT * FROM Object\n

                          \n
                        • \n
                        • \n

                          Assuming that you are not using any headers for data stored in the object,\n you can specify columns with positional headers.

                          \n

                          \n SELECT s._1, s._2 FROM Object s WHERE s._3 > 100\n

                          \n
                        • \n
                        • \n

                          If you have headers and you set the fileHeaderInfo in the\n CSV structure in the request body to USE, you can\n specify headers in the query. (If you set the fileHeaderInfo field\n to IGNORE, the first row is skipped for the query.) You cannot mix\n ordinal positions with header column names.

                          \n

                          \n SELECT s.Id, s.FirstName, s.SSN FROM S3Object s\n

                          \n
                        • \n
                        \n
                      • \n
                      \n

                      For more information about using SQL with S3 Glacier Select restore, see SQL Reference for Amazon S3 Select and\n S3 Glacier Select in the Amazon S3 User Guide.

                      \n

                      When making a select request, you can also do the following:

                      \n
                        \n
                      • \n

                        To expedite your queries, specify the Expedited tier. For more\n information about tiers, see \"Restoring Archives,\" later in this topic.

                        \n
                      • \n
                      • \n

                        Specify details about the data serialization format of both the input object that\n is being queried and the serialization of the CSV-encoded query results.

                        \n
                      • \n
                      \n

                      The following are additional important facts about the select feature:

                      \n
                        \n
                      • \n

                        The output results are new Amazon S3 objects. Unlike archive retrievals, they are\n stored until explicitly deleted-manually or through a lifecycle policy.

                        \n
                      • \n
                      • \n

                        You can issue more than one select request on the same Amazon S3 object. Amazon S3 doesn't\n deduplicate requests, so avoid issuing duplicate requests.

                        \n
                      • \n
                      • \n

                        Amazon S3 accepts a select request even if the object has already been restored. A\n select request doesn’t return error response 409.

                        \n
                      • \n
                      \n

                      \n Restoring objects\n

                      \n

                      Objects that you archive to the S3 Glacier or\n S3 Glacier Deep Archive storage class, and S3 Intelligent-Tiering Archive or\n S3 Intelligent-Tiering Deep Archive tiers are not accessible in real time. For objects in\n Archive Access or Deep Archive Access tiers you must first initiate a restore request, and\n then wait until the object is moved into the Frequent Access tier. For objects in\n S3 Glacier or S3 Glacier Deep Archive storage classes you must\n first initiate a restore request, and then wait until a temporary copy of the object is\n available. To access an archived object, you must restore the object for the duration\n (number of days) that you specify.

                      \n

                      To restore a specific object version, you can provide a version ID. If you don't provide\n a version ID, Amazon S3 restores the current version.

                      \n

                      When restoring an archived object (or using a select request), you can specify one of\n the following data access tier options in the Tier element of the request\n body:

                      \n
                        \n
                      • \n

                        \n \n Expedited\n - Expedited retrievals\n allow you to quickly access your data stored in the S3 Glacier\n storage class or S3 Intelligent-Tiering Archive tier when occasional urgent requests for a\n subset of archives are required. For all but the largest archived objects (250 MB+),\n data accessed using Expedited retrievals is typically made available within 1–5\n minutes. Provisioned capacity ensures that retrieval capacity for Expedited\n retrievals is available when you need it. Expedited retrievals and provisioned\n capacity are not available for objects stored in the S3 Glacier Deep Archive\n storage class or S3 Intelligent-Tiering Deep Archive tier.

                        \n
                      • \n
                      • \n

                        \n \n Standard\n - Standard retrievals allow\n you to access any of your archived objects within several hours. This is the default\n option for retrieval requests that do not specify the retrieval option. Standard\n retrievals typically finish within 3–5 hours for objects stored in the\n S3 Glacier storage class or S3 Intelligent-Tiering Archive tier. They\n typically finish within 12 hours for objects stored in the\n S3 Glacier Deep Archive storage class or S3 Intelligent-Tiering Deep Archive tier.\n Standard retrievals are free for objects stored in S3 Intelligent-Tiering.

                        \n
                      • \n
                      • \n

                        \n \n Bulk\n - Bulk retrievals are the\n lowest-cost retrieval option in S3 Glacier, enabling you to retrieve large amounts,\n even petabytes, of data inexpensively. Bulk retrievals typically finish within 5–12\n hours for objects stored in the S3 Glacier storage class or\n S3 Intelligent-Tiering Archive tier. They typically finish within 48 hours for objects stored\n in the S3 Glacier Deep Archive storage class or S3 Intelligent-Tiering Deep Archive tier.\n Bulk retrievals are free for objects stored in S3 Intelligent-Tiering.

                        \n
                      • \n
                      \n

                      For more information about archive retrieval options and provisioned capacity for\n Expedited data access, see Restoring Archived Objects in the Amazon S3 User Guide.

                      \n

                      You can use Amazon S3 restore speed upgrade to change the restore speed to a faster speed\n while it is in progress. For more information, see \n Upgrading the speed of an in-progress restore in the\n Amazon S3 User Guide.

                      \n

                      To get the status of object restoration, you can send a HEAD request.\n Operations return the x-amz-restore header, which provides information about\n the restoration status, in the response. You can use Amazon S3 event notifications to notify you\n when a restore is initiated or completed. For more information, see Configuring Amazon S3 Event Notifications in\n the Amazon S3 User Guide.

                      \n

                      After restoring an archived object, you can update the restoration period by reissuing\n the request with a new period. Amazon S3 updates the restoration period relative to the current\n time and charges only for the request-there are no data transfer charges. You cannot\n update the restoration period when Amazon S3 is actively processing your current restore request\n for the object.

                      \n

                      If your bucket has a lifecycle configuration with a rule that includes an expiration\n action, the object expiration overrides the life span that you specify in a restore\n request. For example, if you restore an object copy for 10 days, but the object is\n scheduled to expire in 3 days, Amazon S3 deletes the object in 3 days. For more information\n about lifecycle configuration, see PutBucketLifecycleConfiguration and Object Lifecycle Management in\n Amazon S3 User Guide.

                      \n

                      \n Responses\n

                      \n

                      A successful action returns either the 200 OK or 202\n Accepted status code.

                      \n
                        \n
                      • \n

                        If the object is not previously restored, then Amazon S3 returns 202\n Accepted in the response.

                        \n
                      • \n
                      • \n

                        If the object is previously restored, Amazon S3 returns 200 OK in the\n response.

                        \n
                      • \n
                      \n

                      \n Special Errors\n

                      \n
                        \n
                      • \n
                          \n
                        • \n

                          \n Code: RestoreAlreadyInProgress\n

                          \n
                        • \n
                        • \n

                          \n Cause: Object restore is already in progress. (This error does not\n apply to SELECT type requests.)\n

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 409 Conflict\n

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client\n

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: GlacierExpeditedRetrievalNotAvailable\n

                          \n
                        • \n
                        • \n

                          \n Cause: expedited retrievals are currently not available. Try again\n later. (Returned if there is insufficient capacity to process the Expedited\n request. This error applies only to Expedited retrievals and not to\n S3 Standard or Bulk retrievals.)\n

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 503\n

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: N/A\n

                          \n
                        • \n
                        \n
                      • \n
                      \n \n

                      \n Related Resources\n

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

                      Restores an archived copy of an object back into Amazon S3

                      \n

                      This action is not supported by Amazon S3 on Outposts.

                      \n

                      This action performs the following types of requests:

                      \n
                        \n
                      • \n

                        \n select - Perform a select query on an archived object

                        \n
                      • \n
                      • \n

                        \n restore an archive - Restore an archived object

                        \n
                      • \n
                      \n

                      To use this operation, you must have permissions to perform the\n s3:RestoreObject action. The bucket owner has this permission by default\n and can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3\n Resources in the Amazon S3 User Guide.

                      \n

                      \n Querying Archives with Select Requests\n

                      \n

                      You use a select type of request to perform SQL queries on archived objects. The\n archived objects that are being queried by the select request must be formatted as\n uncompressed comma-separated values (CSV) files. You can run queries and custom analytics\n on your archived data without having to restore your data to a hotter Amazon S3 tier. For an\n overview about select requests, see Querying Archived Objects in the Amazon S3 User Guide.

                      \n

                      When making a select request, do the following:

                      \n
                        \n
                      • \n

                        Define an output location for the select query's output. This must be an Amazon S3\n bucket in the same Amazon Web Services Region as the bucket that contains the archive object that is\n being queried. The Amazon Web Services account that initiates the job must have permissions to write\n to the S3 bucket. You can specify the storage class and encryption for the output\n objects stored in the bucket. For more information about output, see Querying Archived Objects\n in the Amazon S3 User Guide.

                        \n

                        For more information about the S3 structure in the request body, see\n the following:

                        \n \n
                      • \n
                      • \n

                        Define the SQL expression for the SELECT type of restoration for your\n query in the request body's SelectParameters structure. You can use\n expressions like the following examples.

                        \n
                          \n
                        • \n

                          The following expression returns all records from the specified\n object.

                          \n

                          \n SELECT * FROM Object\n

                          \n
                        • \n
                        • \n

                          Assuming that you are not using any headers for data stored in the object,\n you can specify columns with positional headers.

                          \n

                          \n SELECT s._1, s._2 FROM Object s WHERE s._3 > 100\n

                          \n
                        • \n
                        • \n

                          If you have headers and you set the fileHeaderInfo in the\n CSV structure in the request body to USE, you can\n specify headers in the query. (If you set the fileHeaderInfo field\n to IGNORE, the first row is skipped for the query.) You cannot mix\n ordinal positions with header column names.

                          \n

                          \n SELECT s.Id, s.FirstName, s.SSN FROM S3Object s\n

                          \n
                        • \n
                        \n
                      • \n
                      \n

                      For more information about using SQL with S3 Glacier Select restore, see SQL Reference for Amazon S3 Select and\n S3 Glacier Select in the Amazon S3 User Guide.

                      \n

                      When making a select request, you can also do the following:

                      \n
                        \n
                      • \n

                        To expedite your queries, specify the Expedited tier. For more\n information about tiers, see \"Restoring Archives,\" later in this topic.

                        \n
                      • \n
                      • \n

                        Specify details about the data serialization format of both the input object that\n is being queried and the serialization of the CSV-encoded query results.

                        \n
                      • \n
                      \n

                      The following are additional important facts about the select feature:

                      \n
                        \n
                      • \n

                        The output results are new Amazon S3 objects. Unlike archive retrievals, they are\n stored until explicitly deleted-manually or through a lifecycle policy.

                        \n
                      • \n
                      • \n

                        You can issue more than one select request on the same Amazon S3 object. Amazon S3 doesn't\n deduplicate requests, so avoid issuing duplicate requests.

                        \n
                      • \n
                      • \n

                        Amazon S3 accepts a select request even if the object has already been restored. A\n select request doesn’t return error response 409.

                        \n
                      • \n
                      \n

                      \n Restoring objects\n

                      \n

                      Objects that you archive to the S3 Glacier or\n S3 Glacier Deep Archive storage class, and S3 Intelligent-Tiering Archive or\n S3 Intelligent-Tiering Deep Archive tiers are not accessible in real time. For objects in\n Archive Access or Deep Archive Access tiers you must first initiate a restore request, and\n then wait until the object is moved into the Frequent Access tier. For objects in\n S3 Glacier or S3 Glacier Deep Archive storage classes you must\n first initiate a restore request, and then wait until a temporary copy of the object is\n available. To access an archived object, you must restore the object for the duration\n (number of days) that you specify.

                      \n

                      To restore a specific object version, you can provide a version ID. If you don't provide\n a version ID, Amazon S3 restores the current version.

                      \n

                      When restoring an archived object (or using a select request), you can specify one of\n the following data access tier options in the Tier element of the request\n body:

                      \n
                        \n
                      • \n

                        \n \n Expedited\n - Expedited retrievals\n allow you to quickly access your data stored in the S3 Glacier\n storage class or S3 Intelligent-Tiering Archive tier when occasional urgent requests for a\n subset of archives are required. For all but the largest archived objects (250 MB+),\n data accessed using Expedited retrievals is typically made available within 1–5\n minutes. Provisioned capacity ensures that retrieval capacity for Expedited\n retrievals is available when you need it. Expedited retrievals and provisioned\n capacity are not available for objects stored in the S3 Glacier Deep Archive\n storage class or S3 Intelligent-Tiering Deep Archive tier.

                        \n
                      • \n
                      • \n

                        \n \n Standard\n - Standard retrievals allow\n you to access any of your archived objects within several hours. This is the default\n option for retrieval requests that do not specify the retrieval option. Standard\n retrievals typically finish within 3–5 hours for objects stored in the\n S3 Glacier storage class or S3 Intelligent-Tiering Archive tier. They\n typically finish within 12 hours for objects stored in the\n S3 Glacier Deep Archive storage class or S3 Intelligent-Tiering Deep Archive tier.\n Standard retrievals are free for objects stored in S3 Intelligent-Tiering.

                        \n
                      • \n
                      • \n

                        \n \n Bulk\n - Bulk retrievals are the\n lowest-cost retrieval option in S3 Glacier, enabling you to retrieve large amounts,\n even petabytes, of data inexpensively. Bulk retrievals typically finish within 5–12\n hours for objects stored in the S3 Glacier storage class or\n S3 Intelligent-Tiering Archive tier. They typically finish within 48 hours for objects stored\n in the S3 Glacier Deep Archive storage class or S3 Intelligent-Tiering Deep Archive tier.\n Bulk retrievals are free for objects stored in S3 Intelligent-Tiering.

                        \n
                      • \n
                      \n

                      For more information about archive retrieval options and provisioned capacity for\n Expedited data access, see Restoring Archived Objects in the Amazon S3 User Guide.

                      \n

                      You can use Amazon S3 restore speed upgrade to change the restore speed to a faster speed\n while it is in progress. For more information, see \n Upgrading the speed of an in-progress restore in the\n Amazon S3 User Guide.

                      \n

                      To get the status of object restoration, you can send a HEAD request.\n Operations return the x-amz-restore header, which provides information about\n the restoration status, in the response. You can use Amazon S3 event notifications to notify you\n when a restore is initiated or completed. For more information, see Configuring Amazon S3 Event Notifications in\n the Amazon S3 User Guide.

                      \n

                      After restoring an archived object, you can update the restoration period by reissuing\n the request with a new period. Amazon S3 updates the restoration period relative to the current\n time and charges only for the request-there are no data transfer charges. You cannot\n update the restoration period when Amazon S3 is actively processing your current restore request\n for the object.

                      \n

                      If your bucket has a lifecycle configuration with a rule that includes an expiration\n action, the object expiration overrides the life span that you specify in a restore\n request. For example, if you restore an object copy for 10 days, but the object is\n scheduled to expire in 3 days, Amazon S3 deletes the object in 3 days. For more information\n about lifecycle configuration, see PutBucketLifecycleConfiguration and Object Lifecycle Management in\n Amazon S3 User Guide.

                      \n

                      \n Responses\n

                      \n

                      A successful action returns either the 200 OK or 202\n Accepted status code.

                      \n
                        \n
                      • \n

                        If the object is not previously restored, then Amazon S3 returns 202\n Accepted in the response.

                        \n
                      • \n
                      • \n

                        If the object is previously restored, Amazon S3 returns 200 OK in the\n response.

                        \n
                      • \n
                      \n

                      \n Special Errors\n

                      \n
                        \n
                      • \n
                          \n
                        • \n

                          \n Code: RestoreAlreadyInProgress\n

                          \n
                        • \n
                        • \n

                          \n Cause: Object restore is already in progress. (This error does not\n apply to SELECT type requests.)\n

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 409 Conflict\n

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client\n

                          \n
                        • \n
                        \n
                      • \n
                      • \n
                          \n
                        • \n

                          \n Code: GlacierExpeditedRetrievalNotAvailable\n

                          \n
                        • \n
                        • \n

                          \n Cause: expedited retrievals are currently not available. Try again\n later. (Returned if there is insufficient capacity to process the Expedited\n request. This error applies only to Expedited retrievals and not to\n S3 Standard or Bulk retrievals.)\n

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 503\n

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: N/A\n

                          \n
                        • \n
                        \n
                      • \n
                      \n \n

                      \n Related Resources\n

                      \n ", "smithy.api#http": { "method": "POST", "uri": "/{Bucket}/{Key+}?restore&x-id=RestoreObject", @@ -11545,7 +11545,7 @@ "Bucket": { "target": "com.amazonaws.s3#BucketName", "traits": { - "smithy.api#documentation": "

                      The bucket name containing the object to restore.

                      \n

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                      \n

                      When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

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

                      The bucket name containing the object to restore.

                      \n

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                      \n

                      When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                      ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -11772,7 +11772,7 @@ "KeyId": { "target": "com.amazonaws.s3#SSEKMSKeyId", "traits": { - "smithy.api#documentation": "

                      Specifies the ID of the AWS Key Management Service (AWS KMS) symmetric customer managed\n customer master key (CMK) to use for encrypting inventory reports.

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

                      Specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric customer managed\n customer master key (CMK) to use for encrypting inventory reports.

                      ", "smithy.api#required": {} } } @@ -11831,7 +11831,7 @@ "target": "com.amazonaws.s3#SelectObjectContentOutput" }, "traits": { - "smithy.api#documentation": "

                      This action filters the contents of an Amazon S3 object based on a simple structured query\n language (SQL) statement. In the request, along with the SQL expression, you must also\n specify a data serialization format (JSON, CSV, or Apache Parquet) of the object. Amazon S3 uses\n this format to parse object data into records, and returns only records that match the\n specified SQL expression. You must also specify the data serialization format for the\n response.

                      \n

                      This action is not supported by Amazon S3 on Outposts.

                      \n

                      For more information about Amazon S3 Select,\n see Selecting Content from\n Objects in the Amazon S3 User Guide.

                      \n

                      For more information about using SQL with Amazon S3 Select, see SQL Reference for Amazon S3 Select\n and S3 Glacier Select in the Amazon S3 User Guide.

                      \n

                      \n

                      \n Permissions\n

                      \n

                      You must have s3:GetObject permission for this operation. Amazon S3 Select does\n not support anonymous access. For more information about permissions, see Specifying Permissions in a Policy\n in the Amazon S3 User Guide.

                      \n

                      \n

                      \n Object Data Formats\n

                      \n

                      You can use Amazon S3 Select to query objects that have the following format\n properties:

                      \n
                        \n
                      • \n

                        \n CSV, JSON, and Parquet - Objects must be in CSV, JSON, or\n Parquet format.

                        \n
                      • \n
                      • \n

                        \n UTF-8 - UTF-8 is the only encoding type Amazon S3 Select\n supports.

                        \n
                      • \n
                      • \n

                        \n GZIP or BZIP2 - CSV and JSON files can be compressed using\n GZIP or BZIP2. GZIP and BZIP2 are the only compression formats that Amazon S3 Select\n supports for CSV and JSON files. Amazon S3 Select supports columnar compression for\n Parquet using GZIP or Snappy. Amazon S3 Select does not support whole-object compression\n for Parquet objects.

                        \n
                      • \n
                      • \n

                        \n Server-side encryption - Amazon S3 Select supports querying\n objects that are protected with server-side encryption.

                        \n

                        For objects that are encrypted with customer-provided encryption keys (SSE-C), you\n must use HTTPS, and you must use the headers that are documented in the GetObject. For more information about SSE-C, see Server-Side Encryption\n (Using Customer-Provided Encryption Keys) in the\n Amazon S3 User Guide.

                        \n

                        For objects that are encrypted with Amazon S3 managed encryption keys (SSE-S3) and\n customer master keys (CMKs) stored in AWS Key Management Service (SSE-KMS),\n server-side encryption is handled transparently, so you don't need to specify\n anything. For more information about server-side encryption, including SSE-S3 and\n SSE-KMS, see Protecting Data Using\n Server-Side Encryption in the Amazon S3 User Guide.

                        \n
                      • \n
                      \n\n

                      \n Working with the Response Body\n

                      \n

                      Given the response size is unknown, Amazon S3 Select streams the response as a series of\n messages and includes a Transfer-Encoding header with chunked as\n its value in the response. For more information, see Appendix: SelectObjectContent\n Response\n .

                      \n\n

                      \n

                      \n GetObject Support\n

                      \n

                      The SelectObjectContent action does not support the following\n GetObject functionality. For more information, see GetObject.

                      \n
                        \n
                      • \n

                        \n Range: Although you can specify a scan range for an Amazon S3 Select request\n (see SelectObjectContentRequest - ScanRange in the request parameters),\n you cannot specify the range of bytes of an object to return.

                        \n
                      • \n
                      • \n

                        GLACIER, DEEP_ARCHIVE and REDUCED_REDUNDANCY storage classes: You cannot specify\n the GLACIER, DEEP_ARCHIVE, or REDUCED_REDUNDANCY storage classes. For\n more information, about storage classes see Storage Classes\n in the Amazon S3 User Guide.

                        \n
                      • \n
                      \n

                      \n

                      \n Special Errors\n

                      \n\n

                      For a list of special errors for this operation, see List of\n SELECT Object Content Error Codes\n

                      \n

                      \n Related Resources\n

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

                      This action filters the contents of an Amazon S3 object based on a simple structured query\n language (SQL) statement. In the request, along with the SQL expression, you must also\n specify a data serialization format (JSON, CSV, or Apache Parquet) of the object. Amazon S3 uses\n this format to parse object data into records, and returns only records that match the\n specified SQL expression. You must also specify the data serialization format for the\n response.

                      \n

                      This action is not supported by Amazon S3 on Outposts.

                      \n

                      For more information about Amazon S3 Select,\n see Selecting Content from\n Objects in the Amazon S3 User Guide.

                      \n

                      For more information about using SQL with Amazon S3 Select, see SQL Reference for Amazon S3 Select\n and S3 Glacier Select in the Amazon S3 User Guide.

                      \n

                      \n

                      \n Permissions\n

                      \n

                      You must have s3:GetObject permission for this operation. Amazon S3 Select does\n not support anonymous access. For more information about permissions, see Specifying Permissions in a Policy\n in the Amazon S3 User Guide.

                      \n

                      \n

                      \n Object Data Formats\n

                      \n

                      You can use Amazon S3 Select to query objects that have the following format\n properties:

                      \n
                        \n
                      • \n

                        \n CSV, JSON, and Parquet - Objects must be in CSV, JSON, or\n Parquet format.

                        \n
                      • \n
                      • \n

                        \n UTF-8 - UTF-8 is the only encoding type Amazon S3 Select\n supports.

                        \n
                      • \n
                      • \n

                        \n GZIP or BZIP2 - CSV and JSON files can be compressed using\n GZIP or BZIP2. GZIP and BZIP2 are the only compression formats that Amazon S3 Select\n supports for CSV and JSON files. Amazon S3 Select supports columnar compression for\n Parquet using GZIP or Snappy. Amazon S3 Select does not support whole-object compression\n for Parquet objects.

                        \n
                      • \n
                      • \n

                        \n Server-side encryption - Amazon S3 Select supports querying\n objects that are protected with server-side encryption.

                        \n

                        For objects that are encrypted with customer-provided encryption keys (SSE-C), you\n must use HTTPS, and you must use the headers that are documented in the GetObject. For more information about SSE-C, see Server-Side Encryption\n (Using Customer-Provided Encryption Keys) in the\n Amazon S3 User Guide.

                        \n

                        For objects that are encrypted with Amazon S3 managed encryption keys (SSE-S3) and\n customer master keys (CMKs) stored in Amazon Web Services Key Management Service (SSE-KMS),\n server-side encryption is handled transparently, so you don't need to specify\n anything. For more information about server-side encryption, including SSE-S3 and\n SSE-KMS, see Protecting Data Using\n Server-Side Encryption in the Amazon S3 User Guide.

                        \n
                      • \n
                      \n\n

                      \n Working with the Response Body\n

                      \n

                      Given the response size is unknown, Amazon S3 Select streams the response as a series of\n messages and includes a Transfer-Encoding header with chunked as\n its value in the response. For more information, see Appendix: SelectObjectContent\n Response.

                      \n\n

                      \n

                      \n GetObject Support\n

                      \n

                      The SelectObjectContent action does not support the following\n GetObject functionality. For more information, see GetObject.

                      \n
                        \n
                      • \n

                        \n Range: Although you can specify a scan range for an Amazon S3 Select request\n (see SelectObjectContentRequest - ScanRange in the request parameters),\n you cannot specify the range of bytes of an object to return.

                        \n
                      • \n
                      • \n

                        GLACIER, DEEP_ARCHIVE and REDUCED_REDUNDANCY storage classes: You cannot specify\n the GLACIER, DEEP_ARCHIVE, or REDUCED_REDUNDANCY storage classes. For\n more information, about storage classes see Storage Classes\n in the Amazon S3 User Guide.

                        \n
                      • \n
                      \n

                      \n

                      \n Special Errors\n

                      \n\n

                      For a list of special errors for this operation, see List of\n SELECT Object Content Error Codes\n

                      \n

                      \n Related Resources\n

                      \n ", "smithy.api#http": { "method": "POST", "uri": "/{Bucket}/{Key+}?select&select-type=2&x-id=SelectObjectContent", @@ -12046,7 +12046,7 @@ "KMSMasterKeyID": { "target": "com.amazonaws.s3#SSEKMSKeyId", "traits": { - "smithy.api#documentation": "

                      AWS Key Management Service (KMS) customer AWS KMS key ID to use for the default\n encryption. This parameter is allowed if and only if SSEAlgorithm is set to\n aws:kms.

                      \n

                      You can specify the key ID or the Amazon Resource Name (ARN) of the KMS key. However, if you\n are using encryption with cross-account operations, you must use a fully qualified KMS key ARN.\n For more information, see Using encryption for cross-account operations.

                      \n

                      \n For example:\n

                      \n
                        \n
                      • \n

                        Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab\n

                        \n
                      • \n
                      • \n

                        Key ARN:\n arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\n

                        \n
                      • \n
                      \n \n

                      Amazon S3 only supports symmetric KMS keys and not asymmetric KMS keys. For more information, see\n Using symmetric and\n asymmetric keys in the AWS Key Management Service Developer Guide.

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

                      Amazon Web Services Key Management Service (KMS) customer Amazon Web Services KMS key ID to use for the default\n encryption. This parameter is allowed if and only if SSEAlgorithm is set to\n aws:kms.

                      \n

                      You can specify the key ID or the Amazon Resource Name (ARN) of the KMS key. However, if you\n are using encryption with cross-account operations, you must use a fully qualified KMS key ARN.\n For more information, see Using encryption for cross-account operations.

                      \n

                      \n For example:\n

                      \n
                        \n
                      • \n

                        Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab\n

                        \n
                      • \n
                      • \n

                        Key ARN:\n arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\n

                        \n
                      • \n
                      \n \n

                      Amazon S3 only supports symmetric KMS keys and not asymmetric KMS keys. For more information, see\n Using symmetric and\n asymmetric keys in the Amazon Web Services Key Management Service Developer Guide.

                      \n
                      " } } }, @@ -12109,7 +12109,7 @@ "SseKmsEncryptedObjects": { "target": "com.amazonaws.s3#SseKmsEncryptedObjects", "traits": { - "smithy.api#documentation": "

                      A container for filter information for the selection of Amazon S3 objects encrypted with AWS\n KMS. If you include SourceSelectionCriteria in the replication configuration,\n this element is required.

                      " + "smithy.api#documentation": "

                      A container for filter information for the selection of Amazon S3 objects encrypted with Amazon Web Services\n KMS. If you include SourceSelectionCriteria in the replication configuration,\n this element is required.

                      " } }, "ReplicaModifications": { @@ -12120,7 +12120,7 @@ } }, "traits": { - "smithy.api#documentation": "

                      A container that describes additional filters for identifying the source objects that\n you want to replicate. You can choose to enable or disable the replication of these\n objects. Currently, Amazon S3 supports only the filter that you can specify for objects created\n with server-side encryption using a customer master key (CMK) stored in AWS Key Management\n Service (SSE-KMS).

                      " + "smithy.api#documentation": "

                      A container that describes additional filters for identifying the source objects that\n you want to replicate. You can choose to enable or disable the replication of these\n objects. Currently, Amazon S3 supports only the filter that you can specify for objects created\n with server-side encryption using a customer master key (CMK) stored in Amazon Web Services Key Management\n Service (SSE-KMS).

                      " } }, "com.amazonaws.s3#SseKmsEncryptedObjects": { @@ -12129,13 +12129,13 @@ "Status": { "target": "com.amazonaws.s3#SseKmsEncryptedObjectsStatus", "traits": { - "smithy.api#documentation": "

                      Specifies whether Amazon S3 replicates objects created with server-side encryption using an\n AWS KMS key stored in AWS Key Management Service.

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

                      Specifies whether Amazon S3 replicates objects created with server-side encryption using an\n Amazon Web Services KMS key stored in Amazon Web Services Key Management Service.

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

                      A container for filter information for the selection of S3 objects encrypted with AWS\n KMS.

                      " + "smithy.api#documentation": "

                      A container for filter information for the selection of S3 objects encrypted with Amazon Web Services\n KMS.

                      " } }, "com.amazonaws.s3#SseKmsEncryptedObjectsStatus": { @@ -12584,7 +12584,7 @@ "target": "com.amazonaws.s3#UploadPartOutput" }, "traits": { - "smithy.api#documentation": "

                      Uploads a part in a multipart upload.

                      \n \n

                      In this operation, you provide part data in your request. However, you have an option\n to specify your existing Amazon S3 object as a data source for the part you are uploading. To\n upload a part from an existing object, you use the UploadPartCopy operation.\n

                      \n
                      \n\n

                      You must initiate a multipart upload (see CreateMultipartUpload)\n before you can upload any part. In response to your initiate request, Amazon S3 returns an\n upload ID, a unique identifier, that you must include in your upload part request.

                      \n

                      Part numbers can be any number from 1 to 10,000, inclusive. A part number uniquely\n identifies a part and also defines its position within the object being created. If you\n upload a new part using the same part number that was used with a previous part, the\n previously uploaded part is overwritten. Each part must be at least 5 MB in size, except\n the last part. There is no size limit on the last part of your multipart upload.

                      \n

                      To ensure that data is not corrupted when traversing the network, specify the\n Content-MD5 header in the upload part request. Amazon S3 checks the part data\n against the provided MD5 value. If they do not match, Amazon S3 returns an error.

                      \n\n

                      If the upload request is signed with Signature Version 4, then AWS S3 uses the\n x-amz-content-sha256 header as a checksum instead of\n Content-MD5. For more information see Authenticating Requests: Using the Authorization Header (AWS Signature Version\n 4).

                      \n\n\n\n

                      \n Note: After you initiate multipart upload and upload\n one or more parts, you must either complete or abort multipart upload in order to stop\n getting charged for storage of the uploaded parts. Only after you either complete or abort\n multipart upload, Amazon S3 frees up the parts storage and stops charging you for the parts\n storage.

                      \n\n

                      For more information on multipart uploads, go to Multipart Upload Overview in the\n Amazon S3 User Guide .

                      \n

                      For information on the permissions required to use the multipart upload API, go to\n Multipart Upload and\n Permissions in the Amazon S3 User Guide.

                      \n\n

                      You can optionally request server-side encryption where Amazon S3 encrypts your data as it\n writes it to disks in its data centers and decrypts it for you when you access it. You have\n the option of providing your own encryption key, or you can use the AWS managed encryption\n keys. If you choose to provide your own encryption key, the request headers you provide in\n the request must match the headers you used in the request to initiate the upload by using\n CreateMultipartUpload. For more information, go to Using Server-Side Encryption in\n the Amazon S3 User Guide.

                      \n\n

                      Server-side encryption is supported by the S3 Multipart Upload actions. Unless you are\n using a customer-provided encryption key, you don't need to specify the encryption\n parameters in each UploadPart request. Instead, you only need to specify the server-side\n encryption parameters in the initial Initiate Multipart request. For more information, see\n CreateMultipartUpload.

                      \n\n

                      If you requested server-side encryption using a customer-provided encryption key in your\n initiate multipart upload request, you must provide identical encryption information in\n each part upload using the following headers.

                      \n\n\n
                        \n
                      • \n

                        x-amz-server-side-encryption-customer-algorithm

                        \n
                      • \n
                      • \n

                        x-amz-server-side-encryption-customer-key

                        \n
                      • \n
                      • \n

                        x-amz-server-side-encryption-customer-key-MD5

                        \n
                      • \n
                      \n\n

                      \n Special Errors\n

                      \n
                        \n
                      • \n
                          \n
                        • \n

                          \n Code: NoSuchUpload\n

                          \n
                        • \n
                        • \n

                          \n Cause: The specified multipart upload does not exist. The upload\n ID might be invalid, or the multipart upload might have been aborted or\n completed.\n

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 404 Not Found \n

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client\n

                          \n
                        • \n
                        \n
                      • \n
                      \n\n \n\n\n\n\n

                      \n Related Resources\n

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

                      Uploads a part in a multipart upload.

                      \n \n

                      In this operation, you provide part data in your request. However, you have an option\n to specify your existing Amazon S3 object as a data source for the part you are uploading. To\n upload a part from an existing object, you use the UploadPartCopy operation.\n

                      \n
                      \n\n

                      You must initiate a multipart upload (see CreateMultipartUpload)\n before you can upload any part. In response to your initiate request, Amazon S3 returns an\n upload ID, a unique identifier, that you must include in your upload part request.

                      \n

                      Part numbers can be any number from 1 to 10,000, inclusive. A part number uniquely\n identifies a part and also defines its position within the object being created. If you\n upload a new part using the same part number that was used with a previous part, the\n previously uploaded part is overwritten. Each part must be at least 5 MB in size, except\n the last part. There is no size limit on the last part of your multipart upload.

                      \n

                      To ensure that data is not corrupted when traversing the network, specify the\n Content-MD5 header in the upload part request. Amazon S3 checks the part data\n against the provided MD5 value. If they do not match, Amazon S3 returns an error.

                      \n\n

                      If the upload request is signed with Signature Version 4, then Amazon Web Services S3 uses the\n x-amz-content-sha256 header as a checksum instead of\n Content-MD5. For more information see Authenticating Requests: Using the Authorization Header (Amazon Web Services Signature Version\n 4).

                      \n\n\n\n

                      \n Note: After you initiate multipart upload and upload\n one or more parts, you must either complete or abort multipart upload in order to stop\n getting charged for storage of the uploaded parts. Only after you either complete or abort\n multipart upload, Amazon S3 frees up the parts storage and stops charging you for the parts\n storage.

                      \n\n

                      For more information on multipart uploads, go to Multipart Upload Overview in the\n Amazon S3 User Guide .

                      \n

                      For information on the permissions required to use the multipart upload API, go to\n Multipart Upload and\n Permissions in the Amazon S3 User Guide.

                      \n\n

                      You can optionally request server-side encryption where Amazon S3 encrypts your data as it\n writes it to disks in its data centers and decrypts it for you when you access it. You have\n the option of providing your own encryption key, or you can use the Amazon Web Services managed encryption\n keys. If you choose to provide your own encryption key, the request headers you provide in\n the request must match the headers you used in the request to initiate the upload by using\n CreateMultipartUpload. For more information, go to Using Server-Side Encryption in\n the Amazon S3 User Guide.

                      \n\n

                      Server-side encryption is supported by the S3 Multipart Upload actions. Unless you are\n using a customer-provided encryption key, you don't need to specify the encryption\n parameters in each UploadPart request. Instead, you only need to specify the server-side\n encryption parameters in the initial Initiate Multipart request. For more information, see\n CreateMultipartUpload.

                      \n\n

                      If you requested server-side encryption using a customer-provided encryption key in your\n initiate multipart upload request, you must provide identical encryption information in\n each part upload using the following headers.

                      \n\n\n
                        \n
                      • \n

                        x-amz-server-side-encryption-customer-algorithm

                        \n
                      • \n
                      • \n

                        x-amz-server-side-encryption-customer-key

                        \n
                      • \n
                      • \n

                        x-amz-server-side-encryption-customer-key-MD5

                        \n
                      • \n
                      \n\n

                      \n Special Errors\n

                      \n
                        \n
                      • \n
                          \n
                        • \n

                          \n Code: NoSuchUpload\n

                          \n
                        • \n
                        • \n

                          \n Cause: The specified multipart upload does not exist. The upload\n ID might be invalid, or the multipart upload might have been aborted or\n completed.\n

                          \n
                        • \n
                        • \n

                          \n HTTP Status Code: 404 Not Found \n

                          \n
                        • \n
                        • \n

                          \n SOAP Fault Code Prefix: Client\n

                          \n
                        • \n
                        \n
                      • \n
                      \n\n \n\n\n\n\n

                      \n Related Resources\n

                      \n ", "smithy.api#http": { "method": "PUT", "uri": "/{Bucket}/{Key+}?x-id=UploadPart", @@ -12650,14 +12650,14 @@ "SSEKMSKeyId": { "target": "com.amazonaws.s3#SSEKMSKeyId", "traits": { - "smithy.api#documentation": "

                      If present, specifies the ID of the AWS Key Management Service (AWS KMS) symmetric\n customer managed customer master key (CMK) that was used for the object.

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

                      If present, specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric\n customer managed customer master key (CMK) that was used for the object.

                      ", "smithy.api#httpHeader": "x-amz-server-side-encryption-aws-kms-key-id" } }, "BucketKeyEnabled": { "target": "com.amazonaws.s3#BucketKeyEnabled", "traits": { - "smithy.api#documentation": "

                      Indicates whether the multipart upload uses an S3 Bucket Key for server-side encryption with AWS KMS (SSE-KMS).

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

                      Indicates whether the multipart upload uses an S3 Bucket Key for server-side encryption with Amazon Web Services KMS (SSE-KMS).

                      ", "smithy.api#httpHeader": "x-amz-server-side-encryption-bucket-key-enabled" } }, @@ -12675,7 +12675,7 @@ "Bucket": { "target": "com.amazonaws.s3#BucketName", "traits": { - "smithy.api#documentation": "

                      The bucket name.

                      \n

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                      \n

                      When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

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

                      The bucket name.

                      \n

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                      \n

                      When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                      ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -12683,7 +12683,7 @@ "CopySource": { "target": "com.amazonaws.s3#CopySource", "traits": { - "smithy.api#documentation": "

                      Specifies the source object for the copy operation. You specify the value in one of two\n formats, depending on whether you want to access the source object through an access point:

                      \n
                        \n
                      • \n

                        For objects not accessed through an access point, specify the name of the source\n bucket and key of the source object, separated by a slash (/). For example, to copy\n the object reports/january.pdf from the bucket\n awsexamplebucket, use\n awsexamplebucket/reports/january.pdf. The value must be URL\n encoded.

                        \n
                      • \n
                      • \n

                        For objects accessed through access points, specify the Amazon Resource Name (ARN) of the object as accessed through the access point, in the format arn:aws:s3:::accesspoint//object/. For example, to copy the object reports/january.pdf through access point my-access-point owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point/object/reports/january.pdf. The value must be URL encoded.

                        \n \n

                        Amazon S3 supports copy operations using access points only when the source and destination buckets are in the same AWS Region.

                        \n
                        \n

                        Alternatively, for objects accessed through Amazon S3 on Outposts, specify the ARN of the object as accessed in the format arn:aws:s3-outposts:::outpost//object/. For example, to copy the object reports/january.pdf 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/object/reports/january.pdf. The value must be URL encoded.

                        \n
                      • \n
                      \n

                      To copy a specific version of an object, append ?versionId=\n to the value (for example,\n awsexamplebucket/reports/january.pdf?versionId=QUpfdndhfd8438MNFDN93jdnJFkdmqnh893).\n If you don't specify a version ID, Amazon S3 copies the latest version of the source\n object.

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

                      Specifies the source object for the copy operation. You specify the value in one of two\n formats, depending on whether you want to access the source object through an access point:

                      \n
                        \n
                      • \n

                        For objects not accessed through an access point, specify the name of the source\n bucket and key of the source object, separated by a slash (/). For example, to copy\n the object reports/january.pdf from the bucket\n awsexamplebucket, use\n awsexamplebucket/reports/january.pdf. The value must be URL\n encoded.

                        \n
                      • \n
                      • \n

                        For objects accessed through access points, specify the Amazon Resource Name (ARN) of the object as accessed through the access point, in the format arn:aws:s3:::accesspoint//object/. For example, to copy the object reports/january.pdf through access point my-access-point owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point/object/reports/january.pdf. The value must be URL encoded.

                        \n \n

                        Amazon S3 supports copy operations using access points only when the source and destination buckets are in the same Amazon Web Services Region.

                        \n
                        \n

                        Alternatively, for objects accessed through Amazon S3 on Outposts, specify the ARN of the object as accessed in the format arn:aws:s3-outposts:::outpost//object/. For example, to copy the object reports/january.pdf 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/object/reports/january.pdf. The value must be URL encoded.

                        \n
                      • \n
                      \n

                      To copy a specific version of an object, append ?versionId=\n to the value (for example,\n awsexamplebucket/reports/january.pdf?versionId=QUpfdndhfd8438MNFDN93jdnJFkdmqnh893).\n If you don't specify a version ID, Amazon S3 copies the latest version of the source\n object.

                      ", "smithy.api#httpHeader": "x-amz-copy-source", "smithy.api#required": {} } @@ -12845,14 +12845,14 @@ "SSEKMSKeyId": { "target": "com.amazonaws.s3#SSEKMSKeyId", "traits": { - "smithy.api#documentation": "

                      If present, specifies the ID of the AWS Key Management Service (AWS KMS) symmetric\n customer managed customer master key (CMK) was used for the object.

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

                      If present, specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric\n customer managed customer master key (CMK) was used for the object.

                      ", "smithy.api#httpHeader": "x-amz-server-side-encryption-aws-kms-key-id" } }, "BucketKeyEnabled": { "target": "com.amazonaws.s3#BucketKeyEnabled", "traits": { - "smithy.api#documentation": "

                      Indicates whether the multipart upload uses an S3 Bucket Key for server-side encryption with AWS KMS (SSE-KMS).

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

                      Indicates whether the multipart upload uses an S3 Bucket Key for server-side encryption with Amazon Web Services KMS (SSE-KMS).

                      ", "smithy.api#httpHeader": "x-amz-server-side-encryption-bucket-key-enabled" } }, @@ -12877,7 +12877,7 @@ "Bucket": { "target": "com.amazonaws.s3#BucketName", "traits": { - "smithy.api#documentation": "

                      The name of the bucket to which the multipart upload was initiated.

                      \n

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                      \n

                      When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

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

                      The name of the bucket to which the multipart upload was initiated.

                      \n

                      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                      \n

                      When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                      ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -13035,7 +13035,7 @@ "traits": { "aws.auth#unsignedPayload": {}, "smithy.api#auth": ["aws.auth#sigv4"], - "smithy.api#documentation": "

                      Passes transformed\n objects to a GetObject operation when using Object Lambda Access Points. For information about\n Object Lambda Access Points, see Transforming objects with\n Object Lambda Access Points in the Amazon S3 User Guide.

                      \n

                      This operation supports metadata that can be returned by GetObject, in addition to\n RequestRoute, RequestToken, StatusCode,\n ErrorCode, and ErrorMessage. The GetObject\n response metadata is supported so that the WriteGetObjectResponse caller,\n typically an AWS Lambda function, can provide the same metadata when it internally invokes\n GetObject. When WriteGetObjectResponse is called by a\n customer-owned Lambda function, the metadata returned to the end user\n GetObject call might differ from what Amazon S3 would normally return.

                      \n

                      AWS provides some prebuilt Lambda functions that you can use with S3 Object Lambda to detect and redact\n personally identifiable information (PII) and decompress S3 objects. These Lambda functions\n are available in the AWS Serverless Application Repository, and can be selected through the AWS Management Console when you create your\n Object Lambda Access Point.

                      \n

                      Example 1: PII Access Control - This Lambda function uses Amazon Comprehend, a natural language processing (NLP) service using machine learning to find insights and relationships in text. It automatically detects personally identifiable information (PII) such as names, addresses, dates, credit card numbers, and social security numbers from documents in your Amazon S3 bucket.

                      \n

                      Example 2: PII Redaction - This Lambda function uses Amazon Comprehend, a natural language processing (NLP) service using machine learning to find insights and relationships in text. It automatically redacts personally identifiable information (PII) such as names, addresses, dates, credit card numbers, and social security numbers from documents in your Amazon S3 bucket.

                      \n

                      Example 3: Decompression - The Lambda function S3ObjectLambdaDecompression, is equipped to decompress objects stored in S3 in one of six compressed file formats including bzip2, gzip, snappy, zlib, zstandard and ZIP.

                      \n

                      For information on how to view and use these functions, see Using AWS built Lambda functions in the Amazon S3 User Guide.

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

                      Passes transformed\n objects to a GetObject operation when using Object Lambda Access Points. For information about\n Object Lambda Access Points, see Transforming objects with\n Object Lambda Access Points in the Amazon S3 User Guide.

                      \n

                      This operation supports metadata that can be returned by GetObject, in addition to\n RequestRoute, RequestToken, StatusCode,\n ErrorCode, and ErrorMessage. The GetObject\n response metadata is supported so that the WriteGetObjectResponse caller,\n typically an Lambda function, can provide the same metadata when it internally invokes\n GetObject. When WriteGetObjectResponse is called by a\n customer-owned Lambda function, the metadata returned to the end user\n GetObject call might differ from what Amazon S3 would normally return.

                      \n

                      You can include any number of metadata headers. When including a metadata header, it should be\n prefaced with x-amz-meta. For example, x-amz-meta-my-custom-header: MyCustomValue.\n The primary use case for this is to forward GetObject metadata.

                      \n

                      Amazon Web Services provides some prebuilt Lambda functions that you can use with S3 Object Lambda to detect and redact\n personally identifiable information (PII) and decompress S3 objects. These Lambda functions\n are available in the Amazon Web Services Serverless Application Repository, and can be selected through the Amazon Web Services Management Console when you create your\n Object Lambda Access Point.

                      \n

                      Example 1: PII Access Control - This Lambda function uses Amazon Comprehend, a natural language processing (NLP) service using machine learning to find insights and relationships in text. It automatically detects personally identifiable information (PII) such as names, addresses, dates, credit card numbers, and social security numbers from documents in your Amazon S3 bucket.

                      \n

                      Example 2: PII Redaction - This Lambda function uses Amazon Comprehend, a natural language processing (NLP) service using machine learning to find insights and relationships in text. It automatically redacts personally identifiable information (PII) such as names, addresses, dates, credit card numbers, and social security numbers from documents in your Amazon S3 bucket.

                      \n

                      Example 3: Decompression - The Lambda function S3ObjectLambdaDecompression, is equipped to decompress objects stored in S3 in one of six compressed file formats including bzip2, gzip, snappy, zlib, zstandard and ZIP.

                      \n

                      For information on how to view and use these functions, see Using Amazon Web Services built Lambda functions in the Amazon S3 User Guide.

                      ", "smithy.api#endpoint": { "hostPrefix": "{RequestRoute}." }, @@ -13264,7 +13264,7 @@ "SSEKMSKeyId": { "target": "com.amazonaws.s3#SSEKMSKeyId", "traits": { - "smithy.api#documentation": "

                      If present, specifies the ID of the AWS Key Management Service (AWS KMS) symmetric customer managed customer master key (CMK) that was used for stored in Amazon S3 object.

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

                      If present, specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric customer managed customer master key (CMK) that was used for stored in Amazon S3 object.

                      ", "smithy.api#httpHeader": "x-amz-fwd-header-x-amz-server-side-encryption-aws-kms-key-id" } }, @@ -13299,7 +13299,7 @@ "BucketKeyEnabled": { "target": "com.amazonaws.s3#BucketKeyEnabled", "traits": { - "smithy.api#documentation": "

                      Indicates whether the object stored in Amazon S3 uses an S3 bucket key for server-side\n encryption with AWS KMS (SSE-KMS).

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

                      Indicates whether the object stored in Amazon S3 uses an S3 bucket key for server-side\n encryption with Amazon Web Services KMS (SSE-KMS).

                      ", "smithy.api#httpHeader": "x-amz-fwd-header-x-amz-server-side-encryption-bucket-key-enabled" } } diff --git a/codegen/sdk-codegen/aws-models/sagemaker-runtime.2017-05-13.json b/codegen/sdk-codegen/aws-models/sagemaker-runtime.2017-05-13.json index 47e018dd1d54..8824c3ef6f30 100644 --- a/codegen/sdk-codegen/aws-models/sagemaker-runtime.2017-05-13.json +++ b/codegen/sdk-codegen/aws-models/sagemaker-runtime.2017-05-13.json @@ -35,6 +35,9 @@ "operations": [ { "target": "com.amazonaws.sagemakerruntime#InvokeEndpoint" + }, + { + "target": "com.amazonaws.sagemakerruntime#InvokeEndpointAsync" } ], "traits": { @@ -70,7 +73,7 @@ "min": 0, "max": 1024 }, - "smithy.api#pattern": "\\p{ASCII}*", + "smithy.api#pattern": "^\\p{ASCII}*$", "smithy.api#sensitive": {} } }, @@ -81,7 +84,7 @@ "min": 0, "max": 63 }, - "smithy.api#pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9])*" + "smithy.api#pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9])*$" } }, "com.amazonaws.sagemakerruntime#Header": { @@ -91,7 +94,7 @@ "min": 0, "max": 1024 }, - "smithy.api#pattern": "\\p{ASCII}*" + "smithy.api#pattern": "^\\p{ASCII}*$" } }, "com.amazonaws.sagemakerruntime#InferenceId": { @@ -101,7 +104,17 @@ "min": 1, "max": 64 }, - "smithy.api#pattern": "\\A\\S[\\p{Print}]*\\z" + "smithy.api#pattern": "^\\A\\S[\\p{Print}]*\\z$" + } + }, + "com.amazonaws.sagemakerruntime#InputLocationHeader": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1024 + }, + "smithy.api#pattern": "^(https|s3)://([^/]+)/?(.*)$" } }, "com.amazonaws.sagemakerruntime#InternalFailure": { @@ -148,6 +161,108 @@ } } }, + "com.amazonaws.sagemakerruntime#InvokeEndpointAsync": { + "type": "operation", + "input": { + "target": "com.amazonaws.sagemakerruntime#InvokeEndpointAsyncInput" + }, + "output": { + "target": "com.amazonaws.sagemakerruntime#InvokeEndpointAsyncOutput" + }, + "errors": [ + { + "target": "com.amazonaws.sagemakerruntime#InternalFailure" + }, + { + "target": "com.amazonaws.sagemakerruntime#ServiceUnavailable" + }, + { + "target": "com.amazonaws.sagemakerruntime#ValidationError" + } + ], + "traits": { + "smithy.api#documentation": "

                      After you deploy a model into production using Amazon SageMaker hosting services, \n your client applications use this API to get inferences from the model hosted at \n the specified endpoint in an asynchronous manner.

                      \n \n

                      Inference requests sent to this API are enqueued for asynchronous processing. \n The processing of the inference request may or may not complete before the \n you receive a response from this API. The response from this API will \n not contain the result of the inference request but contain information \n about where you can locate it.

                      \n \n

                      Amazon SageMaker strips all POST headers except those supported by the API. \n Amazon SageMaker might add additional headers. You should not rely on the behavior \n of headers outside those enumerated in the request syntax.

                      \n \n

                      Calls to InvokeEndpointAsync are authenticated by using AWS Signature\n Version 4. For information, see Authenticating Requests (AWS Signature Version 4) in the Amazon S3 API\n Reference.

                      ", + "smithy.api#http": { + "method": "POST", + "uri": "/endpoints/{EndpointName}/async-invocations", + "code": 202 + } + } + }, + "com.amazonaws.sagemakerruntime#InvokeEndpointAsyncInput": { + "type": "structure", + "members": { + "EndpointName": { + "target": "com.amazonaws.sagemakerruntime#EndpointName", + "traits": { + "smithy.api#documentation": "

                      The name of the endpoint that you specified when you created the endpoint using \n the \n CreateEndpoint\n API.

                      ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "ContentType": { + "target": "com.amazonaws.sagemakerruntime#Header", + "traits": { + "smithy.api#documentation": "

                      The MIME type of the input data in the request body.

                      ", + "smithy.api#httpHeader": "X-Amzn-SageMaker-Content-Type" + } + }, + "Accept": { + "target": "com.amazonaws.sagemakerruntime#Header", + "traits": { + "smithy.api#documentation": "

                      The desired MIME type of the inference in the response.

                      ", + "smithy.api#httpHeader": "X-Amzn-SageMaker-Accept" + } + }, + "CustomAttributes": { + "target": "com.amazonaws.sagemakerruntime#CustomAttributesHeader", + "traits": { + "smithy.api#documentation": "

                      Provides additional information about a request for an inference submitted to \n a model hosted at an Amazon SageMaker endpoint. The information is an opaque value that is \n forwarded verbatim. You could use this value, for example, to provide an ID that you \n can use to track a request or to provide other metadata that a service endpoint was \n programmed to process. The value must consist of no more than 1024 \n visible US-ASCII characters as specified in \n Section 3.3.6. \n Field Value Components of the Hypertext Transfer Protocol (HTTP/1.1).

                      \n \n

                      The code in your model is responsible for setting or updating any custom attributes \n in the response. If your code does not set this value in the response, an empty \n value is returned. For example, if a custom attribute represents the trace ID, \n your model can prepend the custom attribute with Trace ID: in your post-processing function.

                      \n \n

                      This feature is currently supported in the AWS SDKs but not in the Amazon SageMaker Python SDK.

                      ", + "smithy.api#httpHeader": "X-Amzn-SageMaker-Custom-Attributes" + } + }, + "InferenceId": { + "target": "com.amazonaws.sagemakerruntime#InferenceId", + "traits": { + "smithy.api#documentation": "

                      The identifier for the inference request. Amazon SageMaker will generate an identifier for you \n if none is specified.

                      ", + "smithy.api#httpHeader": "X-Amzn-SageMaker-Inference-Id" + } + }, + "InputLocation": { + "target": "com.amazonaws.sagemakerruntime#InputLocationHeader", + "traits": { + "smithy.api#documentation": "

                      The Amazon S3 URI where the inference request payload is stored.

                      ", + "smithy.api#httpHeader": "X-Amzn-SageMaker-InputLocation", + "smithy.api#required": {} + } + }, + "RequestTTLSeconds": { + "target": "com.amazonaws.sagemakerruntime#RequestTTLSecondsHeader", + "traits": { + "smithy.api#documentation": "

                      Maximum age in seconds a request can be in the queue before it is marked as expired.

                      ", + "smithy.api#httpHeader": "X-Amzn-SageMaker-RequestTTLSeconds" + } + } + } + }, + "com.amazonaws.sagemakerruntime#InvokeEndpointAsyncOutput": { + "type": "structure", + "members": { + "InferenceId": { + "target": "com.amazonaws.sagemakerruntime#Header", + "traits": { + "smithy.api#documentation": "

                      Identifier for an inference request. This will be the same as the InferenceId specified \n in the input. Amazon SageMaker will generate an identifier for you if you do not specify one.

                      " + } + }, + "OutputLocation": { + "target": "com.amazonaws.sagemakerruntime#Header", + "traits": { + "smithy.api#documentation": "

                      The Amazon S3 URI where the inference response payload is stored.

                      ", + "smithy.api#httpHeader": "X-Amzn-SageMaker-OutputLocation" + } + } + } + }, "com.amazonaws.sagemakerruntime#InvokeEndpointInput": { "type": "structure", "members": { @@ -295,6 +410,16 @@ "smithy.api#httpError": 424 } }, + "com.amazonaws.sagemakerruntime#RequestTTLSecondsHeader": { + "type": "integer", + "traits": { + "smithy.api#box": {}, + "smithy.api#range": { + "min": 60, + "max": 21600 + } + } + }, "com.amazonaws.sagemakerruntime#ServiceUnavailable": { "type": "structure", "members": { @@ -321,7 +446,7 @@ "min": 0, "max": 63 }, - "smithy.api#pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9])*" + "smithy.api#pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9])*$" } }, "com.amazonaws.sagemakerruntime#TargetModelHeader": { @@ -331,7 +456,7 @@ "min": 1, "max": 1024 }, - "smithy.api#pattern": "\\A\\S[\\p{Print}]*\\z" + "smithy.api#pattern": "^\\A\\S[\\p{Print}]*\\z$" } }, "com.amazonaws.sagemakerruntime#TargetVariantHeader": { @@ -341,7 +466,7 @@ "min": 0, "max": 63 }, - "smithy.api#pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9])*" + "smithy.api#pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9])*$" } }, "com.amazonaws.sagemakerruntime#ValidationError": { 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 275d3124b233..1f087c439f5b 100644 --- a/codegen/sdk-codegen/aws-models/sagemaker.2017-07-24.json +++ b/codegen/sdk-codegen/aws-models/sagemaker.2017-07-24.json @@ -1414,6 +1414,88 @@ "smithy.api#documentation": "

                      Lists a summary of the properties of an association. An association is an entity that\n links other lineage or experiment entities. An example would be an association between a\n training job and a model.

                      " } }, + "com.amazonaws.sagemaker#AsyncInferenceClientConfig": { + "type": "structure", + "members": { + "MaxConcurrentInvocationsPerInstance": { + "target": "com.amazonaws.sagemaker#MaxConcurrentInvocationsPerInstance", + "traits": { + "smithy.api#documentation": "

                      The maximum number of concurrent requests sent by the SageMaker client to the \n model container. If no value is provided, Amazon SageMaker will choose an optimal value for you.

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

                      Configures the behavior of the client used by Amazon SageMaker to interact with the \n model container during asynchronous inference.

                      " + } + }, + "com.amazonaws.sagemaker#AsyncInferenceConfig": { + "type": "structure", + "members": { + "ClientConfig": { + "target": "com.amazonaws.sagemaker#AsyncInferenceClientConfig", + "traits": { + "smithy.api#documentation": "

                      Configures the behavior of the client used by Amazon SageMaker to interact \n with the model container during asynchronous inference.

                      " + } + }, + "OutputConfig": { + "target": "com.amazonaws.sagemaker#AsyncInferenceOutputConfig", + "traits": { + "smithy.api#documentation": "

                      Specifies the configuration for asynchronous inference invocation outputs.

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

                      Specifies configuration for how an endpoint performs asynchronous inference.

                      " + } + }, + "com.amazonaws.sagemaker#AsyncInferenceNotificationConfig": { + "type": "structure", + "members": { + "SuccessTopic": { + "target": "com.amazonaws.sagemaker#SnsTopicArn", + "traits": { + "smithy.api#documentation": "

                      Amazon SNS topic to post a notification to when inference completes successfully. \n If no topic is provided, no notification is sent on success.

                      " + } + }, + "ErrorTopic": { + "target": "com.amazonaws.sagemaker#SnsTopicArn", + "traits": { + "smithy.api#documentation": "

                      Amazon SNS topic to post a notification to when inference fails. \n If no topic is provided, no notification is sent on failure.

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

                      Specifies the configuration for notifications of inference results for asynchronous inference.

                      " + } + }, + "com.amazonaws.sagemaker#AsyncInferenceOutputConfig": { + "type": "structure", + "members": { + "KmsKeyId": { + "target": "com.amazonaws.sagemaker#KmsKeyId", + "traits": { + "smithy.api#documentation": "

                      The Amazon Web Services Key Management Service (Amazon Web Services KMS) key that\n Amazon SageMaker uses to encrypt the asynchronous inference output in Amazon S3.

                      \n

                      " + } + }, + "S3OutputPath": { + "target": "com.amazonaws.sagemaker#DestinationS3Uri", + "traits": { + "smithy.api#documentation": "

                      The Amazon S3 location to upload inference responses to.

                      ", + "smithy.api#required": {} + } + }, + "NotificationConfig": { + "target": "com.amazonaws.sagemaker#AsyncInferenceNotificationConfig", + "traits": { + "smithy.api#documentation": "

                      Specifies the configuration for notifications of inference results for asynchronous inference.

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

                      Specifies the configuration for asynchronous inference invocation outputs.

                      " + } + }, "com.amazonaws.sagemaker#AthenaCatalog": { "type": "string", "traits": { @@ -3546,7 +3628,7 @@ "traits": { "smithy.api#length": { "min": 0, - "max": 5 + "max": 15 } } }, @@ -4872,6 +4954,12 @@ "traits": { "smithy.api#documentation": "

                      The Amazon Resource Name (ARN) of a Amazon Web Services Key Management Service key that Amazon SageMaker uses to encrypt data on\n the storage volume attached to the ML compute instance that hosts the endpoint.

                      \n

                      The KmsKeyId can be any of the following formats:

                      \n
                        \n
                      • \n

                        Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab\n

                        \n
                      • \n
                      • \n

                        Key ARN:\n arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\n

                        \n
                      • \n
                      • \n

                        Alias name: alias/ExampleAlias\n

                        \n
                      • \n
                      • \n

                        Alias name ARN:\n arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias\n

                        \n
                      • \n
                      \n

                      The KMS key policy must grant permission to the IAM role that you specify in your\n CreateEndpoint, UpdateEndpoint requests. For more\n information, refer to the Amazon Web Services Key Management Service section Using Key\n Policies in Amazon Web Services KMS \n

                      \n \n

                      Certain Nitro-based instances include local storage, dependent on the instance\n type. Local storage volumes are encrypted using a hardware module on the instance.\n You can't request a KmsKeyId when using an instance type with local\n storage. If any of the models that you specify in the\n ProductionVariants parameter use nitro-based instances with local\n storage, do not specify a value for the KmsKeyId parameter. If you\n specify a value for KmsKeyId when using any nitro-based instances with\n local storage, the call to CreateEndpointConfig fails.

                      \n

                      For a list of instance types that support local instance storage, see Instance Store Volumes.

                      \n

                      For more information about local instance storage encryption, see SSD\n Instance Store Volumes.

                      \n
                      " } + }, + "AsyncInferenceConfig": { + "target": "com.amazonaws.sagemaker#AsyncInferenceConfig", + "traits": { + "smithy.api#documentation": "

                      Specifies configuration for how an endpoint performs asynchronous inference. \n This is a required field in order for your Endpoint to be invoked using \n \n InvokeEndpointAsync\n .

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

                      Whether root access is enabled or disabled for users of the notebook instance. The\n default value is Enabled.

                      \n \n

                      Lifecycle configurations need root access to be able to set up a notebook\n instance. Because of this, lifecycle configurations associated with a notebook\n instance always run with root access even if you disable root access for\n users.

                      \n
                      " } + }, + "PlatformIdentifier": { + "target": "com.amazonaws.sagemaker#PlatformIdentifier", + "traits": { + "smithy.api#documentation": "

                      The platform identifier of the notebook instance runtime environment.

                      " + } } } }, @@ -10724,6 +10818,12 @@ "smithy.api#documentation": "

                      A timestamp that shows when the endpoint configuration was created.

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

                      Returns the description of an endpoint configuration created using the \n \n CreateEndpointConfig\n API.

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

                      The most recent deployment configuration for the endpoint.

                      " } + }, + "AsyncInferenceConfig": { + "target": "com.amazonaws.sagemaker#AsyncInferenceConfig", + "traits": { + "smithy.api#documentation": "

                      Returns the description of an endpoint configuration created \n using the \n CreateEndpointConfig\n API.

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

                      Whether root access is enabled or disabled for users of the notebook instance.

                      \n \n

                      Lifecycle configurations need root access to be able to set up a notebook\n instance. Because of this, lifecycle configurations associated with a notebook\n instance always run with root access even if you disable root access for\n users.

                      \n
                      " } + }, + "PlatformIdentifier": { + "target": "com.amazonaws.sagemaker#PlatformIdentifier", + "traits": { + "smithy.api#documentation": "

                      The platform identifier of the notebook instance runtime environment.

                      " + } } } }, @@ -18370,6 +18482,15 @@ "smithy.api#documentation": "

                      Defines how to perform inference generation after a training job is run.

                      " } }, + "com.amazonaws.sagemaker#InitialTaskCount": { + "type": "integer", + "traits": { + "smithy.api#box": {}, + "smithy.api#range": { + "min": 1 + } + } + }, "com.amazonaws.sagemaker#InputConfig": { "type": "structure", "members": { @@ -18519,6 +18640,38 @@ "value": "ml.m5.24xlarge", "name": "ML_M5_24XLARGE" }, + { + "value": "ml.m5d.large", + "name": "ML_M5D_LARGE" + }, + { + "value": "ml.m5d.xlarge", + "name": "ML_M5D_XLARGE" + }, + { + "value": "ml.m5d.2xlarge", + "name": "ML_M5D_2XLARGE" + }, + { + "value": "ml.m5d.4xlarge", + "name": "ML_M5D_4XLARGE" + }, + { + "value": "ml.m5d.8xlarge", + "name": "ML_M5D_8XLARGE" + }, + { + "value": "ml.m5d.12xlarge", + "name": "ML_M5D_12XLARGE" + }, + { + "value": "ml.m5d.16xlarge", + "name": "ML_M5D_16XLARGE" + }, + { + "value": "ml.m5d.24xlarge", + "name": "ML_M5D_24XLARGE" + }, { "value": "ml.c4.xlarge", "name": "ML_C4_XLARGE" @@ -18598,6 +18751,66 @@ { "value": "ml.p3.16xlarge", "name": "ML_P3_16XLARGE" + }, + { + "value": "ml.p3dn.24xlarge", + "name": "ML_P3DN_24XLARGE" + }, + { + "value": "ml.g4dn.xlarge", + "name": "ML_G4DN_XLARGE" + }, + { + "value": "ml.g4dn.2xlarge", + "name": "ML_G4DN_2XLARGE" + }, + { + "value": "ml.g4dn.4xlarge", + "name": "ML_G4DN_4XLARGE" + }, + { + "value": "ml.g4dn.8xlarge", + "name": "ML_G4DN_8XLARGE" + }, + { + "value": "ml.g4dn.12xlarge", + "name": "ML_G4DN_12XLARGE" + }, + { + "value": "ml.g4dn.16xlarge", + "name": "ML_G4DN_16XLARGE" + }, + { + "value": "ml.r5.large", + "name": "ML_R5_LARGE" + }, + { + "value": "ml.r5.xlarge", + "name": "ML_R5_XLARGE" + }, + { + "value": "ml.r5.2xlarge", + "name": "ML_R5_2XLARGE" + }, + { + "value": "ml.r5.4xlarge", + "name": "ML_R5_4XLARGE" + }, + { + "value": "ml.r5.8xlarge", + "name": "ML_R5_8XLARGE" + }, + { + "value": "ml.r5.12xlarge", + "name": "ML_R5_12XLARGE" + }, + { + "value": "ml.r5.16xlarge", + "name": "ML_R5_16XLARGE" + }, + { + "value": "ml.r5.24xlarge", + "name": "ML_R5_24XLARGE" } ] } @@ -24253,6 +24466,16 @@ } } }, + "com.amazonaws.sagemaker#MaxConcurrentInvocationsPerInstance": { + "type": "integer", + "traits": { + "smithy.api#box": {}, + "smithy.api#range": { + "min": 1, + "max": 1000 + } + } + }, "com.amazonaws.sagemaker#MaxConcurrentTaskCount": { "type": "integer", "traits": { @@ -25117,7 +25340,7 @@ "traits": { "smithy.api#length": { "min": 1, - "max": 5 + "max": 15 } } }, @@ -27096,12 +27319,12 @@ "NotificationTopicArn": { "target": "com.amazonaws.sagemaker#NotificationTopicArn", "traits": { - "smithy.api#documentation": "

                      The ARN for the SNS topic to which notifications should be published.

                      " + "smithy.api#documentation": "

                      The ARN for the Amazon SNS topic to which notifications should be published.

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

                      Configures SNS notifications of available or expiring work items for work\n teams.

                      " + "smithy.api#documentation": "

                      Configures Amazon SNS notifications of available or expiring work items for work\n teams.

                      " } }, "com.amazonaws.sagemaker#NotificationTopicArn": { @@ -28337,6 +28560,16 @@ } } }, + "com.amazonaws.sagemaker#PlatformIdentifier": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 15 + }, + "smithy.api#pattern": "^(notebook-al1-v1|notebook-al2-v1)$" + } + }, "com.amazonaws.sagemaker#PolicyString": { "type": "string", "traits": { @@ -29256,7 +29489,7 @@ } }, "InitialInstanceCount": { - "target": "com.amazonaws.sagemaker#TaskCount", + "target": "com.amazonaws.sagemaker#InitialTaskCount", "traits": { "smithy.api#documentation": "

                      Number of instances to launch initially.

                      ", "smithy.api#required": {} @@ -33660,7 +33893,7 @@ "traits": { "smithy.api#box": {}, "smithy.api#range": { - "min": 1 + "min": 0 } } },