Skip to content

Commit 861baa7

Browse files
author
awstools
committed
feat(client-rds): This release launches the ModifyIntegration API and support for data filtering for zero-ETL Integrations.
1 parent 69aee05 commit 861baa7

File tree

12 files changed

+444
-19
lines changed

12 files changed

+444
-19
lines changed

clients/client-rds/README.md

+8
Original file line numberDiff line numberDiff line change
@@ -1263,6 +1263,14 @@ ModifyGlobalCluster
12631263

12641264
[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/)
12651265

1266+
</details>
1267+
<details>
1268+
<summary>
1269+
ModifyIntegration
1270+
</summary>
1271+
1272+
[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/)
1273+
12661274
</details>
12671275
<details>
12681276
<summary>

clients/client-rds/src/RDS.ts

+23
Original file line numberDiff line numberDiff line change
@@ -632,6 +632,11 @@ import {
632632
ModifyGlobalClusterCommandInput,
633633
ModifyGlobalClusterCommandOutput,
634634
} from "./commands/ModifyGlobalClusterCommand";
635+
import {
636+
ModifyIntegrationCommand,
637+
ModifyIntegrationCommandInput,
638+
ModifyIntegrationCommandOutput,
639+
} from "./commands/ModifyIntegrationCommand";
635640
import {
636641
ModifyOptionGroupCommand,
637642
ModifyOptionGroupCommandInput,
@@ -936,6 +941,7 @@ const commands = {
936941
ModifyDBSubnetGroupCommand,
937942
ModifyEventSubscriptionCommand,
938943
ModifyGlobalClusterCommand,
944+
ModifyIntegrationCommand,
939945
ModifyOptionGroupCommand,
940946
ModifyTenantDatabaseCommand,
941947
PromoteReadReplicaCommand,
@@ -3117,6 +3123,23 @@ export interface RDS {
31173123
cb: (err: any, data?: ModifyGlobalClusterCommandOutput) => void
31183124
): void;
31193125

3126+
/**
3127+
* @see {@link ModifyIntegrationCommand}
3128+
*/
3129+
modifyIntegration(
3130+
args: ModifyIntegrationCommandInput,
3131+
options?: __HttpHandlerOptions
3132+
): Promise<ModifyIntegrationCommandOutput>;
3133+
modifyIntegration(
3134+
args: ModifyIntegrationCommandInput,
3135+
cb: (err: any, data?: ModifyIntegrationCommandOutput) => void
3136+
): void;
3137+
modifyIntegration(
3138+
args: ModifyIntegrationCommandInput,
3139+
options: __HttpHandlerOptions,
3140+
cb: (err: any, data?: ModifyIntegrationCommandOutput) => void
3141+
): void;
3142+
31203143
/**
31213144
* @see {@link ModifyOptionGroupCommand}
31223145
*/

clients/client-rds/src/RDSClient.ts

+3
Original file line numberDiff line numberDiff line change
@@ -461,6 +461,7 @@ import {
461461
ModifyGlobalClusterCommandInput,
462462
ModifyGlobalClusterCommandOutput,
463463
} from "./commands/ModifyGlobalClusterCommand";
464+
import { ModifyIntegrationCommandInput, ModifyIntegrationCommandOutput } from "./commands/ModifyIntegrationCommand";
464465
import { ModifyOptionGroupCommandInput, ModifyOptionGroupCommandOutput } from "./commands/ModifyOptionGroupCommand";
465466
import {
466467
ModifyTenantDatabaseCommandInput,
@@ -709,6 +710,7 @@ export type ServiceInputTypes =
709710
| ModifyDBSubnetGroupCommandInput
710711
| ModifyEventSubscriptionCommandInput
711712
| ModifyGlobalClusterCommandInput
713+
| ModifyIntegrationCommandInput
712714
| ModifyOptionGroupCommandInput
713715
| ModifyTenantDatabaseCommandInput
714716
| PromoteReadReplicaCommandInput
@@ -875,6 +877,7 @@ export type ServiceOutputTypes =
875877
| ModifyDBSubnetGroupCommandOutput
876878
| ModifyEventSubscriptionCommandOutput
877879
| ModifyGlobalClusterCommandOutput
880+
| ModifyIntegrationCommandOutput
878881
| ModifyOptionGroupCommandOutput
879882
| ModifyTenantDatabaseCommandOutput
880883
| PromoteReadReplicaCommandOutput

clients/client-rds/src/commands/CreateIntegrationCommand.ts

+4
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,8 @@ export interface CreateIntegrationCommandOutput extends Integration, __MetadataB
4848
* Value: "STRING_VALUE",
4949
* },
5050
* ],
51+
* DataFilter: "STRING_VALUE",
52+
* Description: "STRING_VALUE",
5153
* };
5254
* const command = new CreateIntegrationCommand(input);
5355
* const response = await client.send(command);
@@ -74,6 +76,8 @@ export interface CreateIntegrationCommandOutput extends Integration, __MetadataB
7476
* // ErrorMessage: "STRING_VALUE",
7577
* // },
7678
* // ],
79+
* // DataFilter: "STRING_VALUE",
80+
* // Description: "STRING_VALUE",
7781
* // };
7882
*
7983
* ```

clients/client-rds/src/commands/DeleteIntegrationCommand.ts

+2
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,8 @@ export interface DeleteIntegrationCommandOutput extends Integration, __MetadataB
6262
* // ErrorMessage: "STRING_VALUE",
6363
* // },
6464
* // ],
65+
* // DataFilter: "STRING_VALUE",
66+
* // Description: "STRING_VALUE",
6567
* // };
6668
*
6769
* ```

