Skip to content

Commit 99fb61c

Browse files
author
awstools
committed
feat(client-dsql): CreateMultiRegionClusters and DeleteMultiRegionClusters APIs marked as deprecated. Introduced new multi-Region clusters creation experience through multiRegionProperties parameter in CreateCluster API.
1 parent 568eb19 commit 99fb61c

18 files changed

+555
-238
lines changed

clients/client-dsql/README.md

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,12 @@
66

77
AWS SDK for JavaScript DSQL Client for Node.js, Browser and React Native.
88

9-
<p>This is an interface reference for Amazon Aurora DSQL.
10-
It contains documentation for one of the programming or
11-
command line interfaces you can use to manage Amazon Aurora DSQL.</p>
12-
<p>Amazon Aurora DSQL is a serverless, distributed SQL
13-
database suitable for workloads of any size. Aurora DSQL
14-
is available in both single-Region and multi-Region configurations,
15-
so your clusters and databases are always available even if an
16-
Availability Zone or an Amazon Web Services Region are unavailable. Aurora DSQL
17-
lets you focus on using your data to acquire new insights for your
18-
business and customers.</p>
9+
<p>This is an interface reference for Amazon Aurora DSQL. It contains documentation for one of the
10+
programming or command line interfaces you can use to manage Amazon Aurora DSQL.</p>
11+
<p>Amazon Aurora DSQL is a serverless, distributed SQL database suitable for workloads of any size.
12+
is available in both single-Region and multi-Region configurations, so your
13+
clusters and databases are always available even if an Availability Zone or an Amazon Web Services Region are unavailable. lets you focus on using your data to
14+
acquire new insights for your business and customers.</p>
1915

2016
## Installing
2117

clients/client-dsql/src/DSQL.ts

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -215,16 +215,12 @@ export interface DSQL {
215215
}
216216

217217
/**
218-
* <p>This is an interface reference for Amazon Aurora DSQL.
219-
* It contains documentation for one of the programming or
220-
* command line interfaces you can use to manage Amazon Aurora DSQL.</p>
221-
* <p>Amazon Aurora DSQL is a serverless, distributed SQL
222-
* database suitable for workloads of any size. Aurora DSQL
223-
* is available in both single-Region and multi-Region configurations,
224-
* so your clusters and databases are always available even if an
225-
* Availability Zone or an Amazon Web Services Region are unavailable. Aurora DSQL
226-
* lets you focus on using your data to acquire new insights for your
227-
* business and customers.</p>
218+
* <p>This is an interface reference for Amazon Aurora DSQL. It contains documentation for one of the
219+
* programming or command line interfaces you can use to manage Amazon Aurora DSQL.</p>
220+
* <p>Amazon Aurora DSQL is a serverless, distributed SQL database suitable for workloads of any size.
221+
* is available in both single-Region and multi-Region configurations, so your
222+
* clusters and databases are always available even if an Availability Zone or an Amazon Web Services Region are unavailable. lets you focus on using your data to
223+
* acquire new insights for your business and customers.</p>
228224
* @public
229225
*/
230226
export class DSQL extends DSQLClient implements DSQL {}

clients/client-dsql/src/DSQLClient.ts

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -310,16 +310,12 @@ export type DSQLClientResolvedConfigType = __SmithyResolvedConfiguration<__HttpH
310310
export interface DSQLClientResolvedConfig extends DSQLClientResolvedConfigType {}
311311

