Skip to content

Commit 1aeeeda

Browse files
author
awstools
committed
feat(client-database-migration-service): Introduces Data Resync feature to describe-table-statistics and IAM database authentication for MariaDB, MySQL, and PostgreSQL.
1 parent 82296b6 commit 1aeeeda

11 files changed

+323
-77
lines changed

clients/client-database-migration-service/src/commands/CreateEndpointCommand.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -253,6 +253,8 @@ export interface CreateEndpointCommandOutput extends CreateEndpointResponse, __M
253253
* DatabaseMode: "default" || "babelfish",
254254
* BabelfishDatabaseName: "STRING_VALUE",
255255
* DisableUnicodeSourceFilter: true || false,
256+
* ServiceAccessRoleArn: "STRING_VALUE",
257+
* AuthenticationMethod: "password" || "iam",
256258
* },
257259
* MySQLSettings: { // MySQLSettings
258260
* AfterConnectScript: "STRING_VALUE",
@@ -270,6 +272,8 @@ export interface CreateEndpointCommandOutput extends CreateEndpointResponse, __M
270272
* SecretsManagerAccessRoleArn: "STRING_VALUE",
271273
* SecretsManagerSecretId: "STRING_VALUE",
272274
* ExecuteTimeout: Number("int"),
275+
* ServiceAccessRoleArn: "STRING_VALUE",
276+
* AuthenticationMethod: "password" || "iam",
273277
* },
274278
* OracleSettings: { // OracleSettings
275279
* AddSupplementalLogging: true || false,
@@ -613,6 +617,8 @@ export interface CreateEndpointCommandOutput extends CreateEndpointResponse, __M
613617
* // DatabaseMode: "default" || "babelfish",
614618
* // BabelfishDatabaseName: "STRING_VALUE",
615619
* // DisableUnicodeSourceFilter: true || false,
620+
* // ServiceAccessRoleArn: "STRING_VALUE",
621+
* // AuthenticationMethod: "password" || "iam",
616622
* // },
617623
* // MySQLSettings: { // MySQLSettings
618624
* // AfterConnectScript: "STRING_VALUE",
@@ -630,6 +636,8 @@ export interface CreateEndpointCommandOutput extends CreateEndpointResponse, __M
630636
* // SecretsManagerAccessRoleArn: "STRING_VALUE",
631637
* // SecretsManagerSecretId: "STRING_VALUE",
632638
* // ExecuteTimeout: Number("int"),
639+
* // ServiceAccessRoleArn: "STRING_VALUE",
640+
* // AuthenticationMethod: "password" || "iam",
633641
* // },
634642
* // OracleSettings: { // OracleSettings
635643
* // AddSupplementalLogging: true || false,

clients/client-database-migration-service/src/commands/DeleteEndpointCommand.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -251,6 +251,8 @@ export interface DeleteEndpointCommandOutput extends DeleteEndpointResponse, __M
251251
* // DatabaseMode: "default" || "babelfish",
252252
* // BabelfishDatabaseName: "STRING_VALUE",
253253
* // DisableUnicodeSourceFilter: true || false,
254+
* // ServiceAccessRoleArn: "STRING_VALUE",
255+
* // AuthenticationMethod: "password" || "iam",
254256
* // },
255257
* // MySQLSettings: { // MySQLSettings
256258
* // AfterConnectScript: "STRING_VALUE",
@@ -268,6 +270,8 @@ export interface DeleteEndpointCommandOutput extends DeleteEndpointResponse, __M
268270
* // SecretsManagerAccessRoleArn: "STRING_VALUE",
269271
* // SecretsManagerSecretId: "STRING_VALUE",
270272
* // ExecuteTimeout: Number("int"),
273+
* // ServiceAccessRoleArn: "STRING_VALUE",
274+
* // AuthenticationMethod: "password" || "iam",
271275
* // },
272276
* // OracleSettings: { // OracleSettings
273277
* // AddSupplementalLogging: true || false,

clients/client-database-migration-service/src/commands/DescribeEndpointsCommand.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -257,6 +257,8 @@ export interface DescribeEndpointsCommandOutput extends DescribeEndpointsRespons
257257
* // DatabaseMode: "default" || "babelfish",
258258
* // BabelfishDatabaseName: "STRING_VALUE",
259259
* // DisableUnicodeSourceFilter: true || false,
260+
* // ServiceAccessRoleArn: "STRING_VALUE",
261+
* // AuthenticationMethod: "password" || "iam",
260262
* // },
261263
* // MySQLSettings: { // MySQLSettings
262264
* // AfterConnectScript: "STRING_VALUE",
@@ -274,6 +276,8 @@ export interface DescribeEndpointsCommandOutput extends DescribeEndpointsRespons
274276
* // SecretsManagerAccessRoleArn: "STRING_VALUE",
275277
* // SecretsManagerSecretId: "STRING_VALUE",
276278
* // ExecuteTimeout: Number("int"),
279+
* // ServiceAccessRoleArn: "STRING_VALUE",
280+
* // AuthenticationMethod: "password" || "iam",
277281
* // },
278282
* // OracleSettings: { // OracleSettings
279283
* // AddSupplementalLogging: true || false,

clients/client-database-migration-service/src/commands/DescribeReplicationTableStatisticsCommand.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,11 @@ export interface DescribeReplicationTableStatisticsCommandOutput
9191
* // ValidationSuspendedRecords: Number("long"),
9292
* // ValidationState: "STRING_VALUE",
9393
* // ValidationStateDetails: "STRING_VALUE",
94+
* // ResyncState: "STRING_VALUE",
95+
* // ResyncRowsAttempted: Number("long"),
96+
* // ResyncRowsSucceeded: Number("long"),
97+
* // ResyncRowsFailed: Number("long"),
98+
* // ResyncProgress: Number("double"),
9499
* // },
95100
* // ],
96101
* // };

clients/client-database-migration-service/src/commands/DescribeReplicationTaskAssessmentRunsCommand.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import { commonParams } from "../endpoint/EndpointParameters";
1313
import {
1414
DescribeReplicationTaskAssessmentRunsMessage,
1515
DescribeReplicationTaskAssessmentRunsResponse,
16-
} from "../models/models_0";
16+
} from "../models/models_1";
1717
import {
1818
de_DescribeReplicationTaskAssessmentRunsCommand,
1919
se_DescribeReplicationTaskAssessmentRunsCommand,

clients/client-database-migration-service/src/commands/DescribeTableStatisticsCommand.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,11 @@ export interface DescribeTableStatisticsCommandOutput extends DescribeTableStati
8585
* // ValidationSuspendedRecords: Number("long"),
8686
* // ValidationState: "STRING_VALUE",
8787
* // ValidationStateDetails: "STRING_VALUE",
88+
* // ResyncState: "STRING_VALUE",
89+
* // ResyncRowsAttempted: Number("long"),
90+
* // ResyncRowsSucceeded: Number("long"),
91+
* // ResyncRowsFailed: Number("long"),
92+
* // ResyncProgress: Number("double"),
8893
* // },
8994
* // ],
9095
* // Marker: "STRING_VALUE",

clients/client-database-migration-service/src/commands/ModifyEndpointCommand.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -246,6 +246,8 @@ export interface ModifyEndpointCommandOutput extends ModifyEndpointResponse, __M
246246
* DatabaseMode: "default" || "babelfish",
247247
* BabelfishDatabaseName: "STRING_VALUE",
248248
* DisableUnicodeSourceFilter: true || false,
249+
* ServiceAccessRoleArn: "STRING_VALUE",
250+
* AuthenticationMethod: "password" || "iam",
249251
* },
250252
* MySQLSettings: { // MySQLSettings
251253
* AfterConnectScript: "STRING_VALUE",
@@ -263,6 +265,8 @@ export interface ModifyEndpointCommandOutput extends ModifyEndpointResponse, __M
263265
* SecretsManagerAccessRoleArn: "STRING_VALUE",
264266
* SecretsManagerSecretId: "STRING_VALUE",
265267
* ExecuteTimeout: Number("int"),
268+
* ServiceAccessRoleArn: "STRING_VALUE",
269+
* AuthenticationMethod: "password" || "iam",
266270
* },
267271
* OracleSettings: { // OracleSettings
268272
* AddSupplementalLogging: true || false,
@@ -606,6 +610,8 @@ export interface ModifyEndpointCommandOutput extends ModifyEndpointResponse, __M
606610
* // DatabaseMode: "default" || "babelfish",
607611
* // BabelfishDatabaseName: "STRING_VALUE",
608612
* // DisableUnicodeSourceFilter: true || false,
613+
* // ServiceAccessRoleArn: "STRING_VALUE",
614+
* // AuthenticationMethod: "password" || "iam",
609615
* // },
610616
* // MySQLSettings: { // MySQLSettings
611617
* // AfterConnectScript: "STRING_VALUE",
@@ -623,6 +629,8 @@ export interface ModifyEndpointCommandOutput extends ModifyEndpointResponse, __M
623629
* // SecretsManagerAccessRoleArn: "STRING_VALUE",
624630
* // SecretsManagerSecretId: "STRING_VALUE",
625631
* // ExecuteTimeout: Number("int"),
632+
* // ServiceAccessRoleArn: "STRING_VALUE",
633+
* // AuthenticationMethod: "password" || "iam",
626634
* // },
627635
* // OracleSettings: { // OracleSettings
628636
* // AddSupplementalLogging: true || false,

clients/client-database-migration-service/src/models/models_0.ts

Lines changed: 111 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -3060,6 +3060,20 @@ export interface MongoDbSettings {
30603060
ReplicateShardCollections?: boolean | undefined;
30613061
}
30623062

3063+
/**
3064+
* @public
3065+
* @enum
3066+
*/
3067+
export const MySQLAuthenticationMethod = {
3068+
IAM: "iam",
3069+
Password: "password",
3070+
} as const;
3071+
3072+
/**
3073+
* @public
3074+
*/
3075+
export type MySQLAuthenticationMethod = (typeof MySQLAuthenticationMethod)[keyof typeof MySQLAuthenticationMethod];
3076+
30633077
/**
30643078
* <p>Provides information that defines a MySQL endpoint.</p>
30653079
* @public
@@ -3203,6 +3217,18 @@ export interface MySQLSettings {
32033217
* @public
32043218
*/
32053219
ExecuteTimeout?: number | undefined;
3220+
3221+
/**
3222+
* <p>The IAM role you can use to authenticate when connecting to your endpoint. Ensure to include <code>iam:PassRole</code> and <code>rds-db:connect</code> actions in permission policy.</p>
3223+
* @public
3224+
*/
3225+
ServiceAccessRoleArn?: string | undefined;
3226+
3227+
/**
3228+
* <p>This attribute allows you to specify the authentication method as "iam auth".</p>
3229+
* @public
3230+
*/
3231+
AuthenticationMethod?: MySQLAuthenticationMethod | undefined;
32063232
}
32073233