clients/client-rds/src/commands/DescribeIntegrationsCommand.ts

+2
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,8 @@ export interface DescribeIntegrationsCommandOutput extends DescribeIntegrationsR
7575
* // ErrorMessage: "STRING_VALUE",
7676
* // },
7777
* // ],
78+
* // DataFilter: "STRING_VALUE",
79+
* // Description: "STRING_VALUE",
7880
* // },
7981
* // ],
8082
* // };
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,122 @@
1+
// smithy-typescript generated code
2+
import { getEndpointPlugin } from "@smithy/middleware-endpoint";
3+
import { getSerdePlugin } from "@smithy/middleware-serde";
4+
import { Command as $Command } from "@smithy/smithy-client";
5+
import { MetadataBearer as __MetadataBearer } from "@smithy/types";
6+
7+
import { commonParams } from "../endpoint/EndpointParameters";
8+
import { Integration } from "../models/models_0";
9+
import { ModifyIntegrationMessage } from "../models/models_1";
10+
import { de_ModifyIntegrationCommand, se_ModifyIntegrationCommand } from "../protocols/Aws_query";
11+
import { RDSClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../RDSClient";
12+
13+
/**
14+
* @public
15+
*/
16+
export { __MetadataBearer, $Command };
17+
/**
18+
* @public
19+
*
20+
* The input for {@link ModifyIntegrationCommand}.
21+
*/
22+
export interface ModifyIntegrationCommandInput extends ModifyIntegrationMessage {}
23+
/**
24+
* @public
25+
*
26+
* The output of {@link ModifyIntegrationCommand}.
27+
*/
28+
export interface ModifyIntegrationCommandOutput extends Integration, __MetadataBearer {}
29+
30+
/**
31+
* <p>Modifies a zero-ETL integration with Amazon Redshift.</p>
32+
* <note>
33+
* <p>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.</p>
34+
* </note>
35+
* @example
36+
* Use a bare-bones client and the command you need to make an API call.
37+
* ```javascript
38+
* import { RDSClient, ModifyIntegrationCommand } from "@aws-sdk/client-rds"; // ES Modules import
39+
* // const { RDSClient, ModifyIntegrationCommand } = require("@aws-sdk/client-rds"); // CommonJS import
40+
* const client = new RDSClient(config);
41+
* const input = { // ModifyIntegrationMessage
42+
* IntegrationIdentifier: "STRING_VALUE", // required
43+
* IntegrationName: "STRING_VALUE",
44+
* DataFilter: "STRING_VALUE",
45+
* Description: "STRING_VALUE",
46+
* };
47+
* const command = new ModifyIntegrationCommand(input);
48+
* const response = await client.send(command);
49+
* // { // Integration
50+
* // SourceArn: "STRING_VALUE",
51+
* // TargetArn: "STRING_VALUE",
52+
* // IntegrationName: "STRING_VALUE",
53+
* // IntegrationArn: "STRING_VALUE",
54+
* // KMSKeyId: "STRING_VALUE",
55+
* // AdditionalEncryptionContext: { // EncryptionContextMap
56+
* // "<keys>": "STRING_VALUE",
57+
* // },
58+
* // Status: "creating" || "active" || "modifying" || "failed" || "deleting" || "syncing" || "needs_attention",
59+
* // Tags: [ // TagList
60+
* // { // Tag
61+
* // Key: "STRING_VALUE",
62+
* // Value: "STRING_VALUE",
63+
* // },
64+
* // ],
65+
* // CreateTime: new Date("TIMESTAMP"),
66+
* // Errors: [ // IntegrationErrorList
67+
* // { // IntegrationError
68+
* // ErrorCode: "STRING_VALUE", // required
69+
* // ErrorMessage: "STRING_VALUE",
70+
* // },
71+
* // ],
72+
* // DataFilter: "STRING_VALUE",
73+
* // Description: "STRING_VALUE",
74+
* // };
75+
*
76+
* ```
77+
*
78+
* @param ModifyIntegrationCommandInput - {@link ModifyIntegrationCommandInput}
79+
* @returns {@link ModifyIntegrationCommandOutput}
80+
* @see {@link ModifyIntegrationCommandInput} for command's `input` shape.
81+
* @see {@link ModifyIntegrationCommandOutput} for command's `response` shape.
82+
* @see {@link RDSClientResolvedConfig | config} for RDSClient's `config` shape.
83+
*
84+
* @throws {@link IntegrationConflictOperationFault} (client fault)
85+
* <p>A conflicting conditional operation is currently in progress against this resource.
86+
* Typically occurs when there are multiple requests being made to the same resource at the same time,
87+
* and these requests conflict with each other.</p>
88+
*
89+
* @throws {@link IntegrationNotFoundFault} (client fault)
90+
* <p>The specified integration could not be found.</p>
91+
*
92+
* @throws {@link InvalidIntegrationStateFault} (client fault)
93+
* <p>The integration is in an invalid state and can't perform the requested operation.</p>
94+
*
95+
* @throws {@link RDSServiceException}
96+
* <p>Base exception class for all service exceptions from RDS service.</p>
97+
*
98+
* @public
99+
*/
100+
export class ModifyIntegrationCommand extends $Command
101+
.classBuilder<
102+
ModifyIntegrationCommandInput,
103+
ModifyIntegrationCommandOutput,
104+
RDSClientResolvedConfig,
105+
ServiceInputTypes,
106+
ServiceOutputTypes
107+
>()
108+
.ep({
109+
...commonParams,
110+
})
111+
.m(function (this: any, Command: any, cs: any, config: RDSClientResolvedConfig, o: any) {
112+
return [
113+
getSerdePlugin(config, this.serialize, this.deserialize),
114+
getEndpointPlugin(config, Command.getEndpointParameterInstructions()),
115+
];
116+
})
117+
.s("AmazonRDSv19", "ModifyIntegration", {})
118+
.n("RDSClient", "ModifyIntegrationCommand")
119+
.f(void 0, void 0)
120+
.ser(se_ModifyIntegrationCommand)
121+
.de(de_ModifyIntegrationCommand)
122+
.build() {}

clients/client-rds/src/commands/index.ts

+1
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,7 @@ export * from "./ModifyDBSnapshotCommand";
125125
export * from "./ModifyDBSubnetGroupCommand";
126126
export * from "./ModifyEventSubscriptionCommand";
127127
export * from "./ModifyGlobalClusterCommand";
128+
export * from "./ModifyIntegrationCommand";
128129
export * from "./ModifyOptionGroupCommand";
129130
export * from "./ModifyTenantDatabaseCommand";
130131
export * from "./PromoteReadReplicaCommand";

clients/client-rds/src/models/models_0.ts

+29
Original file line numberDiff line numberDiff line change
@@ -12243,6 +12243,21 @@ export interface CreateIntegrationMessage {
1224312243
* @public
1224412244
*/
1224512245
Tags?: Tag[];
12246+
12247+
/**
12248+
* <p>Data filtering options for the integration. For more information, see
12249+
* <a href="https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/zero-etl.filtering.html">Data filtering for Aurora zero-ETL integrations with Amazon Redshift</a>.
12250+
* </p>
12251+
* <p>Valid for: Integrations with Aurora MySQL source DB clusters only</p>
12252+
* @public
12253+
*/
12254+
DataFilter?: string;
12255+
12256+
/**
12257+
* <p>A description of the integration.</p>
12258+
* @public
12259+
*/
12260+
Description?: string;
1224612261
}
1224712262

1224812263
/**
@@ -12352,6 +12367,20 @@ export interface Integration {
1235212367
* @public
1235312368
*/
1235412369
Errors?: IntegrationError[];
12370+
12371+
/**
12372+
* <p>Data filters for the integration. These filters determine which tables
12373+
* from the source database are sent to the target Amazon Redshift data warehouse.
12374+
* </p>
12375+
* @public
12376+
*/
12377+
DataFilter?: string;
12378+
12379+
/**
12380+
* <p>A description of the integration.</p>
12381+
* @public
12382+
*/
12383+
Description?: string;
1235512384
}
1235612385