312312
/**
313-
* <p>This is an interface reference for Amazon Aurora DSQL.
314-
* It contains documentation for one of the programming or
315-
* command line interfaces you can use to manage Amazon Aurora DSQL.</p>
316-
* <p>Amazon Aurora DSQL is a serverless, distributed SQL
317-
* database suitable for workloads of any size. Aurora DSQL
318-
* is available in both single-Region and multi-Region configurations,
319-
* so your clusters and databases are always available even if an
320-
* Availability Zone or an Amazon Web Services Region are unavailable. Aurora DSQL
321-
* lets you focus on using your data to acquire new insights for your
322-
* business and customers.</p>
313+
* <p>This is an interface reference for Amazon Aurora DSQL. It contains documentation for one of the
314+
* programming or command line interfaces you can use to manage Amazon Aurora DSQL.</p>
315+
* <p>Amazon Aurora DSQL is a serverless, distributed SQL database suitable for workloads of any size.
316+
* is available in both single-Region and multi-Region configurations, so your
317+
* clusters and databases are always available even if an Availability Zone or an Amazon Web Services Region are unavailable. lets you focus on using your data to
318+
* acquire new insights for your business and customers.</p>
323319
* @public
324320
*/
325321
export class DSQLClient extends __Client<

clients/client-dsql/src/commands/CreateClusterCommand.ts

Lines changed: 89 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,77 @@ export interface CreateClusterCommandInput extends CreateClusterInput {}
2828
export interface CreateClusterCommandOutput extends CreateClusterOutput, __MetadataBearer {}
2929