32083234
/**
@@ -3728,6 +3754,21 @@ export interface OracleSettings {
37283754
AuthenticationMethod?: OracleAuthenticationMethod | undefined;
37293755
}
37303756

3757+
/**
3758+
* @public
3759+
* @enum
3760+
*/
3761+
export const PostgreSQLAuthenticationMethod = {
3762+
IAM: "iam",
3763+
Password: "password",
3764+
} as const;
3765+
3766+
/**
3767+
* @public
3768+
*/
3769+
export type PostgreSQLAuthenticationMethod =
3770+
(typeof PostgreSQLAuthenticationMethod)[keyof typeof PostgreSQLAuthenticationMethod];
3771+
37313772
/**
37323773
* @public
37333774
* @enum
@@ -3995,6 +4036,18 @@ export interface PostgreSQLSettings {
39954036
* @public
39964037
*/
39974038
DisableUnicodeSourceFilter?: boolean | undefined;
4039+
4040+
/**
4041+
* <p>The IAM role arn you can use to authenticate the connection to your endpoint. Ensure to include <code>iam:PassRole</code> and <code>rds-db:connect</code> actions in permission policy.</p>
4042+
* @public
4043+
*/
4044+
ServiceAccessRoleArn?: string | undefined;
4045+
4046+
/**
4047+
* <p>This attribute allows you to specify the authentication method as "iam auth".</p>
4048+
* @public
4049+
*/
4050+
AuthenticationMethod?: PostgreSQLAuthenticationMethod | undefined;
39984051
}
39994052

