Skip to content

Commit b09608d

Browse files
author
awstools
committed
feat(client-database-migration-service): This release adds DMS Fleet Advisor Target Recommendation APIs and exposes functionality for DMS Fleet Advisor. It adds functionality to start Target Recommendation calculation.
1 parent eeb1632 commit b09608d

21 files changed

+3306
-1843
lines changed

clients/client-database-migration-service/README.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -234,6 +234,14 @@ ApplyPendingMaintenanceAction
234234

235235
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-database-migration-service/classes/applypendingmaintenanceactioncommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-database-migration-service/interfaces/applypendingmaintenanceactioncommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-database-migration-service/interfaces/applypendingmaintenanceactioncommandoutput.html)
236236

237+
</details>
238+
<details>
239+
<summary>
240+
BatchStartRecommendations
241+
</summary>
242+
243+
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-database-migration-service/classes/batchstartrecommendationscommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-database-migration-service/interfaces/batchstartrecommendationscommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-database-migration-service/interfaces/batchstartrecommendationscommandoutput.html)
244+
237245
</details>
238246
<details>
239247
<summary>
@@ -506,6 +514,22 @@ DescribePendingMaintenanceActions
506514

507515
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-database-migration-service/classes/describependingmaintenanceactionscommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-database-migration-service/interfaces/describependingmaintenanceactionscommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-database-migration-service/interfaces/describependingmaintenanceactionscommandoutput.html)
508516

517+
</details>
518+
<details>
519+
<summary>
520+
DescribeRecommendationLimitations
521+
</summary>
522+
523+
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-database-migration-service/classes/describerecommendationlimitationscommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-database-migration-service/interfaces/describerecommendationlimitationscommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-database-migration-service/interfaces/describerecommendationlimitationscommandoutput.html)
524+
525+
</details>
526+
<details>
527+
<summary>
528+
DescribeRecommendations
529+
</summary>
530+
531+
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-database-migration-service/classes/describerecommendationscommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-database-migration-service/interfaces/describerecommendationscommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-database-migration-service/interfaces/describerecommendationscommandoutput.html)
532+
509533
</details>
510534
<details>
511535
<summary>
@@ -690,6 +714,14 @@ RunFleetAdvisorLsaAnalysis
690714

691715
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-database-migration-service/classes/runfleetadvisorlsaanalysiscommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-database-migration-service/interfaces/runfleetadvisorlsaanalysiscommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-database-migration-service/interfaces/runfleetadvisorlsaanalysiscommandoutput.html)
692716

717+
</details>
718+
<details>
719+
<summary>
720+
StartRecommendations
721+
</summary>
722+
723+
[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)
724+
693725
</details>
694726
<details>
695727
<summary>

clients/client-database-migration-service/src/DatabaseMigrationService.ts

