From c995dd7e0b00e0cf3e7308a586fc788b4e641569 Mon Sep 17 00:00:00 2001 From: awstools Date: Thu, 29 Feb 2024 19:15:18 +0000 Subject: [PATCH] feat(client-docdb-elastic): Launched Elastic Clusters Readable Secondaries, Start/Stop, Configurable Shard Instance count, Automatic Backups and Snapshot Copying --- clients/client-docdb-elastic/README.md | 41 +- .../client-docdb-elastic/src/DocDBElastic.ts | 69 +- .../src/DocDBElasticClient.ts | 28 +- .../commands/CopyClusterSnapshotCommand.ts | 124 +++ .../src/commands/CreateClusterCommand.ts | 15 +- .../commands/CreateClusterSnapshotCommand.ts | 3 +- .../src/commands/DeleteClusterCommand.ts | 12 +- .../commands/DeleteClusterSnapshotCommand.ts | 3 +- .../src/commands/GetClusterCommand.ts | 12 +- .../src/commands/GetClusterSnapshotCommand.ts | 3 +- .../commands/ListClusterSnapshotsCommand.ts | 3 +- .../src/commands/ListClustersCommand.ts | 2 +- .../commands/ListTagsForResourceCommand.ts | 2 +- .../RestoreClusterFromSnapshotCommand.ts | 14 +- .../src/commands/StartClusterCommand.ts | 124 +++ .../src/commands/StopClusterCommand.ts | 125 +++ .../src/commands/TagResourceCommand.ts | 2 +- .../src/commands/UntagResourceCommand.ts | 2 +- .../src/commands/UpdateClusterCommand.ts | 17 +- .../src/commands/index.ts | 3 + clients/client-docdb-elastic/src/index.ts | 16 +- .../src/models/models_0.ts | 775 ++++++++++++------ .../src/protocols/Aws_restJson1.ts | 147 +++- .../sdk-codegen/aws-models/docdb-elastic.json | 713 +++++++++++++--- 24 files changed, 1879 insertions(+), 376 deletions(-) create mode 100644 clients/client-docdb-elastic/src/commands/CopyClusterSnapshotCommand.ts create mode 100644 clients/client-docdb-elastic/src/commands/StartClusterCommand.ts create mode 100644 clients/client-docdb-elastic/src/commands/StopClusterCommand.ts diff --git a/clients/client-docdb-elastic/README.md b/clients/client-docdb-elastic/README.md index 22215e96fac6..24306b6d9c32 100644 --- a/clients/client-docdb-elastic/README.md +++ b/clients/client-docdb-elastic/README.md @@ -6,7 +6,22 @@ AWS SDK for JavaScript DocDBElastic Client for Node.js, Browser and React Native. -

The new Amazon Elastic DocumentDB service endpoint.

+Amazon DocumentDB elastic clusters + +

Amazon DocumentDB elastic-clusters support workloads with millions of reads/writes per second and petabytes of storage capacity. +Amazon DocumentDB elastic clusters also simplify how developers interact with Amazon DocumentDB elastic-clusters by eliminating the need to choose, manage or upgrade instances.

+

Amazon DocumentDB elastic-clusters were created to:

