From 861baa753dc3d53f38c4ad122a1d4e01e5e47cdf Mon Sep 17 00:00:00 2001 From: awstools Date: Mon, 18 Mar 2024 18:14:22 +0000 Subject: [PATCH] feat(client-rds): This release launches the ModifyIntegration API and support for data filtering for zero-ETL Integrations. --- clients/client-rds/README.md | 8 ++ clients/client-rds/src/RDS.ts | 23 +++ clients/client-rds/src/RDSClient.ts | 3 + .../src/commands/CreateIntegrationCommand.ts | 4 + .../src/commands/DeleteIntegrationCommand.ts | 2 + .../commands/DescribeIntegrationsCommand.ts | 2 + .../src/commands/ModifyIntegrationCommand.ts | 122 ++++++++++++++++ clients/client-rds/src/commands/index.ts | 1 + clients/client-rds/src/models/models_0.ts | 29 ++++ clients/client-rds/src/models/models_1.ts | 30 ++++ clients/client-rds/src/protocols/Aws_query.ts | 107 +++++++++++--- codegen/sdk-codegen/aws-models/rds.json | 132 +++++++++++++++++- 12 files changed, 444 insertions(+), 19 deletions(-) create mode 100644 clients/client-rds/src/commands/ModifyIntegrationCommand.ts diff --git a/clients/client-rds/README.md b/clients/client-rds/README.md index 849020cc98092..dbadd812c4e77 100644 --- a/clients/client-rds/README.md +++ b/clients/client-rds/README.md @@ -1263,6 +1263,14 @@ ModifyGlobalCluster [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/rds/command/ModifyGlobalClusterCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-rds/Interface/ModifyGlobalClusterCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-rds/Interface/ModifyGlobalClusterCommandOutput/) + +
+ +ModifyIntegration + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/rds/command/ModifyIntegrationCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-rds/Interface/ModifyIntegrationCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-rds/Interface/ModifyIntegrationCommandOutput/) +
diff --git a/clients/client-rds/src/RDS.ts b/clients/client-rds/src/RDS.ts index e8c754d1b7098..49668f4487c61 100644 --- a/clients/client-rds/src/RDS.ts +++ b/clients/client-rds/src/RDS.ts @@ -632,6 +632,11 @@ import { ModifyGlobalClusterCommandInput, ModifyGlobalClusterCommandOutput, } from "./commands/ModifyGlobalClusterCommand"; +import { + ModifyIntegrationCommand, + ModifyIntegrationCommandInput, + ModifyIntegrationCommandOutput, +} from "./commands/ModifyIntegrationCommand"; import { ModifyOptionGroupCommand, ModifyOptionGroupCommandInput, @@ -936,6 +941,7 @@ const commands = { ModifyDBSubnetGroupCommand, ModifyEventSubscriptionCommand, ModifyGlobalClusterCommand, + ModifyIntegrationCommand, ModifyOptionGroupCommand, ModifyTenantDatabaseCommand, PromoteReadReplicaCommand, @@ -3117,6 +3123,23 @@ export interface RDS { cb: (err: any, data?: ModifyGlobalClusterCommandOutput) => void ): void; + /** + * @see {@link ModifyIntegrationCommand} + */ + modifyIntegration( + args: ModifyIntegrationCommandInput, + options?: __HttpHandlerOptions + ): Promise; + modifyIntegration( + args: ModifyIntegrationCommandInput, + cb: (err: any, data?: ModifyIntegrationCommandOutput) => void + ): void; + modifyIntegration( + args: ModifyIntegrationCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ModifyIntegrationCommandOutput) => void + ): void; + /** * @see {@link ModifyOptionGroupCommand} */ diff --git a/clients/client-rds/src/RDSClient.ts b/clients/client-rds/src/RDSClient.ts index f73fabfdb0539..8d88b005a6db3 100644 --- a/clients/client-rds/src/RDSClient.ts +++ b/clients/client-rds/src/RDSClient.ts @@ -461,6 +461,7 @@ import { ModifyGlobalClusterCommandInput, ModifyGlobalClusterCommandOutput, } from "./commands/ModifyGlobalClusterCommand"; +import { ModifyIntegrationCommandInput, ModifyIntegrationCommandOutput } from "./commands/ModifyIntegrationCommand"; import { ModifyOptionGroupCommandInput, ModifyOptionGroupCommandOutput } from "./commands/ModifyOptionGroupCommand"; import { ModifyTenantDatabaseCommandInput, @@ -709,6 +710,7 @@ export type ServiceInputTypes = | ModifyDBSubnetGroupCommandInput | ModifyEventSubscriptionCommandInput | ModifyGlobalClusterCommandInput + | ModifyIntegrationCommandInput | ModifyOptionGroupCommandInput | ModifyTenantDatabaseCommandInput | PromoteReadReplicaCommandInput @@ -875,6 +877,7 @@ export type ServiceOutputTypes = | ModifyDBSubnetGroupCommandOutput | ModifyEventSubscriptionCommandOutput | ModifyGlobalClusterCommandOutput + | ModifyIntegrationCommandOutput | ModifyOptionGroupCommandOutput | ModifyTenantDatabaseCommandOutput | PromoteReadReplicaCommandOutput diff --git a/clients/client-rds/src/commands/CreateIntegrationCommand.ts b/clients/client-rds/src/commands/CreateIntegrationCommand.ts index 1b4fbc01e02d3..dd6db152d5fb1 100644 --- a/clients/client-rds/src/commands/CreateIntegrationCommand.ts +++ b/clients/client-rds/src/commands/CreateIntegrationCommand.ts @@ -48,6 +48,8 @@ export interface CreateIntegrationCommandOutput extends Integration, __MetadataB * Value: "STRING_VALUE", * }, * ], + * DataFilter: "STRING_VALUE", + * Description: "STRING_VALUE", * }; * const command = new CreateIntegrationCommand(input); * const response = await client.send(command); @@ -74,6 +76,8 @@ export interface CreateIntegrationCommandOutput extends Integration, __MetadataB * // ErrorMessage: "STRING_VALUE", * // }, * // ], + * // DataFilter: "STRING_VALUE", + * // Description: "STRING_VALUE", * // }; * * ``` diff --git a/clients/client-rds/src/commands/DeleteIntegrationCommand.ts b/clients/client-rds/src/commands/DeleteIntegrationCommand.ts index c7a926fa884d0..d3e2970ac2c49 100644 --- a/clients/client-rds/src/commands/DeleteIntegrationCommand.ts +++ b/clients/client-rds/src/commands/DeleteIntegrationCommand.ts @@ -62,6 +62,8 @@ export interface DeleteIntegrationCommandOutput extends Integration, __MetadataB * // ErrorMessage: "STRING_VALUE", * // }, * // ], + * // DataFilter: "STRING_VALUE", + * // Description: "STRING_VALUE", * // }; * * ``` diff --git a/clients/client-rds/src/commands/DescribeIntegrationsCommand.ts b/clients/client-rds/src/commands/DescribeIntegrationsCommand.ts index 62da71e0bd924..e1b529e6a2322 100644 --- a/clients/client-rds/src/commands/DescribeIntegrationsCommand.ts +++ b/clients/client-rds/src/commands/DescribeIntegrationsCommand.ts @@ -75,6 +75,8 @@ export interface DescribeIntegrationsCommandOutput extends DescribeIntegrationsR * // ErrorMessage: "STRING_VALUE", * // }, * // ], + * // DataFilter: "STRING_VALUE", + * // Description: "STRING_VALUE", * // }, * // ], * // }; diff --git a/clients/client-rds/src/commands/ModifyIntegrationCommand.ts b/clients/client-rds/src/commands/ModifyIntegrationCommand.ts new file mode 100644 index 0000000000000..8c476cb2fb63b --- /dev/null +++ b/clients/client-rds/src/commands/ModifyIntegrationCommand.ts @@ -0,0 +1,122 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { Integration } from "../models/models_0"; +import { ModifyIntegrationMessage } from "../models/models_1"; +import { de_ModifyIntegrationCommand, se_ModifyIntegrationCommand } from "../protocols/Aws_query"; +import { RDSClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../RDSClient"; + +/** + * @public + */ +export { __MetadataBearer, $Command }; +/** + * @public + * + * The input for {@link ModifyIntegrationCommand}. + */ +export interface ModifyIntegrationCommandInput extends ModifyIntegrationMessage {} +/** + * @public + * + * The output of {@link ModifyIntegrationCommand}. + */ +export interface ModifyIntegrationCommandOutput extends Integration, __MetadataBearer {} + +/** + *