Lines changed: 162 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,11 @@ import {
1111
ApplyPendingMaintenanceActionCommandInput,
1212
ApplyPendingMaintenanceActionCommandOutput,
1313
} from "./commands/ApplyPendingMaintenanceActionCommand";
14+
import {
15+
BatchStartRecommendationsCommand,
16+
BatchStartRecommendationsCommandInput,
17+
BatchStartRecommendationsCommandOutput,
18+
} from "./commands/BatchStartRecommendationsCommand";
1419
import {
1520
CancelReplicationTaskAssessmentRunCommand,
1621
CancelReplicationTaskAssessmentRunCommandInput,
@@ -181,6 +186,16 @@ import {
181186
DescribePendingMaintenanceActionsCommandInput,
182187
DescribePendingMaintenanceActionsCommandOutput,
183188
} from "./commands/DescribePendingMaintenanceActionsCommand";
189+
import {
190+
DescribeRecommendationLimitationsCommand,
191+
DescribeRecommendationLimitationsCommandInput,
192+
DescribeRecommendationLimitationsCommandOutput,
193+
} from "./commands/DescribeRecommendationLimitationsCommand";
194+
import {
195+
DescribeRecommendationsCommand,
196+
DescribeRecommendationsCommandInput,
197+
DescribeRecommendationsCommandOutput,
198+
} from "./commands/DescribeRecommendationsCommand";
184199
import {
185200
DescribeRefreshSchemasStatusCommand,
186201
DescribeRefreshSchemasStatusCommandInput,
@@ -296,6 +311,11 @@ import {
296311
RunFleetAdvisorLsaAnalysisCommandInput,
297312
RunFleetAdvisorLsaAnalysisCommandOutput,
298313
} from "./commands/RunFleetAdvisorLsaAnalysisCommand";
314+
import {
315+
StartRecommendationsCommand,
316+
StartRecommendationsCommandInput,
317+
StartRecommendationsCommandOutput,
318+
} from "./commands/StartRecommendationsCommand";
299319
import {
300320
StartReplicationTaskAssessmentCommand,
301321
StartReplicationTaskAssessmentCommandInput,
@@ -343,7 +363,7 @@ import { DatabaseMigrationServiceClient } from "./DatabaseMigrationServiceClient
343363
export class DatabaseMigrationService extends DatabaseMigrationServiceClient {
344364
/**
345365
* <p>Adds metadata tags to an DMS resource, including replication instance, endpoint,
346-
* security group, and migration task. These tags can also be used with cost allocation
366+
* subnet group, and migration task. These tags can also be used with cost allocation
347367
* reporting to track cost associated with DMS resources, or used in a Condition statement in
348368
* an IAM policy for DMS. For more information, see <a href="https://docs.aws.amazon.com/dms/latest/APIReference/API_Tag.html">
349369
* <code>Tag</code>
@@ -410,6 +430,43 @@ export class DatabaseMigrationService extends DatabaseMigrationServiceClient {
410430
}
411431
}
412432

433+
/**
434+
* <p>Starts the analysis of up to 20 source databases to recommend target engines for each
435+
* source database. This is a batch version of <a href="https://docs.aws.amazon.com/dms/latest/APIReference/API_StartRecommendations.html">StartRecommendations</a>.</p>
436+
* <p>The result of analysis of each source database is reported individually in the
437+
* response. Because the batch request can result in a combination of successful and
438+
* unsuccessful actions, you should check for batch errors even when the call returns an
439+
* HTTP status code of <code>200</code>.</p>
440+
*/
441+
public batchStartRecommendations(
442+
args: BatchStartRecommendationsCommandInput,
443+
options?: __HttpHandlerOptions
444+
): Promise<BatchStartRecommendationsCommandOutput>;
445+
public batchStartRecommendations(
446+
args: BatchStartRecommendationsCommandInput,
447+
cb: (err: any, data?: BatchStartRecommendationsCommandOutput) => void
448+
): void;
449+
public batchStartRecommendations(
450+
args: BatchStartRecommendationsCommandInput,
451+
options: __HttpHandlerOptions,
452+
cb: (err: any, data?: BatchStartRecommendationsCommandOutput) => void
453+
): void;
454+
public batchStartRecommendations(
455+
args: BatchStartRecommendationsCommandInput,
456+
optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: BatchStartRecommendationsCommandOutput) => void),
457+
cb?: (err: any, data?: BatchStartRecommendationsCommandOutput) => void
458+
): Promise<BatchStartRecommendationsCommandOutput> | void {
459+
const command = new BatchStartRecommendationsCommand(args);
460+
if (typeof optionsOrCb === "function") {
461+
this.send(command, optionsOrCb);
462+
} else if (typeof cb === "function") {
463+
if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
464+
this.send(command, optionsOrCb || {}, cb);
465+
} else {
466+
return this.send(command, optionsOrCb);
467+
}
468+
}
469+
413470
/**
414471
* <p>Cancels a single premigration assessment run.</p>
415472
* <p>This operation prevents any individual assessments from running if they haven't started
@@ -1421,9 +1478,8 @@ export class DatabaseMigrationService extends DatabaseMigrationServiceClient {
14211478
}
14221479

14231480
/**
1424-
* <p>Provides descriptions of large-scale assessment (LSA) analyses produced by your
1425-
* Fleet Advisor collectors.
1426-
* </p>
1481+
* <p>Provides descriptions of large-scale assessment (LSA) analyses produced by your Fleet
1482+
* Advisor collectors. </p>
14271483
*/
14281484
public describeFleetAdvisorLsaAnalysis(
14291485
args: DescribeFleetAdvisorLsaAnalysisCommandInput,
@@ -1588,6 +1644,72 @@ export class DatabaseMigrationService extends DatabaseMigrationServiceClient {
15881644
}
15891645
}
15901646

1647+
/**
1648+
* <p>Returns a paginated list of limitations for recommendations of target Amazon Web Services
1649+
* engines.</p>
1650+
*/
1651+
public describeRecommendationLimitations(
1652+
args: DescribeRecommendationLimitationsCommandInput,
1653+
options?: __HttpHandlerOptions
1654+
): Promise<DescribeRecommendationLimitationsCommandOutput>;
1655+
public describeRecommendationLimitations(
1656+
args: DescribeRecommendationLimitationsCommandInput,
1657+
cb: (err: any, data?: DescribeRecommendationLimitationsCommandOutput) => void
1658+
): void;
1659+
public describeRecommendationLimitations(
1660+
args: DescribeRecommendationLimitationsCommandInput,
1661+
options: __HttpHandlerOptions,
1662+
cb: (err: any, data?: DescribeRecommendationLimitationsCommandOutput) => void
1663+
): void;
1664+
public describeRecommendationLimitations(
1665+
args: DescribeRecommendationLimitationsCommandInput,
1666+
optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeRecommendationLimitationsCommandOutput) => void),
1667+
cb?: (err: any, data?: DescribeRecommendationLimitationsCommandOutput) => void
1668+
): Promise<DescribeRecommendationLimitationsCommandOutput> | void {
1669+
const command = new DescribeRecommendationLimitationsCommand(args);
1670+
if (typeof optionsOrCb === "function") {
1671+
this.send(command, optionsOrCb);
1672+
} else if (typeof cb === "function") {
1673+
if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
1674+
this.send(command, optionsOrCb || {}, cb);
1675+
} else {
1676+
return this.send(command, optionsOrCb);
1677+
}
1678+
}
1679+
1680+
/**
1681+
* <p>Returns a paginated list of target engine recommendations for your source
1682+
* databases.</p>
1683+
*/
1684+
public describeRecommendations(
1685+
args: DescribeRecommendationsCommandInput,
1686+
options?: __HttpHandlerOptions
1687+
): Promise<DescribeRecommendationsCommandOutput>;
1688+
public describeRecommendations(
1689+
args: DescribeRecommendationsCommandInput,
1690+
cb: (err: any, data?: DescribeRecommendationsCommandOutput) => void
1691+
): void;
1692+
public describeRecommendations(
1693+
args: DescribeRecommendationsCommandInput,
1694+
options: __HttpHandlerOptions,
1695+
cb: (err: any, data?: DescribeRecommendationsCommandOutput) => void
1696+
): void;
1697+
public describeRecommendations(
1698+
args: DescribeRecommendationsCommandInput,
1699+
optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeRecommendationsCommandOutput) => void),
1700+
cb?: (err: any, data?: DescribeRecommendationsCommandOutput) => void
1701+
): Promise<DescribeRecommendationsCommandOutput> | void {
1702+
const command = new DescribeRecommendationsCommand(args);
1703+
if (typeof optionsOrCb === "function") {
1704+
this.send(command, optionsOrCb);
1705+
} else if (typeof cb === "function") {
1706+
if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
1707+
this.send(command, optionsOrCb || {}, cb);
1708+
} else {
1709+
return this.send(command, optionsOrCb);
1710+
}
1711+
}
1712+
15911713
/**
15921714
* <p>Returns the status of the RefreshSchemas operation.</p>
15931715
*/
@@ -1869,7 +1991,6 @@ export class DatabaseMigrationService extends DatabaseMigrationServiceClient {
18691991

18701992
/**
18711993
* <p>Returns information about the schema for the specified endpoint.</p>
1872-
*
18731994
* <p></p>
18741995
*/
18751996
public describeSchemas(
@@ -1971,7 +2092,7 @@ export class DatabaseMigrationService extends DatabaseMigrationServiceClient {
19712092

19722093
/**
19732094
* <p>Lists all metadata tags attached to an DMS resource, including
1974-
* replication instance, endpoint, security group, and migration task.
2095+
* replication instance, endpoint, subnet group, and migration task.
19752096
* For more information, see <a href="https://docs.aws.amazon.com/dms/latest/APIReference/API_Tag.html">
19762097
* <code>Tag</code>
19772098
* </a> data type description.</p>
@@ -2080,7 +2201,6 @@ export class DatabaseMigrationService extends DatabaseMigrationServiceClient {
20802201
* <p>Modifies the replication instance to apply new settings. You can change one or more
20812202
* parameters by specifying these parameters and the new values in the request.</p>
20822203
* <p>Some settings are applied during the maintenance window.</p>
2083-
*
20842204
* <p></p>
20852205
*/
20862206
public modifyReplicationInstance(
@@ -2314,7 +2434,7 @@ export class DatabaseMigrationService extends DatabaseMigrationServiceClient {
23142434

23152435
/**
23162436
* <p>Removes metadata tags from an DMS resource, including replication instance,
2317-
* endpoint, security group, and migration task. For more information, see
2437+
* endpoint, subnet group, and migration task. For more information, see
23182438
* <a href="https://docs.aws.amazon.com/dms/latest/APIReference/API_Tag.html">
23192439
* <code>Tag</code>
23202440
* </a>
@@ -2381,6 +2501,40 @@ export class DatabaseMigrationService extends DatabaseMigrationServiceClient {
23812501
}
23822502
}
23832503

2504+
/**
2505+
* <p>Starts the analysis of your source database to provide recommendations of target
2506+
* engines.</p>
2507+
* <p>You can create recommendations for multiple source databases using <a href="https://docs.aws.amazon.com/dms/latest/APIReference/API_BatchStartRecommendations.html">BatchStartRecommendations</a>.</p>
2508+
*/
2509+
public startRecommendations(
2510+
args: StartRecommendationsCommandInput,
2511+
options?: __HttpHandlerOptions
2512+
): Promise<StartRecommendationsCommandOutput>;
2513+
public startRecommendations(
2514+
args: StartRecommendationsCommandInput,
2515+
cb: (err: any, data?: StartRecommendationsCommandOutput) => void
2516+
): void;
2517+
public startRecommendations(
2518+
args: StartRecommendationsCommandInput,
2519+
options: __HttpHandlerOptions,
2520+
cb: (err: any, data?: StartRecommendationsCommandOutput) => void
2521+
): void;
2522+
public startRecommendations(
2523+
args: StartRecommendationsCommandInput,
2524+
optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: StartRecommendationsCommandOutput) => void),
2525+
cb?: (err: any, data?: StartRecommendationsCommandOutput) => void
2526+
): Promise<StartRecommendationsCommandOutput> | void {
2527+
const command = new StartRecommendationsCommand(args);
2528+
if (typeof optionsOrCb === "function") {
2529+
this.send(command, optionsOrCb);
2530+
} else if (typeof cb === "function") {
2531+
if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
2532+
this.send(command, optionsOrCb || {}, cb);
2533+
} else {
2534+
return this.send(command, optionsOrCb);
2535+
}
2536+
}
2537+
23842538
/**
23852539
* <p>Starts the replication task.</p>
23862540
* <p>For more information about DMS tasks, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.html">Working with Migration Tasks </a> in the

clients/client-database-migration-service/src/DatabaseMigrationServiceClient.ts

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,10 @@ import {
5454
ApplyPendingMaintenanceActionCommandInput,
5555
ApplyPendingMaintenanceActionCommandOutput,
5656
} from "./commands/ApplyPendingMaintenanceActionCommand";
57+
import {
58+
BatchStartRecommendationsCommandInput,
59+
BatchStartRecommendationsCommandOutput,
60+
} from "./commands/BatchStartRecommendationsCommand";
5761
import {
5862
CancelReplicationTaskAssessmentRunCommandInput,
5963
CancelReplicationTaskAssessmentRunCommandOutput,
@@ -172,6 +176,14 @@ import {
172176
DescribePendingMaintenanceActionsCommandInput,
173177
DescribePendingMaintenanceActionsCommandOutput,
174178
} from "./commands/DescribePendingMaintenanceActionsCommand";
179+
import {
180+
DescribeRecommendationLimitationsCommandInput,
181+
DescribeRecommendationLimitationsCommandOutput,
182+
} from "./commands/DescribeRecommendationLimitationsCommand";
183+
import {
184+
DescribeRecommendationsCommandInput,
185+
DescribeRecommendationsCommandOutput,
186+
} from "./commands/DescribeRecommendationsCommand";
175187
import {
176188
DescribeRefreshSchemasStatusCommandInput,
177189
DescribeRefreshSchemasStatusCommandOutput,
@@ -249,6 +261,10 @@ import {
249261
RunFleetAdvisorLsaAnalysisCommandInput,
250262
RunFleetAdvisorLsaAnalysisCommandOutput,
251263
} from "./commands/RunFleetAdvisorLsaAnalysisCommand";
264+
import {
265+
StartRecommendationsCommandInput,
266+
StartRecommendationsCommandOutput,
267+
} from "./commands/StartRecommendationsCommand";
252268
import {
253269
StartReplicationTaskAssessmentCommandInput,
254270
StartReplicationTaskAssessmentCommandOutput,
@@ -281,6 +297,7 @@ import { getRuntimeConfig as __getRuntimeConfig } from "./runtimeConfig";
281297
export type ServiceInputTypes =
282298
| AddTagsToResourceCommandInput
283299
| ApplyPendingMaintenanceActionCommandInput
300+
| BatchStartRecommendationsCommandInput
284301
| CancelReplicationTaskAssessmentRunCommandInput
285302
| CreateEndpointCommandInput
286303
| CreateEventSubscriptionCommandInput
@@ -315,6 +332,8 @@ export type ServiceInputTypes =
315332
| DescribeFleetAdvisorSchemasCommandInput
316333
| DescribeOrderableReplicationInstancesCommandInput
317334
| DescribePendingMaintenanceActionsCommandInput
335+
| DescribeRecommendationLimitationsCommandInput
336+
| DescribeRecommendationsCommandInput
318337
| DescribeRefreshSchemasStatusCommandInput
319338
| DescribeReplicationInstanceTaskLogsCommandInput
320339
| DescribeReplicationInstancesCommandInput
@@ -338,6 +357,7 @@ export type ServiceInputTypes =
338357
| ReloadTablesCommandInput
339358
| RemoveTagsFromResourceCommandInput
340359
| RunFleetAdvisorLsaAnalysisCommandInput
360+
| StartRecommendationsCommandInput
341361
| StartReplicationTaskAssessmentCommandInput
342362
| StartReplicationTaskAssessmentRunCommandInput
343363
| StartReplicationTaskCommandInput
@@ -348,6 +368,7 @@ export type ServiceInputTypes =
348368
export type ServiceOutputTypes =
349369
| AddTagsToResourceCommandOutput
350370
| ApplyPendingMaintenanceActionCommandOutput
371+
| BatchStartRecommendationsCommandOutput
351372
| CancelReplicationTaskAssessmentRunCommandOutput
352373
| CreateEndpointCommandOutput
353374
| CreateEventSubscriptionCommandOutput
@@ -382,6 +403,8 @@ export type ServiceOutputTypes =
382403
| DescribeFleetAdvisorSchemasCommandOutput
383404
| DescribeOrderableReplicationInstancesCommandOutput
384405
| DescribePendingMaintenanceActionsCommandOutput
406+
| DescribeRecommendationLimitationsCommandOutput
407+
| DescribeRecommendationsCommandOutput
385408
| DescribeRefreshSchemasStatusCommandOutput
386409
| DescribeReplicationInstanceTaskLogsCommandOutput
387410
| DescribeReplicationInstancesCommandOutput
@@ -405,6 +428,7 @@ export type ServiceOutputTypes =
405428
| ReloadTablesCommandOutput
406429
| RemoveTagsFromResourceCommandOutput
407430
| RunFleetAdvisorLsaAnalysisCommandOutput
431+
| StartRecommendationsCommandOutput
408432
| StartReplicationTaskAssessmentCommandOutput
409433
| StartReplicationTaskAssessmentRunCommandOutput
410434
| StartReplicationTaskCommandOutput

0 commit comments

Comments
 (0)