+ ## Installing @@ -203,6 +218,14 @@ see LICENSE for more information. ## Client Commands (Operations List) +
+ +CopyClusterSnapshot + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/docdb-elastic/command/CopyClusterSnapshotCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-docdb-elastic/Interface/CopyClusterSnapshotCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-docdb-elastic/Interface/CopyClusterSnapshotCommandOutput/) + +
CreateCluster @@ -282,6 +305,22 @@ RestoreClusterFromSnapshot [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/docdb-elastic/command/RestoreClusterFromSnapshotCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-docdb-elastic/Interface/RestoreClusterFromSnapshotCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-docdb-elastic/Interface/RestoreClusterFromSnapshotCommandOutput/) +
+
+ +StartCluster + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/docdb-elastic/command/StartClusterCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-docdb-elastic/Interface/StartClusterCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-docdb-elastic/Interface/StartClusterCommandOutput/) + +
+
+ +StopCluster + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/docdb-elastic/command/StopClusterCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-docdb-elastic/Interface/StopClusterCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-docdb-elastic/Interface/StopClusterCommandOutput/) +
diff --git a/clients/client-docdb-elastic/src/DocDBElastic.ts b/clients/client-docdb-elastic/src/DocDBElastic.ts index 26c470d2579f..8d9603374b37 100644 --- a/clients/client-docdb-elastic/src/DocDBElastic.ts +++ b/clients/client-docdb-elastic/src/DocDBElastic.ts @@ -2,6 +2,11 @@ import { createAggregatedClient } from "@smithy/smithy-client"; import { HttpHandlerOptions as __HttpHandlerOptions } from "@smithy/types"; +import { + CopyClusterSnapshotCommand, + CopyClusterSnapshotCommandInput, + CopyClusterSnapshotCommandOutput, +} from "./commands/CopyClusterSnapshotCommand"; import { CreateClusterCommand, CreateClusterCommandInput, @@ -48,6 +53,12 @@ import { RestoreClusterFromSnapshotCommandInput, RestoreClusterFromSnapshotCommandOutput, } from "./commands/RestoreClusterFromSnapshotCommand"; +import { + StartClusterCommand, + StartClusterCommandInput, + StartClusterCommandOutput, +} from "./commands/StartClusterCommand"; +import { StopClusterCommand, StopClusterCommandInput, StopClusterCommandOutput } from "./commands/StopClusterCommand"; import { TagResourceCommand, TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand"; import { UntagResourceCommand, @@ -62,6 +73,7 @@ import { import { DocDBElasticClient, DocDBElasticClientConfig } from "./DocDBElasticClient"; const commands = { + CopyClusterSnapshotCommand, CreateClusterCommand, CreateClusterSnapshotCommand, DeleteClusterCommand, @@ -72,12 +84,31 @@ const commands = { ListClusterSnapshotsCommand, ListTagsForResourceCommand, RestoreClusterFromSnapshotCommand, + StartClusterCommand, + StopClusterCommand, TagResourceCommand, UntagResourceCommand, UpdateClusterCommand, }; export interface DocDBElastic { + /** + * @see {@link CopyClusterSnapshotCommand} + */ + copyClusterSnapshot( + args: CopyClusterSnapshotCommandInput, + options?: __HttpHandlerOptions + ): Promise; + copyClusterSnapshot( + args: CopyClusterSnapshotCommandInput, + cb: (err: any, data?: CopyClusterSnapshotCommandOutput) => void + ): void; + copyClusterSnapshot( + args: CopyClusterSnapshotCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CopyClusterSnapshotCommandOutput) => void + ): void; + /** * @see {@link CreateClusterCommand} */ @@ -224,6 +255,28 @@ export interface DocDBElastic { cb: (err: any, data?: RestoreClusterFromSnapshotCommandOutput) => void ): void; + /** + * @see {@link StartClusterCommand} + */ + startCluster(args: StartClusterCommandInput, options?: __HttpHandlerOptions): Promise; + startCluster(args: StartClusterCommandInput, cb: (err: any, data?: StartClusterCommandOutput) => void): void; + startCluster( + args: StartClusterCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: StartClusterCommandOutput) => void + ): void; + + /** + * @see {@link StopClusterCommand} + */ + stopCluster(args: StopClusterCommandInput, options?: __HttpHandlerOptions): Promise; + stopCluster(args: StopClusterCommandInput, cb: (err: any, data?: StopClusterCommandOutput) => void): void; + stopCluster( + args: StopClusterCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: StopClusterCommandOutput) => void + ): void; + /** * @see {@link TagResourceCommand} */ @@ -260,7 +313,21 @@ export interface DocDBElastic { /** * @public - *

The new Amazon Elastic DocumentDB service endpoint.

+ * Amazon DocumentDB elastic clusters + *

Amazon DocumentDB elastic-clusters support workloads with millions of reads/writes per second and petabytes of storage capacity. + * Amazon DocumentDB elastic clusters also simplify how developers interact with Amazon DocumentDB elastic-clusters by eliminating the need to choose, manage or upgrade instances.

+ *

Amazon DocumentDB elastic-clusters were created to:

+ *
    + *
  • + *

    provide a solution for customers looking for a database that provides virtually limitless scale with rich query capabilities and MongoDB API compatibility.

    + *
  • + *
  • + *

    give customers higher connection limits, and to reduce downtime from patching.

    + *
  • + *
  • + *

    continue investing in a cloud-native, elastic, and class leading architecture for JSON workloads.

    + *
  • + *
*/ export class DocDBElastic extends DocDBElasticClient implements DocDBElastic {} createAggregatedClient(commands, DocDBElastic); diff --git a/clients/client-docdb-elastic/src/DocDBElasticClient.ts b/clients/client-docdb-elastic/src/DocDBElasticClient.ts index 7a7085188906..cb35e64f5088 100644 --- a/clients/client-docdb-elastic/src/DocDBElasticClient.ts +++ b/clients/client-docdb-elastic/src/DocDBElasticClient.ts @@ -53,6 +53,10 @@ import { HttpAuthSchemeResolvedConfig, resolveHttpAuthSchemeConfig, } from "./auth/httpAuthSchemeProvider"; +import { + CopyClusterSnapshotCommandInput, + CopyClusterSnapshotCommandOutput, +} from "./commands/CopyClusterSnapshotCommand"; import { CreateClusterCommandInput, CreateClusterCommandOutput } from "./commands/CreateClusterCommand"; import { CreateClusterSnapshotCommandInput, @@ -78,6 +82,8 @@ import { RestoreClusterFromSnapshotCommandInput, RestoreClusterFromSnapshotCommandOutput, } from "./commands/RestoreClusterFromSnapshotCommand"; +import { StartClusterCommandInput, StartClusterCommandOutput } from "./commands/StartClusterCommand"; +import { StopClusterCommandInput, StopClusterCommandOutput } from "./commands/StopClusterCommand"; import { TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand"; import { UntagResourceCommandInput, UntagResourceCommandOutput } from "./commands/UntagResourceCommand"; import { UpdateClusterCommandInput, UpdateClusterCommandOutput } from "./commands/UpdateClusterCommand"; @@ -96,6 +102,7 @@ export { __Client }; * @public */ export type ServiceInputTypes = + | CopyClusterSnapshotCommandInput | CreateClusterCommandInput | CreateClusterSnapshotCommandInput | DeleteClusterCommandInput @@ -106,6 +113,8 @@ export type ServiceInputTypes = | ListClustersCommandInput | ListTagsForResourceCommandInput | RestoreClusterFromSnapshotCommandInput + | StartClusterCommandInput + | StopClusterCommandInput | TagResourceCommandInput | UntagResourceCommandInput | UpdateClusterCommandInput; @@ -114,6 +123,7 @@ export type ServiceInputTypes = * @public */ export type ServiceOutputTypes = + | CopyClusterSnapshotCommandOutput | CreateClusterCommandOutput | CreateClusterSnapshotCommandOutput | DeleteClusterCommandOutput @@ -124,6 +134,8 @@ export type ServiceOutputTypes = | ListClustersCommandOutput | ListTagsForResourceCommandOutput | RestoreClusterFromSnapshotCommandOutput + | StartClusterCommandOutput + | StopClusterCommandOutput | TagResourceCommandOutput | UntagResourceCommandOutput | UpdateClusterCommandOutput; @@ -301,7 +313,21 @@ export interface DocDBElasticClientResolvedConfig extends DocDBElasticClientReso /** * @public - *

The new Amazon Elastic DocumentDB service endpoint.

+ * Amazon DocumentDB elastic clusters + *

Amazon DocumentDB elastic-clusters support workloads with millions of reads/writes per second and petabytes of storage capacity. + * Amazon DocumentDB elastic clusters also simplify how developers interact with Amazon DocumentDB elastic-clusters by eliminating the need to choose, manage or upgrade instances.

+ *

Amazon DocumentDB elastic-clusters were created to:

+ *
    + *
  • + *

    provide a solution for customers looking for a database that provides virtually limitless scale with rich query capabilities and MongoDB API compatibility.

    + *
  • + *
  • + *

    give customers higher connection limits, and to reduce downtime from patching.

    + *
  • + *
  • + *

    continue investing in a cloud-native, elastic, and class leading architecture for JSON workloads.

    + *
  • + *
*/ export class DocDBElasticClient extends __Client< __HttpHandlerOptions, diff --git a/clients/client-docdb-elastic/src/commands/CopyClusterSnapshotCommand.ts b/clients/client-docdb-elastic/src/commands/CopyClusterSnapshotCommand.ts new file mode 100644 index 000000000000..535a7192a21b --- /dev/null +++ b/clients/client-docdb-elastic/src/commands/CopyClusterSnapshotCommand.ts @@ -0,0 +1,124 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { DocDBElasticClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../DocDBElasticClient"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { CopyClusterSnapshotInput, CopyClusterSnapshotOutput } from "../models/models_0"; +import { de_CopyClusterSnapshotCommand, se_CopyClusterSnapshotCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export { __MetadataBearer, $Command }; +/** + * @public + * + * The input for {@link CopyClusterSnapshotCommand}. + */ +export interface CopyClusterSnapshotCommandInput extends CopyClusterSnapshotInput {} +/** + * @public + * + * The output of {@link CopyClusterSnapshotCommand}. + */ +export interface CopyClusterSnapshotCommandOutput extends CopyClusterSnapshotOutput, __MetadataBearer {} + +/** + * @public + *

Copies a snapshot of an elastic cluster.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { DocDBElasticClient, CopyClusterSnapshotCommand } from "@aws-sdk/client-docdb-elastic"; // ES Modules import + * // const { DocDBElasticClient, CopyClusterSnapshotCommand } = require("@aws-sdk/client-docdb-elastic"); // CommonJS import + * const client = new DocDBElasticClient(config); + * const input = { // CopyClusterSnapshotInput + * snapshotArn: "STRING_VALUE", // required + * targetSnapshotName: "STRING_VALUE", // required + * kmsKeyId: "STRING_VALUE", + * copyTags: true || false, + * tags: { // TagMap + * "": "STRING_VALUE", + * }, + * }; + * const command = new CopyClusterSnapshotCommand(input); + * const response = await client.send(command); + * // { // CopyClusterSnapshotOutput + * // snapshot: { // ClusterSnapshot + * // subnetIds: [ // StringList // required + * // "STRING_VALUE", + * // ], + * // snapshotName: "STRING_VALUE", // required + * // snapshotArn: "STRING_VALUE", // required + * // snapshotCreationTime: "STRING_VALUE", // required + * // clusterArn: "STRING_VALUE", // required + * // clusterCreationTime: "STRING_VALUE", // required + * // status: "STRING_VALUE", // required + * // vpcSecurityGroupIds: [ // required + * // "STRING_VALUE", + * // ], + * // adminUserName: "STRING_VALUE", // required + * // kmsKeyId: "STRING_VALUE", // required + * // snapshotType: "STRING_VALUE", + * // }, + * // }; + * + * ``` + * + * @param CopyClusterSnapshotCommandInput - {@link CopyClusterSnapshotCommandInput} + * @returns {@link CopyClusterSnapshotCommandOutput} + * @see {@link CopyClusterSnapshotCommandInput} for command's `input` shape. + * @see {@link CopyClusterSnapshotCommandOutput} for command's `response` shape. + * @see {@link DocDBElasticClientResolvedConfig | config} for DocDBElasticClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

An exception that occurs when there are not sufficient permissions to perform an action.

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

There was an access conflict.

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

There was an internal server error.

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

The specified resource could not be located.

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

The service quota for the action was exceeded.

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

ThrottlingException will be thrown when request was denied due to request throttling.

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

A structure defining a validation exception.

+ * + * @throws {@link DocDBElasticServiceException} + *

Base exception class for all service exceptions from DocDBElastic service.

+ * + */ +export class CopyClusterSnapshotCommand extends $Command + .classBuilder< + CopyClusterSnapshotCommandInput, + CopyClusterSnapshotCommandOutput, + DocDBElasticClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep({ + ...commonParams, + }) + .m(function (this: any, Command: any, cs: any, config: DocDBElasticClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("ChimeraDbLionfishServiceLambda", "CopyClusterSnapshot", {}) + .n("DocDBElasticClient", "CopyClusterSnapshotCommand") + .f(void 0, void 0) + .ser(se_CopyClusterSnapshotCommand) + .de(de_CopyClusterSnapshotCommand) + .build() {} diff --git a/clients/client-docdb-elastic/src/commands/CreateClusterCommand.ts b/clients/client-docdb-elastic/src/commands/CreateClusterCommand.ts index 5140f62bae6a..c3c500b4258a 100644 --- a/clients/client-docdb-elastic/src/commands/CreateClusterCommand.ts +++ b/clients/client-docdb-elastic/src/commands/CreateClusterCommand.ts @@ -28,7 +28,7 @@ export interface CreateClusterCommandOutput extends CreateClusterOutput, __Metad /** * @public - *

Creates a new Elastic DocumentDB cluster and returns its Cluster structure.

+ *

Creates a new Amazon DocumentDB elastic cluster and returns its cluster structure.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript @@ -54,6 +54,9 @@ export interface CreateClusterCommandOutput extends CreateClusterOutput, __Metad * tags: { // TagMap * "": "STRING_VALUE", * }, + * backupRetentionPeriod: Number("int"), + * preferredBackupWindow: "STRING_VALUE", + * shardInstanceCount: Number("int"), * }; * const command = new CreateClusterCommand(input); * const response = await client.send(command); @@ -76,6 +79,16 @@ export interface CreateClusterCommandOutput extends CreateClusterOutput, __Metad * // ], * // preferredMaintenanceWindow: "STRING_VALUE", // required * // kmsKeyId: "STRING_VALUE", // required + * // shards: [ // ShardList + * // { // Shard + * // shardId: "STRING_VALUE", // required + * // createTime: "STRING_VALUE", // required + * // status: "STRING_VALUE", // required + * // }, + * // ], + * // backupRetentionPeriod: Number("int"), + * // preferredBackupWindow: "STRING_VALUE", + * // shardInstanceCount: Number("int"), * // }, * // }; * diff --git a/clients/client-docdb-elastic/src/commands/CreateClusterSnapshotCommand.ts b/clients/client-docdb-elastic/src/commands/CreateClusterSnapshotCommand.ts index d1560293e97f..8b773178321f 100644 --- a/clients/client-docdb-elastic/src/commands/CreateClusterSnapshotCommand.ts +++ b/clients/client-docdb-elastic/src/commands/CreateClusterSnapshotCommand.ts @@ -28,7 +28,7 @@ export interface CreateClusterSnapshotCommandOutput extends CreateClusterSnapsho /** * @public - *

Creates a snapshot of a cluster.

+ *

Creates a snapshot of an elastic cluster.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript @@ -60,6 +60,7 @@ export interface CreateClusterSnapshotCommandOutput extends CreateClusterSnapsho * // ], * // adminUserName: "STRING_VALUE", // required * // kmsKeyId: "STRING_VALUE", // required + * // snapshotType: "STRING_VALUE", * // }, * // }; * diff --git a/clients/client-docdb-elastic/src/commands/DeleteClusterCommand.ts b/clients/client-docdb-elastic/src/commands/DeleteClusterCommand.ts index b377c71e5dad..c0af09cf8d52 100644 --- a/clients/client-docdb-elastic/src/commands/DeleteClusterCommand.ts +++ b/clients/client-docdb-elastic/src/commands/DeleteClusterCommand.ts @@ -28,7 +28,7 @@ export interface DeleteClusterCommandOutput extends DeleteClusterOutput, __Metad /** * @public - *

Delete a Elastic DocumentDB cluster.

+ *

Delete an elastic cluster.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript @@ -59,6 +59,16 @@ export interface DeleteClusterCommandOutput extends DeleteClusterOutput, __Metad * // ], * // preferredMaintenanceWindow: "STRING_VALUE", // required * // kmsKeyId: "STRING_VALUE", // required + * // shards: [ // ShardList + * // { // Shard + * // shardId: "STRING_VALUE", // required + * // createTime: "STRING_VALUE", // required + * // status: "STRING_VALUE", // required + * // }, + * // ], + * // backupRetentionPeriod: Number("int"), + * // preferredBackupWindow: "STRING_VALUE", + * // shardInstanceCount: Number("int"), * // }, * // }; * diff --git a/clients/client-docdb-elastic/src/commands/DeleteClusterSnapshotCommand.ts b/clients/client-docdb-elastic/src/commands/DeleteClusterSnapshotCommand.ts index 6327439f5ecb..d6c6fba08658 100644 --- a/clients/client-docdb-elastic/src/commands/DeleteClusterSnapshotCommand.ts +++ b/clients/client-docdb-elastic/src/commands/DeleteClusterSnapshotCommand.ts @@ -28,7 +28,7 @@ export interface DeleteClusterSnapshotCommandOutput extends DeleteClusterSnapsho /** * @public - *

Delete a Elastic DocumentDB snapshot.

+ *

Delete an elastic cluster snapshot.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript @@ -56,6 +56,7 @@ export interface DeleteClusterSnapshotCommandOutput extends DeleteClusterSnapsho * // ], * // adminUserName: "STRING_VALUE", // required * // kmsKeyId: "STRING_VALUE", // required + * // snapshotType: "STRING_VALUE", * // }, * // }; * diff --git a/clients/client-docdb-elastic/src/commands/GetClusterCommand.ts b/clients/client-docdb-elastic/src/commands/GetClusterCommand.ts index fce8fa487f10..232d1b539096 100644 --- a/clients/client-docdb-elastic/src/commands/GetClusterCommand.ts +++ b/clients/client-docdb-elastic/src/commands/GetClusterCommand.ts @@ -28,7 +28,7 @@ export interface GetClusterCommandOutput extends GetClusterOutput, __MetadataBea /** * @public - *

Returns information about a specific Elastic DocumentDB cluster.

+ *

Returns information about a specific elastic cluster.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript @@ -59,6 +59,16 @@ export interface GetClusterCommandOutput extends GetClusterOutput, __MetadataBea * // ], * // preferredMaintenanceWindow: "STRING_VALUE", // required * // kmsKeyId: "STRING_VALUE", // required + * // shards: [ // ShardList + * // { // Shard + * // shardId: "STRING_VALUE", // required + * // createTime: "STRING_VALUE", // required + * // status: "STRING_VALUE", // required + * // }, + * // ], + * // backupRetentionPeriod: Number("int"), + * // preferredBackupWindow: "STRING_VALUE", + * // shardInstanceCount: Number("int"), * // }, * // }; * diff --git a/clients/client-docdb-elastic/src/commands/GetClusterSnapshotCommand.ts b/clients/client-docdb-elastic/src/commands/GetClusterSnapshotCommand.ts index 400660ce5570..3b0903e7705d 100644 --- a/clients/client-docdb-elastic/src/commands/GetClusterSnapshotCommand.ts +++ b/clients/client-docdb-elastic/src/commands/GetClusterSnapshotCommand.ts @@ -28,7 +28,7 @@ export interface GetClusterSnapshotCommandOutput extends GetClusterSnapshotOutpu /** * @public - *

Returns information about a specific Elastic DocumentDB snapshot

+ *

Returns information about a specific elastic cluster snapshot

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript @@ -56,6 +56,7 @@ export interface GetClusterSnapshotCommandOutput extends GetClusterSnapshotOutpu * // ], * // adminUserName: "STRING_VALUE", // required * // kmsKeyId: "STRING_VALUE", // required + * // snapshotType: "STRING_VALUE", * // }, * // }; * diff --git a/clients/client-docdb-elastic/src/commands/ListClusterSnapshotsCommand.ts b/clients/client-docdb-elastic/src/commands/ListClusterSnapshotsCommand.ts index 8711964ff0d8..82c2fd21545d 100644 --- a/clients/client-docdb-elastic/src/commands/ListClusterSnapshotsCommand.ts +++ b/clients/client-docdb-elastic/src/commands/ListClusterSnapshotsCommand.ts @@ -28,7 +28,7 @@ export interface ListClusterSnapshotsCommandOutput extends ListClusterSnapshotsO /** * @public - *

Returns information about Elastic DocumentDB snapshots for a specified cluster.

+ *

Returns information about snapshots for a specified elastic cluster.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript @@ -39,6 +39,7 @@ export interface ListClusterSnapshotsCommandOutput extends ListClusterSnapshotsO * clusterArn: "STRING_VALUE", * nextToken: "STRING_VALUE", * maxResults: Number("int"), + * snapshotType: "STRING_VALUE", * }; * const command = new ListClusterSnapshotsCommand(input); * const response = await client.send(command); diff --git a/clients/client-docdb-elastic/src/commands/ListClustersCommand.ts b/clients/client-docdb-elastic/src/commands/ListClustersCommand.ts index d176b591a543..b02b5d99b207 100644 --- a/clients/client-docdb-elastic/src/commands/ListClustersCommand.ts +++ b/clients/client-docdb-elastic/src/commands/ListClustersCommand.ts @@ -28,7 +28,7 @@ export interface ListClustersCommandOutput extends ListClustersOutput, __Metadat /** * @public - *

Returns information about provisioned Elastic DocumentDB clusters.

+ *

Returns information about provisioned Amazon DocumentDB elastic clusters.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-docdb-elastic/src/commands/ListTagsForResourceCommand.ts b/clients/client-docdb-elastic/src/commands/ListTagsForResourceCommand.ts index 93a0b7ccd087..7a3c8074dc8c 100644 --- a/clients/client-docdb-elastic/src/commands/ListTagsForResourceCommand.ts +++ b/clients/client-docdb-elastic/src/commands/ListTagsForResourceCommand.ts @@ -28,7 +28,7 @@ export interface ListTagsForResourceCommandOutput extends ListTagsForResourceRes /** * @public - *

Lists all tags on a Elastic DocumentDB resource

+ *

Lists all tags on a elastic cluster resource

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-docdb-elastic/src/commands/RestoreClusterFromSnapshotCommand.ts b/clients/client-docdb-elastic/src/commands/RestoreClusterFromSnapshotCommand.ts index c0437385ad4d..fd7205153a54 100644 --- a/clients/client-docdb-elastic/src/commands/RestoreClusterFromSnapshotCommand.ts +++ b/clients/client-docdb-elastic/src/commands/RestoreClusterFromSnapshotCommand.ts @@ -28,7 +28,7 @@ export interface RestoreClusterFromSnapshotCommandOutput extends RestoreClusterF /** * @public - *

Restores a Elastic DocumentDB cluster from a snapshot.

+ *

Restores an elastic cluster from a snapshot.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript @@ -48,6 +48,8 @@ export interface RestoreClusterFromSnapshotCommandOutput extends RestoreClusterF * tags: { // TagMap * "": "STRING_VALUE", * }, + * shardCapacity: Number("int"), + * shardInstanceCount: Number("int"), * }; * const command = new RestoreClusterFromSnapshotCommand(input); * const response = await client.send(command); @@ -70,6 +72,16 @@ export interface RestoreClusterFromSnapshotCommandOutput extends RestoreClusterF * // ], * // preferredMaintenanceWindow: "STRING_VALUE", // required * // kmsKeyId: "STRING_VALUE", // required + * // shards: [ // ShardList + * // { // Shard + * // shardId: "STRING_VALUE", // required + * // createTime: "STRING_VALUE", // required + * // status: "STRING_VALUE", // required + * // }, + * // ], + * // backupRetentionPeriod: Number("int"), + * // preferredBackupWindow: "STRING_VALUE", + * // shardInstanceCount: Number("int"), * // }, * // }; * diff --git a/clients/client-docdb-elastic/src/commands/StartClusterCommand.ts b/clients/client-docdb-elastic/src/commands/StartClusterCommand.ts new file mode 100644 index 000000000000..5636108b96a2 --- /dev/null +++ b/clients/client-docdb-elastic/src/commands/StartClusterCommand.ts @@ -0,0 +1,124 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { DocDBElasticClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../DocDBElasticClient"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { StartClusterInput, StartClusterOutput } from "../models/models_0"; +import { de_StartClusterCommand, se_StartClusterCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export { __MetadataBearer, $Command }; +/** + * @public + * + * The input for {@link StartClusterCommand}. + */ +export interface StartClusterCommandInput extends StartClusterInput {} +/** + * @public + * + * The output of {@link StartClusterCommand}. + */ +export interface StartClusterCommandOutput extends StartClusterOutput, __MetadataBearer {} + +/** + * @public + *

Restarts the stopped elastic cluster that is specified by clusterARN.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { DocDBElasticClient, StartClusterCommand } from "@aws-sdk/client-docdb-elastic"; // ES Modules import + * // const { DocDBElasticClient, StartClusterCommand } = require("@aws-sdk/client-docdb-elastic"); // CommonJS import + * const client = new DocDBElasticClient(config); + * const input = { // StartClusterInput + * clusterArn: "STRING_VALUE", // required + * }; + * const command = new StartClusterCommand(input); + * const response = await client.send(command); + * // { // StartClusterOutput + * // cluster: { // Cluster + * // clusterName: "STRING_VALUE", // required + * // clusterArn: "STRING_VALUE", // required + * // status: "STRING_VALUE", // required + * // clusterEndpoint: "STRING_VALUE", // required + * // createTime: "STRING_VALUE", // required + * // adminUserName: "STRING_VALUE", // required + * // authType: "STRING_VALUE", // required + * // shardCapacity: Number("int"), // required + * // shardCount: Number("int"), // required + * // vpcSecurityGroupIds: [ // StringList // required + * // "STRING_VALUE", + * // ], + * // subnetIds: [ // required + * // "STRING_VALUE", + * // ], + * // preferredMaintenanceWindow: "STRING_VALUE", // required + * // kmsKeyId: "STRING_VALUE", // required + * // shards: [ // ShardList + * // { // Shard + * // shardId: "STRING_VALUE", // required + * // createTime: "STRING_VALUE", // required + * // status: "STRING_VALUE", // required + * // }, + * // ], + * // backupRetentionPeriod: Number("int"), + * // preferredBackupWindow: "STRING_VALUE", + * // shardInstanceCount: Number("int"), + * // }, + * // }; + * + * ``` + * + * @param StartClusterCommandInput - {@link StartClusterCommandInput} + * @returns {@link StartClusterCommandOutput} + * @see {@link StartClusterCommandInput} for command's `input` shape. + * @see {@link StartClusterCommandOutput} for command's `response` shape. + * @see {@link DocDBElasticClientResolvedConfig | config} for DocDBElasticClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

An exception that occurs when there are not sufficient permissions to perform an action.

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

There was an internal server error.

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

The specified resource could not be located.

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

ThrottlingException will be thrown when request was denied due to request throttling.

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

A structure defining a validation exception.

+ * + * @throws {@link DocDBElasticServiceException} + *

Base exception class for all service exceptions from DocDBElastic service.

+ * + */ +export class StartClusterCommand extends $Command + .classBuilder< + StartClusterCommandInput, + StartClusterCommandOutput, + DocDBElasticClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep({ + ...commonParams, + }) + .m(function (this: any, Command: any, cs: any, config: DocDBElasticClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("ChimeraDbLionfishServiceLambda", "StartCluster", {}) + .n("DocDBElasticClient", "StartClusterCommand") + .f(void 0, void 0) + .ser(se_StartClusterCommand) + .de(de_StartClusterCommand) + .build() {} diff --git a/clients/client-docdb-elastic/src/commands/StopClusterCommand.ts b/clients/client-docdb-elastic/src/commands/StopClusterCommand.ts new file mode 100644 index 000000000000..b67be0ae51cc --- /dev/null +++ b/clients/client-docdb-elastic/src/commands/StopClusterCommand.ts @@ -0,0 +1,125 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { DocDBElasticClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../DocDBElasticClient"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { StopClusterInput, StopClusterOutput } from "../models/models_0"; +import { de_StopClusterCommand, se_StopClusterCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export { __MetadataBearer, $Command }; +/** + * @public + * + * The input for {@link StopClusterCommand}. + */ +export interface StopClusterCommandInput extends StopClusterInput {} +/** + * @public + * + * The output of {@link StopClusterCommand}. + */ +export interface StopClusterCommandOutput extends StopClusterOutput, __MetadataBearer {} + +/** + * @public + *

Stops the running elastic cluster that is specified by clusterArn. + * The elastic cluster must be in the available state.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { DocDBElasticClient, StopClusterCommand } from "@aws-sdk/client-docdb-elastic"; // ES Modules import + * // const { DocDBElasticClient, StopClusterCommand } = require("@aws-sdk/client-docdb-elastic"); // CommonJS import + * const client = new DocDBElasticClient(config); + * const input = { // StopClusterInput + * clusterArn: "STRING_VALUE", // required + * }; + * const command = new StopClusterCommand(input); + * const response = await client.send(command); + * // { // StopClusterOutput + * // cluster: { // Cluster + * // clusterName: "STRING_VALUE", // required + * // clusterArn: "STRING_VALUE", // required + * // status: "STRING_VALUE", // required + * // clusterEndpoint: "STRING_VALUE", // required + * // createTime: "STRING_VALUE", // required + * // adminUserName: "STRING_VALUE", // required + * // authType: "STRING_VALUE", // required + * // shardCapacity: Number("int"), // required + * // shardCount: Number("int"), // required + * // vpcSecurityGroupIds: [ // StringList // required + * // "STRING_VALUE", + * // ], + * // subnetIds: [ // required + * // "STRING_VALUE", + * // ], + * // preferredMaintenanceWindow: "STRING_VALUE", // required + * // kmsKeyId: "STRING_VALUE", // required + * // shards: [ // ShardList + * // { // Shard + * // shardId: "STRING_VALUE", // required + * // createTime: "STRING_VALUE", // required + * // status: "STRING_VALUE", // required + * // }, + * // ], + * // backupRetentionPeriod: Number("int"), + * // preferredBackupWindow: "STRING_VALUE", + * // shardInstanceCount: Number("int"), + * // }, + * // }; + * + * ``` + * + * @param StopClusterCommandInput - {@link StopClusterCommandInput} + * @returns {@link StopClusterCommandOutput} + * @see {@link StopClusterCommandInput} for command's `input` shape. + * @see {@link StopClusterCommandOutput} for command's `response` shape. + * @see {@link DocDBElasticClientResolvedConfig | config} for DocDBElasticClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

An exception that occurs when there are not sufficient permissions to perform an action.

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

There was an internal server error.

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

The specified resource could not be located.

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

ThrottlingException will be thrown when request was denied due to request throttling.

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

A structure defining a validation exception.

+ * + * @throws {@link DocDBElasticServiceException} + *

Base exception class for all service exceptions from DocDBElastic service.

+ * + */ +export class StopClusterCommand extends $Command + .classBuilder< + StopClusterCommandInput, + StopClusterCommandOutput, + DocDBElasticClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep({ + ...commonParams, + }) + .m(function (this: any, Command: any, cs: any, config: DocDBElasticClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("ChimeraDbLionfishServiceLambda", "StopCluster", {}) + .n("DocDBElasticClient", "StopClusterCommand") + .f(void 0, void 0) + .ser(se_StopClusterCommand) + .de(de_StopClusterCommand) + .build() {} diff --git a/clients/client-docdb-elastic/src/commands/TagResourceCommand.ts b/clients/client-docdb-elastic/src/commands/TagResourceCommand.ts index ae66fd9facc8..298698f33b3c 100644 --- a/clients/client-docdb-elastic/src/commands/TagResourceCommand.ts +++ b/clients/client-docdb-elastic/src/commands/TagResourceCommand.ts @@ -28,7 +28,7 @@ export interface TagResourceCommandOutput extends TagResourceResponse, __Metadat /** * @public - *

Adds metadata tags to a Elastic DocumentDB resource

+ *

Adds metadata tags to an elastic cluster resource

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-docdb-elastic/src/commands/UntagResourceCommand.ts b/clients/client-docdb-elastic/src/commands/UntagResourceCommand.ts index bc1470695e1e..b1d27b0dcfbf 100644 --- a/clients/client-docdb-elastic/src/commands/UntagResourceCommand.ts +++ b/clients/client-docdb-elastic/src/commands/UntagResourceCommand.ts @@ -28,7 +28,7 @@ export interface UntagResourceCommandOutput extends UntagResourceResponse, __Met /** * @public - *

Removes metadata tags to a Elastic DocumentDB resource

+ *

Removes metadata tags from an elastic cluster resource

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-docdb-elastic/src/commands/UpdateClusterCommand.ts b/clients/client-docdb-elastic/src/commands/UpdateClusterCommand.ts index 52135a0c98f6..a729521f4ab5 100644 --- a/clients/client-docdb-elastic/src/commands/UpdateClusterCommand.ts +++ b/clients/client-docdb-elastic/src/commands/UpdateClusterCommand.ts @@ -28,8 +28,8 @@ export interface UpdateClusterCommandOutput extends UpdateClusterOutput, __Metad /** * @public - *

Modifies a Elastic DocumentDB cluster. This includes updating admin-username/password, - * upgrading API version setting up a backup window and maintenance window

+ *

Modifies an elastic cluster. This includes updating admin-username/password, + * upgrading the API version, and setting up a backup window and maintenance window

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript @@ -50,6 +50,9 @@ export interface UpdateClusterCommandOutput extends UpdateClusterOutput, __Metad * adminUserPassword: "STRING_VALUE", * clientToken: "STRING_VALUE", * preferredMaintenanceWindow: "STRING_VALUE", + * backupRetentionPeriod: Number("int"), + * preferredBackupWindow: "STRING_VALUE", + * shardInstanceCount: Number("int"), * }; * const command = new UpdateClusterCommand(input); * const response = await client.send(command); @@ -72,6 +75,16 @@ export interface UpdateClusterCommandOutput extends UpdateClusterOutput, __Metad * // ], * // preferredMaintenanceWindow: "STRING_VALUE", // required * // kmsKeyId: "STRING_VALUE", // required + * // shards: [ // ShardList + * // { // Shard + * // shardId: "STRING_VALUE", // required + * // createTime: "STRING_VALUE", // required + * // status: "STRING_VALUE", // required + * // }, + * // ], + * // backupRetentionPeriod: Number("int"), + * // preferredBackupWindow: "STRING_VALUE", + * // shardInstanceCount: Number("int"), * // }, * // }; * diff --git a/clients/client-docdb-elastic/src/commands/index.ts b/clients/client-docdb-elastic/src/commands/index.ts index d34abbfacd28..4a93da1ae055 100644 --- a/clients/client-docdb-elastic/src/commands/index.ts +++ b/clients/client-docdb-elastic/src/commands/index.ts @@ -1,4 +1,5 @@ // smithy-typescript generated code +export * from "./CopyClusterSnapshotCommand"; export * from "./CreateClusterCommand"; export * from "./CreateClusterSnapshotCommand"; export * from "./DeleteClusterCommand"; @@ -9,6 +10,8 @@ export * from "./ListClusterSnapshotsCommand"; export * from "./ListClustersCommand"; export * from "./ListTagsForResourceCommand"; export * from "./RestoreClusterFromSnapshotCommand"; +export * from "./StartClusterCommand"; +export * from "./StopClusterCommand"; export * from "./TagResourceCommand"; export * from "./UntagResourceCommand"; export * from "./UpdateClusterCommand"; diff --git a/clients/client-docdb-elastic/src/index.ts b/clients/client-docdb-elastic/src/index.ts index c636275efacd..964b1b86c3c3 100644 --- a/clients/client-docdb-elastic/src/index.ts +++ b/clients/client-docdb-elastic/src/index.ts @@ -1,7 +1,21 @@ // smithy-typescript generated code /* eslint-disable */ /** - *

The new Amazon Elastic DocumentDB service endpoint.

+ * Amazon DocumentDB elastic clusters + *

Amazon DocumentDB elastic-clusters support workloads with millions of reads/writes per second and petabytes of storage capacity. + * Amazon DocumentDB elastic clusters also simplify how developers interact with Amazon DocumentDB elastic-clusters by eliminating the need to choose, manage or upgrade instances.

+ *

Amazon DocumentDB elastic-clusters were created to:

+ *
    + *
  • + *

    provide a solution for customers looking for a database that provides virtually limitless scale with rich query capabilities and MongoDB API compatibility.

    + *
  • + *
  • + *

    give customers higher connection limits, and to reduce downtime from patching.

    + *
  • + *
  • + *

    continue investing in a cloud-native, elastic, and class leading architecture for JSON workloads.

    + *
  • + *
* * @packageDocumentation */ diff --git a/clients/client-docdb-elastic/src/models/models_0.ts b/clients/client-docdb-elastic/src/models/models_0.ts index 3e15a650e81d..ddd67aa52b28 100644 --- a/clients/client-docdb-elastic/src/models/models_0.ts +++ b/clients/client-docdb-elastic/src/models/models_0.ts @@ -74,151 +74,96 @@ export class ConflictException extends __BaseException { /** * @public */ -export interface CreateClusterInput { - /** - * @public - *

The name of the new Elastic DocumentDB cluster. This parameter is stored as - * a lowercase string.

- *

- * Constraints:

- *
    - *
  • - *

    Must contain from 1 to 63 letters, numbers, or hyphens.

    - *
  • - *
  • - *

    The first character must be a letter.

    - *
  • - *
  • - *

    Cannot end with a hyphen or contain two consecutive hyphens.

    - *
  • - *
- *

- * Example: my-cluster - *

- */ - clusterName: string | undefined; - +export interface CopyClusterSnapshotInput { /** * @public - *

The authentication type for the Elastic DocumentDB cluster.

+ *

The Amazon Resource Name (ARN) identifier of the elastic cluster snapshot.

*/ - authType: Auth | undefined; + snapshotArn: string | undefined; /** * @public - *

The name of the Elastic DocumentDB cluster administrator.

- *

- * Constraints:

+ *

The identifier of the new elastic cluster snapshot to create from the source cluster snapshot. + * This parameter is not case sensitive.

+ *

Constraints:

*
    *
  • - *

    Must be from 1 to 63 letters or numbers.

    + *

    Must contain from 1 to 63 letters, numbers, or hyphens.

    *
  • *
  • *

    The first character must be a letter.

    *
  • *
  • - *

    Cannot be a reserved word.

    - *
  • - *
- */ - adminUserName: string | undefined; - - /** - * @public - *

The password for the Elastic DocumentDB cluster administrator and can - * contain any printable ASCII characters.

- *

- * Constraints:

- *
    - *
  • - *

    Must contain from 8 to 100 characters.

    - *
  • - *
  • - *

    Cannot contain a forward slash (/), double quote ("), or the "at" symbol (@).

    + *

    Cannot end with a hyphen or contain two consecutive hyphens.

    *
  • *
+ *

Example: elastic-cluster-snapshot-5 + *

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

The capacity of each shard in the new Elastic DocumentDB cluster.

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

The number of shards to create in the new Elastic DocumentDB cluster.

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

A list of EC2 VPC security groups to associate with the new - * Elastic DocumentDB cluster.

- */ - vpcSecurityGroupIds?: string[]; + targetSnapshotName: string | undefined; /** * @public - *

The Amazon EC2 subnet IDs for the new Elastic DocumentDB cluster.

- */ - subnetIds?: string[]; - - /** - * @public - *

The KMS key identifier to use to encrypt the new Elastic DocumentDB cluster.

- *

The KMS key identifier is the Amazon Resource Name (ARN) for the KMS - * encryption key. If you are creating a cluster using the same Amazon account - * that owns this KMS encryption key, you can use the KMS key alias instead - * of the ARN as the KMS encryption key.

- *

If an encryption key is not specified, Elastic DocumentDB uses the - * default encryption key that KMS creates for your account. Your account - * has a different default encryption key for each Amazon Region.

+ *

The Amazon Web Services KMS key ID for an encrypted elastic cluster snapshot. + * The Amazon Web Services KMS key ID is the Amazon Resource Name (ARN), Amazon Web Services KMS key identifier, or the Amazon Web Services KMS key alias for the Amazon Web Services KMS encryption key.

+ *

If you copy an encrypted elastic cluster snapshot from your Amazon Web Services account, you can specify a value for KmsKeyId to encrypt the copy with a new Amazon Web ServicesS KMS encryption key. + * If you don't specify a value for KmsKeyId, then the copy of the elastic cluster snapshot is encrypted with the same AWS KMS key as the source elastic cluster snapshot.

+ *

To copy an encrypted elastic cluster snapshot to another Amazon Web Services region, set KmsKeyId to the Amazon Web Services KMS key ID that you want to use to encrypt the copy of the elastic cluster snapshot in the destination region. + * Amazon Web Services KMS encryption keys are specific to the Amazon Web Services region that they are created in, and you can't use encryption keys from one Amazon Web Services region in another Amazon Web Services region.

+ *

If you copy an unencrypted elastic cluster snapshot and specify a value for the KmsKeyId parameter, an error is returned.

*/ kmsKeyId?: string; /** * @public - *

The client token for the Elastic DocumentDB cluster.

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

The weekly time range during which system maintenance can occur, - * in Universal Coordinated Time (UTC).

- *

- * Format: ddd:hh24:mi-ddd:hh24:mi - *

- *

- * Default: a 30-minute window selected at random from an 8-hour block of time for each Amazon Web Services Region, occurring on a random day of the week.

- *

- * Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun

- *

- * Constraints: Minimum 30-minute window.

+ *

Set to true to copy all tags from the source cluster snapshot to the target elastic cluster snapshot. + * The default is false.

*/ - preferredMaintenanceWindow?: string; + copyTags?: boolean; /** * @public - *

The tags to be assigned to the new Elastic DocumentDB cluster.

+ *

The tags to be assigned to the elastic cluster snapshot.

*/ tags?: Record; } +/** + * @public + * @enum + */ +export const SnapshotType = { + AUTOMATED: "AUTOMATED", + MANUAL: "MANUAL", +} as const; + +/** + * @public + */ +export type SnapshotType = (typeof SnapshotType)[keyof typeof SnapshotType]; + /** * @public * @enum */ export const Status = { ACTIVE: "ACTIVE", + COPYING: "COPYING", CREATING: "CREATING", DELETING: "DELETING", INACCESSIBLE_ENCRYPTION_CREDS: "INACCESSIBLE_ENCRYPTION_CREDS", + INACCESSIBLE_SECRET_ARN: "INACCESSIBLE_SECRET_ARN", + INACCESSIBLE_VPC_ENDPOINT: "INACCESSIBLE_VPC_ENDPOINT", + INCOMPATIBLE_NETWORK: "INCOMPATIBLE_NETWORK", INVALID_SECURITY_GROUP_ID: "INVALID_SECURITY_GROUP_ID", INVALID_SUBNET_ID: "INVALID_SUBNET_ID", IP_ADDRESS_LIMIT_EXCEEDED: "IP_ADDRESS_LIMIT_EXCEEDED", + MERGING: "MERGING", + MODIFYING: "MODIFYING", + SPLITTING: "SPLITTING", + STARTING: "STARTING", + STOPPED: "STOPPED", + STOPPING: "STOPPING", UPDATING: "UPDATING", VPC_ENDPOINT_LIMIT_EXCEEDED: "VPC_ENDPOINT_LIMIT_EXCEEDED", } as const; @@ -230,101 +175,100 @@ export type Status = (typeof Status)[keyof typeof Status]; /** * @public - *

Returns information about a specific Elastic DocumentDB cluster.

+ *

Returns information about a specific elastic cluster snapshot.

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

The name of the Elastic DocumentDB cluster.

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

The arn of the Elastic DocumentDB cluster.

- */ - clusterArn: string | undefined; - +export interface ClusterSnapshot { /** * @public - *

The status of the Elastic DocumentDB cluster.

+ *

The Amazon EC2 subnet IDs for the elastic cluster.

*/ - status: Status | undefined; + subnetIds: string[] | undefined; /** * @public - *

The URL used to connect to the Elastic DocumentDB cluster.

+ *

The name of the elastic cluster snapshot.

*/ - clusterEndpoint: string | undefined; + snapshotName: string | undefined; /** * @public - *

The time when the Elastic DocumentDB cluster was created in Universal Coordinated Time (UTC).

+ *

The ARN identifier of the elastic cluster snapshot.

*/ - createTime: string | undefined; + snapshotArn: string | undefined; /** * @public - *

The name of the Elastic DocumentDB cluster administrator.

+ *

The time when the elastic cluster snapshot was created in Universal Coordinated Time (UTC).

*/ - adminUserName: string | undefined; + snapshotCreationTime: string | undefined; /** * @public - *

The authentication type for the Elastic DocumentDB cluster.

+ *

The ARN identifier of the elastic cluster.

*/ - authType: Auth | undefined; + clusterArn: string | undefined; /** * @public - *

The capacity of each shard in the Elastic DocumentDB cluster.

+ *

The time when the elastic cluster was created in Universal Coordinated Time (UTC).

*/ - shardCapacity: number | undefined; + clusterCreationTime: string | undefined; /** * @public - *

The number of shards in the Elastic DocumentDB cluster.

+ *

The status of the elastic cluster snapshot.

*/ - shardCount: number | undefined; + status: Status | undefined; /** * @public - *

A list of EC2 VPC security groups associated with this cluster.

+ *

A list of EC2 VPC security groups to associate with the elastic cluster.

*/ vpcSecurityGroupIds: string[] | undefined; /** * @public - *

The Amazon EC2 subnet IDs for the Elastic DocumentDB cluster.

+ *

The name of the elastic cluster administrator.

*/ - subnetIds: string[] | undefined; + adminUserName: string | undefined; /** * @public - *

The weekly time range during which system maintenance can occur, - * in Universal Coordinated Time (UTC).

- *

- * Format: ddd:hh24:mi-ddd:hh24:mi - *

+ *

The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. + * If you are creating a cluster using the same Amazon account that owns this KMS encryption key, you can use the KMS key alias instead of the ARN as the KMS encryption key. + * If an encryption key is not specified here, Amazon DocumentDB uses the default encryption key that KMS creates for your account. + * Your account has a different default encryption key for each Amazon Region. + *

*/ - preferredMaintenanceWindow: string | undefined; + kmsKeyId: string | undefined; /** * @public - *

The KMS key identifier to use to encrypt the Elastic DocumentDB cluster.

+ *

The type of cluster snapshots to be returned. + * You can specify one of the following values:

+ *
    + *
  • + *

    + * automated - Return all cluster snapshots that Amazon DocumentDB has automatically created for your Amazon Web Services account.

    + *
  • + *
  • + *

    + * manual - Return all cluster snapshots that you have manually created for your Amazon Web Services account.

    + *
  • + *
*/ - kmsKeyId: string | undefined; + snapshotType?: SnapshotType; } /** * @public */ -export interface CreateClusterOutput { +export interface CopyClusterSnapshotOutput { /** * @public - *

The new Elastic DocumentDB cluster that has been created.

+ *

Returns information about a specific elastic cluster snapshot.

*/ - cluster: Cluster | undefined; + snapshot: ClusterSnapshot | undefined; } /** @@ -348,6 +292,40 @@ export class InternalServerException extends __BaseException { } } +/** + * @public + *

The specified resource could not be located.

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

The ID of the resource that could not be located.

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

The type of the resource that could not be found.

+ */ + resourceType: string | undefined; + + /** + * @internal + */ + constructor(opts: __ExceptionOptionType) { + super({ + name: "ResourceNotFoundException", + $fault: "client", + ...opts, + }); + Object.setPrototypeOf(this, ResourceNotFoundException.prototype); + this.resourceId = opts.resourceId; + this.resourceType = opts.resourceType; + } +} + /** * @public *

The service quota for the action was exceeded.

@@ -468,135 +446,338 @@ export class ValidationException extends __BaseException { /** * @public */ -export interface CreateClusterSnapshotInput { +export interface CreateClusterInput { /** * @public - *

The arn of the Elastic DocumentDB cluster that the snapshot will be taken from.

+ *

The name of the new elastic cluster. This parameter is stored as + * a lowercase string.

+ *

+ * Constraints:

+ *
    + *
  • + *

    Must contain from 1 to 63 letters, numbers, or hyphens.

    + *
  • + *
  • + *

    The first character must be a letter.

    + *
  • + *
  • + *

    Cannot end with a hyphen or contain two consecutive hyphens.

    + *
  • + *
+ *

+ * Example: my-cluster + *

*/ - clusterArn: string | undefined; + clusterName: string | undefined; /** * @public - *

The name of the Elastic DocumentDB snapshot.

+ *

The authentication type used to determine where to fetch the password used for accessing the elastic cluster. + * Valid types are PLAIN_TEXT or SECRET_ARN.

*/ - snapshotName: string | undefined; + authType: Auth | undefined; + + /** + * @public + *

The name of the Amazon DocumentDB elastic clusters administrator.

+ *

+ * Constraints:

+ *
    + *
  • + *

    Must be from 1 to 63 letters or numbers.

    + *
  • + *
  • + *

    The first character must be a letter.

    + *
  • + *
  • + *

    Cannot be a reserved word.

    + *
  • + *
+ */ + adminUserName: string | undefined; + + /** + * @public + *

The password for the Amazon DocumentDB elastic clusters administrator. The password can contain any printable ASCII characters.

+ *

+ * Constraints:

+ *
    + *
  • + *

    Must contain from 8 to 100 characters.

    + *
  • + *
  • + *

    Cannot contain a forward slash (/), double quote ("), or the "at" symbol (@).

    + *
  • + *
+ */ + adminUserPassword: string | undefined; + + /** + * @public + *

The number of vCPUs assigned to each elastic cluster shard. Maximum is 64. Allowed values are 2, 4, 8, 16, 32, 64.

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

The number of shards assigned to the elastic cluster. Maximum is 32.

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

A list of EC2 VPC security groups to associate with the new + * elastic cluster.

+ */ + vpcSecurityGroupIds?: string[]; + + /** + * @public + *

The Amazon EC2 subnet IDs for the new elastic cluster.

+ */ + subnetIds?: string[]; + + /** + * @public + *

The KMS key identifier to use to encrypt the new elastic cluster.

+ *

The KMS key identifier is the Amazon Resource Name (ARN) for the KMS + * encryption key. If you are creating a cluster using the same Amazon account + * that owns this KMS encryption key, you can use the KMS key alias instead + * of the ARN as the KMS encryption key.

+ *

If an encryption key is not specified, Amazon DocumentDB uses the + * default encryption key that KMS creates for your account. Your account + * has a different default encryption key for each Amazon Region.

+ */ + kmsKeyId?: string; /** * @public - *

The tags to be assigned to the new Elastic DocumentDB snapshot.

+ *

The client token for the elastic cluster.

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

The weekly time range during which system maintenance can occur, + * in Universal Coordinated Time (UTC).

+ *

+ * Format: ddd:hh24:mi-ddd:hh24:mi + *

+ *

+ * Default: a 30-minute window selected at random from an 8-hour block of time for each Amazon Web Services Region, occurring on a random day of the week.

+ *

+ * Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun

+ *

+ * Constraints: Minimum 30-minute window.

+ */ + preferredMaintenanceWindow?: string; + + /** + * @public + *

The tags to be assigned to the new elastic cluster.

*/ tags?: Record; + + /** + * @public + *

The number of days for which automatic snapshots are retained.

+ */ + backupRetentionPeriod?: number; + + /** + * @public + *

The daily time range during which automated backups are created if automated backups are enabled, as determined by the backupRetentionPeriod.

+ */ + preferredBackupWindow?: string; + + /** + * @public + *

The number of replica instances applying to all shards in the elastic cluster. + * A shardInstanceCount value of 1 means there is one writer instance, and any additional instances are replicas that can be used for reads and to improve availability.

+ */ + shardInstanceCount?: number; } /** * @public - *

Returns information about a specific Elastic DocumentDB snapshot.

+ *

The name of the shard.

*/ -export interface ClusterSnapshot { +export interface Shard { /** * @public - *

A list of the IDs of subnets associated with the DB cluster snapshot.

+ *

The ID of the shard.

*/ - subnetIds: string[] | undefined; + shardId: string | undefined; /** * @public - *

The name of the Elastic DocumentDB snapshot.

+ *

The time when the shard was created in Universal Coordinated Time (UTC).

*/ - snapshotName: string | undefined; + createTime: string | undefined; /** * @public - *

The arn of the Elastic DocumentDB snapshot

+ *

The current status of the shard.

*/ - snapshotArn: string | undefined; + status: Status | undefined; +} +/** + * @public + *

Returns information about a specific elastic cluster.

+ */ +export interface Cluster { /** * @public - *

The time when the Elastic DocumentDB snapshot was created in Universal Coordinated Time (UTC).

+ *

The name of the elastic cluster.

*/ - snapshotCreationTime: string | undefined; + clusterName: string | undefined; /** * @public - *

The arn of the Elastic DocumentDB cluster.

+ *

The ARN identifier of the elastic cluster.

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

The time when the Elastic DocumentDB cluster was created in Universal Coordinated Time (UTC).

+ *

The status of the elastic cluster.

*/ - clusterCreationTime: string | undefined; + status: Status | undefined; /** * @public - *

The status of the Elastic DocumentDB snapshot.

+ *

The URL used to connect to the elastic cluster.

*/ - status: Status | undefined; + clusterEndpoint: string | undefined; /** * @public - *

A list of the IDs of the VPC security groups associated with the cluster snapshot.

+ *

The time when the elastic cluster was created in Universal Coordinated Time (UTC).

*/ - vpcSecurityGroupIds: string[] | undefined; + createTime: string | undefined; /** * @public - *

The name of the Elastic DocumentDB cluster administrator.

+ *

The name of the elastic cluster administrator.

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

The KMS key identifier to use to encrypt the Elastic DocumentDB cluster.

+ *

The authentication type for the elastic cluster.

+ */ + authType: Auth | undefined; + + /** + * @public + *

The number of vCPUs assigned to each elastic cluster shard. Maximum is 64. + * Allowed values are 2, 4, 8, 16, 32, 64.

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

The number of shards assigned to the elastic cluster. Maximum is 32.

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

A list of EC2 VPC security groups associated with thie elastic cluster.

+ */ + vpcSecurityGroupIds: string[] | undefined; + + /** + * @public + *

The Amazon EC2 subnet IDs for the elastic cluster.

+ */ + subnetIds: string[] | undefined; + + /** + * @public + *

The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).

+ *

+ * Format: ddd:hh24:mi-ddd:hh24:mi + *

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

The KMS key identifier to use to encrypt the elastic cluster.

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

The total number of shards in the cluster.

+ */ + shards?: Shard[]; + + /** + * @public + *

The number of days for which automatic snapshots are retained.

+ */ + backupRetentionPeriod?: number; + + /** + * @public + *

The daily time range during which automated backups are created if automated backups are enabled, as determined by backupRetentionPeriod.

+ */ + preferredBackupWindow?: string; + + /** + * @public + *

The number of replica instances applying to all shards in the cluster. + * A shardInstanceCount value of 1 means there is one writer instance, and any additional instances are replicas that can be used for reads and to improve availability.

+ */ + shardInstanceCount?: number; } /** * @public */ -export interface CreateClusterSnapshotOutput { +export interface CreateClusterOutput { /** * @public - *

Returns information about the new Elastic DocumentDB snapshot.

+ *

The new elastic cluster that has been created.

*/ - snapshot: ClusterSnapshot | undefined; + cluster: Cluster | undefined; } /** * @public - *

The specified resource could not be located.

*/ -export class ResourceNotFoundException extends __BaseException { - readonly name: "ResourceNotFoundException" = "ResourceNotFoundException"; - readonly $fault: "client" = "client"; +export interface CreateClusterSnapshotInput { /** * @public - *

The ID of the resource that could not be located.

+ *

The ARN identifier of the elastic cluster of which you want to create a snapshot.

*/ - resourceId: string | undefined; + clusterArn: string | undefined; /** * @public - *

The type of the resource that could not be found.

+ *

The name of the new elastic cluster snapshot.

*/ - resourceType: string | undefined; + snapshotName: string | undefined; /** - * @internal + * @public + *

The tags to be assigned to the new elastic cluster snapshot.

*/ - constructor(opts: __ExceptionOptionType) { - super({ - name: "ResourceNotFoundException", - $fault: "client", - ...opts, - }); - Object.setPrototypeOf(this, ResourceNotFoundException.prototype); - this.resourceId = opts.resourceId; - this.resourceType = opts.resourceType; - } + tags?: Record; +} + +/** + * @public + */ +export interface CreateClusterSnapshotOutput { + /** + * @public + *

Returns information about the new elastic cluster snapshot.

+ */ + snapshot: ClusterSnapshot | undefined; } /** @@ -605,7 +786,7 @@ export class ResourceNotFoundException extends __BaseException { export interface DeleteClusterInput { /** * @public - *

The arn of the Elastic DocumentDB cluster that is to be deleted.

+ *

The ARN identifier of the elastic cluster that is to be deleted.

*/ clusterArn: string | undefined; } @@ -616,7 +797,7 @@ export interface DeleteClusterInput { export interface DeleteClusterOutput { /** * @public - *

Returns information about the newly deleted Elastic DocumentDB cluster.

+ *

Returns information about the newly deleted elastic cluster.

*/ cluster: Cluster | undefined; } @@ -627,7 +808,7 @@ export interface DeleteClusterOutput { export interface DeleteClusterSnapshotInput { /** * @public - *

The arn of the Elastic DocumentDB snapshot that is to be deleted.

+ *

The ARN identifier of the elastic cluster snapshot that is to be deleted.

*/ snapshotArn: string | undefined; } @@ -638,7 +819,7 @@ export interface DeleteClusterSnapshotInput { export interface DeleteClusterSnapshotOutput { /** * @public - *

Returns information about the newly deleted Elastic DocumentDB snapshot.

+ *

Returns information about the newly deleted elastic cluster snapshot.

*/ snapshot: ClusterSnapshot | undefined; } @@ -649,7 +830,7 @@ export interface DeleteClusterSnapshotOutput { export interface GetClusterInput { /** * @public - *

The arn of the Elastic DocumentDB cluster.

+ *

The ARN identifier of the elastic cluster.

*/ clusterArn: string | undefined; } @@ -660,7 +841,7 @@ export interface GetClusterInput { export interface GetClusterOutput { /** * @public - *

Returns information about a specific Elastic DocumentDB cluster.

+ *

Returns information about a specific elastic cluster.

*/ cluster: Cluster | undefined; } @@ -671,7 +852,7 @@ export interface GetClusterOutput { export interface GetClusterSnapshotInput { /** * @public - *

The arn of the Elastic DocumentDB snapshot.

+ *

The ARN identifier of the elastic cluster snapshot.

*/ snapshotArn: string | undefined; } @@ -682,7 +863,7 @@ export interface GetClusterSnapshotInput { export interface GetClusterSnapshotOutput { /** * @public - *

Returns information about a specific Elastic DocumentDB snapshot.

+ *

Returns information about a specific elastic cluster snapshot.

*/ snapshot: ClusterSnapshot | undefined; } @@ -693,37 +874,39 @@ export interface GetClusterSnapshotOutput { export interface ListClustersInput { /** * @public - *

The nextToken which is used the get the next page of data.

+ *

A pagination token provided by a previous request. + * If this parameter is specified, the response includes only records beyond this token, up to the value specified by max-results.

+ *

If there is no more data in the responce, the nextToken will not be returned.

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

The maximum number of entries to recieve in the response.

+ *

The maximum number of elastic cluster snapshot results to receive in the response.

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

A list of Elastic DocumentDB cluster.

+ *

A list of Amazon DocumentDB elastic clusters.

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

The name of the Elastic DocumentDB cluster.

+ *

The name of the elastic cluster.

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

The arn of the Elastic DocumentDB cluster.

+ *

The ARN identifier of the elastic cluster.

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

The status of the Elastic DocumentDB cluster.

+ *

The status of the elastic cluster.

*/ status: Status | undefined; } @@ -734,14 +917,15 @@ export interface ClusterInList { export interface ListClustersOutput { /** * @public - *

A list of Elastic DocumentDB cluster.

+ *

A list of Amazon DocumentDB elastic clusters.

*/ clusters?: ClusterInList[]; /** * @public - *

The response will provide a nextToken if there is more data beyond the maxResults.

- *

If there is no more data in the responce, the nextToken will not be returned.

+ *

A pagination token provided by a previous request. + * If this parameter is specified, the response includes only records beyond this token, up to the value specified by max-results.

+ *

If there is no more data in the responce, the nextToken will not be returned.

*/ nextToken?: string; } @@ -752,55 +936,73 @@ export interface ListClustersOutput { export interface ListClusterSnapshotsInput { /** * @public - *

The arn of the Elastic DocumentDB cluster.

+ *

The ARN identifier of the elastic cluster.

*/ clusterArn?: string; /** * @public - *

The nextToken which is used the get the next page of data.

+ *

A pagination token provided by a previous request. + * If this parameter is specified, the response includes only records beyond this token, up to the value specified by max-results.

+ *

If there is no more data in the responce, the nextToken will not be returned.

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

The maximum number of entries to recieve in the response.

+ *

The maximum number of elastic cluster snapshot results to receive in the response.

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

The type of cluster snapshots to be returned. You can specify one of the following values:

+ *
    + *
  • + *

    + * automated - Return all cluster snapshots that Amazon DocumentDB has automatically created for your Amazon Web Services account.

    + *
  • + *
  • + *

    + * manual - Return all cluster snapshots that you have manually created for your Amazon Web Services account.

    + *
  • + *
+ */ + snapshotType?: string; } /** * @public - *

A list of Elastic DocumentDB snapshots.

+ *

A list of elastic cluster snapshots.

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

The name of the Elastic DocumentDB snapshot.

+ *

The name of the elastic cluster snapshot.

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

The arn of the Elastic DocumentDB snapshot

+ *

The ARN identifier of the elastic cluster snapshot.

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

The arn of the Elastic DocumentDB cluster.

+ *

The ARN identifier of the elastic cluster.

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

The status of the Elastic DocumentDB snapshot.

+ *

The status of the elastic cluster snapshot.

*/ status: Status | undefined; /** * @public - *

The time when the Elastic DocumentDB snapshot was created in Universal Coordinated Time (UTC).

+ *

The time when the elastic cluster snapshot was created in Universal Coordinated Time (UTC).

*/ snapshotCreationTime: string | undefined; } @@ -811,14 +1013,15 @@ export interface ClusterSnapshotInList { export interface ListClusterSnapshotsOutput { /** * @public - *

A list of Elastic DocumentDB snapshots for a specified cluster.

+ *

A list of snapshots for a specified elastic cluster.

*/ snapshots?: ClusterSnapshotInList[]; /** * @public - *

The response will provide a nextToken if there is more data beyond the maxResults.

- *

If there is no more data in the responce, the nextToken will not be returned.

+ *

A pagination token provided by a previous request. + * If this parameter is specified, the response includes only records beyond this token, up to the value specified by max-results.

+ *

If there is no more data in the responce, the nextToken will not be returned.

*/ nextToken?: string; } @@ -829,7 +1032,7 @@ export interface ListClusterSnapshotsOutput { export interface ListTagsForResourceRequest { /** * @public - *

The arn of the Elastic DocumentDB resource.

+ *

The ARN identifier of the elastic cluster resource.

*/ resourceArn: string | undefined; } @@ -840,7 +1043,7 @@ export interface ListTagsForResourceRequest { export interface ListTagsForResourceResponse { /** * @public - *

The list of tags for the specified Elastic DocumentDB resource.

+ *

The list of tags for the specified elastic cluster resource.

*/ tags?: Record; } @@ -851,37 +1054,36 @@ export interface ListTagsForResourceResponse { export interface RestoreClusterFromSnapshotInput { /** * @public - *

The name of the Elastic DocumentDB cluster.

+ *

The name of the elastic cluster.

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

The arn of the Elastic DocumentDB snapshot.

+ *

The ARN identifier of the elastic cluster snapshot.

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

A list of EC2 VPC security groups to associate with the - * Elastic DocumentDB cluster.

+ *

A list of EC2 VPC security groups to associate with the elastic cluster.

*/ vpcSecurityGroupIds?: string[]; /** * @public - *

The Amazon EC2 subnet IDs for the Elastic DocumentDB cluster.

+ *

The Amazon EC2 subnet IDs for the elastic cluster.

*/ subnetIds?: string[]; /** * @public - *

The KMS key identifier to use to encrypt the new Elastic DocumentDB cluster.

+ *

The KMS key identifier to use to encrypt the new Amazon DocumentDB elastic clusters cluster.

*

The KMS key identifier is the Amazon Resource Name (ARN) for the KMS * encryption key. If you are creating a cluster using the same Amazon account * that owns this KMS encryption key, you can use the KMS key alias instead * of the ARN as the KMS encryption key.

- *

If an encryption key is not specified here, Elastic DocumentDB uses the + *

If an encryption key is not specified here, Amazon DocumentDB uses the * default encryption key that KMS creates for your account. Your account * has a different default encryption key for each Amazon Region.

*/ @@ -889,11 +1091,22 @@ export interface RestoreClusterFromSnapshotInput { /** * @public - *

A list of the tag names to be assigned to the restored DB cluster, - * in the form of an array of key-value pairs in which the key - * is the tag name and the value is the key value.

+ *

A list of the tag names to be assigned to the restored elastic cluster, in the form of an array of key-value pairs in which the key is the tag name and the value is the key value.

*/ tags?: Record; + + /** + * @public + *

The capacity of each shard in the new restored elastic cluster.

+ */ + shardCapacity?: number; + + /** + * @public + *

The number of replica instances applying to all shards in the elastic cluster. + * A shardInstanceCount value of 1 means there is one writer instance, and any additional instances are replicas that can be used for reads and to improve availability.

+ */ + shardInstanceCount?: number; } /** @@ -902,7 +1115,51 @@ export interface RestoreClusterFromSnapshotInput { export interface RestoreClusterFromSnapshotOutput { /** * @public - *

Returns information about a the restored Elastic DocumentDB cluster.

+ *

Returns information about a the restored elastic cluster.

+ */ + cluster: Cluster | undefined; +} + +/** + * @public + */ +export interface StartClusterInput { + /** + * @public + *

The ARN identifier of the elastic cluster.

+ */ + clusterArn: string | undefined; +} + +/** + * @public + */ +export interface StartClusterOutput { + /** + * @public + *

Returns information about a specific elastic cluster.

+ */ + cluster: Cluster | undefined; +} + +/** + * @public + */ +export interface StopClusterInput { + /** + * @public + *

The ARN identifier of the elastic cluster.

+ */ + clusterArn: string | undefined; +} + +/** + * @public + */ +export interface StopClusterOutput { + /** + * @public + *

Returns information about a specific elastic cluster.

*/ cluster: Cluster | undefined; } @@ -913,13 +1170,13 @@ export interface RestoreClusterFromSnapshotOutput { export interface TagResourceRequest { /** * @public - *

The arn of the Elastic DocumentDB resource.

+ *

The ARN identifier of the elastic cluster resource.

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

The tags to be assigned to the Elastic DocumentDB resource.

+ *

The tags that are assigned to the elastic cluster resource.

*/ tags: Record | undefined; } @@ -935,13 +1192,13 @@ export interface TagResourceResponse {} export interface UntagResourceRequest { /** * @public - *

The arn of the Elastic DocumentDB resource.

+ *

The ARN identifier of the elastic cluster resource.

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

The tag keys to be removed from the Elastic DocumentDB resource.

+ *

The tag keys to be removed from the elastic cluster resource.

*/ tagKeys: string[] | undefined; } @@ -957,46 +1214,46 @@ export interface UntagResourceResponse {} export interface UpdateClusterInput { /** * @public - *

The arn of the Elastic DocumentDB cluster.

+ *

The ARN identifier of the elastic cluster.

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

The authentication type for the Elastic DocumentDB cluster.

+ *

The authentication type used to determine where to fetch the password used for accessing the elastic cluster. + * Valid types are PLAIN_TEXT or SECRET_ARN.

*/ authType?: Auth; /** * @public - *

The capacity of each shard in the Elastic DocumentDB cluster.

+ *

The number of vCPUs assigned to each elastic cluster shard. + * Maximum is 64. Allowed values are 2, 4, 8, 16, 32, 64.

*/ shardCapacity?: number; /** * @public - *

The number of shards to create in the Elastic DocumentDB cluster.

+ *

The number of shards assigned to the elastic cluster. Maximum is 32.

*/ shardCount?: number; /** * @public - *

A list of EC2 VPC security groups to associate with the new - * Elastic DocumentDB cluster.

+ *

A list of EC2 VPC security groups to associate with the elastic cluster.

*/ vpcSecurityGroupIds?: string[]; /** * @public - *

The number of shards to create in the Elastic DocumentDB cluster.

+ *

The Amazon EC2 subnet IDs for the elastic cluster.

*/ subnetIds?: string[]; /** * @public - *

The password for the Elastic DocumentDB cluster administrator. This password can - * contain any printable ASCII character except forward slash (/), - * double quote ("), or the "at" symbol (@).

+ *

The password associated with the elastic cluster administrator. + * This password can contain any printable ASCII character except forward slash (/), double quote ("), or the "at" symbol (@).

*

* Constraints: Must contain from 8 to 100 characters.

*/ @@ -1004,14 +1261,13 @@ export interface UpdateClusterInput { /** * @public - *

The client token for the Elastic DocumentDB cluster.

+ *

The client token for the elastic cluster.

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

The weekly time range during which system maintenance can occur, - * in Universal Coordinated Time (UTC).

+ *

The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).

*

* Format: ddd:hh24:mi-ddd:hh24:mi *

@@ -1023,6 +1279,25 @@ export interface UpdateClusterInput { * Constraints: Minimum 30-minute window.

*/ preferredMaintenanceWindow?: string; + + /** + * @public + *

The number of days for which automatic snapshots are retained.

+ */ + backupRetentionPeriod?: number; + + /** + * @public + *

The daily time range during which automated backups are created if automated backups are enabled, as determined by the backupRetentionPeriod.

+ */ + preferredBackupWindow?: string; + + /** + * @public + *

The number of replica instances applying to all shards in the elastic cluster. + * A shardInstanceCount value of 1 means there is one writer instance, and any additional instances are replicas that can be used for reads and to improve availability.

+ */ + shardInstanceCount?: number; } /** @@ -1031,7 +1306,7 @@ export interface UpdateClusterInput { export interface UpdateClusterOutput { /** * @public - *

Returns information about the updated Elastic DocumentDB cluster.

+ *

Returns information about the updated elastic cluster.

*/ cluster: Cluster | undefined; } diff --git a/clients/client-docdb-elastic/src/protocols/Aws_restJson1.ts b/clients/client-docdb-elastic/src/protocols/Aws_restJson1.ts index 5a9a8f356543..9eedc2675fd2 100644 --- a/clients/client-docdb-elastic/src/protocols/Aws_restJson1.ts +++ b/clients/client-docdb-elastic/src/protocols/Aws_restJson1.ts @@ -22,6 +22,10 @@ import { } from "@smithy/types"; import { v4 as generateIdempotencyToken } from "uuid"; +import { + CopyClusterSnapshotCommandInput, + CopyClusterSnapshotCommandOutput, +} from "../commands/CopyClusterSnapshotCommand"; import { CreateClusterCommandInput, CreateClusterCommandOutput } from "../commands/CreateClusterCommand"; import { CreateClusterSnapshotCommandInput, @@ -47,6 +51,8 @@ import { RestoreClusterFromSnapshotCommandInput, RestoreClusterFromSnapshotCommandOutput, } from "../commands/RestoreClusterFromSnapshotCommand"; +import { StartClusterCommandInput, StartClusterCommandOutput } from "../commands/StartClusterCommand"; +import { StopClusterCommandInput, StopClusterCommandOutput } from "../commands/StopClusterCommand"; import { TagResourceCommandInput, TagResourceCommandOutput } from "../commands/TagResourceCommand"; import { UntagResourceCommandInput, UntagResourceCommandOutput } from "../commands/UntagResourceCommand"; import { UpdateClusterCommandInput, UpdateClusterCommandOutput } from "../commands/UpdateClusterCommand"; @@ -61,6 +67,32 @@ import { ValidationException, } from "../models/models_0"; +/** + * serializeAws_restJson1CopyClusterSnapshotCommand + */ +export const se_CopyClusterSnapshotCommand = async ( + input: CopyClusterSnapshotCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = { + "content-type": "application/json", + }; + b.bp("/cluster-snapshot/{snapshotArn}/copy"); + b.p("snapshotArn", () => input.snapshotArn!, "{snapshotArn}", false); + let body: any; + body = JSON.stringify( + take(input, { + copyTags: [], + kmsKeyId: [], + tags: (_) => _json(_), + targetSnapshotName: [], + }) + ); + b.m("POST").h(headers).b(body); + return b.build(); +}; + /** * serializeAws_restJson1CreateClusterCommand */ @@ -79,12 +111,15 @@ export const se_CreateClusterCommand = async ( adminUserName: [], adminUserPassword: [], authType: [], + backupRetentionPeriod: [], clientToken: [true, (_) => _ ?? generateIdempotencyToken()], clusterName: [], kmsKeyId: [], + preferredBackupWindow: [], preferredMaintenanceWindow: [], shardCapacity: [], shardCount: [], + shardInstanceCount: [], subnetIds: (_) => _json(_), tags: (_) => _json(_), vpcSecurityGroupIds: (_) => _json(_), @@ -215,6 +250,7 @@ export const se_ListClusterSnapshotsCommand = async ( [_cA]: [, input[_cA]!], [_nT]: [, input[_nT]!], [_mR]: [() => input.maxResults !== void 0, () => input[_mR]!.toString()], + [_sT]: [, input[_sT]!], }); let body: any; b.m("GET").h(headers).q(query).b(body); @@ -255,6 +291,8 @@ export const se_RestoreClusterFromSnapshotCommand = async ( take(input, { clusterName: [], kmsKeyId: [], + shardCapacity: [], + shardInstanceCount: [], subnetIds: (_) => _json(_), tags: (_) => _json(_), vpcSecurityGroupIds: (_) => _json(_), @@ -264,6 +302,38 @@ export const se_RestoreClusterFromSnapshotCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1StartClusterCommand + */ +export const se_StartClusterCommand = async ( + input: StartClusterCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = {}; + b.bp("/cluster/{clusterArn}/start"); + b.p("clusterArn", () => input.clusterArn!, "{clusterArn}", false); + let body: any; + b.m("POST").h(headers).b(body); + return b.build(); +}; + +/** + * serializeAws_restJson1StopClusterCommand + */ +export const se_StopClusterCommand = async ( + input: StopClusterCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = {}; + b.bp("/cluster/{clusterArn}/stop"); + b.p("clusterArn", () => input.clusterArn!, "{clusterArn}", false); + let body: any; + b.m("POST").h(headers).b(body); + return b.build(); +}; + /** * serializeAws_restJson1TagResourceCommand */ @@ -327,10 +397,13 @@ export const se_UpdateClusterCommand = async ( take(input, { adminUserPassword: [], authType: [], + backupRetentionPeriod: [], clientToken: [true, (_) => _ ?? generateIdempotencyToken()], + preferredBackupWindow: [], preferredMaintenanceWindow: [], shardCapacity: [], shardCount: [], + shardInstanceCount: [], subnetIds: (_) => _json(_), vpcSecurityGroupIds: (_) => _json(_), }) @@ -339,6 +412,27 @@ export const se_UpdateClusterCommand = async ( return b.build(); }; +/** + * deserializeAws_restJson1CopyClusterSnapshotCommand + */ +export const de_CopyClusterSnapshotCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + snapshot: _json, + }); + Object.assign(contents, doc); + return contents; +}; + /** * deserializeAws_restJson1CreateClusterCommand */ @@ -551,6 +645,48 @@ export const de_RestoreClusterFromSnapshotCommand = async ( return contents; }; +/** + * deserializeAws_restJson1StartClusterCommand + */ +export const de_StartClusterCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + cluster: _json, + }); + Object.assign(contents, doc); + return contents; +}; + +/** + * deserializeAws_restJson1StopClusterCommand + */ +export const de_StopClusterCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + cluster: _json, + }); + Object.assign(contents, doc); + return contents; +}; + /** * deserializeAws_restJson1TagResourceCommand */ @@ -625,6 +761,9 @@ const de_CommandError = async (output: __HttpResponse, context: __SerdeContext): case "InternalServerException": case "com.amazonaws.docdbelastic#InternalServerException": throw await de_InternalServerExceptionRes(parsedOutput, context); + case "ResourceNotFoundException": + case "com.amazonaws.docdbelastic#ResourceNotFoundException": + throw await de_ResourceNotFoundExceptionRes(parsedOutput, context); case "ServiceQuotaExceededException": case "com.amazonaws.docdbelastic#ServiceQuotaExceededException": throw await de_ServiceQuotaExceededExceptionRes(parsedOutput, context); @@ -634,9 +773,6 @@ const de_CommandError = async (output: __HttpResponse, context: __SerdeContext): case "ValidationException": case "com.amazonaws.docdbelastic#ValidationException": throw await de_ValidationExceptionRes(parsedOutput, context); - case "ResourceNotFoundException": - case "com.amazonaws.docdbelastic#ResourceNotFoundException": - throw await de_ResourceNotFoundExceptionRes(parsedOutput, context); default: const parsedBody = parsedOutput.body; return throwDefaultError({ @@ -803,6 +939,10 @@ const de_ValidationExceptionRes = async (parsedOutput: any, context: __SerdeCont // de_ClusterSnapshotList omitted. +// de_Shard omitted. + +// de_ShardList omitted. + // de_StringList omitted. // de_TagMap omitted. @@ -835,6 +975,7 @@ const _mR = "maxResults"; const _nT = "nextToken"; const _rAS = "retryAfterSeconds"; const _ra = "retry-after"; +const _sT = "snapshotType"; const _tK = "tagKeys"; const parseBody = (streamBody: any, context: __SerdeContext): any => diff --git a/codegen/sdk-codegen/aws-models/docdb-elastic.json b/codegen/sdk-codegen/aws-models/docdb-elastic.json index 641f02e48a50..42f33026a65c 100644 --- a/codegen/sdk-codegen/aws-models/docdb-elastic.json +++ b/codegen/sdk-codegen/aws-models/docdb-elastic.json @@ -46,6 +46,9 @@ "type": "service", "version": "2022-11-28", "operations": [ + { + "target": "com.amazonaws.docdbelastic#CopyClusterSnapshot" + }, { "target": "com.amazonaws.docdbelastic#CreateCluster" }, @@ -76,6 +79,12 @@ { "target": "com.amazonaws.docdbelastic#RestoreClusterFromSnapshot" }, + { + "target": "com.amazonaws.docdbelastic#StartCluster" + }, + { + "target": "com.amazonaws.docdbelastic#StopCluster" + }, { "target": "com.amazonaws.docdbelastic#TagResource" }, @@ -108,7 +117,7 @@ "additionalExposedHeaders": ["x-amzn-errortype", "x-amzn-requestid", "x-amzn-trace-id"], "maxAge": 86400 }, - "smithy.api#documentation": "

The new Amazon Elastic DocumentDB service endpoint.

", + "smithy.api#documentation": "Amazon DocumentDB elastic clusters\n

Amazon DocumentDB elastic-clusters support workloads with millions of reads/writes per second and petabytes of storage capacity. \n Amazon DocumentDB elastic clusters also simplify how developers interact with Amazon DocumentDB elastic-clusters by eliminating the need to choose, manage or upgrade instances.

\n

Amazon DocumentDB elastic-clusters were created to:

\n
    \n
  • \n

    provide a solution for customers looking for a database that provides virtually limitless scale with rich query capabilities and MongoDB API compatibility.

    \n
  • \n
  • \n

    give customers higher connection limits, and to reduce downtime from patching.

    \n
  • \n
  • \n

    continue investing in a cloud-native, elastic, and class leading architecture for JSON workloads.

    \n
  • \n
", "smithy.api#title": "Amazon DocumentDB Elastic Clusters", "smithy.rules#endpointRuleSet": { "version": "1.0", @@ -782,97 +791,121 @@ "clusterName": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The name of the Elastic DocumentDB cluster.

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

The name of the elastic cluster.

", "smithy.api#required": {} } }, "clusterArn": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The arn of the Elastic DocumentDB cluster.

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

The ARN identifier of the elastic cluster.

", "smithy.api#required": {} } }, "status": { "target": "com.amazonaws.docdbelastic#Status", "traits": { - "smithy.api#documentation": "

The status of the Elastic DocumentDB cluster.

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

The status of the elastic cluster.

", "smithy.api#required": {} } }, "clusterEndpoint": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The URL used to connect to the Elastic DocumentDB cluster.

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

The URL used to connect to the elastic cluster.

", "smithy.api#required": {} } }, "createTime": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The time when the Elastic DocumentDB cluster was created in Universal Coordinated Time (UTC).

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

The time when the elastic cluster was created in Universal Coordinated Time (UTC).

", "smithy.api#required": {} } }, "adminUserName": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The name of the Elastic DocumentDB cluster administrator.

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

The name of the elastic cluster administrator.

", "smithy.api#required": {} } }, "authType": { "target": "com.amazonaws.docdbelastic#Auth", "traits": { - "smithy.api#documentation": "

The authentication type for the Elastic DocumentDB cluster.

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

The authentication type for the elastic cluster.

", "smithy.api#required": {} } }, "shardCapacity": { "target": "smithy.api#Integer", "traits": { - "smithy.api#documentation": "

The capacity of each shard in the Elastic DocumentDB cluster.

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

The number of vCPUs assigned to each elastic cluster shard. Maximum is 64. \n Allowed values are 2, 4, 8, 16, 32, 64.

", "smithy.api#required": {} } }, "shardCount": { "target": "smithy.api#Integer", "traits": { - "smithy.api#documentation": "

The number of shards in the Elastic DocumentDB cluster.

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

The number of shards assigned to the elastic cluster. Maximum is 32.

", "smithy.api#required": {} } }, "vpcSecurityGroupIds": { "target": "com.amazonaws.docdbelastic#StringList", "traits": { - "smithy.api#documentation": "

A list of EC2 VPC security groups associated with this cluster.

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

A list of EC2 VPC security groups associated with thie elastic cluster.

", "smithy.api#required": {} } }, "subnetIds": { "target": "com.amazonaws.docdbelastic#StringList", "traits": { - "smithy.api#documentation": "

The Amazon EC2 subnet IDs for the Elastic DocumentDB cluster.

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

The Amazon EC2 subnet IDs for the elastic cluster.

", "smithy.api#required": {} } }, "preferredMaintenanceWindow": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The weekly time range during which system maintenance can occur,\n in Universal Coordinated Time (UTC).

\n

\n Format: ddd:hh24:mi-ddd:hh24:mi\n

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

The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).

\n

\n Format: ddd:hh24:mi-ddd:hh24:mi\n

", "smithy.api#required": {} } }, "kmsKeyId": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The KMS key identifier to use to encrypt the Elastic DocumentDB cluster.

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

The KMS key identifier to use to encrypt the elastic cluster.

", "smithy.api#required": {} } + }, + "shards": { + "target": "com.amazonaws.docdbelastic#ShardList", + "traits": { + "smithy.api#documentation": "

The total number of shards in the cluster.

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

The number of days for which automatic snapshots are retained.

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

The daily time range during which automated backups are created if automated backups are enabled, as determined by backupRetentionPeriod.

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

The number of replica instances applying to all shards in the cluster. \n A shardInstanceCount value of 1 means there is one writer instance, and any additional instances are replicas that can be used for reads and to improve availability.

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

Returns information about a specific Elastic DocumentDB cluster.

" + "smithy.api#documentation": "

Returns information about a specific elastic cluster.

" } }, "com.amazonaws.docdbelastic#ClusterInList": { @@ -881,27 +914,27 @@ "clusterName": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The name of the Elastic DocumentDB cluster.

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

The name of the elastic cluster.

", "smithy.api#required": {} } }, "clusterArn": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The arn of the Elastic DocumentDB cluster.

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

The ARN identifier of the elastic cluster.

", "smithy.api#required": {} } }, "status": { "target": "com.amazonaws.docdbelastic#Status", "traits": { - "smithy.api#documentation": "

The status of the Elastic DocumentDB cluster.

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

The status of the elastic cluster.

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

A list of Elastic DocumentDB cluster.

" + "smithy.api#documentation": "

A list of Amazon DocumentDB elastic clusters.

" } }, "com.amazonaws.docdbelastic#ClusterList": { @@ -916,76 +949,82 @@ "subnetIds": { "target": "com.amazonaws.docdbelastic#StringList", "traits": { - "smithy.api#documentation": "

A list of the IDs of subnets associated with the DB cluster snapshot.

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

The Amazon EC2 subnet IDs for the elastic cluster.

", "smithy.api#required": {} } }, "snapshotName": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The name of the Elastic DocumentDB snapshot.

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

The name of the elastic cluster snapshot.

", "smithy.api#required": {} } }, "snapshotArn": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The arn of the Elastic DocumentDB snapshot

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

The ARN identifier of the elastic cluster snapshot.

", "smithy.api#required": {} } }, "snapshotCreationTime": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The time when the Elastic DocumentDB snapshot was created in Universal Coordinated Time (UTC).

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

The time when the elastic cluster snapshot was created in Universal Coordinated Time (UTC).

", "smithy.api#required": {} } }, "clusterArn": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The arn of the Elastic DocumentDB cluster.

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

The ARN identifier of the elastic cluster.

", "smithy.api#required": {} } }, "clusterCreationTime": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The time when the Elastic DocumentDB cluster was created in Universal Coordinated Time (UTC).

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

The time when the elastic cluster was created in Universal Coordinated Time (UTC).

", "smithy.api#required": {} } }, "status": { "target": "com.amazonaws.docdbelastic#Status", "traits": { - "smithy.api#documentation": "

The status of the Elastic DocumentDB snapshot.

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

The status of the elastic cluster snapshot.

", "smithy.api#required": {} } }, "vpcSecurityGroupIds": { "target": "com.amazonaws.docdbelastic#StringList", "traits": { - "smithy.api#documentation": "

A list of the IDs of the VPC security groups associated with the cluster snapshot.

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

A list of EC2 VPC security groups to associate with the elastic cluster.

", "smithy.api#required": {} } }, "adminUserName": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The name of the Elastic DocumentDB cluster administrator.

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

The name of the elastic cluster administrator.

", "smithy.api#required": {} } }, "kmsKeyId": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The KMS key identifier to use to encrypt the Elastic DocumentDB cluster.

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

The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. \n If you are creating a cluster using the same Amazon account that owns this KMS encryption key, you can use the KMS key alias instead of the ARN as the KMS encryption key.\n If an encryption key is not specified here, Amazon DocumentDB uses the default encryption key that KMS creates for your account. \n Your account has a different default encryption key for each Amazon Region.\n

", "smithy.api#required": {} } + }, + "snapshotType": { + "target": "com.amazonaws.docdbelastic#SnapshotType", + "traits": { + "smithy.api#documentation": "

The type of cluster snapshots to be returned. \n You can specify one of the following values:

\n
    \n
  • \n

    \n automated - Return all cluster snapshots that Amazon DocumentDB has automatically created for your Amazon Web Services account.

    \n
  • \n
  • \n

    \n manual - Return all cluster snapshots that you have manually created for your Amazon Web Services account.

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

Returns information about a specific Elastic DocumentDB snapshot.

" + "smithy.api#documentation": "

Returns information about a specific elastic cluster snapshot.

" } }, "com.amazonaws.docdbelastic#ClusterSnapshotInList": { @@ -994,41 +1033,41 @@ "snapshotName": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The name of the Elastic DocumentDB snapshot.

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

The name of the elastic cluster snapshot.

", "smithy.api#required": {} } }, "snapshotArn": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The arn of the Elastic DocumentDB snapshot

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

The ARN identifier of the elastic cluster snapshot.

", "smithy.api#required": {} } }, "clusterArn": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The arn of the Elastic DocumentDB cluster.

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

The ARN identifier of the elastic cluster.

", "smithy.api#required": {} } }, "status": { "target": "com.amazonaws.docdbelastic#Status", "traits": { - "smithy.api#documentation": "

The status of the Elastic DocumentDB snapshot.

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

The status of the elastic cluster snapshot.

", "smithy.api#required": {} } }, "snapshotCreationTime": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The time when the Elastic DocumentDB snapshot was created in Universal Coordinated Time (UTC).

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

The time when the elastic cluster snapshot was created in Universal Coordinated Time (UTC).

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

A list of Elastic DocumentDB snapshots.

" + "smithy.api#documentation": "

A list of elastic cluster snapshots.

" } }, "com.amazonaws.docdbelastic#ClusterSnapshotList": { @@ -1067,6 +1106,133 @@ "smithy.api#httpError": 409 } }, + "com.amazonaws.docdbelastic#CopyClusterSnapshot": { + "type": "operation", + "input": { + "target": "com.amazonaws.docdbelastic#CopyClusterSnapshotInput" + }, + "output": { + "target": "com.amazonaws.docdbelastic#CopyClusterSnapshotOutput" + }, + "errors": [ + { + "target": "com.amazonaws.docdbelastic#AccessDeniedException" + }, + { + "target": "com.amazonaws.docdbelastic#ConflictException" + }, + { + "target": "com.amazonaws.docdbelastic#InternalServerException" + }, + { + "target": "com.amazonaws.docdbelastic#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.docdbelastic#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.docdbelastic#ThrottlingException" + }, + { + "target": "com.amazonaws.docdbelastic#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Copies a snapshot of an elastic cluster.

", + "smithy.api#examples": [ + { + "title": "Basic Copy Cluster Snapshot Example", + "documentation": "update applied", + "input": { + "snapshotArn": "arn:aws:docdb-elastic:us-east-1:$AWS_ACCOUNT_ID:cluster-snapshot/$SOURCE_SNAPSHOT_ID", + "targetSnapshotName": "sampleSnapshotName" + }, + "output": { + "snapshot": { + "subnetIds": ["subnetId1", "subnetId2"], + "snapshotName": "sampleSnapshotName", + "snapshotArn": "arn:aws:docdb-elastic:us-east-1:$AWS_ACCOUNT_ID:cluster-snapshot/$TARGET_SNAPSHOT_ID", + "snapshotCreationTime": "2000-01-01T00:00:00.000Z", + "clusterArn": "arn:aws:docdb-elastic:us-east-1:$AWS_ACCOUNT_ID:cluster/$CLUSTER_ID", + "clusterCreationTime": "2000-01-01T00:00:00.000Z", + "status": "ACTIVE", + "vpcSecurityGroupIds": ["vpcSgId1, vpcSgId2"], + "adminUserName": "sampleAdminUser", + "kmsKeyId": "AWS_OWNED_KMS_KEY", + "snapshotType": "MANUAL" + } + } + } + ], + "smithy.api#http": { + "code": 200, + "method": "POST", + "uri": "/cluster-snapshot/{snapshotArn}/copy" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.docdbelastic#CopyClusterSnapshotInput": { + "type": "structure", + "members": { + "snapshotArn": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) identifier of the elastic cluster snapshot.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {}, + "smithy.api#resourceIdentifier": "snapshotArn" + } + }, + "targetSnapshotName": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The identifier of the new elastic cluster snapshot to create from the source cluster snapshot. \n This parameter is not case sensitive.

\n

Constraints:

\n
    \n
  • \n

    Must contain from 1 to 63 letters, numbers, or hyphens.

    \n
  • \n
  • \n

    The first character must be a letter.

    \n
  • \n
  • \n

    Cannot end with a hyphen or contain two consecutive hyphens.

    \n
  • \n
\n

Example: elastic-cluster-snapshot-5\n

", + "smithy.api#length": { + "min": 1, + "max": 63 + }, + "smithy.api#required": {} + } + }, + "kmsKeyId": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The Amazon Web Services KMS key ID for an encrypted elastic cluster snapshot. \n The Amazon Web Services KMS key ID is the Amazon Resource Name (ARN), Amazon Web Services KMS key identifier, or the Amazon Web Services KMS key alias for the Amazon Web Services KMS encryption key.

\n

If you copy an encrypted elastic cluster snapshot from your Amazon Web Services account, you can specify a value for KmsKeyId to encrypt the copy with a new Amazon Web ServicesS KMS encryption key. \n If you don't specify a value for KmsKeyId, then the copy of the elastic cluster snapshot is encrypted with the same AWS KMS key as the source elastic cluster snapshot.

\n

To copy an encrypted elastic cluster snapshot to another Amazon Web Services region, set KmsKeyId to the Amazon Web Services KMS key ID that you want to use to encrypt the copy of the elastic cluster snapshot in the destination region. \n Amazon Web Services KMS encryption keys are specific to the Amazon Web Services region that they are created in, and you can't use encryption keys from one Amazon Web Services region in another Amazon Web Services region.

\n

If you copy an unencrypted elastic cluster snapshot and specify a value for the KmsKeyId parameter, an error is returned.

" + } + }, + "copyTags": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#default": null, + "smithy.api#documentation": "

Set to true to copy all tags from the source cluster snapshot to the target elastic cluster snapshot. \n The default is false.

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

The tags to be assigned to the elastic cluster snapshot.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.docdbelastic#CopyClusterSnapshotOutput": { + "type": "structure", + "members": { + "snapshot": { + "target": "com.amazonaws.docdbelastic#ClusterSnapshot", + "traits": { + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.docdbelastic#CreateCluster": { "type": "operation", "input": { @@ -1096,7 +1262,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates a new Elastic DocumentDB cluster and returns its Cluster structure.

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

Creates a new Amazon DocumentDB elastic cluster and returns its cluster structure.

", "smithy.api#http": { "code": 200, "method": "POST", @@ -1111,67 +1277,67 @@ "clusterName": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The name of the new Elastic DocumentDB cluster. This parameter is stored as\n a lowercase string.

\n

\n Constraints:

\n
    \n
  • \n

    Must contain from 1 to 63 letters, numbers, or hyphens.

    \n
  • \n
  • \n

    The first character must be a letter.

    \n
  • \n
  • \n

    Cannot end with a hyphen or contain two consecutive hyphens.

    \n
  • \n
\n

\n Example: my-cluster\n

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

The name of the new elastic cluster. This parameter is stored as\n a lowercase string.

\n

\n Constraints:

\n
    \n
  • \n

    Must contain from 1 to 63 letters, numbers, or hyphens.

    \n
  • \n
  • \n

    The first character must be a letter.

    \n
  • \n
  • \n

    Cannot end with a hyphen or contain two consecutive hyphens.

    \n
  • \n
\n

\n Example: my-cluster\n

", "smithy.api#required": {} } }, "authType": { "target": "com.amazonaws.docdbelastic#Auth", "traits": { - "smithy.api#documentation": "

The authentication type for the Elastic DocumentDB cluster.

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

The authentication type used to determine where to fetch the password used for accessing the elastic cluster. \n Valid types are PLAIN_TEXT or SECRET_ARN.

", "smithy.api#required": {} } }, "adminUserName": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The name of the Elastic DocumentDB cluster administrator.

\n

\n Constraints:

\n
    \n
  • \n

    Must be from 1 to 63 letters or numbers.

    \n
  • \n
  • \n

    The first character must be a letter.

    \n
  • \n
  • \n

    Cannot be a reserved word.

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

The name of the Amazon DocumentDB elastic clusters administrator.

\n

\n Constraints:

\n
    \n
  • \n

    Must be from 1 to 63 letters or numbers.

    \n
  • \n
  • \n

    The first character must be a letter.

    \n
  • \n
  • \n

    Cannot be a reserved word.

    \n
  • \n
", "smithy.api#required": {} } }, "adminUserPassword": { "target": "com.amazonaws.docdbelastic#Password", "traits": { - "smithy.api#documentation": "

The password for the Elastic DocumentDB cluster administrator and can\n contain any printable ASCII characters.

\n

\n Constraints:

\n
    \n
  • \n

    Must contain from 8 to 100 characters.

    \n
  • \n
  • \n

    Cannot contain a forward slash (/), double quote (\"), or the \"at\" symbol (@).

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

The password for the Amazon DocumentDB elastic clusters administrator. The password can contain any printable ASCII characters.

\n

\n Constraints:

\n
    \n
  • \n

    Must contain from 8 to 100 characters.

    \n
  • \n
  • \n

    Cannot contain a forward slash (/), double quote (\"), or the \"at\" symbol (@).

    \n
  • \n
", "smithy.api#required": {} } }, "shardCapacity": { "target": "smithy.api#Integer", "traits": { - "smithy.api#documentation": "

The capacity of each shard in the new Elastic DocumentDB cluster.

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

The number of vCPUs assigned to each elastic cluster shard. Maximum is 64. Allowed values are 2, 4, 8, 16, 32, 64.

", "smithy.api#required": {} } }, "shardCount": { "target": "smithy.api#Integer", "traits": { - "smithy.api#documentation": "

The number of shards to create in the new Elastic DocumentDB cluster.

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

The number of shards assigned to the elastic cluster. Maximum is 32.

", "smithy.api#required": {} } }, "vpcSecurityGroupIds": { "target": "com.amazonaws.docdbelastic#StringList", "traits": { - "smithy.api#documentation": "

A list of EC2 VPC security groups to associate with the new\n Elastic DocumentDB cluster.

" + "smithy.api#documentation": "

A list of EC2 VPC security groups to associate with the new\n elastic cluster.

" } }, "subnetIds": { "target": "com.amazonaws.docdbelastic#StringList", "traits": { - "smithy.api#documentation": "

The Amazon EC2 subnet IDs for the new Elastic DocumentDB cluster.

" + "smithy.api#documentation": "

The Amazon EC2 subnet IDs for the new elastic cluster.

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

The KMS key identifier to use to encrypt the new Elastic DocumentDB cluster.

\n

The KMS key identifier is the Amazon Resource Name (ARN) for the KMS\n encryption key. If you are creating a cluster using the same Amazon account\n that owns this KMS encryption key, you can use the KMS key alias instead\n of the ARN as the KMS encryption key.

\n

If an encryption key is not specified, Elastic DocumentDB uses the\n default encryption key that KMS creates for your account. Your account\n has a different default encryption key for each Amazon Region.

" + "smithy.api#documentation": "

The KMS key identifier to use to encrypt the new elastic cluster.

\n

The KMS key identifier is the Amazon Resource Name (ARN) for the KMS\n encryption key. If you are creating a cluster using the same Amazon account\n that owns this KMS encryption key, you can use the KMS key alias instead\n of the ARN as the KMS encryption key.

\n

If an encryption key is not specified, Amazon DocumentDB uses the\n default encryption key that KMS creates for your account. Your account\n has a different default encryption key for each Amazon Region.

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

The client token for the Elastic DocumentDB cluster.

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

The client token for the elastic cluster.

", "smithy.api#idempotencyToken": {} } }, @@ -1184,7 +1350,25 @@ "tags": { "target": "com.amazonaws.docdbelastic#TagMap", "traits": { - "smithy.api#documentation": "

The tags to be assigned to the new Elastic DocumentDB cluster.

" + "smithy.api#documentation": "

The tags to be assigned to the new elastic cluster.

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

The number of days for which automatic snapshots are retained.

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

The daily time range during which automated backups are created if automated backups are enabled, as determined by the backupRetentionPeriod.

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

The number of replica instances applying to all shards in the elastic cluster. \n A shardInstanceCount value of 1 means there is one writer instance, and any additional instances are replicas that can be used for reads and to improve availability.

" } } } @@ -1195,7 +1379,7 @@ "cluster": { "target": "com.amazonaws.docdbelastic#Cluster", "traits": { - "smithy.api#documentation": "

The new Elastic DocumentDB cluster that has been created.

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

The new elastic cluster that has been created.

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

Creates a snapshot of a cluster.

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

Creates a snapshot of an elastic cluster.

", "smithy.api#http": { "code": 200, "method": "POST", @@ -1248,14 +1432,14 @@ "clusterArn": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The arn of the Elastic DocumentDB cluster that the snapshot will be taken from.

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

The ARN identifier of the elastic cluster of which you want to create a snapshot.

", "smithy.api#required": {} } }, "snapshotName": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The name of the Elastic DocumentDB snapshot.

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

The name of the new elastic cluster snapshot.

", "smithy.api#length": { "min": 1, "max": 63 @@ -1266,7 +1450,7 @@ "tags": { "target": "com.amazonaws.docdbelastic#TagMap", "traits": { - "smithy.api#documentation": "

The tags to be assigned to the new Elastic DocumentDB snapshot.

" + "smithy.api#documentation": "

The tags to be assigned to the new elastic cluster snapshot.

" } } } @@ -1277,7 +1461,7 @@ "snapshot": { "target": "com.amazonaws.docdbelastic#ClusterSnapshot", "traits": { - "smithy.api#documentation": "

Returns information about the new Elastic DocumentDB snapshot.

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

Returns information about the new elastic cluster snapshot.

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

Delete a Elastic DocumentDB cluster.

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

Delete an elastic cluster.

", "smithy.api#http": { "code": 200, "method": "DELETE", @@ -1327,7 +1511,7 @@ "clusterArn": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The arn of the Elastic DocumentDB cluster that is to be deleted.

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

The ARN identifier of the elastic cluster that is to be deleted.

", "smithy.api#httpLabel": {}, "smithy.api#required": {}, "smithy.api#resourceIdentifier": "clusterArn" @@ -1341,7 +1525,7 @@ "cluster": { "target": "com.amazonaws.docdbelastic#Cluster", "traits": { - "smithy.api#documentation": "

Returns information about the newly deleted Elastic DocumentDB cluster.

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

Returns information about the newly deleted elastic cluster.

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

Delete a Elastic DocumentDB snapshot.

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

Delete an elastic cluster snapshot.

", "smithy.api#http": { "code": 200, "method": "DELETE", @@ -1391,7 +1575,7 @@ "snapshotArn": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The arn of the Elastic DocumentDB snapshot that is to be deleted.

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

The ARN identifier of the elastic cluster snapshot that is to be deleted.

", "smithy.api#httpLabel": {}, "smithy.api#required": {}, "smithy.api#resourceIdentifier": "snapshotArn" @@ -1405,7 +1589,7 @@ "snapshot": { "target": "com.amazonaws.docdbelastic#ClusterSnapshot", "traits": { - "smithy.api#documentation": "

Returns information about the newly deleted Elastic DocumentDB snapshot.

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

Returns information about the newly deleted elastic cluster snapshot.

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

Returns information about a specific Elastic DocumentDB cluster.

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

Returns information about a specific elastic cluster.

", "smithy.api#http": { "code": 200, "method": "GET", @@ -1452,7 +1636,7 @@ "clusterArn": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The arn of the Elastic DocumentDB cluster.

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

The ARN identifier of the elastic cluster.

", "smithy.api#httpLabel": {}, "smithy.api#required": {}, "smithy.api#resourceIdentifier": "clusterArn" @@ -1466,7 +1650,7 @@ "cluster": { "target": "com.amazonaws.docdbelastic#Cluster", "traits": { - "smithy.api#documentation": "

Returns information about a specific Elastic DocumentDB cluster.

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

Returns information about a specific elastic cluster.

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

Returns information about a specific Elastic DocumentDB snapshot

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

Returns information about a specific elastic cluster snapshot

", "smithy.api#http": { "code": 200, "method": "GET", @@ -1513,7 +1697,7 @@ "snapshotArn": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The arn of the Elastic DocumentDB snapshot.

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

The ARN identifier of the elastic cluster snapshot.

", "smithy.api#httpLabel": {}, "smithy.api#required": {}, "smithy.api#resourceIdentifier": "snapshotArn" @@ -1527,7 +1711,7 @@ "snapshot": { "target": "com.amazonaws.docdbelastic#ClusterSnapshot", "traits": { - "smithy.api#documentation": "

Returns information about a specific Elastic DocumentDB snapshot.

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

Returns information about a specific elastic cluster snapshot.

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

Returns information about Elastic DocumentDB snapshots for a specified cluster.

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

Returns information about snapshots for a specified elastic cluster.

", "smithy.api#http": { "code": 200, "method": "GET", @@ -1594,14 +1778,14 @@ "clusterArn": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The arn of the Elastic DocumentDB cluster.

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

The ARN identifier of the elastic cluster.

", "smithy.api#httpQuery": "clusterArn" } }, "nextToken": { "target": "com.amazonaws.docdbelastic#PaginationToken", "traits": { - "smithy.api#documentation": "

The nextToken which is used the get the next page of data.

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

A pagination token provided by a previous request. \n If this parameter is specified, the response includes only records beyond this token, up to the value specified by max-results.

\n

If there is no more data in the responce, the nextToken will not be returned.

", "smithy.api#httpQuery": "nextToken" } }, @@ -1609,13 +1793,20 @@ "target": "smithy.api#Integer", "traits": { "smithy.api#default": null, - "smithy.api#documentation": "

The maximum number of entries to recieve in the response.

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

The maximum number of elastic cluster snapshot results to receive in the response.

", "smithy.api#httpQuery": "maxResults", "smithy.api#range": { "min": 20, "max": 100 } } + }, + "snapshotType": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The type of cluster snapshots to be returned. You can specify one of the following values:

\n
    \n
  • \n

    \n automated - Return all cluster snapshots that Amazon DocumentDB has automatically created for your Amazon Web Services account.

    \n
  • \n
  • \n

    \n manual - Return all cluster snapshots that you have manually created for your Amazon Web Services account.

    \n
  • \n
", + "smithy.api#httpQuery": "snapshotType" + } } } }, @@ -1625,13 +1816,13 @@ "snapshots": { "target": "com.amazonaws.docdbelastic#ClusterSnapshotList", "traits": { - "smithy.api#documentation": "

A list of Elastic DocumentDB snapshots for a specified cluster.

" + "smithy.api#documentation": "

A list of snapshots for a specified elastic cluster.

" } }, "nextToken": { "target": "com.amazonaws.docdbelastic#PaginationToken", "traits": { - "smithy.api#documentation": "

The response will provide a nextToken if there is more data beyond the maxResults.

\n

If there is no more data in the responce, the nextToken will not be returned.

" + "smithy.api#documentation": "

A pagination token provided by a previous request. \n If this parameter is specified, the response includes only records beyond this token, up to the value specified by max-results.

\n

If there is no more data in the responce, the nextToken will not be returned.

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

Returns information about provisioned Elastic DocumentDB clusters.

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

Returns information about provisioned Amazon DocumentDB elastic clusters.

", "smithy.api#http": { "code": 200, "method": "GET", @@ -1680,7 +1871,7 @@ "nextToken": { "target": "com.amazonaws.docdbelastic#PaginationToken", "traits": { - "smithy.api#documentation": "

The nextToken which is used the get the next page of data.

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

A pagination token provided by a previous request. \n If this parameter is specified, the response includes only records beyond this token, up to the value specified by max-results.

\n

If there is no more data in the responce, the nextToken will not be returned.

", "smithy.api#httpQuery": "nextToken" } }, @@ -1688,7 +1879,7 @@ "target": "smithy.api#Integer", "traits": { "smithy.api#default": null, - "smithy.api#documentation": "

The maximum number of entries to recieve in the response.

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

The maximum number of elastic cluster snapshot results to receive in the response.

", "smithy.api#httpQuery": "maxResults", "smithy.api#range": { "min": 1, @@ -1704,13 +1895,13 @@ "clusters": { "target": "com.amazonaws.docdbelastic#ClusterList", "traits": { - "smithy.api#documentation": "

A list of Elastic DocumentDB cluster.

" + "smithy.api#documentation": "

A list of Amazon DocumentDB elastic clusters.

" } }, "nextToken": { "target": "com.amazonaws.docdbelastic#PaginationToken", "traits": { - "smithy.api#documentation": "

The response will provide a nextToken if there is more data beyond the maxResults.

\n

If there is no more data in the responce, the nextToken will not be returned.

" + "smithy.api#documentation": "

A pagination token provided by a previous request. \n If this parameter is specified, the response includes only records beyond this token, up to the value specified by max-results.

\n

If there is no more data in the responce, the nextToken will not be returned.

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

Lists all tags on a Elastic DocumentDB resource

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

Lists all tags on a elastic cluster resource

", "smithy.api#http": { "uri": "/tags/{resourceArn}", "method": "GET" @@ -1752,7 +1943,7 @@ "resourceArn": { "target": "com.amazonaws.docdbelastic#Arn", "traits": { - "smithy.api#documentation": "

The arn of the Elastic DocumentDB resource.

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

The ARN identifier of the elastic cluster resource.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -1765,7 +1956,7 @@ "tags": { "target": "com.amazonaws.docdbelastic#TagMap", "traits": { - "smithy.api#documentation": "

The list of tags for the specified Elastic DocumentDB resource.

" + "smithy.api#documentation": "

The list of tags for the specified elastic cluster resource.

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

Restores a Elastic DocumentDB cluster from a snapshot.

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

Restores an elastic cluster from a snapshot.

", "smithy.api#http": { "code": 200, "method": "POST", @@ -1860,14 +2051,14 @@ "clusterName": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The name of the Elastic DocumentDB cluster.

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

The name of the elastic cluster.

", "smithy.api#required": {} } }, "snapshotArn": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The arn of the Elastic DocumentDB snapshot.

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

The ARN identifier of the elastic cluster snapshot.

", "smithy.api#httpLabel": {}, "smithy.api#required": {}, "smithy.api#resourceIdentifier": "snapshotArn" @@ -1876,25 +2067,37 @@ "vpcSecurityGroupIds": { "target": "com.amazonaws.docdbelastic#StringList", "traits": { - "smithy.api#documentation": "

A list of EC2 VPC security groups to associate with the\n Elastic DocumentDB cluster.

" + "smithy.api#documentation": "

A list of EC2 VPC security groups to associate with the elastic cluster.

" } }, "subnetIds": { "target": "com.amazonaws.docdbelastic#StringList", "traits": { - "smithy.api#documentation": "

The Amazon EC2 subnet IDs for the Elastic DocumentDB cluster.

" + "smithy.api#documentation": "

The Amazon EC2 subnet IDs for the elastic cluster.

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

The KMS key identifier to use to encrypt the new Elastic DocumentDB cluster.

\n

The KMS key identifier is the Amazon Resource Name (ARN) for the KMS\n encryption key. If you are creating a cluster using the same Amazon account\n that owns this KMS encryption key, you can use the KMS key alias instead\n of the ARN as the KMS encryption key.

\n

If an encryption key is not specified here, Elastic DocumentDB uses the\n default encryption key that KMS creates for your account. Your account\n has a different default encryption key for each Amazon Region.

" + "smithy.api#documentation": "

The KMS key identifier to use to encrypt the new Amazon DocumentDB elastic clusters cluster.

\n

The KMS key identifier is the Amazon Resource Name (ARN) for the KMS\n encryption key. If you are creating a cluster using the same Amazon account\n that owns this KMS encryption key, you can use the KMS key alias instead\n of the ARN as the KMS encryption key.

\n

If an encryption key is not specified here, Amazon DocumentDB uses the\n default encryption key that KMS creates for your account. Your account\n has a different default encryption key for each Amazon Region.

" } }, "tags": { "target": "com.amazonaws.docdbelastic#TagMap", "traits": { - "smithy.api#documentation": "

A list of the tag names to be assigned to the restored DB cluster,\n in the form of an array of key-value pairs in which the key\n is the tag name and the value is the key value.

" + "smithy.api#documentation": "

A list of the tag names to be assigned to the restored elastic cluster, in the form of an array of key-value pairs in which the key is the tag name and the value is the key value.

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

The capacity of each shard in the new restored elastic cluster.

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

The number of replica instances applying to all shards in the elastic cluster. \n A shardInstanceCount value of 1 means there is one writer instance, and any additional instances are replicas that can be used for reads and to improve availability.

" } } } @@ -1905,7 +2108,7 @@ "cluster": { "target": "com.amazonaws.docdbelastic#Cluster", "traits": { - "smithy.api#documentation": "

Returns information about a the restored Elastic DocumentDB cluster.

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

Returns information about a the restored elastic cluster.

", "smithy.api#required": {} } } @@ -1927,6 +2130,152 @@ "smithy.api#httpError": 402 } }, + "com.amazonaws.docdbelastic#Shard": { + "type": "structure", + "members": { + "shardId": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The ID of the shard.

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

The time when the shard was created in Universal Coordinated Time (UTC).

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

The current status of the shard.

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

The name of the shard.

" + } + }, + "com.amazonaws.docdbelastic#ShardList": { + "type": "list", + "member": { + "target": "com.amazonaws.docdbelastic#Shard" + } + }, + "com.amazonaws.docdbelastic#SnapshotType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "MANUAL", + "name": "MANUAL" + }, + { + "value": "AUTOMATED", + "name": "AUTOMATED" + } + ] + } + }, + "com.amazonaws.docdbelastic#StartCluster": { + "type": "operation", + "input": { + "target": "com.amazonaws.docdbelastic#StartClusterInput" + }, + "output": { + "target": "com.amazonaws.docdbelastic#StartClusterOutput" + }, + "errors": [ + { + "target": "com.amazonaws.docdbelastic#AccessDeniedException" + }, + { + "target": "com.amazonaws.docdbelastic#InternalServerException" + }, + { + "target": "com.amazonaws.docdbelastic#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.docdbelastic#ThrottlingException" + }, + { + "target": "com.amazonaws.docdbelastic#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Restarts the stopped elastic cluster that is specified by clusterARN.

", + "smithy.api#examples": [ + { + "title": "Basic Start Cluster Example", + "documentation": "update applied", + "input": { + "clusterArn": "arn:aws:docdb-elastic:us-east-1:$AWS_ACCOUNT_ID:cluster/$CLUSTER_ID" + }, + "output": { + "cluster": { + "clusterName": "sampleClusterName", + "clusterArn": "arn:aws:docdb-elastic:us-east-1:$AWS_ACCOUNT_ID:cluster/$CLUSTER_ID", + "status": "STARTING", + "clusterEndpoint": "sampleClusterName.us-east-1.docdb-elastic.amazonaws.com", + "createTime": "2000-01-01T00:00:00.000Z", + "adminUserName": "sampleAdminUser", + "authType": "PLAIN_TEXT", + "shardCapacity": 2, + "shardCount": 2, + "vpcSecurityGroupIds": ["vpcSgId1, vpcSgId2"], + "subnetIds": ["subnetId1", "subnetId2"], + "preferredMaintenanceWindow": "mon:00:00-mon:00:30", + "kmsKeyId": "AWS_OWNED_KMS_KEY", + "shards": [], + "backupRetentionPeriod": 1, + "preferredBackupWindow": "01:00-01:30", + "shardInstanceCount": 1 + } + } + } + ], + "smithy.api#http": { + "code": 200, + "method": "POST", + "uri": "/cluster/{clusterArn}/start" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.docdbelastic#StartClusterInput": { + "type": "structure", + "members": { + "clusterArn": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The ARN identifier of the elastic cluster.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {}, + "smithy.api#resourceIdentifier": "clusterArn" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.docdbelastic#StartClusterOutput": { + "type": "structure", + "members": { + "cluster": { + "target": "com.amazonaws.docdbelastic#Cluster", + "traits": { + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.docdbelastic#Status": { "type": "string", "traits": { @@ -1966,10 +2315,146 @@ { "value": "INACCESSIBLE_ENCRYPTION_CREDS", "name": "INACCESSIBLE_ENCRYPTION_CREDS" + }, + { + "value": "INACCESSIBLE_SECRET_ARN", + "name": "INACCESSIBLE_SECRET_ARN" + }, + { + "value": "INACCESSIBLE_VPC_ENDPOINT", + "name": "INACCESSIBLE_VPC_ENDPOINT" + }, + { + "value": "INCOMPATIBLE_NETWORK", + "name": "INCOMPATIBLE_NETWORK" + }, + { + "value": "MERGING", + "name": "MERGING" + }, + { + "value": "MODIFYING", + "name": "MODIFYING" + }, + { + "value": "SPLITTING", + "name": "SPLITTING" + }, + { + "value": "COPYING", + "name": "COPYING" + }, + { + "value": "STARTING", + "name": "STARTING" + }, + { + "value": "STOPPING", + "name": "STOPPING" + }, + { + "value": "STOPPED", + "name": "STOPPED" } ] } }, + "com.amazonaws.docdbelastic#StopCluster": { + "type": "operation", + "input": { + "target": "com.amazonaws.docdbelastic#StopClusterInput" + }, + "output": { + "target": "com.amazonaws.docdbelastic#StopClusterOutput" + }, + "errors": [ + { + "target": "com.amazonaws.docdbelastic#AccessDeniedException" + }, + { + "target": "com.amazonaws.docdbelastic#InternalServerException" + }, + { + "target": "com.amazonaws.docdbelastic#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.docdbelastic#ThrottlingException" + }, + { + "target": "com.amazonaws.docdbelastic#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Stops the running elastic cluster that is specified by clusterArn. \n The elastic cluster must be in the available state.

", + "smithy.api#examples": [ + { + "title": "Basic Stop Cluster Example", + "documentation": "update applied", + "input": { + "clusterArn": "arn:aws:docdb-elastic:us-east-1:$AWS_ACCOUNT_ID:cluster/$CLUSTER_ID" + }, + "output": { + "cluster": { + "clusterName": "sampleClusterName", + "clusterArn": "arn:aws:docdb-elastic:us-east-1:$AWS_ACCOUNT_ID:cluster/$CLUSTER_ID", + "status": "STOPPING", + "clusterEndpoint": "sampleClusterName.us-east-1.docdb-elastic.amazonaws.com", + "createTime": "2000-01-01T00:00:00.000Z", + "adminUserName": "sampleAdminUser", + "authType": "PLAIN_TEXT", + "shardCapacity": 2, + "shardCount": 2, + "vpcSecurityGroupIds": ["vpcSgId1, vpcSgId2"], + "subnetIds": ["subnetId1", "subnetId2"], + "preferredMaintenanceWindow": "mon:00:00-mon:00:30", + "kmsKeyId": "AWS_OWNED_KMS_KEY", + "shards": [], + "backupRetentionPeriod": 1, + "preferredBackupWindow": "01:00-01:30", + "shardInstanceCount": 1 + } + } + } + ], + "smithy.api#http": { + "code": 200, + "method": "POST", + "uri": "/cluster/{clusterArn}/stop" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.docdbelastic#StopClusterInput": { + "type": "structure", + "members": { + "clusterArn": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The ARN identifier of the elastic cluster.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {}, + "smithy.api#resourceIdentifier": "clusterArn" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.docdbelastic#StopClusterOutput": { + "type": "structure", + "members": { + "cluster": { + "target": "com.amazonaws.docdbelastic#Cluster", + "traits": { + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.docdbelastic#StringList": { "type": "list", "member": { @@ -2030,7 +2515,7 @@ } ], "traits": { - "smithy.api#documentation": "

Adds metadata tags to a Elastic DocumentDB resource

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

Adds metadata tags to an elastic cluster resource

", "smithy.api#http": { "uri": "/tags/{resourceArn}", "method": "POST" @@ -2043,7 +2528,7 @@ "resourceArn": { "target": "com.amazonaws.docdbelastic#Arn", "traits": { - "smithy.api#documentation": "

The arn of the Elastic DocumentDB resource.

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

The ARN identifier of the elastic cluster resource.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -2051,7 +2536,7 @@ "tags": { "target": "com.amazonaws.docdbelastic#TagMap", "traits": { - "smithy.api#documentation": "

The tags to be assigned to the Elastic DocumentDB resource.

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

The tags that are assigned to the elastic cluster resource.

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

Removes metadata tags to a Elastic DocumentDB resource

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

Removes metadata tags from an elastic cluster resource

", "smithy.api#http": { "uri": "/tags/{resourceArn}", "method": "DELETE" @@ -2131,7 +2616,7 @@ "resourceArn": { "target": "com.amazonaws.docdbelastic#Arn", "traits": { - "smithy.api#documentation": "

The arn of the Elastic DocumentDB resource.

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

The ARN identifier of the elastic cluster resource.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -2139,7 +2624,7 @@ "tagKeys": { "target": "com.amazonaws.docdbelastic#TagKeyList", "traits": { - "smithy.api#documentation": "

The tag keys to be removed from the Elastic DocumentDB resource.

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

The tag keys to be removed from the elastic cluster resource.

", "smithy.api#httpQuery": "tagKeys", "smithy.api#required": {} } @@ -2179,7 +2664,7 @@ } ], "traits": { - "smithy.api#documentation": "

Modifies a Elastic DocumentDB cluster. This includes updating admin-username/password, \n upgrading API version setting up a backup window and maintenance window

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

Modifies an elastic cluster. This includes updating admin-username/password, \n upgrading the API version, and setting up a backup window and maintenance window

", "smithy.api#http": { "code": 200, "method": "PUT", @@ -2194,7 +2679,7 @@ "clusterArn": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The arn of the Elastic DocumentDB cluster.

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

The ARN identifier of the elastic cluster.

", "smithy.api#httpLabel": {}, "smithy.api#required": {}, "smithy.api#resourceIdentifier": "clusterArn" @@ -2203,50 +2688,68 @@ "authType": { "target": "com.amazonaws.docdbelastic#Auth", "traits": { - "smithy.api#documentation": "

The authentication type for the Elastic DocumentDB cluster.

" + "smithy.api#documentation": "

The authentication type used to determine where to fetch the password used for accessing the elastic cluster. \n Valid types are PLAIN_TEXT or SECRET_ARN.

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

The capacity of each shard in the Elastic DocumentDB cluster.

" + "smithy.api#documentation": "

The number of vCPUs assigned to each elastic cluster shard. \n Maximum is 64. Allowed values are 2, 4, 8, 16, 32, 64.

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

The number of shards to create in the Elastic DocumentDB cluster.

" + "smithy.api#documentation": "

The number of shards assigned to the elastic cluster. Maximum is 32.

" } }, "vpcSecurityGroupIds": { "target": "com.amazonaws.docdbelastic#StringList", "traits": { - "smithy.api#documentation": "

A list of EC2 VPC security groups to associate with the new\n Elastic DocumentDB cluster.

" + "smithy.api#documentation": "

A list of EC2 VPC security groups to associate with the elastic cluster.

" } }, "subnetIds": { "target": "com.amazonaws.docdbelastic#StringList", "traits": { - "smithy.api#documentation": "

The number of shards to create in the Elastic DocumentDB cluster.

" + "smithy.api#documentation": "

The Amazon EC2 subnet IDs for the elastic cluster.

" } }, "adminUserPassword": { "target": "com.amazonaws.docdbelastic#Password", "traits": { - "smithy.api#documentation": "

The password for the Elastic DocumentDB cluster administrator. This password can\n contain any printable ASCII character except forward slash (/),\n double quote (\"), or the \"at\" symbol (@).

\n

\n Constraints: Must contain from 8 to 100 characters.

" + "smithy.api#documentation": "

The password associated with the elastic cluster administrator. \n This password can contain any printable ASCII character except forward slash (/), double quote (\"), or the \"at\" symbol (@).

\n

\n Constraints: Must contain from 8 to 100 characters.

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

The client token for the Elastic DocumentDB cluster.

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

The client token for the elastic cluster.

", "smithy.api#idempotencyToken": {} } }, "preferredMaintenanceWindow": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The weekly time range during which system maintenance can occur,\n in Universal Coordinated Time (UTC).

\n

\n Format: ddd:hh24:mi-ddd:hh24:mi\n

\n

\n Default: a 30-minute window selected at random from an 8-hour block of time for each Amazon Web Services Region, occurring on a random day of the week.

\n

\n Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun

\n

\n Constraints: Minimum 30-minute window.

" + "smithy.api#documentation": "

The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).

\n

\n Format: ddd:hh24:mi-ddd:hh24:mi\n

\n

\n Default: a 30-minute window selected at random from an 8-hour block of time for each Amazon Web Services Region, occurring on a random day of the week.

\n

\n Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun

\n

\n Constraints: Minimum 30-minute window.

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

The number of days for which automatic snapshots are retained.

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

The daily time range during which automated backups are created if automated backups are enabled, as determined by the backupRetentionPeriod.

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

The number of replica instances applying to all shards in the elastic cluster. \n A shardInstanceCount value of 1 means there is one writer instance, and any additional instances are replicas that can be used for reads and to improve availability.

" } } } @@ -2257,7 +2760,7 @@ "cluster": { "target": "com.amazonaws.docdbelastic#Cluster", "traits": { - "smithy.api#documentation": "

Returns information about the updated Elastic DocumentDB cluster.

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

Returns information about the updated elastic cluster.

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