Modifies a zero-ETL integration with Amazon Redshift.

+ * + *

Currently, you can only modify integrations that have Aurora MySQL source DB clusters. Integrations with Aurora PostgreSQL and RDS sources currently don't support modifying the integration.

+ *
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { RDSClient, ModifyIntegrationCommand } from "@aws-sdk/client-rds"; // ES Modules import + * // const { RDSClient, ModifyIntegrationCommand } = require("@aws-sdk/client-rds"); // CommonJS import + * const client = new RDSClient(config); + * const input = { // ModifyIntegrationMessage + * IntegrationIdentifier: "STRING_VALUE", // required + * IntegrationName: "STRING_VALUE", + * DataFilter: "STRING_VALUE", + * Description: "STRING_VALUE", + * }; + * const command = new ModifyIntegrationCommand(input); + * const response = await client.send(command); + * // { // Integration + * // SourceArn: "STRING_VALUE", + * // TargetArn: "STRING_VALUE", + * // IntegrationName: "STRING_VALUE", + * // IntegrationArn: "STRING_VALUE", + * // KMSKeyId: "STRING_VALUE", + * // AdditionalEncryptionContext: { // EncryptionContextMap + * // "": "STRING_VALUE", + * // }, + * // Status: "creating" || "active" || "modifying" || "failed" || "deleting" || "syncing" || "needs_attention", + * // Tags: [ // TagList + * // { // Tag + * // Key: "STRING_VALUE", + * // Value: "STRING_VALUE", + * // }, + * // ], + * // CreateTime: new Date("TIMESTAMP"), + * // Errors: [ // IntegrationErrorList + * // { // IntegrationError + * // ErrorCode: "STRING_VALUE", // required + * // ErrorMessage: "STRING_VALUE", + * // }, + * // ], + * // DataFilter: "STRING_VALUE", + * // Description: "STRING_VALUE", + * // }; + * + * ``` + * + * @param ModifyIntegrationCommandInput - {@link ModifyIntegrationCommandInput} + * @returns {@link ModifyIntegrationCommandOutput} + * @see {@link ModifyIntegrationCommandInput} for command's `input` shape. + * @see {@link ModifyIntegrationCommandOutput} for command's `response` shape. + * @see {@link RDSClientResolvedConfig | config} for RDSClient's `config` shape. + * + * @throws {@link IntegrationConflictOperationFault} (client fault) + *