40004053
/**
@@ -9715,7 +9768,8 @@ export interface DescribeEventSubscriptionsMessage {
97159768

97169769
/**
97179770
* <p>Filters applied to event subscriptions.</p>
9718-
* <p>Valid filter names: event-subscription-arn | event-subscription-id </p>
9771+
* <p>Valid filter names: <code>event-subscription-arn</code> | <code>event-subscription-id</code>
9772+
* </p>
97199773
* @public
97209774
*/
97219775
Filters?: Filter[] | undefined;
@@ -11361,6 +11415,8 @@ export interface DescribePendingMaintenanceActionsResponse {
1136111415
export interface DescribeRecommendationLimitationsRequest {
1136211416
/**
1136311417
* <p>Filters applied to the limitations described in the form of key-value pairs.</p>
11418+
* <p>Valid filter names: <code>database-id</code> | <code>engine-name</code>
11419+
* </p>
1136411420
* @public
1136511421
*/
1136611422
Filters?: Filter[] | undefined;
@@ -11469,6 +11525,8 @@ export interface DescribeRecommendationsRequest {
1146911525
/**
1147011526
* <p>Filters applied to the target engine recommendations described in the form of
1147111527
* key-value pairs.</p>
11528+
* <p>Valid filter names: <code>database-id</code> | <code>engine-name</code>
11529+
* </p>
1147211530
* @public
1147311531
*/
1147411532
Filters?: Filter[] | undefined;
@@ -11998,6 +12056,8 @@ export interface DescribeReplicationInstanceTaskLogsResponse {
1199812056
export interface DescribeReplicationsMessage {
1199912057
/**
1200012058
* <p>Filters applied to the replications.</p>
12059+
* <p> Valid filter names: <code>replication-config-arn</code> | <code>replication-config-id</code>
12060+
* </p>
1200112061
* @public
1200212062
*/
1200312063
Filters?: Filter[] | undefined;
@@ -12784,6 +12844,56 @@ export interface TableStatistics {
1278412844
* @public
1278512845
*/
1278612846
ValidationStateDetails?: string | undefined;
12847+
12848+
/**
12849+
* <p>Records the current state of table resynchronization in the migration task.</p>
12850+
* <p>This parameter can have the following values:</p>
12851+
* <ul>
12852+
* <li>
12853+
* <p>Not enabled – Resync is not enabled for the table in the migration task.</p>
12854+
* </li>
12855+
* <li>
12856+
* <p>Pending – The tables are waiting for resync.</p>
12857+
* </li>
12858+
* <li>
12859+
* <p>In progress – Resync in progress for some records in the table.</p>
12860+
* </li>
12861+
* <li>
12862+
* <p>No primary key – The table could not be resynced because it has no primary key.</p>
12863+
* </li>
12864+
* <li>
12865+
* <p>Last resync at: <code>date/time</code> – Resync session is finished at time. Time provided in UTC format.</p>
12866+
* </li>
12867+
* </ul>
12868+
* @public
12869+
*/
12870+
ResyncState?: string | undefined;
12871+
12872+
/**
12873+
* <p>Records the total number of mismatched data rows where the system attempted to apply
12874+
* fixes in the target database.</p>
12875+
* @public
12876+
*/
12877+
ResyncRowsAttempted?: number | undefined;
12878+
12879+
/**
12880+
* <p>Records the total number of mismatched data rows where fixes were successfully applied in the target database.</p>
12881+
* @public
12882+
*/
12883+
ResyncRowsSucceeded?: number | undefined;
12884+
12885+
/**
12886+
* <p>Records the total number of mismatched data rows where fix attempts failed in the target
12887+
* database.</p>
12888+
* @public
12889+
*/
12890+
ResyncRowsFailed?: number | undefined;
12891+
12892+
/**
12893+
* <p>Calculates the percentage of failed validations that were successfully resynced to the system.</p>
12894+
* @public
12895+
*/
12896+
ResyncProgress?: number | undefined;
1278712897
}
1278812898

1278912899
/**
@@ -12924,60 +13034,6 @@ export interface DescribeReplicationTaskAssessmentResultsResponse {
1292413034
ReplicationTaskAssessmentResults?: ReplicationTaskAssessmentResult[] | undefined;
1292513035
}
1292613036

12927-
/**
12928-
* <p></p>
12929-
* @public
12930-
*/
12931-
export interface DescribeReplicationTaskAssessmentRunsMessage {
12932-
/**
12933-
* <p>Filters applied to the premigration assessment runs described in the form of key-value
12934-
* pairs.</p>
12935-
* <p>Valid filter names: <code>replication-task-assessment-run-arn</code>,
12936-
* <code>replication-task-arn</code>, <code>replication-instance-arn</code>,
12937-
* <code>status</code>
12938-
* </p>
12939-
* @public
12940-
*/
12941-
Filters?: Filter[] | undefined;
12942-
12943-
/**
12944-
* <p>The maximum number of records to include in the response. If more records exist than the
12945-
* specified <code>MaxRecords</code> value, a pagination token called a marker is included in
12946-
* the response so that the remaining results can be retrieved.</p>
12947-
* @public
12948-
*/
12949-
MaxRecords?: number | undefined;
12950-
12951-
/**
12952-
* <p>An optional pagination token provided by a previous request. If this parameter is
12953-
* specified, the response includes only records beyond the marker, up to the value specified
12954-
* by <code>MaxRecords</code>.</p>
12955-
* @public
12956-
*/
12957-
Marker?: string | undefined;
12958-
}
12959-
12960-
/**
12961-
* <p></p>
12962-
* @public
12963-
*/
12964-
export interface DescribeReplicationTaskAssessmentRunsResponse {
12965-
/**
12966-
* <p>A pagination token returned for you to pass to a subsequent request. If you pass this
12967-
* token as the <code>Marker</code> value in a subsequent request, the response includes only
12968-
* records beyond the marker, up to the value specified in the request by
12969-
* <code>MaxRecords</code>.</p>
12970-
* @public
12971-
*/
12972-
Marker?: string | undefined;
12973-
12974-
/**
12975-
* <p>One or more premigration assessment runs as specified by <code>Filters</code>.</p>
12976-
* @public
12977-
*/
12978-
ReplicationTaskAssessmentRuns?: ReplicationTaskAssessmentRun[] | undefined;
12979-
}
12980-
1298113037
/**
1298213038
* @internal
1298313039
*/

0 commit comments

Comments
 (0)