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": {