diff --git a/clients/client-redshift-serverless/README.md b/clients/client-redshift-serverless/README.md
index 7c50167fa49d..58373fb8a162 100644
--- a/clients/client-redshift-serverless/README.md
+++ b/clients/client-redshift-serverless/README.md
@@ -221,6 +221,14 @@ ConvertRecoveryPointToSnapshot
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-redshift-serverless/classes/convertrecoverypointtosnapshotcommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-redshift-serverless/interfaces/convertrecoverypointtosnapshotcommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-redshift-serverless/interfaces/convertrecoverypointtosnapshotcommandoutput.html)
+
+
+
+CreateCustomDomainAssociation
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-redshift-serverless/classes/createcustomdomainassociationcommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-redshift-serverless/interfaces/createcustomdomainassociationcommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-redshift-serverless/interfaces/createcustomdomainassociationcommandoutput.html)
+
@@ -261,6 +269,14 @@ CreateWorkgroup
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-redshift-serverless/classes/createworkgroupcommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-redshift-serverless/interfaces/createworkgroupcommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-redshift-serverless/interfaces/createworkgroupcommandoutput.html)
+
+
+
+DeleteCustomDomainAssociation
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-redshift-serverless/classes/deletecustomdomainassociationcommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-redshift-serverless/interfaces/deletecustomdomainassociationcommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-redshift-serverless/interfaces/deletecustomdomainassociationcommandoutput.html)
+
@@ -317,6 +333,14 @@ GetCredentials
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-redshift-serverless/classes/getcredentialscommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-redshift-serverless/interfaces/getcredentialscommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-redshift-serverless/interfaces/getcredentialscommandoutput.html)
+
+
+
+GetCustomDomainAssociation
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-redshift-serverless/classes/getcustomdomainassociationcommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-redshift-serverless/interfaces/getcustomdomainassociationcommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-redshift-serverless/interfaces/getcustomdomainassociationcommandoutput.html)
+
@@ -381,6 +405,14 @@ GetWorkgroup
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-redshift-serverless/classes/getworkgroupcommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-redshift-serverless/interfaces/getworkgroupcommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-redshift-serverless/interfaces/getworkgroupcommandoutput.html)
+
+
+
+ListCustomDomainAssociations
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-redshift-serverless/classes/listcustomdomainassociationscommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-redshift-serverless/interfaces/listcustomdomainassociationscommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-redshift-serverless/interfaces/listcustomdomainassociationscommandoutput.html)
+
@@ -493,6 +525,14 @@ UntagResource
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-redshift-serverless/classes/untagresourcecommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-redshift-serverless/interfaces/untagresourcecommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-redshift-serverless/interfaces/untagresourcecommandoutput.html)
+
+
+
+UpdateCustomDomainAssociation
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-redshift-serverless/classes/updatecustomdomainassociationcommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-redshift-serverless/interfaces/updatecustomdomainassociationcommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-redshift-serverless/interfaces/updatecustomdomainassociationcommandoutput.html)
+
diff --git a/clients/client-redshift-serverless/src/RedshiftServerless.ts b/clients/client-redshift-serverless/src/RedshiftServerless.ts
index 9e4eeacb9e6e..8e7e148a442f 100644
--- a/clients/client-redshift-serverless/src/RedshiftServerless.ts
+++ b/clients/client-redshift-serverless/src/RedshiftServerless.ts
@@ -7,6 +7,11 @@ import {
ConvertRecoveryPointToSnapshotCommandInput,
ConvertRecoveryPointToSnapshotCommandOutput,
} from "./commands/ConvertRecoveryPointToSnapshotCommand";
+import {
+ CreateCustomDomainAssociationCommand,
+ CreateCustomDomainAssociationCommandInput,
+ CreateCustomDomainAssociationCommandOutput,
+} from "./commands/CreateCustomDomainAssociationCommand";
import {
CreateEndpointAccessCommand,
CreateEndpointAccessCommandInput,
@@ -32,6 +37,11 @@ import {
CreateWorkgroupCommandInput,
CreateWorkgroupCommandOutput,
} from "./commands/CreateWorkgroupCommand";
+import {
+ DeleteCustomDomainAssociationCommand,
+ DeleteCustomDomainAssociationCommandInput,
+ DeleteCustomDomainAssociationCommandOutput,
+} from "./commands/DeleteCustomDomainAssociationCommand";
import {
DeleteEndpointAccessCommand,
DeleteEndpointAccessCommandInput,
@@ -67,6 +77,11 @@ import {
GetCredentialsCommandInput,
GetCredentialsCommandOutput,
} from "./commands/GetCredentialsCommand";
+import {
+ GetCustomDomainAssociationCommand,
+ GetCustomDomainAssociationCommandInput,
+ GetCustomDomainAssociationCommandOutput,
+} from "./commands/GetCustomDomainAssociationCommand";
import {
GetEndpointAccessCommand,
GetEndpointAccessCommandInput,
@@ -103,6 +118,11 @@ import {
GetWorkgroupCommandInput,
GetWorkgroupCommandOutput,
} from "./commands/GetWorkgroupCommand";
+import {
+ ListCustomDomainAssociationsCommand,
+ ListCustomDomainAssociationsCommandInput,
+ ListCustomDomainAssociationsCommandOutput,
+} from "./commands/ListCustomDomainAssociationsCommand";
import {
ListEndpointAccessCommand,
ListEndpointAccessCommandInput,
@@ -169,6 +189,11 @@ import {
UntagResourceCommandInput,
UntagResourceCommandOutput,
} from "./commands/UntagResourceCommand";
+import {
+ UpdateCustomDomainAssociationCommand,
+ UpdateCustomDomainAssociationCommandInput,
+ UpdateCustomDomainAssociationCommandOutput,
+} from "./commands/UpdateCustomDomainAssociationCommand";
import {
UpdateEndpointAccessCommand,
UpdateEndpointAccessCommandInput,
@@ -198,11 +223,13 @@ import { RedshiftServerlessClient, RedshiftServerlessClientConfig } from "./Reds
const commands = {
ConvertRecoveryPointToSnapshotCommand,
+ CreateCustomDomainAssociationCommand,
CreateEndpointAccessCommand,
CreateNamespaceCommand,
CreateSnapshotCommand,
CreateUsageLimitCommand,
CreateWorkgroupCommand,
+ DeleteCustomDomainAssociationCommand,
DeleteEndpointAccessCommand,
DeleteNamespaceCommand,
DeleteResourcePolicyCommand,
@@ -210,6 +237,7 @@ const commands = {
DeleteUsageLimitCommand,
DeleteWorkgroupCommand,
GetCredentialsCommand,
+ GetCustomDomainAssociationCommand,
GetEndpointAccessCommand,
GetNamespaceCommand,
GetRecoveryPointCommand,
@@ -218,6 +246,7 @@ const commands = {
GetTableRestoreStatusCommand,
GetUsageLimitCommand,
GetWorkgroupCommand,
+ ListCustomDomainAssociationsCommand,
ListEndpointAccessCommand,
ListNamespacesCommand,
ListRecoveryPointsCommand,
@@ -232,6 +261,7 @@ const commands = {
RestoreTableFromSnapshotCommand,
TagResourceCommand,
UntagResourceCommand,
+ UpdateCustomDomainAssociationCommand,
UpdateEndpointAccessCommand,
UpdateNamespaceCommand,
UpdateSnapshotCommand,
@@ -257,6 +287,23 @@ export interface RedshiftServerless {
cb: (err: any, data?: ConvertRecoveryPointToSnapshotCommandOutput) => void
): void;
+ /**
+ * @see {@link CreateCustomDomainAssociationCommand}
+ */
+ createCustomDomainAssociation(
+ args: CreateCustomDomainAssociationCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ createCustomDomainAssociation(
+ args: CreateCustomDomainAssociationCommandInput,
+ cb: (err: any, data?: CreateCustomDomainAssociationCommandOutput) => void
+ ): void;
+ createCustomDomainAssociation(
+ args: CreateCustomDomainAssociationCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: CreateCustomDomainAssociationCommandOutput) => void
+ ): void;
+
/**
* @see {@link CreateEndpointAccessCommand}
*/
@@ -333,6 +380,23 @@ export interface RedshiftServerless {
cb: (err: any, data?: CreateWorkgroupCommandOutput) => void
): void;
+ /**
+ * @see {@link DeleteCustomDomainAssociationCommand}
+ */
+ deleteCustomDomainAssociation(
+ args: DeleteCustomDomainAssociationCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ deleteCustomDomainAssociation(
+ args: DeleteCustomDomainAssociationCommandInput,
+ cb: (err: any, data?: DeleteCustomDomainAssociationCommandOutput) => void
+ ): void;
+ deleteCustomDomainAssociation(
+ args: DeleteCustomDomainAssociationCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: DeleteCustomDomainAssociationCommandOutput) => void
+ ): void;
+
/**
* @see {@link DeleteEndpointAccessCommand}
*/
@@ -440,6 +504,23 @@ export interface RedshiftServerless {
cb: (err: any, data?: GetCredentialsCommandOutput) => void
): void;
+ /**
+ * @see {@link GetCustomDomainAssociationCommand}
+ */
+ getCustomDomainAssociation(
+ args: GetCustomDomainAssociationCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ getCustomDomainAssociation(
+ args: GetCustomDomainAssociationCommandInput,
+ cb: (err: any, data?: GetCustomDomainAssociationCommandOutput) => void
+ ): void;
+ getCustomDomainAssociation(
+ args: GetCustomDomainAssociationCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: GetCustomDomainAssociationCommandOutput) => void
+ ): void;
+
/**
* @see {@link GetEndpointAccessCommand}
*/
@@ -552,6 +633,23 @@ export interface RedshiftServerless {
cb: (err: any, data?: GetWorkgroupCommandOutput) => void
): void;
+ /**
+ * @see {@link ListCustomDomainAssociationsCommand}
+ */
+ listCustomDomainAssociations(
+ args: ListCustomDomainAssociationsCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ listCustomDomainAssociations(
+ args: ListCustomDomainAssociationsCommandInput,
+ cb: (err: any, data?: ListCustomDomainAssociationsCommandOutput) => void
+ ): void;
+ listCustomDomainAssociations(
+ args: ListCustomDomainAssociationsCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: ListCustomDomainAssociationsCommandOutput) => void
+ ): void;
+
/**
* @see {@link ListEndpointAccessCommand}
*/
@@ -763,6 +861,23 @@ export interface RedshiftServerless {
cb: (err: any, data?: UntagResourceCommandOutput) => void
): void;
+ /**
+ * @see {@link UpdateCustomDomainAssociationCommand}
+ */
+ updateCustomDomainAssociation(
+ args: UpdateCustomDomainAssociationCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ updateCustomDomainAssociation(
+ args: UpdateCustomDomainAssociationCommandInput,
+ cb: (err: any, data?: UpdateCustomDomainAssociationCommandOutput) => void
+ ): void;
+ updateCustomDomainAssociation(
+ args: UpdateCustomDomainAssociationCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: UpdateCustomDomainAssociationCommandOutput) => void
+ ): void;
+
/**
* @see {@link UpdateEndpointAccessCommand}
*/
diff --git a/clients/client-redshift-serverless/src/RedshiftServerlessClient.ts b/clients/client-redshift-serverless/src/RedshiftServerlessClient.ts
index ac1eb2cf90a9..c84fabd89880 100644
--- a/clients/client-redshift-serverless/src/RedshiftServerlessClient.ts
+++ b/clients/client-redshift-serverless/src/RedshiftServerlessClient.ts
@@ -54,6 +54,10 @@ import {
ConvertRecoveryPointToSnapshotCommandInput,
ConvertRecoveryPointToSnapshotCommandOutput,
} from "./commands/ConvertRecoveryPointToSnapshotCommand";
+import {
+ CreateCustomDomainAssociationCommandInput,
+ CreateCustomDomainAssociationCommandOutput,
+} from "./commands/CreateCustomDomainAssociationCommand";
import {
CreateEndpointAccessCommandInput,
CreateEndpointAccessCommandOutput,
@@ -62,6 +66,10 @@ import { CreateNamespaceCommandInput, CreateNamespaceCommandOutput } from "./com
import { CreateSnapshotCommandInput, CreateSnapshotCommandOutput } from "./commands/CreateSnapshotCommand";
import { CreateUsageLimitCommandInput, CreateUsageLimitCommandOutput } from "./commands/CreateUsageLimitCommand";
import { CreateWorkgroupCommandInput, CreateWorkgroupCommandOutput } from "./commands/CreateWorkgroupCommand";
+import {
+ DeleteCustomDomainAssociationCommandInput,
+ DeleteCustomDomainAssociationCommandOutput,
+} from "./commands/DeleteCustomDomainAssociationCommand";
import {
DeleteEndpointAccessCommandInput,
DeleteEndpointAccessCommandOutput,
@@ -75,6 +83,10 @@ import { DeleteSnapshotCommandInput, DeleteSnapshotCommandOutput } from "./comma
import { DeleteUsageLimitCommandInput, DeleteUsageLimitCommandOutput } from "./commands/DeleteUsageLimitCommand";
import { DeleteWorkgroupCommandInput, DeleteWorkgroupCommandOutput } from "./commands/DeleteWorkgroupCommand";
import { GetCredentialsCommandInput, GetCredentialsCommandOutput } from "./commands/GetCredentialsCommand";
+import {
+ GetCustomDomainAssociationCommandInput,
+ GetCustomDomainAssociationCommandOutput,
+} from "./commands/GetCustomDomainAssociationCommand";
import { GetEndpointAccessCommandInput, GetEndpointAccessCommandOutput } from "./commands/GetEndpointAccessCommand";
import { GetNamespaceCommandInput, GetNamespaceCommandOutput } from "./commands/GetNamespaceCommand";
import { GetRecoveryPointCommandInput, GetRecoveryPointCommandOutput } from "./commands/GetRecoveryPointCommand";
@@ -86,6 +98,10 @@ import {
} from "./commands/GetTableRestoreStatusCommand";
import { GetUsageLimitCommandInput, GetUsageLimitCommandOutput } from "./commands/GetUsageLimitCommand";
import { GetWorkgroupCommandInput, GetWorkgroupCommandOutput } from "./commands/GetWorkgroupCommand";
+import {
+ ListCustomDomainAssociationsCommandInput,
+ ListCustomDomainAssociationsCommandOutput,
+} from "./commands/ListCustomDomainAssociationsCommand";
import { ListEndpointAccessCommandInput, ListEndpointAccessCommandOutput } from "./commands/ListEndpointAccessCommand";
import { ListNamespacesCommandInput, ListNamespacesCommandOutput } from "./commands/ListNamespacesCommand";
import { ListRecoveryPointsCommandInput, ListRecoveryPointsCommandOutput } from "./commands/ListRecoveryPointsCommand";
@@ -115,6 +131,10 @@ import {
} from "./commands/RestoreTableFromSnapshotCommand";
import { TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand";
import { UntagResourceCommandInput, UntagResourceCommandOutput } from "./commands/UntagResourceCommand";
+import {
+ UpdateCustomDomainAssociationCommandInput,
+ UpdateCustomDomainAssociationCommandOutput,
+} from "./commands/UpdateCustomDomainAssociationCommand";
import {
UpdateEndpointAccessCommandInput,
UpdateEndpointAccessCommandOutput,
@@ -139,11 +159,13 @@ export { __Client };
*/
export type ServiceInputTypes =
| ConvertRecoveryPointToSnapshotCommandInput
+ | CreateCustomDomainAssociationCommandInput
| CreateEndpointAccessCommandInput
| CreateNamespaceCommandInput
| CreateSnapshotCommandInput
| CreateUsageLimitCommandInput
| CreateWorkgroupCommandInput
+ | DeleteCustomDomainAssociationCommandInput
| DeleteEndpointAccessCommandInput
| DeleteNamespaceCommandInput
| DeleteResourcePolicyCommandInput
@@ -151,6 +173,7 @@ export type ServiceInputTypes =
| DeleteUsageLimitCommandInput
| DeleteWorkgroupCommandInput
| GetCredentialsCommandInput
+ | GetCustomDomainAssociationCommandInput
| GetEndpointAccessCommandInput
| GetNamespaceCommandInput
| GetRecoveryPointCommandInput
@@ -159,6 +182,7 @@ export type ServiceInputTypes =
| GetTableRestoreStatusCommandInput
| GetUsageLimitCommandInput
| GetWorkgroupCommandInput
+ | ListCustomDomainAssociationsCommandInput
| ListEndpointAccessCommandInput
| ListNamespacesCommandInput
| ListRecoveryPointsCommandInput
@@ -173,6 +197,7 @@ export type ServiceInputTypes =
| RestoreTableFromSnapshotCommandInput
| TagResourceCommandInput
| UntagResourceCommandInput
+ | UpdateCustomDomainAssociationCommandInput
| UpdateEndpointAccessCommandInput
| UpdateNamespaceCommandInput
| UpdateSnapshotCommandInput
@@ -184,11 +209,13 @@ export type ServiceInputTypes =
*/
export type ServiceOutputTypes =
| ConvertRecoveryPointToSnapshotCommandOutput
+ | CreateCustomDomainAssociationCommandOutput
| CreateEndpointAccessCommandOutput
| CreateNamespaceCommandOutput
| CreateSnapshotCommandOutput
| CreateUsageLimitCommandOutput
| CreateWorkgroupCommandOutput
+ | DeleteCustomDomainAssociationCommandOutput
| DeleteEndpointAccessCommandOutput
| DeleteNamespaceCommandOutput
| DeleteResourcePolicyCommandOutput
@@ -196,6 +223,7 @@ export type ServiceOutputTypes =
| DeleteUsageLimitCommandOutput
| DeleteWorkgroupCommandOutput
| GetCredentialsCommandOutput
+ | GetCustomDomainAssociationCommandOutput
| GetEndpointAccessCommandOutput
| GetNamespaceCommandOutput
| GetRecoveryPointCommandOutput
@@ -204,6 +232,7 @@ export type ServiceOutputTypes =
| GetTableRestoreStatusCommandOutput
| GetUsageLimitCommandOutput
| GetWorkgroupCommandOutput
+ | ListCustomDomainAssociationsCommandOutput
| ListEndpointAccessCommandOutput
| ListNamespacesCommandOutput
| ListRecoveryPointsCommandOutput
@@ -218,6 +247,7 @@ export type ServiceOutputTypes =
| RestoreTableFromSnapshotCommandOutput
| TagResourceCommandOutput
| UntagResourceCommandOutput
+ | UpdateCustomDomainAssociationCommandOutput
| UpdateEndpointAccessCommandOutput
| UpdateNamespaceCommandOutput
| UpdateSnapshotCommandOutput
diff --git a/clients/client-redshift-serverless/src/commands/CreateCustomDomainAssociationCommand.ts b/clients/client-redshift-serverless/src/commands/CreateCustomDomainAssociationCommand.ts
new file mode 100644
index 000000000000..b5835a3bb1ae
--- /dev/null
+++ b/clients/client-redshift-serverless/src/commands/CreateCustomDomainAssociationCommand.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 { CreateCustomDomainAssociationRequest, CreateCustomDomainAssociationResponse } from "../models/models_0";
+import {
+ de_CreateCustomDomainAssociationCommand,
+ se_CreateCustomDomainAssociationCommand,
+} from "../protocols/Aws_json1_1";
+import {
+ RedshiftServerlessClientResolvedConfig,
+ ServiceInputTypes,
+ ServiceOutputTypes,
+} from "../RedshiftServerlessClient";
+
+/**
+ * @public
+ */
+export { __MetadataBearer, $Command };
+/**
+ * @public
+ *
+ * The input for {@link CreateCustomDomainAssociationCommand}.
+ */
+export interface CreateCustomDomainAssociationCommandInput extends CreateCustomDomainAssociationRequest {}
+/**
+ * @public
+ *
+ * The output of {@link CreateCustomDomainAssociationCommand}.
+ */
+export interface CreateCustomDomainAssociationCommandOutput
+ extends CreateCustomDomainAssociationResponse,
+ __MetadataBearer {}
+
+/**
+ * @public
+ * Creates a custom domain association for Amazon Redshift Serverless.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { RedshiftServerlessClient, CreateCustomDomainAssociationCommand } from "@aws-sdk/client-redshift-serverless"; // ES Modules import
+ * // const { RedshiftServerlessClient, CreateCustomDomainAssociationCommand } = require("@aws-sdk/client-redshift-serverless"); // CommonJS import
+ * const client = new RedshiftServerlessClient(config);
+ * const input = { // CreateCustomDomainAssociationRequest
+ * workgroupName: "STRING_VALUE", // required
+ * customDomainName: "STRING_VALUE", // required
+ * customDomainCertificateArn: "STRING_VALUE", // required
+ * };
+ * const command = new CreateCustomDomainAssociationCommand(input);
+ * const response = await client.send(command);
+ * // { // CreateCustomDomainAssociationResponse
+ * // customDomainName: "STRING_VALUE",
+ * // workgroupName: "STRING_VALUE",
+ * // customDomainCertificateArn: "STRING_VALUE",
+ * // customDomainCertificateExpiryTime: new Date("TIMESTAMP"),
+ * // };
+ *
+ * ```
+ *
+ * @param CreateCustomDomainAssociationCommandInput - {@link CreateCustomDomainAssociationCommandInput}
+ * @returns {@link CreateCustomDomainAssociationCommandOutput}
+ * @see {@link CreateCustomDomainAssociationCommandInput} for command's `input` shape.
+ * @see {@link CreateCustomDomainAssociationCommandOutput} 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 ThrottlingException} (client fault)
+ * The request was denied due to request throttling.
+ *
+ * @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 CreateCustomDomainAssociationCommand extends $Command<
+ CreateCustomDomainAssociationCommandInput,
+ CreateCustomDomainAssociationCommandOutput,
+ RedshiftServerlessClientResolvedConfig
+> {
+ // Start section: command_properties
+ // End section: command_properties
+
+ 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: CreateCustomDomainAssociationCommandInput) {
+ // Start section: command_constructor
+ super();
+ // End section: command_constructor
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: RedshiftServerlessClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+ this.middlewareStack.use(
+ getEndpointPlugin(configuration, CreateCustomDomainAssociationCommand.getEndpointParameterInstructions())
+ );
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "RedshiftServerlessClient";
+ const commandName = "CreateCustomDomainAssociationCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: (_: any) => _,
+ outputFilterSensitiveLog: (_: any) => _,
+ [SMITHY_CONTEXT_KEY]: {
+ service: "RedshiftServerless",
+ operation: "CreateCustomDomainAssociation",
+ },
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ /**
+ * @internal
+ */
+ private serialize(input: CreateCustomDomainAssociationCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return se_CreateCustomDomainAssociationCommand(input, context);
+ }
+
+ /**
+ * @internal
+ */
+ private deserialize(
+ output: __HttpResponse,
+ context: __SerdeContext
+ ): Promise {
+ return de_CreateCustomDomainAssociationCommand(output, context);
+ }
+
+ // Start section: command_body_extra
+ // End section: command_body_extra
+}
diff --git a/clients/client-redshift-serverless/src/commands/CreateWorkgroupCommand.ts b/clients/client-redshift-serverless/src/commands/CreateWorkgroupCommand.ts
index 66d339eb21b5..e8c14e488ebb 100644
--- a/clients/client-redshift-serverless/src/commands/CreateWorkgroupCommand.ts
+++ b/clients/client-redshift-serverless/src/commands/CreateWorkgroupCommand.ts
@@ -118,6 +118,9 @@ export interface CreateWorkgroupCommandOutput extends CreateWorkgroupResponse, _
* // publiclyAccessible: true || false,
* // creationDate: new Date("TIMESTAMP"),
* // port: Number("int"),
+ * // customDomainName: "STRING_VALUE",
+ * // customDomainCertificateArn: "STRING_VALUE",
+ * // customDomainCertificateExpiryTime: new Date("TIMESTAMP"),
* // workgroupVersion: "STRING_VALUE",
* // patchVersion: "STRING_VALUE",
* // },
diff --git a/clients/client-redshift-serverless/src/commands/DeleteCustomDomainAssociationCommand.ts b/clients/client-redshift-serverless/src/commands/DeleteCustomDomainAssociationCommand.ts
new file mode 100644
index 000000000000..e485945f6062
--- /dev/null
+++ b/clients/client-redshift-serverless/src/commands/DeleteCustomDomainAssociationCommand.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 { DeleteCustomDomainAssociationRequest, DeleteCustomDomainAssociationResponse } from "../models/models_0";
+import {
+ de_DeleteCustomDomainAssociationCommand,
+ se_DeleteCustomDomainAssociationCommand,
+} from "../protocols/Aws_json1_1";
+import {
+ RedshiftServerlessClientResolvedConfig,
+ ServiceInputTypes,
+ ServiceOutputTypes,
+} from "../RedshiftServerlessClient";
+
+/**
+ * @public
+ */
+export { __MetadataBearer, $Command };
+/**
+ * @public
+ *
+ * The input for {@link DeleteCustomDomainAssociationCommand}.
+ */
+export interface DeleteCustomDomainAssociationCommandInput extends DeleteCustomDomainAssociationRequest {}
+/**
+ * @public
+ *
+ * The output of {@link DeleteCustomDomainAssociationCommand}.
+ */
+export interface DeleteCustomDomainAssociationCommandOutput
+ extends DeleteCustomDomainAssociationResponse,
+ __MetadataBearer {}
+
+/**
+ * @public
+ * Deletes a custom domain association for Amazon Redshift Serverless.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { RedshiftServerlessClient, DeleteCustomDomainAssociationCommand } from "@aws-sdk/client-redshift-serverless"; // ES Modules import
+ * // const { RedshiftServerlessClient, DeleteCustomDomainAssociationCommand } = require("@aws-sdk/client-redshift-serverless"); // CommonJS import
+ * const client = new RedshiftServerlessClient(config);
+ * const input = { // DeleteCustomDomainAssociationRequest
+ * workgroupName: "STRING_VALUE", // required
+ * customDomainName: "STRING_VALUE", // required
+ * };
+ * const command = new DeleteCustomDomainAssociationCommand(input);
+ * const response = await client.send(command);
+ * // {};
+ *
+ * ```
+ *
+ * @param DeleteCustomDomainAssociationCommandInput - {@link DeleteCustomDomainAssociationCommandInput}
+ * @returns {@link DeleteCustomDomainAssociationCommandOutput}
+ * @see {@link DeleteCustomDomainAssociationCommandInput} for command's `input` shape.
+ * @see {@link DeleteCustomDomainAssociationCommandOutput} 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 ThrottlingException} (client fault)
+ * The request was denied due to request throttling.
+ *
+ * @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 DeleteCustomDomainAssociationCommand extends $Command<
+ DeleteCustomDomainAssociationCommandInput,
+ DeleteCustomDomainAssociationCommandOutput,
+ RedshiftServerlessClientResolvedConfig
+> {
+ // Start section: command_properties
+ // End section: command_properties
+
+ 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: DeleteCustomDomainAssociationCommandInput) {
+ // Start section: command_constructor
+ super();
+ // End section: command_constructor
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: RedshiftServerlessClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+ this.middlewareStack.use(
+ getEndpointPlugin(configuration, DeleteCustomDomainAssociationCommand.getEndpointParameterInstructions())
+ );
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "RedshiftServerlessClient";
+ const commandName = "DeleteCustomDomainAssociationCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: (_: any) => _,
+ outputFilterSensitiveLog: (_: any) => _,
+ [SMITHY_CONTEXT_KEY]: {
+ service: "RedshiftServerless",
+ operation: "DeleteCustomDomainAssociation",
+ },
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ /**
+ * @internal
+ */
+ private serialize(input: DeleteCustomDomainAssociationCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return se_DeleteCustomDomainAssociationCommand(input, context);
+ }
+
+ /**
+ * @internal
+ */
+ private deserialize(
+ output: __HttpResponse,
+ context: __SerdeContext
+ ): Promise {
+ return de_DeleteCustomDomainAssociationCommand(output, context);
+ }
+
+ // Start section: command_body_extra
+ // End section: command_body_extra
+}
diff --git a/clients/client-redshift-serverless/src/commands/DeleteWorkgroupCommand.ts b/clients/client-redshift-serverless/src/commands/DeleteWorkgroupCommand.ts
index 267a893043c6..2b449bf9aaf6 100644
--- a/clients/client-redshift-serverless/src/commands/DeleteWorkgroupCommand.ts
+++ b/clients/client-redshift-serverless/src/commands/DeleteWorkgroupCommand.ts
@@ -95,6 +95,9 @@ export interface DeleteWorkgroupCommandOutput extends DeleteWorkgroupResponse, _
* // publiclyAccessible: true || false,
* // creationDate: new Date("TIMESTAMP"),
* // port: Number("int"),
+ * // customDomainName: "STRING_VALUE",
+ * // customDomainCertificateArn: "STRING_VALUE",
+ * // customDomainCertificateExpiryTime: new Date("TIMESTAMP"),
* // workgroupVersion: "STRING_VALUE",
* // patchVersion: "STRING_VALUE",
* // },
diff --git a/clients/client-redshift-serverless/src/commands/GetCredentialsCommand.ts b/clients/client-redshift-serverless/src/commands/GetCredentialsCommand.ts
index 2200a09b435b..9a75ead442dd 100644
--- a/clients/client-redshift-serverless/src/commands/GetCredentialsCommand.ts
+++ b/clients/client-redshift-serverless/src/commands/GetCredentialsCommand.ts
@@ -63,9 +63,10 @@ export interface GetCredentialsCommandOutput extends GetCredentialsResponse, __M
* // const { RedshiftServerlessClient, GetCredentialsCommand } = require("@aws-sdk/client-redshift-serverless"); // CommonJS import
* const client = new RedshiftServerlessClient(config);
* const input = { // GetCredentialsRequest
- * workgroupName: "STRING_VALUE", // required
* dbName: "STRING_VALUE",
* durationSeconds: Number("int"),
+ * workgroupName: "STRING_VALUE",
+ * customDomainName: "STRING_VALUE",
* };
* const command = new GetCredentialsCommand(input);
* const response = await client.send(command);
diff --git a/clients/client-redshift-serverless/src/commands/GetCustomDomainAssociationCommand.ts b/clients/client-redshift-serverless/src/commands/GetCustomDomainAssociationCommand.ts
new file mode 100644
index 000000000000..1a0e9777e9f4
--- /dev/null
+++ b/clients/client-redshift-serverless/src/commands/GetCustomDomainAssociationCommand.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 { GetCustomDomainAssociationRequest, GetCustomDomainAssociationResponse } from "../models/models_0";
+import { de_GetCustomDomainAssociationCommand, se_GetCustomDomainAssociationCommand } from "../protocols/Aws_json1_1";
+import {
+ RedshiftServerlessClientResolvedConfig,
+ ServiceInputTypes,
+ ServiceOutputTypes,
+} from "../RedshiftServerlessClient";
+
+/**
+ * @public
+ */
+export { __MetadataBearer, $Command };
+/**
+ * @public
+ *
+ * The input for {@link GetCustomDomainAssociationCommand}.
+ */
+export interface GetCustomDomainAssociationCommandInput extends GetCustomDomainAssociationRequest {}
+/**
+ * @public
+ *
+ * The output of {@link GetCustomDomainAssociationCommand}.
+ */
+export interface GetCustomDomainAssociationCommandOutput extends GetCustomDomainAssociationResponse, __MetadataBearer {}
+
+/**
+ * @public
+ * Gets information about a specific custom domain association.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { RedshiftServerlessClient, GetCustomDomainAssociationCommand } from "@aws-sdk/client-redshift-serverless"; // ES Modules import
+ * // const { RedshiftServerlessClient, GetCustomDomainAssociationCommand } = require("@aws-sdk/client-redshift-serverless"); // CommonJS import
+ * const client = new RedshiftServerlessClient(config);
+ * const input = { // GetCustomDomainAssociationRequest
+ * customDomainName: "STRING_VALUE", // required
+ * workgroupName: "STRING_VALUE", // required
+ * };
+ * const command = new GetCustomDomainAssociationCommand(input);
+ * const response = await client.send(command);
+ * // { // GetCustomDomainAssociationResponse
+ * // customDomainName: "STRING_VALUE",
+ * // workgroupName: "STRING_VALUE",
+ * // customDomainCertificateArn: "STRING_VALUE",
+ * // customDomainCertificateExpiryTime: new Date("TIMESTAMP"),
+ * // };
+ *
+ * ```
+ *
+ * @param GetCustomDomainAssociationCommandInput - {@link GetCustomDomainAssociationCommandInput}
+ * @returns {@link GetCustomDomainAssociationCommandOutput}
+ * @see {@link GetCustomDomainAssociationCommandInput} for command's `input` shape.
+ * @see {@link GetCustomDomainAssociationCommandOutput} 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 ThrottlingException} (client fault)
+ * The request was denied due to request throttling.
+ *
+ * @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 GetCustomDomainAssociationCommand extends $Command<
+ GetCustomDomainAssociationCommandInput,
+ GetCustomDomainAssociationCommandOutput,
+ RedshiftServerlessClientResolvedConfig
+> {
+ // Start section: command_properties
+ // End section: command_properties
+
+ 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: GetCustomDomainAssociationCommandInput) {
+ // Start section: command_constructor
+ super();
+ // End section: command_constructor
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: RedshiftServerlessClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+ this.middlewareStack.use(
+ getEndpointPlugin(configuration, GetCustomDomainAssociationCommand.getEndpointParameterInstructions())
+ );
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "RedshiftServerlessClient";
+ const commandName = "GetCustomDomainAssociationCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: (_: any) => _,
+ outputFilterSensitiveLog: (_: any) => _,
+ [SMITHY_CONTEXT_KEY]: {
+ service: "RedshiftServerless",
+ operation: "GetCustomDomainAssociation",
+ },
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ /**
+ * @internal
+ */
+ private serialize(input: GetCustomDomainAssociationCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return se_GetCustomDomainAssociationCommand(input, context);
+ }
+
+ /**
+ * @internal
+ */
+ private deserialize(
+ output: __HttpResponse,
+ context: __SerdeContext
+ ): Promise {
+ return de_GetCustomDomainAssociationCommand(output, context);
+ }
+
+ // Start section: command_body_extra
+ // End section: command_body_extra
+}
diff --git a/clients/client-redshift-serverless/src/commands/GetWorkgroupCommand.ts b/clients/client-redshift-serverless/src/commands/GetWorkgroupCommand.ts
index d9ba581fdbb3..834053e3bc47 100644
--- a/clients/client-redshift-serverless/src/commands/GetWorkgroupCommand.ts
+++ b/clients/client-redshift-serverless/src/commands/GetWorkgroupCommand.ts
@@ -95,6 +95,9 @@ export interface GetWorkgroupCommandOutput extends GetWorkgroupResponse, __Metad
* // publiclyAccessible: true || false,
* // creationDate: new Date("TIMESTAMP"),
* // port: Number("int"),
+ * // customDomainName: "STRING_VALUE",
+ * // customDomainCertificateArn: "STRING_VALUE",
+ * // customDomainCertificateExpiryTime: new Date("TIMESTAMP"),
* // workgroupVersion: "STRING_VALUE",
* // patchVersion: "STRING_VALUE",
* // },
diff --git a/clients/client-redshift-serverless/src/commands/ListCustomDomainAssociationsCommand.ts b/clients/client-redshift-serverless/src/commands/ListCustomDomainAssociationsCommand.ts
new file mode 100644
index 000000000000..771ad1867e92
--- /dev/null
+++ b/clients/client-redshift-serverless/src/commands/ListCustomDomainAssociationsCommand.ts
@@ -0,0 +1,185 @@
+// 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 { ListCustomDomainAssociationsRequest, ListCustomDomainAssociationsResponse } from "../models/models_0";
+import {
+ de_ListCustomDomainAssociationsCommand,
+ se_ListCustomDomainAssociationsCommand,
+} from "../protocols/Aws_json1_1";
+import {
+ RedshiftServerlessClientResolvedConfig,
+ ServiceInputTypes,
+ ServiceOutputTypes,
+} from "../RedshiftServerlessClient";
+
+/**
+ * @public
+ */
+export { __MetadataBearer, $Command };
+/**
+ * @public
+ *
+ * The input for {@link ListCustomDomainAssociationsCommand}.
+ */
+export interface ListCustomDomainAssociationsCommandInput extends ListCustomDomainAssociationsRequest {}
+/**
+ * @public
+ *
+ * The output of {@link ListCustomDomainAssociationsCommand}.
+ */
+export interface ListCustomDomainAssociationsCommandOutput
+ extends ListCustomDomainAssociationsResponse,
+ __MetadataBearer {}
+
+/**
+ * @public
+ * Lists custom domain associations for Amazon Redshift Serverless.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { RedshiftServerlessClient, ListCustomDomainAssociationsCommand } from "@aws-sdk/client-redshift-serverless"; // ES Modules import
+ * // const { RedshiftServerlessClient, ListCustomDomainAssociationsCommand } = require("@aws-sdk/client-redshift-serverless"); // CommonJS import
+ * const client = new RedshiftServerlessClient(config);
+ * const input = { // ListCustomDomainAssociationsRequest
+ * nextToken: "STRING_VALUE",
+ * maxResults: Number("int"),
+ * customDomainName: "STRING_VALUE",
+ * customDomainCertificateArn: "STRING_VALUE",
+ * };
+ * const command = new ListCustomDomainAssociationsCommand(input);
+ * const response = await client.send(command);
+ * // { // ListCustomDomainAssociationsResponse
+ * // nextToken: "STRING_VALUE",
+ * // associations: [ // AssociationList
+ * // { // Association
+ * // customDomainCertificateArn: "STRING_VALUE",
+ * // customDomainCertificateExpiryTime: new Date("TIMESTAMP"),
+ * // customDomainName: "STRING_VALUE",
+ * // workgroupName: "STRING_VALUE",
+ * // },
+ * // ],
+ * // };
+ *
+ * ```
+ *
+ * @param ListCustomDomainAssociationsCommandInput - {@link ListCustomDomainAssociationsCommandInput}
+ * @returns {@link ListCustomDomainAssociationsCommandOutput}
+ * @see {@link ListCustomDomainAssociationsCommandInput} for command's `input` shape.
+ * @see {@link ListCustomDomainAssociationsCommandOutput} 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 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 ThrottlingException} (client fault)
+ * The request was denied due to request throttling.
+ *
+ * @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 ListCustomDomainAssociationsCommand extends $Command<
+ ListCustomDomainAssociationsCommandInput,
+ ListCustomDomainAssociationsCommandOutput,
+ RedshiftServerlessClientResolvedConfig
+> {
+ // Start section: command_properties
+ // End section: command_properties
+
+ 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: ListCustomDomainAssociationsCommandInput) {
+ // Start section: command_constructor
+ super();
+ // End section: command_constructor
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: RedshiftServerlessClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+ this.middlewareStack.use(
+ getEndpointPlugin(configuration, ListCustomDomainAssociationsCommand.getEndpointParameterInstructions())
+ );
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "RedshiftServerlessClient";
+ const commandName = "ListCustomDomainAssociationsCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: (_: any) => _,
+ outputFilterSensitiveLog: (_: any) => _,
+ [SMITHY_CONTEXT_KEY]: {
+ service: "RedshiftServerless",
+ operation: "ListCustomDomainAssociations",
+ },
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ /**
+ * @internal
+ */
+ private serialize(input: ListCustomDomainAssociationsCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return se_ListCustomDomainAssociationsCommand(input, context);
+ }
+
+ /**
+ * @internal
+ */
+ private deserialize(
+ output: __HttpResponse,
+ context: __SerdeContext
+ ): Promise {
+ return de_ListCustomDomainAssociationsCommand(output, context);
+ }
+
+ // Start section: command_body_extra
+ // End section: command_body_extra
+}
diff --git a/clients/client-redshift-serverless/src/commands/ListWorkgroupsCommand.ts b/clients/client-redshift-serverless/src/commands/ListWorkgroupsCommand.ts
index c44c5d733faf..48b55f674513 100644
--- a/clients/client-redshift-serverless/src/commands/ListWorkgroupsCommand.ts
+++ b/clients/client-redshift-serverless/src/commands/ListWorkgroupsCommand.ts
@@ -98,6 +98,9 @@ export interface ListWorkgroupsCommandOutput extends ListWorkgroupsResponse, __M
* // publiclyAccessible: true || false,
* // creationDate: new Date("TIMESTAMP"),
* // port: Number("int"),
+ * // customDomainName: "STRING_VALUE",
+ * // customDomainCertificateArn: "STRING_VALUE",
+ * // customDomainCertificateExpiryTime: new Date("TIMESTAMP"),
* // workgroupVersion: "STRING_VALUE",
* // patchVersion: "STRING_VALUE",
* // },
diff --git a/clients/client-redshift-serverless/src/commands/UpdateCustomDomainAssociationCommand.ts b/clients/client-redshift-serverless/src/commands/UpdateCustomDomainAssociationCommand.ts
new file mode 100644
index 000000000000..6b7d546ec4af
--- /dev/null
+++ b/clients/client-redshift-serverless/src/commands/UpdateCustomDomainAssociationCommand.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 { UpdateCustomDomainAssociationRequest, UpdateCustomDomainAssociationResponse } from "../models/models_0";
+import {
+ de_UpdateCustomDomainAssociationCommand,
+ se_UpdateCustomDomainAssociationCommand,
+} from "../protocols/Aws_json1_1";
+import {
+ RedshiftServerlessClientResolvedConfig,
+ ServiceInputTypes,
+ ServiceOutputTypes,
+} from "../RedshiftServerlessClient";
+
+/**
+ * @public
+ */
+export { __MetadataBearer, $Command };
+/**
+ * @public
+ *
+ * The input for {@link UpdateCustomDomainAssociationCommand}.
+ */
+export interface UpdateCustomDomainAssociationCommandInput extends UpdateCustomDomainAssociationRequest {}
+/**
+ * @public
+ *
+ * The output of {@link UpdateCustomDomainAssociationCommand}.
+ */
+export interface UpdateCustomDomainAssociationCommandOutput
+ extends UpdateCustomDomainAssociationResponse,
+ __MetadataBearer {}
+
+/**
+ * @public
+ * Updates an Amazon Redshift Serverless certificate associated with a custom domain.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { RedshiftServerlessClient, UpdateCustomDomainAssociationCommand } from "@aws-sdk/client-redshift-serverless"; // ES Modules import
+ * // const { RedshiftServerlessClient, UpdateCustomDomainAssociationCommand } = require("@aws-sdk/client-redshift-serverless"); // CommonJS import
+ * const client = new RedshiftServerlessClient(config);
+ * const input = { // UpdateCustomDomainAssociationRequest
+ * workgroupName: "STRING_VALUE", // required
+ * customDomainName: "STRING_VALUE", // required
+ * customDomainCertificateArn: "STRING_VALUE", // required
+ * };
+ * const command = new UpdateCustomDomainAssociationCommand(input);
+ * const response = await client.send(command);
+ * // { // UpdateCustomDomainAssociationResponse
+ * // customDomainName: "STRING_VALUE",
+ * // workgroupName: "STRING_VALUE",
+ * // customDomainCertificateArn: "STRING_VALUE",
+ * // customDomainCertificateExpiryTime: new Date("TIMESTAMP"),
+ * // };
+ *
+ * ```
+ *
+ * @param UpdateCustomDomainAssociationCommandInput - {@link UpdateCustomDomainAssociationCommandInput}
+ * @returns {@link UpdateCustomDomainAssociationCommandOutput}
+ * @see {@link UpdateCustomDomainAssociationCommandInput} for command's `input` shape.
+ * @see {@link UpdateCustomDomainAssociationCommandOutput} 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 ThrottlingException} (client fault)
+ * The request was denied due to request throttling.
+ *
+ * @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 UpdateCustomDomainAssociationCommand extends $Command<
+ UpdateCustomDomainAssociationCommandInput,
+ UpdateCustomDomainAssociationCommandOutput,
+ RedshiftServerlessClientResolvedConfig
+> {
+ // Start section: command_properties
+ // End section: command_properties
+
+ 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: UpdateCustomDomainAssociationCommandInput) {
+ // Start section: command_constructor
+ super();
+ // End section: command_constructor
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: RedshiftServerlessClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+ this.middlewareStack.use(
+ getEndpointPlugin(configuration, UpdateCustomDomainAssociationCommand.getEndpointParameterInstructions())
+ );
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "RedshiftServerlessClient";
+ const commandName = "UpdateCustomDomainAssociationCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: (_: any) => _,
+ outputFilterSensitiveLog: (_: any) => _,
+ [SMITHY_CONTEXT_KEY]: {
+ service: "RedshiftServerless",
+ operation: "UpdateCustomDomainAssociation",
+ },
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ /**
+ * @internal
+ */
+ private serialize(input: UpdateCustomDomainAssociationCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return se_UpdateCustomDomainAssociationCommand(input, context);
+ }
+
+ /**
+ * @internal
+ */
+ private deserialize(
+ output: __HttpResponse,
+ context: __SerdeContext
+ ): Promise {
+ return de_UpdateCustomDomainAssociationCommand(output, context);
+ }
+
+ // Start section: command_body_extra
+ // End section: command_body_extra
+}
diff --git a/clients/client-redshift-serverless/src/commands/UpdateWorkgroupCommand.ts b/clients/client-redshift-serverless/src/commands/UpdateWorkgroupCommand.ts
index cbbb472fb916..a68b98abc8d4 100644
--- a/clients/client-redshift-serverless/src/commands/UpdateWorkgroupCommand.ts
+++ b/clients/client-redshift-serverless/src/commands/UpdateWorkgroupCommand.ts
@@ -112,6 +112,9 @@ export interface UpdateWorkgroupCommandOutput extends UpdateWorkgroupResponse, _
* // publiclyAccessible: true || false,
* // creationDate: new Date("TIMESTAMP"),
* // port: Number("int"),
+ * // customDomainName: "STRING_VALUE",
+ * // customDomainCertificateArn: "STRING_VALUE",
+ * // customDomainCertificateExpiryTime: new Date("TIMESTAMP"),
* // workgroupVersion: "STRING_VALUE",
* // patchVersion: "STRING_VALUE",
* // },
diff --git a/clients/client-redshift-serverless/src/commands/index.ts b/clients/client-redshift-serverless/src/commands/index.ts
index 9089d02bf2f3..62223a652270 100644
--- a/clients/client-redshift-serverless/src/commands/index.ts
+++ b/clients/client-redshift-serverless/src/commands/index.ts
@@ -1,10 +1,12 @@
// smithy-typescript generated code
export * from "./ConvertRecoveryPointToSnapshotCommand";
+export * from "./CreateCustomDomainAssociationCommand";
export * from "./CreateEndpointAccessCommand";
export * from "./CreateNamespaceCommand";
export * from "./CreateSnapshotCommand";
export * from "./CreateUsageLimitCommand";
export * from "./CreateWorkgroupCommand";
+export * from "./DeleteCustomDomainAssociationCommand";
export * from "./DeleteEndpointAccessCommand";
export * from "./DeleteNamespaceCommand";
export * from "./DeleteResourcePolicyCommand";
@@ -12,6 +14,7 @@ export * from "./DeleteSnapshotCommand";
export * from "./DeleteUsageLimitCommand";
export * from "./DeleteWorkgroupCommand";
export * from "./GetCredentialsCommand";
+export * from "./GetCustomDomainAssociationCommand";
export * from "./GetEndpointAccessCommand";
export * from "./GetNamespaceCommand";
export * from "./GetRecoveryPointCommand";
@@ -20,6 +23,7 @@ export * from "./GetSnapshotCommand";
export * from "./GetTableRestoreStatusCommand";
export * from "./GetUsageLimitCommand";
export * from "./GetWorkgroupCommand";
+export * from "./ListCustomDomainAssociationsCommand";
export * from "./ListEndpointAccessCommand";
export * from "./ListNamespacesCommand";
export * from "./ListRecoveryPointsCommand";
@@ -34,6 +38,7 @@ export * from "./RestoreFromSnapshotCommand";
export * from "./RestoreTableFromSnapshotCommand";
export * from "./TagResourceCommand";
export * from "./UntagResourceCommand";
+export * from "./UpdateCustomDomainAssociationCommand";
export * from "./UpdateEndpointAccessCommand";
export * from "./UpdateNamespaceCommand";
export * from "./UpdateSnapshotCommand";
diff --git a/clients/client-redshift-serverless/src/models/models_0.ts b/clients/client-redshift-serverless/src/models/models_0.ts
index b16a7b3a5bf9..3523ab419eef 100644
--- a/clients/client-redshift-serverless/src/models/models_0.ts
+++ b/clients/client-redshift-serverless/src/models/models_0.ts
@@ -25,6 +25,36 @@ export class AccessDeniedException extends __BaseException {
}
}
+/**
+ * @public
+ * An object that represents the custom domain name association.
+ */
+export interface Association {
+ /**
+ * @public
+ * The custom domain name’s certificate Amazon resource name (ARN).
+ */
+ customDomainCertificateArn?: string;
+
+ /**
+ * @public
+ * The expiration time for the certificate.
+ */
+ customDomainCertificateExpiryTime?: Date;
+
+ /**
+ * @public
+ * The custom domain name associated with the workgroup.
+ */
+ customDomainName?: string;
+
+ /**
+ * @public
+ * The name of the workgroup associated with the database.
+ */
+ workgroupName?: string;
+}
+
/**
* @public
* An array of key-value pairs to set for advanced control over Amazon Redshift Serverless.
@@ -398,6 +428,81 @@ export class ValidationException extends __BaseException {
}
}
+/**
+ * @public
+ */
+export interface CreateCustomDomainAssociationRequest {
+ /**
+ * @public
+ * The name of the workgroup associated with the database.
+ */
+ workgroupName: string | undefined;
+
+ /**
+ * @public
+ * The custom domain name to associate with the workgroup.
+ */
+ customDomainName: string | undefined;
+
+ /**
+ * @public
+ * The custom domain name’s certificate Amazon resource name (ARN).
+ */
+ customDomainCertificateArn: string | undefined;
+}
+
+/**
+ * @public
+ */
+export interface CreateCustomDomainAssociationResponse {
+ /**
+ * @public
+ * The custom domain name to associate with the workgroup.
+ */
+ customDomainName?: string;
+
+ /**
+ * @public
+ * The name of the workgroup associated with the database.
+ */
+ workgroupName?: string;
+
+ /**
+ * @public
+ * The custom domain name’s certificate Amazon resource name (ARN).
+ */
+ customDomainCertificateArn?: string;
+
+ /**
+ * @public
+ * The expiration time for the certificate.
+ */
+ customDomainCertificateExpiryTime?: Date;
+}
+
+/**
+ * @public
+ * The request was denied due to request throttling.
+ */
+export class ThrottlingException extends __BaseException {
+ readonly name: "ThrottlingException" = "ThrottlingException";
+ readonly $fault: "client" = "client";
+ $retryable = {};
+ code?: string;
+ /**
+ * @internal
+ */
+ constructor(opts: __ExceptionOptionType) {
+ super({
+ name: "ThrottlingException",
+ $fault: "client",
+ ...opts,
+ });
+ Object.setPrototypeOf(this, ThrottlingException.prototype);
+ this.code = opts.code;
+ }
+}
+
/**
* @public
*/
@@ -1172,6 +1277,24 @@ export interface Workgroup {
*/
port?: number;
+ /**
+ * @public
+ * The custom domain name associated with the workgroup.
+ */
+ customDomainName?: string;
+
+ /**
+ * @public
+ * The custom domain name’s certificate Amazon resource name (ARN).
+ */
+ customDomainCertificateArn?: string;
+
+ /**
+ * @public
+ * The expiration time for the certificate.
+ */
+ customDomainCertificateExpiryTime?: Date;
+
/**
* @public
* The Amazon Redshift Serverless version of your workgroup. For more information about Amazon Redshift Serverless versions, seeCluster versions for Amazon Redshift.
@@ -1341,6 +1464,28 @@ export interface UpdateEndpointAccessResponse {
endpoint?: EndpointAccess;
}
+/**
+ * @public
+ */
+export interface DeleteCustomDomainAssociationRequest {
+ /**
+ * @public
+ * The name of the workgroup associated with the database.
+ */
+ workgroupName: string | undefined;
+
+ /**
+ * @public
+ * The custom domain name associated with the workgroup.
+ */
+ customDomainName: string | undefined;
+}
+
+/**
+ * @public
+ */
+export interface DeleteCustomDomainAssociationResponse {}
+
/**
* @public
*/
@@ -1461,12 +1606,6 @@ export interface DeleteWorkgroupResponse {
* @public
*/
export interface GetCredentialsRequest {
- /**
- * @public
- * The name of the workgroup associated with the database.
- */
- workgroupName: string | undefined;
-
/**
* @public
* The name of the database to get temporary authorization to log on to.
@@ -1499,6 +1638,18 @@ export interface GetCredentialsRequest {
* The minimum is 900 seconds, and the maximum is 3600 seconds.
*/
durationSeconds?: number;
+
+ /**
+ * @public
+ * The name of the workgroup associated with the database.
+ */
+ workgroupName?: string;
+
+ /**
+ * @public
+ * The custom domain name associated with the workgroup. The custom domain name or the workgroup name must be included in the request.
+ */
+ customDomainName?: string;
}
/**
@@ -1535,6 +1686,52 @@ export interface GetCredentialsResponse {
nextRefreshTime?: Date;
}
+/**
+ * @public
+ */
+export interface GetCustomDomainAssociationRequest {
+ /**
+ * @public
+ * The custom domain name associated with the workgroup.
+ */
+ customDomainName: string | undefined;
+
+ /**
+ * @public
+ * The name of the workgroup associated with the database.
+ */
+ workgroupName: string | undefined;
+}
+
+/**
+ * @public
+ */
+export interface GetCustomDomainAssociationResponse {
+ /**
+ * @public
+ * The custom domain name associated with the workgroup.
+ */
+ customDomainName?: string;
+
+ /**
+ * @public
+ * The name of the workgroup associated with the database.
+ */
+ workgroupName?: string;
+
+ /**
+ * @public
+ * The custom domain name’s certificate Amazon resource name (ARN).
+ */
+ customDomainCertificateArn?: string;
+
+ /**
+ * @public
+ * The expiration time for the certificate.
+ */
+ customDomainCertificateExpiryTime?: Date;
+}
+
/**
* @public
*/
@@ -1882,6 +2079,57 @@ export class InvalidPaginationException extends __BaseException {
}
}
+/**
+ * @public
+ */
+export interface ListCustomDomainAssociationsRequest {
+ /**
+ * @public
+ * When 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
+ * The custom domain name associated with the workgroup.
+ */
+ customDomainName?: string;
+
+ /**
+ * @public
+ * The custom domain name’s certificate Amazon resource name (ARN).
+ */
+ customDomainCertificateArn?: string;
+}
+
+/**
+ * @public
+ */
+export interface ListCustomDomainAssociationsResponse {
+ /**
+ * @public
+ * When 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
+ * A list of Association objects.
+ */
+ associations?: Association[];
+}
+
/**
* @public
*/
@@ -2126,29 +2374,6 @@ export interface ListTagsForResourceResponse {
tags?: Tag[];
}
-/**
- * @public
- * The request was denied due to request throttling.
- */
-export class ThrottlingException extends __BaseException {
- readonly name: "ThrottlingException" = "ThrottlingException";
- readonly $fault: "client" = "client";
- $retryable = {};
- code?: string;
- /**
- * @internal
- */
- constructor(opts: __ExceptionOptionType) {
- super({
- name: "ThrottlingException",
- $fault: "client",
- ...opts,
- });
- Object.setPrototypeOf(this, ThrottlingException.prototype);
- this.code = opts.code;
- }
-}
-
/**
* @public
*/
@@ -2255,7 +2480,7 @@ export interface UpdateNamespaceRequest {
* @public
* The password of the administrator for the first database created in the namespace. This parameter must be updated together
* with adminUsername
.
- * You can't use adminUserPassword
if manageAdminPassword
is true.
+ * You can't use adminUserPassword
if manageAdminPassword
is true.
*/
adminUserPassword?: string;
@@ -2619,6 +2844,58 @@ export interface UntagResourceRequest {
*/
export interface UntagResourceResponse {}
+/**
+ * @public
+ */
+export interface UpdateCustomDomainAssociationRequest {
+ /**
+ * @public
+ * The name of the workgroup associated with the database.
+ */
+ workgroupName: string | undefined;
+
+ /**
+ * @public
+ * The custom domain name associated with the workgroup.
+ */
+ customDomainName: string | undefined;
+
+ /**
+ * @public
+ * The custom domain name’s certificate Amazon resource name (ARN). This is optional.
+ */
+ customDomainCertificateArn: string | undefined;
+}
+
+/**
+ * @public
+ */
+export interface UpdateCustomDomainAssociationResponse {
+ /**
+ * @public
+ * The custom domain name associated with the workgroup.
+ */
+ customDomainName?: string;
+
+ /**
+ * @public
+ * The name of the workgroup associated with the database.
+ */
+ workgroupName?: string;
+
+ /**
+ * @public
+ * The custom domain name’s certificate Amazon resource name (ARN).
+ */
+ customDomainCertificateArn?: string;
+
+ /**
+ * @public
+ * The expiration time for the certificate.
+ */
+ customDomainCertificateExpiryTime?: Date;
+}
+
/**
* @public
*/
diff --git a/clients/client-redshift-serverless/src/pagination/ListCustomDomainAssociationsPaginator.ts b/clients/client-redshift-serverless/src/pagination/ListCustomDomainAssociationsPaginator.ts
new file mode 100644
index 000000000000..5d3b241944c5
--- /dev/null
+++ b/clients/client-redshift-serverless/src/pagination/ListCustomDomainAssociationsPaginator.ts
@@ -0,0 +1,50 @@
+// smithy-typescript generated code
+import { Paginator } from "@smithy/types";
+
+import {
+ ListCustomDomainAssociationsCommand,
+ ListCustomDomainAssociationsCommandInput,
+ ListCustomDomainAssociationsCommandOutput,
+} from "../commands/ListCustomDomainAssociationsCommand";
+import { RedshiftServerlessClient } from "../RedshiftServerlessClient";
+import { RedshiftServerlessPaginationConfiguration } from "./Interfaces";
+
+/**
+ * @internal
+ */
+const makePagedClientRequest = async (
+ client: RedshiftServerlessClient,
+ input: ListCustomDomainAssociationsCommandInput,
+ ...args: any
+): Promise => {
+ // @ts-ignore
+ return await client.send(new ListCustomDomainAssociationsCommand(input), ...args);
+};
+/**
+ * @public
+ */
+export async function* paginateListCustomDomainAssociations(
+ config: RedshiftServerlessPaginationConfiguration,
+ input: ListCustomDomainAssociationsCommandInput,
+ ...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: ListCustomDomainAssociationsCommandOutput;
+ 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 192da38a4259..351288ef37ce 100644
--- a/clients/client-redshift-serverless/src/pagination/index.ts
+++ b/clients/client-redshift-serverless/src/pagination/index.ts
@@ -1,5 +1,6 @@
// smithy-typescript generated code
export * from "./Interfaces";
+export * from "./ListCustomDomainAssociationsPaginator";
export * from "./ListEndpointAccessPaginator";
export * from "./ListNamespacesPaginator";
export * from "./ListRecoveryPointsPaginator";
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 43f0e0fcfb6a..4bc321494282 100644
--- a/clients/client-redshift-serverless/src/protocols/Aws_json1_1.ts
+++ b/clients/client-redshift-serverless/src/protocols/Aws_json1_1.ts
@@ -27,6 +27,10 @@ import {
ConvertRecoveryPointToSnapshotCommandInput,
ConvertRecoveryPointToSnapshotCommandOutput,
} from "../commands/ConvertRecoveryPointToSnapshotCommand";
+import {
+ CreateCustomDomainAssociationCommandInput,
+ CreateCustomDomainAssociationCommandOutput,
+} from "../commands/CreateCustomDomainAssociationCommand";
import {
CreateEndpointAccessCommandInput,
CreateEndpointAccessCommandOutput,
@@ -35,6 +39,10 @@ import { CreateNamespaceCommandInput, CreateNamespaceCommandOutput } from "../co
import { CreateSnapshotCommandInput, CreateSnapshotCommandOutput } from "../commands/CreateSnapshotCommand";
import { CreateUsageLimitCommandInput, CreateUsageLimitCommandOutput } from "../commands/CreateUsageLimitCommand";
import { CreateWorkgroupCommandInput, CreateWorkgroupCommandOutput } from "../commands/CreateWorkgroupCommand";
+import {
+ DeleteCustomDomainAssociationCommandInput,
+ DeleteCustomDomainAssociationCommandOutput,
+} from "../commands/DeleteCustomDomainAssociationCommand";
import {
DeleteEndpointAccessCommandInput,
DeleteEndpointAccessCommandOutput,
@@ -48,6 +56,10 @@ import { DeleteSnapshotCommandInput, DeleteSnapshotCommandOutput } from "../comm
import { DeleteUsageLimitCommandInput, DeleteUsageLimitCommandOutput } from "../commands/DeleteUsageLimitCommand";
import { DeleteWorkgroupCommandInput, DeleteWorkgroupCommandOutput } from "../commands/DeleteWorkgroupCommand";
import { GetCredentialsCommandInput, GetCredentialsCommandOutput } from "../commands/GetCredentialsCommand";
+import {
+ GetCustomDomainAssociationCommandInput,
+ GetCustomDomainAssociationCommandOutput,
+} from "../commands/GetCustomDomainAssociationCommand";
import { GetEndpointAccessCommandInput, GetEndpointAccessCommandOutput } from "../commands/GetEndpointAccessCommand";
import { GetNamespaceCommandInput, GetNamespaceCommandOutput } from "../commands/GetNamespaceCommand";
import { GetRecoveryPointCommandInput, GetRecoveryPointCommandOutput } from "../commands/GetRecoveryPointCommand";
@@ -59,6 +71,10 @@ import {
} from "../commands/GetTableRestoreStatusCommand";
import { GetUsageLimitCommandInput, GetUsageLimitCommandOutput } from "../commands/GetUsageLimitCommand";
import { GetWorkgroupCommandInput, GetWorkgroupCommandOutput } from "../commands/GetWorkgroupCommand";
+import {
+ ListCustomDomainAssociationsCommandInput,
+ ListCustomDomainAssociationsCommandOutput,
+} from "../commands/ListCustomDomainAssociationsCommand";
import { ListEndpointAccessCommandInput, ListEndpointAccessCommandOutput } from "../commands/ListEndpointAccessCommand";
import { ListNamespacesCommandInput, ListNamespacesCommandOutput } from "../commands/ListNamespacesCommand";
import { ListRecoveryPointsCommandInput, ListRecoveryPointsCommandOutput } from "../commands/ListRecoveryPointsCommand";
@@ -88,6 +104,10 @@ import {
} from "../commands/RestoreTableFromSnapshotCommand";
import { TagResourceCommandInput, TagResourceCommandOutput } from "../commands/TagResourceCommand";
import { UntagResourceCommandInput, UntagResourceCommandOutput } from "../commands/UntagResourceCommand";
+import {
+ UpdateCustomDomainAssociationCommandInput,
+ UpdateCustomDomainAssociationCommandOutput,
+} from "../commands/UpdateCustomDomainAssociationCommand";
import {
UpdateEndpointAccessCommandInput,
UpdateEndpointAccessCommandOutput,
@@ -98,10 +118,13 @@ import { UpdateUsageLimitCommandInput, UpdateUsageLimitCommandOutput } from "../
import { UpdateWorkgroupCommandInput, UpdateWorkgroupCommandOutput } from "../commands/UpdateWorkgroupCommand";
import {
AccessDeniedException,
+ Association,
ConfigParameter,
ConflictException,
ConvertRecoveryPointToSnapshotRequest,
ConvertRecoveryPointToSnapshotResponse,
+ CreateCustomDomainAssociationRequest,
+ CreateCustomDomainAssociationResponse,
CreateEndpointAccessRequest,
CreateEndpointAccessResponse,
CreateNamespaceRequest,
@@ -111,6 +134,7 @@ import {
CreateUsageLimitRequest,
CreateWorkgroupRequest,
CreateWorkgroupResponse,
+ DeleteCustomDomainAssociationRequest,
DeleteEndpointAccessRequest,
DeleteEndpointAccessResponse,
DeleteNamespaceRequest,
@@ -124,6 +148,8 @@ import {
EndpointAccess,
GetCredentialsRequest,
GetCredentialsResponse,
+ GetCustomDomainAssociationRequest,
+ GetCustomDomainAssociationResponse,
GetEndpointAccessRequest,
GetEndpointAccessResponse,
GetNamespaceRequest,
@@ -141,6 +167,8 @@ import {
InsufficientCapacityException,
InternalServerException,
InvalidPaginationException,
+ ListCustomDomainAssociationsRequest,
+ ListCustomDomainAssociationsResponse,
ListEndpointAccessRequest,
ListEndpointAccessResponse,
ListNamespacesRequest,
@@ -174,6 +202,8 @@ import {
ThrottlingException,
TooManyTagsException,
UntagResourceRequest,
+ UpdateCustomDomainAssociationRequest,
+ UpdateCustomDomainAssociationResponse,
UpdateEndpointAccessRequest,
UpdateEndpointAccessResponse,
UpdateNamespaceRequest,
@@ -201,6 +231,19 @@ export const se_ConvertRecoveryPointToSnapshotCommand = async (
return buildHttpRpcRequest(context, headers, "/", undefined, body);
};
+/**
+ * serializeAws_json1_1CreateCustomDomainAssociationCommand
+ */
+export const se_CreateCustomDomainAssociationCommand = async (
+ input: CreateCustomDomainAssociationCommandInput,
+ context: __SerdeContext
+): Promise<__HttpRequest> => {
+ const headers: __HeaderBag = sharedHeaders("CreateCustomDomainAssociation");
+ let body: any;
+ body = JSON.stringify(_json(input));
+ return buildHttpRpcRequest(context, headers, "/", undefined, body);
+};
+
/**
* serializeAws_json1_1CreateEndpointAccessCommand
*/
@@ -266,6 +309,19 @@ export const se_CreateWorkgroupCommand = async (
return buildHttpRpcRequest(context, headers, "/", undefined, body);
};
+/**
+ * serializeAws_json1_1DeleteCustomDomainAssociationCommand
+ */
+export const se_DeleteCustomDomainAssociationCommand = async (
+ input: DeleteCustomDomainAssociationCommandInput,
+ context: __SerdeContext
+): Promise<__HttpRequest> => {
+ const headers: __HeaderBag = sharedHeaders("DeleteCustomDomainAssociation");
+ let body: any;
+ body = JSON.stringify(_json(input));
+ return buildHttpRpcRequest(context, headers, "/", undefined, body);
+};
+
/**
* serializeAws_json1_1DeleteEndpointAccessCommand
*/
@@ -357,6 +413,19 @@ export const se_GetCredentialsCommand = async (
return buildHttpRpcRequest(context, headers, "/", undefined, body);
};
+/**
+ * serializeAws_json1_1GetCustomDomainAssociationCommand
+ */
+export const se_GetCustomDomainAssociationCommand = async (
+ input: GetCustomDomainAssociationCommandInput,
+ context: __SerdeContext
+): Promise<__HttpRequest> => {
+ const headers: __HeaderBag = sharedHeaders("GetCustomDomainAssociation");
+ let body: any;
+ body = JSON.stringify(_json(input));
+ return buildHttpRpcRequest(context, headers, "/", undefined, body);
+};
+
/**
* serializeAws_json1_1GetEndpointAccessCommand
*/
@@ -461,6 +530,19 @@ export const se_GetWorkgroupCommand = async (
return buildHttpRpcRequest(context, headers, "/", undefined, body);
};
+/**
+ * serializeAws_json1_1ListCustomDomainAssociationsCommand
+ */
+export const se_ListCustomDomainAssociationsCommand = async (
+ input: ListCustomDomainAssociationsCommandInput,
+ context: __SerdeContext
+): Promise<__HttpRequest> => {
+ const headers: __HeaderBag = sharedHeaders("ListCustomDomainAssociations");
+ let body: any;
+ body = JSON.stringify(_json(input));
+ return buildHttpRpcRequest(context, headers, "/", undefined, body);
+};
+
/**
* serializeAws_json1_1ListEndpointAccessCommand
*/
@@ -643,6 +725,19 @@ export const se_UntagResourceCommand = async (
return buildHttpRpcRequest(context, headers, "/", undefined, body);
};
+/**
+ * serializeAws_json1_1UpdateCustomDomainAssociationCommand
+ */
+export const se_UpdateCustomDomainAssociationCommand = async (
+ input: UpdateCustomDomainAssociationCommandInput,
+ context: __SerdeContext
+): Promise<__HttpRequest> => {
+ const headers: __HeaderBag = sharedHeaders("UpdateCustomDomainAssociation");
+ let body: any;
+ body = JSON.stringify(_json(input));
+ return buildHttpRpcRequest(context, headers, "/", undefined, body);
+};
+
/**
* serializeAws_json1_1UpdateEndpointAccessCommand
*/
@@ -769,6 +864,67 @@ const de_ConvertRecoveryPointToSnapshotCommandError = async (
}
};
+/**
+ * deserializeAws_json1_1CreateCustomDomainAssociationCommand
+ */
+export const de_CreateCustomDomainAssociationCommand = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise => {
+ if (output.statusCode >= 300) {
+ return de_CreateCustomDomainAssociationCommandError(output, context);
+ }
+ const data: any = await parseBody(output.body, context);
+ let contents: any = {};
+ contents = de_CreateCustomDomainAssociationResponse(data, context);
+ const response: CreateCustomDomainAssociationCommandOutput = {
+ $metadata: deserializeMetadata(output),
+ ...contents,
+ };
+ return response;
+};
+
+/**
+ * deserializeAws_json1_1CreateCustomDomainAssociationCommandError
+ */
+const de_CreateCustomDomainAssociationCommandError = 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 "ThrottlingException":
+ case "com.amazonaws.redshiftserverless#ThrottlingException":
+ throw await de_ThrottlingExceptionRes(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_1CreateEndpointAccessCommand
*/
@@ -1065,6 +1221,67 @@ const de_CreateWorkgroupCommandError = async (
}
};
+/**
+ * deserializeAws_json1_1DeleteCustomDomainAssociationCommand
+ */
+export const de_DeleteCustomDomainAssociationCommand = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise => {
+ if (output.statusCode >= 300) {
+ return de_DeleteCustomDomainAssociationCommandError(output, context);
+ }
+ const data: any = await parseBody(output.body, context);
+ let contents: any = {};
+ contents = _json(data);
+ const response: DeleteCustomDomainAssociationCommandOutput = {
+ $metadata: deserializeMetadata(output),
+ ...contents,
+ };
+ return response;
+};
+
+/**
+ * deserializeAws_json1_1DeleteCustomDomainAssociationCommandError
+ */
+const de_DeleteCustomDomainAssociationCommandError = 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 "ThrottlingException":
+ case "com.amazonaws.redshiftserverless#ThrottlingException":
+ throw await de_ThrottlingExceptionRes(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_1DeleteEndpointAccessCommand
*/
@@ -1444,6 +1661,67 @@ const de_GetCredentialsCommandError = async (
}
};
+/**
+ * deserializeAws_json1_1GetCustomDomainAssociationCommand
+ */
+export const de_GetCustomDomainAssociationCommand = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise => {
+ if (output.statusCode >= 300) {
+ return de_GetCustomDomainAssociationCommandError(output, context);
+ }
+ const data: any = await parseBody(output.body, context);
+ let contents: any = {};
+ contents = de_GetCustomDomainAssociationResponse(data, context);
+ const response: GetCustomDomainAssociationCommandOutput = {
+ $metadata: deserializeMetadata(output),
+ ...contents,
+ };
+ return response;
+};
+
+/**
+ * deserializeAws_json1_1GetCustomDomainAssociationCommandError
+ */
+const de_GetCustomDomainAssociationCommandError = 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 "ThrottlingException":
+ case "com.amazonaws.redshiftserverless#ThrottlingException":
+ throw await de_ThrottlingExceptionRes(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_1GetEndpointAccessCommand
*/
@@ -1866,6 +2144,64 @@ const de_GetWorkgroupCommandError = async (
}
};
+/**
+ * deserializeAws_json1_1ListCustomDomainAssociationsCommand
+ */
+export const de_ListCustomDomainAssociationsCommand = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise => {
+ if (output.statusCode >= 300) {
+ return de_ListCustomDomainAssociationsCommandError(output, context);
+ }
+ const data: any = await parseBody(output.body, context);
+ let contents: any = {};
+ contents = de_ListCustomDomainAssociationsResponse(data, context);
+ const response: ListCustomDomainAssociationsCommandOutput = {
+ $metadata: deserializeMetadata(output),
+ ...contents,
+ };
+ return response;
+};
+
+/**
+ * deserializeAws_json1_1ListCustomDomainAssociationsCommandError
+ */
+const de_ListCustomDomainAssociationsCommandError = 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 "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 "ThrottlingException":
+ case "com.amazonaws.redshiftserverless#ThrottlingException":
+ throw await de_ThrottlingExceptionRes(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_1ListEndpointAccessCommand
*/
@@ -2624,6 +2960,67 @@ const de_UntagResourceCommandError = async (
}
};
+/**
+ * deserializeAws_json1_1UpdateCustomDomainAssociationCommand
+ */
+export const de_UpdateCustomDomainAssociationCommand = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise => {
+ if (output.statusCode >= 300) {
+ return de_UpdateCustomDomainAssociationCommandError(output, context);
+ }
+ const data: any = await parseBody(output.body, context);
+ let contents: any = {};
+ contents = de_UpdateCustomDomainAssociationResponse(data, context);
+ const response: UpdateCustomDomainAssociationCommandOutput = {
+ $metadata: deserializeMetadata(output),
+ ...contents,
+ };
+ return response;
+};
+
+/**
+ * deserializeAws_json1_1UpdateCustomDomainAssociationCommandError
+ */
+const de_UpdateCustomDomainAssociationCommandError = 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 "ThrottlingException":
+ case "com.amazonaws.redshiftserverless#ThrottlingException":
+ throw await de_ThrottlingExceptionRes(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_1UpdateEndpointAccessCommand
*/
@@ -3062,6 +3459,8 @@ const de_ValidationExceptionRes = async (parsedOutput: any, context: __SerdeCont
// se_ConvertRecoveryPointToSnapshotRequest omitted.
+// se_CreateCustomDomainAssociationRequest omitted.
+
// se_CreateEndpointAccessRequest omitted.
// se_CreateNamespaceRequest omitted.
@@ -3072,6 +3471,8 @@ const de_ValidationExceptionRes = async (parsedOutput: any, context: __SerdeCont
// se_CreateWorkgroupRequest omitted.
+// se_DeleteCustomDomainAssociationRequest omitted.
+
// se_DeleteEndpointAccessRequest omitted.
// se_DeleteNamespaceRequest omitted.
@@ -3086,6 +3487,8 @@ const de_ValidationExceptionRes = async (parsedOutput: any, context: __SerdeCont
// se_GetCredentialsRequest omitted.
+// se_GetCustomDomainAssociationRequest omitted.
+
// se_GetEndpointAccessRequest omitted.
// se_GetNamespaceRequest omitted.
@@ -3104,6 +3507,8 @@ const de_ValidationExceptionRes = async (parsedOutput: any, context: __SerdeCont
// se_IamRoleArnList omitted.
+// se_ListCustomDomainAssociationsRequest omitted.
+
// se_ListEndpointAccessRequest omitted.
// se_ListNamespacesRequest omitted.
@@ -3169,6 +3574,8 @@ const se_ListSnapshotsRequest = (input: ListSnapshotsRequest, context: __SerdeCo
// se_UntagResourceRequest omitted.
+// se_UpdateCustomDomainAssociationRequest omitted.
+
// se_UpdateEndpointAccessRequest omitted.
// se_UpdateNamespaceRequest omitted.
@@ -3185,6 +3592,30 @@ const se_ListSnapshotsRequest = (input: ListSnapshotsRequest, context: __SerdeCo
// de_AccountIdList omitted.
+/**
+ * deserializeAws_json1_1Association
+ */
+const de_Association = (output: any, context: __SerdeContext): Association => {
+ return take(output, {
+ customDomainCertificateArn: __expectString,
+ customDomainCertificateExpiryTime: (_: any) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)),
+ customDomainName: __expectString,
+ workgroupName: __expectString,
+ }) as any;
+};
+
+/**
+ * deserializeAws_json1_1AssociationList
+ */
+const de_AssociationList = (output: any, context: __SerdeContext): Association[] => {
+ const retVal = (output || [])
+ .filter((e: any) => e != null)
+ .map((entry: any) => {
+ return de_Association(entry, context);
+ });
+ return retVal;
+};
+
// de_ConfigParameter omitted.
// de_ConfigParameterList omitted.
@@ -3203,6 +3634,21 @@ const de_ConvertRecoveryPointToSnapshotResponse = (
}) as any;
};
+/**
+ * deserializeAws_json1_1CreateCustomDomainAssociationResponse
+ */
+const de_CreateCustomDomainAssociationResponse = (
+ output: any,
+ context: __SerdeContext
+): CreateCustomDomainAssociationResponse => {
+ return take(output, {
+ customDomainCertificateArn: __expectString,
+ customDomainCertificateExpiryTime: (_: any) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)),
+ customDomainName: __expectString,
+ workgroupName: __expectString,
+ }) as any;
+};
+
/**
* deserializeAws_json1_1CreateEndpointAccessResponse
*/
@@ -3241,6 +3687,8 @@ const de_CreateWorkgroupResponse = (output: any, context: __SerdeContext): Creat
}) as any;
};
+// de_DeleteCustomDomainAssociationResponse omitted.
+
/**
* deserializeAws_json1_1DeleteEndpointAccessResponse
*/
@@ -3325,6 +3773,21 @@ const de_GetCredentialsResponse = (output: any, context: __SerdeContext): GetCre
}) as any;
};
+/**
+ * deserializeAws_json1_1GetCustomDomainAssociationResponse
+ */
+const de_GetCustomDomainAssociationResponse = (
+ output: any,
+ context: __SerdeContext
+): GetCustomDomainAssociationResponse => {
+ return take(output, {
+ customDomainCertificateArn: __expectString,
+ customDomainCertificateExpiryTime: (_: any) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)),
+ customDomainName: __expectString,
+ workgroupName: __expectString,
+ }) as any;
+};
+
/**
* deserializeAws_json1_1GetEndpointAccessResponse
*/
@@ -3391,6 +3854,19 @@ const de_GetWorkgroupResponse = (output: any, context: __SerdeContext): GetWorkg
// de_InvalidPaginationException omitted.
+/**
+ * deserializeAws_json1_1ListCustomDomainAssociationsResponse
+ */
+const de_ListCustomDomainAssociationsResponse = (
+ output: any,
+ context: __SerdeContext
+): ListCustomDomainAssociationsResponse => {
+ return take(output, {
+ associations: (_: any) => de_AssociationList(_, context),
+ nextToken: __expectString,
+ }) as any;
+};
+
/**
* deserializeAws_json1_1ListEndpointAccessResponse
*/
@@ -3657,6 +4133,21 @@ const de_TableRestoreStatusList = (output: any, context: __SerdeContext): TableR
// de_UntagResourceResponse omitted.
+/**
+ * deserializeAws_json1_1UpdateCustomDomainAssociationResponse
+ */
+const de_UpdateCustomDomainAssociationResponse = (
+ output: any,
+ context: __SerdeContext
+): UpdateCustomDomainAssociationResponse => {
+ return take(output, {
+ customDomainCertificateArn: __expectString,
+ customDomainCertificateExpiryTime: (_: any) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)),
+ customDomainName: __expectString,
+ workgroupName: __expectString,
+ }) as any;
+};
+
/**
* deserializeAws_json1_1UpdateEndpointAccessResponse
*/
@@ -3717,6 +4208,9 @@ const de_Workgroup = (output: any, context: __SerdeContext): Workgroup => {
baseCapacity: __expectInt32,
configParameters: _json,
creationDate: (_: any) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)),
+ customDomainCertificateArn: __expectString,
+ customDomainCertificateExpiryTime: (_: any) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)),
+ customDomainName: __expectString,
endpoint: _json,
enhancedVpcRouting: __expectBoolean,
namespaceName: __expectString,
diff --git a/codegen/sdk-codegen/aws-models/redshift-serverless.json b/codegen/sdk-codegen/aws-models/redshift-serverless.json
index 57ffeb19391d..114544e323cd 100644
--- a/codegen/sdk-codegen/aws-models/redshift-serverless.json
+++ b/codegen/sdk-codegen/aws-models/redshift-serverless.json
@@ -32,6 +32,45 @@
}
}
},
+ "com.amazonaws.redshiftserverless#Association": {
+ "type": "structure",
+ "members": {
+ "customDomainCertificateArn": {
+ "target": "com.amazonaws.redshiftserverless#CustomDomainCertificateArnString",
+ "traits": {
+ "smithy.api#documentation": "The custom domain name’s certificate Amazon resource name (ARN).
"
+ }
+ },
+ "customDomainCertificateExpiryTime": {
+ "target": "smithy.api#Timestamp",
+ "traits": {
+ "smithy.api#documentation": "The expiration time for the certificate.
",
+ "smithy.api#timestampFormat": "date-time"
+ }
+ },
+ "customDomainName": {
+ "target": "com.amazonaws.redshiftserverless#CustomDomainName",
+ "traits": {
+ "smithy.api#documentation": "The custom domain name associated with the workgroup.
"
+ }
+ },
+ "workgroupName": {
+ "target": "com.amazonaws.redshiftserverless#WorkgroupName",
+ "traits": {
+ "smithy.api#documentation": "The name of the workgroup associated with the database.
"
+ }
+ }
+ },
+ "traits": {
+ "smithy.api#documentation": "An object that represents the custom domain name association.
"
+ }
+ },
+ "com.amazonaws.redshiftserverless#AssociationList": {
+ "type": "list",
+ "member": {
+ "target": "com.amazonaws.redshiftserverless#Association"
+ }
+ },
"com.amazonaws.redshiftserverless#ConfigParameter": {
"type": "structure",
"members": {
@@ -154,6 +193,100 @@
"smithy.api#output": {}
}
},
+ "com.amazonaws.redshiftserverless#CreateCustomDomainAssociation": {
+ "type": "operation",
+ "input": {
+ "target": "com.amazonaws.redshiftserverless#CreateCustomDomainAssociationRequest"
+ },
+ "output": {
+ "target": "com.amazonaws.redshiftserverless#CreateCustomDomainAssociationResponse"
+ },
+ "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#ThrottlingException"
+ },
+ {
+ "target": "com.amazonaws.redshiftserverless#ValidationException"
+ }
+ ],
+ "traits": {
+ "smithy.api#documentation": "Creates a custom domain association for Amazon Redshift Serverless.
"
+ }
+ },
+ "com.amazonaws.redshiftserverless#CreateCustomDomainAssociationRequest": {
+ "type": "structure",
+ "members": {
+ "workgroupName": {
+ "target": "com.amazonaws.redshiftserverless#WorkgroupName",
+ "traits": {
+ "smithy.api#documentation": "The name of the workgroup associated with the database.
",
+ "smithy.api#required": {}
+ }
+ },
+ "customDomainName": {
+ "target": "com.amazonaws.redshiftserverless#CustomDomainName",
+ "traits": {
+ "smithy.api#documentation": "The custom domain name to associate with the workgroup.
",
+ "smithy.api#required": {}
+ }
+ },
+ "customDomainCertificateArn": {
+ "target": "com.amazonaws.redshiftserverless#CustomDomainCertificateArnString",
+ "traits": {
+ "smithy.api#documentation": "The custom domain name’s certificate Amazon resource name (ARN).
",
+ "smithy.api#required": {}
+ }
+ }
+ },
+ "traits": {
+ "smithy.api#input": {}
+ }
+ },
+ "com.amazonaws.redshiftserverless#CreateCustomDomainAssociationResponse": {
+ "type": "structure",
+ "members": {
+ "customDomainName": {
+ "target": "com.amazonaws.redshiftserverless#CustomDomainName",
+ "traits": {
+ "smithy.api#documentation": "The custom domain name to associate with the workgroup.
"
+ }
+ },
+ "workgroupName": {
+ "target": "com.amazonaws.redshiftserverless#WorkgroupName",
+ "traits": {
+ "smithy.api#documentation": "The name of the workgroup associated with the database.
"
+ }
+ },
+ "customDomainCertificateArn": {
+ "target": "com.amazonaws.redshiftserverless#CustomDomainCertificateArnString",
+ "traits": {
+ "smithy.api#documentation": "The custom domain name’s certificate Amazon resource name (ARN).
"
+ }
+ },
+ "customDomainCertificateExpiryTime": {
+ "target": "smithy.api#Timestamp",
+ "traits": {
+ "smithy.api#documentation": "The expiration time for the certificate.
",
+ "smithy.api#timestampFormat": "date-time"
+ }
+ }
+ },
+ "traits": {
+ "smithy.api#output": {}
+ }
+ },
"com.amazonaws.redshiftserverless#CreateEndpointAccess": {
"type": "operation",
"input": {
@@ -655,6 +788,26 @@
}
]
},
+ "com.amazonaws.redshiftserverless#CustomDomainCertificateArnString": {
+ "type": "string",
+ "traits": {
+ "smithy.api#length": {
+ "min": 20,
+ "max": 2048
+ },
+ "smithy.api#pattern": "arn:[\\w+=/,.@-]+:acm:[\\w+=/,.@-]*:[0-9]+:[\\w+=,.@-]+(/[\\w+=,.@-]+)*"
+ }
+ },
+ "com.amazonaws.redshiftserverless#CustomDomainName": {
+ "type": "string",
+ "traits": {
+ "smithy.api#length": {
+ "min": 1,
+ "max": 253
+ },
+ "smithy.api#pattern": "^(((?!-)[A-Za-z0-9-]{0,62}[A-Za-z0-9])\\.)+((?!-)[A-Za-z0-9-]{1,62}[A-Za-z0-9])$"
+ }
+ },
"com.amazonaws.redshiftserverless#DbName": {
"type": "string"
},
@@ -670,6 +823,67 @@
"smithy.api#sensitive": {}
}
},
+ "com.amazonaws.redshiftserverless#DeleteCustomDomainAssociation": {
+ "type": "operation",
+ "input": {
+ "target": "com.amazonaws.redshiftserverless#DeleteCustomDomainAssociationRequest"
+ },
+ "output": {
+ "target": "com.amazonaws.redshiftserverless#DeleteCustomDomainAssociationResponse"
+ },
+ "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#ThrottlingException"
+ },
+ {
+ "target": "com.amazonaws.redshiftserverless#ValidationException"
+ }
+ ],
+ "traits": {
+ "smithy.api#documentation": "Deletes a custom domain association for Amazon Redshift Serverless.
"
+ }
+ },
+ "com.amazonaws.redshiftserverless#DeleteCustomDomainAssociationRequest": {
+ "type": "structure",
+ "members": {
+ "workgroupName": {
+ "target": "com.amazonaws.redshiftserverless#WorkgroupName",
+ "traits": {
+ "smithy.api#documentation": "The name of the workgroup associated with the database.
",
+ "smithy.api#required": {}
+ }
+ },
+ "customDomainName": {
+ "target": "com.amazonaws.redshiftserverless#CustomDomainName",
+ "traits": {
+ "smithy.api#documentation": "The custom domain name associated with the workgroup.
",
+ "smithy.api#required": {}
+ }
+ }
+ },
+ "traits": {
+ "smithy.api#input": {}
+ }
+ },
+ "com.amazonaws.redshiftserverless#DeleteCustomDomainAssociationResponse": {
+ "type": "structure",
+ "members": {},
+ "traits": {
+ "smithy.api#output": {}
+ }
+ },
"com.amazonaws.redshiftserverless#DeleteEndpointAccess": {
"type": "operation",
"input": {
@@ -1136,13 +1350,6 @@
"com.amazonaws.redshiftserverless#GetCredentialsRequest": {
"type": "structure",
"members": {
- "workgroupName": {
- "target": "com.amazonaws.redshiftserverless#WorkgroupName",
- "traits": {
- "smithy.api#documentation": "The name of the workgroup associated with the database.
",
- "smithy.api#required": {}
- }
- },
"dbName": {
"target": "com.amazonaws.redshiftserverless#DbName",
"traits": {
@@ -1154,6 +1361,18 @@
"traits": {
"smithy.api#documentation": "The number of seconds until the returned temporary password expires.\n The minimum is 900 seconds, and the maximum is 3600 seconds.
"
}
+ },
+ "workgroupName": {
+ "target": "com.amazonaws.redshiftserverless#WorkgroupName",
+ "traits": {
+ "smithy.api#documentation": "The name of the workgroup associated with the database.
"
+ }
+ },
+ "customDomainName": {
+ "target": "com.amazonaws.redshiftserverless#CustomDomainName",
+ "traits": {
+ "smithy.api#documentation": "The custom domain name associated with the workgroup. The custom domain name or the workgroup name must be included in the request.
"
+ }
}
},
"traits": {
@@ -1192,6 +1411,93 @@
"smithy.api#output": {}
}
},
+ "com.amazonaws.redshiftserverless#GetCustomDomainAssociation": {
+ "type": "operation",
+ "input": {
+ "target": "com.amazonaws.redshiftserverless#GetCustomDomainAssociationRequest"
+ },
+ "output": {
+ "target": "com.amazonaws.redshiftserverless#GetCustomDomainAssociationResponse"
+ },
+ "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#ThrottlingException"
+ },
+ {
+ "target": "com.amazonaws.redshiftserverless#ValidationException"
+ }
+ ],
+ "traits": {
+ "smithy.api#documentation": "Gets information about a specific custom domain association.
"
+ }
+ },
+ "com.amazonaws.redshiftserverless#GetCustomDomainAssociationRequest": {
+ "type": "structure",
+ "members": {
+ "customDomainName": {
+ "target": "com.amazonaws.redshiftserverless#CustomDomainName",
+ "traits": {
+ "smithy.api#documentation": "The custom domain name associated with the workgroup.
",
+ "smithy.api#required": {}
+ }
+ },
+ "workgroupName": {
+ "target": "com.amazonaws.redshiftserverless#WorkgroupName",
+ "traits": {
+ "smithy.api#documentation": "The name of the workgroup associated with the database.
",
+ "smithy.api#required": {}
+ }
+ }
+ },
+ "traits": {
+ "smithy.api#input": {}
+ }
+ },
+ "com.amazonaws.redshiftserverless#GetCustomDomainAssociationResponse": {
+ "type": "structure",
+ "members": {
+ "customDomainName": {
+ "target": "com.amazonaws.redshiftserverless#CustomDomainName",
+ "traits": {
+ "smithy.api#documentation": "The custom domain name associated with the workgroup.
"
+ }
+ },
+ "workgroupName": {
+ "target": "com.amazonaws.redshiftserverless#WorkgroupName",
+ "traits": {
+ "smithy.api#documentation": "The name of the workgroup associated with the database.
"
+ }
+ },
+ "customDomainCertificateArn": {
+ "target": "com.amazonaws.redshiftserverless#CustomDomainCertificateArnString",
+ "traits": {
+ "smithy.api#documentation": "The custom domain name’s certificate Amazon resource name (ARN).
"
+ }
+ },
+ "customDomainCertificateExpiryTime": {
+ "target": "smithy.api#Timestamp",
+ "traits": {
+ "smithy.api#documentation": "The expiration time for the certificate.
",
+ "smithy.api#timestampFormat": "date-time"
+ }
+ }
+ },
+ "traits": {
+ "smithy.api#output": {}
+ }
+ },
"com.amazonaws.redshiftserverless#GetEndpointAccess": {
"type": "operation",
"input": {
@@ -1697,6 +2003,101 @@
"com.amazonaws.redshiftserverless#KmsKeyId": {
"type": "string"
},
+ "com.amazonaws.redshiftserverless#ListCustomDomainAssociations": {
+ "type": "operation",
+ "input": {
+ "target": "com.amazonaws.redshiftserverless#ListCustomDomainAssociationsRequest"
+ },
+ "output": {
+ "target": "com.amazonaws.redshiftserverless#ListCustomDomainAssociationsResponse"
+ },
+ "errors": [
+ {
+ "target": "com.amazonaws.redshiftserverless#AccessDeniedException"
+ },
+ {
+ "target": "com.amazonaws.redshiftserverless#InternalServerException"
+ },
+ {
+ "target": "com.amazonaws.redshiftserverless#InvalidPaginationException"
+ },
+ {
+ "target": "com.amazonaws.redshiftserverless#ThrottlingException"
+ },
+ {
+ "target": "com.amazonaws.redshiftserverless#ValidationException"
+ }
+ ],
+ "traits": {
+ "smithy.api#documentation": " Lists custom domain associations for Amazon Redshift Serverless.
",
+ "smithy.api#paginated": {
+ "inputToken": "nextToken",
+ "outputToken": "nextToken",
+ "pageSize": "maxResults",
+ "items": "associations"
+ },
+ "smithy.api#readonly": {}
+ }
+ },
+ "com.amazonaws.redshiftserverless#ListCustomDomainAssociationsRequest": {
+ "type": "structure",
+ "members": {
+ "nextToken": {
+ "target": "com.amazonaws.redshiftserverless#PaginationToken",
+ "traits": {
+ "smithy.api#documentation": "When 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#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.\n You can use nextToken
to display the next page of results.
",
+ "smithy.api#httpQuery": "maxResults",
+ "smithy.api#range": {
+ "min": 1,
+ "max": 100
+ }
+ }
+ },
+ "customDomainName": {
+ "target": "com.amazonaws.redshiftserverless#CustomDomainName",
+ "traits": {
+ "smithy.api#documentation": "The custom domain name associated with the workgroup.
"
+ }
+ },
+ "customDomainCertificateArn": {
+ "target": "com.amazonaws.redshiftserverless#CustomDomainCertificateArnString",
+ "traits": {
+ "smithy.api#documentation": "The custom domain name’s certificate Amazon resource name (ARN).
"
+ }
+ }
+ },
+ "traits": {
+ "smithy.api#input": {}
+ }
+ },
+ "com.amazonaws.redshiftserverless#ListCustomDomainAssociationsResponse": {
+ "type": "structure",
+ "members": {
+ "nextToken": {
+ "target": "com.amazonaws.redshiftserverless#PaginationToken",
+ "traits": {
+ "smithy.api#documentation": "When 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.
"
+ }
+ },
+ "associations": {
+ "target": "com.amazonaws.redshiftserverless#AssociationList",
+ "traits": {
+ "smithy.api#documentation": "A list of Association objects.
"
+ }
+ }
+ },
+ "traits": {
+ "smithy.api#output": {}
+ }
+ },
"com.amazonaws.redshiftserverless#ListEndpointAccess": {
"type": "operation",
"input": {
@@ -2757,15 +3158,27 @@
"type": "service",
"version": "2021-04-21",
"operations": [
+ {
+ "target": "com.amazonaws.redshiftserverless#CreateCustomDomainAssociation"
+ },
+ {
+ "target": "com.amazonaws.redshiftserverless#DeleteCustomDomainAssociation"
+ },
{
"target": "com.amazonaws.redshiftserverless#DeleteResourcePolicy"
},
{
"target": "com.amazonaws.redshiftserverless#GetCredentials"
},
+ {
+ "target": "com.amazonaws.redshiftserverless#GetCustomDomainAssociation"
+ },
{
"target": "com.amazonaws.redshiftserverless#GetResourcePolicy"
},
+ {
+ "target": "com.amazonaws.redshiftserverless#ListCustomDomainAssociations"
+ },
{
"target": "com.amazonaws.redshiftserverless#ListTagsForResource"
},
@@ -2777,6 +3190,9 @@
},
{
"target": "com.amazonaws.redshiftserverless#UntagResource"
+ },
+ {
+ "target": "com.amazonaws.redshiftserverless#UpdateCustomDomainAssociation"
}
],
"resources": [
@@ -4470,6 +4886,100 @@
"smithy.api#output": {}
}
},
+ "com.amazonaws.redshiftserverless#UpdateCustomDomainAssociation": {
+ "type": "operation",
+ "input": {
+ "target": "com.amazonaws.redshiftserverless#UpdateCustomDomainAssociationRequest"
+ },
+ "output": {
+ "target": "com.amazonaws.redshiftserverless#UpdateCustomDomainAssociationResponse"
+ },
+ "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#ThrottlingException"
+ },
+ {
+ "target": "com.amazonaws.redshiftserverless#ValidationException"
+ }
+ ],
+ "traits": {
+ "smithy.api#documentation": "Updates an Amazon Redshift Serverless certificate associated with a custom domain.
"
+ }
+ },
+ "com.amazonaws.redshiftserverless#UpdateCustomDomainAssociationRequest": {
+ "type": "structure",
+ "members": {
+ "workgroupName": {
+ "target": "com.amazonaws.redshiftserverless#WorkgroupName",
+ "traits": {
+ "smithy.api#documentation": "The name of the workgroup associated with the database.
",
+ "smithy.api#required": {}
+ }
+ },
+ "customDomainName": {
+ "target": "com.amazonaws.redshiftserverless#CustomDomainName",
+ "traits": {
+ "smithy.api#documentation": "The custom domain name associated with the workgroup.
",
+ "smithy.api#required": {}
+ }
+ },
+ "customDomainCertificateArn": {
+ "target": "com.amazonaws.redshiftserverless#CustomDomainCertificateArnString",
+ "traits": {
+ "smithy.api#documentation": "The custom domain name’s certificate Amazon resource name (ARN). This is optional.
",
+ "smithy.api#required": {}
+ }
+ }
+ },
+ "traits": {
+ "smithy.api#input": {}
+ }
+ },
+ "com.amazonaws.redshiftserverless#UpdateCustomDomainAssociationResponse": {
+ "type": "structure",
+ "members": {
+ "customDomainName": {
+ "target": "com.amazonaws.redshiftserverless#CustomDomainName",
+ "traits": {
+ "smithy.api#documentation": "The custom domain name associated with the workgroup.
"
+ }
+ },
+ "workgroupName": {
+ "target": "com.amazonaws.redshiftserverless#WorkgroupName",
+ "traits": {
+ "smithy.api#documentation": "The name of the workgroup associated with the database.
"
+ }
+ },
+ "customDomainCertificateArn": {
+ "target": "com.amazonaws.redshiftserverless#CustomDomainCertificateArnString",
+ "traits": {
+ "smithy.api#documentation": "The custom domain name’s certificate Amazon resource name (ARN).
"
+ }
+ },
+ "customDomainCertificateExpiryTime": {
+ "target": "smithy.api#Timestamp",
+ "traits": {
+ "smithy.api#documentation": "The expiration time for the certificate.
",
+ "smithy.api#timestampFormat": "date-time"
+ }
+ }
+ },
+ "traits": {
+ "smithy.api#output": {}
+ }
+ },
"com.amazonaws.redshiftserverless#UpdateEndpointAccess": {
"type": "operation",
"input": {
@@ -4573,7 +5083,7 @@
"adminUserPassword": {
"target": "com.amazonaws.redshiftserverless#DbPassword",
"traits": {
- "smithy.api#documentation": "The password of the administrator for the first database created in the namespace. This parameter must be updated together\n with adminUsername
.
\n You can't use adminUserPassword
if manageAdminPassword
is true.
"
+ "smithy.api#documentation": "The password of the administrator for the first database created in the namespace. This parameter must be updated together\n with adminUsername
.
\n You can't use adminUserPassword
if manageAdminPassword
is true.
"
}
},
"adminUsername": {
@@ -5173,6 +5683,25 @@
"smithy.api#documentation": "The custom port to use when connecting to a workgroup. Valid port ranges are 5431-5455 and 8191-8215. The default is 5439.
"
}
},
+ "customDomainName": {
+ "target": "com.amazonaws.redshiftserverless#CustomDomainName",
+ "traits": {
+ "smithy.api#documentation": "The custom domain name associated with the workgroup.
"
+ }
+ },
+ "customDomainCertificateArn": {
+ "target": "com.amazonaws.redshiftserverless#CustomDomainCertificateArnString",
+ "traits": {
+ "smithy.api#documentation": "The custom domain name’s certificate Amazon resource name (ARN).
"
+ }
+ },
+ "customDomainCertificateExpiryTime": {
+ "target": "smithy.api#Timestamp",
+ "traits": {
+ "smithy.api#documentation": "The expiration time for the certificate.
",
+ "smithy.api#timestampFormat": "date-time"
+ }
+ },
"workgroupVersion": {
"target": "smithy.api#String",
"traits": {