Skip to content

Commit 581ae9b

Browse files
author
awstools
committed
feat(client-keyspaces): This release adds support for MRR GA launch, and includes multiregion support in create-keyspace, get-keyspace, and list-keyspace.
1 parent 074bc89 commit 581ae9b

File tree

7 files changed

+353
-93
lines changed

7 files changed

+353
-93
lines changed

clients/client-keyspaces/src/commands/CreateKeyspaceCommand.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,12 @@ export interface CreateKeyspaceCommandOutput extends CreateKeyspaceResponse, __M
5757
* value: "STRING_VALUE", // required
5858
* },
5959
* ],
60+
* replicationSpecification: { // ReplicationSpecification
61+
* replicationStrategy: "STRING_VALUE", // required
62+
* regionList: [ // RegionList
63+
* "STRING_VALUE",
64+
* ],
65+
* },
6066
* };
6167
* const command = new CreateKeyspaceCommand(input);
6268
* const response = await client.send(command);

clients/client-keyspaces/src/commands/GetKeyspaceCommand.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,10 @@ export interface GetKeyspaceCommandOutput extends GetKeyspaceResponse, __Metadat
5151
* // { // GetKeyspaceResponse
5252
* // keyspaceName: "STRING_VALUE", // required
5353
* // resourceArn: "STRING_VALUE", // required
54+
* // replicationStrategy: "STRING_VALUE", // required
55+
* // replicationRegions: [ // RegionList
56+
* // "STRING_VALUE",
57+
* // ],
5458
* // };
5559
*
5660
* ```

clients/client-keyspaces/src/commands/ListKeyspacesCommand.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,10 @@ export interface ListKeyspacesCommandOutput extends ListKeyspacesResponse, __Met
5555
* // { // KeyspaceSummary
5656
* // keyspaceName: "STRING_VALUE", // required
5757
* // resourceArn: "STRING_VALUE", // required
58+
* // replicationStrategy: "STRING_VALUE", // required
59+
* // replicationRegions: [ // RegionList
60+
* // "STRING_VALUE",
61+
* // ],
5862
* // },
5963
* // ],
6064
* // };

clients/client-keyspaces/src/commands/TagResourceCommand.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ export interface TagResourceCommandOutput extends TagResourceResponse, __Metadat
4141
* For more information, see <a href="https://docs.aws.amazon.com/keyspaces/latest/devguide/tagging-keyspaces.html">Adding tags and labels to Amazon Keyspaces resources</a> in the <i>Amazon Keyspaces Developer
4242
* Guide</i>.</p>
4343
* <p>For IAM policy examples that show how to control access to Amazon Keyspaces resources based on tags,
44-
* see <a href="https://docs.aws.amazon.com/keyspaces/latest/devguide/security_iam_id-based-policy-examples-tags">Amazon Keyspaces resource access based on tags</a>
44+
* see <a href="https://docs.aws.amazon.com/keyspaces/latest/devguide/security_iam_id-based-policy-examples.html#security_iam_id-based-policy-examples-tags">Amazon Keyspaces resource access based on tags</a>
4545
* in the <i>Amazon Keyspaces Developer Guide</i>.</p>
4646
* @example
4747
* Use a bare-bones client and the command you need to make an API call.

clients/client-keyspaces/src/models/models_0.ts

Lines changed: 97 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -246,6 +246,53 @@ export class ConflictException extends __BaseException {
246246
}
247247
}
248248

249+
/**
250+
* @public
251+
* @enum
252+
*/
253+
export const Rs = {
254+
MULTI_REGION: "MULTI_REGION",
255+
SINGLE_REGION: "SINGLE_REGION",
256+
} as const;
257+
258+
/**
259+
* @public
260+
*/
261+
export type Rs = (typeof Rs)[keyof typeof Rs];
262+
263+
/**
264+
* @public
265+
* <p>
266+
* The replication specification of the keyspace includes:</p>
267+
* <ul>
268+
* <li>
269+
* <p>
270+
* <code>regionList</code> - up to six Amazon Web Services Regions where the keyspace is replicated in.</p>
271+
* </li>
272+
* <li>
273+
* <p>
274+
* <code>replicationStrategy</code> - the required value is <code>SINGLE_REGION</code> or
275+
* <code>MULTI_REGION</code>.</p>
276+
* </li>
277+
* </ul>
278+
*/
279+
export interface ReplicationSpecification {
280+
/**
281+
* <p>
282+
* The <code>replicationStrategy</code> of a keyspace, the required value is <code>SINGLE_REGION</code> or
283+
* <code>MULTI_REGION</code>.
284+
* </p>
285+
*/
286+
replicationStrategy: Rs | string | undefined;
287+
288+
/**
289+
* <p>
290+
* The <code>regionList</code> can contain up to six Amazon Web Services Regions where the keyspace is replicated in.
291+
* </p>
292+
*/
293+
regionList?: string[];
294+
}
295+
249296
/**
250297
* @public
251298
* <p>Describes a tag. A tag is a key-value pair. You can add up to 50 tags to a single Amazon Keyspaces resource.</p>
@@ -283,6 +330,26 @@ export interface CreateKeyspaceRequest {
283330
* Guide</i>.</p>
284331
*/
285332
tags?: Tag[];
333+
334+
/**
335+
* <p>
336+
* The replication specification of the keyspace includes:</p>
337+
* <ul>
338+
* <li>
339+
* <p>
340+
* <code>replicationStrategy</code> - the required value is <code>SINGLE_REGION</code> or
341+
* <code>MULTI_REGION</code>.</p>
342+
* </li>
343+
* <li>
344+
* <p>
345+
* <code>regionList</code> - if the <code>replicationStrategy</code> is <code>MULTI_REGION</code>, the
346+
* <code>regionList</code> requires the current Region and at least one additional Amazon Web Services Region where
347+
* the keyspace is going to be replicated in. The maximum number of supported replication Regions including the current
348+
* Region is six.</p>
349+
* </li>
350+
* </ul>
351+
*/
352+
replicationSpecification?: ReplicationSpecification;
286353
}
287354

288355
/**
@@ -819,9 +886,23 @@ export interface GetKeyspaceResponse {
819886
keyspaceName: string | undefined;
820887

821888
/**
822-
* <p>The ARN of the keyspace.</p>
889+
* <p>Returns the ARN of the keyspace.</p>
823890
*/
824891
resourceArn: string | undefined;
892+
893+
/**
894+
* <p>
895+
* Returns the replication strategy of the keyspace. The options are <code>SINGLE_REGION</code> or <code>MULTI_REGION</code>.
896+
* </p>
897+
*/
898+
replicationStrategy: Rs | string | undefined;
899+
900+
/**
901+
* <p>
902+
* If the <code>replicationStrategy</code> of the keyspace is <code>MULTI_REGION</code>, a list of replication Regions is returned.
903+
* </p>
904+
*/
905+
replicationRegions?: string[];
825906
}
826907

827908
/**
@@ -988,6 +1069,21 @@ export interface KeyspaceSummary {
9881069
* <p>The unique identifier of the keyspace in the format of an Amazon Resource Name (ARN).</p>
9891070
*/
9901071
resourceArn: string | undefined;
1072+
1073+
/**
1074+
* <p>
1075+
* This property specifies if a keyspace is a single Region keyspace or a multi-Region keyspace. The available
1076+
* values are <code>SINGLE_REGION</code> or <code>MULTI_REGION</code>.
1077+
* </p>
1078+
*/
1079+
replicationStrategy: Rs | string | undefined;
1080+
1081+
/**
1082+
* <p>
1083+
* If the <code>replicationStrategy</code> of the keyspace is <code>MULTI_REGION</code>, a list of replication Regions is returned.
1084+
* </p>
1085+
*/
1086+
replicationRegions?: string[];
9911087
}
9921088

9931089
/**

clients/client-keyspaces/src/protocols/Aws_json1_0.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ import {
5656
PartitionKey,
5757
PointInTimeRecovery,
5858
PointInTimeRecoverySummary,
59+
ReplicationSpecification,
5960
ResourceNotFoundException,
6061
RestoreTableRequest,
6162
SchemaDefinition,
@@ -1140,6 +1141,10 @@ const de_ValidationExceptionRes = async (parsedOutput: any, context: __SerdeCont
11401141

11411142
// se_PointInTimeRecovery omitted.
11421143

1144+
// se_RegionList omitted.
1145+
1146+
// se_ReplicationSpecification omitted.
1147+
11431148
/**
11441149
* serializeAws_json1_0RestoreTableRequest
11451150
*/
@@ -1262,6 +1267,8 @@ const de_PointInTimeRecoverySummary = (output: any, context: __SerdeContext): Po
12621267
}) as any;
12631268
};
12641269

1270+
// de_RegionList omitted.
1271+
12651272
// de_ResourceNotFoundException omitted.
12661273

12671274
// de_RestoreTableResponse omitted.

0 commit comments

Comments
 (0)