1235712386
/**

clients/client-rds/src/models/models_1.ts

+30
Original file line numberDiff line numberDiff line change
@@ -9981,6 +9981,36 @@ export interface ModifyGlobalClusterResult {
99819981
GlobalCluster?: GlobalCluster;
99829982
}
99839983

9984+
/**
9985+
* @public
9986+
*/
9987+
export interface ModifyIntegrationMessage {
9988+
/**
9989+
* <p>The unique identifier of the integration to modify.</p>
9990+
* @public
9991+
*/
9992+
IntegrationIdentifier: string | undefined;
9993+
9994+
/**
9995+
* <p>A new name for the integration.</p>
9996+
* @public
9997+
*/
9998+
IntegrationName?: string;
9999+
10000+
/**
10001+
* <p>A new data filter for the integration. For more information, see
10002+
* <a href="https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_Zero_ETL_Filtering.html">Data filtering for Aurora zero-ETL integrations with Amazon Redshift</a>.</p>
10003+
* @public
10004+
*/
10005+
DataFilter?: string;
10006+
10007+
/**
10008+
* <p>A new description for the integration.</p>
10009+
* @public
10010+
*/
10011+
Description?: string;
10012+
}
10013+
998410014
/**
998510015
* <p>A list of all available options</p>
998610016
* @public

0 commit comments

Comments
 (0)