A conflicting conditional operation is currently in progress against this resource. + * Typically occurs when there are multiple requests being made to the same resource at the same time, + * and these requests conflict with each other.

+ * + * @throws {@link IntegrationNotFoundFault} (client fault) + *

The specified integration could not be found.

+ * + * @throws {@link InvalidIntegrationStateFault} (client fault) + *

The integration is in an invalid state and can't perform the requested operation.

+ * + * @throws {@link RDSServiceException} + *

Base exception class for all service exceptions from RDS service.

+ * + * @public + */ +export class ModifyIntegrationCommand extends $Command + .classBuilder< + ModifyIntegrationCommandInput, + ModifyIntegrationCommandOutput, + RDSClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep({ + ...commonParams, + }) + .m(function (this: any, Command: any, cs: any, config: RDSClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AmazonRDSv19", "ModifyIntegration", {}) + .n("RDSClient", "ModifyIntegrationCommand") + .f(void 0, void 0) + .ser(se_ModifyIntegrationCommand) + .de(de_ModifyIntegrationCommand) + .build() {} diff --git a/clients/client-rds/src/commands/index.ts b/clients/client-rds/src/commands/index.ts index 17b454ad6eaca..09983d0d594dd 100644 --- a/clients/client-rds/src/commands/index.ts +++ b/clients/client-rds/src/commands/index.ts @@ -125,6 +125,7 @@ export * from "./ModifyDBSnapshotCommand"; export * from "./ModifyDBSubnetGroupCommand"; export * from "./ModifyEventSubscriptionCommand"; export * from "./ModifyGlobalClusterCommand"; +export * from "./ModifyIntegrationCommand"; export * from "./ModifyOptionGroupCommand"; export * from "./ModifyTenantDatabaseCommand"; export * from "./PromoteReadReplicaCommand"; diff --git a/clients/client-rds/src/models/models_0.ts b/clients/client-rds/src/models/models_0.ts index 595b3918f2e74..3619eb5ec059f 100644 --- a/clients/client-rds/src/models/models_0.ts +++ b/clients/client-rds/src/models/models_0.ts @@ -12243,6 +12243,21 @@ export interface CreateIntegrationMessage { * @public */ Tags?: Tag[]; + + /** + *

Data filtering options for the integration. For more information, see + * Data filtering for Aurora zero-ETL integrations with Amazon Redshift. + *

+ *

Valid for: Integrations with Aurora MySQL source DB clusters only

+ * @public + */ + DataFilter?: string; + + /** + *

A description of the integration.

+ * @public + */ + Description?: string; } /** @@ -12352,6 +12367,20 @@ export interface Integration { * @public */ Errors?: IntegrationError[]; + + /** + *

Data filters for the integration. These filters determine which tables + * from the source database are sent to the target Amazon Redshift data warehouse. + *

+ * @public + */ + DataFilter?: string; + + /** + *

A description of the integration.

+ * @public + */ + Description?: string; } /** diff --git a/clients/client-rds/src/models/models_1.ts b/clients/client-rds/src/models/models_1.ts index 6c7c18e257fbb..f052d0cbf4152 100644 --- a/clients/client-rds/src/models/models_1.ts +++ b/clients/client-rds/src/models/models_1.ts @@ -9981,6 +9981,36 @@ export interface ModifyGlobalClusterResult { GlobalCluster?: GlobalCluster; } +/** + * @public + */ +export interface ModifyIntegrationMessage { + /** + *

The unique identifier of the integration to modify.

+ * @public + */ + IntegrationIdentifier: string | undefined; + + /** + *

A new name for the integration.

+ * @public + */ + IntegrationName?: string; + + /** + *

A new data filter for the integration. For more information, see + * Data filtering for Aurora zero-ETL integrations with Amazon Redshift.

+ * @public + */ + DataFilter?: string; + + /** + *

A new description for the integration.

+ * @public + */ + Description?: string; +} + /** *

A list of all available options

* @public diff --git a/clients/client-rds/src/protocols/Aws_query.ts b/clients/client-rds/src/protocols/Aws_query.ts index dfa95d2d28172..c721edf3b01bb 100644 --- a/clients/client-rds/src/protocols/Aws_query.ts +++ b/clients/client-rds/src/protocols/Aws_query.ts @@ -431,6 +431,7 @@ import { ModifyGlobalClusterCommandInput, ModifyGlobalClusterCommandOutput, } from "../commands/ModifyGlobalClusterCommand"; +import { ModifyIntegrationCommandInput, ModifyIntegrationCommandOutput } from "../commands/ModifyIntegrationCommand"; import { ModifyOptionGroupCommandInput, ModifyOptionGroupCommandOutput } from "../commands/ModifyOptionGroupCommand"; import { ModifyTenantDatabaseCommandInput, @@ -998,6 +999,7 @@ import { ModifyEventSubscriptionResult, ModifyGlobalClusterMessage, ModifyGlobalClusterResult, + ModifyIntegrationMessage, ModifyOptionGroupMessage, ModifyOptionGroupResult, ModifyTenantDatabaseMessage, @@ -3245,6 +3247,23 @@ export const se_ModifyGlobalClusterCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +/** + * serializeAws_queryModifyIntegrationCommand + */ +export const se_ModifyIntegrationCommand = async ( + input: ModifyIntegrationCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = SHARED_HEADERS; + let body: any; + body = buildFormUrlencodedString({ + ...se_ModifyIntegrationMessage(input, context), + [_A]: _MI, + [_V]: _, + }); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + /** * serializeAws_queryModifyOptionGroupCommand */ @@ -6339,6 +6358,26 @@ export const de_ModifyGlobalClusterCommand = async ( return response; }; +/** + * deserializeAws_queryModifyIntegrationCommand + */ +export const de_ModifyIntegrationCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = de_Integration(data.ModifyIntegrationResult, context); + const response: ModifyIntegrationCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return response; +}; + /** * deserializeAws_queryModifyOptionGroupCommand */ @@ -10495,8 +10534,8 @@ const se_CreateDBClusterMessage = (input: CreateDBClusterMessage, context: __Ser if (input[_AMVU] != null) { entries[_AMVU] = input[_AMVU]; } - if (input[_MI] != null) { - entries[_MI] = input[_MI]; + if (input[_MIo] != null) { + entries[_MIo] = input[_MIo]; } if (input[_MRA] != null) { entries[_MRA] = input[_MRA]; @@ -10742,8 +10781,8 @@ const se_CreateDBInstanceMessage = (input: CreateDBInstanceMessage, context: __S if (input[_CTTS] != null) { entries[_CTTS] = input[_CTTS]; } - if (input[_MI] != null) { - entries[_MI] = input[_MI]; + if (input[_MIo] != null) { + entries[_MIo] = input[_MIo]; } if (input[_MRA] != null) { entries[_MRA] = input[_MRA]; @@ -10901,8 +10940,8 @@ const se_CreateDBInstanceReadReplicaMessage = ( if (input[_CTTS] != null) { entries[_CTTS] = input[_CTTS]; } - if (input[_MI] != null) { - entries[_MI] = input[_MI]; + if (input[_MIo] != null) { + entries[_MIo] = input[_MIo]; } if (input[_MRA] != null) { entries[_MRA] = input[_MRA]; @@ -11367,6 +11406,12 @@ const se_CreateIntegrationMessage = (input: CreateIntegrationMessage, context: _ entries[loc] = value; }); } + if (input[_DFa] != null) { + entries[_DFa] = input[_DFa]; + } + if (input[_D] != null) { + entries[_D] = input[_D]; + } return entries; }; @@ -13614,8 +13659,8 @@ const se_ModifyDBClusterMessage = (input: ModifyDBClusterMessage, context: __Ser if (input[_AMVU] != null) { entries[_AMVU] = input[_AMVU]; } - if (input[_MI] != null) { - entries[_MI] = input[_MI]; + if (input[_MIo] != null) { + entries[_MIo] = input[_MIo]; } if (input[_MRA] != null) { entries[_MRA] = input[_MRA]; @@ -13846,8 +13891,8 @@ const se_ModifyDBInstanceMessage = (input: ModifyDBInstanceMessage, context: __S if (input[_CTTS] != null) { entries[_CTTS] = input[_CTTS]; } - if (input[_MI] != null) { - entries[_MI] = input[_MI]; + if (input[_MIo] != null) { + entries[_MIo] = input[_MIo]; } if (input[_DBPNo] != null) { entries[_DBPNo] = input[_DBPNo]; @@ -14234,6 +14279,26 @@ const se_ModifyGlobalClusterMessage = (input: ModifyGlobalClusterMessage, contex return entries; }; +/** + * serializeAws_queryModifyIntegrationMessage + */ +const se_ModifyIntegrationMessage = (input: ModifyIntegrationMessage, context: __SerdeContext): any => { + const entries: any = {}; + if (input[_IIn] != null) { + entries[_IIn] = input[_IIn]; + } + if (input[_IN] != null) { + entries[_IN] = input[_IN]; + } + if (input[_DFa] != null) { + entries[_DFa] = input[_DFa]; + } + if (input[_D] != null) { + entries[_D] = input[_D]; + } + return entries; +}; + /** * serializeAws_queryModifyOptionGroupMessage */ @@ -15535,8 +15600,8 @@ const se_RestoreDBInstanceFromS3Message = (input: RestoreDBInstanceFromS3Message if (input[_CTTS] != null) { entries[_CTTS] = input[_CTTS]; } - if (input[_MI] != null) { - entries[_MI] = input[_MI]; + if (input[_MIo] != null) { + entries[_MIo] = input[_MIo]; } if (input[_MRA] != null) { entries[_MRA] = input[_MRA]; @@ -17270,8 +17335,8 @@ const de_DBCluster = (output: any, context: __SerdeContext): DBCluster => { if (output[_AMVU] != null) { contents[_AMVU] = __parseBoolean(output[_AMVU]); } - if (output[_MI] != null) { - contents[_MI] = __strictParseInt32(output[_MI]) as number; + if (output[_MIo] != null) { + contents[_MIo] = __strictParseInt32(output[_MIo]) as number; } if (output[_MRA] != null) { contents[_MRA] = __expectString(output[_MRA]); @@ -18454,8 +18519,8 @@ const de_DBInstance = (output: any, context: __SerdeContext): DBInstance => { if (output[_CTTS] != null) { contents[_CTTS] = __parseBoolean(output[_CTTS]); } - if (output[_MI] != null) { - contents[_MI] = __strictParseInt32(output[_MI]) as number; + if (output[_MIo] != null) { + contents[_MIo] = __strictParseInt32(output[_MIo]) as number; } if (output[_EMRA] != null) { contents[_EMRA] = __expectString(output[_EMRA]); @@ -21392,6 +21457,12 @@ const de_Integration = (output: any, context: __SerdeContext): Integration => { } else if (output[_Er] != null && output[_Er][_IE] != null) { contents[_Er] = de_IntegrationErrorList(__getArrayIfSingleItem(output[_Er][_IE]), context); } + if (output[_DFa] != null) { + contents[_DFa] = __expectString(output[_DFa]); + } + if (output[_D] != null) { + contents[_D] = __expectString(output[_D]); + } return contents; }; @@ -25091,6 +25162,7 @@ const _DES = "DeleteEventSubscription"; const _DESe = "DescribeEventSubscriptions"; const _DET = "DescribeExportTasks"; const _DF = "DomainFqdn"; +const _DFa = "DataFilter"; const _DGC = "DeleteGlobalCluster"; const _DGCe = "DescribeGlobalClusters"; const _DHE = "DisableHttpEndpoint"; @@ -25303,12 +25375,13 @@ const _MEV = "MajorEngineVersion"; const _MEVPAV = "MinimumEngineVersionPerAllowedValue"; const _MEVi = "MinimumEngineVersion"; const _MGC = "ModifyGlobalCluster"; -const _MI = "MonitoringInterval"; +const _MI = "ModifyIntegration"; const _MICP = "MaxIdleConnectionsPercent"; const _MIPDI = "MinIopsPerDbInstance"; const _MIPDIa = "MaxIopsPerDbInstance"; const _MIPG = "MinIopsPerGib"; const _MIPGa = "MaxIopsPerGib"; +const _MIo = "MonitoringInterval"; const _MMUP = "ManageMasterUserPassword"; const _MOG = "ModifyOptionGroup"; const _MQ = "MetricQuery"; diff --git a/codegen/sdk-codegen/aws-models/rds.json b/codegen/sdk-codegen/aws-models/rds.json index 479731edd1963..e4ed118b8c1d6 100644 --- a/codegen/sdk-codegen/aws-models/rds.json +++ b/codegen/sdk-codegen/aws-models/rds.json @@ -838,6 +838,9 @@ { "target": "com.amazonaws.rds#ModifyGlobalCluster" }, + { + "target": "com.amazonaws.rds#ModifyIntegration" + }, { "target": "com.amazonaws.rds#ModifyOptionGroup" }, @@ -6586,8 +6589,9 @@ "TargetArn": "arn:aws:redshift-serverless:us-east-1:123456789012:namespace/62c70612-0302-4db7-8414-b5e3e049f0d8" }, "output": { - "SourceArn": "arn:aws:rds:us-east-1:123456789012:cluster:my-cluster", "IntegrationName": "my-integration", + "IntegrationArn": "arn:aws:rds:us-east-1:123456789012:integration:5b9f3d79-7392-4a3e-896c-58eaa1b53231", + "SourceArn": "arn:aws:rds:us-east-1:123456789012:cluster:my-cluster", "TargetArn": "arn:aws:redshift-serverless:us-east-1:123456789012:namespace/62c70612-0302-4db7-8414-b5e3e049f0d8", "Tags": [], "CreateTime": "2023-12-28T17:20:20.629Z", @@ -6639,6 +6643,18 @@ }, "Tags": { "target": "com.amazonaws.rds#TagList" + }, + "DataFilter": { + "target": "com.amazonaws.rds#DataFilter", + "traits": { + "smithy.api#documentation": "

Data filtering options for the integration. For more information, see \n Data filtering for Aurora zero-ETL integrations with Amazon Redshift.\n

\n

Valid for: Integrations with Aurora MySQL source DB clusters only

" + } + }, + "Description": { + "target": "com.amazonaws.rds#IntegrationDescription", + "traits": { + "smithy.api#documentation": "

A description of the integration.

" + } } }, "traits": { @@ -11734,6 +11750,16 @@ "smithy.api#httpError": 400 } }, + "com.amazonaws.rds#DataFilter": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 25600 + }, + "smithy.api#pattern": "^[a-zA-Z0-9_ \"\\\\\\-$,*.:?+\\/]*$" + } + }, "com.amazonaws.rds#DatabaseArn": { "type": "string", "traits": { @@ -12891,6 +12917,7 @@ "output": { "SourceArn": "arn:aws:rds:us-east-1:123456789012:cluster:my-cluster", "IntegrationName": "my-integration", + "IntegrationArn": "arn:aws:rds:us-east-1:123456789012:integration:5b9f3d79-7392-4a3e-896c-58eaa1b53231", "TargetArn": "arn:aws:redshift-serverless:us-east-1:123456789012:namespace/62c70612-0302-4db7-8414-b5e3e049f0d8", "Tags": [], "CreateTime": "2023-12-28T17:20:20.629Z", @@ -16895,6 +16922,7 @@ "Integrations": [ { "IntegrationName": "my-integration", + "IntegrationArn": "arn:aws:rds:us-east-1:123456789012:integration:5b9f3d79-7392-4a3e-896c-58eaa1b53231", "SourceArn": "arn:aws:rds:us-east-1:123456789012:cluster:my-cluster", "TargetArn": "arn:aws:redshift-serverless:us-east-1:123456789012:namespace/62c70612-0302-4db7-8414-b5e3e049f0d8", "Tags": [], @@ -19653,6 +19681,18 @@ "traits": { "smithy.api#documentation": "

Any errors associated with the integration.

" } + }, + "DataFilter": { + "target": "com.amazonaws.rds#DataFilter", + "traits": { + "smithy.api#documentation": "

Data filters for the integration. These filters determine which tables\n from the source database are sent to the target Amazon Redshift data warehouse. \n

" + } + }, + "Description": { + "target": "com.amazonaws.rds#IntegrationDescription", + "traits": { + "smithy.api#documentation": "

A description of the integration.

" + } } }, "traits": { @@ -19683,7 +19723,7 @@ "min": 1, "max": 255 }, - "smithy.api#pattern": "^arn:aws[a-z\\-]*:rds(-[a-z]*)?:[a-z0-9\\-]*:[0-9]*:integration:[a-z][a-z0-9]*(-[a-zA-Z0-9]+)*\\/[a-zA-Z0-9_:\\-\\/]+$" + "smithy.api#pattern": "^arn:aws[a-z\\-]*:rds(-[a-z]*)?:[a-z0-9\\-]*:[0-9]*:integration:[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$" } }, "com.amazonaws.rds#IntegrationConflictOperationFault": { @@ -19703,6 +19743,16 @@ "smithy.api#httpError": 400 } }, + "com.amazonaws.rds#IntegrationDescription": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 1000 + }, + "smithy.api#pattern": ".*" + } + }, "com.amazonaws.rds#IntegrationError": { "type": "structure", "members": { @@ -23170,6 +23220,84 @@ "smithy.api#output": {} } }, + "com.amazonaws.rds#ModifyIntegration": { + "type": "operation", + "input": { + "target": "com.amazonaws.rds#ModifyIntegrationMessage" + }, + "output": { + "target": "com.amazonaws.rds#Integration" + }, + "errors": [ + { + "target": "com.amazonaws.rds#IntegrationConflictOperationFault" + }, + { + "target": "com.amazonaws.rds#IntegrationNotFoundFault" + }, + { + "target": "com.amazonaws.rds#InvalidIntegrationStateFault" + } + ], + "traits": { + "smithy.api#documentation": "

Modifies a zero-ETL integration with Amazon Redshift.

\n \n

Currently, you can only modify integrations that have Aurora MySQL source DB clusters. Integrations with Aurora PostgreSQL and RDS sources currently don't support modifying the integration.

\n
", + "smithy.api#examples": [ + { + "title": "To modify a zero-ETL integration", + "documentation": "The following example modifies the name of an existing zero-ETL integration.", + "input": { + "IntegrationIdentifier": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", + "IntegrationName": "my-renamed-integration" + }, + "output": { + "SourceArn": "arn:aws:rds:us-east-1:123456789012:cluster:my-cluster", + "IntegrationName": "my-renamed-integration", + "IntegrationArn": "arn:aws:rds:us-east-1:123456789012:integration:5b9f3d79-7392-4a3e-896c-58eaa1b53231", + "TargetArn": "arn:aws:redshift-serverless:us-east-1:123456789012:namespace/62c70612-0302-4db7-8414-b5e3e049f0d8", + "Tags": [], + "DataFilter": "include: *.*", + "CreateTime": "2023-12-28T17:20:20.629Z", + "KMSKeyId": "arn:aws:kms:us-east-1:123456789012:key/a1b2c3d4-5678-90ab-cdef-EXAMPLEaaaaa", + "Status": "active" + } + } + ] + } + }, + "com.amazonaws.rds#ModifyIntegrationMessage": { + "type": "structure", + "members": { + "IntegrationIdentifier": { + "target": "com.amazonaws.rds#IntegrationIdentifier", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The unique identifier of the integration to modify.

", + "smithy.api#required": {} + } + }, + "IntegrationName": { + "target": "com.amazonaws.rds#IntegrationName", + "traits": { + "smithy.api#documentation": "

A new name for the integration.

" + } + }, + "DataFilter": { + "target": "com.amazonaws.rds#DataFilter", + "traits": { + "smithy.api#documentation": "

A new data filter for the integration. For more information, see \n Data filtering for Aurora zero-ETL integrations with Amazon Redshift.

" + } + }, + "Description": { + "target": "com.amazonaws.rds#IntegrationDescription", + "traits": { + "smithy.api#documentation": "

A new description for the integration.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, "com.amazonaws.rds#ModifyOptionGroup": { "type": "operation", "input": {