Skip to content

Commit 1ef476e

Browse files
author
awstools
committed
feat(client-redshift): Added support for Multi-AZ deployments for Provisioned RA3 clusters that provide 99.99% SLA availability.
1 parent 88213ab commit 1ef476e

37 files changed

+1086
-22
lines changed

clients/client-redshift/README.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -943,6 +943,14 @@ EnableSnapshotCopy
943943

944944
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-redshift/classes/enablesnapshotcopycommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-redshift/interfaces/enablesnapshotcopycommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-redshift/interfaces/enablesnapshotcopycommandoutput.html)
945945

946+
</details>
947+
<details>
948+
<summary>
949+
FailoverPrimaryCompute
950+
</summary>
951+
952+
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-redshift/classes/failoverprimarycomputecommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-redshift/interfaces/failoverprimarycomputecommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-redshift/interfaces/failoverprimarycomputecommandoutput.html)
953+
946954
</details>
947955
<details>
948956
<summary>

clients/client-redshift/src/Redshift.ts

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -440,6 +440,11 @@ import {
440440
EnableSnapshotCopyCommandInput,
441441
EnableSnapshotCopyCommandOutput,
442442
} from "./commands/EnableSnapshotCopyCommand";
443+
import {
444+
FailoverPrimaryComputeCommand,
445+
FailoverPrimaryComputeCommandInput,
446+
FailoverPrimaryComputeCommandOutput,
447+
} from "./commands/FailoverPrimaryComputeCommand";
443448
import {
444449
GetClusterCredentialsCommand,
445450
GetClusterCredentialsCommandInput,
@@ -718,6 +723,7 @@ const commands = {
718723
DisassociateDataShareConsumerCommand,
719724
EnableLoggingCommand,
720725
EnableSnapshotCopyCommand,
726+
FailoverPrimaryComputeCommand,
721727
GetClusterCredentialsCommand,
722728
GetClusterCredentialsWithIAMCommand,
723729
GetReservedNodeExchangeConfigurationOptionsCommand,
@@ -2222,6 +2228,23 @@ export interface Redshift {
22222228
cb: (err: any, data?: EnableSnapshotCopyCommandOutput) => void
22232229
): void;
22242230

2231+
/**
2232+
* @see {@link FailoverPrimaryComputeCommand}
2233+
*/
2234+
failoverPrimaryCompute(
2235+
args: FailoverPrimaryComputeCommandInput,
2236+
options?: __HttpHandlerOptions
2237+
): Promise<FailoverPrimaryComputeCommandOutput>;
2238+
failoverPrimaryCompute(
2239+
args: FailoverPrimaryComputeCommandInput,
2240+
cb: (err: any, data?: FailoverPrimaryComputeCommandOutput) => void
2241+
): void;
2242+
failoverPrimaryCompute(
2243+
args: FailoverPrimaryComputeCommandInput,
2244+
options: __HttpHandlerOptions,
2245+
cb: (err: any, data?: FailoverPrimaryComputeCommandOutput) => void
2246+
): void;
2247+
22252248
/**
22262249
* @see {@link GetClusterCredentialsCommand}
22272250
*/

clients/client-redshift/src/RedshiftClient.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -350,6 +350,10 @@ import {
350350
} from "./commands/DisassociateDataShareConsumerCommand";
351351
import { EnableLoggingCommandInput, EnableLoggingCommandOutput } from "./commands/EnableLoggingCommand";
352352
import { EnableSnapshotCopyCommandInput, EnableSnapshotCopyCommandOutput } from "./commands/EnableSnapshotCopyCommand";
353+
import {
354+
FailoverPrimaryComputeCommandInput,
355+
FailoverPrimaryComputeCommandOutput,
356+
} from "./commands/FailoverPrimaryComputeCommand";
353357
import {
354358
GetClusterCredentialsCommandInput,
355359
GetClusterCredentialsCommandOutput,
@@ -576,6 +580,7 @@ export type ServiceInputTypes =
576580
| DisassociateDataShareConsumerCommandInput
577581
| EnableLoggingCommandInput
578582
| EnableSnapshotCopyCommandInput
583+
| FailoverPrimaryComputeCommandInput
579584
| GetClusterCredentialsCommandInput
580585
| GetClusterCredentialsWithIAMCommandInput
581586
| GetReservedNodeExchangeConfigurationOptionsCommandInput
@@ -708,6 +713,7 @@ export type ServiceOutputTypes =
708713
| DisassociateDataShareConsumerCommandOutput
709714
| EnableLoggingCommandOutput
710715
| EnableSnapshotCopyCommandOutput
716+
| FailoverPrimaryComputeCommandOutput
711717
| GetClusterCredentialsCommandOutput
712718
| GetClusterCredentialsWithIAMCommandOutput
713719
| GetReservedNodeExchangeConfigurationOptionsCommandOutput

clients/client-redshift/src/commands/AddPartnerCommand.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,9 @@ export interface AddPartnerCommandOutput extends PartnerIntegrationOutputMessage
7777
* @throws {@link UnauthorizedPartnerIntegrationFault} (client fault)
7878
* <p>The partner integration is not authorized.</p>
7979
*
80+
* @throws {@link UnsupportedOperationFault} (client fault)
81+
* <p>The requested operation isn't supported.</p>
82+
*
8083
* @throws {@link RedshiftServiceException}
8184
* <p>Base exception class for all service exceptions from Redshift service.</p>
8285
*

clients/client-redshift/src/commands/CopyClusterSnapshotCommand.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,10 @@ export interface CopyClusterSnapshotCommandOutput extends CopyClusterSnapshotRes
124124
* @see {@link CopyClusterSnapshotCommandOutput} for command's `response` shape.
125125
* @see {@link RedshiftClientResolvedConfig | config} for RedshiftClient's `config` shape.
126126
*
127+
* @throws {@link ClusterNotFoundFault} (client fault)
128+
* <p>The <code>ClusterIdentifier</code> parameter does not refer to an existing cluster.
129+
* </p>
130+
*
127131
* @throws {@link ClusterSnapshotAlreadyExistsFault} (client fault)
128132
* <p>The value specified as a snapshot identifier is already used by an existing
129133
* snapshot.</p>

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

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,7 @@ export interface CreateClusterCommandOutput extends CreateClusterResult, __Metad
104104
* ManageMasterPassword: true || false,
105105
* MasterPasswordSecretKmsKeyId: "STRING_VALUE",
106106
* IpAddressType: "STRING_VALUE",
107+
* MultiAZ: true || false,
107108
* };
108109
* const command = new CreateClusterCommand(input);
109110
* const response = await client.send(command);
@@ -285,6 +286,17 @@ export interface CreateClusterCommandOutput extends CreateClusterResult, __Metad
285286
* // MasterPasswordSecretArn: "STRING_VALUE",
286287
* // MasterPasswordSecretKmsKeyId: "STRING_VALUE",
287288
* // IpAddressType: "STRING_VALUE",
289+
* // MultiAZ: "STRING_VALUE",
290+
* // MultiAZSecondary: { // SecondaryClusterInfo
291+
* // AvailabilityZone: "STRING_VALUE",
292+
* // ClusterNodes: [
293+
* // {
294+
* // NodeRole: "STRING_VALUE",
295+
* // PrivateIPAddress: "STRING_VALUE",
296+
* // PublicIPAddress: "STRING_VALUE",
297+
* // },
298+
* // ],
299+
* // },
288300
* // },
289301
* // };
290302
*
@@ -381,6 +393,9 @@ export interface CreateClusterCommandOutput extends CreateClusterResult, __Metad
381393
* @throws {@link UnauthorizedOperation} (client fault)
382394
* <p>Your account is not authorized to perform the requested operation.</p>
383395
*
396+
* @throws {@link UnsupportedOperationFault} (client fault)
397+
* <p>The requested operation isn't supported.</p>
398+
*
384399
* @throws {@link RedshiftServiceException}
385400
* <p>Base exception class for all service exceptions from Redshift service.</p>
386401
*

clients/client-redshift/src/commands/CreateScheduledActionCommand.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,10 @@ export interface CreateScheduledActionCommandOutput extends ScheduledAction, __M
112112
* @see {@link CreateScheduledActionCommandOutput} for command's `response` shape.
113113
* @see {@link RedshiftClientResolvedConfig | config} for RedshiftClient's `config` shape.
114114
*
115+
* @throws {@link ClusterNotFoundFault} (client fault)
116+
* <p>The <code>ClusterIdentifier</code> parameter does not refer to an existing cluster.
117+
* </p>
118+
*
115119
* @throws {@link InvalidScheduledActionFault} (client fault)
116120
* <p>The scheduled action is not valid. </p>
117121
*
@@ -130,6 +134,9 @@ export interface CreateScheduledActionCommandOutput extends ScheduledAction, __M
130134
* @throws {@link UnauthorizedOperation} (client fault)
131135
* <p>Your account is not authorized to perform the requested operation.</p>
132136
*
137+
* @throws {@link UnsupportedOperationFault} (client fault)
138+
* <p>The requested operation isn't supported.</p>
139+
*
133140
* @throws {@link RedshiftServiceException}
134141
* <p>Base exception class for all service exceptions from Redshift service.</p>
135142
*

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

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -245,6 +245,17 @@ export interface DeleteClusterCommandOutput extends DeleteClusterResult, __Metad
245245
* // MasterPasswordSecretArn: "STRING_VALUE",
246246
* // MasterPasswordSecretKmsKeyId: "STRING_VALUE",
247247
* // IpAddressType: "STRING_VALUE",
248+
* // MultiAZ: "STRING_VALUE",
249+
* // MultiAZSecondary: { // SecondaryClusterInfo
250+
* // AvailabilityZone: "STRING_VALUE",
251+
* // ClusterNodes: [
252+
* // {
253+
* // NodeRole: "STRING_VALUE",
254+
* // PrivateIPAddress: "STRING_VALUE",
255+
* // PublicIPAddress: "STRING_VALUE",
256+
* // },
257+
* // ],
258+
* // },
248259
* // },
249260
* // };
250261
*

clients/client-redshift/src/commands/DeletePartnerCommand.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,9 @@ export interface DeletePartnerCommandOutput extends PartnerIntegrationOutputMess
7575
* @throws {@link UnauthorizedPartnerIntegrationFault} (client fault)
7676
* <p>The partner integration is not authorized.</p>
7777
*
78+
* @throws {@link UnsupportedOperationFault} (client fault)
79+
* <p>The requested operation isn't supported.</p>
80+
*
7881
* @throws {@link RedshiftServiceException}
7982
* <p>Base exception class for all service exceptions from Redshift service.</p>
8083
*

clients/client-redshift/src/commands/DescribeClustersCommand.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -249,6 +249,17 @@ export interface DescribeClustersCommandOutput extends ClustersMessage, __Metada
249249
* // MasterPasswordSecretArn: "STRING_VALUE",
250250
* // MasterPasswordSecretKmsKeyId: "STRING_VALUE",
251251
* // IpAddressType: "STRING_VALUE",
252+
* // MultiAZ: "STRING_VALUE",
253+
* // MultiAZSecondary: { // SecondaryClusterInfo
254+
* // AvailabilityZone: "STRING_VALUE",
255+
* // ClusterNodes: [
256+
* // {
257+
* // NodeRole: "STRING_VALUE",
258+
* // PrivateIPAddress: "STRING_VALUE",
259+
* // PublicIPAddress: "STRING_VALUE",
260+
* // },
261+
* // ],
262+
* // },
252263
* // },
253264
* // ],
254265
* // };

clients/client-redshift/src/commands/DescribeEndpointAuthorizationCommand.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@ import {
1414
SMITHY_CONTEXT_KEY,
1515
} from "@smithy/types";
1616

17-
import { DescribeEndpointAuthorizationMessage, EndpointAuthorizationList } from "../models/models_0";
17+
import { DescribeEndpointAuthorizationMessage } from "../models/models_0";
18+
import { EndpointAuthorizationList } from "../models/models_1";
1819
import {
1920
de_DescribeEndpointAuthorizationCommand,
2021
se_DescribeEndpointAuthorizationCommand,

clients/client-redshift/src/commands/DescribeLoggingStatusCommand.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,9 @@ export interface DescribeLoggingStatusCommandOutput extends LoggingStatus, __Met
7575
* <p>The <code>ClusterIdentifier</code> parameter does not refer to an existing cluster.
7676
* </p>
7777
*
78+
* @throws {@link UnsupportedOperationFault} (client fault)
79+
* <p>The requested operation isn't supported.</p>
80+
*
7881
* @throws {@link RedshiftServiceException}
7982
* <p>Base exception class for all service exceptions from Redshift service.</p>
8083
*

clients/client-redshift/src/commands/DescribePartnersCommand.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,9 @@ export interface DescribePartnersCommandOutput extends DescribePartnersOutputMes
8080
* @throws {@link UnauthorizedPartnerIntegrationFault} (client fault)
8181
* <p>The partner integration is not authorized.</p>
8282
*
83+
* @throws {@link UnsupportedOperationFault} (client fault)
84+
* <p>The requested operation isn't supported.</p>
85+
*
8386
* @throws {@link RedshiftServiceException}
8487
* <p>Base exception class for all service exceptions from Redshift service.</p>
8588
*

clients/client-redshift/src/commands/DescribeResizeCommand.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,9 @@ export interface DescribeResizeCommandOutput extends ResizeProgressMessage, __Me
9595
* @throws {@link ResizeNotFoundFault} (client fault)
9696
* <p>A resize operation for the specified cluster is not found.</p>
9797
*
98+
* @throws {@link UnsupportedOperationFault} (client fault)
99+
* <p>The requested operation isn't supported.</p>
100+
*
98101
* @throws {@link RedshiftServiceException}
99102
* <p>Base exception class for all service exceptions from Redshift service.</p>
100103
*

clients/client-redshift/src/commands/DisableLoggingCommand.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,9 @@ export interface DisableLoggingCommandOutput extends LoggingStatus, __MetadataBe
7878
* @throws {@link InvalidClusterStateFault} (client fault)
7979
* <p>The specified cluster is not in the <code>available</code> state. </p>
8080
*
81+
* @throws {@link UnsupportedOperationFault} (client fault)
82+
* <p>The requested operation isn't supported.</p>
83+
*
8184
* @throws {@link RedshiftServiceException}
8285
* <p>Base exception class for all service exceptions from Redshift service.</p>
8386
*

clients/client-redshift/src/commands/DisableSnapshotCopyCommand.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -235,6 +235,17 @@ export interface DisableSnapshotCopyCommandOutput extends DisableSnapshotCopyRes
235235
* // MasterPasswordSecretArn: "STRING_VALUE",
236236
* // MasterPasswordSecretKmsKeyId: "STRING_VALUE",
237237
* // IpAddressType: "STRING_VALUE",
238+
* // MultiAZ: "STRING_VALUE",
239+
* // MultiAZSecondary: { // SecondaryClusterInfo
240+
* // AvailabilityZone: "STRING_VALUE",
241+
* // ClusterNodes: [
242+
* // {
243+
* // NodeRole: "STRING_VALUE",
244+
* // PrivateIPAddress: "STRING_VALUE",
245+
* // PublicIPAddress: "STRING_VALUE",
246+
* // },
247+
* // ],
248+
* // },
238249
* // },
239250
* // };
240251
*
@@ -259,6 +270,9 @@ export interface DisableSnapshotCopyCommandOutput extends DisableSnapshotCopyRes
259270
* @throws {@link UnauthorizedOperation} (client fault)
260271
* <p>Your account is not authorized to perform the requested operation.</p>
261272
*
273+
* @throws {@link UnsupportedOperationFault} (client fault)
274+
* <p>The requested operation isn't supported.</p>
275+
*
262276
* @throws {@link RedshiftServiceException}
263277
* <p>Base exception class for all service exceptions from Redshift service.</p>
264278
*

clients/client-redshift/src/commands/EnableLoggingCommand.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,9 @@ export interface EnableLoggingCommandOutput extends LoggingStatus, __MetadataBea
101101
* <p>The string specified for the logging S3 key prefix does not comply with the
102102
* documented constraints.</p>
103103
*
104+
* @throws {@link UnsupportedOperationFault} (client fault)
105+
* <p>The requested operation isn't supported.</p>
106+
*
104107
* @throws {@link RedshiftServiceException}
105108
* <p>Base exception class for all service exceptions from Redshift service.</p>
106109
*

clients/client-redshift/src/commands/EnableSnapshotCopyCommand.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -236,6 +236,17 @@ export interface EnableSnapshotCopyCommandOutput extends EnableSnapshotCopyResul
236236
* // MasterPasswordSecretArn: "STRING_VALUE",
237237
* // MasterPasswordSecretKmsKeyId: "STRING_VALUE",
238238
* // IpAddressType: "STRING_VALUE",
239+
* // MultiAZ: "STRING_VALUE",
240+
* // MultiAZSecondary: { // SecondaryClusterInfo
241+
* // AvailabilityZone: "STRING_VALUE",
242+
* // ClusterNodes: [
243+
* // {
244+
* // NodeRole: "STRING_VALUE",
245+
* // PrivateIPAddress: "STRING_VALUE",
246+
* // PublicIPAddress: "STRING_VALUE",
247+
* // },
248+
* // ],
249+
* // },
239250
* // },
240251
* // };
241252
*

0 commit comments

Comments
 (0)