diff --git a/clients/client-database-migration-service/README.md b/clients/client-database-migration-service/README.md index 5a77e12e958d..2518885bde25 100644 --- a/clients/client-database-migration-service/README.md +++ b/clients/client-database-migration-service/README.md @@ -271,6 +271,14 @@ CreateFleetAdvisorCollector [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-database-migration-service/classes/createfleetadvisorcollectorcommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-database-migration-service/interfaces/createfleetadvisorcollectorcommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-database-migration-service/interfaces/createfleetadvisorcollectorcommandoutput.html) + +
+ +CreateReplicationConfig + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-database-migration-service/classes/createreplicationconfigcommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-database-migration-service/interfaces/createreplicationconfigcommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-database-migration-service/interfaces/createreplicationconfigcommandoutput.html) +
@@ -343,6 +351,14 @@ DeleteFleetAdvisorDatabases [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-database-migration-service/classes/deletefleetadvisordatabasescommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-database-migration-service/interfaces/deletefleetadvisordatabasescommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-database-migration-service/interfaces/deletefleetadvisordatabasescommandoutput.html) +
+
+ +DeleteReplicationConfig + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-database-migration-service/classes/deletereplicationconfigcommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-database-migration-service/interfaces/deletereplicationconfigcommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-database-migration-service/interfaces/deletereplicationconfigcommandoutput.html) +
@@ -535,6 +551,14 @@ DescribeRefreshSchemasStatus [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-database-migration-service/classes/describerefreshschemasstatuscommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-database-migration-service/interfaces/describerefreshschemasstatuscommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-database-migration-service/interfaces/describerefreshschemasstatuscommandoutput.html) +
+
+ +DescribeReplicationConfigs + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-database-migration-service/classes/describereplicationconfigscommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-database-migration-service/interfaces/describereplicationconfigscommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-database-migration-service/interfaces/describereplicationconfigscommandoutput.html) +
@@ -551,6 +575,14 @@ DescribeReplicationInstanceTaskLogs [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-database-migration-service/classes/describereplicationinstancetasklogscommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-database-migration-service/interfaces/describereplicationinstancetasklogscommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-database-migration-service/interfaces/describereplicationinstancetasklogscommandoutput.html) +
+
+ +DescribeReplications + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-database-migration-service/classes/describereplicationscommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-database-migration-service/interfaces/describereplicationscommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-database-migration-service/interfaces/describereplicationscommandoutput.html) +
@@ -559,6 +591,14 @@ DescribeReplicationSubnetGroups [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-database-migration-service/classes/describereplicationsubnetgroupscommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-database-migration-service/interfaces/describereplicationsubnetgroupscommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-database-migration-service/interfaces/describereplicationsubnetgroupscommandoutput.html) +
+
+ +DescribeReplicationTableStatistics + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-database-migration-service/classes/describereplicationtablestatisticscommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-database-migration-service/interfaces/describereplicationtablestatisticscommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-database-migration-service/interfaces/describereplicationtablestatisticscommandoutput.html) +
@@ -639,6 +679,14 @@ ModifyEventSubscription [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-database-migration-service/classes/modifyeventsubscriptioncommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-database-migration-service/interfaces/modifyeventsubscriptioncommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-database-migration-service/interfaces/modifyeventsubscriptioncommandoutput.html) +
+
+ +ModifyReplicationConfig + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-database-migration-service/classes/modifyreplicationconfigcommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-database-migration-service/interfaces/modifyreplicationconfigcommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-database-migration-service/interfaces/modifyreplicationconfigcommandoutput.html) +
@@ -687,6 +735,14 @@ RefreshSchemas [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-database-migration-service/classes/refreshschemascommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-database-migration-service/interfaces/refreshschemascommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-database-migration-service/interfaces/refreshschemascommandoutput.html) +
+
+ +ReloadReplicationTables + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-database-migration-service/classes/reloadreplicationtablescommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-database-migration-service/interfaces/reloadreplicationtablescommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-database-migration-service/interfaces/reloadreplicationtablescommandoutput.html) +
@@ -719,6 +775,14 @@ StartRecommendations [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-database-migration-service/classes/startrecommendationscommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-database-migration-service/interfaces/startrecommendationscommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-database-migration-service/interfaces/startrecommendationscommandoutput.html) +
+
+ +StartReplication + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-database-migration-service/classes/startreplicationcommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-database-migration-service/interfaces/startreplicationcommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-database-migration-service/interfaces/startreplicationcommandoutput.html) +
@@ -743,6 +807,14 @@ StartReplicationTaskAssessmentRun [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-database-migration-service/classes/startreplicationtaskassessmentruncommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-database-migration-service/interfaces/startreplicationtaskassessmentruncommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-database-migration-service/interfaces/startreplicationtaskassessmentruncommandoutput.html) +
+
+ +StopReplication + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-database-migration-service/classes/stopreplicationcommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-database-migration-service/interfaces/stopreplicationcommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-database-migration-service/interfaces/stopreplicationcommandoutput.html) +
diff --git a/clients/client-database-migration-service/src/DatabaseMigrationService.ts b/clients/client-database-migration-service/src/DatabaseMigrationService.ts index 7ea2bb5eaa92..a1e29be29274 100644 --- a/clients/client-database-migration-service/src/DatabaseMigrationService.ts +++ b/clients/client-database-migration-service/src/DatabaseMigrationService.ts @@ -37,6 +37,11 @@ import { CreateFleetAdvisorCollectorCommandInput, CreateFleetAdvisorCollectorCommandOutput, } from "./commands/CreateFleetAdvisorCollectorCommand"; +import { + CreateReplicationConfigCommand, + CreateReplicationConfigCommandInput, + CreateReplicationConfigCommandOutput, +} from "./commands/CreateReplicationConfigCommand"; import { CreateReplicationInstanceCommand, CreateReplicationInstanceCommandInput, @@ -82,6 +87,11 @@ import { DeleteFleetAdvisorDatabasesCommandInput, DeleteFleetAdvisorDatabasesCommandOutput, } from "./commands/DeleteFleetAdvisorDatabasesCommand"; +import { + DeleteReplicationConfigCommand, + DeleteReplicationConfigCommandInput, + DeleteReplicationConfigCommandOutput, +} from "./commands/DeleteReplicationConfigCommand"; import { DeleteReplicationInstanceCommand, DeleteReplicationInstanceCommandInput, @@ -202,6 +212,11 @@ import { DescribeRefreshSchemasStatusCommandInput, DescribeRefreshSchemasStatusCommandOutput, } from "./commands/DescribeRefreshSchemasStatusCommand"; +import { + DescribeReplicationConfigsCommand, + DescribeReplicationConfigsCommandInput, + DescribeReplicationConfigsCommandOutput, +} from "./commands/DescribeReplicationConfigsCommand"; import { DescribeReplicationInstancesCommand, DescribeReplicationInstancesCommandInput, @@ -212,11 +227,21 @@ import { DescribeReplicationInstanceTaskLogsCommandInput, DescribeReplicationInstanceTaskLogsCommandOutput, } from "./commands/DescribeReplicationInstanceTaskLogsCommand"; +import { + DescribeReplicationsCommand, + DescribeReplicationsCommandInput, + DescribeReplicationsCommandOutput, +} from "./commands/DescribeReplicationsCommand"; import { DescribeReplicationSubnetGroupsCommand, DescribeReplicationSubnetGroupsCommandInput, DescribeReplicationSubnetGroupsCommandOutput, } from "./commands/DescribeReplicationSubnetGroupsCommand"; +import { + DescribeReplicationTableStatisticsCommand, + DescribeReplicationTableStatisticsCommandInput, + DescribeReplicationTableStatisticsCommandOutput, +} from "./commands/DescribeReplicationTableStatisticsCommand"; import { DescribeReplicationTaskAssessmentResultsCommand, DescribeReplicationTaskAssessmentResultsCommandInput, @@ -267,6 +292,11 @@ import { ModifyEventSubscriptionCommandInput, ModifyEventSubscriptionCommandOutput, } from "./commands/ModifyEventSubscriptionCommand"; +import { + ModifyReplicationConfigCommand, + ModifyReplicationConfigCommandInput, + ModifyReplicationConfigCommandOutput, +} from "./commands/ModifyReplicationConfigCommand"; import { ModifyReplicationInstanceCommand, ModifyReplicationInstanceCommandInput, @@ -297,6 +327,11 @@ import { RefreshSchemasCommandInput, RefreshSchemasCommandOutput, } from "./commands/RefreshSchemasCommand"; +import { + ReloadReplicationTablesCommand, + ReloadReplicationTablesCommandInput, + ReloadReplicationTablesCommandOutput, +} from "./commands/ReloadReplicationTablesCommand"; import { ReloadTablesCommand, ReloadTablesCommandInput, @@ -317,6 +352,11 @@ import { StartRecommendationsCommandInput, StartRecommendationsCommandOutput, } from "./commands/StartRecommendationsCommand"; +import { + StartReplicationCommand, + StartReplicationCommandInput, + StartReplicationCommandOutput, +} from "./commands/StartReplicationCommand"; import { StartReplicationTaskAssessmentCommand, StartReplicationTaskAssessmentCommandInput, @@ -332,6 +372,11 @@ import { StartReplicationTaskCommandInput, StartReplicationTaskCommandOutput, } from "./commands/StartReplicationTaskCommand"; +import { + StopReplicationCommand, + StopReplicationCommandInput, + StopReplicationCommandOutput, +} from "./commands/StopReplicationCommand"; import { StopReplicationTaskCommand, StopReplicationTaskCommandInput, @@ -357,6 +402,7 @@ const commands = { CreateEndpointCommand, CreateEventSubscriptionCommand, CreateFleetAdvisorCollectorCommand, + CreateReplicationConfigCommand, CreateReplicationInstanceCommand, CreateReplicationSubnetGroupCommand, CreateReplicationTaskCommand, @@ -366,6 +412,7 @@ const commands = { DeleteEventSubscriptionCommand, DeleteFleetAdvisorCollectorCommand, DeleteFleetAdvisorDatabasesCommand, + DeleteReplicationConfigCommand, DeleteReplicationInstanceCommand, DeleteReplicationSubnetGroupCommand, DeleteReplicationTaskCommand, @@ -390,9 +437,12 @@ const commands = { DescribeRecommendationLimitationsCommand, DescribeRecommendationsCommand, DescribeRefreshSchemasStatusCommand, + DescribeReplicationConfigsCommand, DescribeReplicationInstancesCommand, DescribeReplicationInstanceTaskLogsCommand, + DescribeReplicationsCommand, DescribeReplicationSubnetGroupsCommand, + DescribeReplicationTableStatisticsCommand, DescribeReplicationTaskAssessmentResultsCommand, DescribeReplicationTaskAssessmentRunsCommand, DescribeReplicationTaskIndividualAssessmentsCommand, @@ -403,19 +453,23 @@ const commands = { ListTagsForResourceCommand, ModifyEndpointCommand, ModifyEventSubscriptionCommand, + ModifyReplicationConfigCommand, ModifyReplicationInstanceCommand, ModifyReplicationSubnetGroupCommand, ModifyReplicationTaskCommand, MoveReplicationTaskCommand, RebootReplicationInstanceCommand, RefreshSchemasCommand, + ReloadReplicationTablesCommand, ReloadTablesCommand, RemoveTagsFromResourceCommand, RunFleetAdvisorLsaAnalysisCommand, StartRecommendationsCommand, + StartReplicationCommand, StartReplicationTaskCommand, StartReplicationTaskAssessmentCommand, StartReplicationTaskAssessmentRunCommand, + StopReplicationCommand, StopReplicationTaskCommand, TestConnectionCommand, UpdateSubscriptionsToEventBridgeCommand, @@ -538,6 +592,23 @@ export interface DatabaseMigrationService { cb: (err: any, data?: CreateFleetAdvisorCollectorCommandOutput) => void ): void; + /** + * @see {@link CreateReplicationConfigCommand} + */ + createReplicationConfig( + args: CreateReplicationConfigCommandInput, + options?: __HttpHandlerOptions + ): Promise; + createReplicationConfig( + args: CreateReplicationConfigCommandInput, + cb: (err: any, data?: CreateReplicationConfigCommandOutput) => void + ): void; + createReplicationConfig( + args: CreateReplicationConfigCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateReplicationConfigCommandOutput) => void + ): void; + /** * @see {@link CreateReplicationInstanceCommand} */ @@ -688,6 +759,23 @@ export interface DatabaseMigrationService { cb: (err: any, data?: DeleteFleetAdvisorDatabasesCommandOutput) => void ): void; + /** + * @see {@link DeleteReplicationConfigCommand} + */ + deleteReplicationConfig( + args: DeleteReplicationConfigCommandInput, + options?: __HttpHandlerOptions + ): Promise; + deleteReplicationConfig( + args: DeleteReplicationConfigCommandInput, + cb: (err: any, data?: DeleteReplicationConfigCommandOutput) => void + ): void; + deleteReplicationConfig( + args: DeleteReplicationConfigCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteReplicationConfigCommandOutput) => void + ): void; + /** * @see {@link DeleteReplicationInstanceCommand} */ @@ -1093,6 +1181,23 @@ export interface DatabaseMigrationService { cb: (err: any, data?: DescribeRefreshSchemasStatusCommandOutput) => void ): void; + /** + * @see {@link DescribeReplicationConfigsCommand} + */ + describeReplicationConfigs( + args: DescribeReplicationConfigsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + describeReplicationConfigs( + args: DescribeReplicationConfigsCommandInput, + cb: (err: any, data?: DescribeReplicationConfigsCommandOutput) => void + ): void; + describeReplicationConfigs( + args: DescribeReplicationConfigsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeReplicationConfigsCommandOutput) => void + ): void; + /** * @see {@link DescribeReplicationInstancesCommand} */ @@ -1127,6 +1232,23 @@ export interface DatabaseMigrationService { cb: (err: any, data?: DescribeReplicationInstanceTaskLogsCommandOutput) => void ): void; + /** + * @see {@link DescribeReplicationsCommand} + */ + describeReplications( + args: DescribeReplicationsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + describeReplications( + args: DescribeReplicationsCommandInput, + cb: (err: any, data?: DescribeReplicationsCommandOutput) => void + ): void; + describeReplications( + args: DescribeReplicationsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeReplicationsCommandOutput) => void + ): void; + /** * @see {@link DescribeReplicationSubnetGroupsCommand} */ @@ -1144,6 +1266,23 @@ export interface DatabaseMigrationService { cb: (err: any, data?: DescribeReplicationSubnetGroupsCommandOutput) => void ): void; + /** + * @see {@link DescribeReplicationTableStatisticsCommand} + */ + describeReplicationTableStatistics( + args: DescribeReplicationTableStatisticsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + describeReplicationTableStatistics( + args: DescribeReplicationTableStatisticsCommandInput, + cb: (err: any, data?: DescribeReplicationTableStatisticsCommandOutput) => void + ): void; + describeReplicationTableStatistics( + args: DescribeReplicationTableStatisticsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeReplicationTableStatisticsCommandOutput) => void + ): void; + /** * @see {@link DescribeReplicationTaskAssessmentResultsCommand} */ @@ -1308,6 +1447,23 @@ export interface DatabaseMigrationService { cb: (err: any, data?: ModifyEventSubscriptionCommandOutput) => void ): void; + /** + * @see {@link ModifyReplicationConfigCommand} + */ + modifyReplicationConfig( + args: ModifyReplicationConfigCommandInput, + options?: __HttpHandlerOptions + ): Promise; + modifyReplicationConfig( + args: ModifyReplicationConfigCommandInput, + cb: (err: any, data?: ModifyReplicationConfigCommandOutput) => void + ): void; + modifyReplicationConfig( + args: ModifyReplicationConfigCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ModifyReplicationConfigCommandOutput) => void + ): void; + /** * @see {@link ModifyReplicationInstanceCommand} */ @@ -1407,6 +1563,23 @@ export interface DatabaseMigrationService { cb: (err: any, data?: RefreshSchemasCommandOutput) => void ): void; + /** + * @see {@link ReloadReplicationTablesCommand} + */ + reloadReplicationTables( + args: ReloadReplicationTablesCommandInput, + options?: __HttpHandlerOptions + ): Promise; + reloadReplicationTables( + args: ReloadReplicationTablesCommandInput, + cb: (err: any, data?: ReloadReplicationTablesCommandOutput) => void + ): void; + reloadReplicationTables( + args: ReloadReplicationTablesCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ReloadReplicationTablesCommandOutput) => void + ): void; + /** * @see {@link ReloadTablesCommand} */ @@ -1469,6 +1642,23 @@ export interface DatabaseMigrationService { cb: (err: any, data?: StartRecommendationsCommandOutput) => void ): void; + /** + * @see {@link StartReplicationCommand} + */ + startReplication( + args: StartReplicationCommandInput, + options?: __HttpHandlerOptions + ): Promise; + startReplication( + args: StartReplicationCommandInput, + cb: (err: any, data?: StartReplicationCommandOutput) => void + ): void; + startReplication( + args: StartReplicationCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: StartReplicationCommandOutput) => void + ): void; + /** * @see {@link StartReplicationTaskCommand} */ @@ -1520,6 +1710,20 @@ export interface DatabaseMigrationService { cb: (err: any, data?: StartReplicationTaskAssessmentRunCommandOutput) => void ): void; + /** + * @see {@link StopReplicationCommand} + */ + stopReplication( + args: StopReplicationCommandInput, + options?: __HttpHandlerOptions + ): Promise; + stopReplication(args: StopReplicationCommandInput, cb: (err: any, data?: StopReplicationCommandOutput) => void): void; + stopReplication( + args: StopReplicationCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: StopReplicationCommandOutput) => void + ): void; + /** * @see {@link StopReplicationTaskCommand} */ diff --git a/clients/client-database-migration-service/src/DatabaseMigrationServiceClient.ts b/clients/client-database-migration-service/src/DatabaseMigrationServiceClient.ts index fbb31ea9658d..2270daae6d74 100644 --- a/clients/client-database-migration-service/src/DatabaseMigrationServiceClient.ts +++ b/clients/client-database-migration-service/src/DatabaseMigrationServiceClient.ts @@ -71,6 +71,10 @@ import { CreateFleetAdvisorCollectorCommandInput, CreateFleetAdvisorCollectorCommandOutput, } from "./commands/CreateFleetAdvisorCollectorCommand"; +import { + CreateReplicationConfigCommandInput, + CreateReplicationConfigCommandOutput, +} from "./commands/CreateReplicationConfigCommand"; import { CreateReplicationInstanceCommandInput, CreateReplicationInstanceCommandOutput, @@ -98,6 +102,10 @@ import { DeleteFleetAdvisorDatabasesCommandInput, DeleteFleetAdvisorDatabasesCommandOutput, } from "./commands/DeleteFleetAdvisorDatabasesCommand"; +import { + DeleteReplicationConfigCommandInput, + DeleteReplicationConfigCommandOutput, +} from "./commands/DeleteReplicationConfigCommand"; import { DeleteReplicationInstanceCommandInput, DeleteReplicationInstanceCommandOutput, @@ -188,6 +196,10 @@ import { DescribeRefreshSchemasStatusCommandInput, DescribeRefreshSchemasStatusCommandOutput, } from "./commands/DescribeRefreshSchemasStatusCommand"; +import { + DescribeReplicationConfigsCommandInput, + DescribeReplicationConfigsCommandOutput, +} from "./commands/DescribeReplicationConfigsCommand"; import { DescribeReplicationInstancesCommandInput, DescribeReplicationInstancesCommandOutput, @@ -196,10 +208,18 @@ import { DescribeReplicationInstanceTaskLogsCommandInput, DescribeReplicationInstanceTaskLogsCommandOutput, } from "./commands/DescribeReplicationInstanceTaskLogsCommand"; +import { + DescribeReplicationsCommandInput, + DescribeReplicationsCommandOutput, +} from "./commands/DescribeReplicationsCommand"; import { DescribeReplicationSubnetGroupsCommandInput, DescribeReplicationSubnetGroupsCommandOutput, } from "./commands/DescribeReplicationSubnetGroupsCommand"; +import { + DescribeReplicationTableStatisticsCommandInput, + DescribeReplicationTableStatisticsCommandOutput, +} from "./commands/DescribeReplicationTableStatisticsCommand"; import { DescribeReplicationTaskAssessmentResultsCommandInput, DescribeReplicationTaskAssessmentResultsCommandOutput, @@ -231,6 +251,10 @@ import { ModifyEventSubscriptionCommandInput, ModifyEventSubscriptionCommandOutput, } from "./commands/ModifyEventSubscriptionCommand"; +import { + ModifyReplicationConfigCommandInput, + ModifyReplicationConfigCommandOutput, +} from "./commands/ModifyReplicationConfigCommand"; import { ModifyReplicationInstanceCommandInput, ModifyReplicationInstanceCommandOutput, @@ -252,6 +276,10 @@ import { RebootReplicationInstanceCommandOutput, } from "./commands/RebootReplicationInstanceCommand"; import { RefreshSchemasCommandInput, RefreshSchemasCommandOutput } from "./commands/RefreshSchemasCommand"; +import { + ReloadReplicationTablesCommandInput, + ReloadReplicationTablesCommandOutput, +} from "./commands/ReloadReplicationTablesCommand"; import { ReloadTablesCommandInput, ReloadTablesCommandOutput } from "./commands/ReloadTablesCommand"; import { RemoveTagsFromResourceCommandInput, @@ -265,6 +293,7 @@ import { StartRecommendationsCommandInput, StartRecommendationsCommandOutput, } from "./commands/StartRecommendationsCommand"; +import { StartReplicationCommandInput, StartReplicationCommandOutput } from "./commands/StartReplicationCommand"; import { StartReplicationTaskAssessmentCommandInput, StartReplicationTaskAssessmentCommandOutput, @@ -277,6 +306,7 @@ import { StartReplicationTaskCommandInput, StartReplicationTaskCommandOutput, } from "./commands/StartReplicationTaskCommand"; +import { StopReplicationCommandInput, StopReplicationCommandOutput } from "./commands/StopReplicationCommand"; import { StopReplicationTaskCommandInput, StopReplicationTaskCommandOutput, @@ -307,6 +337,7 @@ export type ServiceInputTypes = | CreateEndpointCommandInput | CreateEventSubscriptionCommandInput | CreateFleetAdvisorCollectorCommandInput + | CreateReplicationConfigCommandInput | CreateReplicationInstanceCommandInput | CreateReplicationSubnetGroupCommandInput | CreateReplicationTaskCommandInput @@ -316,6 +347,7 @@ export type ServiceInputTypes = | DeleteEventSubscriptionCommandInput | DeleteFleetAdvisorCollectorCommandInput | DeleteFleetAdvisorDatabasesCommandInput + | DeleteReplicationConfigCommandInput | DeleteReplicationInstanceCommandInput | DeleteReplicationSubnetGroupCommandInput | DeleteReplicationTaskAssessmentRunCommandInput @@ -340,32 +372,39 @@ export type ServiceInputTypes = | DescribeRecommendationLimitationsCommandInput | DescribeRecommendationsCommandInput | DescribeRefreshSchemasStatusCommandInput + | DescribeReplicationConfigsCommandInput | DescribeReplicationInstanceTaskLogsCommandInput | DescribeReplicationInstancesCommandInput | DescribeReplicationSubnetGroupsCommandInput + | DescribeReplicationTableStatisticsCommandInput | DescribeReplicationTaskAssessmentResultsCommandInput | DescribeReplicationTaskAssessmentRunsCommandInput | DescribeReplicationTaskIndividualAssessmentsCommandInput | DescribeReplicationTasksCommandInput + | DescribeReplicationsCommandInput | DescribeSchemasCommandInput | DescribeTableStatisticsCommandInput | ImportCertificateCommandInput | ListTagsForResourceCommandInput | ModifyEndpointCommandInput | ModifyEventSubscriptionCommandInput + | ModifyReplicationConfigCommandInput | ModifyReplicationInstanceCommandInput | ModifyReplicationSubnetGroupCommandInput | ModifyReplicationTaskCommandInput | MoveReplicationTaskCommandInput | RebootReplicationInstanceCommandInput | RefreshSchemasCommandInput + | ReloadReplicationTablesCommandInput | ReloadTablesCommandInput | RemoveTagsFromResourceCommandInput | RunFleetAdvisorLsaAnalysisCommandInput | StartRecommendationsCommandInput + | StartReplicationCommandInput | StartReplicationTaskAssessmentCommandInput | StartReplicationTaskAssessmentRunCommandInput | StartReplicationTaskCommandInput + | StopReplicationCommandInput | StopReplicationTaskCommandInput | TestConnectionCommandInput | UpdateSubscriptionsToEventBridgeCommandInput; @@ -381,6 +420,7 @@ export type ServiceOutputTypes = | CreateEndpointCommandOutput | CreateEventSubscriptionCommandOutput | CreateFleetAdvisorCollectorCommandOutput + | CreateReplicationConfigCommandOutput | CreateReplicationInstanceCommandOutput | CreateReplicationSubnetGroupCommandOutput | CreateReplicationTaskCommandOutput @@ -390,6 +430,7 @@ export type ServiceOutputTypes = | DeleteEventSubscriptionCommandOutput | DeleteFleetAdvisorCollectorCommandOutput | DeleteFleetAdvisorDatabasesCommandOutput + | DeleteReplicationConfigCommandOutput | DeleteReplicationInstanceCommandOutput | DeleteReplicationSubnetGroupCommandOutput | DeleteReplicationTaskAssessmentRunCommandOutput @@ -414,32 +455,39 @@ export type ServiceOutputTypes = | DescribeRecommendationLimitationsCommandOutput | DescribeRecommendationsCommandOutput | DescribeRefreshSchemasStatusCommandOutput + | DescribeReplicationConfigsCommandOutput | DescribeReplicationInstanceTaskLogsCommandOutput | DescribeReplicationInstancesCommandOutput | DescribeReplicationSubnetGroupsCommandOutput + | DescribeReplicationTableStatisticsCommandOutput | DescribeReplicationTaskAssessmentResultsCommandOutput | DescribeReplicationTaskAssessmentRunsCommandOutput | DescribeReplicationTaskIndividualAssessmentsCommandOutput | DescribeReplicationTasksCommandOutput + | DescribeReplicationsCommandOutput | DescribeSchemasCommandOutput | DescribeTableStatisticsCommandOutput | ImportCertificateCommandOutput | ListTagsForResourceCommandOutput | ModifyEndpointCommandOutput | ModifyEventSubscriptionCommandOutput + | ModifyReplicationConfigCommandOutput | ModifyReplicationInstanceCommandOutput | ModifyReplicationSubnetGroupCommandOutput | ModifyReplicationTaskCommandOutput | MoveReplicationTaskCommandOutput | RebootReplicationInstanceCommandOutput | RefreshSchemasCommandOutput + | ReloadReplicationTablesCommandOutput | ReloadTablesCommandOutput | RemoveTagsFromResourceCommandOutput | RunFleetAdvisorLsaAnalysisCommandOutput | StartRecommendationsCommandOutput + | StartReplicationCommandOutput | StartReplicationTaskAssessmentCommandOutput | StartReplicationTaskAssessmentRunCommandOutput | StartReplicationTaskCommandOutput + | StopReplicationCommandOutput | StopReplicationTaskCommandOutput | TestConnectionCommandOutput | UpdateSubscriptionsToEventBridgeCommandOutput; diff --git a/clients/client-database-migration-service/src/commands/CreateEndpointCommand.ts b/clients/client-database-migration-service/src/commands/CreateEndpointCommand.ts index 32d0dc905f9d..a582d4dd9715 100644 --- a/clients/client-database-migration-service/src/commands/CreateEndpointCommand.ts +++ b/clients/client-database-migration-service/src/commands/CreateEndpointCommand.ts @@ -146,6 +146,8 @@ export interface CreateEndpointCommandOutput extends CreateEndpointResponse, __M * KmsKeyId: "STRING_VALUE", * SecretsManagerAccessRoleArn: "STRING_VALUE", * SecretsManagerSecretId: "STRING_VALUE", + * UseUpdateLookUp: true || false, + * ReplicateShardCollections: true || false, * }, * KinesisSettings: { // KinesisSettings * StreamArn: "STRING_VALUE", @@ -179,6 +181,7 @@ export interface CreateEndpointCommandOutput extends CreateEndpointResponse, __M * SaslPassword: "STRING_VALUE", * NoHexPrefix: true || false, * SaslMechanism: "scram-sha-512" || "plain", + * SslEndpointIdentificationAlgorithm: "none" || "https", * }, * ElasticsearchSettings: { // ElasticsearchSettings * ServiceAccessRoleArn: "STRING_VALUE", // required @@ -250,6 +253,8 @@ export interface CreateEndpointCommandOutput extends CreateEndpointResponse, __M * SecretsManagerSecretId: "STRING_VALUE", * TrimSpaceInChar: true || false, * MapBooleanAsBoolean: true || false, + * MapJsonbAsClob: true || false, + * MapLongVarcharAs: "wstring" || "clob" || "nclob", * }, * MySQLSettings: { // MySQLSettings * AfterConnectScript: "STRING_VALUE", @@ -312,6 +317,7 @@ export interface CreateEndpointCommandOutput extends CreateEndpointResponse, __M * SecretsManagerOracleAsmSecretId: "STRING_VALUE", * TrimSpaceInChar: true || false, * ConvertTimestampWithZoneToUTC: true || false, + * OpenTransactionWindow: Number("int"), * }, * SybaseSettings: { // SybaseSettings * DatabaseName: "STRING_VALUE", @@ -366,6 +372,8 @@ export interface CreateEndpointCommandOutput extends CreateEndpointResponse, __M * KmsKeyId: "STRING_VALUE", * SecretsManagerAccessRoleArn: "STRING_VALUE", * SecretsManagerSecretId: "STRING_VALUE", + * UseUpdateLookUp: true || false, + * ReplicateShardCollections: true || false, * }, * RedisSettings: { // RedisSettings * ServerName: "STRING_VALUE", // required @@ -392,6 +400,13 @@ export interface CreateEndpointCommandOutput extends CreateEndpointResponse, __M * SecretsManagerAccessRoleArn: "STRING_VALUE", * SecretsManagerSecretId: "STRING_VALUE", * }, + * TimestreamSettings: { // TimestreamSettings + * DatabaseName: "STRING_VALUE", // required + * MemoryDuration: Number("int"), // required + * MagneticDuration: Number("int"), // required + * CdcInsertsAndUpdates: true || false, + * EnableMagneticStoreWrites: true || false, + * }, * }; * const command = new CreateEndpointCommand(input); * const response = await client.send(command); @@ -479,6 +494,8 @@ export interface CreateEndpointCommandOutput extends CreateEndpointResponse, __M * // KmsKeyId: "STRING_VALUE", * // SecretsManagerAccessRoleArn: "STRING_VALUE", * // SecretsManagerSecretId: "STRING_VALUE", + * // UseUpdateLookUp: true || false, + * // ReplicateShardCollections: true || false, * // }, * // KinesisSettings: { // KinesisSettings * // StreamArn: "STRING_VALUE", @@ -512,6 +529,7 @@ export interface CreateEndpointCommandOutput extends CreateEndpointResponse, __M * // SaslPassword: "STRING_VALUE", * // NoHexPrefix: true || false, * // SaslMechanism: "scram-sha-512" || "plain", + * // SslEndpointIdentificationAlgorithm: "none" || "https", * // }, * // ElasticsearchSettings: { // ElasticsearchSettings * // ServiceAccessRoleArn: "STRING_VALUE", // required @@ -583,6 +601,8 @@ export interface CreateEndpointCommandOutput extends CreateEndpointResponse, __M * // SecretsManagerSecretId: "STRING_VALUE", * // TrimSpaceInChar: true || false, * // MapBooleanAsBoolean: true || false, + * // MapJsonbAsClob: true || false, + * // MapLongVarcharAs: "wstring" || "clob" || "nclob", * // }, * // MySQLSettings: { // MySQLSettings * // AfterConnectScript: "STRING_VALUE", @@ -645,6 +665,7 @@ export interface CreateEndpointCommandOutput extends CreateEndpointResponse, __M * // SecretsManagerOracleAsmSecretId: "STRING_VALUE", * // TrimSpaceInChar: true || false, * // ConvertTimestampWithZoneToUTC: true || false, + * // OpenTransactionWindow: Number("int"), * // }, * // SybaseSettings: { // SybaseSettings * // DatabaseName: "STRING_VALUE", @@ -698,6 +719,8 @@ export interface CreateEndpointCommandOutput extends CreateEndpointResponse, __M * // KmsKeyId: "STRING_VALUE", * // SecretsManagerAccessRoleArn: "STRING_VALUE", * // SecretsManagerSecretId: "STRING_VALUE", + * // UseUpdateLookUp: true || false, + * // ReplicateShardCollections: true || false, * // }, * // RedisSettings: { // RedisSettings * // ServerName: "STRING_VALUE", // required @@ -724,6 +747,13 @@ export interface CreateEndpointCommandOutput extends CreateEndpointResponse, __M * // SecretsManagerAccessRoleArn: "STRING_VALUE", * // SecretsManagerSecretId: "STRING_VALUE", * // }, + * // TimestreamSettings: { // TimestreamSettings + * // DatabaseName: "STRING_VALUE", // required + * // MemoryDuration: Number("int"), // required + * // MagneticDuration: Number("int"), // required + * // CdcInsertsAndUpdates: true || false, + * // EnableMagneticStoreWrites: true || false, + * // }, * // }, * // }; * diff --git a/clients/client-database-migration-service/src/commands/CreateReplicationConfigCommand.ts b/clients/client-database-migration-service/src/commands/CreateReplicationConfigCommand.ts new file mode 100644 index 000000000000..300edeac9b78 --- /dev/null +++ b/clients/client-database-migration-service/src/commands/CreateReplicationConfigCommand.ts @@ -0,0 +1,224 @@ +// 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, +} from "@smithy/types"; + +import { + DatabaseMigrationServiceClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes, +} from "../DatabaseMigrationServiceClient"; +import { CreateReplicationConfigMessage, CreateReplicationConfigResponse } from "../models/models_0"; +import { de_CreateReplicationConfigCommand, se_CreateReplicationConfigCommand } from "../protocols/Aws_json1_1"; + +/** + * @public + */ +export { __MetadataBearer, $Command }; +/** + * @public + * + * The input for {@link CreateReplicationConfigCommand}. + */ +export interface CreateReplicationConfigCommandInput extends CreateReplicationConfigMessage {} +/** + * @public + * + * The output of {@link CreateReplicationConfigCommand}. + */ +export interface CreateReplicationConfigCommandOutput extends CreateReplicationConfigResponse, __MetadataBearer {} + +/** + * @public + *

Creates a configuration that you can later provide to configure and start an DMS Serverless + * replication. You can also provide options to validate the configuration inputs before you start the + * replication.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { DatabaseMigrationServiceClient, CreateReplicationConfigCommand } from "@aws-sdk/client-database-migration-service"; // ES Modules import + * // const { DatabaseMigrationServiceClient, CreateReplicationConfigCommand } = require("@aws-sdk/client-database-migration-service"); // CommonJS import + * const client = new DatabaseMigrationServiceClient(config); + * const input = { // CreateReplicationConfigMessage + * ReplicationConfigIdentifier: "STRING_VALUE", // required + * SourceEndpointArn: "STRING_VALUE", // required + * TargetEndpointArn: "STRING_VALUE", // required + * ComputeConfig: { // ComputeConfig + * AvailabilityZone: "STRING_VALUE", + * DnsNameServers: "STRING_VALUE", + * KmsKeyId: "STRING_VALUE", + * MaxCapacityUnits: Number("int"), + * MinCapacityUnits: Number("int"), + * MultiAZ: true || false, + * PreferredMaintenanceWindow: "STRING_VALUE", + * ReplicationSubnetGroupId: "STRING_VALUE", + * VpcSecurityGroupIds: [ // StringList + * "STRING_VALUE", + * ], + * }, + * ReplicationType: "full-load" || "cdc" || "full-load-and-cdc", // required + * TableMappings: "STRING_VALUE", // required + * ReplicationSettings: "STRING_VALUE", + * SupplementalSettings: "STRING_VALUE", + * ResourceIdentifier: "STRING_VALUE", + * Tags: [ // TagList + * { // Tag + * Key: "STRING_VALUE", + * Value: "STRING_VALUE", + * ResourceArn: "STRING_VALUE", + * }, + * ], + * }; + * const command = new CreateReplicationConfigCommand(input); + * const response = await client.send(command); + * // { // CreateReplicationConfigResponse + * // ReplicationConfig: { // ReplicationConfig + * // ReplicationConfigIdentifier: "STRING_VALUE", + * // ReplicationConfigArn: "STRING_VALUE", + * // SourceEndpointArn: "STRING_VALUE", + * // TargetEndpointArn: "STRING_VALUE", + * // ReplicationType: "full-load" || "cdc" || "full-load-and-cdc", + * // ComputeConfig: { // ComputeConfig + * // AvailabilityZone: "STRING_VALUE", + * // DnsNameServers: "STRING_VALUE", + * // KmsKeyId: "STRING_VALUE", + * // MaxCapacityUnits: Number("int"), + * // MinCapacityUnits: Number("int"), + * // MultiAZ: true || false, + * // PreferredMaintenanceWindow: "STRING_VALUE", + * // ReplicationSubnetGroupId: "STRING_VALUE", + * // VpcSecurityGroupIds: [ // StringList + * // "STRING_VALUE", + * // ], + * // }, + * // ReplicationSettings: "STRING_VALUE", + * // SupplementalSettings: "STRING_VALUE", + * // TableMappings: "STRING_VALUE", + * // ReplicationConfigCreateTime: new Date("TIMESTAMP"), + * // ReplicationConfigUpdateTime: new Date("TIMESTAMP"), + * // }, + * // }; + * + * ``` + * + * @param CreateReplicationConfigCommandInput - {@link CreateReplicationConfigCommandInput} + * @returns {@link CreateReplicationConfigCommandOutput} + * @see {@link CreateReplicationConfigCommandInput} for command's `input` shape. + * @see {@link CreateReplicationConfigCommandOutput} for command's `response` shape. + * @see {@link DatabaseMigrationServiceClientResolvedConfig | config} for DatabaseMigrationServiceClient's `config` shape. + * + * @throws {@link AccessDeniedFault} (client fault) + *

DMS was denied access to the endpoint. Check that the + * role is correctly configured.

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

The resource is in a state that prevents it from being used for database migration.

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

The subnet provided isn't valid.

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

DMS cannot access the KMS key.

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

The replication subnet group does not cover enough Availability Zones (AZs). Edit the replication subnet group and add more AZs.

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

The resource you are attempting to create already exists.

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

The resource could not be found.

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

The quota for this resource quota has been exceeded.

+ * + * @throws {@link DatabaseMigrationServiceServiceException} + *

Base exception class for all service exceptions from DatabaseMigrationService service.

+ * + */ +export class CreateReplicationConfigCommand extends $Command< + CreateReplicationConfigCommandInput, + CreateReplicationConfigCommandOutput, + DatabaseMigrationServiceClientResolvedConfig +> { + // 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: CreateReplicationConfigCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: DatabaseMigrationServiceClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use( + getEndpointPlugin(configuration, CreateReplicationConfigCommand.getEndpointParameterInstructions()) + ); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "DatabaseMigrationServiceClient"; + const commandName = "CreateReplicationConfigCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_: any) => _, + outputFilterSensitiveLog: (_: any) => _, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + /** + * @internal + */ + private serialize(input: CreateReplicationConfigCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return se_CreateReplicationConfigCommand(input, context); + } + + /** + * @internal + */ + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return de_CreateReplicationConfigCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-database-migration-service/src/commands/CreateReplicationInstanceCommand.ts b/clients/client-database-migration-service/src/commands/CreateReplicationInstanceCommand.ts index 4472dfe55e22..c6b1284a0b29 100644 --- a/clients/client-database-migration-service/src/commands/CreateReplicationInstanceCommand.ts +++ b/clients/client-database-migration-service/src/commands/CreateReplicationInstanceCommand.ts @@ -163,7 +163,7 @@ export interface CreateReplicationInstanceCommandOutput extends CreateReplicatio *

The resource is in a state that prevents it from being used for database migration.

* * @throws {@link InvalidSubnet} (client fault) - *

The subnet provided is invalid.

+ *

The subnet provided isn't valid.

* * @throws {@link KMSKeyNotAccessibleFault} (client fault) *

DMS cannot access the KMS key.

diff --git a/clients/client-database-migration-service/src/commands/CreateReplicationSubnetGroupCommand.ts b/clients/client-database-migration-service/src/commands/CreateReplicationSubnetGroupCommand.ts index b31ee63bdf48..abca9e86e0d3 100644 --- a/clients/client-database-migration-service/src/commands/CreateReplicationSubnetGroupCommand.ts +++ b/clients/client-database-migration-service/src/commands/CreateReplicationSubnetGroupCommand.ts @@ -48,6 +48,10 @@ export interface CreateReplicationSubnetGroupCommandOutput *

Creates a replication subnet group given a list of the subnet IDs in a VPC.

*

The VPC needs to have at least one subnet in at least two availability zones in the Amazon Web Services Region, otherwise the * service will throw a ReplicationSubnetGroupDoesNotCoverEnoughAZs exception.

+ *

If a replication subnet group exists in your Amazon Web Services account, the CreateReplicationSubnetGroup action + * returns the following error message: The Replication Subnet Group already exists. In this case, delete + * the existing replication subnet group. To do so, use the DeleteReplicationSubnetGroup action. Optionally, choose Subnet groups in the DMS console, + * then choose your subnet group. Next, choose Delete from Actions.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript @@ -104,7 +108,7 @@ export interface CreateReplicationSubnetGroupCommandOutput * role is correctly configured.

* * @throws {@link InvalidSubnet} (client fault) - *

The subnet provided is invalid.

+ *

The subnet provided isn't valid.

* * @throws {@link ReplicationSubnetGroupDoesNotCoverEnoughAZs} (client fault) *

The replication subnet group does not cover enough Availability Zones (AZs). Edit the replication subnet group and add more AZs.

diff --git a/clients/client-database-migration-service/src/commands/DeleteEndpointCommand.ts b/clients/client-database-migration-service/src/commands/DeleteEndpointCommand.ts index 0eebf75e220b..d8c429d33f2b 100644 --- a/clients/client-database-migration-service/src/commands/DeleteEndpointCommand.ts +++ b/clients/client-database-migration-service/src/commands/DeleteEndpointCommand.ts @@ -145,6 +145,8 @@ export interface DeleteEndpointCommandOutput extends DeleteEndpointResponse, __M * // KmsKeyId: "STRING_VALUE", * // SecretsManagerAccessRoleArn: "STRING_VALUE", * // SecretsManagerSecretId: "STRING_VALUE", + * // UseUpdateLookUp: true || false, + * // ReplicateShardCollections: true || false, * // }, * // KinesisSettings: { // KinesisSettings * // StreamArn: "STRING_VALUE", @@ -178,6 +180,7 @@ export interface DeleteEndpointCommandOutput extends DeleteEndpointResponse, __M * // SaslPassword: "STRING_VALUE", * // NoHexPrefix: true || false, * // SaslMechanism: "scram-sha-512" || "plain", + * // SslEndpointIdentificationAlgorithm: "none" || "https", * // }, * // ElasticsearchSettings: { // ElasticsearchSettings * // ServiceAccessRoleArn: "STRING_VALUE", // required @@ -249,6 +252,8 @@ export interface DeleteEndpointCommandOutput extends DeleteEndpointResponse, __M * // SecretsManagerSecretId: "STRING_VALUE", * // TrimSpaceInChar: true || false, * // MapBooleanAsBoolean: true || false, + * // MapJsonbAsClob: true || false, + * // MapLongVarcharAs: "wstring" || "clob" || "nclob", * // }, * // MySQLSettings: { // MySQLSettings * // AfterConnectScript: "STRING_VALUE", @@ -311,6 +316,7 @@ export interface DeleteEndpointCommandOutput extends DeleteEndpointResponse, __M * // SecretsManagerOracleAsmSecretId: "STRING_VALUE", * // TrimSpaceInChar: true || false, * // ConvertTimestampWithZoneToUTC: true || false, + * // OpenTransactionWindow: Number("int"), * // }, * // SybaseSettings: { // SybaseSettings * // DatabaseName: "STRING_VALUE", @@ -364,6 +370,8 @@ export interface DeleteEndpointCommandOutput extends DeleteEndpointResponse, __M * // KmsKeyId: "STRING_VALUE", * // SecretsManagerAccessRoleArn: "STRING_VALUE", * // SecretsManagerSecretId: "STRING_VALUE", + * // UseUpdateLookUp: true || false, + * // ReplicateShardCollections: true || false, * // }, * // RedisSettings: { // RedisSettings * // ServerName: "STRING_VALUE", // required @@ -390,6 +398,13 @@ export interface DeleteEndpointCommandOutput extends DeleteEndpointResponse, __M * // SecretsManagerAccessRoleArn: "STRING_VALUE", * // SecretsManagerSecretId: "STRING_VALUE", * // }, + * // TimestreamSettings: { // TimestreamSettings + * // DatabaseName: "STRING_VALUE", // required + * // MemoryDuration: Number("int"), // required + * // MagneticDuration: Number("int"), // required + * // CdcInsertsAndUpdates: true || false, + * // EnableMagneticStoreWrites: true || false, + * // }, * // }, * // }; * diff --git a/clients/client-database-migration-service/src/commands/DeleteReplicationConfigCommand.ts b/clients/client-database-migration-service/src/commands/DeleteReplicationConfigCommand.ts new file mode 100644 index 000000000000..8869d4206981 --- /dev/null +++ b/clients/client-database-migration-service/src/commands/DeleteReplicationConfigCommand.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, +} from "@smithy/types"; + +import { + DatabaseMigrationServiceClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes, +} from "../DatabaseMigrationServiceClient"; +import { DeleteReplicationConfigMessage, DeleteReplicationConfigResponse } from "../models/models_0"; +import { de_DeleteReplicationConfigCommand, se_DeleteReplicationConfigCommand } from "../protocols/Aws_json1_1"; + +/** + * @public + */ +export { __MetadataBearer, $Command }; +/** + * @public + * + * The input for {@link DeleteReplicationConfigCommand}. + */ +export interface DeleteReplicationConfigCommandInput extends DeleteReplicationConfigMessage {} +/** + * @public + * + * The output of {@link DeleteReplicationConfigCommand}. + */ +export interface DeleteReplicationConfigCommandOutput extends DeleteReplicationConfigResponse, __MetadataBearer {} + +/** + * @public + *

Deletes an DMS Serverless replication configuration. This effectively deprovisions any and all + * replications that use this configuration. You can't delete the configuration for an DMS Serverless replication + * that is ongoing. You can delete the configuration when the replication is in a non-RUNNING and non-STARTING state.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { DatabaseMigrationServiceClient, DeleteReplicationConfigCommand } from "@aws-sdk/client-database-migration-service"; // ES Modules import + * // const { DatabaseMigrationServiceClient, DeleteReplicationConfigCommand } = require("@aws-sdk/client-database-migration-service"); // CommonJS import + * const client = new DatabaseMigrationServiceClient(config); + * const input = { // DeleteReplicationConfigMessage + * ReplicationConfigArn: "STRING_VALUE", // required + * }; + * const command = new DeleteReplicationConfigCommand(input); + * const response = await client.send(command); + * // { // DeleteReplicationConfigResponse + * // ReplicationConfig: { // ReplicationConfig + * // ReplicationConfigIdentifier: "STRING_VALUE", + * // ReplicationConfigArn: "STRING_VALUE", + * // SourceEndpointArn: "STRING_VALUE", + * // TargetEndpointArn: "STRING_VALUE", + * // ReplicationType: "full-load" || "cdc" || "full-load-and-cdc", + * // ComputeConfig: { // ComputeConfig + * // AvailabilityZone: "STRING_VALUE", + * // DnsNameServers: "STRING_VALUE", + * // KmsKeyId: "STRING_VALUE", + * // MaxCapacityUnits: Number("int"), + * // MinCapacityUnits: Number("int"), + * // MultiAZ: true || false, + * // PreferredMaintenanceWindow: "STRING_VALUE", + * // ReplicationSubnetGroupId: "STRING_VALUE", + * // VpcSecurityGroupIds: [ // StringList + * // "STRING_VALUE", + * // ], + * // }, + * // ReplicationSettings: "STRING_VALUE", + * // SupplementalSettings: "STRING_VALUE", + * // TableMappings: "STRING_VALUE", + * // ReplicationConfigCreateTime: new Date("TIMESTAMP"), + * // ReplicationConfigUpdateTime: new Date("TIMESTAMP"), + * // }, + * // }; + * + * ``` + * + * @param DeleteReplicationConfigCommandInput - {@link DeleteReplicationConfigCommandInput} + * @returns {@link DeleteReplicationConfigCommandOutput} + * @see {@link DeleteReplicationConfigCommandInput} for command's `input` shape. + * @see {@link DeleteReplicationConfigCommandOutput} for command's `response` shape. + * @see {@link DatabaseMigrationServiceClientResolvedConfig | config} for DatabaseMigrationServiceClient's `config` shape. + * + * @throws {@link AccessDeniedFault} (client fault) + *

DMS was denied access to the endpoint. Check that the + * role is correctly configured.

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

The resource is in a state that prevents it from being used for database migration.

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

The resource could not be found.

+ * + * @throws {@link DatabaseMigrationServiceServiceException} + *

Base exception class for all service exceptions from DatabaseMigrationService service.

+ * + */ +export class DeleteReplicationConfigCommand extends $Command< + DeleteReplicationConfigCommandInput, + DeleteReplicationConfigCommandOutput, + DatabaseMigrationServiceClientResolvedConfig +> { + // 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: DeleteReplicationConfigCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: DatabaseMigrationServiceClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use( + getEndpointPlugin(configuration, DeleteReplicationConfigCommand.getEndpointParameterInstructions()) + ); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "DatabaseMigrationServiceClient"; + const commandName = "DeleteReplicationConfigCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_: any) => _, + outputFilterSensitiveLog: (_: any) => _, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + /** + * @internal + */ + private serialize(input: DeleteReplicationConfigCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return se_DeleteReplicationConfigCommand(input, context); + } + + /** + * @internal + */ + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return de_DeleteReplicationConfigCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-database-migration-service/src/commands/DescribeEndpointsCommand.ts b/clients/client-database-migration-service/src/commands/DescribeEndpointsCommand.ts index 4984aabfb1e9..978bcd23bfaf 100644 --- a/clients/client-database-migration-service/src/commands/DescribeEndpointsCommand.ts +++ b/clients/client-database-migration-service/src/commands/DescribeEndpointsCommand.ts @@ -151,6 +151,8 @@ export interface DescribeEndpointsCommandOutput extends DescribeEndpointsRespons * // KmsKeyId: "STRING_VALUE", * // SecretsManagerAccessRoleArn: "STRING_VALUE", * // SecretsManagerSecretId: "STRING_VALUE", + * // UseUpdateLookUp: true || false, + * // ReplicateShardCollections: true || false, * // }, * // KinesisSettings: { // KinesisSettings * // StreamArn: "STRING_VALUE", @@ -184,6 +186,7 @@ export interface DescribeEndpointsCommandOutput extends DescribeEndpointsRespons * // SaslPassword: "STRING_VALUE", * // NoHexPrefix: true || false, * // SaslMechanism: "scram-sha-512" || "plain", + * // SslEndpointIdentificationAlgorithm: "none" || "https", * // }, * // ElasticsearchSettings: { // ElasticsearchSettings * // ServiceAccessRoleArn: "STRING_VALUE", // required @@ -255,6 +258,8 @@ export interface DescribeEndpointsCommandOutput extends DescribeEndpointsRespons * // SecretsManagerSecretId: "STRING_VALUE", * // TrimSpaceInChar: true || false, * // MapBooleanAsBoolean: true || false, + * // MapJsonbAsClob: true || false, + * // MapLongVarcharAs: "wstring" || "clob" || "nclob", * // }, * // MySQLSettings: { // MySQLSettings * // AfterConnectScript: "STRING_VALUE", @@ -317,6 +322,7 @@ export interface DescribeEndpointsCommandOutput extends DescribeEndpointsRespons * // SecretsManagerOracleAsmSecretId: "STRING_VALUE", * // TrimSpaceInChar: true || false, * // ConvertTimestampWithZoneToUTC: true || false, + * // OpenTransactionWindow: Number("int"), * // }, * // SybaseSettings: { // SybaseSettings * // DatabaseName: "STRING_VALUE", @@ -370,6 +376,8 @@ export interface DescribeEndpointsCommandOutput extends DescribeEndpointsRespons * // KmsKeyId: "STRING_VALUE", * // SecretsManagerAccessRoleArn: "STRING_VALUE", * // SecretsManagerSecretId: "STRING_VALUE", + * // UseUpdateLookUp: true || false, + * // ReplicateShardCollections: true || false, * // }, * // RedisSettings: { // RedisSettings * // ServerName: "STRING_VALUE", // required @@ -396,6 +404,13 @@ export interface DescribeEndpointsCommandOutput extends DescribeEndpointsRespons * // SecretsManagerAccessRoleArn: "STRING_VALUE", * // SecretsManagerSecretId: "STRING_VALUE", * // }, + * // TimestreamSettings: { // TimestreamSettings + * // DatabaseName: "STRING_VALUE", // required + * // MemoryDuration: Number("int"), // required + * // MagneticDuration: Number("int"), // required + * // CdcInsertsAndUpdates: true || false, + * // EnableMagneticStoreWrites: true || false, + * // }, * // }, * // ], * // }; diff --git a/clients/client-database-migration-service/src/commands/DescribeRecommendationsCommand.ts b/clients/client-database-migration-service/src/commands/DescribeRecommendationsCommand.ts index 9b7dc778fda8..afc888978c86 100644 --- a/clients/client-database-migration-service/src/commands/DescribeRecommendationsCommand.ts +++ b/clients/client-database-migration-service/src/commands/DescribeRecommendationsCommand.ts @@ -84,6 +84,7 @@ export interface DescribeRecommendationsCommandOutput extends DescribeRecommenda * // StorageSize: Number("int"), * // StorageIops: Number("int"), * // DeploymentOption: "STRING_VALUE", + * // EngineVersion: "STRING_VALUE", * // }, * // TargetConfiguration: { // RdsConfiguration * // EngineEdition: "STRING_VALUE", @@ -94,6 +95,7 @@ export interface DescribeRecommendationsCommandOutput extends DescribeRecommenda * // StorageSize: Number("int"), * // StorageIops: Number("int"), * // DeploymentOption: "STRING_VALUE", + * // EngineVersion: "STRING_VALUE", * // }, * // }, * // }, diff --git a/clients/client-database-migration-service/src/commands/DescribeReplicationConfigsCommand.ts b/clients/client-database-migration-service/src/commands/DescribeReplicationConfigsCommand.ts new file mode 100644 index 000000000000..701eb024d30e --- /dev/null +++ b/clients/client-database-migration-service/src/commands/DescribeReplicationConfigsCommand.ts @@ -0,0 +1,188 @@ +// 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, +} from "@smithy/types"; + +import { + DatabaseMigrationServiceClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes, +} from "../DatabaseMigrationServiceClient"; +import { DescribeReplicationConfigsMessage, DescribeReplicationConfigsResponse } from "../models/models_0"; +import { de_DescribeReplicationConfigsCommand, se_DescribeReplicationConfigsCommand } from "../protocols/Aws_json1_1"; + +/** + * @public + */ +export { __MetadataBearer, $Command }; +/** + * @public + * + * The input for {@link DescribeReplicationConfigsCommand}. + */ +export interface DescribeReplicationConfigsCommandInput extends DescribeReplicationConfigsMessage {} +/** + * @public + * + * The output of {@link DescribeReplicationConfigsCommand}. + */ +export interface DescribeReplicationConfigsCommandOutput extends DescribeReplicationConfigsResponse, __MetadataBearer {} + +/** + * @public + *

Returns one or more existing DMS Serverless replication configurations as a list of structures.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { DatabaseMigrationServiceClient, DescribeReplicationConfigsCommand } from "@aws-sdk/client-database-migration-service"; // ES Modules import + * // const { DatabaseMigrationServiceClient, DescribeReplicationConfigsCommand } = require("@aws-sdk/client-database-migration-service"); // CommonJS import + * const client = new DatabaseMigrationServiceClient(config); + * const input = { // DescribeReplicationConfigsMessage + * Filters: [ // FilterList + * { // Filter + * Name: "STRING_VALUE", // required + * Values: [ // FilterValueList // required + * "STRING_VALUE", + * ], + * }, + * ], + * MaxRecords: Number("int"), + * Marker: "STRING_VALUE", + * }; + * const command = new DescribeReplicationConfigsCommand(input); + * const response = await client.send(command); + * // { // DescribeReplicationConfigsResponse + * // Marker: "STRING_VALUE", + * // ReplicationConfigs: [ // ReplicationConfigList + * // { // ReplicationConfig + * // ReplicationConfigIdentifier: "STRING_VALUE", + * // ReplicationConfigArn: "STRING_VALUE", + * // SourceEndpointArn: "STRING_VALUE", + * // TargetEndpointArn: "STRING_VALUE", + * // ReplicationType: "full-load" || "cdc" || "full-load-and-cdc", + * // ComputeConfig: { // ComputeConfig + * // AvailabilityZone: "STRING_VALUE", + * // DnsNameServers: "STRING_VALUE", + * // KmsKeyId: "STRING_VALUE", + * // MaxCapacityUnits: Number("int"), + * // MinCapacityUnits: Number("int"), + * // MultiAZ: true || false, + * // PreferredMaintenanceWindow: "STRING_VALUE", + * // ReplicationSubnetGroupId: "STRING_VALUE", + * // VpcSecurityGroupIds: [ // StringList + * // "STRING_VALUE", + * // ], + * // }, + * // ReplicationSettings: "STRING_VALUE", + * // SupplementalSettings: "STRING_VALUE", + * // TableMappings: "STRING_VALUE", + * // ReplicationConfigCreateTime: new Date("TIMESTAMP"), + * // ReplicationConfigUpdateTime: new Date("TIMESTAMP"), + * // }, + * // ], + * // }; + * + * ``` + * + * @param DescribeReplicationConfigsCommandInput - {@link DescribeReplicationConfigsCommandInput} + * @returns {@link DescribeReplicationConfigsCommandOutput} + * @see {@link DescribeReplicationConfigsCommandInput} for command's `input` shape. + * @see {@link DescribeReplicationConfigsCommandOutput} for command's `response` shape. + * @see {@link DatabaseMigrationServiceClientResolvedConfig | config} for DatabaseMigrationServiceClient's `config` shape. + * + * @throws {@link ResourceNotFoundFault} (client fault) + *

The resource could not be found.

+ * + * @throws {@link DatabaseMigrationServiceServiceException} + *

Base exception class for all service exceptions from DatabaseMigrationService service.

+ * + */ +export class DescribeReplicationConfigsCommand extends $Command< + DescribeReplicationConfigsCommandInput, + DescribeReplicationConfigsCommandOutput, + DatabaseMigrationServiceClientResolvedConfig +> { + // 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: DescribeReplicationConfigsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: DatabaseMigrationServiceClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use( + getEndpointPlugin(configuration, DescribeReplicationConfigsCommand.getEndpointParameterInstructions()) + ); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "DatabaseMigrationServiceClient"; + const commandName = "DescribeReplicationConfigsCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_: any) => _, + outputFilterSensitiveLog: (_: any) => _, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + /** + * @internal + */ + private serialize(input: DescribeReplicationConfigsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return se_DescribeReplicationConfigsCommand(input, context); + } + + /** + * @internal + */ + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return de_DescribeReplicationConfigsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-database-migration-service/src/commands/DescribeReplicationTableStatisticsCommand.ts b/clients/client-database-migration-service/src/commands/DescribeReplicationTableStatisticsCommand.ts new file mode 100644 index 000000000000..383ca4c55f05 --- /dev/null +++ b/clients/client-database-migration-service/src/commands/DescribeReplicationTableStatisticsCommand.ts @@ -0,0 +1,205 @@ +// 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, +} from "@smithy/types"; + +import { + DatabaseMigrationServiceClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes, +} from "../DatabaseMigrationServiceClient"; +import { + DescribeReplicationTableStatisticsMessage, + DescribeReplicationTableStatisticsResponse, +} from "../models/models_0"; +import { + de_DescribeReplicationTableStatisticsCommand, + se_DescribeReplicationTableStatisticsCommand, +} from "../protocols/Aws_json1_1"; + +/** + * @public + */ +export { __MetadataBearer, $Command }; +/** + * @public + * + * The input for {@link DescribeReplicationTableStatisticsCommand}. + */ +export interface DescribeReplicationTableStatisticsCommandInput extends DescribeReplicationTableStatisticsMessage {} +/** + * @public + * + * The output of {@link DescribeReplicationTableStatisticsCommand}. + */ +export interface DescribeReplicationTableStatisticsCommandOutput + extends DescribeReplicationTableStatisticsResponse, + __MetadataBearer {} + +/** + * @public + *

Returns table and schema statistics for one or more provisioned replications that use a + * given DMS Serverless replication configuration.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { DatabaseMigrationServiceClient, DescribeReplicationTableStatisticsCommand } from "@aws-sdk/client-database-migration-service"; // ES Modules import + * // const { DatabaseMigrationServiceClient, DescribeReplicationTableStatisticsCommand } = require("@aws-sdk/client-database-migration-service"); // CommonJS import + * const client = new DatabaseMigrationServiceClient(config); + * const input = { // DescribeReplicationTableStatisticsMessage + * ReplicationConfigArn: "STRING_VALUE", // required + * MaxRecords: Number("int"), + * Marker: "STRING_VALUE", + * Filters: [ // FilterList + * { // Filter + * Name: "STRING_VALUE", // required + * Values: [ // FilterValueList // required + * "STRING_VALUE", + * ], + * }, + * ], + * }; + * const command = new DescribeReplicationTableStatisticsCommand(input); + * const response = await client.send(command); + * // { // DescribeReplicationTableStatisticsResponse + * // ReplicationConfigArn: "STRING_VALUE", + * // Marker: "STRING_VALUE", + * // ReplicationTableStatistics: [ // ReplicationTableStatisticsList + * // { // TableStatistics + * // SchemaName: "STRING_VALUE", + * // TableName: "STRING_VALUE", + * // Inserts: Number("long"), + * // Deletes: Number("long"), + * // Updates: Number("long"), + * // Ddls: Number("long"), + * // AppliedInserts: Number("long"), + * // AppliedDeletes: Number("long"), + * // AppliedUpdates: Number("long"), + * // AppliedDdls: Number("long"), + * // FullLoadRows: Number("long"), + * // FullLoadCondtnlChkFailedRows: Number("long"), + * // FullLoadErrorRows: Number("long"), + * // FullLoadStartTime: new Date("TIMESTAMP"), + * // FullLoadEndTime: new Date("TIMESTAMP"), + * // FullLoadReloaded: true || false, + * // LastUpdateTime: new Date("TIMESTAMP"), + * // TableState: "STRING_VALUE", + * // ValidationPendingRecords: Number("long"), + * // ValidationFailedRecords: Number("long"), + * // ValidationSuspendedRecords: Number("long"), + * // ValidationState: "STRING_VALUE", + * // ValidationStateDetails: "STRING_VALUE", + * // }, + * // ], + * // }; + * + * ``` + * + * @param DescribeReplicationTableStatisticsCommandInput - {@link DescribeReplicationTableStatisticsCommandInput} + * @returns {@link DescribeReplicationTableStatisticsCommandOutput} + * @see {@link DescribeReplicationTableStatisticsCommandInput} for command's `input` shape. + * @see {@link DescribeReplicationTableStatisticsCommandOutput} for command's `response` shape. + * @see {@link DatabaseMigrationServiceClientResolvedConfig | config} for DatabaseMigrationServiceClient's `config` shape. + * + * @throws {@link InvalidResourceStateFault} (client fault) + *

The resource is in a state that prevents it from being used for database migration.

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

The resource could not be found.

+ * + * @throws {@link DatabaseMigrationServiceServiceException} + *

Base exception class for all service exceptions from DatabaseMigrationService service.

+ * + */ +export class DescribeReplicationTableStatisticsCommand extends $Command< + DescribeReplicationTableStatisticsCommandInput, + DescribeReplicationTableStatisticsCommandOutput, + DatabaseMigrationServiceClientResolvedConfig +> { + // 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: DescribeReplicationTableStatisticsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: DatabaseMigrationServiceClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use( + getEndpointPlugin(configuration, DescribeReplicationTableStatisticsCommand.getEndpointParameterInstructions()) + ); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "DatabaseMigrationServiceClient"; + const commandName = "DescribeReplicationTableStatisticsCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_: any) => _, + outputFilterSensitiveLog: (_: any) => _, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + /** + * @internal + */ + private serialize( + input: DescribeReplicationTableStatisticsCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return se_DescribeReplicationTableStatisticsCommand(input, context); + } + + /** + * @internal + */ + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return de_DescribeReplicationTableStatisticsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-database-migration-service/src/commands/DescribeReplicationsCommand.ts b/clients/client-database-migration-service/src/commands/DescribeReplicationsCommand.ts new file mode 100644 index 000000000000..18310648a6a9 --- /dev/null +++ b/clients/client-database-migration-service/src/commands/DescribeReplicationsCommand.ts @@ -0,0 +1,202 @@ +// 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, +} from "@smithy/types"; + +import { + DatabaseMigrationServiceClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes, +} from "../DatabaseMigrationServiceClient"; +import { DescribeReplicationsMessage, DescribeReplicationsResponse } from "../models/models_0"; +import { de_DescribeReplicationsCommand, se_DescribeReplicationsCommand } from "../protocols/Aws_json1_1"; + +/** + * @public + */ +export { __MetadataBearer, $Command }; +/** + * @public + * + * The input for {@link DescribeReplicationsCommand}. + */ +export interface DescribeReplicationsCommandInput extends DescribeReplicationsMessage {} +/** + * @public + * + * The output of {@link DescribeReplicationsCommand}. + */ +export interface DescribeReplicationsCommandOutput extends DescribeReplicationsResponse, __MetadataBearer {} + +/** + * @public + *

Provides details on replication progress by returning status information for one or more + * provisioned DMS Serverless replications.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { DatabaseMigrationServiceClient, DescribeReplicationsCommand } from "@aws-sdk/client-database-migration-service"; // ES Modules import + * // const { DatabaseMigrationServiceClient, DescribeReplicationsCommand } = require("@aws-sdk/client-database-migration-service"); // CommonJS import + * const client = new DatabaseMigrationServiceClient(config); + * const input = { // DescribeReplicationsMessage + * Filters: [ // FilterList + * { // Filter + * Name: "STRING_VALUE", // required + * Values: [ // FilterValueList // required + * "STRING_VALUE", + * ], + * }, + * ], + * MaxRecords: Number("int"), + * Marker: "STRING_VALUE", + * }; + * const command = new DescribeReplicationsCommand(input); + * const response = await client.send(command); + * // { // DescribeReplicationsResponse + * // Marker: "STRING_VALUE", + * // Replications: [ // ReplicationList + * // { // Replication + * // ReplicationConfigIdentifier: "STRING_VALUE", + * // ReplicationConfigArn: "STRING_VALUE", + * // SourceEndpointArn: "STRING_VALUE", + * // TargetEndpointArn: "STRING_VALUE", + * // ReplicationType: "full-load" || "cdc" || "full-load-and-cdc", + * // Status: "STRING_VALUE", + * // ProvisionData: { // ProvisionData + * // ProvisionState: "STRING_VALUE", + * // ProvisionedCapacityUnits: Number("int"), + * // DateProvisioned: new Date("TIMESTAMP"), + * // IsNewProvisioningAvailable: true || false, + * // DateNewProvisioningDataAvailable: new Date("TIMESTAMP"), + * // ReasonForNewProvisioningData: "STRING_VALUE", + * // }, + * // StopReason: "STRING_VALUE", + * // FailureMessages: [ // StringList + * // "STRING_VALUE", + * // ], + * // ReplicationStats: { // ReplicationStats + * // FullLoadProgressPercent: Number("int"), + * // ElapsedTimeMillis: Number("long"), + * // TablesLoaded: Number("int"), + * // TablesLoading: Number("int"), + * // TablesQueued: Number("int"), + * // TablesErrored: Number("int"), + * // FreshStartDate: new Date("TIMESTAMP"), + * // StartDate: new Date("TIMESTAMP"), + * // StopDate: new Date("TIMESTAMP"), + * // FullLoadStartDate: new Date("TIMESTAMP"), + * // FullLoadFinishDate: new Date("TIMESTAMP"), + * // }, + * // StartReplicationType: "STRING_VALUE", + * // CdcStartTime: new Date("TIMESTAMP"), + * // CdcStartPosition: "STRING_VALUE", + * // CdcStopPosition: "STRING_VALUE", + * // RecoveryCheckpoint: "STRING_VALUE", + * // ReplicationCreateTime: new Date("TIMESTAMP"), + * // ReplicationUpdateTime: new Date("TIMESTAMP"), + * // ReplicationLastStopTime: new Date("TIMESTAMP"), + * // }, + * // ], + * // }; + * + * ``` + * + * @param DescribeReplicationsCommandInput - {@link DescribeReplicationsCommandInput} + * @returns {@link DescribeReplicationsCommandOutput} + * @see {@link DescribeReplicationsCommandInput} for command's `input` shape. + * @see {@link DescribeReplicationsCommandOutput} for command's `response` shape. + * @see {@link DatabaseMigrationServiceClientResolvedConfig | config} for DatabaseMigrationServiceClient's `config` shape. + * + * @throws {@link ResourceNotFoundFault} (client fault) + *

The resource could not be found.

+ * + * @throws {@link DatabaseMigrationServiceServiceException} + *

Base exception class for all service exceptions from DatabaseMigrationService service.

+ * + */ +export class DescribeReplicationsCommand extends $Command< + DescribeReplicationsCommandInput, + DescribeReplicationsCommandOutput, + DatabaseMigrationServiceClientResolvedConfig +> { + // 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: DescribeReplicationsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: DatabaseMigrationServiceClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use( + getEndpointPlugin(configuration, DescribeReplicationsCommand.getEndpointParameterInstructions()) + ); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "DatabaseMigrationServiceClient"; + const commandName = "DescribeReplicationsCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_: any) => _, + outputFilterSensitiveLog: (_: any) => _, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + /** + * @internal + */ + private serialize(input: DescribeReplicationsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return se_DescribeReplicationsCommand(input, context); + } + + /** + * @internal + */ + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return de_DescribeReplicationsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-database-migration-service/src/commands/ModifyEndpointCommand.ts b/clients/client-database-migration-service/src/commands/ModifyEndpointCommand.ts index a2283f62677c..78c0d8f4af37 100644 --- a/clients/client-database-migration-service/src/commands/ModifyEndpointCommand.ts +++ b/clients/client-database-migration-service/src/commands/ModifyEndpointCommand.ts @@ -139,6 +139,8 @@ export interface ModifyEndpointCommandOutput extends ModifyEndpointResponse, __M * KmsKeyId: "STRING_VALUE", * SecretsManagerAccessRoleArn: "STRING_VALUE", * SecretsManagerSecretId: "STRING_VALUE", + * UseUpdateLookUp: true || false, + * ReplicateShardCollections: true || false, * }, * KinesisSettings: { // KinesisSettings * StreamArn: "STRING_VALUE", @@ -172,6 +174,7 @@ export interface ModifyEndpointCommandOutput extends ModifyEndpointResponse, __M * SaslPassword: "STRING_VALUE", * NoHexPrefix: true || false, * SaslMechanism: "scram-sha-512" || "plain", + * SslEndpointIdentificationAlgorithm: "none" || "https", * }, * ElasticsearchSettings: { // ElasticsearchSettings * ServiceAccessRoleArn: "STRING_VALUE", // required @@ -243,6 +246,8 @@ export interface ModifyEndpointCommandOutput extends ModifyEndpointResponse, __M * SecretsManagerSecretId: "STRING_VALUE", * TrimSpaceInChar: true || false, * MapBooleanAsBoolean: true || false, + * MapJsonbAsClob: true || false, + * MapLongVarcharAs: "wstring" || "clob" || "nclob", * }, * MySQLSettings: { // MySQLSettings * AfterConnectScript: "STRING_VALUE", @@ -305,6 +310,7 @@ export interface ModifyEndpointCommandOutput extends ModifyEndpointResponse, __M * SecretsManagerOracleAsmSecretId: "STRING_VALUE", * TrimSpaceInChar: true || false, * ConvertTimestampWithZoneToUTC: true || false, + * OpenTransactionWindow: Number("int"), * }, * SybaseSettings: { // SybaseSettings * DatabaseName: "STRING_VALUE", @@ -358,6 +364,8 @@ export interface ModifyEndpointCommandOutput extends ModifyEndpointResponse, __M * KmsKeyId: "STRING_VALUE", * SecretsManagerAccessRoleArn: "STRING_VALUE", * SecretsManagerSecretId: "STRING_VALUE", + * UseUpdateLookUp: true || false, + * ReplicateShardCollections: true || false, * }, * RedisSettings: { // RedisSettings * ServerName: "STRING_VALUE", // required @@ -385,6 +393,13 @@ export interface ModifyEndpointCommandOutput extends ModifyEndpointResponse, __M * SecretsManagerAccessRoleArn: "STRING_VALUE", * SecretsManagerSecretId: "STRING_VALUE", * }, + * TimestreamSettings: { // TimestreamSettings + * DatabaseName: "STRING_VALUE", // required + * MemoryDuration: Number("int"), // required + * MagneticDuration: Number("int"), // required + * CdcInsertsAndUpdates: true || false, + * EnableMagneticStoreWrites: true || false, + * }, * }; * const command = new ModifyEndpointCommand(input); * const response = await client.send(command); @@ -472,6 +487,8 @@ export interface ModifyEndpointCommandOutput extends ModifyEndpointResponse, __M * // KmsKeyId: "STRING_VALUE", * // SecretsManagerAccessRoleArn: "STRING_VALUE", * // SecretsManagerSecretId: "STRING_VALUE", + * // UseUpdateLookUp: true || false, + * // ReplicateShardCollections: true || false, * // }, * // KinesisSettings: { // KinesisSettings * // StreamArn: "STRING_VALUE", @@ -505,6 +522,7 @@ export interface ModifyEndpointCommandOutput extends ModifyEndpointResponse, __M * // SaslPassword: "STRING_VALUE", * // NoHexPrefix: true || false, * // SaslMechanism: "scram-sha-512" || "plain", + * // SslEndpointIdentificationAlgorithm: "none" || "https", * // }, * // ElasticsearchSettings: { // ElasticsearchSettings * // ServiceAccessRoleArn: "STRING_VALUE", // required @@ -576,6 +594,8 @@ export interface ModifyEndpointCommandOutput extends ModifyEndpointResponse, __M * // SecretsManagerSecretId: "STRING_VALUE", * // TrimSpaceInChar: true || false, * // MapBooleanAsBoolean: true || false, + * // MapJsonbAsClob: true || false, + * // MapLongVarcharAs: "wstring" || "clob" || "nclob", * // }, * // MySQLSettings: { // MySQLSettings * // AfterConnectScript: "STRING_VALUE", @@ -638,6 +658,7 @@ export interface ModifyEndpointCommandOutput extends ModifyEndpointResponse, __M * // SecretsManagerOracleAsmSecretId: "STRING_VALUE", * // TrimSpaceInChar: true || false, * // ConvertTimestampWithZoneToUTC: true || false, + * // OpenTransactionWindow: Number("int"), * // }, * // SybaseSettings: { // SybaseSettings * // DatabaseName: "STRING_VALUE", @@ -691,6 +712,8 @@ export interface ModifyEndpointCommandOutput extends ModifyEndpointResponse, __M * // KmsKeyId: "STRING_VALUE", * // SecretsManagerAccessRoleArn: "STRING_VALUE", * // SecretsManagerSecretId: "STRING_VALUE", + * // UseUpdateLookUp: true || false, + * // ReplicateShardCollections: true || false, * // }, * // RedisSettings: { // RedisSettings * // ServerName: "STRING_VALUE", // required @@ -717,6 +740,13 @@ export interface ModifyEndpointCommandOutput extends ModifyEndpointResponse, __M * // SecretsManagerAccessRoleArn: "STRING_VALUE", * // SecretsManagerSecretId: "STRING_VALUE", * // }, + * // TimestreamSettings: { // TimestreamSettings + * // DatabaseName: "STRING_VALUE", // required + * // MemoryDuration: Number("int"), // required + * // MagneticDuration: Number("int"), // required + * // CdcInsertsAndUpdates: true || false, + * // EnableMagneticStoreWrites: true || false, + * // }, * // }, * // }; * diff --git a/clients/client-database-migration-service/src/commands/ModifyReplicationConfigCommand.ts b/clients/client-database-migration-service/src/commands/ModifyReplicationConfigCommand.ts new file mode 100644 index 000000000000..27b79c0a772b --- /dev/null +++ b/clients/client-database-migration-service/src/commands/ModifyReplicationConfigCommand.ts @@ -0,0 +1,216 @@ +// 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, +} from "@smithy/types"; + +import { + DatabaseMigrationServiceClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes, +} from "../DatabaseMigrationServiceClient"; +import { ModifyReplicationConfigMessage, ModifyReplicationConfigResponse } from "../models/models_0"; +import { de_ModifyReplicationConfigCommand, se_ModifyReplicationConfigCommand } from "../protocols/Aws_json1_1"; + +/** + * @public + */ +export { __MetadataBearer, $Command }; +/** + * @public + * + * The input for {@link ModifyReplicationConfigCommand}. + */ +export interface ModifyReplicationConfigCommandInput extends ModifyReplicationConfigMessage {} +/** + * @public + * + * The output of {@link ModifyReplicationConfigCommand}. + */ +export interface ModifyReplicationConfigCommandOutput extends ModifyReplicationConfigResponse, __MetadataBearer {} + +/** + * @public + *

Modifies an existing DMS Serverless replication configuration that you can use + * to start a replication. This command includes input validation and logic to check + * the state of any replication that uses this configuration. You can only modify a replication + * configuration before any replication that uses it has started. As soon as you have initially + * started a replication with a given configuiration, you can't modify that configuration, + * even if you stop it.

+ *

Other run statuses that allow you to run this command include FAILED and CREATED. + * A provisioning state that allows you to run this command is FAILED_PROVISION.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { DatabaseMigrationServiceClient, ModifyReplicationConfigCommand } from "@aws-sdk/client-database-migration-service"; // ES Modules import + * // const { DatabaseMigrationServiceClient, ModifyReplicationConfigCommand } = require("@aws-sdk/client-database-migration-service"); // CommonJS import + * const client = new DatabaseMigrationServiceClient(config); + * const input = { // ModifyReplicationConfigMessage + * ReplicationConfigArn: "STRING_VALUE", // required + * ReplicationConfigIdentifier: "STRING_VALUE", + * ReplicationType: "full-load" || "cdc" || "full-load-and-cdc", + * TableMappings: "STRING_VALUE", + * ReplicationSettings: "STRING_VALUE", + * SupplementalSettings: "STRING_VALUE", + * ComputeConfig: { // ComputeConfig + * AvailabilityZone: "STRING_VALUE", + * DnsNameServers: "STRING_VALUE", + * KmsKeyId: "STRING_VALUE", + * MaxCapacityUnits: Number("int"), + * MinCapacityUnits: Number("int"), + * MultiAZ: true || false, + * PreferredMaintenanceWindow: "STRING_VALUE", + * ReplicationSubnetGroupId: "STRING_VALUE", + * VpcSecurityGroupIds: [ // StringList + * "STRING_VALUE", + * ], + * }, + * SourceEndpointArn: "STRING_VALUE", + * TargetEndpointArn: "STRING_VALUE", + * }; + * const command = new ModifyReplicationConfigCommand(input); + * const response = await client.send(command); + * // { // ModifyReplicationConfigResponse + * // ReplicationConfig: { // ReplicationConfig + * // ReplicationConfigIdentifier: "STRING_VALUE", + * // ReplicationConfigArn: "STRING_VALUE", + * // SourceEndpointArn: "STRING_VALUE", + * // TargetEndpointArn: "STRING_VALUE", + * // ReplicationType: "full-load" || "cdc" || "full-load-and-cdc", + * // ComputeConfig: { // ComputeConfig + * // AvailabilityZone: "STRING_VALUE", + * // DnsNameServers: "STRING_VALUE", + * // KmsKeyId: "STRING_VALUE", + * // MaxCapacityUnits: Number("int"), + * // MinCapacityUnits: Number("int"), + * // MultiAZ: true || false, + * // PreferredMaintenanceWindow: "STRING_VALUE", + * // ReplicationSubnetGroupId: "STRING_VALUE", + * // VpcSecurityGroupIds: [ // StringList + * // "STRING_VALUE", + * // ], + * // }, + * // ReplicationSettings: "STRING_VALUE", + * // SupplementalSettings: "STRING_VALUE", + * // TableMappings: "STRING_VALUE", + * // ReplicationConfigCreateTime: new Date("TIMESTAMP"), + * // ReplicationConfigUpdateTime: new Date("TIMESTAMP"), + * // }, + * // }; + * + * ``` + * + * @param ModifyReplicationConfigCommandInput - {@link ModifyReplicationConfigCommandInput} + * @returns {@link ModifyReplicationConfigCommandOutput} + * @see {@link ModifyReplicationConfigCommandInput} for command's `input` shape. + * @see {@link ModifyReplicationConfigCommandOutput} for command's `response` shape. + * @see {@link DatabaseMigrationServiceClientResolvedConfig | config} for DatabaseMigrationServiceClient's `config` shape. + * + * @throws {@link AccessDeniedFault} (client fault) + *

DMS was denied access to the endpoint. Check that the + * role is correctly configured.

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

The resource is in a state that prevents it from being used for database migration.

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

The subnet provided isn't valid.

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

DMS cannot access the KMS key.

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

The replication subnet group does not cover enough Availability Zones (AZs). Edit the replication subnet group and add more AZs.

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

The resource could not be found.

+ * + * @throws {@link DatabaseMigrationServiceServiceException} + *

Base exception class for all service exceptions from DatabaseMigrationService service.

+ * + */ +export class ModifyReplicationConfigCommand extends $Command< + ModifyReplicationConfigCommandInput, + ModifyReplicationConfigCommandOutput, + DatabaseMigrationServiceClientResolvedConfig +> { + // 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: ModifyReplicationConfigCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: DatabaseMigrationServiceClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use( + getEndpointPlugin(configuration, ModifyReplicationConfigCommand.getEndpointParameterInstructions()) + ); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "DatabaseMigrationServiceClient"; + const commandName = "ModifyReplicationConfigCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_: any) => _, + outputFilterSensitiveLog: (_: any) => _, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + /** + * @internal + */ + private serialize(input: ModifyReplicationConfigCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return se_ModifyReplicationConfigCommand(input, context); + } + + /** + * @internal + */ + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return de_ModifyReplicationConfigCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-database-migration-service/src/commands/ModifyReplicationSubnetGroupCommand.ts b/clients/client-database-migration-service/src/commands/ModifyReplicationSubnetGroupCommand.ts index 917b455b959f..5df44511fda3 100644 --- a/clients/client-database-migration-service/src/commands/ModifyReplicationSubnetGroupCommand.ts +++ b/clients/client-database-migration-service/src/commands/ModifyReplicationSubnetGroupCommand.ts @@ -95,7 +95,7 @@ export interface ModifyReplicationSubnetGroupCommandOutput * role is correctly configured.

* * @throws {@link InvalidSubnet} (client fault) - *

The subnet provided is invalid.

+ *

The subnet provided isn't valid.

* * @throws {@link ReplicationSubnetGroupDoesNotCoverEnoughAZs} (client fault) *

The replication subnet group does not cover enough Availability Zones (AZs). Edit the replication subnet group and add more AZs.

diff --git a/clients/client-database-migration-service/src/commands/ReloadReplicationTablesCommand.ts b/clients/client-database-migration-service/src/commands/ReloadReplicationTablesCommand.ts new file mode 100644 index 000000000000..4565797ec7d3 --- /dev/null +++ b/clients/client-database-migration-service/src/commands/ReloadReplicationTablesCommand.ts @@ -0,0 +1,162 @@ +// 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, +} from "@smithy/types"; + +import { + DatabaseMigrationServiceClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes, +} from "../DatabaseMigrationServiceClient"; +import { ReloadReplicationTablesMessage, ReloadReplicationTablesResponse } from "../models/models_0"; +import { de_ReloadReplicationTablesCommand, se_ReloadReplicationTablesCommand } from "../protocols/Aws_json1_1"; + +/** + * @public + */ +export { __MetadataBearer, $Command }; +/** + * @public + * + * The input for {@link ReloadReplicationTablesCommand}. + */ +export interface ReloadReplicationTablesCommandInput extends ReloadReplicationTablesMessage {} +/** + * @public + * + * The output of {@link ReloadReplicationTablesCommand}. + */ +export interface ReloadReplicationTablesCommandOutput extends ReloadReplicationTablesResponse, __MetadataBearer {} + +/** + * @public + *

Reloads the target database table with the source data for a given DMS Serverless + * replication configuration.

+ *

You can only use this operation with a task in the RUNNING state, otherwise the service + * will throw an InvalidResourceStateFault exception.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { DatabaseMigrationServiceClient, ReloadReplicationTablesCommand } from "@aws-sdk/client-database-migration-service"; // ES Modules import + * // const { DatabaseMigrationServiceClient, ReloadReplicationTablesCommand } = require("@aws-sdk/client-database-migration-service"); // CommonJS import + * const client = new DatabaseMigrationServiceClient(config); + * const input = { // ReloadReplicationTablesMessage + * ReplicationConfigArn: "STRING_VALUE", // required + * TablesToReload: [ // TableListToReload // required + * { // TableToReload + * SchemaName: "STRING_VALUE", // required + * TableName: "STRING_VALUE", // required + * }, + * ], + * ReloadOption: "data-reload" || "validate-only", + * }; + * const command = new ReloadReplicationTablesCommand(input); + * const response = await client.send(command); + * // { // ReloadReplicationTablesResponse + * // ReplicationConfigArn: "STRING_VALUE", + * // }; + * + * ``` + * + * @param ReloadReplicationTablesCommandInput - {@link ReloadReplicationTablesCommandInput} + * @returns {@link ReloadReplicationTablesCommandOutput} + * @see {@link ReloadReplicationTablesCommandInput} for command's `input` shape. + * @see {@link ReloadReplicationTablesCommandOutput} for command's `response` shape. + * @see {@link DatabaseMigrationServiceClientResolvedConfig | config} for DatabaseMigrationServiceClient's `config` shape. + * + * @throws {@link InvalidResourceStateFault} (client fault) + *

The resource is in a state that prevents it from being used for database migration.

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

The resource could not be found.

+ * + * @throws {@link DatabaseMigrationServiceServiceException} + *

Base exception class for all service exceptions from DatabaseMigrationService service.

+ * + */ +export class ReloadReplicationTablesCommand extends $Command< + ReloadReplicationTablesCommandInput, + ReloadReplicationTablesCommandOutput, + DatabaseMigrationServiceClientResolvedConfig +> { + // 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: ReloadReplicationTablesCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: DatabaseMigrationServiceClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use( + getEndpointPlugin(configuration, ReloadReplicationTablesCommand.getEndpointParameterInstructions()) + ); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "DatabaseMigrationServiceClient"; + const commandName = "ReloadReplicationTablesCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_: any) => _, + outputFilterSensitiveLog: (_: any) => _, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + /** + * @internal + */ + private serialize(input: ReloadReplicationTablesCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return se_ReloadReplicationTablesCommand(input, context); + } + + /** + * @internal + */ + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return de_ReloadReplicationTablesCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-database-migration-service/src/commands/StartReplicationCommand.ts b/clients/client-database-migration-service/src/commands/StartReplicationCommand.ts new file mode 100644 index 000000000000..318a37801fcb --- /dev/null +++ b/clients/client-database-migration-service/src/commands/StartReplicationCommand.ts @@ -0,0 +1,203 @@ +// 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, +} from "@smithy/types"; + +import { + DatabaseMigrationServiceClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes, +} from "../DatabaseMigrationServiceClient"; +import { StartReplicationMessage, StartReplicationResponse } from "../models/models_0"; +import { de_StartReplicationCommand, se_StartReplicationCommand } from "../protocols/Aws_json1_1"; + +/** + * @public + */ +export { __MetadataBearer, $Command }; +/** + * @public + * + * The input for {@link StartReplicationCommand}. + */ +export interface StartReplicationCommandInput extends StartReplicationMessage {} +/** + * @public + * + * The output of {@link StartReplicationCommand}. + */ +export interface StartReplicationCommandOutput extends StartReplicationResponse, __MetadataBearer {} + +/** + * @public + *

For a given DMS Serverless replication configuration, DMS connects to the source endpoint and + * collects the metadata to analyze the replication workload. Using this metadata, DMS then + * computes and provisions the required capacity and starts replicating to the target endpoint + * using the server resources that DMS has provisioned for the DMS Serverless replication.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { DatabaseMigrationServiceClient, StartReplicationCommand } from "@aws-sdk/client-database-migration-service"; // ES Modules import + * // const { DatabaseMigrationServiceClient, StartReplicationCommand } = require("@aws-sdk/client-database-migration-service"); // CommonJS import + * const client = new DatabaseMigrationServiceClient(config); + * const input = { // StartReplicationMessage + * ReplicationConfigArn: "STRING_VALUE", // required + * StartReplicationType: "STRING_VALUE", // required + * CdcStartTime: new Date("TIMESTAMP"), + * CdcStartPosition: "STRING_VALUE", + * CdcStopPosition: "STRING_VALUE", + * }; + * const command = new StartReplicationCommand(input); + * const response = await client.send(command); + * // { // StartReplicationResponse + * // Replication: { // Replication + * // ReplicationConfigIdentifier: "STRING_VALUE", + * // ReplicationConfigArn: "STRING_VALUE", + * // SourceEndpointArn: "STRING_VALUE", + * // TargetEndpointArn: "STRING_VALUE", + * // ReplicationType: "full-load" || "cdc" || "full-load-and-cdc", + * // Status: "STRING_VALUE", + * // ProvisionData: { // ProvisionData + * // ProvisionState: "STRING_VALUE", + * // ProvisionedCapacityUnits: Number("int"), + * // DateProvisioned: new Date("TIMESTAMP"), + * // IsNewProvisioningAvailable: true || false, + * // DateNewProvisioningDataAvailable: new Date("TIMESTAMP"), + * // ReasonForNewProvisioningData: "STRING_VALUE", + * // }, + * // StopReason: "STRING_VALUE", + * // FailureMessages: [ // StringList + * // "STRING_VALUE", + * // ], + * // ReplicationStats: { // ReplicationStats + * // FullLoadProgressPercent: Number("int"), + * // ElapsedTimeMillis: Number("long"), + * // TablesLoaded: Number("int"), + * // TablesLoading: Number("int"), + * // TablesQueued: Number("int"), + * // TablesErrored: Number("int"), + * // FreshStartDate: new Date("TIMESTAMP"), + * // StartDate: new Date("TIMESTAMP"), + * // StopDate: new Date("TIMESTAMP"), + * // FullLoadStartDate: new Date("TIMESTAMP"), + * // FullLoadFinishDate: new Date("TIMESTAMP"), + * // }, + * // StartReplicationType: "STRING_VALUE", + * // CdcStartTime: new Date("TIMESTAMP"), + * // CdcStartPosition: "STRING_VALUE", + * // CdcStopPosition: "STRING_VALUE", + * // RecoveryCheckpoint: "STRING_VALUE", + * // ReplicationCreateTime: new Date("TIMESTAMP"), + * // ReplicationUpdateTime: new Date("TIMESTAMP"), + * // ReplicationLastStopTime: new Date("TIMESTAMP"), + * // }, + * // }; + * + * ``` + * + * @param StartReplicationCommandInput - {@link StartReplicationCommandInput} + * @returns {@link StartReplicationCommandOutput} + * @see {@link StartReplicationCommandInput} for command's `input` shape. + * @see {@link StartReplicationCommandOutput} for command's `response` shape. + * @see {@link DatabaseMigrationServiceClientResolvedConfig | config} for DatabaseMigrationServiceClient's `config` shape. + * + * @throws {@link AccessDeniedFault} (client fault) + *

DMS was denied access to the endpoint. Check that the + * role is correctly configured.

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

The resource is in a state that prevents it from being used for database migration.

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

The resource could not be found.

+ * + * @throws {@link DatabaseMigrationServiceServiceException} + *

Base exception class for all service exceptions from DatabaseMigrationService service.

+ * + */ +export class StartReplicationCommand extends $Command< + StartReplicationCommandInput, + StartReplicationCommandOutput, + DatabaseMigrationServiceClientResolvedConfig +> { + // 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: StartReplicationCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: DatabaseMigrationServiceClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use( + getEndpointPlugin(configuration, StartReplicationCommand.getEndpointParameterInstructions()) + ); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "DatabaseMigrationServiceClient"; + const commandName = "StartReplicationCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_: any) => _, + outputFilterSensitiveLog: (_: any) => _, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + /** + * @internal + */ + private serialize(input: StartReplicationCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return se_StartReplicationCommand(input, context); + } + + /** + * @internal + */ + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return de_StartReplicationCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-database-migration-service/src/commands/StopReplicationCommand.ts b/clients/client-database-migration-service/src/commands/StopReplicationCommand.ts new file mode 100644 index 000000000000..9d5adf774559 --- /dev/null +++ b/clients/client-database-migration-service/src/commands/StopReplicationCommand.ts @@ -0,0 +1,197 @@ +// 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, +} from "@smithy/types"; + +import { + DatabaseMigrationServiceClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes, +} from "../DatabaseMigrationServiceClient"; +import { StopReplicationMessage, StopReplicationResponse } from "../models/models_0"; +import { de_StopReplicationCommand, se_StopReplicationCommand } from "../protocols/Aws_json1_1"; + +/** + * @public + */ +export { __MetadataBearer, $Command }; +/** + * @public + * + * The input for {@link StopReplicationCommand}. + */ +export interface StopReplicationCommandInput extends StopReplicationMessage {} +/** + * @public + * + * The output of {@link StopReplicationCommand}. + */ +export interface StopReplicationCommandOutput extends StopReplicationResponse, __MetadataBearer {} + +/** + * @public + *

For a given DMS Serverless replication configuration, DMS stops any and all ongoing DMS Serverless replications. + * This command doesn't deprovision the stopped replications.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { DatabaseMigrationServiceClient, StopReplicationCommand } from "@aws-sdk/client-database-migration-service"; // ES Modules import + * // const { DatabaseMigrationServiceClient, StopReplicationCommand } = require("@aws-sdk/client-database-migration-service"); // CommonJS import + * const client = new DatabaseMigrationServiceClient(config); + * const input = { // StopReplicationMessage + * ReplicationConfigArn: "STRING_VALUE", // required + * }; + * const command = new StopReplicationCommand(input); + * const response = await client.send(command); + * // { // StopReplicationResponse + * // Replication: { // Replication + * // ReplicationConfigIdentifier: "STRING_VALUE", + * // ReplicationConfigArn: "STRING_VALUE", + * // SourceEndpointArn: "STRING_VALUE", + * // TargetEndpointArn: "STRING_VALUE", + * // ReplicationType: "full-load" || "cdc" || "full-load-and-cdc", + * // Status: "STRING_VALUE", + * // ProvisionData: { // ProvisionData + * // ProvisionState: "STRING_VALUE", + * // ProvisionedCapacityUnits: Number("int"), + * // DateProvisioned: new Date("TIMESTAMP"), + * // IsNewProvisioningAvailable: true || false, + * // DateNewProvisioningDataAvailable: new Date("TIMESTAMP"), + * // ReasonForNewProvisioningData: "STRING_VALUE", + * // }, + * // StopReason: "STRING_VALUE", + * // FailureMessages: [ // StringList + * // "STRING_VALUE", + * // ], + * // ReplicationStats: { // ReplicationStats + * // FullLoadProgressPercent: Number("int"), + * // ElapsedTimeMillis: Number("long"), + * // TablesLoaded: Number("int"), + * // TablesLoading: Number("int"), + * // TablesQueued: Number("int"), + * // TablesErrored: Number("int"), + * // FreshStartDate: new Date("TIMESTAMP"), + * // StartDate: new Date("TIMESTAMP"), + * // StopDate: new Date("TIMESTAMP"), + * // FullLoadStartDate: new Date("TIMESTAMP"), + * // FullLoadFinishDate: new Date("TIMESTAMP"), + * // }, + * // StartReplicationType: "STRING_VALUE", + * // CdcStartTime: new Date("TIMESTAMP"), + * // CdcStartPosition: "STRING_VALUE", + * // CdcStopPosition: "STRING_VALUE", + * // RecoveryCheckpoint: "STRING_VALUE", + * // ReplicationCreateTime: new Date("TIMESTAMP"), + * // ReplicationUpdateTime: new Date("TIMESTAMP"), + * // ReplicationLastStopTime: new Date("TIMESTAMP"), + * // }, + * // }; + * + * ``` + * + * @param StopReplicationCommandInput - {@link StopReplicationCommandInput} + * @returns {@link StopReplicationCommandOutput} + * @see {@link StopReplicationCommandInput} for command's `input` shape. + * @see {@link StopReplicationCommandOutput} for command's `response` shape. + * @see {@link DatabaseMigrationServiceClientResolvedConfig | config} for DatabaseMigrationServiceClient's `config` shape. + * + * @throws {@link AccessDeniedFault} (client fault) + *

DMS was denied access to the endpoint. Check that the + * role is correctly configured.

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

The resource is in a state that prevents it from being used for database migration.

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

The resource could not be found.

+ * + * @throws {@link DatabaseMigrationServiceServiceException} + *

Base exception class for all service exceptions from DatabaseMigrationService service.

+ * + */ +export class StopReplicationCommand extends $Command< + StopReplicationCommandInput, + StopReplicationCommandOutput, + DatabaseMigrationServiceClientResolvedConfig +> { + // 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: StopReplicationCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: DatabaseMigrationServiceClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use( + getEndpointPlugin(configuration, StopReplicationCommand.getEndpointParameterInstructions()) + ); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "DatabaseMigrationServiceClient"; + const commandName = "StopReplicationCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_: any) => _, + outputFilterSensitiveLog: (_: any) => _, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + /** + * @internal + */ + private serialize(input: StopReplicationCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return se_StopReplicationCommand(input, context); + } + + /** + * @internal + */ + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return de_StopReplicationCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-database-migration-service/src/commands/index.ts b/clients/client-database-migration-service/src/commands/index.ts index cadf34fc8aae..9c8d8343f0fa 100644 --- a/clients/client-database-migration-service/src/commands/index.ts +++ b/clients/client-database-migration-service/src/commands/index.ts @@ -6,6 +6,7 @@ export * from "./CancelReplicationTaskAssessmentRunCommand"; export * from "./CreateEndpointCommand"; export * from "./CreateEventSubscriptionCommand"; export * from "./CreateFleetAdvisorCollectorCommand"; +export * from "./CreateReplicationConfigCommand"; export * from "./CreateReplicationInstanceCommand"; export * from "./CreateReplicationSubnetGroupCommand"; export * from "./CreateReplicationTaskCommand"; @@ -15,6 +16,7 @@ export * from "./DeleteEndpointCommand"; export * from "./DeleteEventSubscriptionCommand"; export * from "./DeleteFleetAdvisorCollectorCommand"; export * from "./DeleteFleetAdvisorDatabasesCommand"; +export * from "./DeleteReplicationConfigCommand"; export * from "./DeleteReplicationInstanceCommand"; export * from "./DeleteReplicationSubnetGroupCommand"; export * from "./DeleteReplicationTaskAssessmentRunCommand"; @@ -39,32 +41,39 @@ export * from "./DescribePendingMaintenanceActionsCommand"; export * from "./DescribeRecommendationLimitationsCommand"; export * from "./DescribeRecommendationsCommand"; export * from "./DescribeRefreshSchemasStatusCommand"; +export * from "./DescribeReplicationConfigsCommand"; export * from "./DescribeReplicationInstanceTaskLogsCommand"; export * from "./DescribeReplicationInstancesCommand"; export * from "./DescribeReplicationSubnetGroupsCommand"; +export * from "./DescribeReplicationTableStatisticsCommand"; export * from "./DescribeReplicationTaskAssessmentResultsCommand"; export * from "./DescribeReplicationTaskAssessmentRunsCommand"; export * from "./DescribeReplicationTaskIndividualAssessmentsCommand"; export * from "./DescribeReplicationTasksCommand"; +export * from "./DescribeReplicationsCommand"; export * from "./DescribeSchemasCommand"; export * from "./DescribeTableStatisticsCommand"; export * from "./ImportCertificateCommand"; export * from "./ListTagsForResourceCommand"; export * from "./ModifyEndpointCommand"; export * from "./ModifyEventSubscriptionCommand"; +export * from "./ModifyReplicationConfigCommand"; export * from "./ModifyReplicationInstanceCommand"; export * from "./ModifyReplicationSubnetGroupCommand"; export * from "./ModifyReplicationTaskCommand"; export * from "./MoveReplicationTaskCommand"; export * from "./RebootReplicationInstanceCommand"; export * from "./RefreshSchemasCommand"; +export * from "./ReloadReplicationTablesCommand"; export * from "./ReloadTablesCommand"; export * from "./RemoveTagsFromResourceCommand"; export * from "./RunFleetAdvisorLsaAnalysisCommand"; export * from "./StartRecommendationsCommand"; +export * from "./StartReplicationCommand"; export * from "./StartReplicationTaskAssessmentCommand"; export * from "./StartReplicationTaskAssessmentRunCommand"; export * from "./StartReplicationTaskCommand"; +export * from "./StopReplicationCommand"; export * from "./StopReplicationTaskCommand"; export * from "./TestConnectionCommand"; export * from "./UpdateSubscriptionsToEventBridgeCommand"; diff --git a/clients/client-database-migration-service/src/models/models_0.ts b/clients/client-database-migration-service/src/models/models_0.ts index 42cc6e0c17bf..c4c64847fcba 100644 --- a/clients/client-database-migration-service/src/models/models_0.ts +++ b/clients/client-database-migration-service/src/models/models_0.ts @@ -635,6 +635,28 @@ export interface DocDbSettings { * that contains the DocumentDB endpoint connection details.

*/ SecretsManagerSecretId?: string; + + /** + *

If true, DMS retrieves the entire document from the DocumentDB source during migration. + * This may cause a migration failure if the server response exceeds bandwidth limits. To fetch only updates + * and deletes during migration, set this parameter to false.

+ */ + UseUpdateLookUp?: boolean; + + /** + *

If true, DMS replicates data to shard collections. DMS only uses this setting if + * the target endpoint is a DocumentDB elastic cluster.

+ *

When this setting is true, note the following:

+ *
    + *
  • + *

    You must set TargetTablePrepMode to nothing.

    + *
  • + *
  • + *

    DMS automatically sets useUpdateLookup to false.

    + *
  • + *
+ */ + ReplicateShardCollections?: boolean; } /** @@ -953,6 +975,21 @@ export const KafkaSecurityProtocol = { */ export type KafkaSecurityProtocol = (typeof KafkaSecurityProtocol)[keyof typeof KafkaSecurityProtocol]; +/** + * @public + * @enum + */ +export const KafkaSslEndpointIdentificationAlgorithm = { + HTTPS: "https", + NONE: "none", +} as const; + +/** + * @public + */ +export type KafkaSslEndpointIdentificationAlgorithm = + (typeof KafkaSslEndpointIdentificationAlgorithm)[keyof typeof KafkaSslEndpointIdentificationAlgorithm]; + /** * @public *

Provides information that describes an Apache Kafka endpoint. This @@ -1090,6 +1127,12 @@ export interface KafkaSettings { *

*/ SaslMechanism?: KafkaSaslMechanism | string; + + /** + *

Sets hostname verification + * for the certificate. This setting is supported in DMS version 3.5.1 and later.

+ */ + SslEndpointIdentificationAlgorithm?: KafkaSslEndpointIdentificationAlgorithm | string; } /** @@ -1482,6 +1525,28 @@ export interface MongoDbSettings { *

The full ARN, partial ARN, or friendly name of the SecretsManagerSecret that contains the MongoDB endpoint connection details.

*/ SecretsManagerSecretId?: string; + + /** + *

If true, DMS retrieves the entire document from the MongoDB source during migration. + * This may cause a migration failure if the server response exceeds bandwidth limits. To fetch only updates + * and deletes during migration, set this parameter to false.

+ */ + UseUpdateLookUp?: boolean; + + /** + *

If true, DMS replicates data to shard collections. DMS only uses this setting if + * the target endpoint is a DocumentDB elastic cluster.

+ *

When this setting is true, note the following:

+ *
    + *
  • + *

    You must set TargetTablePrepMode to nothing.

    + *
  • + *
  • + *

    DMS automatically sets useUpdateLookup to false.

    + *
  • + *
+ */ + ReplicateShardCollections?: boolean; } /** @@ -2079,8 +2144,34 @@ export interface OracleSettings { *

When true, converts timestamps with the timezone datatype to their UTC value.

*/ ConvertTimestampWithZoneToUTC?: boolean; + + /** + *

The timeframe in minutes to check for open transactions for a CDC-only task.

+ *

You can + * specify an integer value between 0 (the default) and 240 (the maximum).

+ * + *

This parameter is only valid in DMS version 3.5.0 and later. DMS supports + * a window of up to 9.5 hours including the value for OpenTransactionWindow.

+ *
+ */ + OpenTransactionWindow?: number; } +/** + * @public + * @enum + */ +export const LongVarcharMappingType = { + CLOB: "clob", + NCLOB: "nclob", + WSTRING: "wstring", +} as const; + +/** + * @public + */ +export type LongVarcharMappingType = (typeof LongVarcharMappingType)[keyof typeof LongVarcharMappingType]; + /** * @public * @enum @@ -2216,7 +2307,7 @@ export interface PostgreSQLSettings { * CdcStartPosition setting, DMS raises an * error.

*

For more information about setting the CdcStartPosition request parameter, - * see Determining a CDC native start point in the Database Migration Service User + * see Determining a CDC native start point in the Database Migration Service User * Guide. For more information about using CdcStartPosition, see * CreateReplicationTask, StartReplicationTask, and ModifyReplicationTask.

*/ @@ -2263,6 +2354,16 @@ export interface PostgreSQLSettings { * varchar(5).

*/ MapBooleanAsBoolean?: boolean; + + /** + *

When true, DMS migrates JSONB values as CLOB.

+ */ + MapJsonbAsClob?: boolean; + + /** + *

When true, DMS migrates LONG values as VARCHAR.

+ */ + MapLongVarcharAs?: LongVarcharMappingType | string; } /** @@ -2945,10 +3046,12 @@ export interface S3Settings { /** *

A value that enables a full load to write INSERT operations to the comma-separated value - * (.csv) output files only to indicate how the rows were added to the source database.

+ * (.csv) or .parquet output files only to indicate how the rows were added to the source database.

* *

DMS supports the IncludeOpForFullLoad parameter in versions 3.1.4 and * later.

+ *

DMS supports the use of the .parquet files with the IncludeOpForFullLoad + * parameter in versions 3.4.7 and later.

*
*

For full load, records can only be inserted. By default (the false * setting), no information is recorded in these output files for a full load to indicate that @@ -3050,8 +3153,11 @@ export interface S3Settings { * operations to .csv or .parquet (columnar storage) output files. The default setting is * false, but when CdcInsertsAndUpdates is set to * true or y, only INSERTs and UPDATEs from the source database - * are migrated to the .csv or .parquet file.

- *

For .csv file format only, how these INSERTs and UPDATEs are recorded depends on the + * are migrated to the .csv or .parquet file.

+ * + *

DMS supports the use of the .parquet files in versions 3.4.7 and later.

+ *
+ *

How these INSERTs and UPDATEs are recorded depends on the * value of the IncludeOpForFullLoad parameter. If * IncludeOpForFullLoad is set to true, the first field of every * CDC record is set to either I or U to indicate INSERT and UPDATE @@ -3367,6 +3473,50 @@ export interface SybaseSettings { SecretsManagerSecretId?: string; } +/** + * @public + *

Provides information that defines an Amazon Timestream endpoint.

+ */ +export interface TimestreamSettings { + /** + *

Database name for the endpoint.

+ */ + DatabaseName: string | undefined; + + /** + *

Set this attribute to specify the length of time to store all of the tables in memory + * that are migrated into Amazon Timestream from the source database. Time is measured in units + * of hours. When Timestream data comes in, it first resides in memory for the specified duration, + * which allows quick access to it.

+ */ + MemoryDuration: number | undefined; + + /** + *

Set this attribute to specify the default magnetic duration applied to the Amazon Timestream + * tables in days. This is the number of days that records remain in magnetic store + * before being discarded. For more information, see Storage in the + * Amazon Timestream Developer Guide.

+ */ + MagneticDuration: number | undefined; + + /** + *

Set this attribute to true to specify that DMS only + * applies inserts and updates, and not deletes. Amazon Timestream does not allow + * deleting records, so if this value is false, DMS nulls out + * the corresponding record in the Timestream database rather than deleting it.

+ */ + CdcInsertsAndUpdates?: boolean; + + /** + *

Set this attribute to true to enable memory store writes. + * When this value is false, DMS does not write records that are older + * in days than the value specified in MagneticDuration, because Amazon Timestream does not + * allow memory writes by default. For more information, see Storage in the + * Amazon Timestream Developer Guide.

+ */ + EnableMagneticStoreWrites?: boolean; +} + /** * @public *

@@ -3642,6 +3792,11 @@ export interface CreateEndpointMessage { *

Settings in JSON format for the source GCP MySQL endpoint.

*/ GcpMySQLSettings?: GcpMySQLSettings; + + /** + *

Settings in JSON format for the target Amazon Timestream endpoint.

+ */ + TimestreamSettings?: TimestreamSettings; } /** @@ -3873,6 +4028,12 @@ export interface Endpoint { *

Settings in JSON format for the source GCP MySQL endpoint.

*/ GcpMySQLSettings?: GcpMySQLSettings; + + /** + *

The settings for the Amazon Timestream target endpoint. For more information, see the + * TimestreamSettings structure.

+ */ + TimestreamSettings?: TimestreamSettings; } /** @@ -3913,7 +4074,11 @@ export class KMSKeyNotAccessibleFault extends __BaseException { export class ResourceAlreadyExistsFault extends __BaseException { readonly name: "ResourceAlreadyExistsFault" = "ResourceAlreadyExistsFault"; readonly $fault: "client" = "client"; + /** + *

+ */ resourceArn?: string; + /** * @internal */ @@ -4316,174 +4481,483 @@ export class S3ResourceNotFoundFault extends __BaseException { /** * @public - *

+ *

Configuration parameters for provisioning an DMS Serverless replication.

*/ -export interface CreateReplicationInstanceMessage { +export interface ComputeConfig { /** - *

The replication instance identifier. This parameter is stored as a lowercase - * string.

- *

Constraints:

- *
    - *
  • - *

    Must contain 1-63 alphanumeric characters or hyphens.

    - *
  • - *
  • - *

    First character must be a letter.

    - *
  • - *
  • - *

    Can't end with a hyphen or contain two consecutive hyphens.

    - *
  • - *
- *

Example: myrepinstance - *

+ *

The Availability Zone where the DMS Serverless replication using this configuration will run. + * The default value is a random, system-chosen Availability Zone in the configuration's Amazon Web Services Region, + * for example, "us-west-2". You can't set this parameter if the MultiAZ + * parameter is set to true.

*/ - ReplicationInstanceIdentifier: string | undefined; + AvailabilityZone?: string; /** - *

The amount of storage (in gigabytes) to be initially allocated for the replication - * instance.

+ *

A list of custom DNS name servers supported for the DMS Serverless replication + * to access your source or target database. This list overrides the default name servers + * supported by the DMS Serverless replication. You can specify a comma-separated list of + * internet addresses for up to four DNS name servers. + * For example: "1.1.1.1,2.2.2.2,3.3.3.3,4.4.4.4" + *

*/ - AllocatedStorage?: number; + DnsNameServers?: string; /** - *

The compute and memory capacity of the replication instance as defined for the specified - * replication instance class. For example to specify the instance class dms.c4.large, set this parameter to "dms.c4.large".

- *

For more information on the settings and capacities for the available replication instance classes, see - * - * Selecting the right DMS replication instance for your migration. - *

+ *

An Key Management Service (KMS) key Amazon Resource Name (ARN) that is used to encrypt the data during + * DMS Serverless replication.

+ *

If you don't specify a value for the KmsKeyId parameter, DMS uses your default + * encryption key.

+ *

KMS creates the default encryption key for your Amazon Web Services account. Your Amazon Web Services account has a + * different default encryption key for each Amazon Web Services Region.

*/ - ReplicationInstanceClass: string | undefined; + KmsKeyId?: string; /** - *

Specifies the VPC security group to be used with the replication instance. The VPC - * security group must work with the VPC containing the replication instance.

+ *

Specifies the maximum value of the DMS capacity units (DCUs) for which a given DMS Serverless + * replication can be provisioned. A single DCU is 2GB of RAM, with 2 DCUs as the minimum value allowed. + * The list of valid DCU values includes 2, 4, 8, 16, 32, 64, 128, 192, 256, and 384. So, the maximum value + * that you can specify for DMS Serverless is 384. The MaxCapacityUnits parameter is the only + * DCU parameter you are required to specify.

*/ - VpcSecurityGroupIds?: string[]; + MaxCapacityUnits?: number; /** - *

The Availability Zone where the replication instance will be created. The default - * value is a random, system-chosen Availability Zone in the endpoint's Amazon Web Services Region, for - * example: us-east-1d - *

+ *

Specifies the minimum value of the DMS capacity units (DCUs) for which a given DMS + * Serverless replication can be provisioned. A single DCU is 2GB of RAM, with 2 DCUs as the minimum value + * allowed. The list of valid DCU values includes 2, 4, 8, 16, 32, 64, 128, 192, 256, and 384. So, the minimum DCU + * value that you can specify for DMS Serverless is 2. You don't have to specify a value for the + * MinCapacityUnits parameter. If you don't set this value, DMS scans the current activity + * of available source tables to identify an optimum setting for this parameter. If there is no current + * source activity or DMS can't otherwise identify a more appropriate value, it sets this parameter to + * the minimum DCU value allowed, 2.

*/ - AvailabilityZone?: string; + MinCapacityUnits?: number; /** - *

A subnet group to associate with the replication instance.

+ *

Specifies whether the DMS Serverless replication is a Multi-AZ deployment. You can't set the + * AvailabilityZone parameter if the MultiAZ parameter is set to + * true.

*/ - ReplicationSubnetGroupIdentifier?: string; + MultiAZ?: boolean; /** - *

The weekly time range during which system maintenance can occur, in Universal - * Coordinated Time (UTC).

- *

Format: ddd:hh24:mi-ddd:hh24:mi - *

- *

Default: A 30-minute window selected at random from an 8-hour block of time per Amazon Web Services Region, - * occurring on a random day of the week.

- *

Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun

- *

Constraints: Minimum 30-minute window.

+ *

The weekly time range during which system maintenance can occur for the DMS Serverless + * replication, in Universal Coordinated Time (UTC). The format is ddd:hh24:mi-ddd:hh24:mi.

+ *

The default is a 30-minute window selected at random from an 8-hour block of time per Amazon Web Services Region. + * This maintenance occurs on a random day of the week. Valid values for days of the week include + * Mon, Tue, Wed, Thu, Fri, Sat, + * and Sun.

+ *

Constraints include a minimum 30-minute window.

*/ PreferredMaintenanceWindow?: string; /** - *

Specifies whether the replication instance is a Multi-AZ deployment. You can't set the - * AvailabilityZone parameter if the Multi-AZ parameter is set to - * true.

+ *

Specifies a subnet group identifier to associate with the DMS Serverless replication.

*/ - MultiAZ?: boolean; + ReplicationSubnetGroupId?: string; /** - *

The engine version number of the replication instance.

- *

If an engine version number is not specified when a replication - * instance is created, the default is the latest engine version available.

+ *

Specifies the virtual private cloud (VPC) security group to use with the DMS Serverless + * replication. The VPC security group must work with the VPC containing the replication.

*/ - EngineVersion?: string; + VpcSecurityGroupIds?: string[]; +} + +/** + * @public + * @enum + */ +export const MigrationTypeValue = { + CDC: "cdc", + FULL_LOAD: "full-load", + FULL_LOAD_AND_CDC: "full-load-and-cdc", +} as const; + +/** + * @public + */ +export type MigrationTypeValue = (typeof MigrationTypeValue)[keyof typeof MigrationTypeValue]; +/** + * @public + *

+ */ +export interface CreateReplicationConfigMessage { /** - *

A value that indicates whether minor engine upgrades are applied automatically to the - * replication instance during the maintenance window. This parameter defaults to - * true.

- *

Default: true - *

- *

When AutoMinorVersionUpgrade is enabled, DMS uses the current default - * engine version when you create a replication instance. For example, if you set - * EngineVersion to a lower version number than the current default version, - * DMS uses the default version.

- *

If AutoMinorVersionUpgrade - * isn’t enabled when you create a replication instance, DMS uses the - * engine version specified by the EngineVersion parameter.

+ *

A unique identifier that you want to use to create a ReplicationConfigArn that is + * returned as part of the output from this action. You can then pass this output ReplicationConfigArn + * as the value of the ReplicationConfigArn option for other actions to identify both + * DMS Serverless replications and replication configurations that you want those actions to operate on. + * For some actions, you can also use either this unique identifier or a corresponding ARN in action filters to + * identify the specific replication and replication configuration to operate on.

*/ - AutoMinorVersionUpgrade?: boolean; + ReplicationConfigIdentifier: string | undefined; /** - *

One or more tags to be assigned to the replication instance.

+ *

The Amazon Resource Name (ARN) of the source endpoint for + * this DMS Serverless replication configuration.

*/ - Tags?: Tag[]; + SourceEndpointArn: string | undefined; /** - *

An KMS key identifier that is used to encrypt the data on the replication - * instance.

- *

If you don't specify a value for the KmsKeyId parameter, then - * DMS uses your default encryption key.

- *

KMS creates the default encryption key for your Amazon Web Services account. Your Amazon Web Services account has a - * different default encryption key for each Amazon Web Services Region.

+ *

The Amazon Resource Name (ARN) of the target endpoint for + * this DMS serverless replication configuration.

*/ - KmsKeyId?: string; + TargetEndpointArn: string | undefined; /** - *

Specifies the accessibility options for the replication instance. A value of - * true represents an instance with a public IP address. A value of - * false represents an instance with a private IP address. The default value - * is true.

+ *

Configuration parameters for provisioning an DMS Serverless replication.

*/ - PubliclyAccessible?: boolean; + ComputeConfig: ComputeConfig | undefined; /** - *

A list of custom DNS name servers supported for the replication instance to access your - * on-premise source or target database. This list overrides the default name servers - * supported by the replication instance. You can specify a comma-separated list of internet - * addresses for up to four on-premise DNS name servers. For example: - * "1.1.1.1,2.2.2.2,3.3.3.3,4.4.4.4" - *

+ *

The type of DMS Serverless replication to provision + * using this replication configuration.

+ *

Possible values:

+ *
    + *
  • + *

    + * "full-load" + *

    + *
  • + *
  • + *

    + * "cdc" + *

    + *
  • + *
  • + *

    + * "full-load-and-cdc" + *

    + *
  • + *
*/ - DnsNameServers?: string; + ReplicationType: MigrationTypeValue | string | undefined; /** - *

A friendly name for the resource identifier at the end of the EndpointArn - * response parameter that is returned in the created Endpoint object. The value - * for this parameter can have up to 31 characters. It can contain only ASCII letters, digits, - * and hyphen ('-'). Also, it can't end with a hyphen or contain two consecutive hyphens, - * and can only begin with a letter, such as Example-App-ARN1. For example, this - * value might result in the EndpointArn value - * arn:aws:dms:eu-west-1:012345678901:rep:Example-App-ARN1. If you don't - * specify a ResourceIdentifier value, DMS generates a default identifier - * value for the end of EndpointArn.

+ *

JSON table mappings for DMS Serverless replications that are provisioned + * using this replication configuration. For more information, see + * + * Specifying table selection and transformations rules using JSON.

+ */ + TableMappings: string | undefined; + + /** + *

Optional JSON settings for DMS Serverless replications that are + * provisioned using this replication configuration. For example, see + * + * Change processing tuning settings.

+ */ + ReplicationSettings?: string; + + /** + *

Optional JSON settings for specifying supplemental data. For more information, see + * + * Specifying supplemental data for task settings.

+ */ + SupplementalSettings?: string; + + /** + *

Optional unique value or name that you set for a given resource + * that can be used to construct an Amazon Resource Name (ARN) for that resource. For more information, see + * + * Fine-grained access control using resource names and tags.

*/ ResourceIdentifier?: string; /** - *

The type of IP address protocol used by a replication instance, - * such as IPv4 only or Dual-stack that supports both IPv4 and IPv6 addressing. - * IPv6 only is not yet supported.

+ *

One or more optional tags associated with resources used by the DMS Serverless replication. + * For more information, see + * Tagging resources in Database Migration Service.

*/ - NetworkType?: string; + Tags?: Tag[]; } /** * @public - *

Provides information about the values of pending modifications to a replication - * instance. This data type is an object of the - * - * ReplicationInstance - * user-defined - * data type.

+ *

This object provides configuration information about a serverless replication.

*/ -export interface ReplicationPendingModifiedValues { +export interface ReplicationConfig { /** - *

The compute and memory capacity of the replication instance as defined for the specified - * replication instance class.

- *

For more information on the settings and capacities for the available replication instance classes, see + *

The identifier for the ReplicationConfig associated with the replication.

+ */ + ReplicationConfigIdentifier?: string; + + /** + *

The Amazon Resource Name (ARN) of + * this DMS Serverless replication configuration.

+ */ + ReplicationConfigArn?: string; + + /** + *

The Amazon Resource Name (ARN) of the source endpoint for + * this DMS serverless replication configuration.

+ */ + SourceEndpointArn?: string; + + /** + *

The Amazon Resource Name (ARN) of the target endpoint for + * this DMS serverless replication configuration.

+ */ + TargetEndpointArn?: string; + + /** + *

The type of the replication.

+ */ + ReplicationType?: MigrationTypeValue | string; + + /** + *

Configuration parameters for provisioning an DMS serverless replication.

+ */ + ComputeConfig?: ComputeConfig; + + /** + *

Configuration parameters for an DMS serverless replication.

+ */ + ReplicationSettings?: string; + + /** + *

Additional parameters for an DMS serverless replication.

+ */ + SupplementalSettings?: string; + + /** + *

Table mappings specified in the replication.

+ */ + TableMappings?: string; + + /** + *

The time the serverless replication config was created.

+ */ + ReplicationConfigCreateTime?: Date; + + /** + *

The time the serverless replication config was updated.

+ */ + ReplicationConfigUpdateTime?: Date; +} + +/** + * @public + *

+ */ +export interface CreateReplicationConfigResponse { + /** + *

Configuration parameters returned from the DMS Serverless replication after it is created.

+ */ + ReplicationConfig?: ReplicationConfig; +} + +/** + * @public + *

The subnet provided isn't valid.

+ */ +export class InvalidSubnet extends __BaseException { + readonly name: "InvalidSubnet" = "InvalidSubnet"; + readonly $fault: "client" = "client"; + /** + * @internal + */ + constructor(opts: __ExceptionOptionType) { + super({ + name: "InvalidSubnet", + $fault: "client", + ...opts, + }); + Object.setPrototypeOf(this, InvalidSubnet.prototype); + } +} + +/** + * @public + *

The replication subnet group does not cover enough Availability Zones (AZs). Edit the replication subnet group and add more AZs.

+ */ +export class ReplicationSubnetGroupDoesNotCoverEnoughAZs extends __BaseException { + readonly name: "ReplicationSubnetGroupDoesNotCoverEnoughAZs" = "ReplicationSubnetGroupDoesNotCoverEnoughAZs"; + readonly $fault: "client" = "client"; + /** + * @internal + */ + constructor(opts: __ExceptionOptionType) { + super({ + name: "ReplicationSubnetGroupDoesNotCoverEnoughAZs", + $fault: "client", + ...opts, + }); + Object.setPrototypeOf(this, ReplicationSubnetGroupDoesNotCoverEnoughAZs.prototype); + } +} + +/** + * @public + *

+ */ +export interface CreateReplicationInstanceMessage { + /** + *

The replication instance identifier. This parameter is stored as a lowercase + * string.

+ *

Constraints:

+ *
    + *
  • + *

    Must contain 1-63 alphanumeric characters or hyphens.

    + *
  • + *
  • + *

    First character must be a letter.

    + *
  • + *
  • + *

    Can't end with a hyphen or contain two consecutive hyphens.

    + *
  • + *
+ *

Example: myrepinstance + *

+ */ + ReplicationInstanceIdentifier: string | undefined; + + /** + *

The amount of storage (in gigabytes) to be initially allocated for the replication + * instance.

+ */ + AllocatedStorage?: number; + + /** + *

The compute and memory capacity of the replication instance as defined for the specified + * replication instance class. For example to specify the instance class dms.c4.large, set this parameter to "dms.c4.large".

+ *

For more information on the settings and capacities for the available replication instance classes, see + * + * Choosing the right DMS replication instance; and, + * Selecting the best size for a replication instance. + *

+ */ + ReplicationInstanceClass: string | undefined; + + /** + *

Specifies the VPC security group to be used with the replication instance. The VPC + * security group must work with the VPC containing the replication instance.

+ */ + VpcSecurityGroupIds?: string[]; + + /** + *

The Availability Zone where the replication instance will be created. The default + * value is a random, system-chosen Availability Zone in the endpoint's Amazon Web Services Region, for + * example: us-east-1d.

+ */ + AvailabilityZone?: string; + + /** + *

A subnet group to associate with the replication instance.

+ */ + ReplicationSubnetGroupIdentifier?: string; + + /** + *

The weekly time range during which system maintenance can occur, in Universal + * Coordinated Time (UTC).

+ *

Format: ddd:hh24:mi-ddd:hh24:mi + *

+ *

Default: A 30-minute window selected at random from an 8-hour block of time per Amazon Web Services Region, + * occurring on a random day of the week.

+ *

Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun

+ *

Constraints: Minimum 30-minute window.

+ */ + PreferredMaintenanceWindow?: string; + + /** + *

Specifies whether the replication instance is a Multi-AZ deployment. You can't set the + * AvailabilityZone parameter if the Multi-AZ parameter is set to + * true.

+ */ + MultiAZ?: boolean; + + /** + *

The engine version number of the replication instance.

+ *

If an engine version number is not specified when a replication + * instance is created, the default is the latest engine version available.

+ */ + EngineVersion?: string; + + /** + *

A value that indicates whether minor engine upgrades are applied automatically to the + * replication instance during the maintenance window. This parameter defaults to + * true.

+ *

Default: true + *

+ *

When AutoMinorVersionUpgrade is enabled, DMS uses the current default + * engine version when you create a replication instance. For example, if you set + * EngineVersion to a lower version number than the current default version, + * DMS uses the default version.

+ *

If AutoMinorVersionUpgrade + * isn’t enabled when you create a replication instance, DMS uses the + * engine version specified by the EngineVersion parameter.

+ */ + AutoMinorVersionUpgrade?: boolean; + + /** + *

One or more tags to be assigned to the replication instance.

+ */ + Tags?: Tag[]; + + /** + *

An KMS key identifier that is used to encrypt the data on the replication + * instance.

+ *

If you don't specify a value for the KmsKeyId parameter, then + * DMS uses your default encryption key.

+ *

KMS creates the default encryption key for your Amazon Web Services account. Your Amazon Web Services account has a + * different default encryption key for each Amazon Web Services Region.

+ */ + KmsKeyId?: string; + + /** + *

Specifies the accessibility options for the replication instance. A value of + * true represents an instance with a public IP address. A value of + * false represents an instance with a private IP address. The default value + * is true.

+ */ + PubliclyAccessible?: boolean; + + /** + *

A list of custom DNS name servers supported for the replication instance to access your + * on-premise source or target database. This list overrides the default name servers + * supported by the replication instance. You can specify a comma-separated list of internet + * addresses for up to four on-premise DNS name servers. For example: + * "1.1.1.1,2.2.2.2,3.3.3.3,4.4.4.4" + *

+ */ + DnsNameServers?: string; + + /** + *

A friendly name for the resource identifier at the end of the EndpointArn + * response parameter that is returned in the created Endpoint object. The value + * for this parameter can have up to 31 characters. It can contain only ASCII letters, digits, + * and hyphen ('-'). Also, it can't end with a hyphen or contain two consecutive hyphens, + * and can only begin with a letter, such as Example-App-ARN1. For example, this + * value might result in the EndpointArn value + * arn:aws:dms:eu-west-1:012345678901:rep:Example-App-ARN1. If you don't + * specify a ResourceIdentifier value, DMS generates a default identifier + * value for the end of EndpointArn.

+ */ + ResourceIdentifier?: string; + + /** + *

The type of IP address protocol used by a replication instance, + * such as IPv4 only or Dual-stack that supports both IPv4 and IPv6 addressing. + * IPv6 only is not yet supported.

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

Provides information about the values of pending modifications to a replication + * instance. This data type is an object of the + * + * ReplicationInstance + * user-defined + * data type.

+ */ +export interface ReplicationPendingModifiedValues { + /** + *

The compute and memory capacity of the replication instance as defined for the specified + * replication instance class.

+ *

For more information on the settings and capacities for the available replication instance classes, see * * Selecting the right DMS replication instance for your migration. *

@@ -4888,55 +5362,15 @@ export class InsufficientResourceCapacityFault extends __BaseException { /** * @public - *

The subnet provided is invalid.

+ *

The storage quota has been exceeded.

*/ -export class InvalidSubnet extends __BaseException { - readonly name: "InvalidSubnet" = "InvalidSubnet"; +export class StorageQuotaExceededFault extends __BaseException { + readonly name: "StorageQuotaExceededFault" = "StorageQuotaExceededFault"; readonly $fault: "client" = "client"; /** * @internal */ - constructor(opts: __ExceptionOptionType) { - super({ - name: "InvalidSubnet", - $fault: "client", - ...opts, - }); - Object.setPrototypeOf(this, InvalidSubnet.prototype); - } -} - -/** - * @public - *

The replication subnet group does not cover enough Availability Zones (AZs). Edit the replication subnet group and add more AZs.

- */ -export class ReplicationSubnetGroupDoesNotCoverEnoughAZs extends __BaseException { - readonly name: "ReplicationSubnetGroupDoesNotCoverEnoughAZs" = "ReplicationSubnetGroupDoesNotCoverEnoughAZs"; - readonly $fault: "client" = "client"; - /** - * @internal - */ - constructor(opts: __ExceptionOptionType) { - super({ - name: "ReplicationSubnetGroupDoesNotCoverEnoughAZs", - $fault: "client", - ...opts, - }); - Object.setPrototypeOf(this, ReplicationSubnetGroupDoesNotCoverEnoughAZs.prototype); - } -} - -/** - * @public - *

The storage quota has been exceeded.

- */ -export class StorageQuotaExceededFault extends __BaseException { - readonly name: "StorageQuotaExceededFault" = "StorageQuotaExceededFault"; - readonly $fault: "client" = "client"; - /** - * @internal - */ - constructor(opts: __ExceptionOptionType) { + constructor(opts: __ExceptionOptionType) { super({ name: "StorageQuotaExceededFault", $fault: "client", @@ -4988,21 +5422,6 @@ export interface CreateReplicationSubnetGroupResponse { ReplicationSubnetGroup?: ReplicationSubnetGroup; } -/** - * @public - * @enum - */ -export const MigrationTypeValue = { - CDC: "cdc", - FULL_LOAD: "full-load", - FULL_LOAD_AND_CDC: "full-load-and-cdc", -} as const; - -/** - * @public - */ -export type MigrationTypeValue = (typeof MigrationTypeValue)[keyof typeof MigrationTypeValue]; - /** * @public *

@@ -5791,6 +6210,28 @@ export class InvalidOperationFault extends __BaseException { } } +/** + * @public + *

+ */ +export interface DeleteReplicationConfigMessage { + /** + *

The replication config to delete.

+ */ + ReplicationConfigArn: string | undefined; +} + +/** + * @public + *

+ */ +export interface DeleteReplicationConfigResponse { + /** + *

Configuration parameters returned for the DMS Serverless replication after it is deleted.

+ */ + ReplicationConfig?: ReplicationConfig; +} + /** * @public *

@@ -6138,7 +6579,7 @@ export interface DescribeEndpointsResponse { */ export interface DescribeEndpointSettingsMessage { /** - *

The databse engine used for your source or target endpoint.

+ *

The database engine used for your source or target endpoint.

*/ EngineName: string | undefined; @@ -7650,6 +8091,11 @@ export interface RdsRequirements { * Single-AZ deployments.

*/ DeploymentOption?: string; + + /** + *

The required target Amazon RDS engine version.

+ */ + EngineVersion?: string; } /** @@ -7706,6 +8152,11 @@ export interface RdsConfiguration { * "MULTI_AZ" and "SINGLE_AZ".

*/ DeploymentOption?: string; + + /** + *

Describes the recommended target Amazon RDS engine version.

+ */ + EngineVersion?: string; } /** @@ -7884,6 +8335,47 @@ export interface DescribeRefreshSchemasStatusResponse { RefreshSchemasStatus?: RefreshSchemasStatus; } +/** + * @public + *

+ */ +export interface DescribeReplicationConfigsMessage { + /** + *

Filters applied to the replication configs.

+ */ + Filters?: Filter[]; + + /** + *

The maximum number of records to include in the response. If more records exist than the specified + * MaxRecords value, a pagination token called a marker is included in the response so that + * the remaining results can be retrieved.

+ */ + MaxRecords?: number; + + /** + *

An optional pagination token provided by a previous request. If this parameter is specified, + * the response includes only records beyond the marker, up to the value specified by MaxRecords.

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

+ */ +export interface DescribeReplicationConfigsResponse { + /** + *

An optional pagination token provided by a previous request. If this parameter is specified, the response + * includes only records beyond the marker, up to the value specified by MaxRecords.

+ */ + Marker?: string; + + /** + *

Returned configuration parameters that describe each provisioned DMS Serverless replication.

+ */ + ReplicationConfigs?: ReplicationConfig[]; +} + /** * @public *

@@ -8005,371 +8497,321 @@ export interface DescribeReplicationInstanceTaskLogsResponse { * @public *

*/ -export interface DescribeReplicationSubnetGroupsMessage { +export interface DescribeReplicationsMessage { /** - *

Filters applied to replication subnet groups.

- *

Valid filter names: replication-subnet-group-id

+ *

Filters applied to the replications.

*/ Filters?: Filter[]; /** - *

The maximum number of records to include in the response. If more records exist than - * the specified MaxRecords value, a pagination token called a marker is included - * in the response so that the remaining results can be retrieved.

- *

Default: 100

- *

Constraints: Minimum 20, maximum 100.

+ *

The maximum number of records to include in the response. If more records exist than the specified + * MaxRecords value, a pagination token called a marker is included in the response so that + * the remaining results can be retrieved.

*/ MaxRecords?: number; /** - *

An optional pagination token provided by a previous request. If this parameter is - * specified, the response includes only records beyond the marker, up to the value specified - * by MaxRecords.

+ *

An optional pagination token provided by a previous request. If this parameter is specified, + * the response includes only records beyond the marker, up to the value specified by MaxRecords.

*/ Marker?: string; } /** * @public - *

+ *

Information about provisioning resources for an DMS serverless replication.

*/ -export interface DescribeReplicationSubnetGroupsResponse { +export interface ProvisionData { /** - *

An optional pagination token provided by a previous request. If this parameter is - * specified, the response includes only records beyond the marker, up to the value specified - * by MaxRecords.

+ *

The current provisioning state

*/ - Marker?: string; + ProvisionState?: string; /** - *

A description of the replication subnet groups.

+ *

The number of capacity units the replication is using.

*/ - ReplicationSubnetGroups?: ReplicationSubnetGroup[]; -} + ProvisionedCapacityUnits?: number; -/** - * @public - *

- */ -export interface DescribeReplicationTaskAssessmentResultsMessage { /** - *

The Amazon Resource Name (ARN) string that uniquely identifies the task. When this input - * parameter is specified, the API returns only one result and ignore the values of the - * MaxRecords and Marker parameters.

+ *

The timestamp when DMS provisioned replication resources.

*/ - ReplicationTaskArn?: string; + DateProvisioned?: Date; /** - *

The maximum number of records to include in the response. If more records exist than - * the specified MaxRecords value, a pagination token called a marker is included - * in the response so that the remaining results can be retrieved.

- *

Default: 100

- *

Constraints: Minimum 20, maximum 100.

+ *

Whether the new provisioning is available to the replication.

*/ - MaxRecords?: number; + IsNewProvisioningAvailable?: boolean; /** - *

An optional pagination token provided by a previous request. If this parameter is - * specified, the response includes only records beyond the marker, up to the value specified - * by MaxRecords.

+ *

The timestamp when provisioning became available.

*/ - Marker?: string; + DateNewProvisioningDataAvailable?: Date; + + /** + *

A message describing the reason that DMS provisioned new resources for the serverless replication.

+ */ + ReasonForNewProvisioningData?: string; } /** * @public - *

The task assessment report in JSON format.

+ *

This object provides a collection of statistics about a serverless replication.

*/ -export interface ReplicationTaskAssessmentResult { +export interface ReplicationStats { /** - *

The replication task identifier of the task on which the task assessment was run. - *

+ *

The percent complete for the full load serverless replication.

*/ - ReplicationTaskIdentifier?: string; + FullLoadProgressPercent?: number; /** - *

The Amazon Resource Name (ARN) of the replication task.

+ *

The elapsed time of the replication, in milliseconds.

*/ - ReplicationTaskArn?: string; + ElapsedTimeMillis?: number; /** - *

The date the task assessment was completed.

+ *

The number of tables loaded for this replication.

*/ - ReplicationTaskLastAssessmentDate?: Date; + TablesLoaded?: number; /** - *

The status of the task assessment.

+ *

The number of tables currently loading for this replication.

*/ - AssessmentStatus?: string; + TablesLoading?: number; /** - *

The file containing the results of the task assessment.

+ *

The number of tables queued for this replication.

*/ - AssessmentResultsFile?: string; + TablesQueued?: number; /** - *

The task assessment results in JSON format.

- *

The response object only contains this field if you provide DescribeReplicationTaskAssessmentResultsMessage$ReplicationTaskArn - * in the request.

+ *

The number of errors that have occured for this replication.

*/ - AssessmentResults?: string; + TablesErrored?: number; /** - *

The URL of the S3 object containing the task assessment results.

- *

The response object only contains this field if you provide DescribeReplicationTaskAssessmentResultsMessage$ReplicationTaskArn - * in the request.

+ *

The date the replication was started either with a fresh start or a target reload.

*/ - S3ObjectUrl?: string; -} + FreshStartDate?: Date; -/** - * @public - *

- */ -export interface DescribeReplicationTaskAssessmentResultsResponse { /** - *

An optional pagination token provided by a previous request. If this parameter is - * specified, the response includes only records beyond the marker, up to the value specified - * by MaxRecords.

+ *

The date the replication is scheduled to start.

*/ - Marker?: string; + StartDate?: Date; /** - *

- The Amazon S3 bucket where the task assessment report is located.

+ *

The date the replication was stopped.

*/ - BucketName?: string; + StopDate?: Date; /** - *

The task assessment report.

+ *

The date the replication full load was started.

*/ - ReplicationTaskAssessmentResults?: ReplicationTaskAssessmentResult[]; + FullLoadStartDate?: Date; + + /** + *

The date the replication full load was finished.

+ */ + FullLoadFinishDate?: Date; } /** * @public - *

+ *

Provides information that describes a serverless replication created by the CreateReplication operation.

*/ -export interface DescribeReplicationTaskAssessmentRunsMessage { +export interface Replication { /** - *

Filters applied to the premigration assessment runs described in the form of key-value pairs.

- *

Valid filter names: replication-task-assessment-run-arn, replication-task-arn, - * replication-instance-arn, status - *

+ *

The identifier for the ReplicationConfig associated with the replication.

*/ - Filters?: Filter[]; + ReplicationConfigIdentifier?: string; /** - *

The maximum number of records to include in the response. If more records exist than the - * specified MaxRecords value, a pagination token called a marker is included in - * the response so that the remaining results can be retrieved.

+ *

The Amazon Resource Name for the ReplicationConfig associated with the replication.

*/ - MaxRecords?: number; + ReplicationConfigArn?: string; /** - *

An optional pagination token provided by a previous request. If this parameter is - * specified, the response includes only records beyond the marker, up to the value specified - * by MaxRecords.

+ *

The Amazon Resource Name for an existing Endpoint the serverless replication uses for its data source.

*/ - Marker?: string; -} + SourceEndpointArn?: string; -/** - * @public - *

- */ -export interface DescribeReplicationTaskAssessmentRunsResponse { /** - *

A pagination token returned for you to pass to a subsequent request. If you pass this - * token as the Marker value in a subsequent request, the response includes only - * records beyond the marker, up to the value specified in the request by - * MaxRecords.

+ *

The Amazon Resource Name for an existing Endpoint the serverless replication uses for its data target.

*/ - Marker?: string; + TargetEndpointArn?: string; /** - *

One or more premigration assessment runs as specified by Filters.

+ *

The type of the serverless replication.

*/ - ReplicationTaskAssessmentRuns?: ReplicationTaskAssessmentRun[]; -} + ReplicationType?: MigrationTypeValue | string; -/** - * @public - *

- */ -export interface DescribeReplicationTaskIndividualAssessmentsMessage { /** - *

Filters applied to the individual assessments described in the form of key-value - * pairs.

- *

Valid filter names: replication-task-assessment-run-arn, - * replication-task-arn, status - *

+ *

The current status of the serverless replication.

*/ - Filters?: Filter[]; + Status?: string; /** - *

The maximum number of records to include in the response. If more records exist than the - * specified MaxRecords value, a pagination token called a marker is included in - * the response so that the remaining results can be retrieved.

+ *

Information about provisioning resources for an DMS serverless replication.

*/ - MaxRecords?: number; + ProvisionData?: ProvisionData; /** - *

An optional pagination token provided by a previous request. If this parameter is - * specified, the response includes only records beyond the marker, up to the value specified - * by MaxRecords.

- */ - Marker?: string; -} - -/** - * @public - *

Provides information that describes an individual assessment from a premigration - * assessment run.

- */ -export interface ReplicationTaskIndividualAssessment { - /** - *

Amazon Resource Name (ARN) of this individual assessment.

- */ - ReplicationTaskIndividualAssessmentArn?: string; - - /** - *

ARN of the premigration assessment run that is created to run this individual - * assessment.

- */ - ReplicationTaskAssessmentRunArn?: string; - - /** - *

Name of this individual assessment.

- */ - IndividualAssessmentName?: string; - - /** - *

Individual assessment status.

- *

This status can have one of the following values:

+ *

The reason the replication task was stopped. This response parameter can return one of + * the following values:

*
    *
  • *

    - * "cancelled" + * "Stop Reason NORMAL" *

    *
  • *
  • *

    - * "error" + * "Stop Reason RECOVERABLE_ERROR" *

    *
  • *
  • *

    - * "failed" + * "Stop Reason FATAL_ERROR" *

    *
  • *
  • *

    - * "passed" + * "Stop Reason FULL_LOAD_ONLY_FINISHED" *

    *
  • *
  • *

    - * "pending" + * "Stop Reason STOPPED_AFTER_FULL_LOAD" – Full load completed, with cached changes not applied

    + *
  • + *
  • + *

    + * "Stop Reason STOPPED_AFTER_CACHED_EVENTS" – Full load completed, with cached changes applied

    + *
  • + *
  • + *

    + * "Stop Reason EXPRESS_LICENSE_LIMITS_REACHED" *

    *
  • *
  • *

    - * "running" + * "Stop Reason STOPPED_AFTER_DDL_APPLY" – User-defined stop task after DDL applied

    + *
  • + *
  • + *

    + * "Stop Reason STOPPED_DUE_TO_LOW_MEMORY" + *

    + *
  • + *
  • + *

    + * "Stop Reason STOPPED_DUE_TO_LOW_DISK" + *

    + *
  • + *
  • + *

    + * "Stop Reason STOPPED_AT_SERVER_TIME" – User-defined server time for stopping task

    + *
  • + *
  • + *

    + * "Stop Reason STOPPED_AT_COMMIT_TIME" – User-defined commit time for stopping task

    + *
  • + *
  • + *

    + * "Stop Reason RECONFIGURATION_RESTART" + *

    + *
  • + *
  • + *

    + * "Stop Reason RECYCLE_TASK" *

    *
  • *
*/ - Status?: string; + StopReason?: string; /** - *

Date when this individual assessment was started as part of running the - * StartReplicationTaskAssessmentRun operation.

+ *

Error and other information about why a serverless replication failed.

*/ - ReplicationTaskIndividualAssessmentStartDate?: Date; -} + FailureMessages?: string[]; -/** - * @public - *

- */ -export interface DescribeReplicationTaskIndividualAssessmentsResponse { /** - *

A pagination token returned for you to pass to a subsequent request. If you pass this - * token as the Marker value in a subsequent request, the response includes only - * records beyond the marker, up to the value specified in the request by - * MaxRecords.

+ *

This object provides a collection of statistics about a serverless replication.

*/ - Marker?: string; + ReplicationStats?: ReplicationStats; /** - *

One or more individual assessments as specified by Filters.

+ *

The replication type.

*/ - ReplicationTaskIndividualAssessments?: ReplicationTaskIndividualAssessment[]; -} + StartReplicationType?: string; -/** - * @public - *

- */ -export interface DescribeReplicationTasksMessage { /** - *

Filters applied to replication tasks.

- *

Valid filter names: replication-task-arn | replication-task-id | migration-type | - * endpoint-arn | replication-instance-arn

+ *

Indicates the start time for a change data capture (CDC) operation. Use either + * CdcStartTime or CdcStartPosition to specify when you want a CDC operation to start. + * Specifying both values results in an error.

*/ - Filters?: Filter[]; + CdcStartTime?: Date; /** - *

The maximum number of records to include in the response. If more records exist than - * the specified MaxRecords value, a pagination token called a marker is included - * in the response so that the remaining results can be retrieved.

- *

Default: 100

- *

Constraints: Minimum 20, maximum 100.

+ *

Indicates the start time for a change data capture (CDC) operation. Use either + * CdcStartTime or CdcStartPosition to specify when you want a CDC operation to start. + * Specifying both values results in an error.

*/ - MaxRecords?: number; + CdcStartPosition?: string; /** - *

An optional pagination token provided by a previous request. If this parameter is - * specified, the response includes only records beyond the marker, up to the value specified - * by MaxRecords.

+ *

Indicates when you want a change data capture (CDC) operation to stop. The value can be + * either server time or commit time.

*/ - Marker?: string; + CdcStopPosition?: string; /** - *

An option to set to avoid returning information about settings. Use this to reduce - * overhead when setting information is too large. To use this option, choose - * true; otherwise, choose false (the default).

+ *

Indicates the last checkpoint that occurred during a change data capture (CDC) + * operation. You can provide this value to the CdcStartPosition parameter to + * start a CDC operation that begins at that checkpoint.

*/ - WithoutSettings?: boolean; + RecoveryCheckpoint?: string; + + /** + *

The time the serverless replication was created.

+ */ + ReplicationCreateTime?: Date; + + /** + *

The time the serverless replication was updated.

+ */ + ReplicationUpdateTime?: Date; + + /** + *

The timestamp when replication was last stopped.

+ */ + ReplicationLastStopTime?: Date; } /** * @public *

*/ -export interface DescribeReplicationTasksResponse { +export interface DescribeReplicationsResponse { /** - *

An optional pagination token provided by a previous request. If this parameter is - * specified, the response includes only records beyond the marker, up to the value specified - * by MaxRecords.

+ *

An optional pagination token provided by a previous request. If this parameter is specified, + * the response includes only records beyond the marker, up to the value specified by MaxRecords.

*/ Marker?: string; /** - *

A description of the replication tasks.

+ *

The replication descriptions.

*/ - ReplicationTasks?: ReplicationTask[]; + Replications?: Replication[]; } /** * @public *

*/ -export interface DescribeSchemasMessage { +export interface DescribeReplicationSubnetGroupsMessage { /** - *

The Amazon Resource Name (ARN) string that uniquely identifies the endpoint.

+ *

Filters applied to replication subnet groups.

+ *

Valid filter names: replication-subnet-group-id

*/ - EndpointArn: string | undefined; + Filters?: Filter[]; /** *

The maximum number of records to include in the response. If more records exist than @@ -8392,7 +8834,7 @@ export interface DescribeSchemasMessage { * @public *

*/ -export interface DescribeSchemasResponse { +export interface DescribeReplicationSubnetGroupsResponse { /** *

An optional pagination token provided by a previous request. If this parameter is * specified, the response includes only records beyond the marker, up to the value specified @@ -8401,42 +8843,36 @@ export interface DescribeSchemasResponse { Marker?: string; /** - *

The described schema.

+ *

A description of the replication subnet groups.

*/ - Schemas?: string[]; + ReplicationSubnetGroups?: ReplicationSubnetGroup[]; } /** * @public *

*/ -export interface DescribeTableStatisticsMessage { +export interface DescribeReplicationTableStatisticsMessage { /** - *

The Amazon Resource Name (ARN) of the replication task.

+ *

The replication config to describe.

*/ - ReplicationTaskArn: string | undefined; + ReplicationConfigArn: string | undefined; /** - *

The maximum number of records to include in the response. If more records exist than - * the specified MaxRecords value, a pagination token called a marker is included - * in the response so that the remaining results can be retrieved.

- *

Default: 100

- *

Constraints: Minimum 20, maximum 500.

+ *

The maximum number of records to include in the response. If more records exist than the specified + * MaxRecords value, a pagination token called a marker is included in the response so that + * the remaining results can be retrieved.

*/ MaxRecords?: number; /** - *

An optional pagination token provided by a previous request. If this parameter is - * specified, the response includes only records beyond the marker, up to the value specified - * by MaxRecords.

+ *

An optional pagination token provided by a previous request. If this parameter is specified, + * the response includes only records beyond the marker, up to the value specified by MaxRecords.

*/ Marker?: string; /** - *

Filters applied to table statistics.

- *

Valid filter names: schema-name | table-name | table-state

- *

A combination of filters creates an AND condition where each record matches all - * specified filters.

+ *

Filters applied to the replication table statistics.

*/ Filters?: Filter[]; } @@ -8507,108 +8943,524 @@ export interface TableStatistics { *

The number of rows that failed conditional checks during the full load operation (valid * only for migrations where DynamoDB is the target).

*/ - FullLoadCondtnlChkFailedRows?: number; + FullLoadCondtnlChkFailedRows?: number; + + /** + *

The number of rows that failed to load during the full load operation (valid only for + * migrations where DynamoDB is the target).

+ */ + FullLoadErrorRows?: number; + + /** + *

The time when the full load operation started.

+ */ + FullLoadStartTime?: Date; + + /** + *

The time when the full load operation completed.

+ */ + FullLoadEndTime?: Date; + + /** + *

A value that indicates if the table was reloaded (true) + * or loaded as part of a new full load operation (false).

+ */ + FullLoadReloaded?: boolean; + + /** + *

The last time a table was updated.

+ */ + LastUpdateTime?: Date; + + /** + *

The state of the tables described.

+ *

Valid states: Table does not exist | Before load | Full load | Table completed | Table + * cancelled | Table error | Table is being reloaded

+ */ + TableState?: string; + + /** + *

The number of records that have yet to be validated.

+ */ + ValidationPendingRecords?: number; + + /** + *

The number of records that failed validation.

+ */ + ValidationFailedRecords?: number; + + /** + *

The number of records that couldn't be validated.

+ */ + ValidationSuspendedRecords?: number; + + /** + *

The validation state of the table.

+ *

This parameter can have the following values:

+ *
    + *
  • + *

    Not enabled – Validation isn't enabled for the table in the migration + * task.

    + *
  • + *
  • + *

    Pending records – Some records in the table are waiting for validation.

    + *
  • + *
  • + *

    Mismatched records – Some records in the table don't match between the source + * and target.

    + *
  • + *
  • + *

    Suspended records – Some records in the table couldn't be validated.

    + *
  • + *
  • + *

    No primary key –The table couldn't be validated because it has no primary + * key.

    + *
  • + *
  • + *

    Table error – The table wasn't validated because it's in an error state + * and some data wasn't migrated.

    + *
  • + *
  • + *

    Validated – All rows in the table are validated. If the table is updated, the + * status can change from Validated.

    + *
  • + *
  • + *

    Error – The table couldn't be validated because of an unexpected + * error.

    + *
  • + *
  • + *

    Pending validation – The table is waiting validation.

    + *
  • + *
  • + *

    Preparing table – Preparing the table enabled in the migration task for validation.

    + *
  • + *
  • + *

    Pending revalidation – All rows in the table are pending validation after the table was updated.

    + *
  • + *
+ */ + ValidationState?: string; + + /** + *

Additional details about the state of validation.

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

+ */ +export interface DescribeReplicationTableStatisticsResponse { + /** + *

The Amazon Resource Name of the replication config.

+ */ + ReplicationConfigArn?: string; + + /** + *

An optional pagination token provided by a previous request. If this parameter is specified, + * the response includes only records beyond the marker, up to the value specified by MaxRecords.

+ */ + Marker?: string; + + /** + *

Returns table statistics on the replication, including table name, rows inserted, rows updated, and rows deleted.

+ */ + ReplicationTableStatistics?: TableStatistics[]; +} + +/** + * @public + *

+ */ +export interface DescribeReplicationTaskAssessmentResultsMessage { + /** + *

The Amazon Resource Name (ARN) string that uniquely identifies the task. When this input + * parameter is specified, the API returns only one result and ignore the values of the + * MaxRecords and Marker parameters.

+ */ + ReplicationTaskArn?: string; + + /** + *

The maximum number of records to include in the response. If more records exist than + * the specified MaxRecords value, a pagination token called a marker is included + * in the response so that the remaining results can be retrieved.

+ *

Default: 100

+ *

Constraints: Minimum 20, maximum 100.

+ */ + MaxRecords?: number; + + /** + *

An optional pagination token provided by a previous request. If this parameter is + * specified, the response includes only records beyond the marker, up to the value specified + * by MaxRecords.

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

The task assessment report in JSON format.

+ */ +export interface ReplicationTaskAssessmentResult { + /** + *

The replication task identifier of the task on which the task assessment was run. + *

+ */ + ReplicationTaskIdentifier?: string; + + /** + *

The Amazon Resource Name (ARN) of the replication task.

+ */ + ReplicationTaskArn?: string; + + /** + *

The date the task assessment was completed.

+ */ + ReplicationTaskLastAssessmentDate?: Date; + + /** + *

The status of the task assessment.

+ */ + AssessmentStatus?: string; + + /** + *

The file containing the results of the task assessment.

+ */ + AssessmentResultsFile?: string; + + /** + *

The task assessment results in JSON format.

+ *

The response object only contains this field if you provide DescribeReplicationTaskAssessmentResultsMessage$ReplicationTaskArn + * in the request.

+ */ + AssessmentResults?: string; + + /** + *

The URL of the S3 object containing the task assessment results.

+ *

The response object only contains this field if you provide DescribeReplicationTaskAssessmentResultsMessage$ReplicationTaskArn + * in the request.

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

+ */ +export interface DescribeReplicationTaskAssessmentResultsResponse { + /** + *

An optional pagination token provided by a previous request. If this parameter is + * specified, the response includes only records beyond the marker, up to the value specified + * by MaxRecords.

+ */ + Marker?: string; + + /** + *

- The Amazon S3 bucket where the task assessment report is located.

+ */ + BucketName?: string; + + /** + *

The task assessment report.

+ */ + ReplicationTaskAssessmentResults?: ReplicationTaskAssessmentResult[]; +} + +/** + * @public + *

+ */ +export interface DescribeReplicationTaskAssessmentRunsMessage { + /** + *

Filters applied to the premigration assessment runs described in the form of key-value pairs.

+ *

Valid filter names: replication-task-assessment-run-arn, replication-task-arn, + * replication-instance-arn, status + *

+ */ + Filters?: Filter[]; + + /** + *

The maximum number of records to include in the response. If more records exist than the + * specified MaxRecords value, a pagination token called a marker is included in + * the response so that the remaining results can be retrieved.

+ */ + MaxRecords?: number; + + /** + *

An optional pagination token provided by a previous request. If this parameter is + * specified, the response includes only records beyond the marker, up to the value specified + * by MaxRecords.

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

+ */ +export interface DescribeReplicationTaskAssessmentRunsResponse { + /** + *

A pagination token returned for you to pass to a subsequent request. If you pass this + * token as the Marker value in a subsequent request, the response includes only + * records beyond the marker, up to the value specified in the request by + * MaxRecords.

+ */ + Marker?: string; + + /** + *

One or more premigration assessment runs as specified by Filters.

+ */ + ReplicationTaskAssessmentRuns?: ReplicationTaskAssessmentRun[]; +} + +/** + * @public + *

+ */ +export interface DescribeReplicationTaskIndividualAssessmentsMessage { + /** + *

Filters applied to the individual assessments described in the form of key-value + * pairs.

+ *

Valid filter names: replication-task-assessment-run-arn, + * replication-task-arn, status + *

+ */ + Filters?: Filter[]; + + /** + *

The maximum number of records to include in the response. If more records exist than the + * specified MaxRecords value, a pagination token called a marker is included in + * the response so that the remaining results can be retrieved.

+ */ + MaxRecords?: number; + + /** + *

An optional pagination token provided by a previous request. If this parameter is + * specified, the response includes only records beyond the marker, up to the value specified + * by MaxRecords.

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

Provides information that describes an individual assessment from a premigration + * assessment run.

+ */ +export interface ReplicationTaskIndividualAssessment { + /** + *

Amazon Resource Name (ARN) of this individual assessment.

+ */ + ReplicationTaskIndividualAssessmentArn?: string; + + /** + *

ARN of the premigration assessment run that is created to run this individual + * assessment.

+ */ + ReplicationTaskAssessmentRunArn?: string; + + /** + *

Name of this individual assessment.

+ */ + IndividualAssessmentName?: string; + + /** + *

Individual assessment status.

+ *

This status can have one of the following values:

+ *
    + *
  • + *

    + * "cancelled" + *

    + *
  • + *
  • + *

    + * "error" + *

    + *
  • + *
  • + *

    + * "failed" + *

    + *
  • + *
  • + *

    + * "passed" + *

    + *
  • + *
  • + *

    + * "pending" + *

    + *
  • + *
  • + *

    + * "running" + *

    + *
  • + *
+ */ + Status?: string; + + /** + *

Date when this individual assessment was started as part of running the + * StartReplicationTaskAssessmentRun operation.

+ */ + ReplicationTaskIndividualAssessmentStartDate?: Date; +} + +/** + * @public + *

+ */ +export interface DescribeReplicationTaskIndividualAssessmentsResponse { + /** + *

A pagination token returned for you to pass to a subsequent request. If you pass this + * token as the Marker value in a subsequent request, the response includes only + * records beyond the marker, up to the value specified in the request by + * MaxRecords.

+ */ + Marker?: string; + + /** + *

One or more individual assessments as specified by Filters.

+ */ + ReplicationTaskIndividualAssessments?: ReplicationTaskIndividualAssessment[]; +} + +/** + * @public + *

+ */ +export interface DescribeReplicationTasksMessage { + /** + *

Filters applied to replication tasks.

+ *

Valid filter names: replication-task-arn | replication-task-id | migration-type | + * endpoint-arn | replication-instance-arn

+ */ + Filters?: Filter[]; + + /** + *

The maximum number of records to include in the response. If more records exist than + * the specified MaxRecords value, a pagination token called a marker is included + * in the response so that the remaining results can be retrieved.

+ *

Default: 100

+ *

Constraints: Minimum 20, maximum 100.

+ */ + MaxRecords?: number; + + /** + *

An optional pagination token provided by a previous request. If this parameter is + * specified, the response includes only records beyond the marker, up to the value specified + * by MaxRecords.

+ */ + Marker?: string; + + /** + *

An option to set to avoid returning information about settings. Use this to reduce + * overhead when setting information is too large. To use this option, choose + * true; otherwise, choose false (the default).

+ */ + WithoutSettings?: boolean; +} +/** + * @public + *

+ */ +export interface DescribeReplicationTasksResponse { /** - *

The number of rows that failed to load during the full load operation (valid only for - * migrations where DynamoDB is the target).

+ *

An optional pagination token provided by a previous request. If this parameter is + * specified, the response includes only records beyond the marker, up to the value specified + * by MaxRecords.

*/ - FullLoadErrorRows?: number; + Marker?: string; /** - *

The time when the full load operation started.

+ *

A description of the replication tasks.

*/ - FullLoadStartTime?: Date; + ReplicationTasks?: ReplicationTask[]; +} +/** + * @public + *

+ */ +export interface DescribeSchemasMessage { /** - *

The time when the full load operation completed.

+ *

The Amazon Resource Name (ARN) string that uniquely identifies the endpoint.

*/ - FullLoadEndTime?: Date; + EndpointArn: string | undefined; /** - *

A value that indicates if the table was reloaded (true) - * or loaded as part of a new full load operation (false).

+ *

The maximum number of records to include in the response. If more records exist than + * the specified MaxRecords value, a pagination token called a marker is included + * in the response so that the remaining results can be retrieved.

+ *

Default: 100

+ *

Constraints: Minimum 20, maximum 100.

*/ - FullLoadReloaded?: boolean; + MaxRecords?: number; /** - *

The last time a table was updated.

+ *

An optional pagination token provided by a previous request. If this parameter is + * specified, the response includes only records beyond the marker, up to the value specified + * by MaxRecords.

*/ - LastUpdateTime?: Date; + Marker?: string; +} +/** + * @public + *

+ */ +export interface DescribeSchemasResponse { /** - *

The state of the tables described.

- *

Valid states: Table does not exist | Before load | Full load | Table completed | Table - * cancelled | Table error | Table is being reloaded

+ *

An optional pagination token provided by a previous request. If this parameter is + * specified, the response includes only records beyond the marker, up to the value specified + * by MaxRecords.

*/ - TableState?: string; + Marker?: string; /** - *

The number of records that have yet to be validated.

+ *

The described schema.

*/ - ValidationPendingRecords?: number; + Schemas?: string[]; +} +/** + * @public + *

+ */ +export interface DescribeTableStatisticsMessage { /** - *

The number of records that failed validation.

+ *

The Amazon Resource Name (ARN) of the replication task.

*/ - ValidationFailedRecords?: number; + ReplicationTaskArn: string | undefined; /** - *

The number of records that couldn't be validated.

+ *

The maximum number of records to include in the response. If more records exist than + * the specified MaxRecords value, a pagination token called a marker is included + * in the response so that the remaining results can be retrieved.

+ *

Default: 100

+ *

Constraints: Minimum 20, maximum 500.

*/ - ValidationSuspendedRecords?: number; + MaxRecords?: number; /** - *

The validation state of the table.

- *

This parameter can have the following values:

- *
    - *
  • - *

    Not enabled – Validation isn't enabled for the table in the migration - * task.

    - *
  • - *
  • - *

    Pending records – Some records in the table are waiting for validation.

    - *
  • - *
  • - *

    Mismatched records – Some records in the table don't match between the source - * and target.

    - *
  • - *
  • - *

    Suspended records – Some records in the table couldn't be validated.

    - *
  • - *
  • - *

    No primary key –The table couldn't be validated because it has no primary - * key.

    - *
  • - *
  • - *

    Table error – The table wasn't validated because it's in an error state - * and some data wasn't migrated.

    - *
  • - *
  • - *

    Validated – All rows in the table are validated. If the table is updated, the - * status can change from Validated.

    - *
  • - *
  • - *

    Error – The table couldn't be validated because of an unexpected - * error.

    - *
  • - *
  • - *

    Pending validation – The table is waiting validation.

    - *
  • - *
  • - *

    Preparing table – Preparing the table enabled in the migration task for validation.

    - *
  • - *
  • - *

    Pending revalidation – All rows in the table are pending validation after the table was updated.

    - *
  • - *
+ *

An optional pagination token provided by a previous request. If this parameter is + * specified, the response includes only records beyond the marker, up to the value specified + * by MaxRecords.

*/ - ValidationState?: string; + Marker?: string; /** - *

Additional details about the state of validation.

+ *

Filters applied to table statistics.

+ *

Valid filter names: schema-name | table-name | table-state

+ *

A combination of filters creates an AND condition where each record matches all + * specified filters.

*/ - ValidationStateDetails?: string; + Filters?: Filter[]; } /** @@ -8998,6 +9850,11 @@ export interface ModifyEndpointMessage { *

Settings in JSON format for the source GCP MySQL endpoint.

*/ GcpMySQLSettings?: GcpMySQLSettings; + + /** + *

Settings in JSON format for the target Amazon Timestream endpoint.

+ */ + TimestreamSettings?: TimestreamSettings; } /** @@ -9057,6 +9914,69 @@ export interface ModifyEventSubscriptionResponse { EventSubscription?: EventSubscription; } +/** + * @public + *

+ */ +export interface ModifyReplicationConfigMessage { + /** + *

The Amazon Resource Name of the replication to modify.

+ */ + ReplicationConfigArn: string | undefined; + + /** + *

The new replication config to apply to the replication.

+ */ + ReplicationConfigIdentifier?: string; + + /** + *

The type of replication.

+ */ + ReplicationType?: MigrationTypeValue | string; + + /** + *

Table mappings specified in the replication.

+ */ + TableMappings?: string; + + /** + *

The settings for the replication.

+ */ + ReplicationSettings?: string; + + /** + *

Additional settings for the replication.

+ */ + SupplementalSettings?: string; + + /** + *

Configuration parameters for provisioning an DMS Serverless replication.

+ */ + ComputeConfig?: ComputeConfig; + + /** + *

The Amazon Resource Name (ARN) of the source endpoint for + * this DMS serverless replication configuration.

+ */ + SourceEndpointArn?: string; + + /** + *

The Amazon Resource Name (ARN) of the target endpoint for + * this DMS serverless replication configuration.

+ */ + TargetEndpointArn?: string; +} + +/** + * @public + */ +export interface ModifyReplicationConfigResponse { + /** + *

Information about the serverless replication config that was modified.

+ */ + ReplicationConfig?: ReplicationConfig; +} + /** * @public *

@@ -9476,6 +10396,40 @@ export interface TableToReload { TableName: string | undefined; } +/** + * @public + *

+ */ +export interface ReloadReplicationTablesMessage { + /** + *

The Amazon Resource Name of the replication config for which to reload tables.

+ */ + ReplicationConfigArn: string | undefined; + + /** + *

The list of tables to reload.

+ */ + TablesToReload: TableToReload[] | undefined; + + /** + *

Options for reload. Specify data-reload to reload the data and re-validate + * it if validation is enabled. Specify validate-only to re-validate the table. + * This option applies only when validation is enabled for the replication.

+ */ + ReloadOption?: ReloadOptionValue | string; +} + +/** + * @public + *

+ */ +export interface ReloadReplicationTablesResponse { + /** + *

The Amazon Resource Name of the replication config for which to reload tables.

+ */ + ReplicationConfigArn?: string; +} + /** * @public */ @@ -9568,6 +10522,53 @@ export interface StartRecommendationsRequest { Settings: RecommendationSettings | undefined; } +/** + * @public + *

+ */ +export interface StartReplicationMessage { + /** + *

The Amazon Resource Name of the replication for which to start replication.

+ */ + ReplicationConfigArn: string | undefined; + + /** + *

The replication type.

+ */ + StartReplicationType: string | undefined; + + /** + *

Indicates the start time for a change data capture (CDC) operation. Use either CdcStartTime + * or CdcStartPosition to specify when you want a CDC operation to start. Specifying both values results in an error.

+ */ + CdcStartTime?: Date; + + /** + *

Indicates when you want a change data capture (CDC) operation to start. Use either + * CdcStartPosition or CdcStartTime to specify when you want a + * CDC operation to start. Specifying both values results in an error.

+ *

The value can be in date, checkpoint, or LSN/SCN format.

+ */ + CdcStartPosition?: string; + + /** + *

Indicates when you want a change data capture (CDC) operation to stop. The value can be + * either server time or commit time.

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

+ */ +export interface StartReplicationResponse { + /** + *

The replication that DMS started.

+ */ + Replication?: Replication; +} + /** * @public * @enum @@ -9801,6 +10802,27 @@ export interface StartReplicationTaskAssessmentRunResponse { ReplicationTaskAssessmentRun?: ReplicationTaskAssessmentRun; } +/** + * @public + *

+ */ +export interface StopReplicationMessage { + /** + *

The Amazon Resource Name of the replication to stop.

+ */ + ReplicationConfigArn: string | undefined; +} + +/** + * @public + */ +export interface StopReplicationResponse { + /** + *

The replication that DMS stopped.

+ */ + Replication?: Replication; +} + /** * @public *

diff --git a/clients/client-database-migration-service/src/pagination/DescribeReplicationConfigsPaginator.ts b/clients/client-database-migration-service/src/pagination/DescribeReplicationConfigsPaginator.ts new file mode 100644 index 000000000000..e75672095619 --- /dev/null +++ b/clients/client-database-migration-service/src/pagination/DescribeReplicationConfigsPaginator.ts @@ -0,0 +1,50 @@ +// smithy-typescript generated code +import { Paginator } from "@smithy/types"; + +import { + DescribeReplicationConfigsCommand, + DescribeReplicationConfigsCommandInput, + DescribeReplicationConfigsCommandOutput, +} from "../commands/DescribeReplicationConfigsCommand"; +import { DatabaseMigrationServiceClient } from "../DatabaseMigrationServiceClient"; +import { DatabaseMigrationServicePaginationConfiguration } from "./Interfaces"; + +/** + * @internal + */ +const makePagedClientRequest = async ( + client: DatabaseMigrationServiceClient, + input: DescribeReplicationConfigsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeReplicationConfigsCommand(input), ...args); +}; +/** + * @public + */ +export async function* paginateDescribeReplicationConfigs( + config: DatabaseMigrationServicePaginationConfiguration, + input: DescribeReplicationConfigsCommandInput, + ...additionalArguments: any +): Paginator { + // ToDo: replace with actual type instead of typeof input.Marker + let token: typeof input.Marker | undefined = config.startingToken || undefined; + let hasNext = true; + let page: DescribeReplicationConfigsCommandOutput; + while (hasNext) { + input.Marker = token; + input["MaxRecords"] = config.pageSize; + if (config.client instanceof DatabaseMigrationServiceClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected DatabaseMigrationService | DatabaseMigrationServiceClient"); + } + yield page; + const prevToken = token; + token = page.Marker; + hasNext = !!(token && (!config.stopOnSameToken || token !== prevToken)); + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-database-migration-service/src/pagination/DescribeReplicationTableStatisticsPaginator.ts b/clients/client-database-migration-service/src/pagination/DescribeReplicationTableStatisticsPaginator.ts new file mode 100644 index 000000000000..e8e2f37a40c3 --- /dev/null +++ b/clients/client-database-migration-service/src/pagination/DescribeReplicationTableStatisticsPaginator.ts @@ -0,0 +1,50 @@ +// smithy-typescript generated code +import { Paginator } from "@smithy/types"; + +import { + DescribeReplicationTableStatisticsCommand, + DescribeReplicationTableStatisticsCommandInput, + DescribeReplicationTableStatisticsCommandOutput, +} from "../commands/DescribeReplicationTableStatisticsCommand"; +import { DatabaseMigrationServiceClient } from "../DatabaseMigrationServiceClient"; +import { DatabaseMigrationServicePaginationConfiguration } from "./Interfaces"; + +/** + * @internal + */ +const makePagedClientRequest = async ( + client: DatabaseMigrationServiceClient, + input: DescribeReplicationTableStatisticsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeReplicationTableStatisticsCommand(input), ...args); +}; +/** + * @public + */ +export async function* paginateDescribeReplicationTableStatistics( + config: DatabaseMigrationServicePaginationConfiguration, + input: DescribeReplicationTableStatisticsCommandInput, + ...additionalArguments: any +): Paginator { + // ToDo: replace with actual type instead of typeof input.Marker + let token: typeof input.Marker | undefined = config.startingToken || undefined; + let hasNext = true; + let page: DescribeReplicationTableStatisticsCommandOutput; + while (hasNext) { + input.Marker = token; + input["MaxRecords"] = config.pageSize; + if (config.client instanceof DatabaseMigrationServiceClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected DatabaseMigrationService | DatabaseMigrationServiceClient"); + } + yield page; + const prevToken = token; + token = page.Marker; + hasNext = !!(token && (!config.stopOnSameToken || token !== prevToken)); + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-database-migration-service/src/pagination/DescribeReplicationsPaginator.ts b/clients/client-database-migration-service/src/pagination/DescribeReplicationsPaginator.ts new file mode 100644 index 000000000000..7e6b8693e0f6 --- /dev/null +++ b/clients/client-database-migration-service/src/pagination/DescribeReplicationsPaginator.ts @@ -0,0 +1,50 @@ +// smithy-typescript generated code +import { Paginator } from "@smithy/types"; + +import { + DescribeReplicationsCommand, + DescribeReplicationsCommandInput, + DescribeReplicationsCommandOutput, +} from "../commands/DescribeReplicationsCommand"; +import { DatabaseMigrationServiceClient } from "../DatabaseMigrationServiceClient"; +import { DatabaseMigrationServicePaginationConfiguration } from "./Interfaces"; + +/** + * @internal + */ +const makePagedClientRequest = async ( + client: DatabaseMigrationServiceClient, + input: DescribeReplicationsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeReplicationsCommand(input), ...args); +}; +/** + * @public + */ +export async function* paginateDescribeReplications( + config: DatabaseMigrationServicePaginationConfiguration, + input: DescribeReplicationsCommandInput, + ...additionalArguments: any +): Paginator { + // ToDo: replace with actual type instead of typeof input.Marker + let token: typeof input.Marker | undefined = config.startingToken || undefined; + let hasNext = true; + let page: DescribeReplicationsCommandOutput; + while (hasNext) { + input.Marker = token; + input["MaxRecords"] = config.pageSize; + if (config.client instanceof DatabaseMigrationServiceClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected DatabaseMigrationService | DatabaseMigrationServiceClient"); + } + yield page; + const prevToken = token; + token = page.Marker; + hasNext = !!(token && (!config.stopOnSameToken || token !== prevToken)); + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-database-migration-service/src/pagination/index.ts b/clients/client-database-migration-service/src/pagination/index.ts index 2bfefbb5be38..820cb4344839 100644 --- a/clients/client-database-migration-service/src/pagination/index.ts +++ b/clients/client-database-migration-service/src/pagination/index.ts @@ -26,12 +26,15 @@ export * from "./DescribeOrderableReplicationInstancesPaginator"; export * from "./DescribePendingMaintenanceActionsPaginator"; export * from "./DescribeRecommendationLimitationsPaginator"; export * from "./DescribeRecommendationsPaginator"; +export * from "./DescribeReplicationConfigsPaginator"; export * from "./DescribeReplicationInstanceTaskLogsPaginator"; export * from "./DescribeReplicationInstancesPaginator"; export * from "./DescribeReplicationSubnetGroupsPaginator"; +export * from "./DescribeReplicationTableStatisticsPaginator"; export * from "./DescribeReplicationTaskAssessmentResultsPaginator"; export * from "./DescribeReplicationTaskAssessmentRunsPaginator"; export * from "./DescribeReplicationTaskIndividualAssessmentsPaginator"; export * from "./DescribeReplicationTasksPaginator"; +export * from "./DescribeReplicationsPaginator"; export * from "./DescribeSchemasPaginator"; export * from "./DescribeTableStatisticsPaginator"; diff --git a/clients/client-database-migration-service/src/protocols/Aws_json1_1.ts b/clients/client-database-migration-service/src/protocols/Aws_json1_1.ts index ba941e60ab6f..84d8f3d8d31b 100644 --- a/clients/client-database-migration-service/src/protocols/Aws_json1_1.ts +++ b/clients/client-database-migration-service/src/protocols/Aws_json1_1.ts @@ -44,6 +44,10 @@ import { CreateFleetAdvisorCollectorCommandInput, CreateFleetAdvisorCollectorCommandOutput, } from "../commands/CreateFleetAdvisorCollectorCommand"; +import { + CreateReplicationConfigCommandInput, + CreateReplicationConfigCommandOutput, +} from "../commands/CreateReplicationConfigCommand"; import { CreateReplicationInstanceCommandInput, CreateReplicationInstanceCommandOutput, @@ -71,6 +75,10 @@ import { DeleteFleetAdvisorDatabasesCommandInput, DeleteFleetAdvisorDatabasesCommandOutput, } from "../commands/DeleteFleetAdvisorDatabasesCommand"; +import { + DeleteReplicationConfigCommandInput, + DeleteReplicationConfigCommandOutput, +} from "../commands/DeleteReplicationConfigCommand"; import { DeleteReplicationInstanceCommandInput, DeleteReplicationInstanceCommandOutput, @@ -161,6 +169,10 @@ import { DescribeRefreshSchemasStatusCommandInput, DescribeRefreshSchemasStatusCommandOutput, } from "../commands/DescribeRefreshSchemasStatusCommand"; +import { + DescribeReplicationConfigsCommandInput, + DescribeReplicationConfigsCommandOutput, +} from "../commands/DescribeReplicationConfigsCommand"; import { DescribeReplicationInstancesCommandInput, DescribeReplicationInstancesCommandOutput, @@ -169,10 +181,18 @@ import { DescribeReplicationInstanceTaskLogsCommandInput, DescribeReplicationInstanceTaskLogsCommandOutput, } from "../commands/DescribeReplicationInstanceTaskLogsCommand"; +import { + DescribeReplicationsCommandInput, + DescribeReplicationsCommandOutput, +} from "../commands/DescribeReplicationsCommand"; import { DescribeReplicationSubnetGroupsCommandInput, DescribeReplicationSubnetGroupsCommandOutput, } from "../commands/DescribeReplicationSubnetGroupsCommand"; +import { + DescribeReplicationTableStatisticsCommandInput, + DescribeReplicationTableStatisticsCommandOutput, +} from "../commands/DescribeReplicationTableStatisticsCommand"; import { DescribeReplicationTaskAssessmentResultsCommandInput, DescribeReplicationTaskAssessmentResultsCommandOutput, @@ -204,6 +224,10 @@ import { ModifyEventSubscriptionCommandInput, ModifyEventSubscriptionCommandOutput, } from "../commands/ModifyEventSubscriptionCommand"; +import { + ModifyReplicationConfigCommandInput, + ModifyReplicationConfigCommandOutput, +} from "../commands/ModifyReplicationConfigCommand"; import { ModifyReplicationInstanceCommandInput, ModifyReplicationInstanceCommandOutput, @@ -225,6 +249,10 @@ import { RebootReplicationInstanceCommandOutput, } from "../commands/RebootReplicationInstanceCommand"; import { RefreshSchemasCommandInput, RefreshSchemasCommandOutput } from "../commands/RefreshSchemasCommand"; +import { + ReloadReplicationTablesCommandInput, + ReloadReplicationTablesCommandOutput, +} from "../commands/ReloadReplicationTablesCommand"; import { ReloadTablesCommandInput, ReloadTablesCommandOutput } from "../commands/ReloadTablesCommand"; import { RemoveTagsFromResourceCommandInput, @@ -238,6 +266,7 @@ import { StartRecommendationsCommandInput, StartRecommendationsCommandOutput, } from "../commands/StartRecommendationsCommand"; +import { StartReplicationCommandInput, StartReplicationCommandOutput } from "../commands/StartReplicationCommand"; import { StartReplicationTaskAssessmentCommandInput, StartReplicationTaskAssessmentCommandOutput, @@ -250,6 +279,7 @@ import { StartReplicationTaskCommandInput, StartReplicationTaskCommandOutput, } from "../commands/StartReplicationTaskCommand"; +import { StopReplicationCommandInput, StopReplicationCommandOutput } from "../commands/StopReplicationCommand"; import { StopReplicationTaskCommandInput, StopReplicationTaskCommandOutput, @@ -270,9 +300,12 @@ import { CancelReplicationTaskAssessmentRunResponse, Certificate, CollectorNotFoundFault, + ComputeConfig, CreateEndpointMessage, CreateEventSubscriptionMessage, CreateFleetAdvisorCollectorRequest, + CreateReplicationConfigMessage, + CreateReplicationConfigResponse, CreateReplicationInstanceMessage, CreateReplicationInstanceResponse, CreateReplicationSubnetGroupMessage, @@ -285,6 +318,8 @@ import { DeleteEndpointMessage, DeleteEventSubscriptionMessage, DeleteFleetAdvisorDatabasesRequest, + DeleteReplicationConfigMessage, + DeleteReplicationConfigResponse, DeleteReplicationInstanceMessage, DeleteReplicationInstanceResponse, DeleteReplicationSubnetGroupMessage, @@ -318,10 +353,16 @@ import { DescribeRecommendationsResponse, DescribeRefreshSchemasStatusMessage, DescribeRefreshSchemasStatusResponse, + DescribeReplicationConfigsMessage, + DescribeReplicationConfigsResponse, DescribeReplicationInstancesMessage, DescribeReplicationInstancesResponse, DescribeReplicationInstanceTaskLogsMessage, + DescribeReplicationsMessage, + DescribeReplicationsResponse, DescribeReplicationSubnetGroupsMessage, + DescribeReplicationTableStatisticsMessage, + DescribeReplicationTableStatisticsResponse, DescribeReplicationTaskAssessmentResultsMessage, DescribeReplicationTaskAssessmentResultsResponse, DescribeReplicationTaskAssessmentRunsMessage, @@ -361,6 +402,8 @@ import { MicrosoftSQLServerSettings, ModifyEndpointMessage, ModifyEventSubscriptionMessage, + ModifyReplicationConfigMessage, + ModifyReplicationConfigResponse, ModifyReplicationInstanceMessage, ModifyReplicationInstanceResponse, ModifyReplicationSubnetGroupMessage, @@ -374,6 +417,7 @@ import { OracleSettings, PendingMaintenanceAction, PostgreSQLSettings, + ProvisionData, RdsConfiguration, RdsRecommendation, RdsRequirements, @@ -387,9 +431,13 @@ import { RefreshSchemasMessage, RefreshSchemasResponse, RefreshSchemasStatus, + ReloadReplicationTablesMessage, ReloadTablesMessage, RemoveTagsFromResourceMessage, + Replication, + ReplicationConfig, ReplicationInstance, + ReplicationStats, ReplicationSubnetGroupDoesNotCoverEnoughAZs, ReplicationTask, ReplicationTaskAssessmentResult, @@ -408,12 +456,16 @@ import { SNSNoAuthorizationFault, StartRecommendationsRequest, StartRecommendationsRequestEntry, + StartReplicationMessage, + StartReplicationResponse, StartReplicationTaskAssessmentMessage, StartReplicationTaskAssessmentResponse, StartReplicationTaskAssessmentRunMessage, StartReplicationTaskAssessmentRunResponse, StartReplicationTaskMessage, StartReplicationTaskResponse, + StopReplicationMessage, + StopReplicationResponse, StopReplicationTaskMessage, StopReplicationTaskResponse, StorageQuotaExceededFault, @@ -423,6 +475,7 @@ import { TableToReload, Tag, TestConnectionMessage, + TimestreamSettings, UpdateSubscriptionsToEventBridgeMessage, UpgradeDependencyFailureFault, } from "../models/models_0"; @@ -518,6 +571,19 @@ export const se_CreateFleetAdvisorCollectorCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +/** + * serializeAws_json1_1CreateReplicationConfigCommand + */ +export const se_CreateReplicationConfigCommand = async ( + input: CreateReplicationConfigCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = sharedHeaders("CreateReplicationConfig"); + let body: any; + body = JSON.stringify(_json(input)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + /** * serializeAws_json1_1CreateReplicationInstanceCommand */ @@ -635,6 +701,19 @@ export const se_DeleteFleetAdvisorDatabasesCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +/** + * serializeAws_json1_1DeleteReplicationConfigCommand + */ +export const se_DeleteReplicationConfigCommand = async ( + input: DeleteReplicationConfigCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = sharedHeaders("DeleteReplicationConfig"); + let body: any; + body = JSON.stringify(_json(input)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + /** * serializeAws_json1_1DeleteReplicationInstanceCommand */ @@ -947,6 +1026,19 @@ export const se_DescribeRefreshSchemasStatusCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +/** + * serializeAws_json1_1DescribeReplicationConfigsCommand + */ +export const se_DescribeReplicationConfigsCommand = async ( + input: DescribeReplicationConfigsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = sharedHeaders("DescribeReplicationConfigs"); + let body: any; + body = JSON.stringify(_json(input)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + /** * serializeAws_json1_1DescribeReplicationInstancesCommand */ @@ -973,6 +1065,19 @@ export const se_DescribeReplicationInstanceTaskLogsCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +/** + * serializeAws_json1_1DescribeReplicationsCommand + */ +export const se_DescribeReplicationsCommand = async ( + input: DescribeReplicationsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = sharedHeaders("DescribeReplications"); + let body: any; + body = JSON.stringify(_json(input)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + /** * serializeAws_json1_1DescribeReplicationSubnetGroupsCommand */ @@ -986,6 +1091,19 @@ export const se_DescribeReplicationSubnetGroupsCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +/** + * serializeAws_json1_1DescribeReplicationTableStatisticsCommand + */ +export const se_DescribeReplicationTableStatisticsCommand = async ( + input: DescribeReplicationTableStatisticsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = sharedHeaders("DescribeReplicationTableStatistics"); + let body: any; + body = JSON.stringify(_json(input)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + /** * serializeAws_json1_1DescribeReplicationTaskAssessmentResultsCommand */ @@ -1116,6 +1234,19 @@ export const se_ModifyEventSubscriptionCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +/** + * serializeAws_json1_1ModifyReplicationConfigCommand + */ +export const se_ModifyReplicationConfigCommand = async ( + input: ModifyReplicationConfigCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = sharedHeaders("ModifyReplicationConfig"); + let body: any; + body = JSON.stringify(_json(input)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + /** * serializeAws_json1_1ModifyReplicationInstanceCommand */ @@ -1194,6 +1325,19 @@ export const se_RefreshSchemasCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +/** + * serializeAws_json1_1ReloadReplicationTablesCommand + */ +export const se_ReloadReplicationTablesCommand = async ( + input: ReloadReplicationTablesCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = sharedHeaders("ReloadReplicationTables"); + let body: any; + body = JSON.stringify(_json(input)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + /** * serializeAws_json1_1ReloadTablesCommand */ @@ -1245,6 +1389,19 @@ export const se_StartRecommendationsCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +/** + * serializeAws_json1_1StartReplicationCommand + */ +export const se_StartReplicationCommand = async ( + input: StartReplicationCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = sharedHeaders("StartReplication"); + let body: any; + body = JSON.stringify(se_StartReplicationMessage(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + /** * serializeAws_json1_1StartReplicationTaskCommand */ @@ -1284,6 +1441,19 @@ export const se_StartReplicationTaskAssessmentRunCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +/** + * serializeAws_json1_1StopReplicationCommand + */ +export const se_StopReplicationCommand = async ( + input: StopReplicationCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = sharedHeaders("StopReplication"); + let body: any; + body = JSON.stringify(_json(input)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + /** * serializeAws_json1_1StopReplicationTaskCommand */ @@ -1714,6 +1884,73 @@ const de_CreateFleetAdvisorCollectorCommandError = async ( } }; +/** + * deserializeAws_json1_1CreateReplicationConfigCommand + */ +export const de_CreateReplicationConfigCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return de_CreateReplicationConfigCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = de_CreateReplicationConfigResponse(data, context); + const response: CreateReplicationConfigCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return response; +}; + +/** + * deserializeAws_json1_1CreateReplicationConfigCommandError + */ +const de_CreateReplicationConfigCommandError = 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 "AccessDeniedFault": + case "com.amazonaws.databasemigrationservice#AccessDeniedFault": + throw await de_AccessDeniedFaultRes(parsedOutput, context); + case "InvalidResourceStateFault": + case "com.amazonaws.databasemigrationservice#InvalidResourceStateFault": + throw await de_InvalidResourceStateFaultRes(parsedOutput, context); + case "InvalidSubnet": + case "com.amazonaws.databasemigrationservice#InvalidSubnet": + throw await de_InvalidSubnetRes(parsedOutput, context); + case "KMSKeyNotAccessibleFault": + case "com.amazonaws.databasemigrationservice#KMSKeyNotAccessibleFault": + throw await de_KMSKeyNotAccessibleFaultRes(parsedOutput, context); + case "ReplicationSubnetGroupDoesNotCoverEnoughAZs": + case "com.amazonaws.databasemigrationservice#ReplicationSubnetGroupDoesNotCoverEnoughAZs": + throw await de_ReplicationSubnetGroupDoesNotCoverEnoughAZsRes(parsedOutput, context); + case "ResourceAlreadyExistsFault": + case "com.amazonaws.databasemigrationservice#ResourceAlreadyExistsFault": + throw await de_ResourceAlreadyExistsFaultRes(parsedOutput, context); + case "ResourceNotFoundFault": + case "com.amazonaws.databasemigrationservice#ResourceNotFoundFault": + throw await de_ResourceNotFoundFaultRes(parsedOutput, context); + case "ResourceQuotaExceededFault": + case "com.amazonaws.databasemigrationservice#ResourceQuotaExceededFault": + throw await de_ResourceQuotaExceededFaultRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode, + }); + } +}; + /** * deserializeAws_json1_1CreateReplicationInstanceCommand */ @@ -2203,6 +2440,58 @@ const de_DeleteFleetAdvisorDatabasesCommandError = async ( } }; +/** + * deserializeAws_json1_1DeleteReplicationConfigCommand + */ +export const de_DeleteReplicationConfigCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return de_DeleteReplicationConfigCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = de_DeleteReplicationConfigResponse(data, context); + const response: DeleteReplicationConfigCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return response; +}; + +/** + * deserializeAws_json1_1DeleteReplicationConfigCommandError + */ +const de_DeleteReplicationConfigCommandError = 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 "AccessDeniedFault": + case "com.amazonaws.databasemigrationservice#AccessDeniedFault": + throw await de_AccessDeniedFaultRes(parsedOutput, context); + case "InvalidResourceStateFault": + case "com.amazonaws.databasemigrationservice#InvalidResourceStateFault": + throw await de_InvalidResourceStateFaultRes(parsedOutput, context); + case "ResourceNotFoundFault": + case "com.amazonaws.databasemigrationservice#ResourceNotFoundFault": + throw await de_ResourceNotFoundFaultRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode, + }); + } +}; + /** * deserializeAws_json1_1DeleteReplicationInstanceCommand */ @@ -3301,6 +3590,52 @@ const de_DescribeRefreshSchemasStatusCommandError = async ( } }; +/** + * deserializeAws_json1_1DescribeReplicationConfigsCommand + */ +export const de_DescribeReplicationConfigsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return de_DescribeReplicationConfigsCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = de_DescribeReplicationConfigsResponse(data, context); + const response: DescribeReplicationConfigsCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return response; +}; + +/** + * deserializeAws_json1_1DescribeReplicationConfigsCommandError + */ +const de_DescribeReplicationConfigsCommandError = 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 "ResourceNotFoundFault": + case "com.amazonaws.databasemigrationservice#ResourceNotFoundFault": + throw await de_ResourceNotFoundFaultRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode, + }); + } +}; + /** * deserializeAws_json1_1DescribeReplicationInstancesCommand */ @@ -3397,19 +3732,19 @@ const de_DescribeReplicationInstanceTaskLogsCommandError = async ( }; /** - * deserializeAws_json1_1DescribeReplicationSubnetGroupsCommand + * deserializeAws_json1_1DescribeReplicationsCommand */ -export const de_DescribeReplicationSubnetGroupsCommand = async ( +export const de_DescribeReplicationsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return de_DescribeReplicationSubnetGroupsCommandError(output, context); + return de_DescribeReplicationsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = _json(data); - const response: DescribeReplicationSubnetGroupsCommandOutput = { + contents = de_DescribeReplicationsResponse(data, context); + const response: DescribeReplicationsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; @@ -3417,12 +3752,12 @@ export const de_DescribeReplicationSubnetGroupsCommand = async ( }; /** - * deserializeAws_json1_1DescribeReplicationSubnetGroupsCommandError + * deserializeAws_json1_1DescribeReplicationsCommandError */ -const de_DescribeReplicationSubnetGroupsCommandError = async ( +const de_DescribeReplicationsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseErrorBody(output.body, context), @@ -3443,19 +3778,19 @@ const de_DescribeReplicationSubnetGroupsCommandError = async ( }; /** - * deserializeAws_json1_1DescribeReplicationTaskAssessmentResultsCommand + * deserializeAws_json1_1DescribeReplicationSubnetGroupsCommand */ -export const de_DescribeReplicationTaskAssessmentResultsCommand = async ( +export const de_DescribeReplicationSubnetGroupsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return de_DescribeReplicationTaskAssessmentResultsCommandError(output, context); + return de_DescribeReplicationSubnetGroupsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = de_DescribeReplicationTaskAssessmentResultsResponse(data, context); - const response: DescribeReplicationTaskAssessmentResultsCommandOutput = { + contents = _json(data); + const response: DescribeReplicationSubnetGroupsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; @@ -3463,12 +3798,12 @@ export const de_DescribeReplicationTaskAssessmentResultsCommand = async ( }; /** - * deserializeAws_json1_1DescribeReplicationTaskAssessmentResultsCommandError + * deserializeAws_json1_1DescribeReplicationSubnetGroupsCommandError */ -const de_DescribeReplicationTaskAssessmentResultsCommandError = async ( +const de_DescribeReplicationSubnetGroupsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseErrorBody(output.body, context), @@ -3489,14 +3824,109 @@ const de_DescribeReplicationTaskAssessmentResultsCommandError = async ( }; /** - * deserializeAws_json1_1DescribeReplicationTaskAssessmentRunsCommand + * deserializeAws_json1_1DescribeReplicationTableStatisticsCommand */ -export const de_DescribeReplicationTaskAssessmentRunsCommand = async ( +export const de_DescribeReplicationTableStatisticsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return de_DescribeReplicationTaskAssessmentRunsCommandError(output, context); + return de_DescribeReplicationTableStatisticsCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = de_DescribeReplicationTableStatisticsResponse(data, context); + const response: DescribeReplicationTableStatisticsCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return response; +}; + +/** + * deserializeAws_json1_1DescribeReplicationTableStatisticsCommandError + */ +const de_DescribeReplicationTableStatisticsCommandError = 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 "InvalidResourceStateFault": + case "com.amazonaws.databasemigrationservice#InvalidResourceStateFault": + throw await de_InvalidResourceStateFaultRes(parsedOutput, context); + case "ResourceNotFoundFault": + case "com.amazonaws.databasemigrationservice#ResourceNotFoundFault": + throw await de_ResourceNotFoundFaultRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode, + }); + } +}; + +/** + * deserializeAws_json1_1DescribeReplicationTaskAssessmentResultsCommand + */ +export const de_DescribeReplicationTaskAssessmentResultsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return de_DescribeReplicationTaskAssessmentResultsCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = de_DescribeReplicationTaskAssessmentResultsResponse(data, context); + const response: DescribeReplicationTaskAssessmentResultsCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return response; +}; + +/** + * deserializeAws_json1_1DescribeReplicationTaskAssessmentResultsCommandError + */ +const de_DescribeReplicationTaskAssessmentResultsCommandError = 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 "ResourceNotFoundFault": + case "com.amazonaws.databasemigrationservice#ResourceNotFoundFault": + throw await de_ResourceNotFoundFaultRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode, + }); + } +}; + +/** + * deserializeAws_json1_1DescribeReplicationTaskAssessmentRunsCommand + */ +export const de_DescribeReplicationTaskAssessmentRunsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return de_DescribeReplicationTaskAssessmentRunsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; @@ -3950,6 +4380,67 @@ const de_ModifyEventSubscriptionCommandError = async ( } }; +/** + * deserializeAws_json1_1ModifyReplicationConfigCommand + */ +export const de_ModifyReplicationConfigCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return de_ModifyReplicationConfigCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = de_ModifyReplicationConfigResponse(data, context); + const response: ModifyReplicationConfigCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return response; +}; + +/** + * deserializeAws_json1_1ModifyReplicationConfigCommandError + */ +const de_ModifyReplicationConfigCommandError = 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 "AccessDeniedFault": + case "com.amazonaws.databasemigrationservice#AccessDeniedFault": + throw await de_AccessDeniedFaultRes(parsedOutput, context); + case "InvalidResourceStateFault": + case "com.amazonaws.databasemigrationservice#InvalidResourceStateFault": + throw await de_InvalidResourceStateFaultRes(parsedOutput, context); + case "InvalidSubnet": + case "com.amazonaws.databasemigrationservice#InvalidSubnet": + throw await de_InvalidSubnetRes(parsedOutput, context); + case "KMSKeyNotAccessibleFault": + case "com.amazonaws.databasemigrationservice#KMSKeyNotAccessibleFault": + throw await de_KMSKeyNotAccessibleFaultRes(parsedOutput, context); + case "ReplicationSubnetGroupDoesNotCoverEnoughAZs": + case "com.amazonaws.databasemigrationservice#ReplicationSubnetGroupDoesNotCoverEnoughAZs": + throw await de_ReplicationSubnetGroupDoesNotCoverEnoughAZsRes(parsedOutput, context); + case "ResourceNotFoundFault": + case "com.amazonaws.databasemigrationservice#ResourceNotFoundFault": + throw await de_ResourceNotFoundFaultRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode, + }); + } +}; + /** * deserializeAws_json1_1ModifyReplicationInstanceCommand */ @@ -4292,6 +4783,55 @@ const de_RefreshSchemasCommandError = async ( } }; +/** + * deserializeAws_json1_1ReloadReplicationTablesCommand + */ +export const de_ReloadReplicationTablesCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return de_ReloadReplicationTablesCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = _json(data); + const response: ReloadReplicationTablesCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return response; +}; + +/** + * deserializeAws_json1_1ReloadReplicationTablesCommandError + */ +const de_ReloadReplicationTablesCommandError = 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 "InvalidResourceStateFault": + case "com.amazonaws.databasemigrationservice#InvalidResourceStateFault": + throw await de_InvalidResourceStateFaultRes(parsedOutput, context); + case "ResourceNotFoundFault": + case "com.amazonaws.databasemigrationservice#ResourceNotFoundFault": + throw await de_ResourceNotFoundFaultRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode, + }); + } +}; + /** * deserializeAws_json1_1ReloadTablesCommand */ @@ -4485,6 +5025,58 @@ const de_StartRecommendationsCommandError = async ( } }; +/** + * deserializeAws_json1_1StartReplicationCommand + */ +export const de_StartReplicationCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return de_StartReplicationCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = de_StartReplicationResponse(data, context); + const response: StartReplicationCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return response; +}; + +/** + * deserializeAws_json1_1StartReplicationCommandError + */ +const de_StartReplicationCommandError = 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 "AccessDeniedFault": + case "com.amazonaws.databasemigrationservice#AccessDeniedFault": + throw await de_AccessDeniedFaultRes(parsedOutput, context); + case "InvalidResourceStateFault": + case "com.amazonaws.databasemigrationservice#InvalidResourceStateFault": + throw await de_InvalidResourceStateFaultRes(parsedOutput, context); + case "ResourceNotFoundFault": + case "com.amazonaws.databasemigrationservice#ResourceNotFoundFault": + throw await de_ResourceNotFoundFaultRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode, + }); + } +}; + /** * deserializeAws_json1_1StartReplicationTaskCommand */ @@ -4665,6 +5257,58 @@ const de_StartReplicationTaskAssessmentRunCommandError = async ( } }; +/** + * deserializeAws_json1_1StopReplicationCommand + */ +export const de_StopReplicationCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return de_StopReplicationCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = de_StopReplicationResponse(data, context); + const response: StopReplicationCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return response; +}; + +/** + * deserializeAws_json1_1StopReplicationCommandError + */ +const de_StopReplicationCommandError = 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 "AccessDeniedFault": + case "com.amazonaws.databasemigrationservice#AccessDeniedFault": + throw await de_AccessDeniedFaultRes(parsedOutput, context); + case "InvalidResourceStateFault": + case "com.amazonaws.databasemigrationservice#InvalidResourceStateFault": + throw await de_InvalidResourceStateFaultRes(parsedOutput, context); + case "ResourceNotFoundFault": + case "com.amazonaws.databasemigrationservice#ResourceNotFoundFault": + throw await de_ResourceNotFoundFaultRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode, + }); + } +}; + /** * deserializeAws_json1_1StopReplicationTaskCommand */ @@ -5207,12 +5851,16 @@ const de_UpgradeDependencyFailureFaultRes = async ( // se_CancelReplicationTaskAssessmentRunMessage omitted. +// se_ComputeConfig omitted. + // se_CreateEndpointMessage omitted. // se_CreateEventSubscriptionMessage omitted. // se_CreateFleetAdvisorCollectorRequest omitted. +// se_CreateReplicationConfigMessage omitted. + // se_CreateReplicationInstanceMessage omitted. // se_CreateReplicationSubnetGroupMessage omitted. @@ -5250,6 +5898,8 @@ const se_CreateReplicationTaskMessage = (input: CreateReplicationTaskMessage, co // se_DeleteFleetAdvisorDatabasesRequest omitted. +// se_DeleteReplicationConfigMessage omitted. + // se_DeleteReplicationInstanceMessage omitted. // se_DeleteReplicationSubnetGroupMessage omitted. @@ -5313,12 +5963,18 @@ const se_DescribeEventsMessage = (input: DescribeEventsMessage, context: __Serde // se_DescribeRefreshSchemasStatusMessage omitted. +// se_DescribeReplicationConfigsMessage omitted. + // se_DescribeReplicationInstancesMessage omitted. // se_DescribeReplicationInstanceTaskLogsMessage omitted. +// se_DescribeReplicationsMessage omitted. + // se_DescribeReplicationSubnetGroupsMessage omitted. +// se_DescribeReplicationTableStatisticsMessage omitted. + // se_DescribeReplicationTaskAssessmentResultsMessage omitted. // se_DescribeReplicationTaskAssessmentRunsMessage omitted. @@ -5383,6 +6039,8 @@ const se_ImportCertificateMessage = (input: ImportCertificateMessage, context: _ // se_ModifyEventSubscriptionMessage omitted. +// se_ModifyReplicationConfigMessage omitted. + // se_ModifyReplicationInstanceMessage omitted. // se_ModifyReplicationSubnetGroupMessage omitted. @@ -5426,6 +6084,8 @@ const se_ModifyReplicationTaskMessage = (input: ModifyReplicationTaskMessage, co // se_RefreshSchemasMessage omitted. +// se_ReloadReplicationTablesMessage omitted. + // se_ReloadTablesMessage omitted. // se_RemoveTagsFromResourceMessage omitted. @@ -5440,6 +6100,19 @@ const se_ModifyReplicationTaskMessage = (input: ModifyReplicationTaskMessage, co // se_StartRecommendationsRequestEntryList omitted. +/** + * serializeAws_json1_1StartReplicationMessage + */ +const se_StartReplicationMessage = (input: StartReplicationMessage, context: __SerdeContext): any => { + return take(input, { + CdcStartPosition: [], + CdcStartTime: (_) => Math.round(_.getTime() / 1000), + CdcStopPosition: [], + ReplicationConfigArn: [], + StartReplicationType: [], + }); +}; + // se_StartReplicationTaskAssessmentMessage omitted. // se_StartReplicationTaskAssessmentRunMessage omitted. @@ -5457,6 +6130,8 @@ const se_StartReplicationTaskMessage = (input: StartReplicationTaskMessage, cont }); }; +// se_StopReplicationMessage omitted. + // se_StopReplicationTaskMessage omitted. // se_StringList omitted. @@ -5475,6 +6150,8 @@ const se_StartReplicationTaskMessage = (input: StartReplicationTaskMessage, cont // se_TestConnectionMessage omitted. +// se_TimestreamSettings omitted. + // se_UpdateSubscriptionsToEventBridgeMessage omitted. // se_VpcSecurityGroupIdList omitted. @@ -5563,6 +6240,8 @@ const de_CertificateList = (output: any, context: __SerdeContext): Certificate[] // de_CollectorsList omitted. +// de_ComputeConfig omitted. + // de_Connection omitted. // de_ConnectionList omitted. @@ -5573,6 +6252,15 @@ const de_CertificateList = (output: any, context: __SerdeContext): Certificate[] // de_CreateFleetAdvisorCollectorResponse omitted. +/** + * deserializeAws_json1_1CreateReplicationConfigResponse + */ +const de_CreateReplicationConfigResponse = (output: any, context: __SerdeContext): CreateReplicationConfigResponse => { + return take(output, { + ReplicationConfig: (_: any) => de_ReplicationConfig(_, context), + }) as any; +}; + /** * deserializeAws_json1_1CreateReplicationInstanceResponse */ @@ -5621,6 +6309,15 @@ const de_DeleteCertificateResponse = (output: any, context: __SerdeContext): Del // de_DeleteFleetAdvisorDatabasesResponse omitted. +/** + * deserializeAws_json1_1DeleteReplicationConfigResponse + */ +const de_DeleteReplicationConfigResponse = (output: any, context: __SerdeContext): DeleteReplicationConfigResponse => { + return take(output, { + ReplicationConfig: (_: any) => de_ReplicationConfig(_, context), + }) as any; +}; + /** * deserializeAws_json1_1DeleteReplicationInstanceResponse */ @@ -5752,6 +6449,19 @@ const de_DescribeRefreshSchemasStatusResponse = ( }) as any; }; +/** + * deserializeAws_json1_1DescribeReplicationConfigsResponse + */ +const de_DescribeReplicationConfigsResponse = ( + output: any, + context: __SerdeContext +): DescribeReplicationConfigsResponse => { + return take(output, { + Marker: __expectString, + ReplicationConfigs: (_: any) => de_ReplicationConfigList(_, context), + }) as any; +}; + /** * deserializeAws_json1_1DescribeReplicationInstancesResponse */ @@ -5767,8 +6477,32 @@ const de_DescribeReplicationInstancesResponse = ( // de_DescribeReplicationInstanceTaskLogsResponse omitted. +/** + * deserializeAws_json1_1DescribeReplicationsResponse + */ +const de_DescribeReplicationsResponse = (output: any, context: __SerdeContext): DescribeReplicationsResponse => { + return take(output, { + Marker: __expectString, + Replications: (_: any) => de_ReplicationList(_, context), + }) as any; +}; + // de_DescribeReplicationSubnetGroupsResponse omitted. +/** + * deserializeAws_json1_1DescribeReplicationTableStatisticsResponse + */ +const de_DescribeReplicationTableStatisticsResponse = ( + output: any, + context: __SerdeContext +): DescribeReplicationTableStatisticsResponse => { + return take(output, { + Marker: __expectString, + ReplicationConfigArn: __expectString, + ReplicationTableStatistics: (_: any) => de_ReplicationTableStatisticsList(_, context), + }) as any; +}; + /** * deserializeAws_json1_1DescribeReplicationTaskAssessmentResultsResponse */ @@ -5967,6 +6701,15 @@ const de_ImportCertificateResponse = (output: any, context: __SerdeContext): Imp // de_ModifyEventSubscriptionResponse omitted. +/** + * deserializeAws_json1_1ModifyReplicationConfigResponse + */ +const de_ModifyReplicationConfigResponse = (output: any, context: __SerdeContext): ModifyReplicationConfigResponse => { + return take(output, { + ReplicationConfig: (_: any) => de_ReplicationConfig(_, context), + }) as any; +}; + /** * deserializeAws_json1_1ModifyReplicationInstanceResponse */ @@ -6051,6 +6794,20 @@ const de_PendingMaintenanceActions = (output: any, context: __SerdeContext): Res // de_PostgreSQLSettings omitted. +/** + * deserializeAws_json1_1ProvisionData + */ +const de_ProvisionData = (output: any, context: __SerdeContext): ProvisionData => { + return take(output, { + DateNewProvisioningDataAvailable: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + DateProvisioned: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + IsNewProvisioningAvailable: __expectBoolean, + ProvisionState: __expectString, + ProvisionedCapacityUnits: __expectInt32, + ReasonForNewProvisioningData: __expectString, + }) as any; +}; + /** * deserializeAws_json1_1RdsConfiguration */ @@ -6058,6 +6815,7 @@ const de_RdsConfiguration = (output: any, context: __SerdeContext): RdsConfigura return take(output, { DeploymentOption: __expectString, EngineEdition: __expectString, + EngineVersion: __expectString, InstanceMemory: __limitedParseDouble, InstanceType: __expectString, InstanceVcpu: __limitedParseDouble, @@ -6084,6 +6842,7 @@ const de_RdsRequirements = (output: any, context: __SerdeContext): RdsRequiremen return take(output, { DeploymentOption: __expectString, EngineEdition: __expectString, + EngineVersion: __expectString, InstanceMemory: __limitedParseDouble, InstanceVcpu: __limitedParseDouble, StorageIops: __expectInt32, @@ -6167,10 +6926,69 @@ const de_RefreshSchemasStatus = (output: any, context: __SerdeContext): RefreshS }) as any; }; +// de_ReloadReplicationTablesResponse omitted. + // de_ReloadTablesResponse omitted. // de_RemoveTagsFromResourceResponse omitted. +/** + * deserializeAws_json1_1Replication + */ +const de_Replication = (output: any, context: __SerdeContext): Replication => { + return take(output, { + CdcStartPosition: __expectString, + CdcStartTime: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + CdcStopPosition: __expectString, + FailureMessages: _json, + ProvisionData: (_: any) => de_ProvisionData(_, context), + RecoveryCheckpoint: __expectString, + ReplicationConfigArn: __expectString, + ReplicationConfigIdentifier: __expectString, + ReplicationCreateTime: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + ReplicationLastStopTime: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + ReplicationStats: (_: any) => de_ReplicationStats(_, context), + ReplicationType: __expectString, + ReplicationUpdateTime: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + SourceEndpointArn: __expectString, + StartReplicationType: __expectString, + Status: __expectString, + StopReason: __expectString, + TargetEndpointArn: __expectString, + }) as any; +}; + +/** + * deserializeAws_json1_1ReplicationConfig + */ +const de_ReplicationConfig = (output: any, context: __SerdeContext): ReplicationConfig => { + return take(output, { + ComputeConfig: _json, + ReplicationConfigArn: __expectString, + ReplicationConfigCreateTime: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + ReplicationConfigIdentifier: __expectString, + ReplicationConfigUpdateTime: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + ReplicationSettings: __expectString, + ReplicationType: __expectString, + SourceEndpointArn: __expectString, + SupplementalSettings: __expectString, + TableMappings: __expectString, + TargetEndpointArn: __expectString, + }) as any; +}; + +/** + * deserializeAws_json1_1ReplicationConfigList + */ +const de_ReplicationConfigList = (output: any, context: __SerdeContext): ReplicationConfig[] => { + const retVal = (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + return de_ReplicationConfig(entry, context); + }); + return retVal; +}; + /** * deserializeAws_json1_1ReplicationInstance */ @@ -6226,14 +7044,57 @@ const de_ReplicationInstanceList = (output: any, context: __SerdeContext): Repli // de_ReplicationInstanceTaskLogsList omitted. +/** + * deserializeAws_json1_1ReplicationList + */ +const de_ReplicationList = (output: any, context: __SerdeContext): Replication[] => { + const retVal = (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + return de_Replication(entry, context); + }); + return retVal; +}; + // de_ReplicationPendingModifiedValues omitted. +/** + * deserializeAws_json1_1ReplicationStats + */ +const de_ReplicationStats = (output: any, context: __SerdeContext): ReplicationStats => { + return take(output, { + ElapsedTimeMillis: __expectLong, + FreshStartDate: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + FullLoadFinishDate: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + FullLoadProgressPercent: __expectInt32, + FullLoadStartDate: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + StartDate: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + StopDate: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + TablesErrored: __expectInt32, + TablesLoaded: __expectInt32, + TablesLoading: __expectInt32, + TablesQueued: __expectInt32, + }) as any; +}; + // de_ReplicationSubnetGroup omitted. // de_ReplicationSubnetGroupDoesNotCoverEnoughAZs omitted. // de_ReplicationSubnetGroups omitted. +/** + * deserializeAws_json1_1ReplicationTableStatisticsList + */ +const de_ReplicationTableStatisticsList = (output: any, context: __SerdeContext): TableStatistics[] => { + const retVal = (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + return de_TableStatistics(entry, context); + }); + return retVal; +}; + /** * deserializeAws_json1_1ReplicationTask */ @@ -6443,6 +7304,15 @@ const de_SchemaResponse = (output: any, context: __SerdeContext): SchemaResponse // de_SourceIdsList omitted. +/** + * deserializeAws_json1_1StartReplicationResponse + */ +const de_StartReplicationResponse = (output: any, context: __SerdeContext): StartReplicationResponse => { + return take(output, { + Replication: (_: any) => de_Replication(_, context), + }) as any; +}; + /** * deserializeAws_json1_1StartReplicationTaskAssessmentResponse */ @@ -6476,6 +7346,15 @@ const de_StartReplicationTaskResponse = (output: any, context: __SerdeContext): }) as any; }; +/** + * deserializeAws_json1_1StopReplicationResponse + */ +const de_StopReplicationResponse = (output: any, context: __SerdeContext): StopReplicationResponse => { + return take(output, { + Replication: (_: any) => de_Replication(_, context), + }) as any; +}; + /** * deserializeAws_json1_1StopReplicationTaskResponse */ @@ -6550,6 +7429,8 @@ const de_TableStatisticsList = (output: any, context: __SerdeContext): TableStat // de_TestConnectionResponse omitted. +// de_TimestreamSettings omitted. + // de_UpdateSubscriptionsToEventBridgeResponse omitted. // de_UpgradeDependencyFailureFault omitted. diff --git a/codegen/sdk-codegen/aws-models/database-migration-service.json b/codegen/sdk-codegen/aws-models/database-migration-service.json index d9674800ea47..a503ae1a2b05 100644 --- a/codegen/sdk-codegen/aws-models/database-migration-service.json +++ b/codegen/sdk-codegen/aws-models/database-migration-service.json @@ -153,6 +153,9 @@ { "target": "com.amazonaws.databasemigrationservice#CreateFleetAdvisorCollector" }, + { + "target": "com.amazonaws.databasemigrationservice#CreateReplicationConfig" + }, { "target": "com.amazonaws.databasemigrationservice#CreateReplicationInstance" }, @@ -180,6 +183,9 @@ { "target": "com.amazonaws.databasemigrationservice#DeleteFleetAdvisorDatabases" }, + { + "target": "com.amazonaws.databasemigrationservice#DeleteReplicationConfig" + }, { "target": "com.amazonaws.databasemigrationservice#DeleteReplicationInstance" }, @@ -252,15 +258,24 @@ { "target": "com.amazonaws.databasemigrationservice#DescribeRefreshSchemasStatus" }, + { + "target": "com.amazonaws.databasemigrationservice#DescribeReplicationConfigs" + }, { "target": "com.amazonaws.databasemigrationservice#DescribeReplicationInstances" }, { "target": "com.amazonaws.databasemigrationservice#DescribeReplicationInstanceTaskLogs" }, + { + "target": "com.amazonaws.databasemigrationservice#DescribeReplications" + }, { "target": "com.amazonaws.databasemigrationservice#DescribeReplicationSubnetGroups" }, + { + "target": "com.amazonaws.databasemigrationservice#DescribeReplicationTableStatistics" + }, { "target": "com.amazonaws.databasemigrationservice#DescribeReplicationTaskAssessmentResults" }, @@ -291,6 +306,9 @@ { "target": "com.amazonaws.databasemigrationservice#ModifyEventSubscription" }, + { + "target": "com.amazonaws.databasemigrationservice#ModifyReplicationConfig" + }, { "target": "com.amazonaws.databasemigrationservice#ModifyReplicationInstance" }, @@ -309,6 +327,9 @@ { "target": "com.amazonaws.databasemigrationservice#RefreshSchemas" }, + { + "target": "com.amazonaws.databasemigrationservice#ReloadReplicationTables" + }, { "target": "com.amazonaws.databasemigrationservice#ReloadTables" }, @@ -321,6 +342,9 @@ { "target": "com.amazonaws.databasemigrationservice#StartRecommendations" }, + { + "target": "com.amazonaws.databasemigrationservice#StartReplication" + }, { "target": "com.amazonaws.databasemigrationservice#StartReplicationTask" }, @@ -330,6 +354,9 @@ { "target": "com.amazonaws.databasemigrationservice#StartReplicationTaskAssessmentRun" }, + { + "target": "com.amazonaws.databasemigrationservice#StopReplication" + }, { "target": "com.amazonaws.databasemigrationservice#StopReplicationTask" }, @@ -792,9 +819,9 @@ } }, "params": { + "Region": "af-south-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "af-south-1" + "UseDualStack": false } }, { @@ -805,9 +832,9 @@ } }, "params": { + "Region": "ap-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-east-1" + "UseDualStack": false } }, { @@ -818,9 +845,9 @@ } }, "params": { + "Region": "ap-northeast-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-northeast-1" + "UseDualStack": false } }, { @@ -831,9 +858,9 @@ } }, "params": { + "Region": "ap-northeast-2", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-northeast-2" + "UseDualStack": false } }, { @@ -844,9 +871,9 @@ } }, "params": { + "Region": "ap-northeast-3", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-northeast-3" + "UseDualStack": false } }, { @@ -857,9 +884,9 @@ } }, "params": { + "Region": "ap-south-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-south-1" + "UseDualStack": false } }, { @@ -870,9 +897,9 @@ } }, "params": { + "Region": "ap-southeast-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-southeast-1" + "UseDualStack": false } }, { @@ -883,9 +910,9 @@ } }, "params": { + "Region": "ap-southeast-2", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-southeast-2" + "UseDualStack": false } }, { @@ -896,9 +923,9 @@ } }, "params": { + "Region": "ap-southeast-3", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-southeast-3" + "UseDualStack": false } }, { @@ -909,9 +936,9 @@ } }, "params": { + "Region": "ca-central-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ca-central-1" + "UseDualStack": false } }, { @@ -922,9 +949,9 @@ } }, "params": { + "Region": "eu-central-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-central-1" + "UseDualStack": false } }, { @@ -935,9 +962,9 @@ } }, "params": { + "Region": "eu-north-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-north-1" + "UseDualStack": false } }, { @@ -948,9 +975,9 @@ } }, "params": { + "Region": "eu-south-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-south-1" + "UseDualStack": false } }, { @@ -961,9 +988,9 @@ } }, "params": { + "Region": "eu-west-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-west-1" + "UseDualStack": false } }, { @@ -974,9 +1001,9 @@ } }, "params": { + "Region": "eu-west-2", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-west-2" + "UseDualStack": false } }, { @@ -987,9 +1014,9 @@ } }, "params": { + "Region": "eu-west-3", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-west-3" + "UseDualStack": false } }, { @@ -1000,9 +1027,9 @@ } }, "params": { + "Region": "me-south-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "me-south-1" + "UseDualStack": false } }, { @@ -1013,9 +1040,9 @@ } }, "params": { + "Region": "sa-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "sa-east-1" + "UseDualStack": false } }, { @@ -1026,9 +1053,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-east-1" + "UseDualStack": false } }, { @@ -1039,9 +1066,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-east-1" + "UseDualStack": false } }, { @@ -1052,9 +1079,9 @@ } }, "params": { + "Region": "us-east-2", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-east-2" + "UseDualStack": false } }, { @@ -1065,9 +1092,9 @@ } }, "params": { + "Region": "us-east-2", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-east-2" + "UseDualStack": false } }, { @@ -1078,9 +1105,9 @@ } }, "params": { + "Region": "us-west-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-west-1" + "UseDualStack": false } }, { @@ -1091,9 +1118,9 @@ } }, "params": { + "Region": "us-west-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-west-1" + "UseDualStack": false } }, { @@ -1104,9 +1131,9 @@ } }, "params": { + "Region": "us-west-2", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-west-2" + "UseDualStack": false } }, { @@ -1117,9 +1144,9 @@ } }, "params": { + "Region": "us-west-2", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-west-2" + "UseDualStack": false } }, { @@ -1130,9 +1157,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": true, - "UseDualStack": true, - "Region": "us-east-1" + "UseDualStack": true } }, { @@ -1143,9 +1170,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "us-east-1" + "UseDualStack": true } }, { @@ -1156,9 +1183,9 @@ } }, "params": { + "Region": "cn-north-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "cn-north-1" + "UseDualStack": false } }, { @@ -1169,9 +1196,9 @@ } }, "params": { + "Region": "cn-northwest-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "cn-northwest-1" + "UseDualStack": false } }, { @@ -1182,9 +1209,9 @@ } }, "params": { + "Region": "cn-north-1", "UseFIPS": true, - "UseDualStack": true, - "Region": "cn-north-1" + "UseDualStack": true } }, { @@ -1195,9 +1222,9 @@ } }, "params": { + "Region": "cn-north-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "cn-north-1" + "UseDualStack": false } }, { @@ -1208,9 +1235,9 @@ } }, "params": { + "Region": "cn-north-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "cn-north-1" + "UseDualStack": true } }, { @@ -1221,9 +1248,9 @@ } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-gov-east-1" + "UseDualStack": false } }, { @@ -1234,9 +1261,9 @@ } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-gov-east-1" + "UseDualStack": false } }, { @@ -1247,9 +1274,9 @@ } }, "params": { + "Region": "us-gov-west-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-gov-west-1" + "UseDualStack": false } }, { @@ -1260,9 +1287,9 @@ } }, "params": { + "Region": "us-gov-west-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-gov-west-1" + "UseDualStack": false } }, { @@ -1273,9 +1300,9 @@ } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": true, - "UseDualStack": true, - "Region": "us-gov-east-1" + "UseDualStack": true } }, { @@ -1286,9 +1313,9 @@ } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "us-gov-east-1" + "UseDualStack": true } }, { @@ -1299,9 +1326,9 @@ } }, "params": { + "Region": "us-iso-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-iso-east-1" + "UseDualStack": false } }, { @@ -1312,9 +1339,9 @@ } }, "params": { + "Region": "us-iso-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-iso-east-1" + "UseDualStack": false } }, { @@ -1325,9 +1352,9 @@ } }, "params": { + "Region": "us-iso-west-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-iso-west-1" + "UseDualStack": false } }, { @@ -1338,9 +1365,31 @@ } }, "params": { + "Region": "us-iso-west-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-iso-west-1" + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { @@ -1351,9 +1400,9 @@ } }, "params": { + "Region": "us-isob-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-isob-east-1" + "UseDualStack": false } }, { @@ -1364,9 +1413,31 @@ } }, "params": { + "Region": "us-isob-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-isob-east-1" + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { @@ -1377,9 +1448,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": false, "UseDualStack": false, - "Region": "us-east-1", "Endpoint": "https://example.com" } }, @@ -1402,9 +1473,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { + "Region": "us-east-1", "UseFIPS": true, "UseDualStack": false, - "Region": "us-east-1", "Endpoint": "https://example.com" } }, @@ -1414,11 +1485,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { + "Region": "us-east-1", "UseFIPS": false, "UseDualStack": true, - "Region": "us-east-1", "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" @@ -2044,6 +2121,68 @@ } } }, + "com.amazonaws.databasemigrationservice#ComputeConfig": { + "type": "structure", + "members": { + "AvailabilityZone": { + "target": "com.amazonaws.databasemigrationservice#String", + "traits": { + "smithy.api#documentation": "

The Availability Zone where the DMS Serverless replication using this configuration will run. \n The default value is a random, system-chosen Availability Zone in the configuration's Amazon Web Services Region,\n for example, \"us-west-2\". You can't set this parameter if the MultiAZ\n parameter is set to true.

" + } + }, + "DnsNameServers": { + "target": "com.amazonaws.databasemigrationservice#String", + "traits": { + "smithy.api#documentation": "

A list of custom DNS name servers supported for the DMS Serverless replication\n to access your source or target database. This list overrides the default name servers\n supported by the DMS Serverless replication. You can specify a comma-separated list of\n internet addresses for up to four DNS name servers.\n For example: \"1.1.1.1,2.2.2.2,3.3.3.3,4.4.4.4\"\n

" + } + }, + "KmsKeyId": { + "target": "com.amazonaws.databasemigrationservice#String", + "traits": { + "smithy.api#documentation": "

An Key Management Service (KMS) key Amazon Resource Name (ARN) that is used to encrypt the data during\n DMS Serverless replication.

\n

If you don't specify a value for the KmsKeyId parameter, DMS uses your default\n encryption key.

\n

KMS creates the default encryption key for your Amazon Web Services account. Your Amazon Web Services account has a\n different default encryption key for each Amazon Web Services Region.

" + } + }, + "MaxCapacityUnits": { + "target": "com.amazonaws.databasemigrationservice#IntegerOptional", + "traits": { + "smithy.api#documentation": "

Specifies the maximum value of the DMS capacity units (DCUs) for which a given DMS Serverless\n replication can be provisioned. A single DCU is 2GB of RAM, with 2 DCUs as the minimum value allowed.\n The list of valid DCU values includes 2, 4, 8, 16, 32, 64, 128, 192, 256, and 384. So, the maximum value\n that you can specify for DMS Serverless is 384. The MaxCapacityUnits parameter is the only\n DCU parameter you are required to specify.

" + } + }, + "MinCapacityUnits": { + "target": "com.amazonaws.databasemigrationservice#IntegerOptional", + "traits": { + "smithy.api#documentation": "

Specifies the minimum value of the DMS capacity units (DCUs) for which a given DMS\n Serverless replication can be provisioned. A single DCU is 2GB of RAM, with 2 DCUs as the minimum value\n allowed. The list of valid DCU values includes 2, 4, 8, 16, 32, 64, 128, 192, 256, and 384. So, the minimum DCU\n value that you can specify for DMS Serverless is 2. You don't have to specify a value for the\n MinCapacityUnits parameter. If you don't set this value, DMS scans the current activity\n of available source tables to identify an optimum setting for this parameter. If there is no current\n source activity or DMS can't otherwise identify a more appropriate value, it sets this parameter to\n the minimum DCU value allowed, 2.

" + } + }, + "MultiAZ": { + "target": "com.amazonaws.databasemigrationservice#BooleanOptional", + "traits": { + "smithy.api#documentation": "

Specifies whether the DMS Serverless replication is a Multi-AZ deployment. You can't set the\n AvailabilityZone parameter if the MultiAZ parameter is set to\n true.

" + } + }, + "PreferredMaintenanceWindow": { + "target": "com.amazonaws.databasemigrationservice#String", + "traits": { + "smithy.api#documentation": "

The weekly time range during which system maintenance can occur for the DMS Serverless\n replication, in Universal Coordinated Time (UTC). The format is ddd:hh24:mi-ddd:hh24:mi.

\n

The default is a 30-minute window selected at random from an 8-hour block of time per Amazon Web Services Region.\n This maintenance occurs on a random day of the week. Valid values for days of the week include\n Mon, Tue, Wed, Thu, Fri, Sat,\n and Sun.

\n

Constraints include a minimum 30-minute window.

" + } + }, + "ReplicationSubnetGroupId": { + "target": "com.amazonaws.databasemigrationservice#String", + "traits": { + "smithy.api#documentation": "

Specifies a subnet group identifier to associate with the DMS Serverless replication.

" + } + }, + "VpcSecurityGroupIds": { + "target": "com.amazonaws.databasemigrationservice#StringList", + "traits": { + "smithy.api#documentation": "

Specifies the virtual private cloud (VPC) security group to use with the DMS Serverless\n replication. The VPC security group must work with the VPC containing the replication.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Configuration parameters for provisioning an DMS Serverless replication.

" + } + }, "com.amazonaws.databasemigrationservice#Connection": { "type": "structure", "members": { @@ -2335,6 +2474,12 @@ "traits": { "smithy.api#documentation": "

Settings in JSON format for the source GCP MySQL endpoint.

" } + }, + "TimestreamSettings": { + "target": "com.amazonaws.databasemigrationservice#TimestreamSettings", + "traits": { + "smithy.api#documentation": "

Settings in JSON format for the target Amazon Timestream endpoint.

" + } } }, "traits": { @@ -2569,21 +2714,18 @@ "smithy.api#output": {} } }, - "com.amazonaws.databasemigrationservice#CreateReplicationInstance": { + "com.amazonaws.databasemigrationservice#CreateReplicationConfig": { "type": "operation", "input": { - "target": "com.amazonaws.databasemigrationservice#CreateReplicationInstanceMessage" + "target": "com.amazonaws.databasemigrationservice#CreateReplicationConfigMessage" }, "output": { - "target": "com.amazonaws.databasemigrationservice#CreateReplicationInstanceResponse" + "target": "com.amazonaws.databasemigrationservice#CreateReplicationConfigResponse" }, "errors": [ { "target": "com.amazonaws.databasemigrationservice#AccessDeniedFault" }, - { - "target": "com.amazonaws.databasemigrationservice#InsufficientResourceCapacityFault" - }, { "target": "com.amazonaws.databasemigrationservice#InvalidResourceStateFault" }, @@ -2604,114 +2746,79 @@ }, { "target": "com.amazonaws.databasemigrationservice#ResourceQuotaExceededFault" - }, - { - "target": "com.amazonaws.databasemigrationservice#StorageQuotaExceededFault" } ], "traits": { - "smithy.api#documentation": "

Creates the replication instance using the specified parameters.

\n

DMS requires that your account have certain roles with appropriate permissions\n before you can create a replication instance. For information on the required roles, see\n Creating the IAM Roles to Use With the CLI and DMS API. For\n information on the required permissions, see \n IAM Permissions Needed to Use DMS.

" + "smithy.api#documentation": "

Creates a configuration that you can later provide to configure and start an DMS Serverless\n replication. You can also provide options to validate the configuration inputs before you start the\n replication.

" } }, - "com.amazonaws.databasemigrationservice#CreateReplicationInstanceMessage": { + "com.amazonaws.databasemigrationservice#CreateReplicationConfigMessage": { "type": "structure", "members": { - "ReplicationInstanceIdentifier": { + "ReplicationConfigIdentifier": { "target": "com.amazonaws.databasemigrationservice#String", "traits": { - "smithy.api#documentation": "

The replication instance identifier. This parameter is stored as a lowercase\n string.

\n

Constraints:

\n
    \n
  • \n

    Must contain 1-63 alphanumeric characters or hyphens.

    \n
  • \n
  • \n

    First character must be a letter.

    \n
  • \n
  • \n

    Can't end with a hyphen or contain two consecutive hyphens.

    \n
  • \n
\n

Example: myrepinstance\n

", + "smithy.api#documentation": "

A unique identifier that you want to use to create a ReplicationConfigArn that is\n returned as part of the output from this action. You can then pass this output ReplicationConfigArn\n as the value of the ReplicationConfigArn option for other actions to identify both\n DMS Serverless replications and replication configurations that you want those actions to operate on.\n For some actions, you can also use either this unique identifier or a corresponding ARN in action filters to\n identify the specific replication and replication configuration to operate on.

", "smithy.api#required": {} } }, - "AllocatedStorage": { - "target": "com.amazonaws.databasemigrationservice#IntegerOptional", - "traits": { - "smithy.api#documentation": "

The amount of storage (in gigabytes) to be initially allocated for the replication\n instance.

" - } - }, - "ReplicationInstanceClass": { + "SourceEndpointArn": { "target": "com.amazonaws.databasemigrationservice#String", "traits": { - "smithy.api#documentation": "

The compute and memory capacity of the replication instance as defined for the specified\n replication instance class. For example to specify the instance class dms.c4.large, set this parameter to \"dms.c4.large\".

\n

For more information on the settings and capacities for the available replication instance classes, see \n \n Selecting the right DMS replication instance for your migration.\n

", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the source endpoint for\n this DMS Serverless replication configuration.

", "smithy.api#required": {} } }, - "VpcSecurityGroupIds": { - "target": "com.amazonaws.databasemigrationservice#VpcSecurityGroupIdList", - "traits": { - "smithy.api#documentation": "

Specifies the VPC security group to be used with the replication instance. The VPC\n security group must work with the VPC containing the replication instance.

" - } - }, - "AvailabilityZone": { - "target": "com.amazonaws.databasemigrationservice#String", - "traits": { - "smithy.api#documentation": "

The Availability Zone where the replication instance will be created. The default\n value is a random, system-chosen Availability Zone in the endpoint's Amazon Web Services Region, for\n example: us-east-1d\n

" - } - }, - "ReplicationSubnetGroupIdentifier": { + "TargetEndpointArn": { "target": "com.amazonaws.databasemigrationservice#String", "traits": { - "smithy.api#documentation": "

A subnet group to associate with the replication instance.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the target endpoint for\n this DMS serverless replication configuration.

", + "smithy.api#required": {} } }, - "PreferredMaintenanceWindow": { - "target": "com.amazonaws.databasemigrationservice#String", + "ComputeConfig": { + "target": "com.amazonaws.databasemigrationservice#ComputeConfig", "traits": { - "smithy.api#documentation": "

The weekly time range during which system maintenance can occur, in Universal\n Coordinated Time (UTC).

\n

Format: ddd:hh24:mi-ddd:hh24:mi\n

\n

Default: A 30-minute window selected at random from an 8-hour block of time per Amazon Web Services Region,\n occurring on a random day of the week.

\n

Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun

\n

Constraints: Minimum 30-minute window.

" + "smithy.api#documentation": "

Configuration parameters for provisioning an DMS Serverless replication.

", + "smithy.api#required": {} } }, - "MultiAZ": { - "target": "com.amazonaws.databasemigrationservice#BooleanOptional", + "ReplicationType": { + "target": "com.amazonaws.databasemigrationservice#MigrationTypeValue", "traits": { - "smithy.api#documentation": "

Specifies whether the replication instance is a Multi-AZ deployment. You can't set the\n AvailabilityZone parameter if the Multi-AZ parameter is set to\n true.

" + "smithy.api#documentation": "

The type of DMS Serverless replication to provision\n using this replication configuration.

\n

Possible values:

\n
    \n
  • \n

    \n \"full-load\"\n

    \n
  • \n
  • \n

    \n \"cdc\"\n

    \n
  • \n
  • \n

    \n \"full-load-and-cdc\"\n

    \n
  • \n
", + "smithy.api#required": {} } }, - "EngineVersion": { + "TableMappings": { "target": "com.amazonaws.databasemigrationservice#String", "traits": { - "smithy.api#documentation": "

The engine version number of the replication instance.

\n

If an engine version number is not specified when a replication \n instance is created, the default is the latest engine version available.

" - } - }, - "AutoMinorVersionUpgrade": { - "target": "com.amazonaws.databasemigrationservice#BooleanOptional", - "traits": { - "smithy.api#documentation": "

A value that indicates whether minor engine upgrades are applied automatically to the\n replication instance during the maintenance window. This parameter defaults to\n true.

\n

Default: true\n

\n

When AutoMinorVersionUpgrade is enabled, DMS uses the current default\n engine version when you create a replication instance. For example, if you set\n EngineVersion to a lower version number than the current default version,\n DMS uses the default version.

\n

If AutoMinorVersionUpgrade\n isn’t enabled when you create a replication instance, DMS uses the\n engine version specified by the EngineVersion parameter.

" - } - }, - "Tags": { - "target": "com.amazonaws.databasemigrationservice#TagList", - "traits": { - "smithy.api#documentation": "

One or more tags to be assigned to the replication instance.

" + "smithy.api#documentation": "

JSON table mappings for DMS Serverless replications that are provisioned\n using this replication configuration. For more information, see \n \n Specifying table selection and transformations rules using JSON.

", + "smithy.api#required": {} } }, - "KmsKeyId": { + "ReplicationSettings": { "target": "com.amazonaws.databasemigrationservice#String", "traits": { - "smithy.api#documentation": "

An KMS key identifier that is used to encrypt the data on the replication\n instance.

\n

If you don't specify a value for the KmsKeyId parameter, then\n DMS uses your default encryption key.

\n

KMS creates the default encryption key for your Amazon Web Services account. Your Amazon Web Services account has a\n different default encryption key for each Amazon Web Services Region.

" - } - }, - "PubliclyAccessible": { - "target": "com.amazonaws.databasemigrationservice#BooleanOptional", - "traits": { - "smithy.api#documentation": "

Specifies the accessibility options for the replication instance. A value of\n true represents an instance with a public IP address. A value of\n false represents an instance with a private IP address. The default value\n is true.

" + "smithy.api#documentation": "

Optional JSON settings for DMS Serverless replications that are\n provisioned using this replication configuration. For example, see\n \n Change processing tuning settings.

" } }, - "DnsNameServers": { + "SupplementalSettings": { "target": "com.amazonaws.databasemigrationservice#String", "traits": { - "smithy.api#documentation": "

A list of custom DNS name servers supported for the replication instance to access your\n on-premise source or target database. This list overrides the default name servers\n supported by the replication instance. You can specify a comma-separated list of internet\n addresses for up to four on-premise DNS name servers. For example:\n \"1.1.1.1,2.2.2.2,3.3.3.3,4.4.4.4\"\n

" + "smithy.api#documentation": "

Optional JSON settings for specifying supplemental data. For more information, see\n \n Specifying supplemental data for task settings.

" } }, "ResourceIdentifier": { "target": "com.amazonaws.databasemigrationservice#String", "traits": { - "smithy.api#documentation": "

A friendly name for the resource identifier at the end of the EndpointArn\n response parameter that is returned in the created Endpoint object. The value\n for this parameter can have up to 31 characters. It can contain only ASCII letters, digits,\n and hyphen ('-'). Also, it can't end with a hyphen or contain two consecutive hyphens,\n and can only begin with a letter, such as Example-App-ARN1. For example, this\n value might result in the EndpointArn value\n arn:aws:dms:eu-west-1:012345678901:rep:Example-App-ARN1. If you don't\n specify a ResourceIdentifier value, DMS generates a default identifier\n value for the end of EndpointArn.

" + "smithy.api#documentation": "

Optional unique value or name that you set for a given resource\n that can be used to construct an Amazon Resource Name (ARN) for that resource. For more information, see\n \n Fine-grained access control using resource names and tags.

" } }, - "NetworkType": { - "target": "com.amazonaws.databasemigrationservice#String", + "Tags": { + "target": "com.amazonaws.databasemigrationservice#TagList", "traits": { - "smithy.api#documentation": "

The type of IP address protocol used by a replication instance, \n such as IPv4 only or Dual-stack that supports both IPv4 and IPv6 addressing. \n IPv6 only is not yet supported.

" + "smithy.api#documentation": "

One or more optional tags associated with resources used by the DMS Serverless replication.\n For more information, see \n Tagging resources in Database Migration Service.

" } } }, @@ -2719,13 +2826,13 @@ "smithy.api#documentation": "

" } }, - "com.amazonaws.databasemigrationservice#CreateReplicationInstanceResponse": { + "com.amazonaws.databasemigrationservice#CreateReplicationConfigResponse": { "type": "structure", "members": { - "ReplicationInstance": { - "target": "com.amazonaws.databasemigrationservice#ReplicationInstance", + "ReplicationConfig": { + "target": "com.amazonaws.databasemigrationservice#ReplicationConfig", "traits": { - "smithy.api#documentation": "

The replication instance that was created.

" + "smithy.api#documentation": "

Configuration parameters returned from the DMS Serverless replication after it is created.

" } } }, @@ -2734,21 +2841,30 @@ "smithy.api#output": {} } }, - "com.amazonaws.databasemigrationservice#CreateReplicationSubnetGroup": { + "com.amazonaws.databasemigrationservice#CreateReplicationInstance": { "type": "operation", "input": { - "target": "com.amazonaws.databasemigrationservice#CreateReplicationSubnetGroupMessage" + "target": "com.amazonaws.databasemigrationservice#CreateReplicationInstanceMessage" }, "output": { - "target": "com.amazonaws.databasemigrationservice#CreateReplicationSubnetGroupResponse" + "target": "com.amazonaws.databasemigrationservice#CreateReplicationInstanceResponse" }, "errors": [ { "target": "com.amazonaws.databasemigrationservice#AccessDeniedFault" }, + { + "target": "com.amazonaws.databasemigrationservice#InsufficientResourceCapacityFault" + }, + { + "target": "com.amazonaws.databasemigrationservice#InvalidResourceStateFault" + }, { "target": "com.amazonaws.databasemigrationservice#InvalidSubnet" }, + { + "target": "com.amazonaws.databasemigrationservice#KMSKeyNotAccessibleFault" + }, { "target": "com.amazonaws.databasemigrationservice#ReplicationSubnetGroupDoesNotCoverEnoughAZs" }, @@ -2760,10 +2876,166 @@ }, { "target": "com.amazonaws.databasemigrationservice#ResourceQuotaExceededFault" + }, + { + "target": "com.amazonaws.databasemigrationservice#StorageQuotaExceededFault" } ], "traits": { - "smithy.api#documentation": "

Creates a replication subnet group given a list of the subnet IDs in a VPC.

\n

The VPC needs to have at least one subnet in at least two availability zones in the Amazon Web Services Region, otherwise the\n service will throw a ReplicationSubnetGroupDoesNotCoverEnoughAZs exception.

" + "smithy.api#documentation": "

Creates the replication instance using the specified parameters.

\n

DMS requires that your account have certain roles with appropriate permissions\n before you can create a replication instance. For information on the required roles, see\n Creating the IAM Roles to Use With the CLI and DMS API. For\n information on the required permissions, see \n IAM Permissions Needed to Use DMS.

" + } + }, + "com.amazonaws.databasemigrationservice#CreateReplicationInstanceMessage": { + "type": "structure", + "members": { + "ReplicationInstanceIdentifier": { + "target": "com.amazonaws.databasemigrationservice#String", + "traits": { + "smithy.api#documentation": "

The replication instance identifier. This parameter is stored as a lowercase\n string.

\n

Constraints:

\n
    \n
  • \n

    Must contain 1-63 alphanumeric characters or hyphens.

    \n
  • \n
  • \n

    First character must be a letter.

    \n
  • \n
  • \n

    Can't end with a hyphen or contain two consecutive hyphens.

    \n
  • \n
\n

Example: myrepinstance\n

", + "smithy.api#required": {} + } + }, + "AllocatedStorage": { + "target": "com.amazonaws.databasemigrationservice#IntegerOptional", + "traits": { + "smithy.api#documentation": "

The amount of storage (in gigabytes) to be initially allocated for the replication\n instance.

" + } + }, + "ReplicationInstanceClass": { + "target": "com.amazonaws.databasemigrationservice#String", + "traits": { + "smithy.api#documentation": "

The compute and memory capacity of the replication instance as defined for the specified\n replication instance class. For example to specify the instance class dms.c4.large, set this parameter to \"dms.c4.large\".

\n

For more information on the settings and capacities for the available replication instance classes, see \n \n Choosing the right DMS replication instance; and, \n Selecting the best size for a replication instance.\n

", + "smithy.api#required": {} + } + }, + "VpcSecurityGroupIds": { + "target": "com.amazonaws.databasemigrationservice#VpcSecurityGroupIdList", + "traits": { + "smithy.api#documentation": "

Specifies the VPC security group to be used with the replication instance. The VPC\n security group must work with the VPC containing the replication instance.

" + } + }, + "AvailabilityZone": { + "target": "com.amazonaws.databasemigrationservice#String", + "traits": { + "smithy.api#documentation": "

The Availability Zone where the replication instance will be created. The default\n value is a random, system-chosen Availability Zone in the endpoint's Amazon Web Services Region, for\n example: us-east-1d.

" + } + }, + "ReplicationSubnetGroupIdentifier": { + "target": "com.amazonaws.databasemigrationservice#String", + "traits": { + "smithy.api#documentation": "

A subnet group to associate with the replication instance.

" + } + }, + "PreferredMaintenanceWindow": { + "target": "com.amazonaws.databasemigrationservice#String", + "traits": { + "smithy.api#documentation": "

The weekly time range during which system maintenance can occur, in Universal\n Coordinated Time (UTC).

\n

Format: ddd:hh24:mi-ddd:hh24:mi\n

\n

Default: A 30-minute window selected at random from an 8-hour block of time per Amazon Web Services Region,\n occurring on a random day of the week.

\n

Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun

\n

Constraints: Minimum 30-minute window.

" + } + }, + "MultiAZ": { + "target": "com.amazonaws.databasemigrationservice#BooleanOptional", + "traits": { + "smithy.api#documentation": "

Specifies whether the replication instance is a Multi-AZ deployment. You can't set the\n AvailabilityZone parameter if the Multi-AZ parameter is set to\n true.

" + } + }, + "EngineVersion": { + "target": "com.amazonaws.databasemigrationservice#String", + "traits": { + "smithy.api#documentation": "

The engine version number of the replication instance.

\n

If an engine version number is not specified when a replication \n instance is created, the default is the latest engine version available.

" + } + }, + "AutoMinorVersionUpgrade": { + "target": "com.amazonaws.databasemigrationservice#BooleanOptional", + "traits": { + "smithy.api#documentation": "

A value that indicates whether minor engine upgrades are applied automatically to the\n replication instance during the maintenance window. This parameter defaults to\n true.

\n

Default: true\n

\n

When AutoMinorVersionUpgrade is enabled, DMS uses the current default\n engine version when you create a replication instance. For example, if you set\n EngineVersion to a lower version number than the current default version,\n DMS uses the default version.

\n

If AutoMinorVersionUpgrade\n isn’t enabled when you create a replication instance, DMS uses the\n engine version specified by the EngineVersion parameter.

" + } + }, + "Tags": { + "target": "com.amazonaws.databasemigrationservice#TagList", + "traits": { + "smithy.api#documentation": "

One or more tags to be assigned to the replication instance.

" + } + }, + "KmsKeyId": { + "target": "com.amazonaws.databasemigrationservice#String", + "traits": { + "smithy.api#documentation": "

An KMS key identifier that is used to encrypt the data on the replication\n instance.

\n

If you don't specify a value for the KmsKeyId parameter, then\n DMS uses your default encryption key.

\n

KMS creates the default encryption key for your Amazon Web Services account. Your Amazon Web Services account has a\n different default encryption key for each Amazon Web Services Region.

" + } + }, + "PubliclyAccessible": { + "target": "com.amazonaws.databasemigrationservice#BooleanOptional", + "traits": { + "smithy.api#documentation": "

Specifies the accessibility options for the replication instance. A value of\n true represents an instance with a public IP address. A value of\n false represents an instance with a private IP address. The default value\n is true.

" + } + }, + "DnsNameServers": { + "target": "com.amazonaws.databasemigrationservice#String", + "traits": { + "smithy.api#documentation": "

A list of custom DNS name servers supported for the replication instance to access your\n on-premise source or target database. This list overrides the default name servers\n supported by the replication instance. You can specify a comma-separated list of internet\n addresses for up to four on-premise DNS name servers. For example:\n \"1.1.1.1,2.2.2.2,3.3.3.3,4.4.4.4\"\n

" + } + }, + "ResourceIdentifier": { + "target": "com.amazonaws.databasemigrationservice#String", + "traits": { + "smithy.api#documentation": "

A friendly name for the resource identifier at the end of the EndpointArn\n response parameter that is returned in the created Endpoint object. The value\n for this parameter can have up to 31 characters. It can contain only ASCII letters, digits,\n and hyphen ('-'). Also, it can't end with a hyphen or contain two consecutive hyphens,\n and can only begin with a letter, such as Example-App-ARN1. For example, this\n value might result in the EndpointArn value\n arn:aws:dms:eu-west-1:012345678901:rep:Example-App-ARN1. If you don't\n specify a ResourceIdentifier value, DMS generates a default identifier\n value for the end of EndpointArn.

" + } + }, + "NetworkType": { + "target": "com.amazonaws.databasemigrationservice#String", + "traits": { + "smithy.api#documentation": "

The type of IP address protocol used by a replication instance, \n such as IPv4 only or Dual-stack that supports both IPv4 and IPv6 addressing. \n IPv6 only is not yet supported.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

" + } + }, + "com.amazonaws.databasemigrationservice#CreateReplicationInstanceResponse": { + "type": "structure", + "members": { + "ReplicationInstance": { + "target": "com.amazonaws.databasemigrationservice#ReplicationInstance", + "traits": { + "smithy.api#documentation": "

The replication instance that was created.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

", + "smithy.api#output": {} + } + }, + "com.amazonaws.databasemigrationservice#CreateReplicationSubnetGroup": { + "type": "operation", + "input": { + "target": "com.amazonaws.databasemigrationservice#CreateReplicationSubnetGroupMessage" + }, + "output": { + "target": "com.amazonaws.databasemigrationservice#CreateReplicationSubnetGroupResponse" + }, + "errors": [ + { + "target": "com.amazonaws.databasemigrationservice#AccessDeniedFault" + }, + { + "target": "com.amazonaws.databasemigrationservice#InvalidSubnet" + }, + { + "target": "com.amazonaws.databasemigrationservice#ReplicationSubnetGroupDoesNotCoverEnoughAZs" + }, + { + "target": "com.amazonaws.databasemigrationservice#ResourceAlreadyExistsFault" + }, + { + "target": "com.amazonaws.databasemigrationservice#ResourceNotFoundFault" + }, + { + "target": "com.amazonaws.databasemigrationservice#ResourceQuotaExceededFault" + } + ], + "traits": { + "smithy.api#documentation": "

Creates a replication subnet group given a list of the subnet IDs in a VPC.

\n

The VPC needs to have at least one subnet in at least two availability zones in the Amazon Web Services Region, otherwise the\n service will throw a ReplicationSubnetGroupDoesNotCoverEnoughAZs exception.

\n

If a replication subnet group exists in your Amazon Web Services account, the CreateReplicationSubnetGroup action \n returns the following error message: The Replication Subnet Group already exists. In this case, delete \n the existing replication subnet group. To do so, use the DeleteReplicationSubnetGroup action. Optionally, choose Subnet groups in the DMS console, \n then choose your subnet group. Next, choose Delete from Actions.

" } }, "com.amazonaws.databasemigrationservice#CreateReplicationSubnetGroupMessage": { @@ -3464,6 +3736,59 @@ "smithy.api#output": {} } }, + "com.amazonaws.databasemigrationservice#DeleteReplicationConfig": { + "type": "operation", + "input": { + "target": "com.amazonaws.databasemigrationservice#DeleteReplicationConfigMessage" + }, + "output": { + "target": "com.amazonaws.databasemigrationservice#DeleteReplicationConfigResponse" + }, + "errors": [ + { + "target": "com.amazonaws.databasemigrationservice#AccessDeniedFault" + }, + { + "target": "com.amazonaws.databasemigrationservice#InvalidResourceStateFault" + }, + { + "target": "com.amazonaws.databasemigrationservice#ResourceNotFoundFault" + } + ], + "traits": { + "smithy.api#documentation": "

Deletes an DMS Serverless replication configuration. This effectively deprovisions any and all\n replications that use this configuration. You can't delete the configuration for an DMS Serverless replication\n that is ongoing. You can delete the configuration when the replication is in a non-RUNNING and non-STARTING state.

" + } + }, + "com.amazonaws.databasemigrationservice#DeleteReplicationConfigMessage": { + "type": "structure", + "members": { + "ReplicationConfigArn": { + "target": "com.amazonaws.databasemigrationservice#String", + "traits": { + "smithy.api#documentation": "

The replication config to delete.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

" + } + }, + "com.amazonaws.databasemigrationservice#DeleteReplicationConfigResponse": { + "type": "structure", + "members": { + "ReplicationConfig": { + "target": "com.amazonaws.databasemigrationservice#ReplicationConfig", + "traits": { + "smithy.api#documentation": "

Configuration parameters returned for the DMS Serverless replication after it is deleted.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

", + "smithy.api#output": {} + } + }, "com.amazonaws.databasemigrationservice#DeleteReplicationInstance": { "type": "operation", "input": { @@ -3984,7 +4309,7 @@ "EngineName": { "target": "com.amazonaws.databasemigrationservice#String", "traits": { - "smithy.api#documentation": "

The databse engine used for your source or target endpoint.

", + "smithy.api#documentation": "

The database engine used for your source or target endpoint.

", "smithy.api#required": {} } }, @@ -5070,6 +5395,75 @@ "smithy.api#output": {} } }, + "com.amazonaws.databasemigrationservice#DescribeReplicationConfigs": { + "type": "operation", + "input": { + "target": "com.amazonaws.databasemigrationservice#DescribeReplicationConfigsMessage" + }, + "output": { + "target": "com.amazonaws.databasemigrationservice#DescribeReplicationConfigsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.databasemigrationservice#ResourceNotFoundFault" + } + ], + "traits": { + "smithy.api#documentation": "

Returns one or more existing DMS Serverless replication configurations as a list of structures.

", + "smithy.api#paginated": { + "inputToken": "Marker", + "outputToken": "Marker", + "pageSize": "MaxRecords" + } + } + }, + "com.amazonaws.databasemigrationservice#DescribeReplicationConfigsMessage": { + "type": "structure", + "members": { + "Filters": { + "target": "com.amazonaws.databasemigrationservice#FilterList", + "traits": { + "smithy.api#documentation": "

Filters applied to the replication configs.

" + } + }, + "MaxRecords": { + "target": "com.amazonaws.databasemigrationservice#IntegerOptional", + "traits": { + "smithy.api#documentation": "

The maximum number of records to include in the response. If more records exist than the specified \n MaxRecords value, a pagination token called a marker is included in the response so that \n the remaining results can be retrieved.

" + } + }, + "Marker": { + "target": "com.amazonaws.databasemigrationservice#String", + "traits": { + "smithy.api#documentation": "

An optional pagination token provided by a previous request. If this parameter is specified, \n the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

" + } + }, + "com.amazonaws.databasemigrationservice#DescribeReplicationConfigsResponse": { + "type": "structure", + "members": { + "Marker": { + "target": "com.amazonaws.databasemigrationservice#String", + "traits": { + "smithy.api#documentation": "

An optional pagination token provided by a previous request. If this parameter is specified, the response \n includes only records beyond the marker, up to the value specified by MaxRecords.

" + } + }, + "ReplicationConfigs": { + "target": "com.amazonaws.databasemigrationservice#ReplicationConfigList", + "traits": { + "smithy.api#documentation": "

Returned configuration parameters that describe each provisioned DMS Serverless replication.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

", + "smithy.api#output": {} + } + }, "com.amazonaws.databasemigrationservice#DescribeReplicationInstanceTaskLogs": { "type": "operation", "input": { @@ -5363,21 +5757,24 @@ "smithy.api#output": {} } }, - "com.amazonaws.databasemigrationservice#DescribeReplicationTaskAssessmentResults": { + "com.amazonaws.databasemigrationservice#DescribeReplicationTableStatistics": { "type": "operation", "input": { - "target": "com.amazonaws.databasemigrationservice#DescribeReplicationTaskAssessmentResultsMessage" + "target": "com.amazonaws.databasemigrationservice#DescribeReplicationTableStatisticsMessage" }, "output": { - "target": "com.amazonaws.databasemigrationservice#DescribeReplicationTaskAssessmentResultsResponse" + "target": "com.amazonaws.databasemigrationservice#DescribeReplicationTableStatisticsResponse" }, "errors": [ + { + "target": "com.amazonaws.databasemigrationservice#InvalidResourceStateFault" + }, { "target": "com.amazonaws.databasemigrationservice#ResourceNotFoundFault" } ], "traits": { - "smithy.api#documentation": "

Returns the task assessment results from the Amazon S3 bucket that DMS creates in your\n Amazon Web Services account. This action always returns the\n latest results.

\n

For more information about DMS task assessments, see \n Creating a task assessment report\n in the Database Migration Service User Guide.

", + "smithy.api#documentation": "

Returns table and schema statistics for one or more provisioned replications that use a\n given DMS Serverless replication configuration.

", "smithy.api#paginated": { "inputToken": "Marker", "outputToken": "Marker", @@ -5385,7 +5782,89 @@ } } }, - "com.amazonaws.databasemigrationservice#DescribeReplicationTaskAssessmentResultsMessage": { + "com.amazonaws.databasemigrationservice#DescribeReplicationTableStatisticsMessage": { + "type": "structure", + "members": { + "ReplicationConfigArn": { + "target": "com.amazonaws.databasemigrationservice#String", + "traits": { + "smithy.api#documentation": "

The replication config to describe.

", + "smithy.api#required": {} + } + }, + "MaxRecords": { + "target": "com.amazonaws.databasemigrationservice#IntegerOptional", + "traits": { + "smithy.api#documentation": "

The maximum number of records to include in the response. If more records exist than the specified \n MaxRecords value, a pagination token called a marker is included in the response so that \n the remaining results can be retrieved.

" + } + }, + "Marker": { + "target": "com.amazonaws.databasemigrationservice#String", + "traits": { + "smithy.api#documentation": "

An optional pagination token provided by a previous request. If this parameter is specified, \n the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + } + }, + "Filters": { + "target": "com.amazonaws.databasemigrationservice#FilterList", + "traits": { + "smithy.api#documentation": "

Filters applied to the replication table statistics.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

" + } + }, + "com.amazonaws.databasemigrationservice#DescribeReplicationTableStatisticsResponse": { + "type": "structure", + "members": { + "ReplicationConfigArn": { + "target": "com.amazonaws.databasemigrationservice#String", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name of the replication config.

" + } + }, + "Marker": { + "target": "com.amazonaws.databasemigrationservice#String", + "traits": { + "smithy.api#documentation": "

An optional pagination token provided by a previous request. If this parameter is specified, \n the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + } + }, + "ReplicationTableStatistics": { + "target": "com.amazonaws.databasemigrationservice#ReplicationTableStatisticsList", + "traits": { + "smithy.api#documentation": "

Returns table statistics on the replication, including table name, rows inserted, rows updated, and rows deleted.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

", + "smithy.api#output": {} + } + }, + "com.amazonaws.databasemigrationservice#DescribeReplicationTaskAssessmentResults": { + "type": "operation", + "input": { + "target": "com.amazonaws.databasemigrationservice#DescribeReplicationTaskAssessmentResultsMessage" + }, + "output": { + "target": "com.amazonaws.databasemigrationservice#DescribeReplicationTaskAssessmentResultsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.databasemigrationservice#ResourceNotFoundFault" + } + ], + "traits": { + "smithy.api#documentation": "

Returns the task assessment results from the Amazon S3 bucket that DMS creates in your\n Amazon Web Services account. This action always returns the\n latest results.

\n

For more information about DMS task assessments, see \n Creating a task assessment report\n in the Database Migration Service User Guide.

", + "smithy.api#paginated": { + "inputToken": "Marker", + "outputToken": "Marker", + "pageSize": "MaxRecords" + } + } + }, + "com.amazonaws.databasemigrationservice#DescribeReplicationTaskAssessmentResultsMessage": { "type": "structure", "members": { "ReplicationTaskArn": { @@ -5993,6 +6472,75 @@ "smithy.api#output": {} } }, + "com.amazonaws.databasemigrationservice#DescribeReplications": { + "type": "operation", + "input": { + "target": "com.amazonaws.databasemigrationservice#DescribeReplicationsMessage" + }, + "output": { + "target": "com.amazonaws.databasemigrationservice#DescribeReplicationsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.databasemigrationservice#ResourceNotFoundFault" + } + ], + "traits": { + "smithy.api#documentation": "

Provides details on replication progress by returning status information for one or more\n provisioned DMS Serverless replications.

", + "smithy.api#paginated": { + "inputToken": "Marker", + "outputToken": "Marker", + "pageSize": "MaxRecords" + } + } + }, + "com.amazonaws.databasemigrationservice#DescribeReplicationsMessage": { + "type": "structure", + "members": { + "Filters": { + "target": "com.amazonaws.databasemigrationservice#FilterList", + "traits": { + "smithy.api#documentation": "

Filters applied to the replications.

" + } + }, + "MaxRecords": { + "target": "com.amazonaws.databasemigrationservice#IntegerOptional", + "traits": { + "smithy.api#documentation": "

The maximum number of records to include in the response. If more records exist than the specified \n MaxRecords value, a pagination token called a marker is included in the response so that \n the remaining results can be retrieved.

" + } + }, + "Marker": { + "target": "com.amazonaws.databasemigrationservice#String", + "traits": { + "smithy.api#documentation": "

An optional pagination token provided by a previous request. If this parameter is specified, \n the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

" + } + }, + "com.amazonaws.databasemigrationservice#DescribeReplicationsResponse": { + "type": "structure", + "members": { + "Marker": { + "target": "com.amazonaws.databasemigrationservice#String", + "traits": { + "smithy.api#documentation": "

An optional pagination token provided by a previous request. If this parameter is specified, \n the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + } + }, + "Replications": { + "target": "com.amazonaws.databasemigrationservice#ReplicationList", + "traits": { + "smithy.api#documentation": "

The replication descriptions.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

", + "smithy.api#output": {} + } + }, "com.amazonaws.databasemigrationservice#DescribeSchemas": { "type": "operation", "input": { @@ -6268,6 +6816,18 @@ "traits": { "smithy.api#documentation": "

The full ARN, partial ARN, or friendly name of the SecretsManagerSecret\n that contains the DocumentDB endpoint connection details.

" } + }, + "UseUpdateLookUp": { + "target": "com.amazonaws.databasemigrationservice#BooleanOptional", + "traits": { + "smithy.api#documentation": "

If true, DMS retrieves the entire document from the DocumentDB source during migration.\n This may cause a migration failure if the server response exceeds bandwidth limits. To fetch only updates\n and deletes during migration, set this parameter to false.

" + } + }, + "ReplicateShardCollections": { + "target": "com.amazonaws.databasemigrationservice#BooleanOptional", + "traits": { + "smithy.api#documentation": "

If true, DMS replicates data to shard collections. DMS only uses this setting if\n the target endpoint is a DocumentDB elastic cluster.

\n

When this setting is true, note the following:

\n
    \n
  • \n

    You must set TargetTablePrepMode to nothing.

    \n
  • \n
  • \n

    DMS automatically sets useUpdateLookup to false.

    \n
  • \n
" + } } }, "traits": { @@ -6581,6 +7141,12 @@ "traits": { "smithy.api#documentation": "

Settings in JSON format for the source GCP MySQL endpoint.

" } + }, + "TimestreamSettings": { + "target": "com.amazonaws.databasemigrationservice#TimestreamSettings", + "traits": { + "smithy.api#documentation": "

The settings for the Amazon Timestream target endpoint. For more information, see the\n TimestreamSettings structure.

" + } } }, "traits": { @@ -7300,7 +7866,7 @@ } }, "traits": { - "smithy.api#documentation": "

The subnet provided is invalid.

", + "smithy.api#documentation": "

The subnet provided isn't valid.

", "smithy.api#error": "client" } }, @@ -7573,12 +8139,35 @@ "traits": { "smithy.api#documentation": "

For SASL/SSL authentication, DMS supports the SCRAM-SHA-512 mechanism by default. DMS versions \n 3.5.0 and later also support the PLAIN mechanism. To use the PLAIN mechanism, set this\n parameter to PLAIN.\n

" } + }, + "SslEndpointIdentificationAlgorithm": { + "target": "com.amazonaws.databasemigrationservice#KafkaSslEndpointIdentificationAlgorithm", + "traits": { + "smithy.api#documentation": "

Sets hostname verification\n for the certificate. This setting is supported in DMS version 3.5.1 and later.

" + } } }, "traits": { "smithy.api#documentation": "

Provides information that describes an Apache Kafka endpoint. This\n information includes the output format of records applied to the endpoint and details of\n transaction and control table data information.

" } }, + "com.amazonaws.databasemigrationservice#KafkaSslEndpointIdentificationAlgorithm": { + "type": "enum", + "members": { + "NONE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "none" + } + }, + "HTTPS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "https" + } + } + } + }, "com.amazonaws.databasemigrationservice#KeyList": { "type": "list", "member": { @@ -7764,6 +8353,29 @@ "com.amazonaws.databasemigrationservice#LongOptional": { "type": "long" }, + "com.amazonaws.databasemigrationservice#LongVarcharMappingType": { + "type": "enum", + "members": { + "WSTRING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "wstring" + } + }, + "CLOB": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "clob" + } + }, + "NCLOB": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "nclob" + } + } + } + }, "com.amazonaws.databasemigrationservice#MessageFormatValue": { "type": "enum", "members": { @@ -8141,6 +8753,12 @@ "traits": { "smithy.api#documentation": "

Settings in JSON format for the source GCP MySQL endpoint.

" } + }, + "TimestreamSettings": { + "target": "com.amazonaws.databasemigrationservice#TimestreamSettings", + "traits": { + "smithy.api#documentation": "

Settings in JSON format for the target Amazon Timestream endpoint.

" + } } }, "traits": { @@ -8257,117 +8875,94 @@ "smithy.api#output": {} } }, - "com.amazonaws.databasemigrationservice#ModifyReplicationInstance": { + "com.amazonaws.databasemigrationservice#ModifyReplicationConfig": { "type": "operation", "input": { - "target": "com.amazonaws.databasemigrationservice#ModifyReplicationInstanceMessage" + "target": "com.amazonaws.databasemigrationservice#ModifyReplicationConfigMessage" }, "output": { - "target": "com.amazonaws.databasemigrationservice#ModifyReplicationInstanceResponse" + "target": "com.amazonaws.databasemigrationservice#ModifyReplicationConfigResponse" }, "errors": [ { "target": "com.amazonaws.databasemigrationservice#AccessDeniedFault" }, - { - "target": "com.amazonaws.databasemigrationservice#InsufficientResourceCapacityFault" - }, { "target": "com.amazonaws.databasemigrationservice#InvalidResourceStateFault" }, { - "target": "com.amazonaws.databasemigrationservice#ResourceAlreadyExistsFault" + "target": "com.amazonaws.databasemigrationservice#InvalidSubnet" }, { - "target": "com.amazonaws.databasemigrationservice#ResourceNotFoundFault" + "target": "com.amazonaws.databasemigrationservice#KMSKeyNotAccessibleFault" }, { - "target": "com.amazonaws.databasemigrationservice#StorageQuotaExceededFault" + "target": "com.amazonaws.databasemigrationservice#ReplicationSubnetGroupDoesNotCoverEnoughAZs" }, { - "target": "com.amazonaws.databasemigrationservice#UpgradeDependencyFailureFault" + "target": "com.amazonaws.databasemigrationservice#ResourceNotFoundFault" } ], "traits": { - "smithy.api#documentation": "

Modifies the replication instance to apply new settings. You can change one or more\n parameters by specifying these parameters and the new values in the request.

\n

Some settings are applied during the maintenance window.

\n

" + "smithy.api#documentation": "

Modifies an existing DMS Serverless replication configuration that you can use\n to start a replication. This command includes input validation and logic to check\n the state of any replication that uses this configuration. You can only modify a replication\n configuration before any replication that uses it has started. As soon as you have initially\n started a replication with a given configuiration, you can't modify that configuration,\n even if you stop it.

\n

Other run statuses that allow you to run this command include FAILED and CREATED.\n A provisioning state that allows you to run this command is FAILED_PROVISION.

" } }, - "com.amazonaws.databasemigrationservice#ModifyReplicationInstanceMessage": { + "com.amazonaws.databasemigrationservice#ModifyReplicationConfigMessage": { "type": "structure", "members": { - "ReplicationInstanceArn": { + "ReplicationConfigArn": { "target": "com.amazonaws.databasemigrationservice#String", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the replication instance.

", + "smithy.api#documentation": "

The Amazon Resource Name of the replication to modify.

", "smithy.api#required": {} } }, - "AllocatedStorage": { - "target": "com.amazonaws.databasemigrationservice#IntegerOptional", - "traits": { - "smithy.api#documentation": "

The amount of storage (in gigabytes) to be allocated for the replication\n instance.

" - } - }, - "ApplyImmediately": { - "target": "com.amazonaws.databasemigrationservice#Boolean", - "traits": { - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether the changes should be applied immediately or during the next\n maintenance window.

" - } - }, - "ReplicationInstanceClass": { + "ReplicationConfigIdentifier": { "target": "com.amazonaws.databasemigrationservice#String", "traits": { - "smithy.api#documentation": "

The compute and memory capacity of the replication instance as defined for the specified\n replication instance class. For example to specify the instance class dms.c4.large, set this parameter to \"dms.c4.large\".

\n

For more information on the settings and capacities for the available replication instance classes, see \n \n Selecting the right DMS replication instance for your migration.\n

" + "smithy.api#documentation": "

The new replication config to apply to the replication.

" } }, - "VpcSecurityGroupIds": { - "target": "com.amazonaws.databasemigrationservice#VpcSecurityGroupIdList", + "ReplicationType": { + "target": "com.amazonaws.databasemigrationservice#MigrationTypeValue", "traits": { - "smithy.api#documentation": "

Specifies the VPC security group to be used with the replication instance. The VPC\n security group must work with the VPC containing the replication instance.

" + "smithy.api#documentation": "

The type of replication.

" } }, - "PreferredMaintenanceWindow": { + "TableMappings": { "target": "com.amazonaws.databasemigrationservice#String", "traits": { - "smithy.api#documentation": "

The weekly time range (in UTC) during which system maintenance can occur, which might\n result in an outage. Changing this parameter does not result in an outage, except in the\n following situation, and the change is asynchronously applied as soon as possible. If\n moving this window to the current time, there must be at least 30 minutes between the\n current time and end of the window to ensure pending changes are applied.

\n

Default: Uses existing setting

\n

Format: ddd:hh24:mi-ddd:hh24:mi

\n

Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun

\n

Constraints: Must be at least 30 minutes

" - } - }, - "MultiAZ": { - "target": "com.amazonaws.databasemigrationservice#BooleanOptional", - "traits": { - "smithy.api#documentation": "

Specifies whether the replication instance is a Multi-AZ deployment. You can't set the\n AvailabilityZone parameter if the Multi-AZ parameter is set to\n true.

" + "smithy.api#documentation": "

Table mappings specified in the replication.

" } }, - "EngineVersion": { + "ReplicationSettings": { "target": "com.amazonaws.databasemigrationservice#String", "traits": { - "smithy.api#documentation": "

The engine version number of the replication instance.

\n

When modifying a major engine version of an instance, also set \n AllowMajorVersionUpgrade to true.

" + "smithy.api#documentation": "

The settings for the replication.

" } }, - "AllowMajorVersionUpgrade": { - "target": "com.amazonaws.databasemigrationservice#Boolean", + "SupplementalSettings": { + "target": "com.amazonaws.databasemigrationservice#String", "traits": { - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates that major version upgrades are allowed. Changing this parameter does not\n result in an outage, and the change is asynchronously applied as soon as possible.

\n

This parameter must be set to true when specifying a value for the\n EngineVersion parameter that is a different major version than the\n replication instance's current version.

" + "smithy.api#documentation": "

Additional settings for the replication.

" } }, - "AutoMinorVersionUpgrade": { - "target": "com.amazonaws.databasemigrationservice#BooleanOptional", + "ComputeConfig": { + "target": "com.amazonaws.databasemigrationservice#ComputeConfig", "traits": { - "smithy.api#documentation": "

A value that indicates that minor version upgrades are applied automatically to the\n replication instance during the maintenance window. Changing this parameter doesn't result\n in an outage, except in the case described following. The change is asynchronously applied\n as soon as possible.

\n

An outage does result if these factors apply:

\n
    \n
  • \n

    This parameter is set to true during the maintenance window.

    \n
  • \n
  • \n

    A newer minor version is available.

    \n
  • \n
  • \n

    DMS has enabled automatic patching for the given engine version.

    \n
  • \n
\n

When AutoMinorVersionUpgrade is enabled, DMS uses the current default\n engine version when you modify a replication instance. For example, if you set\n EngineVersion to a lower version number than the current default version,\n DMS uses the default version.

\n

If AutoMinorVersionUpgrade\n isn’t enabled when you modify a replication instance, DMS uses the\n engine version specified by the EngineVersion parameter.

" + "smithy.api#documentation": "

Configuration parameters for provisioning an DMS Serverless replication.

" } }, - "ReplicationInstanceIdentifier": { + "SourceEndpointArn": { "target": "com.amazonaws.databasemigrationservice#String", "traits": { - "smithy.api#documentation": "

The replication instance identifier. This parameter is stored as a lowercase\n string.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the source endpoint for\n this DMS serverless replication configuration.

" } }, - "NetworkType": { + "TargetEndpointArn": { "target": "com.amazonaws.databasemigrationservice#String", "traits": { - "smithy.api#documentation": "

The type of IP address protocol used by a replication instance, \n such as IPv4 only or Dual-stack that supports both IPv4 and IPv6 addressing. \n IPv6 only is not yet supported.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the target endpoint for\n this DMS serverless replication configuration.

" } } }, @@ -8375,47 +8970,179 @@ "smithy.api#documentation": "

" } }, - "com.amazonaws.databasemigrationservice#ModifyReplicationInstanceResponse": { + "com.amazonaws.databasemigrationservice#ModifyReplicationConfigResponse": { "type": "structure", "members": { - "ReplicationInstance": { - "target": "com.amazonaws.databasemigrationservice#ReplicationInstance", + "ReplicationConfig": { + "target": "com.amazonaws.databasemigrationservice#ReplicationConfig", "traits": { - "smithy.api#documentation": "

The modified replication instance.

" + "smithy.api#documentation": "

Information about the serverless replication config that was modified.

" } } }, "traits": { - "smithy.api#documentation": "

", "smithy.api#output": {} } }, - "com.amazonaws.databasemigrationservice#ModifyReplicationSubnetGroup": { + "com.amazonaws.databasemigrationservice#ModifyReplicationInstance": { "type": "operation", "input": { - "target": "com.amazonaws.databasemigrationservice#ModifyReplicationSubnetGroupMessage" + "target": "com.amazonaws.databasemigrationservice#ModifyReplicationInstanceMessage" }, "output": { - "target": "com.amazonaws.databasemigrationservice#ModifyReplicationSubnetGroupResponse" + "target": "com.amazonaws.databasemigrationservice#ModifyReplicationInstanceResponse" }, "errors": [ { "target": "com.amazonaws.databasemigrationservice#AccessDeniedFault" }, { - "target": "com.amazonaws.databasemigrationservice#InvalidSubnet" + "target": "com.amazonaws.databasemigrationservice#InsufficientResourceCapacityFault" }, { - "target": "com.amazonaws.databasemigrationservice#ReplicationSubnetGroupDoesNotCoverEnoughAZs" + "target": "com.amazonaws.databasemigrationservice#InvalidResourceStateFault" + }, + { + "target": "com.amazonaws.databasemigrationservice#ResourceAlreadyExistsFault" }, { "target": "com.amazonaws.databasemigrationservice#ResourceNotFoundFault" }, { - "target": "com.amazonaws.databasemigrationservice#ResourceQuotaExceededFault" + "target": "com.amazonaws.databasemigrationservice#StorageQuotaExceededFault" }, { - "target": "com.amazonaws.databasemigrationservice#SubnetAlreadyInUse" + "target": "com.amazonaws.databasemigrationservice#UpgradeDependencyFailureFault" + } + ], + "traits": { + "smithy.api#documentation": "

Modifies the replication instance to apply new settings. You can change one or more\n parameters by specifying these parameters and the new values in the request.

\n

Some settings are applied during the maintenance window.

\n

" + } + }, + "com.amazonaws.databasemigrationservice#ModifyReplicationInstanceMessage": { + "type": "structure", + "members": { + "ReplicationInstanceArn": { + "target": "com.amazonaws.databasemigrationservice#String", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the replication instance.

", + "smithy.api#required": {} + } + }, + "AllocatedStorage": { + "target": "com.amazonaws.databasemigrationservice#IntegerOptional", + "traits": { + "smithy.api#documentation": "

The amount of storage (in gigabytes) to be allocated for the replication\n instance.

" + } + }, + "ApplyImmediately": { + "target": "com.amazonaws.databasemigrationservice#Boolean", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether the changes should be applied immediately or during the next\n maintenance window.

" + } + }, + "ReplicationInstanceClass": { + "target": "com.amazonaws.databasemigrationservice#String", + "traits": { + "smithy.api#documentation": "

The compute and memory capacity of the replication instance as defined for the specified\n replication instance class. For example to specify the instance class dms.c4.large, set this parameter to \"dms.c4.large\".

\n

For more information on the settings and capacities for the available replication instance classes, see \n \n Selecting the right DMS replication instance for your migration.\n

" + } + }, + "VpcSecurityGroupIds": { + "target": "com.amazonaws.databasemigrationservice#VpcSecurityGroupIdList", + "traits": { + "smithy.api#documentation": "

Specifies the VPC security group to be used with the replication instance. The VPC\n security group must work with the VPC containing the replication instance.

" + } + }, + "PreferredMaintenanceWindow": { + "target": "com.amazonaws.databasemigrationservice#String", + "traits": { + "smithy.api#documentation": "

The weekly time range (in UTC) during which system maintenance can occur, which might\n result in an outage. Changing this parameter does not result in an outage, except in the\n following situation, and the change is asynchronously applied as soon as possible. If\n moving this window to the current time, there must be at least 30 minutes between the\n current time and end of the window to ensure pending changes are applied.

\n

Default: Uses existing setting

\n

Format: ddd:hh24:mi-ddd:hh24:mi

\n

Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun

\n

Constraints: Must be at least 30 minutes

" + } + }, + "MultiAZ": { + "target": "com.amazonaws.databasemigrationservice#BooleanOptional", + "traits": { + "smithy.api#documentation": "

Specifies whether the replication instance is a Multi-AZ deployment. You can't set the\n AvailabilityZone parameter if the Multi-AZ parameter is set to\n true.

" + } + }, + "EngineVersion": { + "target": "com.amazonaws.databasemigrationservice#String", + "traits": { + "smithy.api#documentation": "

The engine version number of the replication instance.

\n

When modifying a major engine version of an instance, also set \n AllowMajorVersionUpgrade to true.

" + } + }, + "AllowMajorVersionUpgrade": { + "target": "com.amazonaws.databasemigrationservice#Boolean", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates that major version upgrades are allowed. Changing this parameter does not\n result in an outage, and the change is asynchronously applied as soon as possible.

\n

This parameter must be set to true when specifying a value for the\n EngineVersion parameter that is a different major version than the\n replication instance's current version.

" + } + }, + "AutoMinorVersionUpgrade": { + "target": "com.amazonaws.databasemigrationservice#BooleanOptional", + "traits": { + "smithy.api#documentation": "

A value that indicates that minor version upgrades are applied automatically to the\n replication instance during the maintenance window. Changing this parameter doesn't result\n in an outage, except in the case described following. The change is asynchronously applied\n as soon as possible.

\n

An outage does result if these factors apply:

\n
    \n
  • \n

    This parameter is set to true during the maintenance window.

    \n
  • \n
  • \n

    A newer minor version is available.

    \n
  • \n
  • \n

    DMS has enabled automatic patching for the given engine version.

    \n
  • \n
\n

When AutoMinorVersionUpgrade is enabled, DMS uses the current default\n engine version when you modify a replication instance. For example, if you set\n EngineVersion to a lower version number than the current default version,\n DMS uses the default version.

\n

If AutoMinorVersionUpgrade\n isn’t enabled when you modify a replication instance, DMS uses the\n engine version specified by the EngineVersion parameter.

" + } + }, + "ReplicationInstanceIdentifier": { + "target": "com.amazonaws.databasemigrationservice#String", + "traits": { + "smithy.api#documentation": "

The replication instance identifier. This parameter is stored as a lowercase\n string.

" + } + }, + "NetworkType": { + "target": "com.amazonaws.databasemigrationservice#String", + "traits": { + "smithy.api#documentation": "

The type of IP address protocol used by a replication instance, \n such as IPv4 only or Dual-stack that supports both IPv4 and IPv6 addressing. \n IPv6 only is not yet supported.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

" + } + }, + "com.amazonaws.databasemigrationservice#ModifyReplicationInstanceResponse": { + "type": "structure", + "members": { + "ReplicationInstance": { + "target": "com.amazonaws.databasemigrationservice#ReplicationInstance", + "traits": { + "smithy.api#documentation": "

The modified replication instance.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

", + "smithy.api#output": {} + } + }, + "com.amazonaws.databasemigrationservice#ModifyReplicationSubnetGroup": { + "type": "operation", + "input": { + "target": "com.amazonaws.databasemigrationservice#ModifyReplicationSubnetGroupMessage" + }, + "output": { + "target": "com.amazonaws.databasemigrationservice#ModifyReplicationSubnetGroupResponse" + }, + "errors": [ + { + "target": "com.amazonaws.databasemigrationservice#AccessDeniedFault" + }, + { + "target": "com.amazonaws.databasemigrationservice#InvalidSubnet" + }, + { + "target": "com.amazonaws.databasemigrationservice#ReplicationSubnetGroupDoesNotCoverEnoughAZs" + }, + { + "target": "com.amazonaws.databasemigrationservice#ResourceNotFoundFault" + }, + { + "target": "com.amazonaws.databasemigrationservice#ResourceQuotaExceededFault" + }, + { + "target": "com.amazonaws.databasemigrationservice#SubnetAlreadyInUse" } ], "traits": { @@ -8655,6 +9382,18 @@ "traits": { "smithy.api#documentation": "

The full ARN, partial ARN, or friendly name of the SecretsManagerSecret that contains the MongoDB endpoint connection details.

" } + }, + "UseUpdateLookUp": { + "target": "com.amazonaws.databasemigrationservice#BooleanOptional", + "traits": { + "smithy.api#documentation": "

If true, DMS retrieves the entire document from the MongoDB source during migration.\n This may cause a migration failure if the server response exceeds bandwidth limits. To fetch only updates\n and deletes during migration, set this parameter to false.

" + } + }, + "ReplicateShardCollections": { + "target": "com.amazonaws.databasemigrationservice#BooleanOptional", + "traits": { + "smithy.api#documentation": "

If true, DMS replicates data to shard collections. DMS only uses this setting if\n the target endpoint is a DocumentDB elastic cluster.

\n

When this setting is true, note the following:

\n
    \n
  • \n

    You must set TargetTablePrepMode to nothing.

    \n
  • \n
  • \n

    DMS automatically sets useUpdateLookup to false.

    \n
  • \n
" + } } }, "traits": { @@ -9142,6 +9881,12 @@ "traits": { "smithy.api#documentation": "

When true, converts timestamps with the timezone datatype to their UTC value.

" } + }, + "OpenTransactionWindow": { + "target": "com.amazonaws.databasemigrationservice#IntegerOptional", + "traits": { + "smithy.api#documentation": "

The timeframe in minutes to check for open transactions for a CDC-only task.

\n

You can\n specify an integer value between 0 (the default) and 240 (the maximum).

\n \n

This parameter is only valid in DMS version 3.5.0 and later. DMS supports\n a window of up to 9.5 hours including the value for OpenTransactionWindow.

\n
" + } } }, "traits": { @@ -9415,7 +10160,7 @@ "SlotName": { "target": "com.amazonaws.databasemigrationservice#String", "traits": { - "smithy.api#documentation": "

Sets the name of a previously created logical replication slot\n for a change data capture (CDC) load of the PostgreSQL source instance.

\n

When used with the CdcStartPosition\n request parameter for the DMS API , this attribute also makes it possible to use native CDC\n start points. DMS verifies that the specified logical\n replication slot exists before starting the CDC load task. It\n also verifies that the task was created with a valid setting of\n CdcStartPosition. If the specified slot\n doesn't exist or the task doesn't have a valid\n CdcStartPosition setting, DMS raises an\n error.

\n

For more information about setting the CdcStartPosition request parameter,\n see Determining a CDC native start point in the Database Migration Service User\n Guide. For more information about using CdcStartPosition, see\n CreateReplicationTask, StartReplicationTask, and ModifyReplicationTask.

" + "smithy.api#documentation": "

Sets the name of a previously created logical replication slot\n for a change data capture (CDC) load of the PostgreSQL source instance.

\n

When used with the CdcStartPosition\n request parameter for the DMS API , this attribute also makes it possible to use native CDC\n start points. DMS verifies that the specified logical\n replication slot exists before starting the CDC load task. It\n also verifies that the task was created with a valid setting of\n CdcStartPosition. If the specified slot\n doesn't exist or the task doesn't have a valid\n CdcStartPosition setting, DMS raises an\n error.

\n

For more information about setting the CdcStartPosition request parameter,\n see Determining a CDC native start point in the Database Migration Service User\n Guide. For more information about using CdcStartPosition, see\n CreateReplicationTask, StartReplicationTask, and ModifyReplicationTask.

" } }, "PluginName": { @@ -9447,12 +10192,70 @@ "traits": { "smithy.api#documentation": "

When true, lets PostgreSQL migrate the boolean type as boolean. By default, PostgreSQL migrates booleans as \n varchar(5).

" } + }, + "MapJsonbAsClob": { + "target": "com.amazonaws.databasemigrationservice#BooleanOptional", + "traits": { + "smithy.api#documentation": "

When true, DMS migrates JSONB values as CLOB.

" + } + }, + "MapLongVarcharAs": { + "target": "com.amazonaws.databasemigrationservice#LongVarcharMappingType", + "traits": { + "smithy.api#documentation": "

When true, DMS migrates LONG values as VARCHAR.

" + } } }, "traits": { "smithy.api#documentation": "

Provides information that defines a PostgreSQL endpoint.

" } }, + "com.amazonaws.databasemigrationservice#ProvisionData": { + "type": "structure", + "members": { + "ProvisionState": { + "target": "com.amazonaws.databasemigrationservice#String", + "traits": { + "smithy.api#documentation": "

The current provisioning state

" + } + }, + "ProvisionedCapacityUnits": { + "target": "com.amazonaws.databasemigrationservice#Integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of capacity units the replication is using.

" + } + }, + "DateProvisioned": { + "target": "com.amazonaws.databasemigrationservice#TStamp", + "traits": { + "smithy.api#documentation": "

The timestamp when DMS provisioned replication resources.

" + } + }, + "IsNewProvisioningAvailable": { + "target": "com.amazonaws.databasemigrationservice#Boolean", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

Whether the new provisioning is available to the replication.

" + } + }, + "DateNewProvisioningDataAvailable": { + "target": "com.amazonaws.databasemigrationservice#TStamp", + "traits": { + "smithy.api#documentation": "

The timestamp when provisioning became available.

" + } + }, + "ReasonForNewProvisioningData": { + "target": "com.amazonaws.databasemigrationservice#String", + "traits": { + "smithy.api#documentation": "

A message describing the reason that DMS provisioned new resources for the serverless replication.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Information about provisioning resources for an DMS serverless replication.

" + } + }, "com.amazonaws.databasemigrationservice#RdsConfiguration": { "type": "structure", "members": { @@ -9503,6 +10306,12 @@ "traits": { "smithy.api#documentation": "

Describes the deployment option for the recommended Amazon RDS DB instance. The deployment\n options include Multi-AZ and Single-AZ deployments. Valid values include\n \"MULTI_AZ\" and \"SINGLE_AZ\".

" } + }, + "EngineVersion": { + "target": "com.amazonaws.databasemigrationservice#String", + "traits": { + "smithy.api#documentation": "

Describes the recommended target Amazon RDS engine version.

" + } } }, "traits": { @@ -9567,6 +10376,12 @@ "traits": { "smithy.api#documentation": "

The required deployment option for the Amazon RDS DB instance. Valid values include\n \"MULTI_AZ\" for Multi-AZ deployments and \"SINGLE_AZ\" for\n Single-AZ deployments.

" } + }, + "EngineVersion": { + "target": "com.amazonaws.databasemigrationservice#String", + "traits": { + "smithy.api#documentation": "

The required target Amazon RDS engine version.

" + } } }, "traits": { @@ -10151,6 +10966,69 @@ } } }, + "com.amazonaws.databasemigrationservice#ReloadReplicationTables": { + "type": "operation", + "input": { + "target": "com.amazonaws.databasemigrationservice#ReloadReplicationTablesMessage" + }, + "output": { + "target": "com.amazonaws.databasemigrationservice#ReloadReplicationTablesResponse" + }, + "errors": [ + { + "target": "com.amazonaws.databasemigrationservice#InvalidResourceStateFault" + }, + { + "target": "com.amazonaws.databasemigrationservice#ResourceNotFoundFault" + } + ], + "traits": { + "smithy.api#documentation": "

Reloads the target database table with the source data for a given DMS Serverless\n replication configuration.

\n

You can only use this operation with a task in the RUNNING state, otherwise the service\n will throw an InvalidResourceStateFault exception.

" + } + }, + "com.amazonaws.databasemigrationservice#ReloadReplicationTablesMessage": { + "type": "structure", + "members": { + "ReplicationConfigArn": { + "target": "com.amazonaws.databasemigrationservice#String", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name of the replication config for which to reload tables.

", + "smithy.api#required": {} + } + }, + "TablesToReload": { + "target": "com.amazonaws.databasemigrationservice#TableListToReload", + "traits": { + "smithy.api#documentation": "

The list of tables to reload.

", + "smithy.api#required": {} + } + }, + "ReloadOption": { + "target": "com.amazonaws.databasemigrationservice#ReloadOptionValue", + "traits": { + "smithy.api#documentation": "

Options for reload. Specify data-reload to reload the data and re-validate\n it if validation is enabled. Specify validate-only to re-validate the table.\n This option applies only when validation is enabled for the replication.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

" + } + }, + "com.amazonaws.databasemigrationservice#ReloadReplicationTablesResponse": { + "type": "structure", + "members": { + "ReplicationConfigArn": { + "target": "com.amazonaws.databasemigrationservice#String", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name of the replication config for which to reload tables.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

", + "smithy.api#output": {} + } + }, "com.amazonaws.databasemigrationservice#ReloadTables": { "type": "operation", "input": { @@ -10233,28 +11111,227 @@ "ResourceArn": { "target": "com.amazonaws.databasemigrationservice#String", "traits": { - "smithy.api#documentation": "

An DMS resource from which you want to remove tag(s). The value for this parameter is an Amazon Resource Name (ARN).

", - "smithy.api#required": {} + "smithy.api#documentation": "

An DMS resource from which you want to remove tag(s). The value for this parameter is an Amazon Resource Name (ARN).

", + "smithy.api#required": {} + } + }, + "TagKeys": { + "target": "com.amazonaws.databasemigrationservice#KeyList", + "traits": { + "smithy.api#documentation": "

The tag key (name) of the tag to be removed.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Removes one or more tags from an DMS resource.

" + } + }, + "com.amazonaws.databasemigrationservice#RemoveTagsFromResourceResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#documentation": "

", + "smithy.api#output": {} + } + }, + "com.amazonaws.databasemigrationservice#Replication": { + "type": "structure", + "members": { + "ReplicationConfigIdentifier": { + "target": "com.amazonaws.databasemigrationservice#String", + "traits": { + "smithy.api#documentation": "

The identifier for the ReplicationConfig associated with the replication.

" + } + }, + "ReplicationConfigArn": { + "target": "com.amazonaws.databasemigrationservice#String", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name for the ReplicationConfig associated with the replication.

" + } + }, + "SourceEndpointArn": { + "target": "com.amazonaws.databasemigrationservice#String", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name for an existing Endpoint the serverless replication uses for its data source.

" + } + }, + "TargetEndpointArn": { + "target": "com.amazonaws.databasemigrationservice#String", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name for an existing Endpoint the serverless replication uses for its data target.

" + } + }, + "ReplicationType": { + "target": "com.amazonaws.databasemigrationservice#MigrationTypeValue", + "traits": { + "smithy.api#documentation": "

The type of the serverless replication.

" + } + }, + "Status": { + "target": "com.amazonaws.databasemigrationservice#String", + "traits": { + "smithy.api#documentation": "

The current status of the serverless replication.

" + } + }, + "ProvisionData": { + "target": "com.amazonaws.databasemigrationservice#ProvisionData", + "traits": { + "smithy.api#documentation": "

Information about provisioning resources for an DMS serverless replication.

" + } + }, + "StopReason": { + "target": "com.amazonaws.databasemigrationservice#String", + "traits": { + "smithy.api#documentation": "

The reason the replication task was stopped. This response parameter can return one of\n the following values:

\n
    \n
  • \n

    \n \"Stop Reason NORMAL\"\n

    \n
  • \n
  • \n

    \n \"Stop Reason RECOVERABLE_ERROR\"\n

    \n
  • \n
  • \n

    \n \"Stop Reason FATAL_ERROR\"\n

    \n
  • \n
  • \n

    \n \"Stop Reason FULL_LOAD_ONLY_FINISHED\"\n

    \n
  • \n
  • \n

    \n \"Stop Reason STOPPED_AFTER_FULL_LOAD\" – Full load completed, with cached changes not applied

    \n
  • \n
  • \n

    \n \"Stop Reason STOPPED_AFTER_CACHED_EVENTS\" – Full load completed, with cached changes applied

    \n
  • \n
  • \n

    \n \"Stop Reason EXPRESS_LICENSE_LIMITS_REACHED\"\n

    \n
  • \n
  • \n

    \n \"Stop Reason STOPPED_AFTER_DDL_APPLY\" – User-defined stop task after DDL applied

    \n
  • \n
  • \n

    \n \"Stop Reason STOPPED_DUE_TO_LOW_MEMORY\"\n

    \n
  • \n
  • \n

    \n \"Stop Reason STOPPED_DUE_TO_LOW_DISK\"\n

    \n
  • \n
  • \n

    \n \"Stop Reason STOPPED_AT_SERVER_TIME\" – User-defined server time for stopping task

    \n
  • \n
  • \n

    \n \"Stop Reason STOPPED_AT_COMMIT_TIME\" – User-defined commit time for stopping task

    \n
  • \n
  • \n

    \n \"Stop Reason RECONFIGURATION_RESTART\"\n

    \n
  • \n
  • \n

    \n \"Stop Reason RECYCLE_TASK\"\n

    \n
  • \n
" + } + }, + "FailureMessages": { + "target": "com.amazonaws.databasemigrationservice#StringList", + "traits": { + "smithy.api#documentation": "

Error and other information about why a serverless replication failed.

" + } + }, + "ReplicationStats": { + "target": "com.amazonaws.databasemigrationservice#ReplicationStats", + "traits": { + "smithy.api#documentation": "

This object provides a collection of statistics about a serverless replication.

" + } + }, + "StartReplicationType": { + "target": "com.amazonaws.databasemigrationservice#String", + "traits": { + "smithy.api#documentation": "

The replication type.

" + } + }, + "CdcStartTime": { + "target": "com.amazonaws.databasemigrationservice#TStamp", + "traits": { + "smithy.api#documentation": "

Indicates the start time for a change data capture (CDC) operation. Use either\n CdcStartTime or CdcStartPosition to specify when you want a CDC operation to start.\n Specifying both values results in an error.

" + } + }, + "CdcStartPosition": { + "target": "com.amazonaws.databasemigrationservice#String", + "traits": { + "smithy.api#documentation": "

Indicates the start time for a change data capture (CDC) operation. Use either\n CdcStartTime or CdcStartPosition to specify when you want a CDC operation to start.\n Specifying both values results in an error.

" + } + }, + "CdcStopPosition": { + "target": "com.amazonaws.databasemigrationservice#String", + "traits": { + "smithy.api#documentation": "

Indicates when you want a change data capture (CDC) operation to stop. The value can be\n either server time or commit time.

" + } + }, + "RecoveryCheckpoint": { + "target": "com.amazonaws.databasemigrationservice#String", + "traits": { + "smithy.api#documentation": "

Indicates the last checkpoint that occurred during a change data capture (CDC)\n operation. You can provide this value to the CdcStartPosition parameter to\n start a CDC operation that begins at that checkpoint.

" + } + }, + "ReplicationCreateTime": { + "target": "com.amazonaws.databasemigrationservice#TStamp", + "traits": { + "smithy.api#documentation": "

The time the serverless replication was created.

" + } + }, + "ReplicationUpdateTime": { + "target": "com.amazonaws.databasemigrationservice#TStamp", + "traits": { + "smithy.api#documentation": "

The time the serverless replication was updated.

" + } + }, + "ReplicationLastStopTime": { + "target": "com.amazonaws.databasemigrationservice#TStamp", + "traits": { + "smithy.api#documentation": "

The timestamp when replication was last stopped.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Provides information that describes a serverless replication created by the CreateReplication operation.

" + } + }, + "com.amazonaws.databasemigrationservice#ReplicationConfig": { + "type": "structure", + "members": { + "ReplicationConfigIdentifier": { + "target": "com.amazonaws.databasemigrationservice#String", + "traits": { + "smithy.api#documentation": "

The identifier for the ReplicationConfig associated with the replication.

" + } + }, + "ReplicationConfigArn": { + "target": "com.amazonaws.databasemigrationservice#String", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of \n this DMS Serverless replication configuration.

" + } + }, + "SourceEndpointArn": { + "target": "com.amazonaws.databasemigrationservice#String", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the source endpoint for\n this DMS serverless replication configuration.

" + } + }, + "TargetEndpointArn": { + "target": "com.amazonaws.databasemigrationservice#String", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the target endpoint for\n this DMS serverless replication configuration.

" + } + }, + "ReplicationType": { + "target": "com.amazonaws.databasemigrationservice#MigrationTypeValue", + "traits": { + "smithy.api#documentation": "

The type of the replication.

" + } + }, + "ComputeConfig": { + "target": "com.amazonaws.databasemigrationservice#ComputeConfig", + "traits": { + "smithy.api#documentation": "

Configuration parameters for provisioning an DMS serverless replication.

" + } + }, + "ReplicationSettings": { + "target": "com.amazonaws.databasemigrationservice#String", + "traits": { + "smithy.api#documentation": "

Configuration parameters for an DMS serverless replication.

" } }, - "TagKeys": { - "target": "com.amazonaws.databasemigrationservice#KeyList", + "SupplementalSettings": { + "target": "com.amazonaws.databasemigrationservice#String", "traits": { - "smithy.api#documentation": "

The tag key (name) of the tag to be removed.

", - "smithy.api#required": {} + "smithy.api#documentation": "

Additional parameters for an DMS serverless replication.

" + } + }, + "TableMappings": { + "target": "com.amazonaws.databasemigrationservice#String", + "traits": { + "smithy.api#documentation": "

Table mappings specified in the replication.

" + } + }, + "ReplicationConfigCreateTime": { + "target": "com.amazonaws.databasemigrationservice#TStamp", + "traits": { + "smithy.api#documentation": "

The time the serverless replication config was created.

" + } + }, + "ReplicationConfigUpdateTime": { + "target": "com.amazonaws.databasemigrationservice#TStamp", + "traits": { + "smithy.api#documentation": "

The time the serverless replication config was updated.

" } } }, "traits": { - "smithy.api#documentation": "

Removes one or more tags from an DMS resource.

" + "smithy.api#documentation": "

This object provides configuration information about a serverless replication.

" } }, - "com.amazonaws.databasemigrationservice#RemoveTagsFromResourceResponse": { - "type": "structure", - "members": {}, - "traits": { - "smithy.api#documentation": "

", - "smithy.api#output": {} + "com.amazonaws.databasemigrationservice#ReplicationConfigList": { + "type": "list", + "member": { + "target": "com.amazonaws.databasemigrationservice#ReplicationConfig", + "traits": { + "smithy.api#xmlName": "ReplicationConfig" + } } }, "com.amazonaws.databasemigrationservice#ReplicationEndpointTypeValue": { @@ -10498,6 +11575,15 @@ "target": "com.amazonaws.databasemigrationservice#ReplicationInstanceTaskLog" } }, + "com.amazonaws.databasemigrationservice#ReplicationList": { + "type": "list", + "member": { + "target": "com.amazonaws.databasemigrationservice#Replication", + "traits": { + "smithy.api#xmlName": "Replication" + } + } + }, "com.amazonaws.databasemigrationservice#ReplicationPendingModifiedValues": { "type": "structure", "members": { @@ -10536,6 +11622,86 @@ "smithy.api#documentation": "

Provides information about the values of pending modifications to a replication\n instance. This data type is an object of the\n \n ReplicationInstance\n user-defined\n data type.

" } }, + "com.amazonaws.databasemigrationservice#ReplicationStats": { + "type": "structure", + "members": { + "FullLoadProgressPercent": { + "target": "com.amazonaws.databasemigrationservice#Integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

The percent complete for the full load serverless replication.

" + } + }, + "ElapsedTimeMillis": { + "target": "com.amazonaws.databasemigrationservice#Long", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

The elapsed time of the replication, in milliseconds.

" + } + }, + "TablesLoaded": { + "target": "com.amazonaws.databasemigrationservice#Integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of tables loaded for this replication.

" + } + }, + "TablesLoading": { + "target": "com.amazonaws.databasemigrationservice#Integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of tables currently loading for this replication.

" + } + }, + "TablesQueued": { + "target": "com.amazonaws.databasemigrationservice#Integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of tables queued for this replication.

" + } + }, + "TablesErrored": { + "target": "com.amazonaws.databasemigrationservice#Integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of errors that have occured for this replication.

" + } + }, + "FreshStartDate": { + "target": "com.amazonaws.databasemigrationservice#TStamp", + "traits": { + "smithy.api#documentation": "

The date the replication was started either with a fresh start or a target reload.

" + } + }, + "StartDate": { + "target": "com.amazonaws.databasemigrationservice#TStamp", + "traits": { + "smithy.api#documentation": "

The date the replication is scheduled to start.

" + } + }, + "StopDate": { + "target": "com.amazonaws.databasemigrationservice#TStamp", + "traits": { + "smithy.api#documentation": "

The date the replication was stopped.

" + } + }, + "FullLoadStartDate": { + "target": "com.amazonaws.databasemigrationservice#TStamp", + "traits": { + "smithy.api#documentation": "

The date the replication full load was started.

" + } + }, + "FullLoadFinishDate": { + "target": "com.amazonaws.databasemigrationservice#TStamp", + "traits": { + "smithy.api#documentation": "

The date the replication full load was finished.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

This object provides a collection of statistics about a serverless replication.

" + } + }, "com.amazonaws.databasemigrationservice#ReplicationSubnetGroup": { "type": "structure", "members": { @@ -10604,6 +11770,12 @@ } } }, + "com.amazonaws.databasemigrationservice#ReplicationTableStatisticsList": { + "type": "list", + "member": { + "target": "com.amazonaws.databasemigrationservice#TableStatistics" + } + }, "com.amazonaws.databasemigrationservice#ReplicationTask": { "type": "structure", "members": { @@ -11036,7 +12208,10 @@ } }, "resourceArn": { - "target": "com.amazonaws.databasemigrationservice#ResourceArn" + "target": "com.amazonaws.databasemigrationservice#ResourceArn", + "traits": { + "smithy.api#documentation": "

" + } } }, "traits": { @@ -11263,7 +12438,7 @@ "IncludeOpForFullLoad": { "target": "com.amazonaws.databasemigrationservice#BooleanOptional", "traits": { - "smithy.api#documentation": "

A value that enables a full load to write INSERT operations to the comma-separated value\n (.csv) output files only to indicate how the rows were added to the source database.

\n \n

DMS supports the IncludeOpForFullLoad parameter in versions 3.1.4 and\n later.

\n
\n

For full load, records can only be inserted. By default (the false\n setting), no information is recorded in these output files for a full load to indicate that\n the rows were inserted at the source database. If IncludeOpForFullLoad is set\n to true or y, the INSERT is recorded as an I annotation in the\n first field of the .csv file. This allows the format of your target records from a full\n load to be consistent with the target records from a CDC load.

\n \n

This setting works together with the CdcInsertsOnly and the\n CdcInsertsAndUpdates parameters for output to .csv files only. For more\n information about how these settings work together, see Indicating Source DB Operations in Migrated S3 Data in the Database Migration Service\n User Guide..

\n
" + "smithy.api#documentation": "

A value that enables a full load to write INSERT operations to the comma-separated value\n (.csv) or .parquet output files only to indicate how the rows were added to the source database.

\n \n

DMS supports the IncludeOpForFullLoad parameter in versions 3.1.4 and\n later.

\n

DMS supports the use of the .parquet files with the IncludeOpForFullLoad \n parameter in versions 3.4.7 and later.

\n
\n

For full load, records can only be inserted. By default (the false\n setting), no information is recorded in these output files for a full load to indicate that\n the rows were inserted at the source database. If IncludeOpForFullLoad is set\n to true or y, the INSERT is recorded as an I annotation in the\n first field of the .csv file. This allows the format of your target records from a full\n load to be consistent with the target records from a CDC load.

\n \n

This setting works together with the CdcInsertsOnly and the\n CdcInsertsAndUpdates parameters for output to .csv files only. For more\n information about how these settings work together, see Indicating Source DB Operations in Migrated S3 Data in the Database Migration Service\n User Guide..

\n
" } }, "CdcInsertsOnly": { @@ -11287,7 +12462,7 @@ "CdcInsertsAndUpdates": { "target": "com.amazonaws.databasemigrationservice#BooleanOptional", "traits": { - "smithy.api#documentation": "

A value that enables a change data capture (CDC) load to write INSERT and UPDATE\n operations to .csv or .parquet (columnar storage) output files. The default setting is\n false, but when CdcInsertsAndUpdates is set to\n true or y, only INSERTs and UPDATEs from the source database\n are migrated to the .csv or .parquet file.

\n

For .csv file format only, how these INSERTs and UPDATEs are recorded depends on the\n value of the IncludeOpForFullLoad parameter. If\n IncludeOpForFullLoad is set to true, the first field of every\n CDC record is set to either I or U to indicate INSERT and UPDATE\n operations at the source. But if IncludeOpForFullLoad is set to\n false, CDC records are written without an indication of INSERT or UPDATE\n operations at the source. For more information about how these settings work together, see\n Indicating Source DB Operations in Migrated S3 Data in the Database Migration Service User Guide..

\n \n

DMS supports the use of the CdcInsertsAndUpdates parameter in\n versions 3.3.1 and later.

\n

\n CdcInsertsOnly and CdcInsertsAndUpdates can't\n both be set to true for the same endpoint. Set either\n CdcInsertsOnly or CdcInsertsAndUpdates to true\n for the same endpoint, but not both.

\n
" + "smithy.api#documentation": "

A value that enables a change data capture (CDC) load to write INSERT and UPDATE\n operations to .csv or .parquet (columnar storage) output files. The default setting is\n false, but when CdcInsertsAndUpdates is set to\n true or y, only INSERTs and UPDATEs from the source database\n are migrated to the .csv or .parquet file.

\n \n

DMS supports the use of the .parquet files in versions 3.4.7 and later.

\n
\n

How these INSERTs and UPDATEs are recorded depends on the\n value of the IncludeOpForFullLoad parameter. If\n IncludeOpForFullLoad is set to true, the first field of every\n CDC record is set to either I or U to indicate INSERT and UPDATE\n operations at the source. But if IncludeOpForFullLoad is set to\n false, CDC records are written without an indication of INSERT or UPDATE\n operations at the source. For more information about how these settings work together, see\n Indicating Source DB Operations in Migrated S3 Data in the Database Migration Service User Guide..

\n \n

DMS supports the use of the CdcInsertsAndUpdates parameter in\n versions 3.3.1 and later.

\n

\n CdcInsertsOnly and CdcInsertsAndUpdates can't\n both be set to true for the same endpoint. Set either\n CdcInsertsOnly or CdcInsertsAndUpdates to true\n for the same endpoint, but not both.

\n
" } }, "DatePartitionEnabled": { @@ -11713,6 +12888,84 @@ "target": "com.amazonaws.databasemigrationservice#StartRecommendationsRequestEntry" } }, + "com.amazonaws.databasemigrationservice#StartReplication": { + "type": "operation", + "input": { + "target": "com.amazonaws.databasemigrationservice#StartReplicationMessage" + }, + "output": { + "target": "com.amazonaws.databasemigrationservice#StartReplicationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.databasemigrationservice#AccessDeniedFault" + }, + { + "target": "com.amazonaws.databasemigrationservice#InvalidResourceStateFault" + }, + { + "target": "com.amazonaws.databasemigrationservice#ResourceNotFoundFault" + } + ], + "traits": { + "smithy.api#documentation": "

For a given DMS Serverless replication configuration, DMS connects to the source endpoint and\n collects the metadata to analyze the replication workload. Using this metadata, DMS then\n computes and provisions the required capacity and starts replicating to the target endpoint\n using the server resources that DMS has provisioned for the DMS Serverless replication.

" + } + }, + "com.amazonaws.databasemigrationservice#StartReplicationMessage": { + "type": "structure", + "members": { + "ReplicationConfigArn": { + "target": "com.amazonaws.databasemigrationservice#String", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name of the replication for which to start replication.

", + "smithy.api#required": {} + } + }, + "StartReplicationType": { + "target": "com.amazonaws.databasemigrationservice#String", + "traits": { + "smithy.api#documentation": "

The replication type.

", + "smithy.api#required": {} + } + }, + "CdcStartTime": { + "target": "com.amazonaws.databasemigrationservice#TStamp", + "traits": { + "smithy.api#documentation": "

Indicates the start time for a change data capture (CDC) operation. Use either CdcStartTime\n or CdcStartPosition to specify when you want a CDC operation to start. Specifying both values results in an error.

" + } + }, + "CdcStartPosition": { + "target": "com.amazonaws.databasemigrationservice#String", + "traits": { + "smithy.api#documentation": "

Indicates when you want a change data capture (CDC) operation to start. Use either \n CdcStartPosition or CdcStartTime to specify when you want a \n CDC operation to start. Specifying both values results in an error.

\n

The value can be in date, checkpoint, or LSN/SCN format.

" + } + }, + "CdcStopPosition": { + "target": "com.amazonaws.databasemigrationservice#String", + "traits": { + "smithy.api#documentation": "

Indicates when you want a change data capture (CDC) operation to stop. The value can be \n either server time or commit time.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

" + } + }, + "com.amazonaws.databasemigrationservice#StartReplicationResponse": { + "type": "structure", + "members": { + "Replication": { + "target": "com.amazonaws.databasemigrationservice#Replication", + "traits": { + "smithy.api#documentation": "

The replication that DMS started.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

", + "smithy.api#output": {} + } + }, "com.amazonaws.databasemigrationservice#StartReplicationTask": { "type": "operation", "input": { @@ -11995,6 +13248,58 @@ } } }, + "com.amazonaws.databasemigrationservice#StopReplication": { + "type": "operation", + "input": { + "target": "com.amazonaws.databasemigrationservice#StopReplicationMessage" + }, + "output": { + "target": "com.amazonaws.databasemigrationservice#StopReplicationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.databasemigrationservice#AccessDeniedFault" + }, + { + "target": "com.amazonaws.databasemigrationservice#InvalidResourceStateFault" + }, + { + "target": "com.amazonaws.databasemigrationservice#ResourceNotFoundFault" + } + ], + "traits": { + "smithy.api#documentation": "

For a given DMS Serverless replication configuration, DMS stops any and all ongoing DMS Serverless replications.\n This command doesn't deprovision the stopped replications.

" + } + }, + "com.amazonaws.databasemigrationservice#StopReplicationMessage": { + "type": "structure", + "members": { + "ReplicationConfigArn": { + "target": "com.amazonaws.databasemigrationservice#String", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name of the replication to stop.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

" + } + }, + "com.amazonaws.databasemigrationservice#StopReplicationResponse": { + "type": "structure", + "members": { + "Replication": { + "target": "com.amazonaws.databasemigrationservice#Replication", + "traits": { + "smithy.api#documentation": "

The replication that DMS stopped.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.databasemigrationservice#StopReplicationTask": { "type": "operation", "input": { @@ -12537,6 +13842,47 @@ "smithy.api#output": {} } }, + "com.amazonaws.databasemigrationservice#TimestreamSettings": { + "type": "structure", + "members": { + "DatabaseName": { + "target": "com.amazonaws.databasemigrationservice#String", + "traits": { + "smithy.api#documentation": "

Database name for the endpoint.

", + "smithy.api#required": {} + } + }, + "MemoryDuration": { + "target": "com.amazonaws.databasemigrationservice#IntegerOptional", + "traits": { + "smithy.api#documentation": "

Set this attribute to specify the length of time to store all of the tables in memory \n that are migrated into Amazon Timestream from the source database. Time is measured in units \n of hours. When Timestream data comes in, it first resides in memory for the specified duration, \n which allows quick access to it.

", + "smithy.api#required": {} + } + }, + "MagneticDuration": { + "target": "com.amazonaws.databasemigrationservice#IntegerOptional", + "traits": { + "smithy.api#documentation": "

Set this attribute to specify the default magnetic duration applied to the Amazon Timestream\n tables in days. This is the number of days that records remain in magnetic store \n before being discarded. For more information, see Storage in the\n Amazon Timestream Developer Guide.

", + "smithy.api#required": {} + } + }, + "CdcInsertsAndUpdates": { + "target": "com.amazonaws.databasemigrationservice#BooleanOptional", + "traits": { + "smithy.api#documentation": "

Set this attribute to true to specify that DMS only\n applies inserts and updates, and not deletes. Amazon Timestream does not allow\n deleting records, so if this value is false, DMS nulls out\n the corresponding record in the Timestream database rather than deleting it.

" + } + }, + "EnableMagneticStoreWrites": { + "target": "com.amazonaws.databasemigrationservice#BooleanOptional", + "traits": { + "smithy.api#documentation": "

Set this attribute to true to enable memory store writes.\n When this value is false, DMS does not write records that are older \n in days than the value specified in MagneticDuration, because Amazon Timestream does not\n allow memory writes by default. For more information, see Storage in the\n Amazon Timestream Developer Guide.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Provides information that defines an Amazon Timestream endpoint.

" + } + }, "com.amazonaws.databasemigrationservice#TlogAccessMode": { "type": "enum", "members": {