3030
/**
31-
* <p>Creates a cluster in Amazon Aurora DSQL.</p>
31+
* <p>This operation creates a cluster in Amazon Aurora DSQL. You need the following permissions to
32+
* use this operation.</p>
33+
* <p>Permission to create a cluster.</p>
34+
* <dl>
35+
* <dt>dsql:CreateCluster</dt>
36+
* <dd>
37+
* <p>Resources: arn:aws:dsql:<i>region</i>:<i>account-id</i>:cluster/*</p>
38+
* </dd>
39+
* </dl>
40+
* <p> Permission to add tags to a resource.</p>
41+
* <dl>
42+
* <dt>dsql:TagResource</dt>
43+
* <dd>
44+
* <p>Resources:
45+
* arn:aws:dsql:<i>region</i>:<i>account-id</i>:cluster/*</p>
46+
* </dd>
47+
* </dl>
48+
* <p>Permission to configure multi-region properties for
49+
* a cluster.</p>
50+
* <dl>
51+
* <dt>dsql:PutMultiRegionProperties</dt>
52+
* <dd>
53+
* <p>Resources:
54+
* arn:aws:dsql:<i>region</i>:<i>account-id</i>:cluster/*</p>
55+
* </dd>
56+
* </dl>
57+
* <p>When specifying multiRegionProperties.clusters.</p>
58+
* <dl>
59+
* <dt>dsql:AddPeerCluster</dt>
60+
* <dd>
61+
* <p>Permission to add peer clusters.</p>
62+
* <p>Resources:</p>
63+
* <ul>
64+
* <li>
65+
* <p>Local cluster: arn:aws:dsql:<i>region</i>:<i>account-id</i>:cluster/*</p>
66+
* </li>
67+
* <li>
68+
* <p>Each peer cluster: exact ARN of each specified peer cluster</p>
69+
* </li>
70+
* </ul>
71+
* </dd>
72+
* </dl>
73+
* <p>When specifying multiRegionProperties.witnessRegion.</p>
74+
* <dl>
75+
* <dt>dsql:PutWitnessRegion</dt>
76+
* <dd>
77+
* <p>Permission to set a witness region.</p>
78+
* <p>Resources: arn:aws:dsql:<i>region</i>:<i>account-id</i>:cluster/*</p>
79+
* <p>Condition Keys: <code>dsql:WitnessRegion</code> (matching the specified
80+
* witness region)</p>
81+
* <note>
82+
* <p>This permission is checked both in the cluster Region and in the witness
83+
* Region.</p>
84+
* </note>
85+
* </dd>
86+
* </dl>
87+
* <important>
88+
* <p>
89+
* <b>Important Notes for Multi-Region Operations</b>
90+
* </p>
91+
* <ul>
92+
* <li>
93+
* <p>The witness region specified in
94+
* <code>multiRegionProperties.witnessRegion</code> cannot be the same as the
95+
* cluster's Region.</p>
96+
* </li>
97+
* <li>
98+
* <p>When updating clusters with peer relationships, permissions are checked for both adding and removing peers.</p>
99+
* </li>
100+
* </ul>
101+
* </important>
32102
* @example
33103
* Use a bare-bones client and the command you need to make an API call.
34104
* ```javascript
@@ -41,14 +111,26 @@ export interface CreateClusterCommandOutput extends CreateClusterOutput, __Metad
41111
* "<keys>": "STRING_VALUE",
42112
* },
43113
* clientToken: "STRING_VALUE",
114+
* multiRegionProperties: { // MultiRegionProperties
115+
* witnessRegion: "STRING_VALUE",
116+
* clusters: [ // ClusterArnList
117+
* "STRING_VALUE",
118+
* ],
119+
* },
44120
* };
45121
* const command = new CreateClusterCommand(input);
46122
* const response = await client.send(command);
47123
* // { // CreateClusterOutput
48124
* // identifier: "STRING_VALUE", // required
49125
* // arn: "STRING_VALUE", // required
50-
* // status: "CREATING" || "ACTIVE" || "UPDATING" || "DELETING" || "DELETED" || "FAILED", // required
126+
* // status: "CREATING" || "ACTIVE" || "IDLE" || "INACTIVE" || "UPDATING" || "DELETING" || "DELETED" || "FAILED" || "PENDING_SETUP" || "PENDING_DELETE", // required
51127
* // creationTime: new Date("TIMESTAMP"), // required
128+
* // multiRegionProperties: { // MultiRegionProperties
129+
* // witnessRegion: "STRING_VALUE",
130+
* // clusters: [ // ClusterArnList
131+
* // "STRING_VALUE",
132+
* // ],
133+
* // },
52134
* // deletionProtectionEnabled: true || false, // required
53135
* // };
54136
*
@@ -66,19 +148,19 @@ export interface CreateClusterCommandOutput extends CreateClusterOutput, __Metad
66148
* @throws {@link ServiceQuotaExceededException} (client fault)
67149
* <p>The service limit was exceeded.</p>
68150
*
151+
* @throws {@link ValidationException} (client fault)
152+
* <p>The input failed to satisfy the constraints specified by an Amazon Web Services service.</p>
153+
*
69154
* @throws {@link AccessDeniedException} (client fault)
70155
* <p>You do not have sufficient access to perform this action.</p>
71156
*
72157
* @throws {@link InternalServerException} (server fault)
73-
* <p>The request processing has failed because of an unknown error,
74-
* exception or failure.</p>
158+
* <p>The request processing has failed because of an unknown error, exception or
159+
* failure.</p>
75160
*
76161
* @throws {@link ThrottlingException} (client fault)
77162
* <p>The request was denied due to request throttling.</p>
78163
*
79-
* @throws {@link ValidationException} (client fault)
80-
* <p>The input failed to satisfy the constraints specified by an Amazon Web Services service.</p>
81-
*
82164
* @throws {@link DSQLServiceException}
83165
* <p>Base exception class for all service exceptions from DSQL service.</p>
84166
*

clients/client-dsql/src/commands/CreateMultiRegionClustersCommand.ts

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,12 @@ export interface CreateMultiRegionClustersCommandInput extends CreateMultiRegion
2828
export interface CreateMultiRegionClustersCommandOutput extends CreateMultiRegionClustersOutput, __MetadataBearer {}
2929

3030
/**
31-
* <p>Creates multi-Region clusters in Amazon Aurora DSQL.
32-
* Multi-Region clusters require a linked Region list, which is an array
33-
* of the Regions in which you want to create linked clusters.
34-
* Multi-Region clusters require a witness Region, which participates in quorum in failure scenarios.</p>
31+
* <p>Creates multi-Region clusters in Amazon Aurora DSQL. Multi-Region clusters require a linked
32+
* Region list, which is an array of the Regions in which you want to create linked clusters.
33+
* Multi-Region clusters require a witness Region, which participates in quorum in failure
34+
* scenarios.</p>
35+
*
36+
* @deprecated The CreateMultiRegionClusters API is deprecated. Use the CreateCluster API with multi-Region properties to create a multi-Region cluster.
3537
* @example
3638
* Use a bare-bones client and the command you need to make an API call.
3739
* ```javascript
@@ -79,8 +81,8 @@ export interface CreateMultiRegionClustersCommandOutput extends CreateMultiRegio
7981
* <p>You do not have sufficient access to perform this action.</p>
8082
*
8183
* @throws {@link InternalServerException} (server fault)
82-
* <p>The request processing has failed because of an unknown error,
83-
* exception or failure.</p>
84+
* <p>The request processing has failed because of an unknown error, exception or
85+
* failure.</p>
8486
*
8587
* @throws {@link ThrottlingException} (client fault)
8688
* <p>The request was denied due to request throttling.</p>
@@ -107,8 +109,8 @@ export interface CreateMultiRegionClustersCommandOutput extends CreateMultiRegio
107109
* /* response is
108110
* {
109111
* linkedClusterArns: [
110-
* "arn:aws:dsql:us-east-1:111122223333:cluster/abcdefghijklmnopqrst12345",
111-
* "arn:aws:dsql:us-east-2:111122223333:cluster/klmnopqrstuvwxyzabcd54321"
112+
* "arn:aws:dsql:us-east-1:111122223333:cluster/abcdefghijklmnopqrstu12345",
113+
* "arn:aws:dsql:us-east-2:111122223333:cluster/klmnopqrstuvwxyzabcde54321"
112114
* ]
113115
* }
114116
* *\/

clients/client-dsql/src/commands/DeleteClusterCommand.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ export interface DeleteClusterCommandOutput extends DeleteClusterOutput, __Metad
4444
* // { // DeleteClusterOutput
4545
* // identifier: "STRING_VALUE", // required
4646
* // arn: "STRING_VALUE", // required
47-
* // status: "CREATING" || "ACTIVE" || "UPDATING" || "DELETING" || "DELETED" || "FAILED", // required
47+
* // status: "CREATING" || "ACTIVE" || "IDLE" || "INACTIVE" || "UPDATING" || "DELETING" || "DELETED" || "FAILED" || "PENDING_SETUP" || "PENDING_DELETE", // required
4848
* // creationTime: new Date("TIMESTAMP"), // required
4949
* // deletionProtectionEnabled: true || false, // required
5050
* // };
@@ -67,8 +67,8 @@ export interface DeleteClusterCommandOutput extends DeleteClusterOutput, __Metad
6767
* <p>You do not have sufficient access to perform this action.</p>
6868
*
6969
* @throws {@link InternalServerException} (server fault)
70-
* <p>The request processing has failed because of an unknown error,
71-
* exception or failure.</p>
70+
* <p>The request processing has failed because of an unknown error, exception or
71+
* failure.</p>
7272
*
7373
* @throws {@link ThrottlingException} (client fault)
7474
* <p>The request was denied due to request throttling.</p>

clients/client-dsql/src/commands/DeleteMultiRegionClustersCommand.ts

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@ export interface DeleteMultiRegionClustersCommandOutput extends __MetadataBearer
2929

3030
/**
3131
* <p>Deletes a multi-Region cluster in Amazon Aurora DSQL.</p>
32+
*
33+
* @deprecated The DeleteMultiRegionClusters API is deprecated. To delete a multi-Region cluster, use the DeleteCluster API instead.
3234
* @example
3335
* Use a bare-bones client and the command you need to make an API call.
3436
* ```javascript
@@ -63,8 +65,8 @@ export interface DeleteMultiRegionClustersCommandOutput extends __MetadataBearer
6365
* <p>You do not have sufficient access to perform this action.</p>
6466
*
6567
* @throws {@link InternalServerException} (server fault)
66-
* <p>The request processing has failed because of an unknown error,
67-
* exception or failure.</p>
68+
* <p>The request processing has failed because of an unknown error, exception or
69+
* failure.</p>
6870
*
6971
* @throws {@link ThrottlingException} (client fault)
7072
* <p>The request was denied due to request throttling.</p>
@@ -81,8 +83,8 @@ export interface DeleteMultiRegionClustersCommandOutput extends __MetadataBearer
8183
* //
8284
* const input = {
8385
* linkedClusterArns: [
84-
* "arn:aws:dsql:us-east-1:111122223333:cluster/abcdefghijklmnopqrst12345",
85-
* "arn:aws:dsql:us-east-2:111122223333:cluster/klmnopqrstuvwxyzabcd54321"
86+
* "arn:aws:dsql:us-east-1:111122223333:cluster/abcdefghijklmnopqrstu12345",
87+
* "arn:aws:dsql:us-east-2:111122223333:cluster/klmnopqrstuvwxyzabcde54321"
8688
* ]
8789
* };
8890
* const command = new DeleteMultiRegionClustersCommand(input);

clients/client-dsql/src/commands/GetClusterCommand.ts

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -43,13 +43,22 @@ export interface GetClusterCommandOutput extends GetClusterOutput, __MetadataBea
4343
* // { // GetClusterOutput
4444
* // identifier: "STRING_VALUE", // required
4545
* // arn: "STRING_VALUE", // required
46-
* // status: "CREATING" || "ACTIVE" || "UPDATING" || "DELETING" || "DELETED" || "FAILED", // required
46+
* // status: "CREATING" || "ACTIVE" || "IDLE" || "INACTIVE" || "UPDATING" || "DELETING" || "DELETED" || "FAILED" || "PENDING_SETUP" || "PENDING_DELETE", // required
4747
* // creationTime: new Date("TIMESTAMP"), // required
48-
* // deletionProtectionEnabled: true || false, // required
4948
* // witnessRegion: "STRING_VALUE",
5049
* // linkedClusterArns: [ // ClusterArnList
5150
* // "STRING_VALUE",
5251
* // ],
52+
* // deletionProtectionEnabled: true || false, // required
53+
* // multiRegionProperties: { // MultiRegionProperties
54+
* // witnessRegion: "STRING_VALUE",
55+
* // clusters: [
56+
* // "STRING_VALUE",
57+
* // ],
58+
* // },
59+
* // tags: { // TagMap
60+
* // "<keys>": "STRING_VALUE",
61+
* // },
5362
* // };
5463
*
5564
* ```
@@ -67,8 +76,8 @@ export interface GetClusterCommandOutput extends GetClusterOutput, __MetadataBea
6776
* <p>You do not have sufficient access to perform this action.</p>
6877
*
6978
* @throws {@link InternalServerException} (server fault)
70-
* <p>The request processing has failed because of an unknown error,
71-
* exception or failure.</p>
79+
* <p>The request processing has failed because of an unknown error, exception or
80+
* failure.</p>
7281
*
7382
* @throws {@link ThrottlingException} (client fault)
7483
* <p>The request was denied due to request throttling.</p>

clients/client-dsql/src/commands/GetVpcEndpointServiceNameCommand.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,8 +53,8 @@ export interface GetVpcEndpointServiceNameCommandOutput extends GetVpcEndpointSe
5353
* @see {@link DSQLClientResolvedConfig | config} for DSQLClient's `config` shape.
5454
*
5555
* @throws {@link InternalServerException} (server fault)
56-
* <p>The request processing has failed because of an unknown error,
57-
* exception or failure.</p>
56+
* <p>The request processing has failed because of an unknown error, exception or
57+
* failure.</p>
5858
*
5959
* @throws {@link ResourceNotFoundException} (client fault)
6060
* <p>The resource could not be found.</p>

clients/client-dsql/src/commands/ListClustersCommand.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,8 +66,8 @@ export interface ListClustersCommandOutput extends ListClustersOutput, __Metadat
6666
* <p>You do not have sufficient access to perform this action.</p>
6767
*
6868
* @throws {@link InternalServerException} (server fault)
69-
* <p>The request processing has failed because of an unknown error,
70-
* exception or failure.</p>
69+
* <p>The request processing has failed because of an unknown error, exception or
70+
* failure.</p>
7171
*
7272
* @throws {@link ThrottlingException} (client fault)
7373
* <p>The request was denied due to request throttling.</p>

0 commit comments

Comments
 (0)