From e8c53cd60a4fa3d161d18898921a9cd0f4387a19 Mon Sep 17 00:00:00 2001
From: awstools
Date: Thu, 30 Nov 2023 01:18:28 +0000
Subject: [PATCH] feat(client-redshift-serverless): This release adds the
following support for Amazon Redshift Serverless: 1) cross-account
cross-VPCs, 2) copying snapshots across Regions, 3) scheduling snapshot
creation, and 4) restoring tables from a recovery point.
---
clients/client-redshift-serverless/README.md | 80 ++
.../src/RedshiftServerless.ts | 230 +++
.../src/RedshiftServerlessClient.ts | 57 +
.../commands/CreateEndpointAccessCommand.ts | 1 +
.../commands/CreateScheduledActionCommand.ts | 208 +++
.../CreateSnapshotCopyConfigurationCommand.ts | 182 +++
.../src/commands/CreateWorkgroupCommand.ts | 3 +
.../commands/DeleteScheduledActionCommand.ts | 181 +++
.../DeleteSnapshotCopyConfigurationCommand.ts | 176 +++
.../src/commands/DeleteWorkgroupCommand.ts | 3 +
.../src/commands/GetScheduledActionCommand.ts | 181 +++
.../commands/GetTableRestoreStatusCommand.ts | 1 +
.../src/commands/GetWorkgroupCommand.ts | 3 +
.../src/commands/ListEndpointAccessCommand.ts | 1 +
.../commands/ListScheduledActionsCommand.ts | 160 +++
.../ListSnapshotCopyConfigurationsCommand.ts | 181 +++
.../commands/ListTableRestoreStatusCommand.ts | 1 +
.../src/commands/ListWorkgroupsCommand.ts | 4 +
.../RestoreTableFromRecoveryPointCommand.ts | 189 +++
.../RestoreTableFromSnapshotCommand.ts | 1 +
.../commands/UpdateScheduledActionCommand.ts | 206 +++
.../UpdateSnapshotCopyConfigurationCommand.ts | 177 +++
.../src/commands/UpdateWorkgroupCommand.ts | 3 +
.../src/commands/index.ts | 10 +
.../src/models/models_0.ts | 786 ++++++++++-
.../ListScheduledActionsPaginator.ts | 50 +
...ListSnapshotCopyConfigurationsPaginator.ts | 50 +
.../src/pagination/index.ts | 2 +
.../src/protocols/Aws_json1_1.ts | 938 ++++++++++++-
.../aws-models/redshift-serverless.json | 1232 ++++++++++++++++-
30 files changed, 5215 insertions(+), 82 deletions(-)
create mode 100644 clients/client-redshift-serverless/src/commands/CreateScheduledActionCommand.ts
create mode 100644 clients/client-redshift-serverless/src/commands/CreateSnapshotCopyConfigurationCommand.ts
create mode 100644 clients/client-redshift-serverless/src/commands/DeleteScheduledActionCommand.ts
create mode 100644 clients/client-redshift-serverless/src/commands/DeleteSnapshotCopyConfigurationCommand.ts
create mode 100644 clients/client-redshift-serverless/src/commands/GetScheduledActionCommand.ts
create mode 100644 clients/client-redshift-serverless/src/commands/ListScheduledActionsCommand.ts
create mode 100644 clients/client-redshift-serverless/src/commands/ListSnapshotCopyConfigurationsCommand.ts
create mode 100644 clients/client-redshift-serverless/src/commands/RestoreTableFromRecoveryPointCommand.ts
create mode 100644 clients/client-redshift-serverless/src/commands/UpdateScheduledActionCommand.ts
create mode 100644 clients/client-redshift-serverless/src/commands/UpdateSnapshotCopyConfigurationCommand.ts
create mode 100644 clients/client-redshift-serverless/src/pagination/ListScheduledActionsPaginator.ts
create mode 100644 clients/client-redshift-serverless/src/pagination/ListSnapshotCopyConfigurationsPaginator.ts
diff --git a/clients/client-redshift-serverless/README.md b/clients/client-redshift-serverless/README.md
index eba174495f48d..66023a2cc8fd5 100644
--- a/clients/client-redshift-serverless/README.md
+++ b/clients/client-redshift-serverless/README.md
@@ -245,6 +245,14 @@ CreateNamespace
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/redshift-serverless/command/CreateNamespaceCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-redshift-serverless/Interface/CreateNamespaceCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-redshift-serverless/Interface/CreateNamespaceCommandOutput/)
+
+
+
+CreateScheduledAction
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/redshift-serverless/command/CreateScheduledActionCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-redshift-serverless/Interface/CreateScheduledActionCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-redshift-serverless/Interface/CreateScheduledActionCommandOutput/)
+
@@ -253,6 +261,14 @@ CreateSnapshot
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/redshift-serverless/command/CreateSnapshotCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-redshift-serverless/Interface/CreateSnapshotCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-redshift-serverless/Interface/CreateSnapshotCommandOutput/)
+
+
+
+CreateSnapshotCopyConfiguration
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/redshift-serverless/command/CreateSnapshotCopyConfigurationCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-redshift-serverless/Interface/CreateSnapshotCopyConfigurationCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-redshift-serverless/Interface/CreateSnapshotCopyConfigurationCommandOutput/)
+
@@ -301,6 +317,14 @@ DeleteResourcePolicy
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/redshift-serverless/command/DeleteResourcePolicyCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-redshift-serverless/Interface/DeleteResourcePolicyCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-redshift-serverless/Interface/DeleteResourcePolicyCommandOutput/)
+
+
+
+DeleteScheduledAction
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/redshift-serverless/command/DeleteScheduledActionCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-redshift-serverless/Interface/DeleteScheduledActionCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-redshift-serverless/Interface/DeleteScheduledActionCommandOutput/)
+
@@ -309,6 +333,14 @@ DeleteSnapshot
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/redshift-serverless/command/DeleteSnapshotCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-redshift-serverless/Interface/DeleteSnapshotCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-redshift-serverless/Interface/DeleteSnapshotCommandOutput/)
+
+
+
+DeleteSnapshotCopyConfiguration
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/redshift-serverless/command/DeleteSnapshotCopyConfigurationCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-redshift-serverless/Interface/DeleteSnapshotCopyConfigurationCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-redshift-serverless/Interface/DeleteSnapshotCopyConfigurationCommandOutput/)
+
@@ -373,6 +405,14 @@ GetResourcePolicy
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/redshift-serverless/command/GetResourcePolicyCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-redshift-serverless/Interface/GetResourcePolicyCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-redshift-serverless/Interface/GetResourcePolicyCommandOutput/)
+
+
+
+GetScheduledAction
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/redshift-serverless/command/GetScheduledActionCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-redshift-serverless/Interface/GetScheduledActionCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-redshift-serverless/Interface/GetScheduledActionCommandOutput/)
+
@@ -437,6 +477,22 @@ ListRecoveryPoints
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/redshift-serverless/command/ListRecoveryPointsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-redshift-serverless/Interface/ListRecoveryPointsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-redshift-serverless/Interface/ListRecoveryPointsCommandOutput/)
+
+
+
+ListScheduledActions
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/redshift-serverless/command/ListScheduledActionsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-redshift-serverless/Interface/ListScheduledActionsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-redshift-serverless/Interface/ListScheduledActionsCommandOutput/)
+
+
+
+
+ListSnapshotCopyConfigurations
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/redshift-serverless/command/ListSnapshotCopyConfigurationsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-redshift-serverless/Interface/ListSnapshotCopyConfigurationsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-redshift-serverless/Interface/ListSnapshotCopyConfigurationsCommandOutput/)
+
@@ -501,6 +557,14 @@ RestoreFromSnapshot
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/redshift-serverless/command/RestoreFromSnapshotCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-redshift-serverless/Interface/RestoreFromSnapshotCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-redshift-serverless/Interface/RestoreFromSnapshotCommandOutput/)
+
+
+
+RestoreTableFromRecoveryPoint
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/redshift-serverless/command/RestoreTableFromRecoveryPointCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-redshift-serverless/Interface/RestoreTableFromRecoveryPointCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-redshift-serverless/Interface/RestoreTableFromRecoveryPointCommandOutput/)
+
@@ -549,6 +613,14 @@ UpdateNamespace
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/redshift-serverless/command/UpdateNamespaceCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-redshift-serverless/Interface/UpdateNamespaceCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-redshift-serverless/Interface/UpdateNamespaceCommandOutput/)
+
+
+
+UpdateScheduledAction
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/redshift-serverless/command/UpdateScheduledActionCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-redshift-serverless/Interface/UpdateScheduledActionCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-redshift-serverless/Interface/UpdateScheduledActionCommandOutput/)
+
@@ -557,6 +629,14 @@ UpdateSnapshot
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/redshift-serverless/command/UpdateSnapshotCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-redshift-serverless/Interface/UpdateSnapshotCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-redshift-serverless/Interface/UpdateSnapshotCommandOutput/)
+
+
+
+UpdateSnapshotCopyConfiguration
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/redshift-serverless/command/UpdateSnapshotCopyConfigurationCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-redshift-serverless/Interface/UpdateSnapshotCopyConfigurationCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-redshift-serverless/Interface/UpdateSnapshotCopyConfigurationCommandOutput/)
+
diff --git a/clients/client-redshift-serverless/src/RedshiftServerless.ts b/clients/client-redshift-serverless/src/RedshiftServerless.ts
index 8e7e148a442ff..ec48a71817dbd 100644
--- a/clients/client-redshift-serverless/src/RedshiftServerless.ts
+++ b/clients/client-redshift-serverless/src/RedshiftServerless.ts
@@ -22,11 +22,21 @@ import {
CreateNamespaceCommandInput,
CreateNamespaceCommandOutput,
} from "./commands/CreateNamespaceCommand";
+import {
+ CreateScheduledActionCommand,
+ CreateScheduledActionCommandInput,
+ CreateScheduledActionCommandOutput,
+} from "./commands/CreateScheduledActionCommand";
import {
CreateSnapshotCommand,
CreateSnapshotCommandInput,
CreateSnapshotCommandOutput,
} from "./commands/CreateSnapshotCommand";
+import {
+ CreateSnapshotCopyConfigurationCommand,
+ CreateSnapshotCopyConfigurationCommandInput,
+ CreateSnapshotCopyConfigurationCommandOutput,
+} from "./commands/CreateSnapshotCopyConfigurationCommand";
import {
CreateUsageLimitCommand,
CreateUsageLimitCommandInput,
@@ -57,11 +67,21 @@ import {
DeleteResourcePolicyCommandInput,
DeleteResourcePolicyCommandOutput,
} from "./commands/DeleteResourcePolicyCommand";
+import {
+ DeleteScheduledActionCommand,
+ DeleteScheduledActionCommandInput,
+ DeleteScheduledActionCommandOutput,
+} from "./commands/DeleteScheduledActionCommand";
import {
DeleteSnapshotCommand,
DeleteSnapshotCommandInput,
DeleteSnapshotCommandOutput,
} from "./commands/DeleteSnapshotCommand";
+import {
+ DeleteSnapshotCopyConfigurationCommand,
+ DeleteSnapshotCopyConfigurationCommandInput,
+ DeleteSnapshotCopyConfigurationCommandOutput,
+} from "./commands/DeleteSnapshotCopyConfigurationCommand";
import {
DeleteUsageLimitCommand,
DeleteUsageLimitCommandInput,
@@ -102,6 +122,11 @@ import {
GetResourcePolicyCommandInput,
GetResourcePolicyCommandOutput,
} from "./commands/GetResourcePolicyCommand";
+import {
+ GetScheduledActionCommand,
+ GetScheduledActionCommandInput,
+ GetScheduledActionCommandOutput,
+} from "./commands/GetScheduledActionCommand";
import { GetSnapshotCommand, GetSnapshotCommandInput, GetSnapshotCommandOutput } from "./commands/GetSnapshotCommand";
import {
GetTableRestoreStatusCommand,
@@ -138,6 +163,16 @@ import {
ListRecoveryPointsCommandInput,
ListRecoveryPointsCommandOutput,
} from "./commands/ListRecoveryPointsCommand";
+import {
+ ListScheduledActionsCommand,
+ ListScheduledActionsCommandInput,
+ ListScheduledActionsCommandOutput,
+} from "./commands/ListScheduledActionsCommand";
+import {
+ ListSnapshotCopyConfigurationsCommand,
+ ListSnapshotCopyConfigurationsCommandInput,
+ ListSnapshotCopyConfigurationsCommandOutput,
+} from "./commands/ListSnapshotCopyConfigurationsCommand";
import {
ListSnapshotsCommand,
ListSnapshotsCommandInput,
@@ -178,6 +213,11 @@ import {
RestoreFromSnapshotCommandInput,
RestoreFromSnapshotCommandOutput,
} from "./commands/RestoreFromSnapshotCommand";
+import {
+ RestoreTableFromRecoveryPointCommand,
+ RestoreTableFromRecoveryPointCommandInput,
+ RestoreTableFromRecoveryPointCommandOutput,
+} from "./commands/RestoreTableFromRecoveryPointCommand";
import {
RestoreTableFromSnapshotCommand,
RestoreTableFromSnapshotCommandInput,
@@ -204,11 +244,21 @@ import {
UpdateNamespaceCommandInput,
UpdateNamespaceCommandOutput,
} from "./commands/UpdateNamespaceCommand";
+import {
+ UpdateScheduledActionCommand,
+ UpdateScheduledActionCommandInput,
+ UpdateScheduledActionCommandOutput,
+} from "./commands/UpdateScheduledActionCommand";
import {
UpdateSnapshotCommand,
UpdateSnapshotCommandInput,
UpdateSnapshotCommandOutput,
} from "./commands/UpdateSnapshotCommand";
+import {
+ UpdateSnapshotCopyConfigurationCommand,
+ UpdateSnapshotCopyConfigurationCommandInput,
+ UpdateSnapshotCopyConfigurationCommandOutput,
+} from "./commands/UpdateSnapshotCopyConfigurationCommand";
import {
UpdateUsageLimitCommand,
UpdateUsageLimitCommandInput,
@@ -226,14 +276,18 @@ const commands = {
CreateCustomDomainAssociationCommand,
CreateEndpointAccessCommand,
CreateNamespaceCommand,
+ CreateScheduledActionCommand,
CreateSnapshotCommand,
+ CreateSnapshotCopyConfigurationCommand,
CreateUsageLimitCommand,
CreateWorkgroupCommand,
DeleteCustomDomainAssociationCommand,
DeleteEndpointAccessCommand,
DeleteNamespaceCommand,
DeleteResourcePolicyCommand,
+ DeleteScheduledActionCommand,
DeleteSnapshotCommand,
+ DeleteSnapshotCopyConfigurationCommand,
DeleteUsageLimitCommand,
DeleteWorkgroupCommand,
GetCredentialsCommand,
@@ -242,6 +296,7 @@ const commands = {
GetNamespaceCommand,
GetRecoveryPointCommand,
GetResourcePolicyCommand,
+ GetScheduledActionCommand,
GetSnapshotCommand,
GetTableRestoreStatusCommand,
GetUsageLimitCommand,
@@ -250,6 +305,8 @@ const commands = {
ListEndpointAccessCommand,
ListNamespacesCommand,
ListRecoveryPointsCommand,
+ ListScheduledActionsCommand,
+ ListSnapshotCopyConfigurationsCommand,
ListSnapshotsCommand,
ListTableRestoreStatusCommand,
ListTagsForResourceCommand,
@@ -258,13 +315,16 @@ const commands = {
PutResourcePolicyCommand,
RestoreFromRecoveryPointCommand,
RestoreFromSnapshotCommand,
+ RestoreTableFromRecoveryPointCommand,
RestoreTableFromSnapshotCommand,
TagResourceCommand,
UntagResourceCommand,
UpdateCustomDomainAssociationCommand,
UpdateEndpointAccessCommand,
UpdateNamespaceCommand,
+ UpdateScheduledActionCommand,
UpdateSnapshotCommand,
+ UpdateSnapshotCopyConfigurationCommand,
UpdateUsageLimitCommand,
UpdateWorkgroupCommand,
};
@@ -335,6 +395,23 @@ export interface RedshiftServerless {
cb: (err: any, data?: CreateNamespaceCommandOutput) => void
): void;
+ /**
+ * @see {@link CreateScheduledActionCommand}
+ */
+ createScheduledAction(
+ args: CreateScheduledActionCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ createScheduledAction(
+ args: CreateScheduledActionCommandInput,
+ cb: (err: any, data?: CreateScheduledActionCommandOutput) => void
+ ): void;
+ createScheduledAction(
+ args: CreateScheduledActionCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: CreateScheduledActionCommandOutput) => void
+ ): void;
+
/**
* @see {@link CreateSnapshotCommand}
*/
@@ -349,6 +426,23 @@ export interface RedshiftServerless {
cb: (err: any, data?: CreateSnapshotCommandOutput) => void
): void;
+ /**
+ * @see {@link CreateSnapshotCopyConfigurationCommand}
+ */
+ createSnapshotCopyConfiguration(
+ args: CreateSnapshotCopyConfigurationCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ createSnapshotCopyConfiguration(
+ args: CreateSnapshotCopyConfigurationCommandInput,
+ cb: (err: any, data?: CreateSnapshotCopyConfigurationCommandOutput) => void
+ ): void;
+ createSnapshotCopyConfiguration(
+ args: CreateSnapshotCopyConfigurationCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: CreateSnapshotCopyConfigurationCommandOutput) => void
+ ): void;
+
/**
* @see {@link CreateUsageLimitCommand}
*/
@@ -445,6 +539,23 @@ export interface RedshiftServerless {
cb: (err: any, data?: DeleteResourcePolicyCommandOutput) => void
): void;
+ /**
+ * @see {@link DeleteScheduledActionCommand}
+ */
+ deleteScheduledAction(
+ args: DeleteScheduledActionCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ deleteScheduledAction(
+ args: DeleteScheduledActionCommandInput,
+ cb: (err: any, data?: DeleteScheduledActionCommandOutput) => void
+ ): void;
+ deleteScheduledAction(
+ args: DeleteScheduledActionCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: DeleteScheduledActionCommandOutput) => void
+ ): void;
+
/**
* @see {@link DeleteSnapshotCommand}
*/
@@ -459,6 +570,23 @@ export interface RedshiftServerless {
cb: (err: any, data?: DeleteSnapshotCommandOutput) => void
): void;
+ /**
+ * @see {@link DeleteSnapshotCopyConfigurationCommand}
+ */
+ deleteSnapshotCopyConfiguration(
+ args: DeleteSnapshotCopyConfigurationCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ deleteSnapshotCopyConfiguration(
+ args: DeleteSnapshotCopyConfigurationCommandInput,
+ cb: (err: any, data?: DeleteSnapshotCopyConfigurationCommandOutput) => void
+ ): void;
+ deleteSnapshotCopyConfiguration(
+ args: DeleteSnapshotCopyConfigurationCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: DeleteSnapshotCopyConfigurationCommandOutput) => void
+ ): void;
+
/**
* @see {@link DeleteUsageLimitCommand}
*/
@@ -583,6 +711,23 @@ export interface RedshiftServerless {
cb: (err: any, data?: GetResourcePolicyCommandOutput) => void
): void;
+ /**
+ * @see {@link GetScheduledActionCommand}
+ */
+ getScheduledAction(
+ args: GetScheduledActionCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ getScheduledAction(
+ args: GetScheduledActionCommandInput,
+ cb: (err: any, data?: GetScheduledActionCommandOutput) => void
+ ): void;
+ getScheduledAction(
+ args: GetScheduledActionCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: GetScheduledActionCommandOutput) => void
+ ): void;
+
/**
* @see {@link GetSnapshotCommand}
*/
@@ -698,6 +843,40 @@ export interface RedshiftServerless {
cb: (err: any, data?: ListRecoveryPointsCommandOutput) => void
): void;
+ /**
+ * @see {@link ListScheduledActionsCommand}
+ */
+ listScheduledActions(
+ args: ListScheduledActionsCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ listScheduledActions(
+ args: ListScheduledActionsCommandInput,
+ cb: (err: any, data?: ListScheduledActionsCommandOutput) => void
+ ): void;
+ listScheduledActions(
+ args: ListScheduledActionsCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: ListScheduledActionsCommandOutput) => void
+ ): void;
+
+ /**
+ * @see {@link ListSnapshotCopyConfigurationsCommand}
+ */
+ listSnapshotCopyConfigurations(
+ args: ListSnapshotCopyConfigurationsCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ listSnapshotCopyConfigurations(
+ args: ListSnapshotCopyConfigurationsCommandInput,
+ cb: (err: any, data?: ListSnapshotCopyConfigurationsCommandOutput) => void
+ ): void;
+ listSnapshotCopyConfigurations(
+ args: ListSnapshotCopyConfigurationsCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: ListSnapshotCopyConfigurationsCommandOutput) => void
+ ): void;
+
/**
* @see {@link ListSnapshotsCommand}
*/
@@ -822,6 +1001,23 @@ export interface RedshiftServerless {
cb: (err: any, data?: RestoreFromSnapshotCommandOutput) => void
): void;
+ /**
+ * @see {@link RestoreTableFromRecoveryPointCommand}
+ */
+ restoreTableFromRecoveryPoint(
+ args: RestoreTableFromRecoveryPointCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ restoreTableFromRecoveryPoint(
+ args: RestoreTableFromRecoveryPointCommandInput,
+ cb: (err: any, data?: RestoreTableFromRecoveryPointCommandOutput) => void
+ ): void;
+ restoreTableFromRecoveryPoint(
+ args: RestoreTableFromRecoveryPointCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: RestoreTableFromRecoveryPointCommandOutput) => void
+ ): void;
+
/**
* @see {@link RestoreTableFromSnapshotCommand}
*/
@@ -909,6 +1105,23 @@ export interface RedshiftServerless {
cb: (err: any, data?: UpdateNamespaceCommandOutput) => void
): void;
+ /**
+ * @see {@link UpdateScheduledActionCommand}
+ */
+ updateScheduledAction(
+ args: UpdateScheduledActionCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ updateScheduledAction(
+ args: UpdateScheduledActionCommandInput,
+ cb: (err: any, data?: UpdateScheduledActionCommandOutput) => void
+ ): void;
+ updateScheduledAction(
+ args: UpdateScheduledActionCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: UpdateScheduledActionCommandOutput) => void
+ ): void;
+
/**
* @see {@link UpdateSnapshotCommand}
*/
@@ -923,6 +1136,23 @@ export interface RedshiftServerless {
cb: (err: any, data?: UpdateSnapshotCommandOutput) => void
): void;
+ /**
+ * @see {@link UpdateSnapshotCopyConfigurationCommand}
+ */
+ updateSnapshotCopyConfiguration(
+ args: UpdateSnapshotCopyConfigurationCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ updateSnapshotCopyConfiguration(
+ args: UpdateSnapshotCopyConfigurationCommandInput,
+ cb: (err: any, data?: UpdateSnapshotCopyConfigurationCommandOutput) => void
+ ): void;
+ updateSnapshotCopyConfiguration(
+ args: UpdateSnapshotCopyConfigurationCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: UpdateSnapshotCopyConfigurationCommandOutput) => void
+ ): void;
+
/**
* @see {@link UpdateUsageLimitCommand}
*/
diff --git a/clients/client-redshift-serverless/src/RedshiftServerlessClient.ts b/clients/client-redshift-serverless/src/RedshiftServerlessClient.ts
index c84fabd898801..01c817c62829f 100644
--- a/clients/client-redshift-serverless/src/RedshiftServerlessClient.ts
+++ b/clients/client-redshift-serverless/src/RedshiftServerlessClient.ts
@@ -63,7 +63,15 @@ import {
CreateEndpointAccessCommandOutput,
} from "./commands/CreateEndpointAccessCommand";
import { CreateNamespaceCommandInput, CreateNamespaceCommandOutput } from "./commands/CreateNamespaceCommand";
+import {
+ CreateScheduledActionCommandInput,
+ CreateScheduledActionCommandOutput,
+} from "./commands/CreateScheduledActionCommand";
import { CreateSnapshotCommandInput, CreateSnapshotCommandOutput } from "./commands/CreateSnapshotCommand";
+import {
+ CreateSnapshotCopyConfigurationCommandInput,
+ CreateSnapshotCopyConfigurationCommandOutput,
+} from "./commands/CreateSnapshotCopyConfigurationCommand";
import { CreateUsageLimitCommandInput, CreateUsageLimitCommandOutput } from "./commands/CreateUsageLimitCommand";
import { CreateWorkgroupCommandInput, CreateWorkgroupCommandOutput } from "./commands/CreateWorkgroupCommand";
import {
@@ -79,7 +87,15 @@ import {
DeleteResourcePolicyCommandInput,
DeleteResourcePolicyCommandOutput,
} from "./commands/DeleteResourcePolicyCommand";
+import {
+ DeleteScheduledActionCommandInput,
+ DeleteScheduledActionCommandOutput,
+} from "./commands/DeleteScheduledActionCommand";
import { DeleteSnapshotCommandInput, DeleteSnapshotCommandOutput } from "./commands/DeleteSnapshotCommand";
+import {
+ DeleteSnapshotCopyConfigurationCommandInput,
+ DeleteSnapshotCopyConfigurationCommandOutput,
+} from "./commands/DeleteSnapshotCopyConfigurationCommand";
import { DeleteUsageLimitCommandInput, DeleteUsageLimitCommandOutput } from "./commands/DeleteUsageLimitCommand";
import { DeleteWorkgroupCommandInput, DeleteWorkgroupCommandOutput } from "./commands/DeleteWorkgroupCommand";
import { GetCredentialsCommandInput, GetCredentialsCommandOutput } from "./commands/GetCredentialsCommand";
@@ -91,6 +107,7 @@ import { GetEndpointAccessCommandInput, GetEndpointAccessCommandOutput } from ".
import { GetNamespaceCommandInput, GetNamespaceCommandOutput } from "./commands/GetNamespaceCommand";
import { GetRecoveryPointCommandInput, GetRecoveryPointCommandOutput } from "./commands/GetRecoveryPointCommand";
import { GetResourcePolicyCommandInput, GetResourcePolicyCommandOutput } from "./commands/GetResourcePolicyCommand";
+import { GetScheduledActionCommandInput, GetScheduledActionCommandOutput } from "./commands/GetScheduledActionCommand";
import { GetSnapshotCommandInput, GetSnapshotCommandOutput } from "./commands/GetSnapshotCommand";
import {
GetTableRestoreStatusCommandInput,
@@ -105,6 +122,14 @@ import {
import { ListEndpointAccessCommandInput, ListEndpointAccessCommandOutput } from "./commands/ListEndpointAccessCommand";
import { ListNamespacesCommandInput, ListNamespacesCommandOutput } from "./commands/ListNamespacesCommand";
import { ListRecoveryPointsCommandInput, ListRecoveryPointsCommandOutput } from "./commands/ListRecoveryPointsCommand";
+import {
+ ListScheduledActionsCommandInput,
+ ListScheduledActionsCommandOutput,
+} from "./commands/ListScheduledActionsCommand";
+import {
+ ListSnapshotCopyConfigurationsCommandInput,
+ ListSnapshotCopyConfigurationsCommandOutput,
+} from "./commands/ListSnapshotCopyConfigurationsCommand";
import { ListSnapshotsCommandInput, ListSnapshotsCommandOutput } from "./commands/ListSnapshotsCommand";
import {
ListTableRestoreStatusCommandInput,
@@ -125,6 +150,10 @@ import {
RestoreFromSnapshotCommandInput,
RestoreFromSnapshotCommandOutput,
} from "./commands/RestoreFromSnapshotCommand";
+import {
+ RestoreTableFromRecoveryPointCommandInput,
+ RestoreTableFromRecoveryPointCommandOutput,
+} from "./commands/RestoreTableFromRecoveryPointCommand";
import {
RestoreTableFromSnapshotCommandInput,
RestoreTableFromSnapshotCommandOutput,
@@ -140,7 +169,15 @@ import {
UpdateEndpointAccessCommandOutput,
} from "./commands/UpdateEndpointAccessCommand";
import { UpdateNamespaceCommandInput, UpdateNamespaceCommandOutput } from "./commands/UpdateNamespaceCommand";
+import {
+ UpdateScheduledActionCommandInput,
+ UpdateScheduledActionCommandOutput,
+} from "./commands/UpdateScheduledActionCommand";
import { UpdateSnapshotCommandInput, UpdateSnapshotCommandOutput } from "./commands/UpdateSnapshotCommand";
+import {
+ UpdateSnapshotCopyConfigurationCommandInput,
+ UpdateSnapshotCopyConfigurationCommandOutput,
+} from "./commands/UpdateSnapshotCopyConfigurationCommand";
import { UpdateUsageLimitCommandInput, UpdateUsageLimitCommandOutput } from "./commands/UpdateUsageLimitCommand";
import { UpdateWorkgroupCommandInput, UpdateWorkgroupCommandOutput } from "./commands/UpdateWorkgroupCommand";
import {
@@ -162,14 +199,18 @@ export type ServiceInputTypes =
| CreateCustomDomainAssociationCommandInput
| CreateEndpointAccessCommandInput
| CreateNamespaceCommandInput
+ | CreateScheduledActionCommandInput
| CreateSnapshotCommandInput
+ | CreateSnapshotCopyConfigurationCommandInput
| CreateUsageLimitCommandInput
| CreateWorkgroupCommandInput
| DeleteCustomDomainAssociationCommandInput
| DeleteEndpointAccessCommandInput
| DeleteNamespaceCommandInput
| DeleteResourcePolicyCommandInput
+ | DeleteScheduledActionCommandInput
| DeleteSnapshotCommandInput
+ | DeleteSnapshotCopyConfigurationCommandInput
| DeleteUsageLimitCommandInput
| DeleteWorkgroupCommandInput
| GetCredentialsCommandInput
@@ -178,6 +219,7 @@ export type ServiceInputTypes =
| GetNamespaceCommandInput
| GetRecoveryPointCommandInput
| GetResourcePolicyCommandInput
+ | GetScheduledActionCommandInput
| GetSnapshotCommandInput
| GetTableRestoreStatusCommandInput
| GetUsageLimitCommandInput
@@ -186,6 +228,8 @@ export type ServiceInputTypes =
| ListEndpointAccessCommandInput
| ListNamespacesCommandInput
| ListRecoveryPointsCommandInput
+ | ListScheduledActionsCommandInput
+ | ListSnapshotCopyConfigurationsCommandInput
| ListSnapshotsCommandInput
| ListTableRestoreStatusCommandInput
| ListTagsForResourceCommandInput
@@ -194,13 +238,16 @@ export type ServiceInputTypes =
| PutResourcePolicyCommandInput
| RestoreFromRecoveryPointCommandInput
| RestoreFromSnapshotCommandInput
+ | RestoreTableFromRecoveryPointCommandInput
| RestoreTableFromSnapshotCommandInput
| TagResourceCommandInput
| UntagResourceCommandInput
| UpdateCustomDomainAssociationCommandInput
| UpdateEndpointAccessCommandInput
| UpdateNamespaceCommandInput
+ | UpdateScheduledActionCommandInput
| UpdateSnapshotCommandInput
+ | UpdateSnapshotCopyConfigurationCommandInput
| UpdateUsageLimitCommandInput
| UpdateWorkgroupCommandInput;
@@ -212,14 +259,18 @@ export type ServiceOutputTypes =
| CreateCustomDomainAssociationCommandOutput
| CreateEndpointAccessCommandOutput
| CreateNamespaceCommandOutput
+ | CreateScheduledActionCommandOutput
| CreateSnapshotCommandOutput
+ | CreateSnapshotCopyConfigurationCommandOutput
| CreateUsageLimitCommandOutput
| CreateWorkgroupCommandOutput
| DeleteCustomDomainAssociationCommandOutput
| DeleteEndpointAccessCommandOutput
| DeleteNamespaceCommandOutput
| DeleteResourcePolicyCommandOutput
+ | DeleteScheduledActionCommandOutput
| DeleteSnapshotCommandOutput
+ | DeleteSnapshotCopyConfigurationCommandOutput
| DeleteUsageLimitCommandOutput
| DeleteWorkgroupCommandOutput
| GetCredentialsCommandOutput
@@ -228,6 +279,7 @@ export type ServiceOutputTypes =
| GetNamespaceCommandOutput
| GetRecoveryPointCommandOutput
| GetResourcePolicyCommandOutput
+ | GetScheduledActionCommandOutput
| GetSnapshotCommandOutput
| GetTableRestoreStatusCommandOutput
| GetUsageLimitCommandOutput
@@ -236,6 +288,8 @@ export type ServiceOutputTypes =
| ListEndpointAccessCommandOutput
| ListNamespacesCommandOutput
| ListRecoveryPointsCommandOutput
+ | ListScheduledActionsCommandOutput
+ | ListSnapshotCopyConfigurationsCommandOutput
| ListSnapshotsCommandOutput
| ListTableRestoreStatusCommandOutput
| ListTagsForResourceCommandOutput
@@ -244,13 +298,16 @@ export type ServiceOutputTypes =
| PutResourcePolicyCommandOutput
| RestoreFromRecoveryPointCommandOutput
| RestoreFromSnapshotCommandOutput
+ | RestoreTableFromRecoveryPointCommandOutput
| RestoreTableFromSnapshotCommandOutput
| TagResourceCommandOutput
| UntagResourceCommandOutput
| UpdateCustomDomainAssociationCommandOutput
| UpdateEndpointAccessCommandOutput
| UpdateNamespaceCommandOutput
+ | UpdateScheduledActionCommandOutput
| UpdateSnapshotCommandOutput
+ | UpdateSnapshotCopyConfigurationCommandOutput
| UpdateUsageLimitCommandOutput
| UpdateWorkgroupCommandOutput;
diff --git a/clients/client-redshift-serverless/src/commands/CreateEndpointAccessCommand.ts b/clients/client-redshift-serverless/src/commands/CreateEndpointAccessCommand.ts
index b6fe5e49aa554..fd75d37c5412b 100644
--- a/clients/client-redshift-serverless/src/commands/CreateEndpointAccessCommand.ts
+++ b/clients/client-redshift-serverless/src/commands/CreateEndpointAccessCommand.ts
@@ -57,6 +57,7 @@ export interface CreateEndpointAccessCommandOutput extends CreateEndpointAccessR
* vpcSecurityGroupIds: [ // VpcSecurityGroupIdList
* "STRING_VALUE",
* ],
+ * ownerAccount: "STRING_VALUE",
* };
* const command = new CreateEndpointAccessCommand(input);
* const response = await client.send(command);
diff --git a/clients/client-redshift-serverless/src/commands/CreateScheduledActionCommand.ts b/clients/client-redshift-serverless/src/commands/CreateScheduledActionCommand.ts
new file mode 100644
index 0000000000000..e2cfd550e2ec1
--- /dev/null
+++ b/clients/client-redshift-serverless/src/commands/CreateScheduledActionCommand.ts
@@ -0,0 +1,208 @@
+// smithy-typescript generated code
+import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint";
+import { getSerdePlugin } from "@smithy/middleware-serde";
+import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http";
+import { Command as $Command } from "@smithy/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ HttpHandlerOptions as __HttpHandlerOptions,
+ MetadataBearer as __MetadataBearer,
+ MiddlewareStack,
+ SerdeContext as __SerdeContext,
+ SMITHY_CONTEXT_KEY,
+} from "@smithy/types";
+
+import { CreateScheduledActionRequest, CreateScheduledActionResponse } from "../models/models_0";
+import { de_CreateScheduledActionCommand, se_CreateScheduledActionCommand } from "../protocols/Aws_json1_1";
+import {
+ RedshiftServerlessClientResolvedConfig,
+ ServiceInputTypes,
+ ServiceOutputTypes,
+} from "../RedshiftServerlessClient";
+
+/**
+ * @public
+ */
+export { __MetadataBearer, $Command };
+/**
+ * @public
+ *
+ * The input for {@link CreateScheduledActionCommand}.
+ */
+export interface CreateScheduledActionCommandInput extends CreateScheduledActionRequest {}
+/**
+ * @public
+ *
+ * The output of {@link CreateScheduledActionCommand}.
+ */
+export interface CreateScheduledActionCommandOutput extends CreateScheduledActionResponse, __MetadataBearer {}
+
+/**
+ * @public
+ * Creates a scheduled action. A scheduled action contains a schedule and an Amazon Redshift API action.
+ * For example, you can create a schedule of when to run the CreateSnapshot
API operation.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { RedshiftServerlessClient, CreateScheduledActionCommand } from "@aws-sdk/client-redshift-serverless"; // ES Modules import
+ * // const { RedshiftServerlessClient, CreateScheduledActionCommand } = require("@aws-sdk/client-redshift-serverless"); // CommonJS import
+ * const client = new RedshiftServerlessClient(config);
+ * const input = { // CreateScheduledActionRequest
+ * scheduledActionName: "STRING_VALUE", // required
+ * targetAction: { // TargetAction Union: only one key present
+ * createSnapshot: { // CreateSnapshotScheduleActionParameters
+ * namespaceName: "STRING_VALUE", // required
+ * snapshotNamePrefix: "STRING_VALUE", // required
+ * retentionPeriod: Number("int"),
+ * tags: [ // TagList
+ * { // Tag
+ * key: "STRING_VALUE", // required
+ * value: "STRING_VALUE", // required
+ * },
+ * ],
+ * },
+ * },
+ * schedule: { // Schedule Union: only one key present
+ * at: new Date("TIMESTAMP"),
+ * cron: "STRING_VALUE",
+ * },
+ * roleArn: "STRING_VALUE", // required
+ * namespaceName: "STRING_VALUE", // required
+ * enabled: true || false,
+ * scheduledActionDescription: "STRING_VALUE",
+ * startTime: new Date("TIMESTAMP"),
+ * endTime: new Date("TIMESTAMP"),
+ * };
+ * const command = new CreateScheduledActionCommand(input);
+ * const response = await client.send(command);
+ * // { // CreateScheduledActionResponse
+ * // scheduledAction: { // ScheduledActionResponse
+ * // scheduledActionName: "STRING_VALUE",
+ * // schedule: { // Schedule Union: only one key present
+ * // at: new Date("TIMESTAMP"),
+ * // cron: "STRING_VALUE",
+ * // },
+ * // scheduledActionDescription: "STRING_VALUE",
+ * // nextInvocations: [ // NextInvocationsList
+ * // new Date("TIMESTAMP"),
+ * // ],
+ * // roleArn: "STRING_VALUE",
+ * // state: "STRING_VALUE",
+ * // startTime: new Date("TIMESTAMP"),
+ * // endTime: new Date("TIMESTAMP"),
+ * // targetAction: { // TargetAction Union: only one key present
+ * // createSnapshot: { // CreateSnapshotScheduleActionParameters
+ * // namespaceName: "STRING_VALUE", // required
+ * // snapshotNamePrefix: "STRING_VALUE", // required
+ * // retentionPeriod: Number("int"),
+ * // tags: [ // TagList
+ * // { // Tag
+ * // key: "STRING_VALUE", // required
+ * // value: "STRING_VALUE", // required
+ * // },
+ * // ],
+ * // },
+ * // },
+ * // namespaceName: "STRING_VALUE",
+ * // scheduledActionUuid: "STRING_VALUE",
+ * // },
+ * // };
+ *
+ * ```
+ *
+ * @param CreateScheduledActionCommandInput - {@link CreateScheduledActionCommandInput}
+ * @returns {@link CreateScheduledActionCommandOutput}
+ * @see {@link CreateScheduledActionCommandInput} for command's `input` shape.
+ * @see {@link CreateScheduledActionCommandOutput} for command's `response` shape.
+ * @see {@link RedshiftServerlessClientResolvedConfig | config} for RedshiftServerlessClient's `config` shape.
+ *
+ * @throws {@link ConflictException} (client fault)
+ * The submitted action has conflicts.
+ *
+ * @throws {@link InternalServerException} (server fault)
+ * The request processing has failed because of an unknown error, exception or failure.
+ *
+ * @throws {@link ResourceNotFoundException} (client fault)
+ * The resource could not be found.
+ *
+ * @throws {@link ValidationException} (client fault)
+ * The input failed to satisfy the constraints specified by an AWS service.
+ *
+ * @throws {@link RedshiftServerlessServiceException}
+ * Base exception class for all service exceptions from RedshiftServerless service.
+ *
+ */
+export class CreateScheduledActionCommand extends $Command<
+ CreateScheduledActionCommandInput,
+ CreateScheduledActionCommandOutput,
+ RedshiftServerlessClientResolvedConfig
+> {
+ public static getEndpointParameterInstructions(): EndpointParameterInstructions {
+ return {
+ UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
+ Endpoint: { type: "builtInParams", name: "endpoint" },
+ Region: { type: "builtInParams", name: "region" },
+ UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" },
+ };
+ }
+
+ /**
+ * @public
+ */
+ constructor(readonly input: CreateScheduledActionCommandInput) {
+ super();
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: RedshiftServerlessClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+ this.middlewareStack.use(
+ getEndpointPlugin(configuration, CreateScheduledActionCommand.getEndpointParameterInstructions())
+ );
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "RedshiftServerlessClient";
+ const commandName = "CreateScheduledActionCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: (_: any) => _,
+ outputFilterSensitiveLog: (_: any) => _,
+ [SMITHY_CONTEXT_KEY]: {
+ service: "RedshiftServerless",
+ operation: "CreateScheduledAction",
+ },
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ /**
+ * @internal
+ */
+ private serialize(input: CreateScheduledActionCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return se_CreateScheduledActionCommand(input, context);
+ }
+
+ /**
+ * @internal
+ */
+ private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {
+ return de_CreateScheduledActionCommand(output, context);
+ }
+}
diff --git a/clients/client-redshift-serverless/src/commands/CreateSnapshotCopyConfigurationCommand.ts b/clients/client-redshift-serverless/src/commands/CreateSnapshotCopyConfigurationCommand.ts
new file mode 100644
index 0000000000000..eb27b10372e7e
--- /dev/null
+++ b/clients/client-redshift-serverless/src/commands/CreateSnapshotCopyConfigurationCommand.ts
@@ -0,0 +1,182 @@
+// smithy-typescript generated code
+import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint";
+import { getSerdePlugin } from "@smithy/middleware-serde";
+import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http";
+import { Command as $Command } from "@smithy/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ HttpHandlerOptions as __HttpHandlerOptions,
+ MetadataBearer as __MetadataBearer,
+ MiddlewareStack,
+ SerdeContext as __SerdeContext,
+ SMITHY_CONTEXT_KEY,
+} from "@smithy/types";
+
+import { CreateSnapshotCopyConfigurationRequest, CreateSnapshotCopyConfigurationResponse } from "../models/models_0";
+import {
+ de_CreateSnapshotCopyConfigurationCommand,
+ se_CreateSnapshotCopyConfigurationCommand,
+} from "../protocols/Aws_json1_1";
+import {
+ RedshiftServerlessClientResolvedConfig,
+ ServiceInputTypes,
+ ServiceOutputTypes,
+} from "../RedshiftServerlessClient";
+
+/**
+ * @public
+ */
+export { __MetadataBearer, $Command };
+/**
+ * @public
+ *
+ * The input for {@link CreateSnapshotCopyConfigurationCommand}.
+ */
+export interface CreateSnapshotCopyConfigurationCommandInput extends CreateSnapshotCopyConfigurationRequest {}
+/**
+ * @public
+ *
+ * The output of {@link CreateSnapshotCopyConfigurationCommand}.
+ */
+export interface CreateSnapshotCopyConfigurationCommandOutput
+ extends CreateSnapshotCopyConfigurationResponse,
+ __MetadataBearer {}
+
+/**
+ * @public
+ * Creates a snapshot copy configuration that lets you copy snapshots to another Amazon Web Services Region.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { RedshiftServerlessClient, CreateSnapshotCopyConfigurationCommand } from "@aws-sdk/client-redshift-serverless"; // ES Modules import
+ * // const { RedshiftServerlessClient, CreateSnapshotCopyConfigurationCommand } = require("@aws-sdk/client-redshift-serverless"); // CommonJS import
+ * const client = new RedshiftServerlessClient(config);
+ * const input = { // CreateSnapshotCopyConfigurationRequest
+ * namespaceName: "STRING_VALUE", // required
+ * destinationRegion: "STRING_VALUE", // required
+ * snapshotRetentionPeriod: Number("int"),
+ * destinationKmsKeyId: "STRING_VALUE",
+ * };
+ * const command = new CreateSnapshotCopyConfigurationCommand(input);
+ * const response = await client.send(command);
+ * // { // CreateSnapshotCopyConfigurationResponse
+ * // snapshotCopyConfiguration: { // SnapshotCopyConfiguration
+ * // snapshotCopyConfigurationId: "STRING_VALUE",
+ * // snapshotCopyConfigurationArn: "STRING_VALUE",
+ * // namespaceName: "STRING_VALUE",
+ * // destinationRegion: "STRING_VALUE",
+ * // snapshotRetentionPeriod: Number("int"),
+ * // destinationKmsKeyId: "STRING_VALUE",
+ * // },
+ * // };
+ *
+ * ```
+ *
+ * @param CreateSnapshotCopyConfigurationCommandInput - {@link CreateSnapshotCopyConfigurationCommandInput}
+ * @returns {@link CreateSnapshotCopyConfigurationCommandOutput}
+ * @see {@link CreateSnapshotCopyConfigurationCommandInput} for command's `input` shape.
+ * @see {@link CreateSnapshotCopyConfigurationCommandOutput} for command's `response` shape.
+ * @see {@link RedshiftServerlessClientResolvedConfig | config} for RedshiftServerlessClient's `config` shape.
+ *
+ * @throws {@link AccessDeniedException} (client fault)
+ * You do not have sufficient access to perform this action.
+ *
+ * @throws {@link ConflictException} (client fault)
+ * The submitted action has conflicts.
+ *
+ * @throws {@link InternalServerException} (server fault)
+ * The request processing has failed because of an unknown error, exception or failure.
+ *
+ * @throws {@link ResourceNotFoundException} (client fault)
+ * The resource could not be found.
+ *
+ * @throws {@link ServiceQuotaExceededException} (client fault)
+ * The service limit was exceeded.
+ *
+ * @throws {@link ValidationException} (client fault)
+ * The input failed to satisfy the constraints specified by an AWS service.
+ *
+ * @throws {@link RedshiftServerlessServiceException}
+ * Base exception class for all service exceptions from RedshiftServerless service.
+ *
+ */
+export class CreateSnapshotCopyConfigurationCommand extends $Command<
+ CreateSnapshotCopyConfigurationCommandInput,
+ CreateSnapshotCopyConfigurationCommandOutput,
+ RedshiftServerlessClientResolvedConfig
+> {
+ public static getEndpointParameterInstructions(): EndpointParameterInstructions {
+ return {
+ UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
+ Endpoint: { type: "builtInParams", name: "endpoint" },
+ Region: { type: "builtInParams", name: "region" },
+ UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" },
+ };
+ }
+
+ /**
+ * @public
+ */
+ constructor(readonly input: CreateSnapshotCopyConfigurationCommandInput) {
+ super();
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: RedshiftServerlessClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+ this.middlewareStack.use(
+ getEndpointPlugin(configuration, CreateSnapshotCopyConfigurationCommand.getEndpointParameterInstructions())
+ );
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "RedshiftServerlessClient";
+ const commandName = "CreateSnapshotCopyConfigurationCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: (_: any) => _,
+ outputFilterSensitiveLog: (_: any) => _,
+ [SMITHY_CONTEXT_KEY]: {
+ service: "RedshiftServerless",
+ operation: "CreateSnapshotCopyConfiguration",
+ },
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ /**
+ * @internal
+ */
+ private serialize(
+ input: CreateSnapshotCopyConfigurationCommandInput,
+ context: __SerdeContext
+ ): Promise<__HttpRequest> {
+ return se_CreateSnapshotCopyConfigurationCommand(input, context);
+ }
+
+ /**
+ * @internal
+ */
+ private deserialize(
+ output: __HttpResponse,
+ context: __SerdeContext
+ ): Promise {
+ return de_CreateSnapshotCopyConfigurationCommand(output, context);
+ }
+}
diff --git a/clients/client-redshift-serverless/src/commands/CreateWorkgroupCommand.ts b/clients/client-redshift-serverless/src/commands/CreateWorkgroupCommand.ts
index 2cceaf4f7275f..4bc7f7380d310 100644
--- a/clients/client-redshift-serverless/src/commands/CreateWorkgroupCommand.ts
+++ b/clients/client-redshift-serverless/src/commands/CreateWorkgroupCommand.ts
@@ -125,6 +125,9 @@ export interface CreateWorkgroupCommandOutput extends CreateWorkgroupResponse, _
* // workgroupVersion: "STRING_VALUE",
* // patchVersion: "STRING_VALUE",
* // maxCapacity: Number("int"),
+ * // crossAccountVpcs: [ // VpcIds
+ * // "STRING_VALUE",
+ * // ],
* // },
* // };
*
diff --git a/clients/client-redshift-serverless/src/commands/DeleteScheduledActionCommand.ts b/clients/client-redshift-serverless/src/commands/DeleteScheduledActionCommand.ts
new file mode 100644
index 0000000000000..ec75f4d642138
--- /dev/null
+++ b/clients/client-redshift-serverless/src/commands/DeleteScheduledActionCommand.ts
@@ -0,0 +1,181 @@
+// smithy-typescript generated code
+import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint";
+import { getSerdePlugin } from "@smithy/middleware-serde";
+import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http";
+import { Command as $Command } from "@smithy/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ HttpHandlerOptions as __HttpHandlerOptions,
+ MetadataBearer as __MetadataBearer,
+ MiddlewareStack,
+ SerdeContext as __SerdeContext,
+ SMITHY_CONTEXT_KEY,
+} from "@smithy/types";
+
+import { DeleteScheduledActionRequest, DeleteScheduledActionResponse } from "../models/models_0";
+import { de_DeleteScheduledActionCommand, se_DeleteScheduledActionCommand } from "../protocols/Aws_json1_1";
+import {
+ RedshiftServerlessClientResolvedConfig,
+ ServiceInputTypes,
+ ServiceOutputTypes,
+} from "../RedshiftServerlessClient";
+
+/**
+ * @public
+ */
+export { __MetadataBearer, $Command };
+/**
+ * @public
+ *
+ * The input for {@link DeleteScheduledActionCommand}.
+ */
+export interface DeleteScheduledActionCommandInput extends DeleteScheduledActionRequest {}
+/**
+ * @public
+ *
+ * The output of {@link DeleteScheduledActionCommand}.
+ */
+export interface DeleteScheduledActionCommandOutput extends DeleteScheduledActionResponse, __MetadataBearer {}
+
+/**
+ * @public
+ * Deletes a scheduled action.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { RedshiftServerlessClient, DeleteScheduledActionCommand } from "@aws-sdk/client-redshift-serverless"; // ES Modules import
+ * // const { RedshiftServerlessClient, DeleteScheduledActionCommand } = require("@aws-sdk/client-redshift-serverless"); // CommonJS import
+ * const client = new RedshiftServerlessClient(config);
+ * const input = { // DeleteScheduledActionRequest
+ * scheduledActionName: "STRING_VALUE", // required
+ * };
+ * const command = new DeleteScheduledActionCommand(input);
+ * const response = await client.send(command);
+ * // { // DeleteScheduledActionResponse
+ * // scheduledAction: { // ScheduledActionResponse
+ * // scheduledActionName: "STRING_VALUE",
+ * // schedule: { // Schedule Union: only one key present
+ * // at: new Date("TIMESTAMP"),
+ * // cron: "STRING_VALUE",
+ * // },
+ * // scheduledActionDescription: "STRING_VALUE",
+ * // nextInvocations: [ // NextInvocationsList
+ * // new Date("TIMESTAMP"),
+ * // ],
+ * // roleArn: "STRING_VALUE",
+ * // state: "STRING_VALUE",
+ * // startTime: new Date("TIMESTAMP"),
+ * // endTime: new Date("TIMESTAMP"),
+ * // targetAction: { // TargetAction Union: only one key present
+ * // createSnapshot: { // CreateSnapshotScheduleActionParameters
+ * // namespaceName: "STRING_VALUE", // required
+ * // snapshotNamePrefix: "STRING_VALUE", // required
+ * // retentionPeriod: Number("int"),
+ * // tags: [ // TagList
+ * // { // Tag
+ * // key: "STRING_VALUE", // required
+ * // value: "STRING_VALUE", // required
+ * // },
+ * // ],
+ * // },
+ * // },
+ * // namespaceName: "STRING_VALUE",
+ * // scheduledActionUuid: "STRING_VALUE",
+ * // },
+ * // };
+ *
+ * ```
+ *
+ * @param DeleteScheduledActionCommandInput - {@link DeleteScheduledActionCommandInput}
+ * @returns {@link DeleteScheduledActionCommandOutput}
+ * @see {@link DeleteScheduledActionCommandInput} for command's `input` shape.
+ * @see {@link DeleteScheduledActionCommandOutput} for command's `response` shape.
+ * @see {@link RedshiftServerlessClientResolvedConfig | config} for RedshiftServerlessClient's `config` shape.
+ *
+ * @throws {@link InternalServerException} (server fault)
+ * The request processing has failed because of an unknown error, exception or failure.
+ *
+ * @throws {@link ResourceNotFoundException} (client fault)
+ * The resource could not be found.
+ *
+ * @throws {@link ValidationException} (client fault)
+ * The input failed to satisfy the constraints specified by an AWS service.
+ *
+ * @throws {@link RedshiftServerlessServiceException}
+ * Base exception class for all service exceptions from RedshiftServerless service.
+ *
+ */
+export class DeleteScheduledActionCommand extends $Command<
+ DeleteScheduledActionCommandInput,
+ DeleteScheduledActionCommandOutput,
+ RedshiftServerlessClientResolvedConfig
+> {
+ public static getEndpointParameterInstructions(): EndpointParameterInstructions {
+ return {
+ UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
+ Endpoint: { type: "builtInParams", name: "endpoint" },
+ Region: { type: "builtInParams", name: "region" },
+ UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" },
+ };
+ }
+
+ /**
+ * @public
+ */
+ constructor(readonly input: DeleteScheduledActionCommandInput) {
+ super();
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: RedshiftServerlessClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+ this.middlewareStack.use(
+ getEndpointPlugin(configuration, DeleteScheduledActionCommand.getEndpointParameterInstructions())
+ );
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "RedshiftServerlessClient";
+ const commandName = "DeleteScheduledActionCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: (_: any) => _,
+ outputFilterSensitiveLog: (_: any) => _,
+ [SMITHY_CONTEXT_KEY]: {
+ service: "RedshiftServerless",
+ operation: "DeleteScheduledAction",
+ },
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ /**
+ * @internal
+ */
+ private serialize(input: DeleteScheduledActionCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return se_DeleteScheduledActionCommand(input, context);
+ }
+
+ /**
+ * @internal
+ */
+ private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {
+ return de_DeleteScheduledActionCommand(output, context);
+ }
+}
diff --git a/clients/client-redshift-serverless/src/commands/DeleteSnapshotCopyConfigurationCommand.ts b/clients/client-redshift-serverless/src/commands/DeleteSnapshotCopyConfigurationCommand.ts
new file mode 100644
index 0000000000000..25957463859eb
--- /dev/null
+++ b/clients/client-redshift-serverless/src/commands/DeleteSnapshotCopyConfigurationCommand.ts
@@ -0,0 +1,176 @@
+// smithy-typescript generated code
+import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint";
+import { getSerdePlugin } from "@smithy/middleware-serde";
+import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http";
+import { Command as $Command } from "@smithy/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ HttpHandlerOptions as __HttpHandlerOptions,
+ MetadataBearer as __MetadataBearer,
+ MiddlewareStack,
+ SerdeContext as __SerdeContext,
+ SMITHY_CONTEXT_KEY,
+} from "@smithy/types";
+
+import { DeleteSnapshotCopyConfigurationRequest, DeleteSnapshotCopyConfigurationResponse } from "../models/models_0";
+import {
+ de_DeleteSnapshotCopyConfigurationCommand,
+ se_DeleteSnapshotCopyConfigurationCommand,
+} from "../protocols/Aws_json1_1";
+import {
+ RedshiftServerlessClientResolvedConfig,
+ ServiceInputTypes,
+ ServiceOutputTypes,
+} from "../RedshiftServerlessClient";
+
+/**
+ * @public
+ */
+export { __MetadataBearer, $Command };
+/**
+ * @public
+ *
+ * The input for {@link DeleteSnapshotCopyConfigurationCommand}.
+ */
+export interface DeleteSnapshotCopyConfigurationCommandInput extends DeleteSnapshotCopyConfigurationRequest {}
+/**
+ * @public
+ *
+ * The output of {@link DeleteSnapshotCopyConfigurationCommand}.
+ */
+export interface DeleteSnapshotCopyConfigurationCommandOutput
+ extends DeleteSnapshotCopyConfigurationResponse,
+ __MetadataBearer {}
+
+/**
+ * @public
+ * Deletes a snapshot copy configuration
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { RedshiftServerlessClient, DeleteSnapshotCopyConfigurationCommand } from "@aws-sdk/client-redshift-serverless"; // ES Modules import
+ * // const { RedshiftServerlessClient, DeleteSnapshotCopyConfigurationCommand } = require("@aws-sdk/client-redshift-serverless"); // CommonJS import
+ * const client = new RedshiftServerlessClient(config);
+ * const input = { // DeleteSnapshotCopyConfigurationRequest
+ * snapshotCopyConfigurationId: "STRING_VALUE", // required
+ * };
+ * const command = new DeleteSnapshotCopyConfigurationCommand(input);
+ * const response = await client.send(command);
+ * // { // DeleteSnapshotCopyConfigurationResponse
+ * // snapshotCopyConfiguration: { // SnapshotCopyConfiguration
+ * // snapshotCopyConfigurationId: "STRING_VALUE",
+ * // snapshotCopyConfigurationArn: "STRING_VALUE",
+ * // namespaceName: "STRING_VALUE",
+ * // destinationRegion: "STRING_VALUE",
+ * // snapshotRetentionPeriod: Number("int"),
+ * // destinationKmsKeyId: "STRING_VALUE",
+ * // },
+ * // };
+ *
+ * ```
+ *
+ * @param DeleteSnapshotCopyConfigurationCommandInput - {@link DeleteSnapshotCopyConfigurationCommandInput}
+ * @returns {@link DeleteSnapshotCopyConfigurationCommandOutput}
+ * @see {@link DeleteSnapshotCopyConfigurationCommandInput} for command's `input` shape.
+ * @see {@link DeleteSnapshotCopyConfigurationCommandOutput} for command's `response` shape.
+ * @see {@link RedshiftServerlessClientResolvedConfig | config} for RedshiftServerlessClient's `config` shape.
+ *
+ * @throws {@link AccessDeniedException} (client fault)
+ * You do not have sufficient access to perform this action.
+ *
+ * @throws {@link ConflictException} (client fault)
+ * The submitted action has conflicts.
+ *
+ * @throws {@link InternalServerException} (server fault)
+ * The request processing has failed because of an unknown error, exception or failure.
+ *
+ * @throws {@link ResourceNotFoundException} (client fault)
+ * The resource could not be found.
+ *
+ * @throws {@link ValidationException} (client fault)
+ * The input failed to satisfy the constraints specified by an AWS service.
+ *
+ * @throws {@link RedshiftServerlessServiceException}
+ * Base exception class for all service exceptions from RedshiftServerless service.
+ *
+ */
+export class DeleteSnapshotCopyConfigurationCommand extends $Command<
+ DeleteSnapshotCopyConfigurationCommandInput,
+ DeleteSnapshotCopyConfigurationCommandOutput,
+ RedshiftServerlessClientResolvedConfig
+> {
+ public static getEndpointParameterInstructions(): EndpointParameterInstructions {
+ return {
+ UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
+ Endpoint: { type: "builtInParams", name: "endpoint" },
+ Region: { type: "builtInParams", name: "region" },
+ UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" },
+ };
+ }
+
+ /**
+ * @public
+ */
+ constructor(readonly input: DeleteSnapshotCopyConfigurationCommandInput) {
+ super();
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: RedshiftServerlessClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+ this.middlewareStack.use(
+ getEndpointPlugin(configuration, DeleteSnapshotCopyConfigurationCommand.getEndpointParameterInstructions())
+ );
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "RedshiftServerlessClient";
+ const commandName = "DeleteSnapshotCopyConfigurationCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: (_: any) => _,
+ outputFilterSensitiveLog: (_: any) => _,
+ [SMITHY_CONTEXT_KEY]: {
+ service: "RedshiftServerless",
+ operation: "DeleteSnapshotCopyConfiguration",
+ },
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ /**
+ * @internal
+ */
+ private serialize(
+ input: DeleteSnapshotCopyConfigurationCommandInput,
+ context: __SerdeContext
+ ): Promise<__HttpRequest> {
+ return se_DeleteSnapshotCopyConfigurationCommand(input, context);
+ }
+
+ /**
+ * @internal
+ */
+ private deserialize(
+ output: __HttpResponse,
+ context: __SerdeContext
+ ): Promise {
+ return de_DeleteSnapshotCopyConfigurationCommand(output, context);
+ }
+}
diff --git a/clients/client-redshift-serverless/src/commands/DeleteWorkgroupCommand.ts b/clients/client-redshift-serverless/src/commands/DeleteWorkgroupCommand.ts
index dd4ba9ff97b6c..be5de012b0d99 100644
--- a/clients/client-redshift-serverless/src/commands/DeleteWorkgroupCommand.ts
+++ b/clients/client-redshift-serverless/src/commands/DeleteWorkgroupCommand.ts
@@ -101,6 +101,9 @@ export interface DeleteWorkgroupCommandOutput extends DeleteWorkgroupResponse, _
* // workgroupVersion: "STRING_VALUE",
* // patchVersion: "STRING_VALUE",
* // maxCapacity: Number("int"),
+ * // crossAccountVpcs: [ // VpcIds
+ * // "STRING_VALUE",
+ * // ],
* // },
* // };
*
diff --git a/clients/client-redshift-serverless/src/commands/GetScheduledActionCommand.ts b/clients/client-redshift-serverless/src/commands/GetScheduledActionCommand.ts
new file mode 100644
index 0000000000000..fe792d3529e99
--- /dev/null
+++ b/clients/client-redshift-serverless/src/commands/GetScheduledActionCommand.ts
@@ -0,0 +1,181 @@
+// smithy-typescript generated code
+import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint";
+import { getSerdePlugin } from "@smithy/middleware-serde";
+import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http";
+import { Command as $Command } from "@smithy/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ HttpHandlerOptions as __HttpHandlerOptions,
+ MetadataBearer as __MetadataBearer,
+ MiddlewareStack,
+ SerdeContext as __SerdeContext,
+ SMITHY_CONTEXT_KEY,
+} from "@smithy/types";
+
+import { GetScheduledActionRequest, GetScheduledActionResponse } from "../models/models_0";
+import { de_GetScheduledActionCommand, se_GetScheduledActionCommand } from "../protocols/Aws_json1_1";
+import {
+ RedshiftServerlessClientResolvedConfig,
+ ServiceInputTypes,
+ ServiceOutputTypes,
+} from "../RedshiftServerlessClient";
+
+/**
+ * @public
+ */
+export { __MetadataBearer, $Command };
+/**
+ * @public
+ *
+ * The input for {@link GetScheduledActionCommand}.
+ */
+export interface GetScheduledActionCommandInput extends GetScheduledActionRequest {}
+/**
+ * @public
+ *
+ * The output of {@link GetScheduledActionCommand}.
+ */
+export interface GetScheduledActionCommandOutput extends GetScheduledActionResponse, __MetadataBearer {}
+
+/**
+ * @public
+ * Returns information about a scheduled action.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { RedshiftServerlessClient, GetScheduledActionCommand } from "@aws-sdk/client-redshift-serverless"; // ES Modules import
+ * // const { RedshiftServerlessClient, GetScheduledActionCommand } = require("@aws-sdk/client-redshift-serverless"); // CommonJS import
+ * const client = new RedshiftServerlessClient(config);
+ * const input = { // GetScheduledActionRequest
+ * scheduledActionName: "STRING_VALUE", // required
+ * };
+ * const command = new GetScheduledActionCommand(input);
+ * const response = await client.send(command);
+ * // { // GetScheduledActionResponse
+ * // scheduledAction: { // ScheduledActionResponse
+ * // scheduledActionName: "STRING_VALUE",
+ * // schedule: { // Schedule Union: only one key present
+ * // at: new Date("TIMESTAMP"),
+ * // cron: "STRING_VALUE",
+ * // },
+ * // scheduledActionDescription: "STRING_VALUE",
+ * // nextInvocations: [ // NextInvocationsList
+ * // new Date("TIMESTAMP"),
+ * // ],
+ * // roleArn: "STRING_VALUE",
+ * // state: "STRING_VALUE",
+ * // startTime: new Date("TIMESTAMP"),
+ * // endTime: new Date("TIMESTAMP"),
+ * // targetAction: { // TargetAction Union: only one key present
+ * // createSnapshot: { // CreateSnapshotScheduleActionParameters
+ * // namespaceName: "STRING_VALUE", // required
+ * // snapshotNamePrefix: "STRING_VALUE", // required
+ * // retentionPeriod: Number("int"),
+ * // tags: [ // TagList
+ * // { // Tag
+ * // key: "STRING_VALUE", // required
+ * // value: "STRING_VALUE", // required
+ * // },
+ * // ],
+ * // },
+ * // },
+ * // namespaceName: "STRING_VALUE",
+ * // scheduledActionUuid: "STRING_VALUE",
+ * // },
+ * // };
+ *
+ * ```
+ *
+ * @param GetScheduledActionCommandInput - {@link GetScheduledActionCommandInput}
+ * @returns {@link GetScheduledActionCommandOutput}
+ * @see {@link GetScheduledActionCommandInput} for command's `input` shape.
+ * @see {@link GetScheduledActionCommandOutput} for command's `response` shape.
+ * @see {@link RedshiftServerlessClientResolvedConfig | config} for RedshiftServerlessClient's `config` shape.
+ *
+ * @throws {@link InternalServerException} (server fault)
+ * The request processing has failed because of an unknown error, exception or failure.
+ *
+ * @throws {@link ResourceNotFoundException} (client fault)
+ * The resource could not be found.
+ *
+ * @throws {@link ValidationException} (client fault)
+ * The input failed to satisfy the constraints specified by an AWS service.
+ *
+ * @throws {@link RedshiftServerlessServiceException}
+ * Base exception class for all service exceptions from RedshiftServerless service.
+ *
+ */
+export class GetScheduledActionCommand extends $Command<
+ GetScheduledActionCommandInput,
+ GetScheduledActionCommandOutput,
+ RedshiftServerlessClientResolvedConfig
+> {
+ public static getEndpointParameterInstructions(): EndpointParameterInstructions {
+ return {
+ UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
+ Endpoint: { type: "builtInParams", name: "endpoint" },
+ Region: { type: "builtInParams", name: "region" },
+ UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" },
+ };
+ }
+
+ /**
+ * @public
+ */
+ constructor(readonly input: GetScheduledActionCommandInput) {
+ super();
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: RedshiftServerlessClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+ this.middlewareStack.use(
+ getEndpointPlugin(configuration, GetScheduledActionCommand.getEndpointParameterInstructions())
+ );
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "RedshiftServerlessClient";
+ const commandName = "GetScheduledActionCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: (_: any) => _,
+ outputFilterSensitiveLog: (_: any) => _,
+ [SMITHY_CONTEXT_KEY]: {
+ service: "RedshiftServerless",
+ operation: "GetScheduledAction",
+ },
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ /**
+ * @internal
+ */
+ private serialize(input: GetScheduledActionCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return se_GetScheduledActionCommand(input, context);
+ }
+
+ /**
+ * @internal
+ */
+ private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {
+ return de_GetScheduledActionCommand(output, context);
+ }
+}
diff --git a/clients/client-redshift-serverless/src/commands/GetTableRestoreStatusCommand.ts b/clients/client-redshift-serverless/src/commands/GetTableRestoreStatusCommand.ts
index 0e6f285a54b49..2e36d2e5e0065 100644
--- a/clients/client-redshift-serverless/src/commands/GetTableRestoreStatusCommand.ts
+++ b/clients/client-redshift-serverless/src/commands/GetTableRestoreStatusCommand.ts
@@ -70,6 +70,7 @@ export interface GetTableRestoreStatusCommandOutput extends GetTableRestoreStatu
* // targetDatabaseName: "STRING_VALUE",
* // targetSchemaName: "STRING_VALUE",
* // newTableName: "STRING_VALUE",
+ * // recoveryPointId: "STRING_VALUE",
* // },
* // };
*
diff --git a/clients/client-redshift-serverless/src/commands/GetWorkgroupCommand.ts b/clients/client-redshift-serverless/src/commands/GetWorkgroupCommand.ts
index a3cd1dc863392..7f14955885a01 100644
--- a/clients/client-redshift-serverless/src/commands/GetWorkgroupCommand.ts
+++ b/clients/client-redshift-serverless/src/commands/GetWorkgroupCommand.ts
@@ -101,6 +101,9 @@ export interface GetWorkgroupCommandOutput extends GetWorkgroupResponse, __Metad
* // workgroupVersion: "STRING_VALUE",
* // patchVersion: "STRING_VALUE",
* // maxCapacity: Number("int"),
+ * // crossAccountVpcs: [ // VpcIds
+ * // "STRING_VALUE",
+ * // ],
* // },
* // };
*
diff --git a/clients/client-redshift-serverless/src/commands/ListEndpointAccessCommand.ts b/clients/client-redshift-serverless/src/commands/ListEndpointAccessCommand.ts
index 9b766a29844af..01b60d16365b9 100644
--- a/clients/client-redshift-serverless/src/commands/ListEndpointAccessCommand.ts
+++ b/clients/client-redshift-serverless/src/commands/ListEndpointAccessCommand.ts
@@ -53,6 +53,7 @@ export interface ListEndpointAccessCommandOutput extends ListEndpointAccessRespo
* maxResults: Number("int"),
* workgroupName: "STRING_VALUE",
* vpcId: "STRING_VALUE",
+ * ownerAccount: "STRING_VALUE",
* };
* const command = new ListEndpointAccessCommand(input);
* const response = await client.send(command);
diff --git a/clients/client-redshift-serverless/src/commands/ListScheduledActionsCommand.ts b/clients/client-redshift-serverless/src/commands/ListScheduledActionsCommand.ts
new file mode 100644
index 0000000000000..3c763eee797a7
--- /dev/null
+++ b/clients/client-redshift-serverless/src/commands/ListScheduledActionsCommand.ts
@@ -0,0 +1,160 @@
+// smithy-typescript generated code
+import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint";
+import { getSerdePlugin } from "@smithy/middleware-serde";
+import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http";
+import { Command as $Command } from "@smithy/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ HttpHandlerOptions as __HttpHandlerOptions,
+ MetadataBearer as __MetadataBearer,
+ MiddlewareStack,
+ SerdeContext as __SerdeContext,
+ SMITHY_CONTEXT_KEY,
+} from "@smithy/types";
+
+import { ListScheduledActionsRequest, ListScheduledActionsResponse } from "../models/models_0";
+import { de_ListScheduledActionsCommand, se_ListScheduledActionsCommand } from "../protocols/Aws_json1_1";
+import {
+ RedshiftServerlessClientResolvedConfig,
+ ServiceInputTypes,
+ ServiceOutputTypes,
+} from "../RedshiftServerlessClient";
+
+/**
+ * @public
+ */
+export { __MetadataBearer, $Command };
+/**
+ * @public
+ *
+ * The input for {@link ListScheduledActionsCommand}.
+ */
+export interface ListScheduledActionsCommandInput extends ListScheduledActionsRequest {}
+/**
+ * @public
+ *
+ * The output of {@link ListScheduledActionsCommand}.
+ */
+export interface ListScheduledActionsCommandOutput extends ListScheduledActionsResponse, __MetadataBearer {}
+
+/**
+ * @public
+ * Returns a list of scheduled actions. You can use the flags to filter the list of returned scheduled actions.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { RedshiftServerlessClient, ListScheduledActionsCommand } from "@aws-sdk/client-redshift-serverless"; // ES Modules import
+ * // const { RedshiftServerlessClient, ListScheduledActionsCommand } = require("@aws-sdk/client-redshift-serverless"); // CommonJS import
+ * const client = new RedshiftServerlessClient(config);
+ * const input = { // ListScheduledActionsRequest
+ * nextToken: "STRING_VALUE",
+ * maxResults: Number("int"),
+ * namespaceName: "STRING_VALUE",
+ * };
+ * const command = new ListScheduledActionsCommand(input);
+ * const response = await client.send(command);
+ * // { // ListScheduledActionsResponse
+ * // nextToken: "STRING_VALUE",
+ * // scheduledActions: [ // ScheduledActionsList
+ * // "STRING_VALUE",
+ * // ],
+ * // };
+ *
+ * ```
+ *
+ * @param ListScheduledActionsCommandInput - {@link ListScheduledActionsCommandInput}
+ * @returns {@link ListScheduledActionsCommandOutput}
+ * @see {@link ListScheduledActionsCommandInput} for command's `input` shape.
+ * @see {@link ListScheduledActionsCommandOutput} for command's `response` shape.
+ * @see {@link RedshiftServerlessClientResolvedConfig | config} for RedshiftServerlessClient's `config` shape.
+ *
+ * @throws {@link InternalServerException} (server fault)
+ * The request processing has failed because of an unknown error, exception or failure.
+ *
+ * @throws {@link InvalidPaginationException} (client fault)
+ * The provided pagination token is invalid.
+ *
+ * @throws {@link ResourceNotFoundException} (client fault)
+ * The resource could not be found.
+ *
+ * @throws {@link ValidationException} (client fault)
+ * The input failed to satisfy the constraints specified by an AWS service.
+ *
+ * @throws {@link RedshiftServerlessServiceException}
+ * Base exception class for all service exceptions from RedshiftServerless service.
+ *
+ */
+export class ListScheduledActionsCommand extends $Command<
+ ListScheduledActionsCommandInput,
+ ListScheduledActionsCommandOutput,
+ RedshiftServerlessClientResolvedConfig
+> {
+ public static getEndpointParameterInstructions(): EndpointParameterInstructions {
+ return {
+ UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
+ Endpoint: { type: "builtInParams", name: "endpoint" },
+ Region: { type: "builtInParams", name: "region" },
+ UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" },
+ };
+ }
+
+ /**
+ * @public
+ */
+ constructor(readonly input: ListScheduledActionsCommandInput) {
+ super();
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: RedshiftServerlessClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+ this.middlewareStack.use(
+ getEndpointPlugin(configuration, ListScheduledActionsCommand.getEndpointParameterInstructions())
+ );
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "RedshiftServerlessClient";
+ const commandName = "ListScheduledActionsCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: (_: any) => _,
+ outputFilterSensitiveLog: (_: any) => _,
+ [SMITHY_CONTEXT_KEY]: {
+ service: "RedshiftServerless",
+ operation: "ListScheduledActions",
+ },
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ /**
+ * @internal
+ */
+ private serialize(input: ListScheduledActionsCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return se_ListScheduledActionsCommand(input, context);
+ }
+
+ /**
+ * @internal
+ */
+ private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {
+ return de_ListScheduledActionsCommand(output, context);
+ }
+}
diff --git a/clients/client-redshift-serverless/src/commands/ListSnapshotCopyConfigurationsCommand.ts b/clients/client-redshift-serverless/src/commands/ListSnapshotCopyConfigurationsCommand.ts
new file mode 100644
index 0000000000000..7c2b1e41774ea
--- /dev/null
+++ b/clients/client-redshift-serverless/src/commands/ListSnapshotCopyConfigurationsCommand.ts
@@ -0,0 +1,181 @@
+// smithy-typescript generated code
+import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint";
+import { getSerdePlugin } from "@smithy/middleware-serde";
+import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http";
+import { Command as $Command } from "@smithy/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ HttpHandlerOptions as __HttpHandlerOptions,
+ MetadataBearer as __MetadataBearer,
+ MiddlewareStack,
+ SerdeContext as __SerdeContext,
+ SMITHY_CONTEXT_KEY,
+} from "@smithy/types";
+
+import { ListSnapshotCopyConfigurationsRequest, ListSnapshotCopyConfigurationsResponse } from "../models/models_0";
+import {
+ de_ListSnapshotCopyConfigurationsCommand,
+ se_ListSnapshotCopyConfigurationsCommand,
+} from "../protocols/Aws_json1_1";
+import {
+ RedshiftServerlessClientResolvedConfig,
+ ServiceInputTypes,
+ ServiceOutputTypes,
+} from "../RedshiftServerlessClient";
+
+/**
+ * @public
+ */
+export { __MetadataBearer, $Command };
+/**
+ * @public
+ *
+ * The input for {@link ListSnapshotCopyConfigurationsCommand}.
+ */
+export interface ListSnapshotCopyConfigurationsCommandInput extends ListSnapshotCopyConfigurationsRequest {}
+/**
+ * @public
+ *
+ * The output of {@link ListSnapshotCopyConfigurationsCommand}.
+ */
+export interface ListSnapshotCopyConfigurationsCommandOutput
+ extends ListSnapshotCopyConfigurationsResponse,
+ __MetadataBearer {}
+
+/**
+ * @public
+ * Returns a list of snapshot copy configurations.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { RedshiftServerlessClient, ListSnapshotCopyConfigurationsCommand } from "@aws-sdk/client-redshift-serverless"; // ES Modules import
+ * // const { RedshiftServerlessClient, ListSnapshotCopyConfigurationsCommand } = require("@aws-sdk/client-redshift-serverless"); // CommonJS import
+ * const client = new RedshiftServerlessClient(config);
+ * const input = { // ListSnapshotCopyConfigurationsRequest
+ * namespaceName: "STRING_VALUE",
+ * nextToken: "STRING_VALUE",
+ * maxResults: Number("int"),
+ * };
+ * const command = new ListSnapshotCopyConfigurationsCommand(input);
+ * const response = await client.send(command);
+ * // { // ListSnapshotCopyConfigurationsResponse
+ * // nextToken: "STRING_VALUE",
+ * // snapshotCopyConfigurations: [ // SnapshotCopyConfigurations // required
+ * // { // SnapshotCopyConfiguration
+ * // snapshotCopyConfigurationId: "STRING_VALUE",
+ * // snapshotCopyConfigurationArn: "STRING_VALUE",
+ * // namespaceName: "STRING_VALUE",
+ * // destinationRegion: "STRING_VALUE",
+ * // snapshotRetentionPeriod: Number("int"),
+ * // destinationKmsKeyId: "STRING_VALUE",
+ * // },
+ * // ],
+ * // };
+ *
+ * ```
+ *
+ * @param ListSnapshotCopyConfigurationsCommandInput - {@link ListSnapshotCopyConfigurationsCommandInput}
+ * @returns {@link ListSnapshotCopyConfigurationsCommandOutput}
+ * @see {@link ListSnapshotCopyConfigurationsCommandInput} for command's `input` shape.
+ * @see {@link ListSnapshotCopyConfigurationsCommandOutput} for command's `response` shape.
+ * @see {@link RedshiftServerlessClientResolvedConfig | config} for RedshiftServerlessClient's `config` shape.
+ *
+ * @throws {@link ConflictException} (client fault)
+ * The submitted action has conflicts.
+ *
+ * @throws {@link InternalServerException} (server fault)
+ * The request processing has failed because of an unknown error, exception or failure.
+ *
+ * @throws {@link InvalidPaginationException} (client fault)
+ * The provided pagination token is invalid.
+ *
+ * @throws {@link ResourceNotFoundException} (client fault)
+ * The resource could not be found.
+ *
+ * @throws {@link ValidationException} (client fault)
+ * The input failed to satisfy the constraints specified by an AWS service.
+ *
+ * @throws {@link RedshiftServerlessServiceException}
+ * Base exception class for all service exceptions from RedshiftServerless service.
+ *
+ */
+export class ListSnapshotCopyConfigurationsCommand extends $Command<
+ ListSnapshotCopyConfigurationsCommandInput,
+ ListSnapshotCopyConfigurationsCommandOutput,
+ RedshiftServerlessClientResolvedConfig
+> {
+ public static getEndpointParameterInstructions(): EndpointParameterInstructions {
+ return {
+ UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
+ Endpoint: { type: "builtInParams", name: "endpoint" },
+ Region: { type: "builtInParams", name: "region" },
+ UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" },
+ };
+ }
+
+ /**
+ * @public
+ */
+ constructor(readonly input: ListSnapshotCopyConfigurationsCommandInput) {
+ super();
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: RedshiftServerlessClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+ this.middlewareStack.use(
+ getEndpointPlugin(configuration, ListSnapshotCopyConfigurationsCommand.getEndpointParameterInstructions())
+ );
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "RedshiftServerlessClient";
+ const commandName = "ListSnapshotCopyConfigurationsCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: (_: any) => _,
+ outputFilterSensitiveLog: (_: any) => _,
+ [SMITHY_CONTEXT_KEY]: {
+ service: "RedshiftServerless",
+ operation: "ListSnapshotCopyConfigurations",
+ },
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ /**
+ * @internal
+ */
+ private serialize(
+ input: ListSnapshotCopyConfigurationsCommandInput,
+ context: __SerdeContext
+ ): Promise<__HttpRequest> {
+ return se_ListSnapshotCopyConfigurationsCommand(input, context);
+ }
+
+ /**
+ * @internal
+ */
+ private deserialize(
+ output: __HttpResponse,
+ context: __SerdeContext
+ ): Promise {
+ return de_ListSnapshotCopyConfigurationsCommand(output, context);
+ }
+}
diff --git a/clients/client-redshift-serverless/src/commands/ListTableRestoreStatusCommand.ts b/clients/client-redshift-serverless/src/commands/ListTableRestoreStatusCommand.ts
index 6e988b2b6b273..23772d1e422a6 100644
--- a/clients/client-redshift-serverless/src/commands/ListTableRestoreStatusCommand.ts
+++ b/clients/client-redshift-serverless/src/commands/ListTableRestoreStatusCommand.ts
@@ -75,6 +75,7 @@ export interface ListTableRestoreStatusCommandOutput extends ListTableRestoreSta
* // targetDatabaseName: "STRING_VALUE",
* // targetSchemaName: "STRING_VALUE",
* // newTableName: "STRING_VALUE",
+ * // recoveryPointId: "STRING_VALUE",
* // },
* // ],
* // };
diff --git a/clients/client-redshift-serverless/src/commands/ListWorkgroupsCommand.ts b/clients/client-redshift-serverless/src/commands/ListWorkgroupsCommand.ts
index d7c22a2a5d6d4..3b2bb5e1f7b72 100644
--- a/clients/client-redshift-serverless/src/commands/ListWorkgroupsCommand.ts
+++ b/clients/client-redshift-serverless/src/commands/ListWorkgroupsCommand.ts
@@ -51,6 +51,7 @@ export interface ListWorkgroupsCommandOutput extends ListWorkgroupsResponse, __M
* const input = { // ListWorkgroupsRequest
* nextToken: "STRING_VALUE",
* maxResults: Number("int"),
+ * ownerAccount: "STRING_VALUE",
* };
* const command = new ListWorkgroupsCommand(input);
* const response = await client.send(command);
@@ -104,6 +105,9 @@ export interface ListWorkgroupsCommandOutput extends ListWorkgroupsResponse, __M
* // workgroupVersion: "STRING_VALUE",
* // patchVersion: "STRING_VALUE",
* // maxCapacity: Number("int"),
+ * // crossAccountVpcs: [ // VpcIds
+ * // "STRING_VALUE",
+ * // ],
* // },
* // ],
* // };
diff --git a/clients/client-redshift-serverless/src/commands/RestoreTableFromRecoveryPointCommand.ts b/clients/client-redshift-serverless/src/commands/RestoreTableFromRecoveryPointCommand.ts
new file mode 100644
index 0000000000000..6f6ce5357a338
--- /dev/null
+++ b/clients/client-redshift-serverless/src/commands/RestoreTableFromRecoveryPointCommand.ts
@@ -0,0 +1,189 @@
+// smithy-typescript generated code
+import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint";
+import { getSerdePlugin } from "@smithy/middleware-serde";
+import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http";
+import { Command as $Command } from "@smithy/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ HttpHandlerOptions as __HttpHandlerOptions,
+ MetadataBearer as __MetadataBearer,
+ MiddlewareStack,
+ SerdeContext as __SerdeContext,
+ SMITHY_CONTEXT_KEY,
+} from "@smithy/types";
+
+import { RestoreTableFromRecoveryPointRequest, RestoreTableFromRecoveryPointResponse } from "../models/models_0";
+import {
+ de_RestoreTableFromRecoveryPointCommand,
+ se_RestoreTableFromRecoveryPointCommand,
+} from "../protocols/Aws_json1_1";
+import {
+ RedshiftServerlessClientResolvedConfig,
+ ServiceInputTypes,
+ ServiceOutputTypes,
+} from "../RedshiftServerlessClient";
+
+/**
+ * @public
+ */
+export { __MetadataBearer, $Command };
+/**
+ * @public
+ *
+ * The input for {@link RestoreTableFromRecoveryPointCommand}.
+ */
+export interface RestoreTableFromRecoveryPointCommandInput extends RestoreTableFromRecoveryPointRequest {}
+/**
+ * @public
+ *
+ * The output of {@link RestoreTableFromRecoveryPointCommand}.
+ */
+export interface RestoreTableFromRecoveryPointCommandOutput
+ extends RestoreTableFromRecoveryPointResponse,
+ __MetadataBearer {}
+
+/**
+ * @public
+ * Restores a table from a recovery point to your Amazon Redshift Serverless instance. You can't use this operation to restore tables with interleaved sort keys.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { RedshiftServerlessClient, RestoreTableFromRecoveryPointCommand } from "@aws-sdk/client-redshift-serverless"; // ES Modules import
+ * // const { RedshiftServerlessClient, RestoreTableFromRecoveryPointCommand } = require("@aws-sdk/client-redshift-serverless"); // CommonJS import
+ * const client = new RedshiftServerlessClient(config);
+ * const input = { // RestoreTableFromRecoveryPointRequest
+ * namespaceName: "STRING_VALUE", // required
+ * workgroupName: "STRING_VALUE", // required
+ * recoveryPointId: "STRING_VALUE", // required
+ * sourceDatabaseName: "STRING_VALUE", // required
+ * sourceSchemaName: "STRING_VALUE",
+ * sourceTableName: "STRING_VALUE", // required
+ * targetDatabaseName: "STRING_VALUE",
+ * targetSchemaName: "STRING_VALUE",
+ * newTableName: "STRING_VALUE", // required
+ * activateCaseSensitiveIdentifier: true || false,
+ * };
+ * const command = new RestoreTableFromRecoveryPointCommand(input);
+ * const response = await client.send(command);
+ * // { // RestoreTableFromRecoveryPointResponse
+ * // tableRestoreStatus: { // TableRestoreStatus
+ * // tableRestoreRequestId: "STRING_VALUE",
+ * // status: "STRING_VALUE",
+ * // message: "STRING_VALUE",
+ * // requestTime: new Date("TIMESTAMP"),
+ * // namespaceName: "STRING_VALUE",
+ * // workgroupName: "STRING_VALUE",
+ * // snapshotName: "STRING_VALUE",
+ * // progressInMegaBytes: Number("long"),
+ * // totalDataInMegaBytes: Number("long"),
+ * // sourceDatabaseName: "STRING_VALUE",
+ * // sourceSchemaName: "STRING_VALUE",
+ * // sourceTableName: "STRING_VALUE",
+ * // targetDatabaseName: "STRING_VALUE",
+ * // targetSchemaName: "STRING_VALUE",
+ * // newTableName: "STRING_VALUE",
+ * // recoveryPointId: "STRING_VALUE",
+ * // },
+ * // };
+ *
+ * ```
+ *
+ * @param RestoreTableFromRecoveryPointCommandInput - {@link RestoreTableFromRecoveryPointCommandInput}
+ * @returns {@link RestoreTableFromRecoveryPointCommandOutput}
+ * @see {@link RestoreTableFromRecoveryPointCommandInput} for command's `input` shape.
+ * @see {@link RestoreTableFromRecoveryPointCommandOutput} for command's `response` shape.
+ * @see {@link RedshiftServerlessClientResolvedConfig | config} for RedshiftServerlessClient's `config` shape.
+ *
+ * @throws {@link ConflictException} (client fault)
+ * The submitted action has conflicts.
+ *
+ * @throws {@link InternalServerException} (server fault)
+ * The request processing has failed because of an unknown error, exception or failure.
+ *
+ * @throws {@link ResourceNotFoundException} (client fault)
+ * The resource could not be found.
+ *
+ * @throws {@link ValidationException} (client fault)
+ * The input failed to satisfy the constraints specified by an AWS service.
+ *
+ * @throws {@link RedshiftServerlessServiceException}
+ * Base exception class for all service exceptions from RedshiftServerless service.
+ *
+ */
+export class RestoreTableFromRecoveryPointCommand extends $Command<
+ RestoreTableFromRecoveryPointCommandInput,
+ RestoreTableFromRecoveryPointCommandOutput,
+ RedshiftServerlessClientResolvedConfig
+> {
+ public static getEndpointParameterInstructions(): EndpointParameterInstructions {
+ return {
+ UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
+ Endpoint: { type: "builtInParams", name: "endpoint" },
+ Region: { type: "builtInParams", name: "region" },
+ UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" },
+ };
+ }
+
+ /**
+ * @public
+ */
+ constructor(readonly input: RestoreTableFromRecoveryPointCommandInput) {
+ super();
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: RedshiftServerlessClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+ this.middlewareStack.use(
+ getEndpointPlugin(configuration, RestoreTableFromRecoveryPointCommand.getEndpointParameterInstructions())
+ );
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "RedshiftServerlessClient";
+ const commandName = "RestoreTableFromRecoveryPointCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: (_: any) => _,
+ outputFilterSensitiveLog: (_: any) => _,
+ [SMITHY_CONTEXT_KEY]: {
+ service: "RedshiftServerless",
+ operation: "RestoreTableFromRecoveryPoint",
+ },
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ /**
+ * @internal
+ */
+ private serialize(input: RestoreTableFromRecoveryPointCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return se_RestoreTableFromRecoveryPointCommand(input, context);
+ }
+
+ /**
+ * @internal
+ */
+ private deserialize(
+ output: __HttpResponse,
+ context: __SerdeContext
+ ): Promise {
+ return de_RestoreTableFromRecoveryPointCommand(output, context);
+ }
+}
diff --git a/clients/client-redshift-serverless/src/commands/RestoreTableFromSnapshotCommand.ts b/clients/client-redshift-serverless/src/commands/RestoreTableFromSnapshotCommand.ts
index 71a68475b1008..be81f23f5c22a 100644
--- a/clients/client-redshift-serverless/src/commands/RestoreTableFromSnapshotCommand.ts
+++ b/clients/client-redshift-serverless/src/commands/RestoreTableFromSnapshotCommand.ts
@@ -80,6 +80,7 @@ export interface RestoreTableFromSnapshotCommandOutput extends RestoreTableFromS
* // targetDatabaseName: "STRING_VALUE",
* // targetSchemaName: "STRING_VALUE",
* // newTableName: "STRING_VALUE",
+ * // recoveryPointId: "STRING_VALUE",
* // },
* // };
*
diff --git a/clients/client-redshift-serverless/src/commands/UpdateScheduledActionCommand.ts b/clients/client-redshift-serverless/src/commands/UpdateScheduledActionCommand.ts
new file mode 100644
index 0000000000000..993e4874a50e8
--- /dev/null
+++ b/clients/client-redshift-serverless/src/commands/UpdateScheduledActionCommand.ts
@@ -0,0 +1,206 @@
+// smithy-typescript generated code
+import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint";
+import { getSerdePlugin } from "@smithy/middleware-serde";
+import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http";
+import { Command as $Command } from "@smithy/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ HttpHandlerOptions as __HttpHandlerOptions,
+ MetadataBearer as __MetadataBearer,
+ MiddlewareStack,
+ SerdeContext as __SerdeContext,
+ SMITHY_CONTEXT_KEY,
+} from "@smithy/types";
+
+import { UpdateScheduledActionRequest, UpdateScheduledActionResponse } from "../models/models_0";
+import { de_UpdateScheduledActionCommand, se_UpdateScheduledActionCommand } from "../protocols/Aws_json1_1";
+import {
+ RedshiftServerlessClientResolvedConfig,
+ ServiceInputTypes,
+ ServiceOutputTypes,
+} from "../RedshiftServerlessClient";
+
+/**
+ * @public
+ */
+export { __MetadataBearer, $Command };
+/**
+ * @public
+ *
+ * The input for {@link UpdateScheduledActionCommand}.
+ */
+export interface UpdateScheduledActionCommandInput extends UpdateScheduledActionRequest {}
+/**
+ * @public
+ *
+ * The output of {@link UpdateScheduledActionCommand}.
+ */
+export interface UpdateScheduledActionCommandOutput extends UpdateScheduledActionResponse, __MetadataBearer {}
+
+/**
+ * @public
+ * Updates a scheduled action.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { RedshiftServerlessClient, UpdateScheduledActionCommand } from "@aws-sdk/client-redshift-serverless"; // ES Modules import
+ * // const { RedshiftServerlessClient, UpdateScheduledActionCommand } = require("@aws-sdk/client-redshift-serverless"); // CommonJS import
+ * const client = new RedshiftServerlessClient(config);
+ * const input = { // UpdateScheduledActionRequest
+ * scheduledActionName: "STRING_VALUE", // required
+ * targetAction: { // TargetAction Union: only one key present
+ * createSnapshot: { // CreateSnapshotScheduleActionParameters
+ * namespaceName: "STRING_VALUE", // required
+ * snapshotNamePrefix: "STRING_VALUE", // required
+ * retentionPeriod: Number("int"),
+ * tags: [ // TagList
+ * { // Tag
+ * key: "STRING_VALUE", // required
+ * value: "STRING_VALUE", // required
+ * },
+ * ],
+ * },
+ * },
+ * schedule: { // Schedule Union: only one key present
+ * at: new Date("TIMESTAMP"),
+ * cron: "STRING_VALUE",
+ * },
+ * roleArn: "STRING_VALUE",
+ * enabled: true || false,
+ * scheduledActionDescription: "STRING_VALUE",
+ * startTime: new Date("TIMESTAMP"),
+ * endTime: new Date("TIMESTAMP"),
+ * };
+ * const command = new UpdateScheduledActionCommand(input);
+ * const response = await client.send(command);
+ * // { // UpdateScheduledActionResponse
+ * // scheduledAction: { // ScheduledActionResponse
+ * // scheduledActionName: "STRING_VALUE",
+ * // schedule: { // Schedule Union: only one key present
+ * // at: new Date("TIMESTAMP"),
+ * // cron: "STRING_VALUE",
+ * // },
+ * // scheduledActionDescription: "STRING_VALUE",
+ * // nextInvocations: [ // NextInvocationsList
+ * // new Date("TIMESTAMP"),
+ * // ],
+ * // roleArn: "STRING_VALUE",
+ * // state: "STRING_VALUE",
+ * // startTime: new Date("TIMESTAMP"),
+ * // endTime: new Date("TIMESTAMP"),
+ * // targetAction: { // TargetAction Union: only one key present
+ * // createSnapshot: { // CreateSnapshotScheduleActionParameters
+ * // namespaceName: "STRING_VALUE", // required
+ * // snapshotNamePrefix: "STRING_VALUE", // required
+ * // retentionPeriod: Number("int"),
+ * // tags: [ // TagList
+ * // { // Tag
+ * // key: "STRING_VALUE", // required
+ * // value: "STRING_VALUE", // required
+ * // },
+ * // ],
+ * // },
+ * // },
+ * // namespaceName: "STRING_VALUE",
+ * // scheduledActionUuid: "STRING_VALUE",
+ * // },
+ * // };
+ *
+ * ```
+ *
+ * @param UpdateScheduledActionCommandInput - {@link UpdateScheduledActionCommandInput}
+ * @returns {@link UpdateScheduledActionCommandOutput}
+ * @see {@link UpdateScheduledActionCommandInput} for command's `input` shape.
+ * @see {@link UpdateScheduledActionCommandOutput} for command's `response` shape.
+ * @see {@link RedshiftServerlessClientResolvedConfig | config} for RedshiftServerlessClient's `config` shape.
+ *
+ * @throws {@link ConflictException} (client fault)
+ * The submitted action has conflicts.
+ *
+ * @throws {@link InternalServerException} (server fault)
+ * The request processing has failed because of an unknown error, exception or failure.
+ *
+ * @throws {@link ResourceNotFoundException} (client fault)
+ * The resource could not be found.
+ *
+ * @throws {@link ValidationException} (client fault)
+ * The input failed to satisfy the constraints specified by an AWS service.
+ *
+ * @throws {@link RedshiftServerlessServiceException}
+ * Base exception class for all service exceptions from RedshiftServerless service.
+ *
+ */
+export class UpdateScheduledActionCommand extends $Command<
+ UpdateScheduledActionCommandInput,
+ UpdateScheduledActionCommandOutput,
+ RedshiftServerlessClientResolvedConfig
+> {
+ public static getEndpointParameterInstructions(): EndpointParameterInstructions {
+ return {
+ UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
+ Endpoint: { type: "builtInParams", name: "endpoint" },
+ Region: { type: "builtInParams", name: "region" },
+ UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" },
+ };
+ }
+
+ /**
+ * @public
+ */
+ constructor(readonly input: UpdateScheduledActionCommandInput) {
+ super();
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: RedshiftServerlessClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+ this.middlewareStack.use(
+ getEndpointPlugin(configuration, UpdateScheduledActionCommand.getEndpointParameterInstructions())
+ );
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "RedshiftServerlessClient";
+ const commandName = "UpdateScheduledActionCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: (_: any) => _,
+ outputFilterSensitiveLog: (_: any) => _,
+ [SMITHY_CONTEXT_KEY]: {
+ service: "RedshiftServerless",
+ operation: "UpdateScheduledAction",
+ },
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ /**
+ * @internal
+ */
+ private serialize(input: UpdateScheduledActionCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return se_UpdateScheduledActionCommand(input, context);
+ }
+
+ /**
+ * @internal
+ */
+ private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {
+ return de_UpdateScheduledActionCommand(output, context);
+ }
+}
diff --git a/clients/client-redshift-serverless/src/commands/UpdateSnapshotCopyConfigurationCommand.ts b/clients/client-redshift-serverless/src/commands/UpdateSnapshotCopyConfigurationCommand.ts
new file mode 100644
index 0000000000000..3b450a9c5f050
--- /dev/null
+++ b/clients/client-redshift-serverless/src/commands/UpdateSnapshotCopyConfigurationCommand.ts
@@ -0,0 +1,177 @@
+// smithy-typescript generated code
+import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint";
+import { getSerdePlugin } from "@smithy/middleware-serde";
+import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http";
+import { Command as $Command } from "@smithy/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ HttpHandlerOptions as __HttpHandlerOptions,
+ MetadataBearer as __MetadataBearer,
+ MiddlewareStack,
+ SerdeContext as __SerdeContext,
+ SMITHY_CONTEXT_KEY,
+} from "@smithy/types";
+
+import { UpdateSnapshotCopyConfigurationRequest, UpdateSnapshotCopyConfigurationResponse } from "../models/models_0";
+import {
+ de_UpdateSnapshotCopyConfigurationCommand,
+ se_UpdateSnapshotCopyConfigurationCommand,
+} from "../protocols/Aws_json1_1";
+import {
+ RedshiftServerlessClientResolvedConfig,
+ ServiceInputTypes,
+ ServiceOutputTypes,
+} from "../RedshiftServerlessClient";
+
+/**
+ * @public
+ */
+export { __MetadataBearer, $Command };
+/**
+ * @public
+ *
+ * The input for {@link UpdateSnapshotCopyConfigurationCommand}.
+ */
+export interface UpdateSnapshotCopyConfigurationCommandInput extends UpdateSnapshotCopyConfigurationRequest {}
+/**
+ * @public
+ *
+ * The output of {@link UpdateSnapshotCopyConfigurationCommand}.
+ */
+export interface UpdateSnapshotCopyConfigurationCommandOutput
+ extends UpdateSnapshotCopyConfigurationResponse,
+ __MetadataBearer {}
+
+/**
+ * @public
+ * Updates a snapshot copy configuration.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { RedshiftServerlessClient, UpdateSnapshotCopyConfigurationCommand } from "@aws-sdk/client-redshift-serverless"; // ES Modules import
+ * // const { RedshiftServerlessClient, UpdateSnapshotCopyConfigurationCommand } = require("@aws-sdk/client-redshift-serverless"); // CommonJS import
+ * const client = new RedshiftServerlessClient(config);
+ * const input = { // UpdateSnapshotCopyConfigurationRequest
+ * snapshotCopyConfigurationId: "STRING_VALUE", // required
+ * snapshotRetentionPeriod: Number("int"),
+ * };
+ * const command = new UpdateSnapshotCopyConfigurationCommand(input);
+ * const response = await client.send(command);
+ * // { // UpdateSnapshotCopyConfigurationResponse
+ * // snapshotCopyConfiguration: { // SnapshotCopyConfiguration
+ * // snapshotCopyConfigurationId: "STRING_VALUE",
+ * // snapshotCopyConfigurationArn: "STRING_VALUE",
+ * // namespaceName: "STRING_VALUE",
+ * // destinationRegion: "STRING_VALUE",
+ * // snapshotRetentionPeriod: Number("int"),
+ * // destinationKmsKeyId: "STRING_VALUE",
+ * // },
+ * // };
+ *
+ * ```
+ *
+ * @param UpdateSnapshotCopyConfigurationCommandInput - {@link UpdateSnapshotCopyConfigurationCommandInput}
+ * @returns {@link UpdateSnapshotCopyConfigurationCommandOutput}
+ * @see {@link UpdateSnapshotCopyConfigurationCommandInput} for command's `input` shape.
+ * @see {@link UpdateSnapshotCopyConfigurationCommandOutput} for command's `response` shape.
+ * @see {@link RedshiftServerlessClientResolvedConfig | config} for RedshiftServerlessClient's `config` shape.
+ *
+ * @throws {@link AccessDeniedException} (client fault)
+ * You do not have sufficient access to perform this action.
+ *
+ * @throws {@link ConflictException} (client fault)
+ * The submitted action has conflicts.
+ *
+ * @throws {@link InternalServerException} (server fault)
+ * The request processing has failed because of an unknown error, exception or failure.
+ *
+ * @throws {@link ResourceNotFoundException} (client fault)
+ * The resource could not be found.
+ *
+ * @throws {@link ValidationException} (client fault)
+ * The input failed to satisfy the constraints specified by an AWS service.
+ *
+ * @throws {@link RedshiftServerlessServiceException}
+ * Base exception class for all service exceptions from RedshiftServerless service.
+ *
+ */
+export class UpdateSnapshotCopyConfigurationCommand extends $Command<
+ UpdateSnapshotCopyConfigurationCommandInput,
+ UpdateSnapshotCopyConfigurationCommandOutput,
+ RedshiftServerlessClientResolvedConfig
+> {
+ public static getEndpointParameterInstructions(): EndpointParameterInstructions {
+ return {
+ UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
+ Endpoint: { type: "builtInParams", name: "endpoint" },
+ Region: { type: "builtInParams", name: "region" },
+ UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" },
+ };
+ }
+
+ /**
+ * @public
+ */
+ constructor(readonly input: UpdateSnapshotCopyConfigurationCommandInput) {
+ super();
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: RedshiftServerlessClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+ this.middlewareStack.use(
+ getEndpointPlugin(configuration, UpdateSnapshotCopyConfigurationCommand.getEndpointParameterInstructions())
+ );
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "RedshiftServerlessClient";
+ const commandName = "UpdateSnapshotCopyConfigurationCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: (_: any) => _,
+ outputFilterSensitiveLog: (_: any) => _,
+ [SMITHY_CONTEXT_KEY]: {
+ service: "RedshiftServerless",
+ operation: "UpdateSnapshotCopyConfiguration",
+ },
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ /**
+ * @internal
+ */
+ private serialize(
+ input: UpdateSnapshotCopyConfigurationCommandInput,
+ context: __SerdeContext
+ ): Promise<__HttpRequest> {
+ return se_UpdateSnapshotCopyConfigurationCommand(input, context);
+ }
+
+ /**
+ * @internal
+ */
+ private deserialize(
+ output: __HttpResponse,
+ context: __SerdeContext
+ ): Promise {
+ return de_UpdateSnapshotCopyConfigurationCommand(output, context);
+ }
+}
diff --git a/clients/client-redshift-serverless/src/commands/UpdateWorkgroupCommand.ts b/clients/client-redshift-serverless/src/commands/UpdateWorkgroupCommand.ts
index d23d6212e6301..76c05f9937583 100644
--- a/clients/client-redshift-serverless/src/commands/UpdateWorkgroupCommand.ts
+++ b/clients/client-redshift-serverless/src/commands/UpdateWorkgroupCommand.ts
@@ -119,6 +119,9 @@ export interface UpdateWorkgroupCommandOutput extends UpdateWorkgroupResponse, _
* // workgroupVersion: "STRING_VALUE",
* // patchVersion: "STRING_VALUE",
* // maxCapacity: Number("int"),
+ * // crossAccountVpcs: [ // VpcIds
+ * // "STRING_VALUE",
+ * // ],
* // },
* // };
*
diff --git a/clients/client-redshift-serverless/src/commands/index.ts b/clients/client-redshift-serverless/src/commands/index.ts
index 62223a6522701..7face2b437c10 100644
--- a/clients/client-redshift-serverless/src/commands/index.ts
+++ b/clients/client-redshift-serverless/src/commands/index.ts
@@ -3,14 +3,18 @@ export * from "./ConvertRecoveryPointToSnapshotCommand";
export * from "./CreateCustomDomainAssociationCommand";
export * from "./CreateEndpointAccessCommand";
export * from "./CreateNamespaceCommand";
+export * from "./CreateScheduledActionCommand";
export * from "./CreateSnapshotCommand";
+export * from "./CreateSnapshotCopyConfigurationCommand";
export * from "./CreateUsageLimitCommand";
export * from "./CreateWorkgroupCommand";
export * from "./DeleteCustomDomainAssociationCommand";
export * from "./DeleteEndpointAccessCommand";
export * from "./DeleteNamespaceCommand";
export * from "./DeleteResourcePolicyCommand";
+export * from "./DeleteScheduledActionCommand";
export * from "./DeleteSnapshotCommand";
+export * from "./DeleteSnapshotCopyConfigurationCommand";
export * from "./DeleteUsageLimitCommand";
export * from "./DeleteWorkgroupCommand";
export * from "./GetCredentialsCommand";
@@ -19,6 +23,7 @@ export * from "./GetEndpointAccessCommand";
export * from "./GetNamespaceCommand";
export * from "./GetRecoveryPointCommand";
export * from "./GetResourcePolicyCommand";
+export * from "./GetScheduledActionCommand";
export * from "./GetSnapshotCommand";
export * from "./GetTableRestoreStatusCommand";
export * from "./GetUsageLimitCommand";
@@ -27,6 +32,8 @@ export * from "./ListCustomDomainAssociationsCommand";
export * from "./ListEndpointAccessCommand";
export * from "./ListNamespacesCommand";
export * from "./ListRecoveryPointsCommand";
+export * from "./ListScheduledActionsCommand";
+export * from "./ListSnapshotCopyConfigurationsCommand";
export * from "./ListSnapshotsCommand";
export * from "./ListTableRestoreStatusCommand";
export * from "./ListTagsForResourceCommand";
@@ -35,12 +42,15 @@ export * from "./ListWorkgroupsCommand";
export * from "./PutResourcePolicyCommand";
export * from "./RestoreFromRecoveryPointCommand";
export * from "./RestoreFromSnapshotCommand";
+export * from "./RestoreTableFromRecoveryPointCommand";
export * from "./RestoreTableFromSnapshotCommand";
export * from "./TagResourceCommand";
export * from "./UntagResourceCommand";
export * from "./UpdateCustomDomainAssociationCommand";
export * from "./UpdateEndpointAccessCommand";
export * from "./UpdateNamespaceCommand";
+export * from "./UpdateScheduledActionCommand";
export * from "./UpdateSnapshotCommand";
+export * from "./UpdateSnapshotCopyConfigurationCommand";
export * from "./UpdateUsageLimitCommand";
export * from "./UpdateWorkgroupCommand";
diff --git a/clients/client-redshift-serverless/src/models/models_0.ts b/clients/client-redshift-serverless/src/models/models_0.ts
index 87a57f19bcfa6..5dc64d77c892f 100644
--- a/clients/client-redshift-serverless/src/models/models_0.ts
+++ b/clients/client-redshift-serverless/src/models/models_0.ts
@@ -63,7 +63,7 @@ export interface ConfigParameter {
/**
* @public
* The key of the parameter. The
- * options are auto_mv
, datestyle
, enable_case_sensitivity_identifier
, enable_user_activity_logging
,
+ * options are auto_mv
, datestyle
, enable_case_sensitive_identifier
, enable_user_activity_logging
,
* query_group
, search_path
, and query monitoring metrics that let
* you define performance boundaries. For more information about query monitoring rules and available metrics, see
* Query monitoring metrics for Amazon Redshift Serverless.
@@ -534,6 +534,12 @@ export interface CreateEndpointAccessRequest {
* protocols, and sources for inbound traffic that you are authorizing into your endpoint.
*/
vpcSecurityGroupIds?: string[];
+
+ /**
+ * @public
+ * The owner Amazon Web Services account for the Amazon Redshift Serverless workgroup.
+ */
+ ownerAccount?: string;
}
/**
@@ -900,6 +906,309 @@ export interface CreateNamespaceResponse {
namespace?: Namespace;
}
+/**
+ * @public
+ * The schedule of when Amazon Redshift Serverless should run the scheduled action.
+ */
+export type Schedule = Schedule.AtMember | Schedule.CronMember | Schedule.$UnknownMember;
+
+/**
+ * @public
+ */
+export namespace Schedule {
+ /**
+ * @public
+ * The timestamp of when Amazon Redshift Serverless should run the scheduled action. Format of at expressions is "at(yyyy-mm-ddThh:mm:ss)
". For example, "at(2016-03-04T17:27:00)
".
+ */
+ export interface AtMember {
+ at: Date;
+ cron?: never;
+ $unknown?: never;
+ }
+
+ /**
+ * @public
+ * The cron expression to use to schedule a recurring scheduled action. Schedule invocations must be separated by at least one hour.
+ * Format of cron expressions is "cron(Minutes Hours Day-of-month Month Day-of-week Year)
". For example, "cron(0 10 ? * MON *)
". For more information, see
+ * Cron Expressions in the Amazon CloudWatch Events User Guide.
+ */
+ export interface CronMember {
+ at?: never;
+ cron: string;
+ $unknown?: never;
+ }
+
+ /**
+ * @public
+ */
+ export interface $UnknownMember {
+ at?: never;
+ cron?: never;
+ $unknown: [string, any];
+ }
+
+ export interface Visitor {
+ at: (value: Date) => T;
+ cron: (value: string) => T;
+ _: (name: string, value: any) => T;
+ }
+
+ export const visit = (value: Schedule, visitor: Visitor): T => {
+ if (value.at !== undefined) return visitor.at(value.at);
+ if (value.cron !== undefined) return visitor.cron(value.cron);
+ return visitor._(value.$unknown[0], value.$unknown[1]);
+ };
+}
+
+/**
+ * @public
+ * The parameters that you can use to configure a scheduled action to create a snapshot. For more information about creating a scheduled action, see
+ * CreateScheduledAction.
+ */
+export interface CreateSnapshotScheduleActionParameters {
+ /**
+ * @public
+ * The name of the namespace for which you want to configure a scheduled action to create a snapshot.
+ */
+ namespaceName: string | undefined;
+
+ /**
+ * @public
+ * A string prefix that is attached to the name of the snapshot created by the scheduled action. The final
+ * name of the snapshot is the string prefix appended by the date and time of when the snapshot was created.
+ */
+ snapshotNamePrefix: string | undefined;
+
+ /**
+ * @public
+ * The retention period of the snapshot created by the scheduled action.
+ */
+ retentionPeriod?: number;
+
+ /**
+ * @public
+ * An array of Tag objects to associate with the snapshot.
+ */
+ tags?: Tag[];
+}
+
+/**
+ * @public
+ * A JSON format string of the Amazon Redshift Serverless API operation with input parameters. The following is an example of a target action.
+ *
+ * "\{"CreateSnapshot": \{"NamespaceName": "sampleNamespace","SnapshotName": "sampleSnapshot", "retentionPeriod": "1"\}\}"
+ *
+ */
+export type TargetAction = TargetAction.CreateSnapshotMember | TargetAction.$UnknownMember;
+
+/**
+ * @public
+ */
+export namespace TargetAction {
+ /**
+ * @public
+ * The parameters that you can use to configure a scheduled action to create a snapshot. For more information about creating a scheduled action, see
+ * CreateScheduledAction.
+ */
+ export interface CreateSnapshotMember {
+ createSnapshot: CreateSnapshotScheduleActionParameters;
+ $unknown?: never;
+ }
+
+ /**
+ * @public
+ */
+ export interface $UnknownMember {
+ createSnapshot?: never;
+ $unknown: [string, any];
+ }
+
+ export interface Visitor {
+ createSnapshot: (value: CreateSnapshotScheduleActionParameters) => T;
+ _: (name: string, value: any) => T;
+ }
+
+ export const visit = (value: TargetAction, visitor: Visitor): T => {
+ if (value.createSnapshot !== undefined) return visitor.createSnapshot(value.createSnapshot);
+ return visitor._(value.$unknown[0], value.$unknown[1]);
+ };
+}
+
+/**
+ * @public
+ */
+export interface CreateScheduledActionRequest {
+ /**
+ * @public
+ * The name of the scheduled action.
+ */
+ scheduledActionName: string | undefined;
+
+ /**
+ * @public
+ * A JSON format string of the Amazon Redshift Serverless API operation with input parameters. The following is an example of a target action.
+ *
+ * "\{"CreateSnapshot": \{"NamespaceName": "sampleNamespace","SnapshotName": "sampleSnapshot", "retentionPeriod": "1"\}\}"
+ *
+ */
+ targetAction: TargetAction | undefined;
+
+ /**
+ * @public
+ * The schedule for a one-time (at format) or recurring (cron format) scheduled action. Schedule invocations must be separated by at least one hour.
+ * Format of at expressions is "at(yyyy-mm-ddThh:mm:ss)
". For example, "at(2016-03-04T17:27:00)
".
+ * Format of cron expressions is "cron(Minutes Hours Day-of-month Month Day-of-week Year)
". For example, "cron(0 10 ? * MON *)
". For more information, see
+ * Cron Expressions in the Amazon CloudWatch Events User Guide.
+ */
+ schedule: Schedule | undefined;
+
+ /**
+ * @public
+ * The ARN of the IAM role to assume to run the scheduled action. This IAM role must have permission to run the Amazon Redshift Serverless API operation in the scheduled action.
+ * This IAM role must allow the Amazon Redshift scheduler to schedule creating snapshots. (Principal scheduler.redshift.amazonaws.com) to assume permissions on your behalf.
+ * For more information about the IAM role to use with the Amazon Redshift scheduler, see Using Identity-Based Policies for
+ * Amazon Redshift in the Amazon Redshift Cluster Management Guide
+ */
+ roleArn: string | undefined;
+
+ /**
+ * @public
+ * The name of the namespace for which to create a scheduled action.
+ */
+ namespaceName: string | undefined;
+
+ /**
+ * @public
+ * Indicates whether the schedule is enabled. If false, the scheduled action does not trigger. For more information about state
+ * of the scheduled action, see ScheduledAction.
+ */
+ enabled?: boolean;
+
+ /**
+ * @public
+ * The description of the scheduled action.
+ */
+ scheduledActionDescription?: string;
+
+ /**
+ * @public
+ * The start time in UTC when the schedule is active. Before this time, the scheduled action does not trigger.
+ */
+ startTime?: Date;
+
+ /**
+ * @public
+ * The end time in UTC when the schedule is no longer active. After this time, the scheduled action does not trigger.
+ */
+ endTime?: Date;
+}
+
+/**
+ * @public
+ * @enum
+ */
+export const State = {
+ ACTIVE: "ACTIVE",
+ DISABLED: "DISABLED",
+} as const;
+
+/**
+ * @public
+ */
+export type State = (typeof State)[keyof typeof State];
+
+/**
+ * @public
+ * The returned scheduled action object.
+ */
+export interface ScheduledActionResponse {
+ /**
+ * @public
+ * The name of the scheduled action.
+ */
+ scheduledActionName?: string;
+
+ /**
+ * @public
+ * The schedule for a one-time (at format) or recurring (cron format) scheduled action. Schedule invocations must be separated by at least one hour.
+ * Format of at expressions is "at(yyyy-mm-ddThh:mm:ss)
". For example, "at(2016-03-04T17:27:00)
".
+ * Format of cron expressions is "cron(Minutes Hours Day-of-month Month Day-of-week Year)
". For example, "cron(0 10 ? * MON *)
". For more information, see
+ * Cron Expressions in the Amazon CloudWatch Events User Guide.
+ */
+ schedule?: Schedule;
+
+ /**
+ * @public
+ * The description of the scheduled action.
+ */
+ scheduledActionDescription?: string;
+
+ /**
+ * @public
+ * An array of timestamps of when the next scheduled actions will trigger.
+ */
+ nextInvocations?: Date[];
+
+ /**
+ * @public
+ * The ARN of the IAM role to assume to run the scheduled action. This IAM role must have permission to run the Amazon Redshift Serverless API operation in the scheduled action.
+ * This IAM role must allow the Amazon Redshift scheduler to schedule creating snapshots. (Principal scheduler.redshift.amazonaws.com) to assume permissions on your behalf.
+ * For more information about the IAM role to use with the Amazon Redshift scheduler, see Using Identity-Based Policies for
+ * Amazon Redshift in the Amazon Redshift Cluster Management Guide
+ */
+ roleArn?: string;
+
+ /**
+ * @public
+ * The state of the scheduled action.
+ */
+ state?: State;
+
+ /**
+ * @public
+ * The start time in UTC when the schedule is active. Before this time, the scheduled action does not trigger.
+ */
+ startTime?: Date;
+
+ /**
+ * @public
+ * The end time of
+ */
+ endTime?: Date;
+
+ /**
+ * @public
+ * A JSON format string of the Amazon Redshift Serverless API operation with input parameters. The following is an example of a target action.
+ *
+ * "\{"CreateSnapshot": \{"NamespaceName": "sampleNamespace","SnapshotName": "sampleSnapshot", "retentionPeriod": "1"\}\}"
+ *
+ */
+ targetAction?: TargetAction;
+
+ /**
+ * @public
+ * The end time in UTC when the schedule is no longer active. After this time, the scheduled action does not trigger.
+ */
+ namespaceName?: string;
+
+ /**
+ * @public
+ * The uuid of the scheduled action.
+ */
+ scheduledActionUuid?: string;
+}
+
+/**
+ * @public
+ */
+export interface CreateScheduledActionResponse {
+ /**
+ * @public
+ * The returned ScheduledAction
object that describes the properties of a scheduled action.
+ */
+ scheduledAction?: ScheduledActionResponse;
+}
+
/**
* @public
*/
@@ -940,6 +1249,88 @@ export interface CreateSnapshotResponse {
snapshot?: Snapshot;
}
+/**
+ * @public
+ */
+export interface CreateSnapshotCopyConfigurationRequest {
+ /**
+ * @public
+ * The name of the namespace to copy snapshots from.
+ */
+ namespaceName: string | undefined;
+
+ /**
+ * @public
+ * The destination Amazon Web Services Region that you want to copy snapshots to.
+ */
+ destinationRegion: string | undefined;
+
+ /**
+ * @public
+ * The retention period of the snapshots that you copy to the destination Amazon Web Services Region.
+ */
+ snapshotRetentionPeriod?: number;
+
+ /**
+ * @public
+ * The KMS key to use to encrypt your snapshots in the destination Amazon Web Services Region.
+ */
+ destinationKmsKeyId?: string;
+}
+
+/**
+ * @public
+ * The object that you configure to copy snapshots from one namespace to a namespace in another Amazon Web Services Region.
+ */
+export interface SnapshotCopyConfiguration {
+ /**
+ * @public
+ * The ID of the snapshot copy configuration object.
+ */
+ snapshotCopyConfigurationId?: string;
+
+ /**
+ * @public
+ * The ARN of the snapshot copy configuration object.
+ */
+ snapshotCopyConfigurationArn?: string;
+
+ /**
+ * @public
+ * The name of the namespace to copy snapshots from in the source Amazon Web Services Region.
+ */
+ namespaceName?: string;
+
+ /**
+ * @public
+ * The destination Amazon Web Services Region to copy snapshots to.
+ */
+ destinationRegion?: string;
+
+ /**
+ * @public
+ * The retention period of snapshots that are copied to the destination Amazon Web Services Region.
+ */
+ snapshotRetentionPeriod?: number;
+
+ /**
+ * @public
+ * The ID of the KMS key to use to encrypt your snapshots in the destination Amazon Web Services Region.
+ */
+ destinationKmsKeyId?: string;
+}
+
+/**
+ * @public
+ */
+export interface CreateSnapshotCopyConfigurationResponse {
+ /**
+ * @public
+ * The snapshot copy configuration object that is returned.
+ */
+ snapshotCopyConfiguration: SnapshotCopyConfiguration | undefined;
+}
+
/**
* @public
* @enum
@@ -1111,7 +1502,7 @@ export interface CreateWorkgroupRequest {
/**
* @public
* An array of parameters to set for advanced control over a database. The
- * options are auto_mv
, datestyle
, enable_case_sensitivity_identifier
, enable_user_activity_logging
,
+ * options are auto_mv
, datestyle
, enable_case_sensitive_identifier
, enable_user_activity_logging
,
* query_group
, search_path
, and query monitoring metrics that let you define performance boundaries. For more information about query monitoring rules and available metrics, see
*
* Query monitoring metrics for Amazon Redshift Serverless.
@@ -1240,8 +1631,8 @@ export interface Workgroup {
/**
* @public
* An array of parameters to set for advanced control over a database. The
- * options are auto_mv
, datestyle
, enable_case_sensitivity_identifier
, enable_user_activity_logging
,
- * query_group
, , search_path
, and query monitoring metrics that let you define performance boundaries.
+ * options are auto_mv
, datestyle
, enable_case_sensitive_identifier
, enable_user_activity_logging
,
+ * query_group
, search_path
, and query monitoring metrics that let you define performance boundaries.
* For more information about query monitoring rules and available metrics, see Query monitoring metrics for Amazon Redshift Serverless.
*/
configParameters?: ConfigParameter[];
@@ -1325,6 +1716,12 @@ export interface Workgroup {
* The maximum data-warehouse capacity Amazon Redshift Serverless uses to serve queries. The max capacity is specified in RPUs.
*/
maxCapacity?: number;
+
+ /**
+ * @public
+ * A list of VPCs. Each entry is the unique identifier of a virtual private cloud with access to Amazon Redshift Serverless. If all of the VPCs for the grantee are allowed, it shows an asterisk.
+ */
+ crossAccountVpcs?: string[];
}
/**
@@ -1433,6 +1830,12 @@ export interface ListEndpointAccessRequest {
* The unique identifier of the virtual private cloud with access to Amazon Redshift Serverless.
*/
vpcId?: string;
+
+ /**
+ * @public
+ * The owner Amazon Web Services account for the Amazon Redshift Serverless workgroup.
+ */
+ ownerAccount?: string;
}
/**
@@ -1522,58 +1925,102 @@ export interface DeleteNamespaceRequest {
/**
* @public
- * How long to retain the final snapshot.
+ * How long to retain the final snapshot.
+ */
+ finalSnapshotRetentionPeriod?: number;
+}
+
+/**
+ * @public
+ */
+export interface DeleteNamespaceResponse {
+ /**
+ * @public
+ * The deleted namespace object.
+ */
+ namespace: Namespace | undefined;
+}
+
+/**
+ * @public
+ */
+export interface DeleteResourcePolicyRequest {
+ /**
+ * @public
+ * The Amazon Resource Name (ARN) of the policy to delete.
+ */
+ resourceArn: string | undefined;
+}
+
+/**
+ * @public
+ */
+export interface DeleteResourcePolicyResponse {}
+
+/**
+ * @public
+ */
+export interface DeleteScheduledActionRequest {
+ /**
+ * @public
+ * The name of the scheduled action to delete.
*/
- finalSnapshotRetentionPeriod?: number;
+ scheduledActionName: string | undefined;
}
/**
* @public
*/
-export interface DeleteNamespaceResponse {
+export interface DeleteScheduledActionResponse {
/**
* @public
- * The deleted namespace object.
+ * The deleted scheduled action object.
*/
- namespace: Namespace | undefined;
+ scheduledAction?: ScheduledActionResponse;
}
/**
* @public
*/
-export interface DeleteResourcePolicyRequest {
+export interface DeleteSnapshotRequest {
/**
* @public
- * The Amazon Resource Name (ARN) of the policy to delete.
+ * The name of the snapshot to be deleted.
*/
- resourceArn: string | undefined;
+ snapshotName: string | undefined;
}
/**
* @public
*/
-export interface DeleteResourcePolicyResponse {}
+export interface DeleteSnapshotResponse {
+ /**
+ * @public
+ * The deleted snapshot object.
+ */
+ snapshot?: Snapshot;
+}
/**
* @public
*/
-export interface DeleteSnapshotRequest {
+export interface DeleteSnapshotCopyConfigurationRequest {
/**
* @public
- * The name of the snapshot to be deleted.
+ * The ID of the snapshot copy configuration to delete.
*/
- snapshotName: string | undefined;
+ snapshotCopyConfigurationId: string | undefined;
}
/**
* @public
*/
-export interface DeleteSnapshotResponse {
+export interface DeleteSnapshotCopyConfigurationResponse {
/**
* @public
- * The deleted snapshot object.
+ * The deleted snapshot copy configuration object.
*/
- snapshot?: Snapshot;
+ snapshotCopyConfiguration: SnapshotCopyConfiguration | undefined;
}
/**
@@ -1877,6 +2324,28 @@ export interface GetResourcePolicyResponse {
resourcePolicy?: ResourcePolicy;
}
+/**
+ * @public
+ */
+export interface GetScheduledActionRequest {
+ /**
+ * @public
+ * The name of the scheduled action.
+ */
+ scheduledActionName: string | undefined;
+}
+
+/**
+ * @public
+ */
+export interface GetScheduledActionResponse {
+ /**
+ * @public
+ * The returned scheduled action object.
+ */
+ scheduledAction?: ScheduledActionResponse;
+}
+
/**
* @public
*/
@@ -1936,14 +2405,13 @@ export interface TableRestoreStatus {
/**
* @public
* A value that describes the current state of the table restore request.
- * Possible values include SUCCEEDED
, FAILED
, CANCELED
, PENDING
, IN_PROGRESS
.
+ * Possible values are SUCCEEDED
, FAILED
, CANCELED
, PENDING
, and IN_PROGRESS
.
*/
status?: string;
/**
* @public
- * A description of the status of the table restore request.
- * Status values include SUCCEEDED
, FAILED
, CANCELED
, PENDING
, IN_PROGRESS
.
+ * A message that explains the returned status. For example, if the status of the operation is FAILED
, the message explains why the operation failed.
*/
message?: string;
@@ -2019,6 +2487,12 @@ export interface TableRestoreStatus {
* The name of the table to create from the restore operation.
*/
newTableName?: string;
+
+ /**
+ * @public
+ * The ID of the recovery point being restored from.
+ */
+ recoveryPointId?: string;
}
/**
@@ -2250,6 +2724,89 @@ export interface ListRecoveryPointsResponse {
nextToken?: string;
}
+/**
+ * @public
+ */
+export interface ListScheduledActionsRequest {
+ /**
+ * @public
+ * If nextToken
is returned, there are more results available. The value of nextToken
is a unique pagination token for each page.
+ * Make the call again using the returned token to retrieve the next page.
+ */
+ nextToken?: string;
+
+ /**
+ * @public
+ * An optional parameter that specifies the maximum number of results to return. Use nextToken
to display the next page of results.
+ */
+ maxResults?: number;
+
+ /**
+ * @public
+ * The name of namespace associated with the scheduled action to retrieve.
+ */
+ namespaceName?: string;
+}
+
+/**
+ * @public
+ */
+export interface ListScheduledActionsResponse {
+ /**
+ * @public
+ * If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page.
+ */
+ nextToken?: string;
+
+ /**
+ * @public
+ * All of the returned scheduled action objects.
+ */
+ scheduledActions?: string[];
+}
+
+/**
+ * @public
+ */
+export interface ListSnapshotCopyConfigurationsRequest {
+ /**
+ * @public
+ * The namespace from which to list all snapshot copy configurations.
+ */
+ namespaceName?: string;
+
+ /**
+ * @public
+ * If nextToken
is returned, there are more results available. The value of nextToken
is a unique pagination token for each page. Make the call again using
+ * the returned token to retrieve the next page.
+ */
+ nextToken?: string;
+
+ /**
+ * @public
+ * An optional parameter that specifies the maximum number of results to return. You can use nextToken
to display the next page of results.
+ */
+ maxResults?: number;
+}
+
+/**
+ * @public
+ */
+export interface ListSnapshotCopyConfigurationsResponse {
+ /**
+ * @public
+ * If nextToken
is returned, there are more results available. The value of nextToken
is a unique pagination token for each page. Make the call again using
+ * the returned token to retrieve the next page.
+ */
+ nextToken?: string;
+
+ /**
+ * @public
+ * All of the returned snapshot copy configurations.
+ */
+ snapshotCopyConfigurations: SnapshotCopyConfiguration[] | undefined;
+}
+
/**
* @public
*/
@@ -2462,6 +3019,12 @@ export interface ListWorkgroupsRequest {
* You can use nextToken
to display the next page of results.
*/
maxResults?: number;
+
+ /**
+ * @public
+ * The owner Amazon Web Services account for the Amazon Redshift Serverless workgroup.
+ */
+ ownerAccount?: string;
}
/**
@@ -2637,6 +3200,155 @@ export interface RestoreFromRecoveryPointResponse {
namespace?: Namespace;
}
+/**
+ * @public
+ */
+export interface RestoreTableFromRecoveryPointRequest {
+ /**
+ * @public
+ * Namespace of the recovery point to restore from.
+ */
+ namespaceName: string | undefined;
+
+ /**
+ * @public
+ * The workgroup to restore the table to.
+ */
+ workgroupName: string | undefined;
+
+ /**
+ * @public
+ * The ID of the recovery point to restore the table from.
+ */
+ recoveryPointId: string | undefined;
+
+ /**
+ * @public
+ * The name of the source database that contains the table being restored.
+ */
+ sourceDatabaseName: string | undefined;
+
+ /**
+ * @public
+ * The name of the source schema that contains the table being restored.
+ */
+ sourceSchemaName?: string;
+
+ /**
+ * @public
+ * The name of the source table being restored.
+ */
+ sourceTableName: string | undefined;
+
+ /**
+ * @public
+ * The name of the database to restore the table to.
+ */
+ targetDatabaseName?: string;
+
+ /**
+ * @public
+ * The name of the schema to restore the table to.
+ */
+ targetSchemaName?: string;
+
+ /**
+ * @public
+ * The name of the table to create from the restore operation.
+ */
+ newTableName: string | undefined;
+
+ /**
+ * @public
+ * Indicates whether name identifiers for database, schema, and table are case sensitive. If true, the names are case sensitive. If false, the names are not case sensitive. The default is false.
+ */
+ activateCaseSensitiveIdentifier?: boolean;
+}
+
+/**
+ * @public
+ */
+export interface RestoreTableFromRecoveryPointResponse {
+ /**
+ * @public
+ * Contains information about a table restore request.
+ */
+ tableRestoreStatus?: TableRestoreStatus;
+}
+
+/**
+ * @public
+ */
+export interface UpdateScheduledActionRequest {
+ /**
+ * @public
+ * The name of the scheduled action to update to.
+ */
+ scheduledActionName: string | undefined;
+
+ /**
+ * @public
+ * A JSON format string of the Amazon Redshift Serverless API operation with input parameters. The following is an example of a target action.
+ *
+ * "\{"CreateSnapshot": \{"NamespaceName": "sampleNamespace","SnapshotName": "sampleSnapshot", "retentionPeriod": "1"\}\}"
+ *
+ */
+ targetAction?: TargetAction;
+
+ /**
+ * @public
+ * The schedule for a one-time (at format) or recurring (cron format) scheduled action. Schedule invocations must be separated by at least one hour.
+ * Format of at expressions is "at(yyyy-mm-ddThh:mm:ss)
". For example, "at(2016-03-04T17:27:00)
".
+ * Format of cron expressions is "cron(Minutes Hours Day-of-month Month Day-of-week Year)
". For example, "cron(0 10 ? * MON *)
". For more information, see
+ * Cron Expressions in the Amazon CloudWatch Events User Guide.
+ */
+ schedule?: Schedule;
+
+ /**
+ * @public
+ * The ARN of the IAM role to assume to run the scheduled action. This IAM role must have permission to run the Amazon Redshift Serverless API operation in the scheduled action.
+ * This IAM role must allow the Amazon Redshift scheduler to schedule creating snapshots (Principal scheduler.redshift.amazonaws.com) to assume permissions on your behalf.
+ * For more information about the IAM role to use with the Amazon Redshift scheduler, see Using Identity-Based Policies for
+ * Amazon Redshift in the Amazon Redshift Cluster Management Guide
+ */
+ roleArn?: string;
+
+ /**
+ * @public
+ * Specifies whether to enable the scheduled action.
+ */
+ enabled?: boolean;
+
+ /**
+ * @public
+ * The descripion of the scheduled action to update to.
+ */
+ scheduledActionDescription?: string;
+
+ /**
+ * @public
+ * The start time in UTC of the scheduled action to update to.
+ */
+ startTime?: Date;
+
+ /**
+ * @public
+ * The end time in UTC of the scheduled action to update.
+ */
+ endTime?: Date;
+}
+
+/**
+ * @public
+ */
+export interface UpdateScheduledActionResponse {
+ /**
+ * @public
+ * The ScheduledAction object that was updated.
+ */
+ scheduledAction?: ScheduledActionResponse;
+}
+
/**
* @public
*/
@@ -2818,6 +3530,34 @@ export interface UpdateSnapshotResponse {
snapshot?: Snapshot;
}
+/**
+ * @public
+ */
+export interface UpdateSnapshotCopyConfigurationRequest {
+ /**
+ * @public
+ * The ID of the snapshot copy configuration to update.
+ */
+ snapshotCopyConfigurationId: string | undefined;
+
+ /**
+ * @public
+ * The new retention period of how long to keep a snapshot in the destination Amazon Web Services Region.
+ */
+ snapshotRetentionPeriod?: number;
+}
+
+/**
+ * @public
+ */
+export interface UpdateSnapshotCopyConfigurationResponse {
+ /**
+ * @public
+ * The updated snapshot copy configuration object.
+ */
+ snapshotCopyConfiguration: SnapshotCopyConfiguration | undefined;
+}
+
/**
* @public
*/
@@ -2976,7 +3716,7 @@ export interface UpdateWorkgroupRequest {
/**
* @public
* An array of parameters to set for advanced control over a database. The
- * options are auto_mv
, datestyle
, enable_case_sensitivity_identifier
, enable_user_activity_logging
,
+ * options are auto_mv
, datestyle
, enable_case_sensitive_identifier
, enable_user_activity_logging
,
* query_group
, search_path
, and query monitoring metrics that let you
* define performance boundaries. For more information about query monitoring rules and available metrics, see
*
diff --git a/clients/client-redshift-serverless/src/pagination/ListScheduledActionsPaginator.ts b/clients/client-redshift-serverless/src/pagination/ListScheduledActionsPaginator.ts
new file mode 100644
index 0000000000000..bf857e49ed279
--- /dev/null
+++ b/clients/client-redshift-serverless/src/pagination/ListScheduledActionsPaginator.ts
@@ -0,0 +1,50 @@
+// smithy-typescript generated code
+import { Paginator } from "@smithy/types";
+
+import {
+ ListScheduledActionsCommand,
+ ListScheduledActionsCommandInput,
+ ListScheduledActionsCommandOutput,
+} from "../commands/ListScheduledActionsCommand";
+import { RedshiftServerlessClient } from "../RedshiftServerlessClient";
+import { RedshiftServerlessPaginationConfiguration } from "./Interfaces";
+
+/**
+ * @internal
+ */
+const makePagedClientRequest = async (
+ client: RedshiftServerlessClient,
+ input: ListScheduledActionsCommandInput,
+ ...args: any
+): Promise => {
+ // @ts-ignore
+ return await client.send(new ListScheduledActionsCommand(input), ...args);
+};
+/**
+ * @public
+ */
+export async function* paginateListScheduledActions(
+ config: RedshiftServerlessPaginationConfiguration,
+ input: ListScheduledActionsCommandInput,
+ ...additionalArguments: any
+): Paginator {
+ // ToDo: replace with actual type instead of typeof input.nextToken
+ let token: typeof input.nextToken | undefined = config.startingToken || undefined;
+ let hasNext = true;
+ let page: ListScheduledActionsCommandOutput;
+ while (hasNext) {
+ input.nextToken = token;
+ input["maxResults"] = config.pageSize;
+ if (config.client instanceof RedshiftServerlessClient) {
+ page = await makePagedClientRequest(config.client, input, ...additionalArguments);
+ } else {
+ throw new Error("Invalid client, expected RedshiftServerless | RedshiftServerlessClient");
+ }
+ yield page;
+ const prevToken = token;
+ token = page.nextToken;
+ hasNext = !!(token && (!config.stopOnSameToken || token !== prevToken));
+ }
+ // @ts-ignore
+ return undefined;
+}
diff --git a/clients/client-redshift-serverless/src/pagination/ListSnapshotCopyConfigurationsPaginator.ts b/clients/client-redshift-serverless/src/pagination/ListSnapshotCopyConfigurationsPaginator.ts
new file mode 100644
index 0000000000000..41c981b667759
--- /dev/null
+++ b/clients/client-redshift-serverless/src/pagination/ListSnapshotCopyConfigurationsPaginator.ts
@@ -0,0 +1,50 @@
+// smithy-typescript generated code
+import { Paginator } from "@smithy/types";
+
+import {
+ ListSnapshotCopyConfigurationsCommand,
+ ListSnapshotCopyConfigurationsCommandInput,
+ ListSnapshotCopyConfigurationsCommandOutput,
+} from "../commands/ListSnapshotCopyConfigurationsCommand";
+import { RedshiftServerlessClient } from "../RedshiftServerlessClient";
+import { RedshiftServerlessPaginationConfiguration } from "./Interfaces";
+
+/**
+ * @internal
+ */
+const makePagedClientRequest = async (
+ client: RedshiftServerlessClient,
+ input: ListSnapshotCopyConfigurationsCommandInput,
+ ...args: any
+): Promise => {
+ // @ts-ignore
+ return await client.send(new ListSnapshotCopyConfigurationsCommand(input), ...args);
+};
+/**
+ * @public
+ */
+export async function* paginateListSnapshotCopyConfigurations(
+ config: RedshiftServerlessPaginationConfiguration,
+ input: ListSnapshotCopyConfigurationsCommandInput,
+ ...additionalArguments: any
+): Paginator {
+ // ToDo: replace with actual type instead of typeof input.nextToken
+ let token: typeof input.nextToken | undefined = config.startingToken || undefined;
+ let hasNext = true;
+ let page: ListSnapshotCopyConfigurationsCommandOutput;
+ while (hasNext) {
+ input.nextToken = token;
+ input["maxResults"] = config.pageSize;
+ if (config.client instanceof RedshiftServerlessClient) {
+ page = await makePagedClientRequest(config.client, input, ...additionalArguments);
+ } else {
+ throw new Error("Invalid client, expected RedshiftServerless | RedshiftServerlessClient");
+ }
+ yield page;
+ const prevToken = token;
+ token = page.nextToken;
+ hasNext = !!(token && (!config.stopOnSameToken || token !== prevToken));
+ }
+ // @ts-ignore
+ return undefined;
+}
diff --git a/clients/client-redshift-serverless/src/pagination/index.ts b/clients/client-redshift-serverless/src/pagination/index.ts
index 351288ef37cef..b2edbe7f53180 100644
--- a/clients/client-redshift-serverless/src/pagination/index.ts
+++ b/clients/client-redshift-serverless/src/pagination/index.ts
@@ -4,6 +4,8 @@ export * from "./ListCustomDomainAssociationsPaginator";
export * from "./ListEndpointAccessPaginator";
export * from "./ListNamespacesPaginator";
export * from "./ListRecoveryPointsPaginator";
+export * from "./ListScheduledActionsPaginator";
+export * from "./ListSnapshotCopyConfigurationsPaginator";
export * from "./ListSnapshotsPaginator";
export * from "./ListTableRestoreStatusPaginator";
export * from "./ListUsageLimitsPaginator";
diff --git a/clients/client-redshift-serverless/src/protocols/Aws_json1_1.ts b/clients/client-redshift-serverless/src/protocols/Aws_json1_1.ts
index d67f5725b5a5a..be571de493283 100644
--- a/clients/client-redshift-serverless/src/protocols/Aws_json1_1.ts
+++ b/clients/client-redshift-serverless/src/protocols/Aws_json1_1.ts
@@ -1,4 +1,5 @@
// smithy-typescript generated code
+import { awsExpectUnion as __expectUnion } from "@aws-sdk/core";
import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http";
import {
_json,
@@ -36,7 +37,15 @@ import {
CreateEndpointAccessCommandOutput,
} from "../commands/CreateEndpointAccessCommand";
import { CreateNamespaceCommandInput, CreateNamespaceCommandOutput } from "../commands/CreateNamespaceCommand";
+import {
+ CreateScheduledActionCommandInput,
+ CreateScheduledActionCommandOutput,
+} from "../commands/CreateScheduledActionCommand";
import { CreateSnapshotCommandInput, CreateSnapshotCommandOutput } from "../commands/CreateSnapshotCommand";
+import {
+ CreateSnapshotCopyConfigurationCommandInput,
+ CreateSnapshotCopyConfigurationCommandOutput,
+} from "../commands/CreateSnapshotCopyConfigurationCommand";
import { CreateUsageLimitCommandInput, CreateUsageLimitCommandOutput } from "../commands/CreateUsageLimitCommand";
import { CreateWorkgroupCommandInput, CreateWorkgroupCommandOutput } from "../commands/CreateWorkgroupCommand";
import {
@@ -52,7 +61,15 @@ import {
DeleteResourcePolicyCommandInput,
DeleteResourcePolicyCommandOutput,
} from "../commands/DeleteResourcePolicyCommand";
+import {
+ DeleteScheduledActionCommandInput,
+ DeleteScheduledActionCommandOutput,
+} from "../commands/DeleteScheduledActionCommand";
import { DeleteSnapshotCommandInput, DeleteSnapshotCommandOutput } from "../commands/DeleteSnapshotCommand";
+import {
+ DeleteSnapshotCopyConfigurationCommandInput,
+ DeleteSnapshotCopyConfigurationCommandOutput,
+} from "../commands/DeleteSnapshotCopyConfigurationCommand";
import { DeleteUsageLimitCommandInput, DeleteUsageLimitCommandOutput } from "../commands/DeleteUsageLimitCommand";
import { DeleteWorkgroupCommandInput, DeleteWorkgroupCommandOutput } from "../commands/DeleteWorkgroupCommand";
import { GetCredentialsCommandInput, GetCredentialsCommandOutput } from "../commands/GetCredentialsCommand";
@@ -64,6 +81,7 @@ import { GetEndpointAccessCommandInput, GetEndpointAccessCommandOutput } from ".
import { GetNamespaceCommandInput, GetNamespaceCommandOutput } from "../commands/GetNamespaceCommand";
import { GetRecoveryPointCommandInput, GetRecoveryPointCommandOutput } from "../commands/GetRecoveryPointCommand";
import { GetResourcePolicyCommandInput, GetResourcePolicyCommandOutput } from "../commands/GetResourcePolicyCommand";
+import { GetScheduledActionCommandInput, GetScheduledActionCommandOutput } from "../commands/GetScheduledActionCommand";
import { GetSnapshotCommandInput, GetSnapshotCommandOutput } from "../commands/GetSnapshotCommand";
import {
GetTableRestoreStatusCommandInput,
@@ -78,6 +96,14 @@ import {
import { ListEndpointAccessCommandInput, ListEndpointAccessCommandOutput } from "../commands/ListEndpointAccessCommand";
import { ListNamespacesCommandInput, ListNamespacesCommandOutput } from "../commands/ListNamespacesCommand";
import { ListRecoveryPointsCommandInput, ListRecoveryPointsCommandOutput } from "../commands/ListRecoveryPointsCommand";
+import {
+ ListScheduledActionsCommandInput,
+ ListScheduledActionsCommandOutput,
+} from "../commands/ListScheduledActionsCommand";
+import {
+ ListSnapshotCopyConfigurationsCommandInput,
+ ListSnapshotCopyConfigurationsCommandOutput,
+} from "../commands/ListSnapshotCopyConfigurationsCommand";
import { ListSnapshotsCommandInput, ListSnapshotsCommandOutput } from "../commands/ListSnapshotsCommand";
import {
ListTableRestoreStatusCommandInput,
@@ -98,6 +124,10 @@ import {
RestoreFromSnapshotCommandInput,
RestoreFromSnapshotCommandOutput,
} from "../commands/RestoreFromSnapshotCommand";
+import {
+ RestoreTableFromRecoveryPointCommandInput,
+ RestoreTableFromRecoveryPointCommandOutput,
+} from "../commands/RestoreTableFromRecoveryPointCommand";
import {
RestoreTableFromSnapshotCommandInput,
RestoreTableFromSnapshotCommandOutput,
@@ -113,7 +143,15 @@ import {
UpdateEndpointAccessCommandOutput,
} from "../commands/UpdateEndpointAccessCommand";
import { UpdateNamespaceCommandInput, UpdateNamespaceCommandOutput } from "../commands/UpdateNamespaceCommand";
+import {
+ UpdateScheduledActionCommandInput,
+ UpdateScheduledActionCommandOutput,
+} from "../commands/UpdateScheduledActionCommand";
import { UpdateSnapshotCommandInput, UpdateSnapshotCommandOutput } from "../commands/UpdateSnapshotCommand";
+import {
+ UpdateSnapshotCopyConfigurationCommandInput,
+ UpdateSnapshotCopyConfigurationCommandOutput,
+} from "../commands/UpdateSnapshotCopyConfigurationCommand";
import { UpdateUsageLimitCommandInput, UpdateUsageLimitCommandOutput } from "../commands/UpdateUsageLimitCommand";
import { UpdateWorkgroupCommandInput, UpdateWorkgroupCommandOutput } from "../commands/UpdateWorkgroupCommand";
import {
@@ -129,8 +167,12 @@ import {
CreateEndpointAccessResponse,
CreateNamespaceRequest,
CreateNamespaceResponse,
+ CreateScheduledActionRequest,
+ CreateScheduledActionResponse,
+ CreateSnapshotCopyConfigurationRequest,
CreateSnapshotRequest,
CreateSnapshotResponse,
+ CreateSnapshotScheduleActionParameters,
CreateUsageLimitRequest,
CreateWorkgroupRequest,
CreateWorkgroupResponse,
@@ -140,6 +182,9 @@ import {
DeleteNamespaceRequest,
DeleteNamespaceResponse,
DeleteResourcePolicyRequest,
+ DeleteScheduledActionRequest,
+ DeleteScheduledActionResponse,
+ DeleteSnapshotCopyConfigurationRequest,
DeleteSnapshotRequest,
DeleteSnapshotResponse,
DeleteUsageLimitRequest,
@@ -157,6 +202,8 @@ import {
GetRecoveryPointRequest,
GetRecoveryPointResponse,
GetResourcePolicyRequest,
+ GetScheduledActionRequest,
+ GetScheduledActionResponse,
GetSnapshotRequest,
GetSnapshotResponse,
GetTableRestoreStatusRequest,
@@ -175,6 +222,8 @@ import {
ListNamespacesResponse,
ListRecoveryPointsRequest,
ListRecoveryPointsResponse,
+ ListScheduledActionsRequest,
+ ListSnapshotCopyConfigurationsRequest,
ListSnapshotsRequest,
ListSnapshotsResponse,
ListTableRestoreStatusRequest,
@@ -192,13 +241,18 @@ import {
RestoreFromRecoveryPointResponse,
RestoreFromSnapshotRequest,
RestoreFromSnapshotResponse,
+ RestoreTableFromRecoveryPointRequest,
+ RestoreTableFromRecoveryPointResponse,
RestoreTableFromSnapshotRequest,
RestoreTableFromSnapshotResponse,
+ Schedule,
+ ScheduledActionResponse,
ServiceQuotaExceededException,
Snapshot,
TableRestoreStatus,
Tag,
TagResourceRequest,
+ TargetAction,
ThrottlingException,
TooManyTagsException,
UntagResourceRequest,
@@ -208,6 +262,9 @@ import {
UpdateEndpointAccessResponse,
UpdateNamespaceRequest,
UpdateNamespaceResponse,
+ UpdateScheduledActionRequest,
+ UpdateScheduledActionResponse,
+ UpdateSnapshotCopyConfigurationRequest,
UpdateSnapshotRequest,
UpdateSnapshotResponse,
UpdateUsageLimitRequest,
@@ -270,6 +327,19 @@ export const se_CreateNamespaceCommand = async (
return buildHttpRpcRequest(context, headers, "/", undefined, body);
};
+/**
+ * serializeAws_json1_1CreateScheduledActionCommand
+ */
+export const se_CreateScheduledActionCommand = async (
+ input: CreateScheduledActionCommandInput,
+ context: __SerdeContext
+): Promise<__HttpRequest> => {
+ const headers: __HeaderBag = sharedHeaders("CreateScheduledAction");
+ let body: any;
+ body = JSON.stringify(se_CreateScheduledActionRequest(input, context));
+ return buildHttpRpcRequest(context, headers, "/", undefined, body);
+};
+
/**
* serializeAws_json1_1CreateSnapshotCommand
*/
@@ -283,6 +353,19 @@ export const se_CreateSnapshotCommand = async (
return buildHttpRpcRequest(context, headers, "/", undefined, body);
};
+/**
+ * serializeAws_json1_1CreateSnapshotCopyConfigurationCommand
+ */
+export const se_CreateSnapshotCopyConfigurationCommand = async (
+ input: CreateSnapshotCopyConfigurationCommandInput,
+ context: __SerdeContext
+): Promise<__HttpRequest> => {
+ const headers: __HeaderBag = sharedHeaders("CreateSnapshotCopyConfiguration");
+ let body: any;
+ body = JSON.stringify(_json(input));
+ return buildHttpRpcRequest(context, headers, "/", undefined, body);
+};
+
/**
* serializeAws_json1_1CreateUsageLimitCommand
*/
@@ -361,6 +444,19 @@ export const se_DeleteResourcePolicyCommand = async (
return buildHttpRpcRequest(context, headers, "/", undefined, body);
};
+/**
+ * serializeAws_json1_1DeleteScheduledActionCommand
+ */
+export const se_DeleteScheduledActionCommand = async (
+ input: DeleteScheduledActionCommandInput,
+ context: __SerdeContext
+): Promise<__HttpRequest> => {
+ const headers: __HeaderBag = sharedHeaders("DeleteScheduledAction");
+ let body: any;
+ body = JSON.stringify(_json(input));
+ return buildHttpRpcRequest(context, headers, "/", undefined, body);
+};
+
/**
* serializeAws_json1_1DeleteSnapshotCommand
*/
@@ -374,6 +470,19 @@ export const se_DeleteSnapshotCommand = async (
return buildHttpRpcRequest(context, headers, "/", undefined, body);
};
+/**
+ * serializeAws_json1_1DeleteSnapshotCopyConfigurationCommand
+ */
+export const se_DeleteSnapshotCopyConfigurationCommand = async (
+ input: DeleteSnapshotCopyConfigurationCommandInput,
+ context: __SerdeContext
+): Promise<__HttpRequest> => {
+ const headers: __HeaderBag = sharedHeaders("DeleteSnapshotCopyConfiguration");
+ let body: any;
+ body = JSON.stringify(_json(input));
+ return buildHttpRpcRequest(context, headers, "/", undefined, body);
+};
+
/**
* serializeAws_json1_1DeleteUsageLimitCommand
*/
@@ -478,6 +587,19 @@ export const se_GetResourcePolicyCommand = async (
return buildHttpRpcRequest(context, headers, "/", undefined, body);
};
+/**
+ * serializeAws_json1_1GetScheduledActionCommand
+ */
+export const se_GetScheduledActionCommand = async (
+ input: GetScheduledActionCommandInput,
+ context: __SerdeContext
+): Promise<__HttpRequest> => {
+ const headers: __HeaderBag = sharedHeaders("GetScheduledAction");
+ let body: any;
+ body = JSON.stringify(_json(input));
+ return buildHttpRpcRequest(context, headers, "/", undefined, body);
+};
+
/**
* serializeAws_json1_1GetSnapshotCommand
*/
@@ -582,6 +704,32 @@ export const se_ListRecoveryPointsCommand = async (
return buildHttpRpcRequest(context, headers, "/", undefined, body);
};
+/**
+ * serializeAws_json1_1ListScheduledActionsCommand
+ */
+export const se_ListScheduledActionsCommand = async (
+ input: ListScheduledActionsCommandInput,
+ context: __SerdeContext
+): Promise<__HttpRequest> => {
+ const headers: __HeaderBag = sharedHeaders("ListScheduledActions");
+ let body: any;
+ body = JSON.stringify(_json(input));
+ return buildHttpRpcRequest(context, headers, "/", undefined, body);
+};
+
+/**
+ * serializeAws_json1_1ListSnapshotCopyConfigurationsCommand
+ */
+export const se_ListSnapshotCopyConfigurationsCommand = async (
+ input: ListSnapshotCopyConfigurationsCommandInput,
+ context: __SerdeContext
+): Promise<__HttpRequest> => {
+ const headers: __HeaderBag = sharedHeaders("ListSnapshotCopyConfigurations");
+ let body: any;
+ body = JSON.stringify(_json(input));
+ return buildHttpRpcRequest(context, headers, "/", undefined, body);
+};
+
/**
* serializeAws_json1_1ListSnapshotsCommand
*/
@@ -686,6 +834,19 @@ export const se_RestoreFromSnapshotCommand = async (
return buildHttpRpcRequest(context, headers, "/", undefined, body);
};
+/**
+ * serializeAws_json1_1RestoreTableFromRecoveryPointCommand
+ */
+export const se_RestoreTableFromRecoveryPointCommand = async (
+ input: RestoreTableFromRecoveryPointCommandInput,
+ context: __SerdeContext
+): Promise<__HttpRequest> => {
+ const headers: __HeaderBag = sharedHeaders("RestoreTableFromRecoveryPoint");
+ let body: any;
+ body = JSON.stringify(_json(input));
+ return buildHttpRpcRequest(context, headers, "/", undefined, body);
+};
+
/**
* serializeAws_json1_1RestoreTableFromSnapshotCommand
*/
@@ -764,6 +925,19 @@ export const se_UpdateNamespaceCommand = async (
return buildHttpRpcRequest(context, headers, "/", undefined, body);
};
+/**
+ * serializeAws_json1_1UpdateScheduledActionCommand
+ */
+export const se_UpdateScheduledActionCommand = async (
+ input: UpdateScheduledActionCommandInput,
+ context: __SerdeContext
+): Promise<__HttpRequest> => {
+ const headers: __HeaderBag = sharedHeaders("UpdateScheduledAction");
+ let body: any;
+ body = JSON.stringify(se_UpdateScheduledActionRequest(input, context));
+ return buildHttpRpcRequest(context, headers, "/", undefined, body);
+};
+
/**
* serializeAws_json1_1UpdateSnapshotCommand
*/
@@ -777,6 +951,19 @@ export const se_UpdateSnapshotCommand = async (
return buildHttpRpcRequest(context, headers, "/", undefined, body);
};
+/**
+ * serializeAws_json1_1UpdateSnapshotCopyConfigurationCommand
+ */
+export const se_UpdateSnapshotCopyConfigurationCommand = async (
+ input: UpdateSnapshotCopyConfigurationCommandInput,
+ context: __SerdeContext
+): Promise<__HttpRequest> => {
+ const headers: __HeaderBag = sharedHeaders("UpdateSnapshotCopyConfiguration");
+ let body: any;
+ body = JSON.stringify(_json(input));
+ return buildHttpRpcRequest(context, headers, "/", undefined, body);
+};
+
/**
* serializeAws_json1_1UpdateUsageLimitCommand
*/
@@ -1041,6 +1228,61 @@ const de_CreateNamespaceCommandError = async (
}
};
+/**
+ * deserializeAws_json1_1CreateScheduledActionCommand
+ */
+export const de_CreateScheduledActionCommand = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise => {
+ if (output.statusCode >= 300) {
+ return de_CreateScheduledActionCommandError(output, context);
+ }
+ const data: any = await parseBody(output.body, context);
+ let contents: any = {};
+ contents = de_CreateScheduledActionResponse(data, context);
+ const response: CreateScheduledActionCommandOutput = {
+ $metadata: deserializeMetadata(output),
+ ...contents,
+ };
+ return response;
+};
+
+/**
+ * deserializeAws_json1_1CreateScheduledActionCommandError
+ */
+const de_CreateScheduledActionCommandError = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise => {
+ const parsedOutput: any = {
+ ...output,
+ body: await parseErrorBody(output.body, context),
+ };
+ const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
+ switch (errorCode) {
+ case "ConflictException":
+ case "com.amazonaws.redshiftserverless#ConflictException":
+ throw await de_ConflictExceptionRes(parsedOutput, context);
+ case "InternalServerException":
+ case "com.amazonaws.redshiftserverless#InternalServerException":
+ throw await de_InternalServerExceptionRes(parsedOutput, context);
+ case "ResourceNotFoundException":
+ case "com.amazonaws.redshiftserverless#ResourceNotFoundException":
+ throw await de_ResourceNotFoundExceptionRes(parsedOutput, context);
+ case "ValidationException":
+ case "com.amazonaws.redshiftserverless#ValidationException":
+ throw await de_ValidationExceptionRes(parsedOutput, context);
+ default:
+ const parsedBody = parsedOutput.body;
+ return throwDefaultError({
+ output,
+ parsedBody,
+ errorCode,
+ });
+ }
+};
+
/**
* deserializeAws_json1_1CreateSnapshotCommand
*/
@@ -1102,6 +1344,67 @@ const de_CreateSnapshotCommandError = async (
}
};
+/**
+ * deserializeAws_json1_1CreateSnapshotCopyConfigurationCommand
+ */
+export const de_CreateSnapshotCopyConfigurationCommand = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise => {
+ if (output.statusCode >= 300) {
+ return de_CreateSnapshotCopyConfigurationCommandError(output, context);
+ }
+ const data: any = await parseBody(output.body, context);
+ let contents: any = {};
+ contents = _json(data);
+ const response: CreateSnapshotCopyConfigurationCommandOutput = {
+ $metadata: deserializeMetadata(output),
+ ...contents,
+ };
+ return response;
+};
+
+/**
+ * deserializeAws_json1_1CreateSnapshotCopyConfigurationCommandError
+ */
+const de_CreateSnapshotCopyConfigurationCommandError = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise => {
+ const parsedOutput: any = {
+ ...output,
+ body: await parseErrorBody(output.body, context),
+ };
+ const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
+ switch (errorCode) {
+ case "AccessDeniedException":
+ case "com.amazonaws.redshiftserverless#AccessDeniedException":
+ throw await de_AccessDeniedExceptionRes(parsedOutput, context);
+ case "ConflictException":
+ case "com.amazonaws.redshiftserverless#ConflictException":
+ throw await de_ConflictExceptionRes(parsedOutput, context);
+ case "InternalServerException":
+ case "com.amazonaws.redshiftserverless#InternalServerException":
+ throw await de_InternalServerExceptionRes(parsedOutput, context);
+ case "ResourceNotFoundException":
+ case "com.amazonaws.redshiftserverless#ResourceNotFoundException":
+ throw await de_ResourceNotFoundExceptionRes(parsedOutput, context);
+ case "ServiceQuotaExceededException":
+ case "com.amazonaws.redshiftserverless#ServiceQuotaExceededException":
+ throw await de_ServiceQuotaExceededExceptionRes(parsedOutput, context);
+ case "ValidationException":
+ case "com.amazonaws.redshiftserverless#ValidationException":
+ throw await de_ValidationExceptionRes(parsedOutput, context);
+ default:
+ const parsedBody = parsedOutput.body;
+ return throwDefaultError({
+ output,
+ parsedBody,
+ errorCode,
+ });
+ }
+};
+
/**
* deserializeAws_json1_1CreateUsageLimitCommand
*/
@@ -1444,6 +1747,58 @@ const de_DeleteResourcePolicyCommandError = async (
}
};
+/**
+ * deserializeAws_json1_1DeleteScheduledActionCommand
+ */
+export const de_DeleteScheduledActionCommand = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise => {
+ if (output.statusCode >= 300) {
+ return de_DeleteScheduledActionCommandError(output, context);
+ }
+ const data: any = await parseBody(output.body, context);
+ let contents: any = {};
+ contents = de_DeleteScheduledActionResponse(data, context);
+ const response: DeleteScheduledActionCommandOutput = {
+ $metadata: deserializeMetadata(output),
+ ...contents,
+ };
+ return response;
+};
+
+/**
+ * deserializeAws_json1_1DeleteScheduledActionCommandError
+ */
+const de_DeleteScheduledActionCommandError = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise => {
+ const parsedOutput: any = {
+ ...output,
+ body: await parseErrorBody(output.body, context),
+ };
+ const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
+ switch (errorCode) {
+ case "InternalServerException":
+ case "com.amazonaws.redshiftserverless#InternalServerException":
+ throw await de_InternalServerExceptionRes(parsedOutput, context);
+ case "ResourceNotFoundException":
+ case "com.amazonaws.redshiftserverless#ResourceNotFoundException":
+ throw await de_ResourceNotFoundExceptionRes(parsedOutput, context);
+ case "ValidationException":
+ case "com.amazonaws.redshiftserverless#ValidationException":
+ throw await de_ValidationExceptionRes(parsedOutput, context);
+ default:
+ const parsedBody = parsedOutput.body;
+ return throwDefaultError({
+ output,
+ parsedBody,
+ errorCode,
+ });
+ }
+};
+
/**
* deserializeAws_json1_1DeleteSnapshotCommand
*/
@@ -1499,6 +1854,64 @@ const de_DeleteSnapshotCommandError = async (
}
};
+/**
+ * deserializeAws_json1_1DeleteSnapshotCopyConfigurationCommand
+ */
+export const de_DeleteSnapshotCopyConfigurationCommand = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise => {
+ if (output.statusCode >= 300) {
+ return de_DeleteSnapshotCopyConfigurationCommandError(output, context);
+ }
+ const data: any = await parseBody(output.body, context);
+ let contents: any = {};
+ contents = _json(data);
+ const response: DeleteSnapshotCopyConfigurationCommandOutput = {
+ $metadata: deserializeMetadata(output),
+ ...contents,
+ };
+ return response;
+};
+
+/**
+ * deserializeAws_json1_1DeleteSnapshotCopyConfigurationCommandError
+ */
+const de_DeleteSnapshotCopyConfigurationCommandError = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise => {
+ const parsedOutput: any = {
+ ...output,
+ body: await parseErrorBody(output.body, context),
+ };
+ const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
+ switch (errorCode) {
+ case "AccessDeniedException":
+ case "com.amazonaws.redshiftserverless#AccessDeniedException":
+ throw await de_AccessDeniedExceptionRes(parsedOutput, context);
+ case "ConflictException":
+ case "com.amazonaws.redshiftserverless#ConflictException":
+ throw await de_ConflictExceptionRes(parsedOutput, context);
+ case "InternalServerException":
+ case "com.amazonaws.redshiftserverless#InternalServerException":
+ throw await de_InternalServerExceptionRes(parsedOutput, context);
+ case "ResourceNotFoundException":
+ case "com.amazonaws.redshiftserverless#ResourceNotFoundException":
+ throw await de_ResourceNotFoundExceptionRes(parsedOutput, context);
+ case "ValidationException":
+ case "com.amazonaws.redshiftserverless#ValidationException":
+ throw await de_ValidationExceptionRes(parsedOutput, context);
+ default:
+ const parsedBody = parsedOutput.body;
+ return throwDefaultError({
+ output,
+ parsedBody,
+ errorCode,
+ });
+ }
+};
+
/**
* deserializeAws_json1_1DeleteUsageLimitCommand
*/
@@ -1936,6 +2349,58 @@ const de_GetResourcePolicyCommandError = async (
}
};
+/**
+ * deserializeAws_json1_1GetScheduledActionCommand
+ */
+export const de_GetScheduledActionCommand = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise => {
+ if (output.statusCode >= 300) {
+ return de_GetScheduledActionCommandError(output, context);
+ }
+ const data: any = await parseBody(output.body, context);
+ let contents: any = {};
+ contents = de_GetScheduledActionResponse(data, context);
+ const response: GetScheduledActionCommandOutput = {
+ $metadata: deserializeMetadata(output),
+ ...contents,
+ };
+ return response;
+};
+
+/**
+ * deserializeAws_json1_1GetScheduledActionCommandError
+ */
+const de_GetScheduledActionCommandError = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise => {
+ const parsedOutput: any = {
+ ...output,
+ body: await parseErrorBody(output.body, context),
+ };
+ const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
+ switch (errorCode) {
+ case "InternalServerException":
+ case "com.amazonaws.redshiftserverless#InternalServerException":
+ throw await de_InternalServerExceptionRes(parsedOutput, context);
+ case "ResourceNotFoundException":
+ case "com.amazonaws.redshiftserverless#ResourceNotFoundException":
+ throw await de_ResourceNotFoundExceptionRes(parsedOutput, context);
+ case "ValidationException":
+ case "com.amazonaws.redshiftserverless#ValidationException":
+ throw await de_ValidationExceptionRes(parsedOutput, context);
+ default:
+ const parsedBody = parsedOutput.body;
+ return throwDefaultError({
+ output,
+ parsedBody,
+ errorCode,
+ });
+ }
+};
+
/**
* deserializeAws_json1_1GetSnapshotCommand
*/
@@ -2318,8 +2783,112 @@ export const de_ListRecoveryPointsCommand = async (
}
const data: any = await parseBody(output.body, context);
let contents: any = {};
- contents = de_ListRecoveryPointsResponse(data, context);
- const response: ListRecoveryPointsCommandOutput = {
+ contents = de_ListRecoveryPointsResponse(data, context);
+ const response: ListRecoveryPointsCommandOutput = {
+ $metadata: deserializeMetadata(output),
+ ...contents,
+ };
+ return response;
+};
+
+/**
+ * deserializeAws_json1_1ListRecoveryPointsCommandError
+ */
+const de_ListRecoveryPointsCommandError = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise => {
+ const parsedOutput: any = {
+ ...output,
+ body: await parseErrorBody(output.body, context),
+ };
+ const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
+ switch (errorCode) {
+ case "InternalServerException":
+ case "com.amazonaws.redshiftserverless#InternalServerException":
+ throw await de_InternalServerExceptionRes(parsedOutput, context);
+ case "ValidationException":
+ case "com.amazonaws.redshiftserverless#ValidationException":
+ throw await de_ValidationExceptionRes(parsedOutput, context);
+ default:
+ const parsedBody = parsedOutput.body;
+ return throwDefaultError({
+ output,
+ parsedBody,
+ errorCode,
+ });
+ }
+};
+
+/**
+ * deserializeAws_json1_1ListScheduledActionsCommand
+ */
+export const de_ListScheduledActionsCommand = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise => {
+ if (output.statusCode >= 300) {
+ return de_ListScheduledActionsCommandError(output, context);
+ }
+ const data: any = await parseBody(output.body, context);
+ let contents: any = {};
+ contents = _json(data);
+ const response: ListScheduledActionsCommandOutput = {
+ $metadata: deserializeMetadata(output),
+ ...contents,
+ };
+ return response;
+};
+
+/**
+ * deserializeAws_json1_1ListScheduledActionsCommandError
+ */
+const de_ListScheduledActionsCommandError = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise => {
+ const parsedOutput: any = {
+ ...output,
+ body: await parseErrorBody(output.body, context),
+ };
+ const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
+ switch (errorCode) {
+ case "InternalServerException":
+ case "com.amazonaws.redshiftserverless#InternalServerException":
+ throw await de_InternalServerExceptionRes(parsedOutput, context);
+ case "InvalidPaginationException":
+ case "com.amazonaws.redshiftserverless#InvalidPaginationException":
+ throw await de_InvalidPaginationExceptionRes(parsedOutput, context);
+ case "ResourceNotFoundException":
+ case "com.amazonaws.redshiftserverless#ResourceNotFoundException":
+ throw await de_ResourceNotFoundExceptionRes(parsedOutput, context);
+ case "ValidationException":
+ case "com.amazonaws.redshiftserverless#ValidationException":
+ throw await de_ValidationExceptionRes(parsedOutput, context);
+ default:
+ const parsedBody = parsedOutput.body;
+ return throwDefaultError({
+ output,
+ parsedBody,
+ errorCode,
+ });
+ }
+};
+
+/**
+ * deserializeAws_json1_1ListSnapshotCopyConfigurationsCommand
+ */
+export const de_ListSnapshotCopyConfigurationsCommand = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise => {
+ if (output.statusCode >= 300) {
+ return de_ListSnapshotCopyConfigurationsCommandError(output, context);
+ }
+ const data: any = await parseBody(output.body, context);
+ let contents: any = {};
+ contents = _json(data);
+ const response: ListSnapshotCopyConfigurationsCommandOutput = {
$metadata: deserializeMetadata(output),
...contents,
};
@@ -2327,21 +2896,30 @@ export const de_ListRecoveryPointsCommand = async (
};
/**
- * deserializeAws_json1_1ListRecoveryPointsCommandError
+ * deserializeAws_json1_1ListSnapshotCopyConfigurationsCommandError
*/
-const de_ListRecoveryPointsCommandError = async (
+const de_ListSnapshotCopyConfigurationsCommandError = async (
output: __HttpResponse,
context: __SerdeContext
-): Promise => {
+): Promise => {
const parsedOutput: any = {
...output,
body: await parseErrorBody(output.body, context),
};
const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
switch (errorCode) {
+ case "ConflictException":
+ case "com.amazonaws.redshiftserverless#ConflictException":
+ throw await de_ConflictExceptionRes(parsedOutput, context);
case "InternalServerException":
case "com.amazonaws.redshiftserverless#InternalServerException":
throw await de_InternalServerExceptionRes(parsedOutput, context);
+ case "InvalidPaginationException":
+ case "com.amazonaws.redshiftserverless#InvalidPaginationException":
+ throw await de_InvalidPaginationExceptionRes(parsedOutput, context);
+ case "ResourceNotFoundException":
+ case "com.amazonaws.redshiftserverless#ResourceNotFoundException":
+ throw await de_ResourceNotFoundExceptionRes(parsedOutput, context);
case "ValidationException":
case "com.amazonaws.redshiftserverless#ValidationException":
throw await de_ValidationExceptionRes(parsedOutput, context);
@@ -2792,6 +3370,61 @@ const de_RestoreFromSnapshotCommandError = async (
}
};
+/**
+ * deserializeAws_json1_1RestoreTableFromRecoveryPointCommand
+ */
+export const de_RestoreTableFromRecoveryPointCommand = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise => {
+ if (output.statusCode >= 300) {
+ return de_RestoreTableFromRecoveryPointCommandError(output, context);
+ }
+ const data: any = await parseBody(output.body, context);
+ let contents: any = {};
+ contents = de_RestoreTableFromRecoveryPointResponse(data, context);
+ const response: RestoreTableFromRecoveryPointCommandOutput = {
+ $metadata: deserializeMetadata(output),
+ ...contents,
+ };
+ return response;
+};
+
+/**
+ * deserializeAws_json1_1RestoreTableFromRecoveryPointCommandError
+ */
+const de_RestoreTableFromRecoveryPointCommandError = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise => {
+ const parsedOutput: any = {
+ ...output,
+ body: await parseErrorBody(output.body, context),
+ };
+ const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
+ switch (errorCode) {
+ case "ConflictException":
+ case "com.amazonaws.redshiftserverless#ConflictException":
+ throw await de_ConflictExceptionRes(parsedOutput, context);
+ case "InternalServerException":
+ case "com.amazonaws.redshiftserverless#InternalServerException":
+ throw await de_InternalServerExceptionRes(parsedOutput, context);
+ case "ResourceNotFoundException":
+ case "com.amazonaws.redshiftserverless#ResourceNotFoundException":
+ throw await de_ResourceNotFoundExceptionRes(parsedOutput, context);
+ case "ValidationException":
+ case "com.amazonaws.redshiftserverless#ValidationException":
+ throw await de_ValidationExceptionRes(parsedOutput, context);
+ default:
+ const parsedBody = parsedOutput.body;
+ return throwDefaultError({
+ output,
+ parsedBody,
+ errorCode,
+ });
+ }
+};
+
/**
* deserializeAws_json1_1RestoreTableFromSnapshotCommand
*/
@@ -3134,6 +3767,61 @@ const de_UpdateNamespaceCommandError = async (
}
};
+/**
+ * deserializeAws_json1_1UpdateScheduledActionCommand
+ */
+export const de_UpdateScheduledActionCommand = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise => {
+ if (output.statusCode >= 300) {
+ return de_UpdateScheduledActionCommandError(output, context);
+ }
+ const data: any = await parseBody(output.body, context);
+ let contents: any = {};
+ contents = de_UpdateScheduledActionResponse(data, context);
+ const response: UpdateScheduledActionCommandOutput = {
+ $metadata: deserializeMetadata(output),
+ ...contents,
+ };
+ return response;
+};
+
+/**
+ * deserializeAws_json1_1UpdateScheduledActionCommandError
+ */
+const de_UpdateScheduledActionCommandError = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise => {
+ const parsedOutput: any = {
+ ...output,
+ body: await parseErrorBody(output.body, context),
+ };
+ const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
+ switch (errorCode) {
+ case "ConflictException":
+ case "com.amazonaws.redshiftserverless#ConflictException":
+ throw await de_ConflictExceptionRes(parsedOutput, context);
+ case "InternalServerException":
+ case "com.amazonaws.redshiftserverless#InternalServerException":
+ throw await de_InternalServerExceptionRes(parsedOutput, context);
+ case "ResourceNotFoundException":
+ case "com.amazonaws.redshiftserverless#ResourceNotFoundException":
+ throw await de_ResourceNotFoundExceptionRes(parsedOutput, context);
+ case "ValidationException":
+ case "com.amazonaws.redshiftserverless#ValidationException":
+ throw await de_ValidationExceptionRes(parsedOutput, context);
+ default:
+ const parsedBody = parsedOutput.body;
+ return throwDefaultError({
+ output,
+ parsedBody,
+ errorCode,
+ });
+ }
+};
+
/**
* deserializeAws_json1_1UpdateSnapshotCommand
*/
@@ -3189,6 +3877,64 @@ const de_UpdateSnapshotCommandError = async (
}
};
+/**
+ * deserializeAws_json1_1UpdateSnapshotCopyConfigurationCommand
+ */
+export const de_UpdateSnapshotCopyConfigurationCommand = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise => {
+ if (output.statusCode >= 300) {
+ return de_UpdateSnapshotCopyConfigurationCommandError(output, context);
+ }
+ const data: any = await parseBody(output.body, context);
+ let contents: any = {};
+ contents = _json(data);
+ const response: UpdateSnapshotCopyConfigurationCommandOutput = {
+ $metadata: deserializeMetadata(output),
+ ...contents,
+ };
+ return response;
+};
+
+/**
+ * deserializeAws_json1_1UpdateSnapshotCopyConfigurationCommandError
+ */
+const de_UpdateSnapshotCopyConfigurationCommandError = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise => {
+ const parsedOutput: any = {
+ ...output,
+ body: await parseErrorBody(output.body, context),
+ };
+ const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
+ switch (errorCode) {
+ case "AccessDeniedException":
+ case "com.amazonaws.redshiftserverless#AccessDeniedException":
+ throw await de_AccessDeniedExceptionRes(parsedOutput, context);
+ case "ConflictException":
+ case "com.amazonaws.redshiftserverless#ConflictException":
+ throw await de_ConflictExceptionRes(parsedOutput, context);
+ case "InternalServerException":
+ case "com.amazonaws.redshiftserverless#InternalServerException":
+ throw await de_InternalServerExceptionRes(parsedOutput, context);
+ case "ResourceNotFoundException":
+ case "com.amazonaws.redshiftserverless#ResourceNotFoundException":
+ throw await de_ResourceNotFoundExceptionRes(parsedOutput, context);
+ case "ValidationException":
+ case "com.amazonaws.redshiftserverless#ValidationException":
+ throw await de_ValidationExceptionRes(parsedOutput, context);
+ default:
+ const parsedBody = parsedOutput.body;
+ return throwDefaultError({
+ output,
+ parsedBody,
+ errorCode,
+ });
+ }
+};
+
/**
* deserializeAws_json1_1UpdateUsageLimitCommand
*/
@@ -3465,8 +4211,29 @@ const de_ValidationExceptionRes = async (parsedOutput: any, context: __SerdeCont
// se_CreateNamespaceRequest omitted.
+/**
+ * serializeAws_json1_1CreateScheduledActionRequest
+ */
+const se_CreateScheduledActionRequest = (input: CreateScheduledActionRequest, context: __SerdeContext): any => {
+ return take(input, {
+ enabled: [],
+ endTime: (_) => Math.round(_.getTime() / 1000),
+ namespaceName: [],
+ roleArn: [],
+ schedule: (_) => se_Schedule(_, context),
+ scheduledActionDescription: [],
+ scheduledActionName: [],
+ startTime: (_) => Math.round(_.getTime() / 1000),
+ targetAction: _json,
+ });
+};
+
+// se_CreateSnapshotCopyConfigurationRequest omitted.
+
// se_CreateSnapshotRequest omitted.
+// se_CreateSnapshotScheduleActionParameters omitted.
+
// se_CreateUsageLimitRequest omitted.
// se_CreateWorkgroupRequest omitted.
@@ -3479,6 +4246,10 @@ const de_ValidationExceptionRes = async (parsedOutput: any, context: __SerdeCont
// se_DeleteResourcePolicyRequest omitted.
+// se_DeleteScheduledActionRequest omitted.
+
+// se_DeleteSnapshotCopyConfigurationRequest omitted.
+
// se_DeleteSnapshotRequest omitted.
// se_DeleteUsageLimitRequest omitted.
@@ -3497,6 +4268,8 @@ const de_ValidationExceptionRes = async (parsedOutput: any, context: __SerdeCont
// se_GetResourcePolicyRequest omitted.
+// se_GetScheduledActionRequest omitted.
+
// se_GetSnapshotRequest omitted.
// se_GetTableRestoreStatusRequest omitted.
@@ -3527,6 +4300,10 @@ const se_ListRecoveryPointsRequest = (input: ListRecoveryPointsRequest, context:
});
};
+// se_ListScheduledActionsRequest omitted.
+
+// se_ListSnapshotCopyConfigurationsRequest omitted.
+
/**
* serializeAws_json1_1ListSnapshotsRequest
*/
@@ -3558,8 +4335,21 @@ const se_ListSnapshotsRequest = (input: ListSnapshotsRequest, context: __SerdeCo
// se_RestoreFromSnapshotRequest omitted.
+// se_RestoreTableFromRecoveryPointRequest omitted.
+
// se_RestoreTableFromSnapshotRequest omitted.
+/**
+ * serializeAws_json1_1Schedule
+ */
+const se_Schedule = (input: Schedule, context: __SerdeContext): any => {
+ return Schedule.visit(input, {
+ at: (value) => ({ at: Math.round(value.getTime() / 1000) }),
+ cron: (value) => ({ cron: value }),
+ _: (name, value) => ({ name: value } as any),
+ });
+};
+
// se_SecurityGroupIdList omitted.
// se_SubnetIdList omitted.
@@ -3572,6 +4362,8 @@ const se_ListSnapshotsRequest = (input: ListSnapshotsRequest, context: __SerdeCo
// se_TagResourceRequest omitted.
+// se_TargetAction omitted.
+
// se_UntagResourceRequest omitted.
// se_UpdateCustomDomainAssociationRequest omitted.
@@ -3580,6 +4372,24 @@ const se_ListSnapshotsRequest = (input: ListSnapshotsRequest, context: __SerdeCo
// se_UpdateNamespaceRequest omitted.
+/**
+ * serializeAws_json1_1UpdateScheduledActionRequest
+ */
+const se_UpdateScheduledActionRequest = (input: UpdateScheduledActionRequest, context: __SerdeContext): any => {
+ return take(input, {
+ enabled: [],
+ endTime: (_) => Math.round(_.getTime() / 1000),
+ roleArn: [],
+ schedule: (_) => se_Schedule(_, context),
+ scheduledActionDescription: [],
+ scheduledActionName: [],
+ startTime: (_) => Math.round(_.getTime() / 1000),
+ targetAction: _json,
+ });
+};
+
+// se_UpdateSnapshotCopyConfigurationRequest omitted.
+
// se_UpdateSnapshotRequest omitted.
// se_UpdateUsageLimitRequest omitted.
@@ -3667,6 +4477,17 @@ const de_CreateNamespaceResponse = (output: any, context: __SerdeContext): Creat
}) as any;
};
+/**
+ * deserializeAws_json1_1CreateScheduledActionResponse
+ */
+const de_CreateScheduledActionResponse = (output: any, context: __SerdeContext): CreateScheduledActionResponse => {
+ return take(output, {
+ scheduledAction: (_: any) => de_ScheduledActionResponse(_, context),
+ }) as any;
+};
+
+// de_CreateSnapshotCopyConfigurationResponse omitted.
+
/**
* deserializeAws_json1_1CreateSnapshotResponse
*/
@@ -3676,6 +4497,8 @@ const de_CreateSnapshotResponse = (output: any, context: __SerdeContext): Create
}) as any;
};
+// de_CreateSnapshotScheduleActionParameters omitted.
+
// de_CreateUsageLimitResponse omitted.
/**
@@ -3709,6 +4532,17 @@ const de_DeleteNamespaceResponse = (output: any, context: __SerdeContext): Delet
// de_DeleteResourcePolicyResponse omitted.
+/**
+ * deserializeAws_json1_1DeleteScheduledActionResponse
+ */
+const de_DeleteScheduledActionResponse = (output: any, context: __SerdeContext): DeleteScheduledActionResponse => {
+ return take(output, {
+ scheduledAction: (_: any) => de_ScheduledActionResponse(_, context),
+ }) as any;
+};
+
+// de_DeleteSnapshotCopyConfigurationResponse omitted.
+
/**
* deserializeAws_json1_1DeleteSnapshotResponse
*/
@@ -3817,6 +4651,15 @@ const de_GetRecoveryPointResponse = (output: any, context: __SerdeContext): GetR
// de_GetResourcePolicyResponse omitted.
+/**
+ * deserializeAws_json1_1GetScheduledActionResponse
+ */
+const de_GetScheduledActionResponse = (output: any, context: __SerdeContext): GetScheduledActionResponse => {
+ return take(output, {
+ scheduledAction: (_: any) => de_ScheduledActionResponse(_, context),
+ }) as any;
+};
+
/**
* deserializeAws_json1_1GetSnapshotResponse
*/
@@ -3897,6 +4740,10 @@ const de_ListRecoveryPointsResponse = (output: any, context: __SerdeContext): Li
}) as any;
};
+// de_ListScheduledActionsResponse omitted.
+
+// de_ListSnapshotCopyConfigurationsResponse omitted.
+
/**
* deserializeAws_json1_1ListSnapshotsResponse
*/
@@ -3970,6 +4817,18 @@ const de_NamespaceList = (output: any, context: __SerdeContext): Namespace[] =>
// de_NetworkInterfaceList omitted.
+/**
+ * deserializeAws_json1_1NextInvocationsList
+ */
+const de_NextInvocationsList = (output: any, context: __SerdeContext): Date[] => {
+ const retVal = (output || [])
+ .filter((e: any) => e != null)
+ .map((entry: any) => {
+ return __expectNonNull(__parseEpochTimestamp(__expectNumber(entry)));
+ });
+ return retVal;
+};
+
// de_PutResourcePolicyResponse omitted.
/**
@@ -4026,6 +4885,18 @@ const de_RestoreFromSnapshotResponse = (output: any, context: __SerdeContext): R
}) as any;
};
+/**
+ * deserializeAws_json1_1RestoreTableFromRecoveryPointResponse
+ */
+const de_RestoreTableFromRecoveryPointResponse = (
+ output: any,
+ context: __SerdeContext
+): RestoreTableFromRecoveryPointResponse => {
+ return take(output, {
+ tableRestoreStatus: (_: any) => de_TableRestoreStatus(_, context),
+ }) as any;
+};
+
/**
* deserializeAws_json1_1RestoreTableFromSnapshotResponse
*/
@@ -4038,6 +4909,42 @@ const de_RestoreTableFromSnapshotResponse = (
}) as any;
};
+/**
+ * deserializeAws_json1_1Schedule
+ */
+const de_Schedule = (output: any, context: __SerdeContext): Schedule => {
+ if (output.at != null) {
+ return {
+ at: __expectNonNull(__parseEpochTimestamp(__expectNumber(output.at))),
+ };
+ }
+ if (__expectString(output.cron) !== undefined) {
+ return { cron: __expectString(output.cron) as any };
+ }
+ return { $unknown: Object.entries(output)[0] };
+};
+
+/**
+ * deserializeAws_json1_1ScheduledActionResponse
+ */
+const de_ScheduledActionResponse = (output: any, context: __SerdeContext): ScheduledActionResponse => {
+ return take(output, {
+ endTime: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))),
+ namespaceName: __expectString,
+ nextInvocations: (_: any) => de_NextInvocationsList(_, context),
+ roleArn: __expectString,
+ schedule: (_: any) => de_Schedule(__expectUnion(_), context),
+ scheduledActionDescription: __expectString,
+ scheduledActionName: __expectString,
+ scheduledActionUuid: __expectString,
+ startTime: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))),
+ state: __expectString,
+ targetAction: (_: any) => _json(__expectUnion(_)),
+ }) as any;
+};
+
+// de_ScheduledActionsList omitted.
+
// de_SecurityGroupIdList omitted.
// de_ServiceQuotaExceededException omitted.
@@ -4072,6 +4979,10 @@ const de_Snapshot = (output: any, context: __SerdeContext): Snapshot => {
}) as any;
};
+// de_SnapshotCopyConfiguration omitted.
+
+// de_SnapshotCopyConfigurations omitted.
+
/**
* deserializeAws_json1_1SnapshotList
*/
@@ -4095,6 +5006,7 @@ const de_TableRestoreStatus = (output: any, context: __SerdeContext): TableResto
namespaceName: __expectString,
newTableName: __expectString,
progressInMegaBytes: __expectLong,
+ recoveryPointId: __expectString,
requestTime: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))),
snapshotName: __expectString,
sourceDatabaseName: __expectString,
@@ -4127,6 +5039,8 @@ const de_TableRestoreStatusList = (output: any, context: __SerdeContext): TableR
// de_TagResourceResponse omitted.
+// de_TargetAction omitted.
+
// de_ThrottlingException omitted.
// de_TooManyTagsException omitted.
@@ -4166,6 +5080,17 @@ const de_UpdateNamespaceResponse = (output: any, context: __SerdeContext): Updat
}) as any;
};
+/**
+ * deserializeAws_json1_1UpdateScheduledActionResponse
+ */
+const de_UpdateScheduledActionResponse = (output: any, context: __SerdeContext): UpdateScheduledActionResponse => {
+ return take(output, {
+ scheduledAction: (_: any) => de_ScheduledActionResponse(_, context),
+ }) as any;
+};
+
+// de_UpdateSnapshotCopyConfigurationResponse omitted.
+
/**
* deserializeAws_json1_1UpdateSnapshotResponse
*/
@@ -4196,6 +5121,8 @@ const de_UpdateWorkgroupResponse = (output: any, context: __SerdeContext): Updat
// de_VpcEndpointList omitted.
+// de_VpcIds omitted.
+
// de_VpcSecurityGroupMembership omitted.
// de_VpcSecurityGroupMembershipList omitted.
@@ -4208,6 +5135,7 @@ const de_Workgroup = (output: any, context: __SerdeContext): Workgroup => {
baseCapacity: __expectInt32,
configParameters: _json,
creationDate: (_: any) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)),
+ crossAccountVpcs: _json,
customDomainCertificateArn: __expectString,
customDomainCertificateExpiryTime: (_: any) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)),
customDomainName: __expectString,
diff --git a/codegen/sdk-codegen/aws-models/redshift-serverless.json b/codegen/sdk-codegen/aws-models/redshift-serverless.json
index 3d8949cc98444..83aa71e138864 100644
--- a/codegen/sdk-codegen/aws-models/redshift-serverless.json
+++ b/codegen/sdk-codegen/aws-models/redshift-serverless.json
@@ -77,7 +77,7 @@
"parameterKey": {
"target": "com.amazonaws.redshiftserverless#ParameterKey",
"traits": {
- "smithy.api#documentation": "The key of the parameter. The\n options are auto_mv
, datestyle
, enable_case_sensitivity_identifier
, enable_user_activity_logging
,\n query_group
, search_path
, and query monitoring metrics that let \n you define performance boundaries. For more information about query monitoring rules and available metrics, see \n Query monitoring metrics for Amazon Redshift Serverless.
"
+ "smithy.api#documentation": "The key of the parameter. The\n options are auto_mv
, datestyle
, enable_case_sensitive_identifier
, enable_user_activity_logging
,\n query_group
, search_path
, and query monitoring metrics that let \n you define performance boundaries. For more information about query monitoring rules and available metrics, see \n Query monitoring metrics for Amazon Redshift Serverless.
"
}
},
"parameterValue": {
@@ -349,6 +349,12 @@
"traits": {
"smithy.api#documentation": "The unique identifiers of the security group that defines the ports, \n protocols, and sources for inbound traffic that you are authorizing into your endpoint.
"
}
+ },
+ "ownerAccount": {
+ "target": "com.amazonaws.redshiftserverless#OwnerAccount",
+ "traits": {
+ "smithy.api#documentation": "The owner Amazon Web Services account for the Amazon Redshift Serverless workgroup.
"
+ }
}
},
"traits": {
@@ -491,6 +497,113 @@
"smithy.api#output": {}
}
},
+ "com.amazonaws.redshiftserverless#CreateScheduledAction": {
+ "type": "operation",
+ "input": {
+ "target": "com.amazonaws.redshiftserverless#CreateScheduledActionRequest"
+ },
+ "output": {
+ "target": "com.amazonaws.redshiftserverless#CreateScheduledActionResponse"
+ },
+ "errors": [
+ {
+ "target": "com.amazonaws.redshiftserverless#ConflictException"
+ },
+ {
+ "target": "com.amazonaws.redshiftserverless#InternalServerException"
+ },
+ {
+ "target": "com.amazonaws.redshiftserverless#ResourceNotFoundException"
+ },
+ {
+ "target": "com.amazonaws.redshiftserverless#ValidationException"
+ }
+ ],
+ "traits": {
+ "smithy.api#documentation": "Creates a scheduled action. A scheduled action contains a schedule and an Amazon Redshift API action. \n For example, you can create a schedule of when to run the CreateSnapshot
API operation.
",
+ "smithy.api#idempotent": {}
+ }
+ },
+ "com.amazonaws.redshiftserverless#CreateScheduledActionRequest": {
+ "type": "structure",
+ "members": {
+ "scheduledActionName": {
+ "target": "com.amazonaws.redshiftserverless#ScheduledActionName",
+ "traits": {
+ "smithy.api#documentation": "The name of the scheduled action.
",
+ "smithy.api#required": {}
+ }
+ },
+ "targetAction": {
+ "target": "com.amazonaws.redshiftserverless#TargetAction",
+ "traits": {
+ "smithy.api#required": {}
+ }
+ },
+ "schedule": {
+ "target": "com.amazonaws.redshiftserverless#Schedule",
+ "traits": {
+ "smithy.api#documentation": "The schedule for a one-time (at format) or recurring (cron format) scheduled action. Schedule invocations must be separated by at least one hour.
\n Format of at expressions is \"at(yyyy-mm-ddThh:mm:ss)
\". For example, \"at(2016-03-04T17:27:00)
\".
\n Format of cron expressions is \"cron(Minutes Hours Day-of-month Month Day-of-week Year)
\". For example, \"cron(0 10 ? * MON *)
\". For more information, see \n Cron Expressions in the Amazon CloudWatch Events User Guide.
",
+ "smithy.api#required": {}
+ }
+ },
+ "roleArn": {
+ "target": "com.amazonaws.redshiftserverless#IamRoleArn",
+ "traits": {
+ "smithy.api#documentation": "The ARN of the IAM role to assume to run the scheduled action. This IAM role must have permission to run the Amazon Redshift Serverless API operation in the scheduled action. \n This IAM role must allow the Amazon Redshift scheduler to schedule creating snapshots. (Principal scheduler.redshift.amazonaws.com) to assume permissions on your behalf. \n For more information about the IAM role to use with the Amazon Redshift scheduler, see Using Identity-Based Policies for \n Amazon Redshift in the Amazon Redshift Cluster Management Guide
",
+ "smithy.api#required": {}
+ }
+ },
+ "namespaceName": {
+ "target": "com.amazonaws.redshiftserverless#NamespaceName",
+ "traits": {
+ "smithy.api#documentation": "The name of the namespace for which to create a scheduled action.
",
+ "smithy.api#required": {}
+ }
+ },
+ "enabled": {
+ "target": "smithy.api#Boolean",
+ "traits": {
+ "smithy.api#documentation": "Indicates whether the schedule is enabled. If false, the scheduled action does not trigger. For more information about state
\n of the scheduled action, see ScheduledAction.
"
+ }
+ },
+ "scheduledActionDescription": {
+ "target": "smithy.api#String",
+ "traits": {
+ "smithy.api#documentation": "The description of the scheduled action.
"
+ }
+ },
+ "startTime": {
+ "target": "smithy.api#Timestamp",
+ "traits": {
+ "smithy.api#documentation": "The start time in UTC when the schedule is active. Before this time, the scheduled action does not trigger.
"
+ }
+ },
+ "endTime": {
+ "target": "smithy.api#Timestamp",
+ "traits": {
+ "smithy.api#documentation": "The end time in UTC when the schedule is no longer active. After this time, the scheduled action does not trigger.
"
+ }
+ }
+ },
+ "traits": {
+ "smithy.api#input": {}
+ }
+ },
+ "com.amazonaws.redshiftserverless#CreateScheduledActionResponse": {
+ "type": "structure",
+ "members": {
+ "scheduledAction": {
+ "target": "com.amazonaws.redshiftserverless#ScheduledActionResponse",
+ "traits": {
+ "smithy.api#documentation": "The returned ScheduledAction
object that describes the properties of a scheduled action.
"
+ }
+ }
+ },
+ "traits": {
+ "smithy.api#output": {}
+ }
+ },
"com.amazonaws.redshiftserverless#CreateSnapshot": {
"type": "operation",
"input": {
@@ -524,6 +637,88 @@
"smithy.api#idempotent": {}
}
},
+ "com.amazonaws.redshiftserverless#CreateSnapshotCopyConfiguration": {
+ "type": "operation",
+ "input": {
+ "target": "com.amazonaws.redshiftserverless#CreateSnapshotCopyConfigurationRequest"
+ },
+ "output": {
+ "target": "com.amazonaws.redshiftserverless#CreateSnapshotCopyConfigurationResponse"
+ },
+ "errors": [
+ {
+ "target": "com.amazonaws.redshiftserverless#AccessDeniedException"
+ },
+ {
+ "target": "com.amazonaws.redshiftserverless#ConflictException"
+ },
+ {
+ "target": "com.amazonaws.redshiftserverless#InternalServerException"
+ },
+ {
+ "target": "com.amazonaws.redshiftserverless#ResourceNotFoundException"
+ },
+ {
+ "target": "com.amazonaws.redshiftserverless#ServiceQuotaExceededException"
+ },
+ {
+ "target": "com.amazonaws.redshiftserverless#ValidationException"
+ }
+ ],
+ "traits": {
+ "smithy.api#documentation": "Creates a snapshot copy configuration that lets you copy snapshots to another Amazon Web Services Region.
",
+ "smithy.api#idempotent": {}
+ }
+ },
+ "com.amazonaws.redshiftserverless#CreateSnapshotCopyConfigurationRequest": {
+ "type": "structure",
+ "members": {
+ "namespaceName": {
+ "target": "com.amazonaws.redshiftserverless#NamespaceName",
+ "traits": {
+ "smithy.api#documentation": "The name of the namespace to copy snapshots from.
",
+ "smithy.api#required": {}
+ }
+ },
+ "destinationRegion": {
+ "target": "smithy.api#String",
+ "traits": {
+ "smithy.api#documentation": "The destination Amazon Web Services Region that you want to copy snapshots to.
",
+ "smithy.api#required": {}
+ }
+ },
+ "snapshotRetentionPeriod": {
+ "target": "smithy.api#Integer",
+ "traits": {
+ "smithy.api#documentation": "The retention period of the snapshots that you copy to the destination Amazon Web Services Region.
"
+ }
+ },
+ "destinationKmsKeyId": {
+ "target": "com.amazonaws.redshiftserverless#KmsKeyId",
+ "traits": {
+ "smithy.api#documentation": "The KMS key to use to encrypt your snapshots in the destination Amazon Web Services Region.
"
+ }
+ }
+ },
+ "traits": {
+ "smithy.api#input": {}
+ }
+ },
+ "com.amazonaws.redshiftserverless#CreateSnapshotCopyConfigurationResponse": {
+ "type": "structure",
+ "members": {
+ "snapshotCopyConfiguration": {
+ "target": "com.amazonaws.redshiftserverless#SnapshotCopyConfiguration",
+ "traits": {
+ "smithy.api#documentation": "The snapshot copy configuration object that is returned.
",
+ "smithy.api#required": {}
+ }
+ }
+ },
+ "traits": {
+ "smithy.api#output": {}
+ }
+ },
"com.amazonaws.redshiftserverless#CreateSnapshotRequest": {
"type": "structure",
"members": {
@@ -572,6 +767,40 @@
"smithy.api#output": {}
}
},
+ "com.amazonaws.redshiftserverless#CreateSnapshotScheduleActionParameters": {
+ "type": "structure",
+ "members": {
+ "namespaceName": {
+ "target": "com.amazonaws.redshiftserverless#NamespaceName",
+ "traits": {
+ "smithy.api#documentation": "The name of the namespace for which you want to configure a scheduled action to create a snapshot.
",
+ "smithy.api#required": {}
+ }
+ },
+ "snapshotNamePrefix": {
+ "target": "com.amazonaws.redshiftserverless#SnapshotNamePrefix",
+ "traits": {
+ "smithy.api#documentation": "A string prefix that is attached to the name of the snapshot created by the scheduled action. The final \n name of the snapshot is the string prefix appended by the date and time of when the snapshot was created.
",
+ "smithy.api#required": {}
+ }
+ },
+ "retentionPeriod": {
+ "target": "smithy.api#Integer",
+ "traits": {
+ "smithy.api#documentation": "The retention period of the snapshot created by the scheduled action.
"
+ }
+ },
+ "tags": {
+ "target": "com.amazonaws.redshiftserverless#TagList",
+ "traits": {
+ "smithy.api#documentation": "An array of Tag objects to associate with the snapshot.
"
+ }
+ }
+ },
+ "traits": {
+ "smithy.api#documentation": "The parameters that you can use to configure a scheduled action to create a snapshot. For more information about creating a scheduled action, see \n CreateScheduledAction.
"
+ }
+ },
"com.amazonaws.redshiftserverless#CreateUsageLimit": {
"type": "operation",
"input": {
@@ -722,7 +951,7 @@
"configParameters": {
"target": "com.amazonaws.redshiftserverless#ConfigParameterList",
"traits": {
- "smithy.api#documentation": "An array of parameters to set for advanced control over a database. The\n options are auto_mv
, datestyle
, enable_case_sensitivity_identifier
, enable_user_activity_logging
,\n query_group
, search_path
, and query monitoring metrics that let you define performance boundaries. For more information about query monitoring rules and available metrics, see \n \n Query monitoring metrics for Amazon Redshift Serverless.
"
+ "smithy.api#documentation": "An array of parameters to set for advanced control over a database. The\n options are auto_mv
, datestyle
, enable_case_sensitive_identifier
, enable_user_activity_logging
,\n query_group
, search_path
, and query monitoring metrics that let you define performance boundaries. For more information about query monitoring rules and available metrics, see \n \n Query monitoring metrics for Amazon Redshift Serverless.
"
}
},
"securityGroupIds": {
@@ -1066,6 +1295,59 @@
"smithy.api#output": {}
}
},
+ "com.amazonaws.redshiftserverless#DeleteScheduledAction": {
+ "type": "operation",
+ "input": {
+ "target": "com.amazonaws.redshiftserverless#DeleteScheduledActionRequest"
+ },
+ "output": {
+ "target": "com.amazonaws.redshiftserverless#DeleteScheduledActionResponse"
+ },
+ "errors": [
+ {
+ "target": "com.amazonaws.redshiftserverless#InternalServerException"
+ },
+ {
+ "target": "com.amazonaws.redshiftserverless#ResourceNotFoundException"
+ },
+ {
+ "target": "com.amazonaws.redshiftserverless#ValidationException"
+ }
+ ],
+ "traits": {
+ "smithy.api#documentation": "Deletes a scheduled action.
",
+ "smithy.api#idempotent": {}
+ }
+ },
+ "com.amazonaws.redshiftserverless#DeleteScheduledActionRequest": {
+ "type": "structure",
+ "members": {
+ "scheduledActionName": {
+ "target": "com.amazonaws.redshiftserverless#ScheduledActionName",
+ "traits": {
+ "smithy.api#documentation": "The name of the scheduled action to delete.
",
+ "smithy.api#required": {}
+ }
+ }
+ },
+ "traits": {
+ "smithy.api#input": {}
+ }
+ },
+ "com.amazonaws.redshiftserverless#DeleteScheduledActionResponse": {
+ "type": "structure",
+ "members": {
+ "scheduledAction": {
+ "target": "com.amazonaws.redshiftserverless#ScheduledActionResponse",
+ "traits": {
+ "smithy.api#documentation": "The deleted scheduled action object.
"
+ }
+ }
+ },
+ "traits": {
+ "smithy.api#output": {}
+ }
+ },
"com.amazonaws.redshiftserverless#DeleteSnapshot": {
"type": "operation",
"input": {
@@ -1093,6 +1375,66 @@
"smithy.api#idempotent": {}
}
},
+ "com.amazonaws.redshiftserverless#DeleteSnapshotCopyConfiguration": {
+ "type": "operation",
+ "input": {
+ "target": "com.amazonaws.redshiftserverless#DeleteSnapshotCopyConfigurationRequest"
+ },
+ "output": {
+ "target": "com.amazonaws.redshiftserverless#DeleteSnapshotCopyConfigurationResponse"
+ },
+ "errors": [
+ {
+ "target": "com.amazonaws.redshiftserverless#AccessDeniedException"
+ },
+ {
+ "target": "com.amazonaws.redshiftserverless#ConflictException"
+ },
+ {
+ "target": "com.amazonaws.redshiftserverless#InternalServerException"
+ },
+ {
+ "target": "com.amazonaws.redshiftserverless#ResourceNotFoundException"
+ },
+ {
+ "target": "com.amazonaws.redshiftserverless#ValidationException"
+ }
+ ],
+ "traits": {
+ "smithy.api#documentation": "Deletes a snapshot copy configuration
",
+ "smithy.api#idempotent": {}
+ }
+ },
+ "com.amazonaws.redshiftserverless#DeleteSnapshotCopyConfigurationRequest": {
+ "type": "structure",
+ "members": {
+ "snapshotCopyConfigurationId": {
+ "target": "smithy.api#String",
+ "traits": {
+ "smithy.api#documentation": "The ID of the snapshot copy configuration to delete.
",
+ "smithy.api#required": {}
+ }
+ }
+ },
+ "traits": {
+ "smithy.api#input": {}
+ }
+ },
+ "com.amazonaws.redshiftserverless#DeleteSnapshotCopyConfigurationResponse": {
+ "type": "structure",
+ "members": {
+ "snapshotCopyConfiguration": {
+ "target": "com.amazonaws.redshiftserverless#SnapshotCopyConfiguration",
+ "traits": {
+ "smithy.api#documentation": "The deleted snapshot copy configuration object.
",
+ "smithy.api#required": {}
+ }
+ }
+ },
+ "traits": {
+ "smithy.api#output": {}
+ }
+ },
"com.amazonaws.redshiftserverless#DeleteSnapshotRequest": {
"type": "structure",
"members": {
@@ -1729,6 +2071,59 @@
"smithy.api#output": {}
}
},
+ "com.amazonaws.redshiftserverless#GetScheduledAction": {
+ "type": "operation",
+ "input": {
+ "target": "com.amazonaws.redshiftserverless#GetScheduledActionRequest"
+ },
+ "output": {
+ "target": "com.amazonaws.redshiftserverless#GetScheduledActionResponse"
+ },
+ "errors": [
+ {
+ "target": "com.amazonaws.redshiftserverless#InternalServerException"
+ },
+ {
+ "target": "com.amazonaws.redshiftserverless#ResourceNotFoundException"
+ },
+ {
+ "target": "com.amazonaws.redshiftserverless#ValidationException"
+ }
+ ],
+ "traits": {
+ "smithy.api#documentation": "Returns information about a scheduled action.
",
+ "smithy.api#readonly": {}
+ }
+ },
+ "com.amazonaws.redshiftserverless#GetScheduledActionRequest": {
+ "type": "structure",
+ "members": {
+ "scheduledActionName": {
+ "target": "com.amazonaws.redshiftserverless#ScheduledActionName",
+ "traits": {
+ "smithy.api#documentation": "The name of the scheduled action.
",
+ "smithy.api#required": {}
+ }
+ }
+ },
+ "traits": {
+ "smithy.api#input": {}
+ }
+ },
+ "com.amazonaws.redshiftserverless#GetScheduledActionResponse": {
+ "type": "structure",
+ "members": {
+ "scheduledAction": {
+ "target": "com.amazonaws.redshiftserverless#ScheduledActionResponse",
+ "traits": {
+ "smithy.api#documentation": "The returned scheduled action object.
"
+ }
+ }
+ },
+ "traits": {
+ "smithy.api#output": {}
+ }
+ },
"com.amazonaws.redshiftserverless#GetSnapshot": {
"type": "operation",
"input": {
@@ -2176,6 +2571,12 @@
"traits": {
"smithy.api#documentation": "The unique identifier of the virtual private cloud with access to Amazon Redshift Serverless.
"
}
+ },
+ "ownerAccount": {
+ "target": "com.amazonaws.redshiftserverless#OwnerAccount",
+ "traits": {
+ "smithy.api#documentation": "The owner Amazon Web Services account for the Amazon Redshift Serverless workgroup.
"
+ }
}
},
"traits": {
@@ -2342,13 +2743,188 @@
"namespaceName": {
"target": "com.amazonaws.redshiftserverless#NamespaceName",
"traits": {
- "smithy.api#documentation": "The name of the namespace to list recovery points for.
"
+ "smithy.api#documentation": "The name of the namespace to list recovery points for.
"
+ }
+ },
+ "namespaceArn": {
+ "target": "smithy.api#String",
+ "traits": {
+ "smithy.api#documentation": "The Amazon Resource Name (ARN) of the namespace from which to list recovery points.
"
+ }
+ }
+ },
+ "traits": {
+ "smithy.api#input": {}
+ }
+ },
+ "com.amazonaws.redshiftserverless#ListRecoveryPointsResponse": {
+ "type": "structure",
+ "members": {
+ "recoveryPoints": {
+ "target": "com.amazonaws.redshiftserverless#RecoveryPointList",
+ "traits": {
+ "smithy.api#documentation": "The returned recovery point objects.
"
+ }
+ },
+ "nextToken": {
+ "target": "smithy.api#String",
+ "traits": {
+ "smithy.api#documentation": "If nextToken
is returned, there are more results available. \n The value of nextToken
is a unique pagination token for each page. \n Make the call again using the returned token to retrieve the next page.
"
+ }
+ }
+ },
+ "traits": {
+ "smithy.api#output": {}
+ }
+ },
+ "com.amazonaws.redshiftserverless#ListScheduledActions": {
+ "type": "operation",
+ "input": {
+ "target": "com.amazonaws.redshiftserverless#ListScheduledActionsRequest"
+ },
+ "output": {
+ "target": "com.amazonaws.redshiftserverless#ListScheduledActionsResponse"
+ },
+ "errors": [
+ {
+ "target": "com.amazonaws.redshiftserverless#InternalServerException"
+ },
+ {
+ "target": "com.amazonaws.redshiftserverless#InvalidPaginationException"
+ },
+ {
+ "target": "com.amazonaws.redshiftserverless#ResourceNotFoundException"
+ },
+ {
+ "target": "com.amazonaws.redshiftserverless#ValidationException"
+ }
+ ],
+ "traits": {
+ "smithy.api#documentation": "Returns a list of scheduled actions. You can use the flags to filter the list of returned scheduled actions.
",
+ "smithy.api#paginated": {
+ "inputToken": "nextToken",
+ "outputToken": "nextToken",
+ "pageSize": "maxResults",
+ "items": "scheduledActions"
+ },
+ "smithy.api#readonly": {}
+ }
+ },
+ "com.amazonaws.redshiftserverless#ListScheduledActionsRequest": {
+ "type": "structure",
+ "members": {
+ "nextToken": {
+ "target": "com.amazonaws.redshiftserverless#PaginationToken",
+ "traits": {
+ "smithy.api#documentation": "If nextToken
is returned, there are more results available. The value of nextToken
is a unique pagination token for each page. \n Make the call again using the returned token to retrieve the next page.
",
+ "smithy.api#httpQuery": "nextToken"
+ }
+ },
+ "maxResults": {
+ "target": "smithy.api#Integer",
+ "traits": {
+ "smithy.api#default": null,
+ "smithy.api#documentation": "An optional parameter that specifies the maximum number of results to return. Use nextToken
to display the next page of results.
",
+ "smithy.api#httpQuery": "maxResults",
+ "smithy.api#range": {
+ "min": 1,
+ "max": 100
+ }
+ }
+ },
+ "namespaceName": {
+ "target": "com.amazonaws.redshiftserverless#NamespaceName",
+ "traits": {
+ "smithy.api#documentation": "The name of namespace associated with the scheduled action to retrieve.
"
+ }
+ }
+ },
+ "traits": {
+ "smithy.api#input": {}
+ }
+ },
+ "com.amazonaws.redshiftserverless#ListScheduledActionsResponse": {
+ "type": "structure",
+ "members": {
+ "nextToken": {
+ "target": "com.amazonaws.redshiftserverless#PaginationToken",
+ "traits": {
+ "smithy.api#documentation": "If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page.
"
+ }
+ },
+ "scheduledActions": {
+ "target": "com.amazonaws.redshiftserverless#ScheduledActionsList",
+ "traits": {
+ "smithy.api#documentation": "All of the returned scheduled action objects.
"
+ }
+ }
+ },
+ "traits": {
+ "smithy.api#output": {}
+ }
+ },
+ "com.amazonaws.redshiftserverless#ListSnapshotCopyConfigurations": {
+ "type": "operation",
+ "input": {
+ "target": "com.amazonaws.redshiftserverless#ListSnapshotCopyConfigurationsRequest"
+ },
+ "output": {
+ "target": "com.amazonaws.redshiftserverless#ListSnapshotCopyConfigurationsResponse"
+ },
+ "errors": [
+ {
+ "target": "com.amazonaws.redshiftserverless#ConflictException"
+ },
+ {
+ "target": "com.amazonaws.redshiftserverless#InternalServerException"
+ },
+ {
+ "target": "com.amazonaws.redshiftserverless#InvalidPaginationException"
+ },
+ {
+ "target": "com.amazonaws.redshiftserverless#ResourceNotFoundException"
+ },
+ {
+ "target": "com.amazonaws.redshiftserverless#ValidationException"
+ }
+ ],
+ "traits": {
+ "smithy.api#documentation": "Returns a list of snapshot copy configurations.
",
+ "smithy.api#paginated": {
+ "inputToken": "nextToken",
+ "outputToken": "nextToken",
+ "pageSize": "maxResults",
+ "items": "snapshotCopyConfigurations"
+ },
+ "smithy.api#readonly": {}
+ }
+ },
+ "com.amazonaws.redshiftserverless#ListSnapshotCopyConfigurationsRequest": {
+ "type": "structure",
+ "members": {
+ "namespaceName": {
+ "target": "com.amazonaws.redshiftserverless#NamespaceName",
+ "traits": {
+ "smithy.api#documentation": "The namespace from which to list all snapshot copy configurations.
"
+ }
+ },
+ "nextToken": {
+ "target": "com.amazonaws.redshiftserverless#PaginationToken",
+ "traits": {
+ "smithy.api#documentation": "If nextToken
is returned, there are more results available. The value of nextToken
is a unique pagination token for each page. Make the call again using \n the returned token to retrieve the next page.
",
+ "smithy.api#httpQuery": "nextToken"
}
},
- "namespaceArn": {
- "target": "smithy.api#String",
+ "maxResults": {
+ "target": "smithy.api#Integer",
"traits": {
- "smithy.api#documentation": "The Amazon Resource Name (ARN) of the namespace from which to list recovery points.
"
+ "smithy.api#default": null,
+ "smithy.api#documentation": "An optional parameter that specifies the maximum number of results to return. You can use nextToken
to display the next page of results.
",
+ "smithy.api#httpQuery": "maxResults",
+ "smithy.api#range": {
+ "min": 1,
+ "max": 100
+ }
}
}
},
@@ -2356,19 +2932,20 @@
"smithy.api#input": {}
}
},
- "com.amazonaws.redshiftserverless#ListRecoveryPointsResponse": {
+ "com.amazonaws.redshiftserverless#ListSnapshotCopyConfigurationsResponse": {
"type": "structure",
"members": {
- "recoveryPoints": {
- "target": "com.amazonaws.redshiftserverless#RecoveryPointList",
+ "nextToken": {
+ "target": "com.amazonaws.redshiftserverless#PaginationToken",
"traits": {
- "smithy.api#documentation": "The returned recovery point objects.
"
+ "smithy.api#documentation": "If nextToken
is returned, there are more results available. The value of nextToken
is a unique pagination token for each page. Make the call again using \n the returned token to retrieve the next page.
"
}
},
- "nextToken": {
- "target": "smithy.api#String",
+ "snapshotCopyConfigurations": {
+ "target": "com.amazonaws.redshiftserverless#SnapshotCopyConfigurations",
"traits": {
- "smithy.api#documentation": "If nextToken
is returned, there are more results available. \n The value of nextToken
is a unique pagination token for each page. \n Make the call again using the returned token to retrieve the next page.
"
+ "smithy.api#documentation": "All of the returned snapshot copy configurations.
",
+ "smithy.api#required": {}
}
}
},
@@ -2771,6 +3348,12 @@
"max": 100
}
}
+ },
+ "ownerAccount": {
+ "target": "com.amazonaws.redshiftserverless#OwnerAccount",
+ "traits": {
+ "smithy.api#documentation": "The owner Amazon Web Services account for the Amazon Redshift Serverless workgroup.
"
+ }
}
},
"traits": {
@@ -3018,6 +3601,22 @@
"target": "com.amazonaws.redshiftserverless#NetworkInterface"
}
},
+ "com.amazonaws.redshiftserverless#NextInvocationsList": {
+ "type": "list",
+ "member": {
+ "target": "smithy.api#Timestamp"
+ }
+ },
+ "com.amazonaws.redshiftserverless#OwnerAccount": {
+ "type": "string",
+ "traits": {
+ "smithy.api#length": {
+ "min": 1,
+ "max": 12
+ },
+ "smithy.api#pattern": "(\\d{12})"
+ }
+ },
"com.amazonaws.redshiftserverless#PaginationToken": {
"type": "string",
"traits": {
@@ -3163,6 +3762,9 @@
},
{
"target": "com.amazonaws.redshiftserverless#RestoreFromRecoveryPoint"
+ },
+ {
+ "target": "com.amazonaws.redshiftserverless#RestoreTableFromRecoveryPoint"
}
]
},
@@ -3226,6 +3828,9 @@
{
"target": "com.amazonaws.redshiftserverless#RecoveryPointResource"
},
+ {
+ "target": "com.amazonaws.redshiftserverless#ScheduledActionResource"
+ },
{
"target": "com.amazonaws.redshiftserverless#SnapshotResource"
},
@@ -4231,6 +4836,117 @@
"smithy.api#output": {}
}
},
+ "com.amazonaws.redshiftserverless#RestoreTableFromRecoveryPoint": {
+ "type": "operation",
+ "input": {
+ "target": "com.amazonaws.redshiftserverless#RestoreTableFromRecoveryPointRequest"
+ },
+ "output": {
+ "target": "com.amazonaws.redshiftserverless#RestoreTableFromRecoveryPointResponse"
+ },
+ "errors": [
+ {
+ "target": "com.amazonaws.redshiftserverless#ConflictException"
+ },
+ {
+ "target": "com.amazonaws.redshiftserverless#InternalServerException"
+ },
+ {
+ "target": "com.amazonaws.redshiftserverless#ResourceNotFoundException"
+ },
+ {
+ "target": "com.amazonaws.redshiftserverless#ValidationException"
+ }
+ ],
+ "traits": {
+ "smithy.api#documentation": "Restores a table from a recovery point to your Amazon Redshift Serverless instance. You can't use this operation to restore tables with interleaved sort keys.
"
+ }
+ },
+ "com.amazonaws.redshiftserverless#RestoreTableFromRecoveryPointRequest": {
+ "type": "structure",
+ "members": {
+ "namespaceName": {
+ "target": "smithy.api#String",
+ "traits": {
+ "smithy.api#documentation": "Namespace of the recovery point to restore from.
",
+ "smithy.api#required": {}
+ }
+ },
+ "workgroupName": {
+ "target": "smithy.api#String",
+ "traits": {
+ "smithy.api#documentation": "The workgroup to restore the table to.
",
+ "smithy.api#required": {}
+ }
+ },
+ "recoveryPointId": {
+ "target": "smithy.api#String",
+ "traits": {
+ "smithy.api#documentation": "The ID of the recovery point to restore the table from.
",
+ "smithy.api#required": {}
+ }
+ },
+ "sourceDatabaseName": {
+ "target": "smithy.api#String",
+ "traits": {
+ "smithy.api#documentation": "The name of the source database that contains the table being restored.
",
+ "smithy.api#required": {}
+ }
+ },
+ "sourceSchemaName": {
+ "target": "smithy.api#String",
+ "traits": {
+ "smithy.api#documentation": "The name of the source schema that contains the table being restored.
"
+ }
+ },
+ "sourceTableName": {
+ "target": "smithy.api#String",
+ "traits": {
+ "smithy.api#documentation": "The name of the source table being restored.
",
+ "smithy.api#required": {}
+ }
+ },
+ "targetDatabaseName": {
+ "target": "smithy.api#String",
+ "traits": {
+ "smithy.api#documentation": "The name of the database to restore the table to.
"
+ }
+ },
+ "targetSchemaName": {
+ "target": "smithy.api#String",
+ "traits": {
+ "smithy.api#documentation": "The name of the schema to restore the table to.
"
+ }
+ },
+ "newTableName": {
+ "target": "smithy.api#String",
+ "traits": {
+ "smithy.api#documentation": "The name of the table to create from the restore operation.
",
+ "smithy.api#required": {}
+ }
+ },
+ "activateCaseSensitiveIdentifier": {
+ "target": "smithy.api#Boolean",
+ "traits": {
+ "smithy.api#documentation": "Indicates whether name identifiers for database, schema, and table are case sensitive. If true, the names are case sensitive. If false, the names are not case sensitive. The default is false.
"
+ }
+ }
+ },
+ "traits": {
+ "smithy.api#input": {}
+ }
+ },
+ "com.amazonaws.redshiftserverless#RestoreTableFromRecoveryPointResponse": {
+ "type": "structure",
+ "members": {
+ "tableRestoreStatus": {
+ "target": "com.amazonaws.redshiftserverless#TableRestoreStatus"
+ }
+ },
+ "traits": {
+ "smithy.api#output": {}
+ }
+ },
"com.amazonaws.redshiftserverless#RestoreTableFromSnapshot": {
"type": "operation",
"input": {
@@ -4281,68 +4997,195 @@
"smithy.api#required": {}
}
},
- "sourceDatabaseName": {
- "target": "smithy.api#String",
+ "sourceDatabaseName": {
+ "target": "smithy.api#String",
+ "traits": {
+ "smithy.api#documentation": "The name of the source database that contains the table being restored.
",
+ "smithy.api#required": {}
+ }
+ },
+ "sourceSchemaName": {
+ "target": "smithy.api#String",
+ "traits": {
+ "smithy.api#documentation": "The name of the source schema that contains the table being restored.
"
+ }
+ },
+ "sourceTableName": {
+ "target": "smithy.api#String",
+ "traits": {
+ "smithy.api#documentation": "The name of the source table being restored.
",
+ "smithy.api#required": {}
+ }
+ },
+ "targetDatabaseName": {
+ "target": "smithy.api#String",
+ "traits": {
+ "smithy.api#documentation": "The name of the database to restore the table to.
"
+ }
+ },
+ "targetSchemaName": {
+ "target": "smithy.api#String",
+ "traits": {
+ "smithy.api#documentation": "The name of the schema to restore the table to.
"
+ }
+ },
+ "newTableName": {
+ "target": "smithy.api#String",
+ "traits": {
+ "smithy.api#documentation": "The name of the table to create from the restore operation.
",
+ "smithy.api#required": {}
+ }
+ },
+ "activateCaseSensitiveIdentifier": {
+ "target": "smithy.api#Boolean",
+ "traits": {
+ "smithy.api#documentation": "Indicates whether name identifiers for database, schema, and table \n are case sensitive. If true, the names are case sensitive. If \n false, the names are not case sensitive. The default is false.
"
+ }
+ }
+ },
+ "traits": {
+ "smithy.api#input": {}
+ }
+ },
+ "com.amazonaws.redshiftserverless#RestoreTableFromSnapshotResponse": {
+ "type": "structure",
+ "members": {
+ "tableRestoreStatus": {
+ "target": "com.amazonaws.redshiftserverless#TableRestoreStatus",
+ "traits": {
+ "smithy.api#documentation": "The TableRestoreStatus object that contains the status of the restore operation.
"
+ }
+ }
+ },
+ "traits": {
+ "smithy.api#output": {}
+ }
+ },
+ "com.amazonaws.redshiftserverless#Schedule": {
+ "type": "union",
+ "members": {
+ "at": {
+ "target": "smithy.api#Timestamp",
+ "traits": {
+ "smithy.api#documentation": "The timestamp of when Amazon Redshift Serverless should run the scheduled action. Format of at expressions is \"at(yyyy-mm-ddThh:mm:ss)
\". For example, \"at(2016-03-04T17:27:00)
\".
"
+ }
+ },
+ "cron": {
+ "target": "smithy.api#String",
+ "traits": {
+ "smithy.api#documentation": "The cron expression to use to schedule a recurring scheduled action. Schedule invocations must be separated by at least one hour.
\n Format of cron expressions is \"cron(Minutes Hours Day-of-month Month Day-of-week Year)
\". For example, \"cron(0 10 ? * MON *)
\". For more information, see \n Cron Expressions in the Amazon CloudWatch Events User Guide.
"
+ }
+ }
+ },
+ "traits": {
+ "smithy.api#documentation": "The schedule of when Amazon Redshift Serverless should run the scheduled action.
"
+ }
+ },
+ "com.amazonaws.redshiftserverless#ScheduledActionName": {
+ "type": "string",
+ "traits": {
+ "smithy.api#length": {
+ "min": 3,
+ "max": 60
+ },
+ "smithy.api#pattern": "^[a-z0-9-]+$"
+ }
+ },
+ "com.amazonaws.redshiftserverless#ScheduledActionResource": {
+ "type": "resource",
+ "operations": [
+ {
+ "target": "com.amazonaws.redshiftserverless#CreateScheduledAction"
+ },
+ {
+ "target": "com.amazonaws.redshiftserverless#DeleteScheduledAction"
+ },
+ {
+ "target": "com.amazonaws.redshiftserverless#GetScheduledAction"
+ },
+ {
+ "target": "com.amazonaws.redshiftserverless#ListScheduledActions"
+ },
+ {
+ "target": "com.amazonaws.redshiftserverless#UpdateScheduledAction"
+ }
+ ]
+ },
+ "com.amazonaws.redshiftserverless#ScheduledActionResponse": {
+ "type": "structure",
+ "members": {
+ "scheduledActionName": {
+ "target": "com.amazonaws.redshiftserverless#ScheduledActionName",
+ "traits": {
+ "smithy.api#documentation": "The name of the scheduled action.
"
+ }
+ },
+ "schedule": {
+ "target": "com.amazonaws.redshiftserverless#Schedule",
+ "traits": {
+ "smithy.api#documentation": "The schedule for a one-time (at format) or recurring (cron format) scheduled action. Schedule invocations must be separated by at least one hour.
\n Format of at expressions is \"at(yyyy-mm-ddThh:mm:ss)
\". For example, \"at(2016-03-04T17:27:00)
\".
\n Format of cron expressions is \"cron(Minutes Hours Day-of-month Month Day-of-week Year)
\". For example, \"cron(0 10 ? * MON *)
\". For more information, see \n Cron Expressions in the Amazon CloudWatch Events User Guide.
"
+ }
+ },
+ "scheduledActionDescription": {
+ "target": "smithy.api#String",
+ "traits": {
+ "smithy.api#documentation": "The description of the scheduled action.
"
+ }
+ },
+ "nextInvocations": {
+ "target": "com.amazonaws.redshiftserverless#NextInvocationsList",
"traits": {
- "smithy.api#documentation": "The name of the source database that contains the table being restored.
",
- "smithy.api#required": {}
+ "smithy.api#documentation": "An array of timestamps of when the next scheduled actions will trigger.
"
}
},
- "sourceSchemaName": {
- "target": "smithy.api#String",
+ "roleArn": {
+ "target": "com.amazonaws.redshiftserverless#IamRoleArn",
"traits": {
- "smithy.api#documentation": "The name of the source schema that contains the table being restored.
"
+ "smithy.api#documentation": "The ARN of the IAM role to assume to run the scheduled action. This IAM role must have permission to run the Amazon Redshift Serverless API operation in the scheduled action. \n This IAM role must allow the Amazon Redshift scheduler to schedule creating snapshots. (Principal scheduler.redshift.amazonaws.com) to assume permissions on your behalf. \n For more information about the IAM role to use with the Amazon Redshift scheduler, see Using Identity-Based Policies for \n Amazon Redshift in the Amazon Redshift Cluster Management Guide
"
}
},
- "sourceTableName": {
- "target": "smithy.api#String",
+ "state": {
+ "target": "com.amazonaws.redshiftserverless#State",
"traits": {
- "smithy.api#documentation": "The name of the source table being restored.
",
- "smithy.api#required": {}
+ "smithy.api#documentation": "The state of the scheduled action.
"
}
},
- "targetDatabaseName": {
- "target": "smithy.api#String",
+ "startTime": {
+ "target": "smithy.api#Timestamp",
"traits": {
- "smithy.api#documentation": "The name of the database to restore the table to.
"
+ "smithy.api#documentation": "The start time in UTC when the schedule is active. Before this time, the scheduled action does not trigger.
"
}
},
- "targetSchemaName": {
- "target": "smithy.api#String",
+ "endTime": {
+ "target": "smithy.api#Timestamp",
"traits": {
- "smithy.api#documentation": "The name of the schema to restore the table to.
"
+ "smithy.api#documentation": "The end time of
"
}
},
- "newTableName": {
- "target": "smithy.api#String",
+ "targetAction": {
+ "target": "com.amazonaws.redshiftserverless#TargetAction"
+ },
+ "namespaceName": {
+ "target": "com.amazonaws.redshiftserverless#NamespaceName",
"traits": {
- "smithy.api#documentation": "The name of the table to create from the restore operation.
",
- "smithy.api#required": {}
+ "smithy.api#documentation": "The end time in UTC when the schedule is no longer active. After this time, the scheduled action does not trigger.
"
}
},
- "activateCaseSensitiveIdentifier": {
- "target": "smithy.api#Boolean",
+ "scheduledActionUuid": {
+ "target": "smithy.api#String",
"traits": {
- "smithy.api#documentation": "Indicates whether name identifiers for database, schema, and table \n are case sensitive. If true, the names are case sensitive. If \n false, the names are not case sensitive. The default is false.
"
+ "smithy.api#documentation": "The uuid of the scheduled action.
"
}
}
},
"traits": {
- "smithy.api#input": {}
+ "smithy.api#documentation": "The returned scheduled action object.
"
}
},
- "com.amazonaws.redshiftserverless#RestoreTableFromSnapshotResponse": {
- "type": "structure",
- "members": {
- "tableRestoreStatus": {
- "target": "com.amazonaws.redshiftserverless#TableRestoreStatus",
- "traits": {
- "smithy.api#documentation": "The TableRestoreStatus object that contains the status of the restore operation.
"
- }
- }
- },
- "traits": {
- "smithy.api#output": {}
+ "com.amazonaws.redshiftserverless#ScheduledActionsList": {
+ "type": "list",
+ "member": {
+ "target": "com.amazonaws.redshiftserverless#ScheduledActionName"
}
},
"com.amazonaws.redshiftserverless#SecurityGroupId": {
@@ -4512,27 +5355,101 @@
"smithy.api#documentation": "A snapshot object that contains databases.
"
}
},
+ "com.amazonaws.redshiftserverless#SnapshotCopyConfiguration": {
+ "type": "structure",
+ "members": {
+ "snapshotCopyConfigurationId": {
+ "target": "smithy.api#String",
+ "traits": {
+ "smithy.api#documentation": "The ID of the snapshot copy configuration object.
"
+ }
+ },
+ "snapshotCopyConfigurationArn": {
+ "target": "smithy.api#String",
+ "traits": {
+ "smithy.api#documentation": "The ARN of the snapshot copy configuration object.
"
+ }
+ },
+ "namespaceName": {
+ "target": "com.amazonaws.redshiftserverless#NamespaceName",
+ "traits": {
+ "smithy.api#documentation": "The name of the namespace to copy snapshots from in the source Amazon Web Services Region.
"
+ }
+ },
+ "destinationRegion": {
+ "target": "smithy.api#String",
+ "traits": {
+ "smithy.api#documentation": "The destination Amazon Web Services Region to copy snapshots to.
"
+ }
+ },
+ "snapshotRetentionPeriod": {
+ "target": "smithy.api#Integer",
+ "traits": {
+ "smithy.api#documentation": "The retention period of snapshots that are copied to the destination Amazon Web Services Region.
"
+ }
+ },
+ "destinationKmsKeyId": {
+ "target": "com.amazonaws.redshiftserverless#KmsKeyId",
+ "traits": {
+ "smithy.api#documentation": "The ID of the KMS key to use to encrypt your snapshots in the destination Amazon Web Services Region.
"
+ }
+ }
+ },
+ "traits": {
+ "smithy.api#documentation": "The object that you configure to copy snapshots from one namespace to a namespace in another Amazon Web Services Region.
"
+ }
+ },
+ "com.amazonaws.redshiftserverless#SnapshotCopyConfigurations": {
+ "type": "list",
+ "member": {
+ "target": "com.amazonaws.redshiftserverless#SnapshotCopyConfiguration"
+ },
+ "traits": {
+ "smithy.api#length": {
+ "min": 1,
+ "max": 100
+ }
+ }
+ },
"com.amazonaws.redshiftserverless#SnapshotList": {
"type": "list",
"member": {
"target": "com.amazonaws.redshiftserverless#Snapshot"
}
},
+ "com.amazonaws.redshiftserverless#SnapshotNamePrefix": {
+ "type": "string",
+ "traits": {
+ "smithy.api#length": {
+ "min": 1,
+ "max": 235
+ }
+ }
+ },
"com.amazonaws.redshiftserverless#SnapshotResource": {
"type": "resource",
"operations": [
{
"target": "com.amazonaws.redshiftserverless#CreateSnapshot"
},
+ {
+ "target": "com.amazonaws.redshiftserverless#CreateSnapshotCopyConfiguration"
+ },
{
"target": "com.amazonaws.redshiftserverless#DeleteSnapshot"
},
+ {
+ "target": "com.amazonaws.redshiftserverless#DeleteSnapshotCopyConfiguration"
+ },
{
"target": "com.amazonaws.redshiftserverless#GetSnapshot"
},
{
"target": "com.amazonaws.redshiftserverless#GetTableRestoreStatus"
},
+ {
+ "target": "com.amazonaws.redshiftserverless#ListSnapshotCopyConfigurations"
+ },
{
"target": "com.amazonaws.redshiftserverless#ListSnapshots"
},
@@ -4547,6 +5464,9 @@
},
{
"target": "com.amazonaws.redshiftserverless#UpdateSnapshot"
+ },
+ {
+ "target": "com.amazonaws.redshiftserverless#UpdateSnapshotCopyConfiguration"
}
]
},
@@ -4581,6 +5501,21 @@
]
}
},
+ "com.amazonaws.redshiftserverless#State": {
+ "type": "string",
+ "traits": {
+ "smithy.api#enum": [
+ {
+ "name": "ACTIVE",
+ "value": "ACTIVE"
+ },
+ {
+ "name": "DISABLED",
+ "value": "DISABLED"
+ }
+ ]
+ }
+ },
"com.amazonaws.redshiftserverless#SubnetId": {
"type": "string"
},
@@ -4602,13 +5537,13 @@
"status": {
"target": "smithy.api#String",
"traits": {
- "smithy.api#documentation": "A value that describes the current state of the table restore request. \n Possible values include SUCCEEDED
, FAILED
, CANCELED
, PENDING
, IN_PROGRESS
.
"
+ "smithy.api#documentation": "A value that describes the current state of the table restore request. \n Possible values are SUCCEEDED
, FAILED
, CANCELED
, PENDING
, and IN_PROGRESS
.
"
}
},
"message": {
"target": "smithy.api#String",
"traits": {
- "smithy.api#documentation": "A description of the status of the table restore request. \n Status values include SUCCEEDED
, FAILED
, CANCELED
, PENDING
, IN_PROGRESS
.
"
+ "smithy.api#documentation": "A message that explains the returned status. For example, if the status of the operation is FAILED
, the message explains why the operation failed.
"
}
},
"requestTime": {
@@ -4682,6 +5617,12 @@
"traits": {
"smithy.api#documentation": "The name of the table to create from the restore operation.
"
}
+ },
+ "recoveryPointId": {
+ "target": "smithy.api#String",
+ "traits": {
+ "smithy.api#documentation": "The ID of the recovery point being restored from.
"
+ }
}
},
"traits": {
@@ -4816,6 +5757,17 @@
}
}
},
+ "com.amazonaws.redshiftserverless#TargetAction": {
+ "type": "union",
+ "members": {
+ "createSnapshot": {
+ "target": "com.amazonaws.redshiftserverless#CreateSnapshotScheduleActionParameters"
+ }
+ },
+ "traits": {
+ "smithy.api#documentation": "A JSON format string of the Amazon Redshift Serverless API operation with input parameters. The following is an example of a target action.
\n \n \"{\"CreateSnapshot\": {\"NamespaceName\": \"sampleNamespace\",\"SnapshotName\": \"sampleSnapshot\", \"retentionPeriod\": \"1\"}}\"
\n
"
+ }
+ },
"com.amazonaws.redshiftserverless#ThrottlingException": {
"type": "structure",
"members": {
@@ -5169,6 +6121,101 @@
"smithy.api#output": {}
}
},
+ "com.amazonaws.redshiftserverless#UpdateScheduledAction": {
+ "type": "operation",
+ "input": {
+ "target": "com.amazonaws.redshiftserverless#UpdateScheduledActionRequest"
+ },
+ "output": {
+ "target": "com.amazonaws.redshiftserverless#UpdateScheduledActionResponse"
+ },
+ "errors": [
+ {
+ "target": "com.amazonaws.redshiftserverless#ConflictException"
+ },
+ {
+ "target": "com.amazonaws.redshiftserverless#InternalServerException"
+ },
+ {
+ "target": "com.amazonaws.redshiftserverless#ResourceNotFoundException"
+ },
+ {
+ "target": "com.amazonaws.redshiftserverless#ValidationException"
+ }
+ ],
+ "traits": {
+ "smithy.api#documentation": "Updates a scheduled action.
",
+ "smithy.api#idempotent": {}
+ }
+ },
+ "com.amazonaws.redshiftserverless#UpdateScheduledActionRequest": {
+ "type": "structure",
+ "members": {
+ "scheduledActionName": {
+ "target": "com.amazonaws.redshiftserverless#ScheduledActionName",
+ "traits": {
+ "smithy.api#documentation": "The name of the scheduled action to update to.
",
+ "smithy.api#required": {}
+ }
+ },
+ "targetAction": {
+ "target": "com.amazonaws.redshiftserverless#TargetAction"
+ },
+ "schedule": {
+ "target": "com.amazonaws.redshiftserverless#Schedule",
+ "traits": {
+ "smithy.api#documentation": "The schedule for a one-time (at format) or recurring (cron format) scheduled action. Schedule invocations must be separated by at least one hour.
\n Format of at expressions is \"at(yyyy-mm-ddThh:mm:ss)
\". For example, \"at(2016-03-04T17:27:00)
\".
\n Format of cron expressions is \"cron(Minutes Hours Day-of-month Month Day-of-week Year)
\". For example, \"cron(0 10 ? * MON *)
\". For more information, see \n Cron Expressions in the Amazon CloudWatch Events User Guide.
"
+ }
+ },
+ "roleArn": {
+ "target": "com.amazonaws.redshiftserverless#IamRoleArn",
+ "traits": {
+ "smithy.api#documentation": "The ARN of the IAM role to assume to run the scheduled action. This IAM role must have permission to run the Amazon Redshift Serverless API operation in the scheduled action. \n This IAM role must allow the Amazon Redshift scheduler to schedule creating snapshots (Principal scheduler.redshift.amazonaws.com) to assume permissions on your behalf. \n For more information about the IAM role to use with the Amazon Redshift scheduler, see Using Identity-Based Policies for \n Amazon Redshift in the Amazon Redshift Cluster Management Guide
"
+ }
+ },
+ "enabled": {
+ "target": "smithy.api#Boolean",
+ "traits": {
+ "smithy.api#documentation": "Specifies whether to enable the scheduled action.
"
+ }
+ },
+ "scheduledActionDescription": {
+ "target": "smithy.api#String",
+ "traits": {
+ "smithy.api#documentation": "The descripion of the scheduled action to update to.
"
+ }
+ },
+ "startTime": {
+ "target": "smithy.api#Timestamp",
+ "traits": {
+ "smithy.api#documentation": "The start time in UTC of the scheduled action to update to.
"
+ }
+ },
+ "endTime": {
+ "target": "smithy.api#Timestamp",
+ "traits": {
+ "smithy.api#documentation": "The end time in UTC of the scheduled action to update.
"
+ }
+ }
+ },
+ "traits": {
+ "smithy.api#input": {}
+ }
+ },
+ "com.amazonaws.redshiftserverless#UpdateScheduledActionResponse": {
+ "type": "structure",
+ "members": {
+ "scheduledAction": {
+ "target": "com.amazonaws.redshiftserverless#ScheduledActionResponse",
+ "traits": {
+ "smithy.api#documentation": "The ScheduledAction object that was updated.
"
+ }
+ }
+ },
+ "traits": {
+ "smithy.api#output": {}
+ }
+ },
"com.amazonaws.redshiftserverless#UpdateSnapshot": {
"type": "operation",
"input": {
@@ -5195,6 +6242,71 @@
"smithy.api#documentation": "Updates a snapshot.
"
}
},
+ "com.amazonaws.redshiftserverless#UpdateSnapshotCopyConfiguration": {
+ "type": "operation",
+ "input": {
+ "target": "com.amazonaws.redshiftserverless#UpdateSnapshotCopyConfigurationRequest"
+ },
+ "output": {
+ "target": "com.amazonaws.redshiftserverless#UpdateSnapshotCopyConfigurationResponse"
+ },
+ "errors": [
+ {
+ "target": "com.amazonaws.redshiftserverless#AccessDeniedException"
+ },
+ {
+ "target": "com.amazonaws.redshiftserverless#ConflictException"
+ },
+ {
+ "target": "com.amazonaws.redshiftserverless#InternalServerException"
+ },
+ {
+ "target": "com.amazonaws.redshiftserverless#ResourceNotFoundException"
+ },
+ {
+ "target": "com.amazonaws.redshiftserverless#ValidationException"
+ }
+ ],
+ "traits": {
+ "smithy.api#documentation": "Updates a snapshot copy configuration.
"
+ }
+ },
+ "com.amazonaws.redshiftserverless#UpdateSnapshotCopyConfigurationRequest": {
+ "type": "structure",
+ "members": {
+ "snapshotCopyConfigurationId": {
+ "target": "smithy.api#String",
+ "traits": {
+ "smithy.api#documentation": "The ID of the snapshot copy configuration to update.
",
+ "smithy.api#required": {}
+ }
+ },
+ "snapshotRetentionPeriod": {
+ "target": "smithy.api#Integer",
+ "traits": {
+ "smithy.api#documentation": "The new retention period of how long to keep a snapshot in the destination Amazon Web Services Region.
"
+ }
+ }
+ },
+ "traits": {
+ "smithy.api#input": {}
+ }
+ },
+ "com.amazonaws.redshiftserverless#UpdateSnapshotCopyConfigurationResponse": {
+ "type": "structure",
+ "members": {
+ "snapshotCopyConfiguration": {
+ "target": "com.amazonaws.redshiftserverless#SnapshotCopyConfiguration",
+ "traits": {
+ "smithy.api#documentation": "The updated snapshot copy configuration object.
",
+ "smithy.api#required": {}
+ }
+ }
+ },
+ "traits": {
+ "smithy.api#output": {}
+ }
+ },
"com.amazonaws.redshiftserverless#UpdateSnapshotRequest": {
"type": "structure",
"members": {
@@ -5351,7 +6463,7 @@
"configParameters": {
"target": "com.amazonaws.redshiftserverless#ConfigParameterList",
"traits": {
- "smithy.api#documentation": "An array of parameters to set for advanced control over a database. The\n options are auto_mv
, datestyle
, enable_case_sensitivity_identifier
, enable_user_activity_logging
,\n query_group
, search_path
, and query monitoring metrics that let you \n define performance boundaries. For more information about query monitoring rules and available metrics, see \n \n Query monitoring metrics for Amazon Redshift Serverless.
"
+ "smithy.api#documentation": "An array of parameters to set for advanced control over a database. The\n options are auto_mv
, datestyle
, enable_case_sensitive_identifier
, enable_user_activity_logging
,\n query_group
, search_path
, and query monitoring metrics that let you \n define performance boundaries. For more information about query monitoring rules and available metrics, see \n \n Query monitoring metrics for Amazon Redshift Serverless.
"
}
},
"publiclyAccessible": {
@@ -5587,6 +6699,12 @@
"target": "com.amazonaws.redshiftserverless#VpcEndpoint"
}
},
+ "com.amazonaws.redshiftserverless#VpcIds": {
+ "type": "list",
+ "member": {
+ "target": "smithy.api#String"
+ }
+ },
"com.amazonaws.redshiftserverless#VpcSecurityGroupId": {
"type": "string"
},
@@ -5664,7 +6782,7 @@
"configParameters": {
"target": "com.amazonaws.redshiftserverless#ConfigParameterList",
"traits": {
- "smithy.api#documentation": "An array of parameters to set for advanced control over a database. The\n options are auto_mv
, datestyle
, enable_case_sensitivity_identifier
, enable_user_activity_logging
,\n query_group
, , search_path
, and query monitoring metrics that let you define performance boundaries. \n For more information about query monitoring rules and available metrics, see Query monitoring metrics for Amazon Redshift Serverless.
"
+ "smithy.api#documentation": "An array of parameters to set for advanced control over a database. The\n options are auto_mv
, datestyle
, enable_case_sensitive_identifier
, enable_user_activity_logging
,\n query_group
, search_path
, and query monitoring metrics that let you define performance boundaries. \n For more information about query monitoring rules and available metrics, see Query monitoring metrics for Amazon Redshift Serverless.
"
}
},
"securityGroupIds": {
@@ -5746,6 +6864,12 @@
"traits": {
"smithy.api#documentation": "The maximum data-warehouse capacity Amazon Redshift Serverless uses to serve queries. The max capacity is specified in RPUs.
"
}
+ },
+ "crossAccountVpcs": {
+ "target": "com.amazonaws.redshiftserverless#VpcIds",
+ "traits": {
+ "smithy.api#documentation": "A list of VPCs. Each entry is the unique identifier of a virtual private cloud with access to Amazon Redshift Serverless. If all of the VPCs for the grantee are allowed, it shows an asterisk.
"
+ }
}
},
"traits": {