@aws-sdk/client-cost-explorer 3.223.0 → 3.226.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/README.md +4 -4
  2. package/dist-cjs/CostExplorer.js +30 -0
  3. package/dist-cjs/commands/ListSavingsPlansPurchaseRecommendationGenerationCommand.js +46 -0
  4. package/dist-cjs/commands/StartSavingsPlansPurchaseRecommendationGenerationCommand.js +46 -0
  5. package/dist-cjs/commands/index.js +2 -0
  6. package/dist-cjs/endpoint/ruleset.js +11 -20
  7. package/dist-cjs/models/models_0.js +45 -4
  8. package/dist-cjs/protocols/Aws_json1_1.js +169 -2
  9. package/dist-es/CostExplorer.js +30 -0
  10. package/dist-es/commands/ListSavingsPlansPurchaseRecommendationGenerationCommand.js +42 -0
  11. package/dist-es/commands/StartSavingsPlansPurchaseRecommendationGenerationCommand.js +42 -0
  12. package/dist-es/commands/index.js +2 -0
  13. package/dist-es/endpoint/ruleset.js +11 -20
  14. package/dist-es/models/models_0.js +34 -0
  15. package/dist-es/protocols/Aws_json1_1.js +164 -1
  16. package/dist-types/CostExplorer.d.ts +110 -53
  17. package/dist-types/CostExplorerClient.d.ts +14 -12
  18. package/dist-types/commands/DeleteCostCategoryDefinitionCommand.d.ts +2 -1
  19. package/dist-types/commands/GetCostAndUsageCommand.d.ts +2 -1
  20. package/dist-types/commands/GetCostAndUsageWithResourcesCommand.d.ts +11 -9
  21. package/dist-types/commands/GetCostCategoriesCommand.d.ts +2 -1
  22. package/dist-types/commands/GetCostForecastCommand.d.ts +2 -1
  23. package/dist-types/commands/GetDimensionValuesCommand.d.ts +2 -1
  24. package/dist-types/commands/GetReservationCoverageCommand.d.ts +6 -5
  25. package/dist-types/commands/GetReservationPurchaseRecommendationCommand.d.ts +2 -2
  26. package/dist-types/commands/GetReservationUtilizationCommand.d.ts +4 -3
  27. package/dist-types/commands/GetRightsizingRecommendationCommand.d.ts +2 -3
  28. package/dist-types/commands/GetSavingsPlansCoverageCommand.d.ts +8 -3
  29. package/dist-types/commands/GetSavingsPlansPurchaseRecommendationCommand.d.ts +4 -1
  30. package/dist-types/commands/GetSavingsPlansUtilizationCommand.d.ts +7 -3
  31. package/dist-types/commands/GetSavingsPlansUtilizationDetailsCommand.d.ts +10 -3
  32. package/dist-types/commands/GetTagsCommand.d.ts +2 -1
  33. package/dist-types/commands/GetUsageForecastCommand.d.ts +2 -1
  34. package/dist-types/commands/ListSavingsPlansPurchaseRecommendationGenerationCommand.d.ts +38 -0
  35. package/dist-types/commands/ListTagsForResourceCommand.d.ts +2 -2
  36. package/dist-types/commands/StartSavingsPlansPurchaseRecommendationGenerationCommand.d.ts +45 -0
  37. package/dist-types/commands/TagResourceCommand.d.ts +4 -1
  38. package/dist-types/commands/UpdateCostCategoryDefinitionCommand.d.ts +3 -1
  39. package/dist-types/commands/index.d.ts +2 -0
  40. package/dist-types/endpoint/EndpointParameters.d.ts +1 -1
  41. package/dist-types/models/models_0.d.ts +734 -459
  42. package/dist-types/protocols/Aws_json1_1.d.ts +6 -0
  43. package/dist-types/ts3.4/CostExplorer.d.ts +46 -0
  44. package/dist-types/ts3.4/CostExplorerClient.d.ts +12 -0
  45. package/dist-types/ts3.4/commands/ListSavingsPlansPurchaseRecommendationGenerationCommand.d.ts +43 -0
  46. package/dist-types/ts3.4/commands/StartSavingsPlansPurchaseRecommendationGenerationCommand.d.ts +43 -0
  47. package/dist-types/ts3.4/commands/index.d.ts +2 -0
  48. package/dist-types/ts3.4/endpoint/EndpointParameters.d.ts +1 -1
  49. package/dist-types/ts3.4/models/models_0.d.ts +52 -0
  50. package/dist-types/ts3.4/protocols/Aws_json1_1.d.ts +24 -0
  51. package/package.json +28 -28
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.deserializeAws_json1_1GetDimensionValuesCommand = exports.deserializeAws_json1_1GetCostForecastCommand = exports.deserializeAws_json1_1GetCostCategoriesCommand = exports.deserializeAws_json1_1GetCostAndUsageWithResourcesCommand = exports.deserializeAws_json1_1GetCostAndUsageCommand = exports.deserializeAws_json1_1GetAnomalySubscriptionsCommand = exports.deserializeAws_json1_1GetAnomalyMonitorsCommand = exports.deserializeAws_json1_1GetAnomaliesCommand = exports.deserializeAws_json1_1DescribeCostCategoryDefinitionCommand = exports.deserializeAws_json1_1DeleteCostCategoryDefinitionCommand = exports.deserializeAws_json1_1DeleteAnomalySubscriptionCommand = exports.deserializeAws_json1_1DeleteAnomalyMonitorCommand = exports.deserializeAws_json1_1CreateCostCategoryDefinitionCommand = exports.deserializeAws_json1_1CreateAnomalySubscriptionCommand = exports.deserializeAws_json1_1CreateAnomalyMonitorCommand = exports.serializeAws_json1_1UpdateCostCategoryDefinitionCommand = exports.serializeAws_json1_1UpdateCostAllocationTagsStatusCommand = exports.serializeAws_json1_1UpdateAnomalySubscriptionCommand = exports.serializeAws_json1_1UpdateAnomalyMonitorCommand = exports.serializeAws_json1_1UntagResourceCommand = exports.serializeAws_json1_1TagResourceCommand = exports.serializeAws_json1_1ProvideAnomalyFeedbackCommand = exports.serializeAws_json1_1ListTagsForResourceCommand = exports.serializeAws_json1_1ListCostCategoryDefinitionsCommand = exports.serializeAws_json1_1ListCostAllocationTagsCommand = exports.serializeAws_json1_1GetUsageForecastCommand = exports.serializeAws_json1_1GetTagsCommand = exports.serializeAws_json1_1GetSavingsPlansUtilizationDetailsCommand = exports.serializeAws_json1_1GetSavingsPlansUtilizationCommand = exports.serializeAws_json1_1GetSavingsPlansPurchaseRecommendationCommand = exports.serializeAws_json1_1GetSavingsPlansCoverageCommand = exports.serializeAws_json1_1GetRightsizingRecommendationCommand = exports.serializeAws_json1_1GetReservationUtilizationCommand = exports.serializeAws_json1_1GetReservationPurchaseRecommendationCommand = exports.serializeAws_json1_1GetReservationCoverageCommand = exports.serializeAws_json1_1GetDimensionValuesCommand = exports.serializeAws_json1_1GetCostForecastCommand = exports.serializeAws_json1_1GetCostCategoriesCommand = exports.serializeAws_json1_1GetCostAndUsageWithResourcesCommand = exports.serializeAws_json1_1GetCostAndUsageCommand = exports.serializeAws_json1_1GetAnomalySubscriptionsCommand = exports.serializeAws_json1_1GetAnomalyMonitorsCommand = exports.serializeAws_json1_1GetAnomaliesCommand = exports.serializeAws_json1_1DescribeCostCategoryDefinitionCommand = exports.serializeAws_json1_1DeleteCostCategoryDefinitionCommand = exports.serializeAws_json1_1DeleteAnomalySubscriptionCommand = exports.serializeAws_json1_1DeleteAnomalyMonitorCommand = exports.serializeAws_json1_1CreateCostCategoryDefinitionCommand = exports.serializeAws_json1_1CreateAnomalySubscriptionCommand = exports.serializeAws_json1_1CreateAnomalyMonitorCommand = void 0;
4
- exports.deserializeAws_json1_1UpdateCostCategoryDefinitionCommand = exports.deserializeAws_json1_1UpdateCostAllocationTagsStatusCommand = exports.deserializeAws_json1_1UpdateAnomalySubscriptionCommand = exports.deserializeAws_json1_1UpdateAnomalyMonitorCommand = exports.deserializeAws_json1_1UntagResourceCommand = exports.deserializeAws_json1_1TagResourceCommand = exports.deserializeAws_json1_1ProvideAnomalyFeedbackCommand = exports.deserializeAws_json1_1ListTagsForResourceCommand = exports.deserializeAws_json1_1ListCostCategoryDefinitionsCommand = exports.deserializeAws_json1_1ListCostAllocationTagsCommand = exports.deserializeAws_json1_1GetUsageForecastCommand = exports.deserializeAws_json1_1GetTagsCommand = exports.deserializeAws_json1_1GetSavingsPlansUtilizationDetailsCommand = exports.deserializeAws_json1_1GetSavingsPlansUtilizationCommand = exports.deserializeAws_json1_1GetSavingsPlansPurchaseRecommendationCommand = exports.deserializeAws_json1_1GetSavingsPlansCoverageCommand = exports.deserializeAws_json1_1GetRightsizingRecommendationCommand = exports.deserializeAws_json1_1GetReservationUtilizationCommand = exports.deserializeAws_json1_1GetReservationPurchaseRecommendationCommand = exports.deserializeAws_json1_1GetReservationCoverageCommand = void 0;
3
+ exports.deserializeAws_json1_1GetCostCategoriesCommand = exports.deserializeAws_json1_1GetCostAndUsageWithResourcesCommand = exports.deserializeAws_json1_1GetCostAndUsageCommand = exports.deserializeAws_json1_1GetAnomalySubscriptionsCommand = exports.deserializeAws_json1_1GetAnomalyMonitorsCommand = exports.deserializeAws_json1_1GetAnomaliesCommand = exports.deserializeAws_json1_1DescribeCostCategoryDefinitionCommand = exports.deserializeAws_json1_1DeleteCostCategoryDefinitionCommand = exports.deserializeAws_json1_1DeleteAnomalySubscriptionCommand = exports.deserializeAws_json1_1DeleteAnomalyMonitorCommand = exports.deserializeAws_json1_1CreateCostCategoryDefinitionCommand = exports.deserializeAws_json1_1CreateAnomalySubscriptionCommand = exports.deserializeAws_json1_1CreateAnomalyMonitorCommand = exports.serializeAws_json1_1UpdateCostCategoryDefinitionCommand = exports.serializeAws_json1_1UpdateCostAllocationTagsStatusCommand = exports.serializeAws_json1_1UpdateAnomalySubscriptionCommand = exports.serializeAws_json1_1UpdateAnomalyMonitorCommand = exports.serializeAws_json1_1UntagResourceCommand = exports.serializeAws_json1_1TagResourceCommand = exports.serializeAws_json1_1StartSavingsPlansPurchaseRecommendationGenerationCommand = exports.serializeAws_json1_1ProvideAnomalyFeedbackCommand = exports.serializeAws_json1_1ListTagsForResourceCommand = exports.serializeAws_json1_1ListSavingsPlansPurchaseRecommendationGenerationCommand = exports.serializeAws_json1_1ListCostCategoryDefinitionsCommand = exports.serializeAws_json1_1ListCostAllocationTagsCommand = exports.serializeAws_json1_1GetUsageForecastCommand = exports.serializeAws_json1_1GetTagsCommand = exports.serializeAws_json1_1GetSavingsPlansUtilizationDetailsCommand = exports.serializeAws_json1_1GetSavingsPlansUtilizationCommand = exports.serializeAws_json1_1GetSavingsPlansPurchaseRecommendationCommand = exports.serializeAws_json1_1GetSavingsPlansCoverageCommand = exports.serializeAws_json1_1GetRightsizingRecommendationCommand = exports.serializeAws_json1_1GetReservationUtilizationCommand = exports.serializeAws_json1_1GetReservationPurchaseRecommendationCommand = exports.serializeAws_json1_1GetReservationCoverageCommand = exports.serializeAws_json1_1GetDimensionValuesCommand = exports.serializeAws_json1_1GetCostForecastCommand = exports.serializeAws_json1_1GetCostCategoriesCommand = exports.serializeAws_json1_1GetCostAndUsageWithResourcesCommand = exports.serializeAws_json1_1GetCostAndUsageCommand = exports.serializeAws_json1_1GetAnomalySubscriptionsCommand = exports.serializeAws_json1_1GetAnomalyMonitorsCommand = exports.serializeAws_json1_1GetAnomaliesCommand = exports.serializeAws_json1_1DescribeCostCategoryDefinitionCommand = exports.serializeAws_json1_1DeleteCostCategoryDefinitionCommand = exports.serializeAws_json1_1DeleteAnomalySubscriptionCommand = exports.serializeAws_json1_1DeleteAnomalyMonitorCommand = exports.serializeAws_json1_1CreateCostCategoryDefinitionCommand = exports.serializeAws_json1_1CreateAnomalySubscriptionCommand = exports.serializeAws_json1_1CreateAnomalyMonitorCommand = void 0;
4
+ exports.deserializeAws_json1_1UpdateCostCategoryDefinitionCommand = exports.deserializeAws_json1_1UpdateCostAllocationTagsStatusCommand = exports.deserializeAws_json1_1UpdateAnomalySubscriptionCommand = exports.deserializeAws_json1_1UpdateAnomalyMonitorCommand = exports.deserializeAws_json1_1UntagResourceCommand = exports.deserializeAws_json1_1TagResourceCommand = exports.deserializeAws_json1_1StartSavingsPlansPurchaseRecommendationGenerationCommand = exports.deserializeAws_json1_1ProvideAnomalyFeedbackCommand = exports.deserializeAws_json1_1ListTagsForResourceCommand = exports.deserializeAws_json1_1ListSavingsPlansPurchaseRecommendationGenerationCommand = exports.deserializeAws_json1_1ListCostCategoryDefinitionsCommand = exports.deserializeAws_json1_1ListCostAllocationTagsCommand = exports.deserializeAws_json1_1GetUsageForecastCommand = exports.deserializeAws_json1_1GetTagsCommand = exports.deserializeAws_json1_1GetSavingsPlansUtilizationDetailsCommand = exports.deserializeAws_json1_1GetSavingsPlansUtilizationCommand = exports.deserializeAws_json1_1GetSavingsPlansPurchaseRecommendationCommand = exports.deserializeAws_json1_1GetSavingsPlansCoverageCommand = exports.deserializeAws_json1_1GetRightsizingRecommendationCommand = exports.deserializeAws_json1_1GetReservationUtilizationCommand = exports.deserializeAws_json1_1GetReservationPurchaseRecommendationCommand = exports.deserializeAws_json1_1GetReservationCoverageCommand = exports.deserializeAws_json1_1GetDimensionValuesCommand = exports.deserializeAws_json1_1GetCostForecastCommand = void 0;
5
5
  const protocol_http_1 = require("@aws-sdk/protocol-http");
6
6
  const smithy_client_1 = require("@aws-sdk/smithy-client");
7
7
  const CostExplorerServiceException_1 = require("../models/CostExplorerServiceException");
@@ -276,6 +276,16 @@ const serializeAws_json1_1ListCostCategoryDefinitionsCommand = async (input, con
276
276
  return buildHttpRpcRequest(context, headers, "/", undefined, body);
277
277
  };
278
278
  exports.serializeAws_json1_1ListCostCategoryDefinitionsCommand = serializeAws_json1_1ListCostCategoryDefinitionsCommand;
279
+ const serializeAws_json1_1ListSavingsPlansPurchaseRecommendationGenerationCommand = async (input, context) => {
280
+ const headers = {
281
+ "content-type": "application/x-amz-json-1.1",
282
+ "x-amz-target": "AWSInsightsIndexService.ListSavingsPlansPurchaseRecommendationGeneration",
283
+ };
284
+ let body;
285
+ body = JSON.stringify(serializeAws_json1_1ListSavingsPlansPurchaseRecommendationGenerationRequest(input, context));
286
+ return buildHttpRpcRequest(context, headers, "/", undefined, body);
287
+ };
288
+ exports.serializeAws_json1_1ListSavingsPlansPurchaseRecommendationGenerationCommand = serializeAws_json1_1ListSavingsPlansPurchaseRecommendationGenerationCommand;
279
289
  const serializeAws_json1_1ListTagsForResourceCommand = async (input, context) => {
280
290
  const headers = {
281
291
  "content-type": "application/x-amz-json-1.1",
@@ -296,6 +306,16 @@ const serializeAws_json1_1ProvideAnomalyFeedbackCommand = async (input, context)
296
306
  return buildHttpRpcRequest(context, headers, "/", undefined, body);
297
307
  };
298
308
  exports.serializeAws_json1_1ProvideAnomalyFeedbackCommand = serializeAws_json1_1ProvideAnomalyFeedbackCommand;
309
+ const serializeAws_json1_1StartSavingsPlansPurchaseRecommendationGenerationCommand = async (input, context) => {
310
+ const headers = {
311
+ "content-type": "application/x-amz-json-1.1",
312
+ "x-amz-target": "AWSInsightsIndexService.StartSavingsPlansPurchaseRecommendationGeneration",
313
+ };
314
+ let body;
315
+ body = JSON.stringify(serializeAws_json1_1StartSavingsPlansPurchaseRecommendationGenerationRequest(input, context));
316
+ return buildHttpRpcRequest(context, headers, "/", undefined, body);
317
+ };
318
+ exports.serializeAws_json1_1StartSavingsPlansPurchaseRecommendationGenerationCommand = serializeAws_json1_1StartSavingsPlansPurchaseRecommendationGenerationCommand;
299
319
  const serializeAws_json1_1TagResourceCommand = async (input, context) => {
300
320
  const headers = {
301
321
  "content-type": "application/x-amz-json-1.1",
@@ -1418,6 +1438,43 @@ const deserializeAws_json1_1ListCostCategoryDefinitionsCommandError = async (out
1418
1438
  });
1419
1439
  }
1420
1440
  };
1441
+ const deserializeAws_json1_1ListSavingsPlansPurchaseRecommendationGenerationCommand = async (output, context) => {
1442
+ if (output.statusCode >= 300) {
1443
+ return deserializeAws_json1_1ListSavingsPlansPurchaseRecommendationGenerationCommandError(output, context);
1444
+ }
1445
+ const data = await parseBody(output.body, context);
1446
+ let contents = {};
1447
+ contents = deserializeAws_json1_1ListSavingsPlansPurchaseRecommendationGenerationResponse(data, context);
1448
+ const response = {
1449
+ $metadata: deserializeMetadata(output),
1450
+ ...contents,
1451
+ };
1452
+ return Promise.resolve(response);
1453
+ };
1454
+ exports.deserializeAws_json1_1ListSavingsPlansPurchaseRecommendationGenerationCommand = deserializeAws_json1_1ListSavingsPlansPurchaseRecommendationGenerationCommand;
1455
+ const deserializeAws_json1_1ListSavingsPlansPurchaseRecommendationGenerationCommandError = async (output, context) => {
1456
+ const parsedOutput = {
1457
+ ...output,
1458
+ body: await parseErrorBody(output.body, context),
1459
+ };
1460
+ const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
1461
+ switch (errorCode) {
1462
+ case "InvalidNextTokenException":
1463
+ case "com.amazonaws.costexplorer#InvalidNextTokenException":
1464
+ throw await deserializeAws_json1_1InvalidNextTokenExceptionResponse(parsedOutput, context);
1465
+ case "LimitExceededException":
1466
+ case "com.amazonaws.costexplorer#LimitExceededException":
1467
+ throw await deserializeAws_json1_1LimitExceededExceptionResponse(parsedOutput, context);
1468
+ default:
1469
+ const parsedBody = parsedOutput.body;
1470
+ (0, smithy_client_1.throwDefaultError)({
1471
+ output,
1472
+ parsedBody,
1473
+ exceptionCtor: CostExplorerServiceException_1.CostExplorerServiceException,
1474
+ errorCode,
1475
+ });
1476
+ }
1477
+ };
1421
1478
  const deserializeAws_json1_1ListTagsForResourceCommand = async (output, context) => {
1422
1479
  if (output.statusCode >= 300) {
1423
1480
  return deserializeAws_json1_1ListTagsForResourceCommandError(output, context);
@@ -1489,6 +1546,46 @@ const deserializeAws_json1_1ProvideAnomalyFeedbackCommandError = async (output,
1489
1546
  });
1490
1547
  }
1491
1548
  };
1549
+ const deserializeAws_json1_1StartSavingsPlansPurchaseRecommendationGenerationCommand = async (output, context) => {
1550
+ if (output.statusCode >= 300) {
1551
+ return deserializeAws_json1_1StartSavingsPlansPurchaseRecommendationGenerationCommandError(output, context);
1552
+ }
1553
+ const data = await parseBody(output.body, context);
1554
+ let contents = {};
1555
+ contents = deserializeAws_json1_1StartSavingsPlansPurchaseRecommendationGenerationResponse(data, context);
1556
+ const response = {
1557
+ $metadata: deserializeMetadata(output),
1558
+ ...contents,
1559
+ };
1560
+ return Promise.resolve(response);
1561
+ };
1562
+ exports.deserializeAws_json1_1StartSavingsPlansPurchaseRecommendationGenerationCommand = deserializeAws_json1_1StartSavingsPlansPurchaseRecommendationGenerationCommand;
1563
+ const deserializeAws_json1_1StartSavingsPlansPurchaseRecommendationGenerationCommandError = async (output, context) => {
1564
+ const parsedOutput = {
1565
+ ...output,
1566
+ body: await parseErrorBody(output.body, context),
1567
+ };
1568
+ const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
1569
+ switch (errorCode) {
1570
+ case "GenerationExistsException":
1571
+ case "com.amazonaws.costexplorer#GenerationExistsException":
1572
+ throw await deserializeAws_json1_1GenerationExistsExceptionResponse(parsedOutput, context);
1573
+ case "LimitExceededException":
1574
+ case "com.amazonaws.costexplorer#LimitExceededException":
1575
+ throw await deserializeAws_json1_1LimitExceededExceptionResponse(parsedOutput, context);
1576
+ case "ServiceQuotaExceededException":
1577
+ case "com.amazonaws.costexplorer#ServiceQuotaExceededException":
1578
+ throw await deserializeAws_json1_1ServiceQuotaExceededExceptionResponse(parsedOutput, context);
1579
+ default:
1580
+ const parsedBody = parsedOutput.body;
1581
+ (0, smithy_client_1.throwDefaultError)({
1582
+ output,
1583
+ parsedBody,
1584
+ exceptionCtor: CostExplorerServiceException_1.CostExplorerServiceException,
1585
+ errorCode,
1586
+ });
1587
+ }
1588
+ };
1492
1589
  const deserializeAws_json1_1TagResourceCommand = async (output, context) => {
1493
1590
  if (output.statusCode >= 300) {
1494
1591
  return deserializeAws_json1_1TagResourceCommandError(output, context);
@@ -1735,6 +1832,15 @@ const deserializeAws_json1_1DataUnavailableExceptionResponse = async (parsedOutp
1735
1832
  });
1736
1833
  return (0, smithy_client_1.decorateServiceException)(exception, body);
1737
1834
  };
1835
+ const deserializeAws_json1_1GenerationExistsExceptionResponse = async (parsedOutput, context) => {
1836
+ const body = parsedOutput.body;
1837
+ const deserialized = deserializeAws_json1_1GenerationExistsException(body, context);
1838
+ const exception = new models_0_1.GenerationExistsException({
1839
+ $metadata: deserializeMetadata(parsedOutput),
1840
+ ...deserialized,
1841
+ });
1842
+ return (0, smithy_client_1.decorateServiceException)(exception, body);
1843
+ };
1738
1844
  const deserializeAws_json1_1InvalidNextTokenExceptionResponse = async (parsedOutput, context) => {
1739
1845
  const body = parsedOutput.body;
1740
1846
  const deserialized = deserializeAws_json1_1InvalidNextTokenException(body, context);
@@ -2265,6 +2371,16 @@ const serializeAws_json1_1ListCostCategoryDefinitionsRequest = (input, context)
2265
2371
  ...(input.NextToken != null && { NextToken: input.NextToken }),
2266
2372
  };
2267
2373
  };
2374
+ const serializeAws_json1_1ListSavingsPlansPurchaseRecommendationGenerationRequest = (input, context) => {
2375
+ return {
2376
+ ...(input.GenerationStatus != null && { GenerationStatus: input.GenerationStatus }),
2377
+ ...(input.NextPageToken != null && { NextPageToken: input.NextPageToken }),
2378
+ ...(input.PageSize != null && { PageSize: input.PageSize }),
2379
+ ...(input.RecommendationIds != null && {
2380
+ RecommendationIds: serializeAws_json1_1RecommendationIdList(input.RecommendationIds, context),
2381
+ }),
2382
+ };
2383
+ };
2268
2384
  const serializeAws_json1_1ListTagsForResourceRequest = (input, context) => {
2269
2385
  return {
2270
2386
  ...(input.ResourceArn != null && { ResourceArn: input.ResourceArn }),
@@ -2297,6 +2413,13 @@ const serializeAws_json1_1ProvideAnomalyFeedbackRequest = (input, context) => {
2297
2413
  ...(input.Feedback != null && { Feedback: input.Feedback }),
2298
2414
  };
2299
2415
  };
2416
+ const serializeAws_json1_1RecommendationIdList = (input, context) => {
2417
+ return input
2418
+ .filter((e) => e != null)
2419
+ .map((entry) => {
2420
+ return entry;
2421
+ });
2422
+ };
2300
2423
  const serializeAws_json1_1ResourceTag = (input, context) => {
2301
2424
  return {
2302
2425
  ...(input.Key != null && { Key: input.Key }),
@@ -2350,6 +2473,9 @@ const serializeAws_json1_1SortDefinitions = (input, context) => {
2350
2473
  return serializeAws_json1_1SortDefinition(entry, context);
2351
2474
  });
2352
2475
  };
2476
+ const serializeAws_json1_1StartSavingsPlansPurchaseRecommendationGenerationRequest = (input, context) => {
2477
+ return {};
2478
+ };
2353
2479
  const serializeAws_json1_1Subscriber = (input, context) => {
2354
2480
  return {
2355
2481
  ...(input.Address != null && { Address: input.Address }),
@@ -2996,6 +3122,31 @@ const deserializeAws_json1_1ForecastResultsByTime = (output, context) => {
2996
3122
  });
2997
3123
  return retVal;
2998
3124
  };
3125
+ const deserializeAws_json1_1GenerationExistsException = (output, context) => {
3126
+ return {
3127
+ Message: (0, smithy_client_1.expectString)(output.Message),
3128
+ };
3129
+ };
3130
+ const deserializeAws_json1_1GenerationSummary = (output, context) => {
3131
+ return {
3132
+ EstimatedCompletionTime: (0, smithy_client_1.expectString)(output.EstimatedCompletionTime),
3133
+ GenerationCompletionTime: (0, smithy_client_1.expectString)(output.GenerationCompletionTime),
3134
+ GenerationStartedTime: (0, smithy_client_1.expectString)(output.GenerationStartedTime),
3135
+ GenerationStatus: (0, smithy_client_1.expectString)(output.GenerationStatus),
3136
+ RecommendationId: (0, smithy_client_1.expectString)(output.RecommendationId),
3137
+ };
3138
+ };
3139
+ const deserializeAws_json1_1GenerationSummaryList = (output, context) => {
3140
+ const retVal = (output || [])
3141
+ .filter((e) => e != null)
3142
+ .map((entry) => {
3143
+ if (entry === null) {
3144
+ return null;
3145
+ }
3146
+ return deserializeAws_json1_1GenerationSummary(entry, context);
3147
+ });
3148
+ return retVal;
3149
+ };
2999
3150
  const deserializeAws_json1_1GetAnomaliesResponse = (output, context) => {
3000
3151
  return {
3001
3152
  Anomalies: output.Anomalies != null ? deserializeAws_json1_1Anomalies(output.Anomalies, context) : undefined,
@@ -3268,6 +3419,14 @@ const deserializeAws_json1_1ListCostCategoryDefinitionsResponse = (output, conte
3268
3419
  NextToken: (0, smithy_client_1.expectString)(output.NextToken),
3269
3420
  };
3270
3421
  };
3422
+ const deserializeAws_json1_1ListSavingsPlansPurchaseRecommendationGenerationResponse = (output, context) => {
3423
+ return {
3424
+ GenerationSummaryList: output.GenerationSummaryList != null
3425
+ ? deserializeAws_json1_1GenerationSummaryList(output.GenerationSummaryList, context)
3426
+ : undefined,
3427
+ NextPageToken: (0, smithy_client_1.expectString)(output.NextPageToken),
3428
+ };
3429
+ };
3271
3430
  const deserializeAws_json1_1ListTagsForResourceResponse = (output, context) => {
3272
3431
  return {
3273
3432
  ResourceTags: output.ResourceTags != null ? deserializeAws_json1_1ResourceTagList(output.ResourceTags, context) : undefined,
@@ -3612,6 +3771,7 @@ const deserializeAws_json1_1RightsizingRecommendationSummary = (output, context)
3612
3771
  const deserializeAws_json1_1RootCause = (output, context) => {
3613
3772
  return {
3614
3773
  LinkedAccount: (0, smithy_client_1.expectString)(output.LinkedAccount),
3774
+ LinkedAccountName: (0, smithy_client_1.expectString)(output.LinkedAccountName),
3615
3775
  Region: (0, smithy_client_1.expectString)(output.Region),
3616
3776
  Service: (0, smithy_client_1.expectString)(output.Service),
3617
3777
  UsageType: (0, smithy_client_1.expectString)(output.UsageType),
@@ -3822,6 +3982,13 @@ const deserializeAws_json1_1ServiceSpecification = (output, context) => {
3822
3982
  : undefined,
3823
3983
  };
3824
3984
  };
3985
+ const deserializeAws_json1_1StartSavingsPlansPurchaseRecommendationGenerationResponse = (output, context) => {
3986
+ return {
3987
+ EstimatedCompletionTime: (0, smithy_client_1.expectString)(output.EstimatedCompletionTime),
3988
+ GenerationStartedTime: (0, smithy_client_1.expectString)(output.GenerationStartedTime),
3989
+ RecommendationId: (0, smithy_client_1.expectString)(output.RecommendationId),
3990
+ };
3991
+ };
3825
3992
  const deserializeAws_json1_1Subscriber = (output, context) => {
3826
3993
  return {
3827
3994
  Address: (0, smithy_client_1.expectString)(output.Address),
@@ -25,8 +25,10 @@ import { GetTagsCommand } from "./commands/GetTagsCommand";
25
25
  import { GetUsageForecastCommand, } from "./commands/GetUsageForecastCommand";
26
26
  import { ListCostAllocationTagsCommand, } from "./commands/ListCostAllocationTagsCommand";
27
27
  import { ListCostCategoryDefinitionsCommand, } from "./commands/ListCostCategoryDefinitionsCommand";
28
+ import { ListSavingsPlansPurchaseRecommendationGenerationCommand, } from "./commands/ListSavingsPlansPurchaseRecommendationGenerationCommand";
28
29
  import { ListTagsForResourceCommand, } from "./commands/ListTagsForResourceCommand";
29
30
  import { ProvideAnomalyFeedbackCommand, } from "./commands/ProvideAnomalyFeedbackCommand";
31
+ import { StartSavingsPlansPurchaseRecommendationGenerationCommand, } from "./commands/StartSavingsPlansPurchaseRecommendationGenerationCommand";
30
32
  import { TagResourceCommand } from "./commands/TagResourceCommand";
31
33
  import { UntagResourceCommand, } from "./commands/UntagResourceCommand";
32
34
  import { UpdateAnomalyMonitorCommand, } from "./commands/UpdateAnomalyMonitorCommand";
@@ -413,6 +415,20 @@ export class CostExplorer extends CostExplorerClient {
413
415
  return this.send(command, optionsOrCb);
414
416
  }
415
417
  }
418
+ listSavingsPlansPurchaseRecommendationGeneration(args, optionsOrCb, cb) {
419
+ const command = new ListSavingsPlansPurchaseRecommendationGenerationCommand(args);
420
+ if (typeof optionsOrCb === "function") {
421
+ this.send(command, optionsOrCb);
422
+ }
423
+ else if (typeof cb === "function") {
424
+ if (typeof optionsOrCb !== "object")
425
+ throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
426
+ this.send(command, optionsOrCb || {}, cb);
427
+ }
428
+ else {
429
+ return this.send(command, optionsOrCb);
430
+ }
431
+ }
416
432
  listTagsForResource(args, optionsOrCb, cb) {
417
433
  const command = new ListTagsForResourceCommand(args);
418
434
  if (typeof optionsOrCb === "function") {
@@ -441,6 +457,20 @@ export class CostExplorer extends CostExplorerClient {
441
457
  return this.send(command, optionsOrCb);
442
458
  }
443
459
  }
460
+ startSavingsPlansPurchaseRecommendationGeneration(args, optionsOrCb, cb) {
461
+ const command = new StartSavingsPlansPurchaseRecommendationGenerationCommand(args);
462
+ if (typeof optionsOrCb === "function") {
463
+ this.send(command, optionsOrCb);
464
+ }
465
+ else if (typeof cb === "function") {
466
+ if (typeof optionsOrCb !== "object")
467
+ throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
468
+ this.send(command, optionsOrCb || {}, cb);
469
+ }
470
+ else {
471
+ return this.send(command, optionsOrCb);
472
+ }
473
+ }
444
474
  tagResource(args, optionsOrCb, cb) {
445
475
  const command = new TagResourceCommand(args);
446
476
  if (typeof optionsOrCb === "function") {
@@ -0,0 +1,42 @@
1
+ import { getEndpointPlugin } from "@aws-sdk/middleware-endpoint";
2
+ import { getSerdePlugin } from "@aws-sdk/middleware-serde";
3
+ import { Command as $Command } from "@aws-sdk/smithy-client";
4
+ import { ListSavingsPlansPurchaseRecommendationGenerationRequestFilterSensitiveLog, ListSavingsPlansPurchaseRecommendationGenerationResponseFilterSensitiveLog, } from "../models/models_0";
5
+ import { deserializeAws_json1_1ListSavingsPlansPurchaseRecommendationGenerationCommand, serializeAws_json1_1ListSavingsPlansPurchaseRecommendationGenerationCommand, } from "../protocols/Aws_json1_1";
6
+ export class ListSavingsPlansPurchaseRecommendationGenerationCommand extends $Command {
7
+ constructor(input) {
8
+ super();
9
+ this.input = input;
10
+ }
11
+ static getEndpointParameterInstructions() {
12
+ return {
13
+ UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
14
+ Endpoint: { type: "builtInParams", name: "endpoint" },
15
+ Region: { type: "builtInParams", name: "region" },
16
+ UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" },
17
+ };
18
+ }
19
+ resolveMiddleware(clientStack, configuration, options) {
20
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
21
+ this.middlewareStack.use(getEndpointPlugin(configuration, ListSavingsPlansPurchaseRecommendationGenerationCommand.getEndpointParameterInstructions()));
22
+ const stack = clientStack.concat(this.middlewareStack);
23
+ const { logger } = configuration;
24
+ const clientName = "CostExplorerClient";
25
+ const commandName = "ListSavingsPlansPurchaseRecommendationGenerationCommand";
26
+ const handlerExecutionContext = {
27
+ logger,
28
+ clientName,
29
+ commandName,
30
+ inputFilterSensitiveLog: ListSavingsPlansPurchaseRecommendationGenerationRequestFilterSensitiveLog,
31
+ outputFilterSensitiveLog: ListSavingsPlansPurchaseRecommendationGenerationResponseFilterSensitiveLog,
32
+ };
33
+ const { requestHandler } = configuration;
34
+ return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);
35
+ }
36
+ serialize(input, context) {
37
+ return serializeAws_json1_1ListSavingsPlansPurchaseRecommendationGenerationCommand(input, context);
38
+ }
39
+ deserialize(output, context) {
40
+ return deserializeAws_json1_1ListSavingsPlansPurchaseRecommendationGenerationCommand(output, context);
41
+ }
42
+ }
@@ -0,0 +1,42 @@
1
+ import { getEndpointPlugin } from "@aws-sdk/middleware-endpoint";
2
+ import { getSerdePlugin } from "@aws-sdk/middleware-serde";
3
+ import { Command as $Command } from "@aws-sdk/smithy-client";
4
+ import { StartSavingsPlansPurchaseRecommendationGenerationRequestFilterSensitiveLog, StartSavingsPlansPurchaseRecommendationGenerationResponseFilterSensitiveLog, } from "../models/models_0";
5
+ import { deserializeAws_json1_1StartSavingsPlansPurchaseRecommendationGenerationCommand, serializeAws_json1_1StartSavingsPlansPurchaseRecommendationGenerationCommand, } from "../protocols/Aws_json1_1";
6
+ export class StartSavingsPlansPurchaseRecommendationGenerationCommand extends $Command {
7
+ constructor(input) {
8
+ super();
9
+ this.input = input;
10
+ }
11
+ static getEndpointParameterInstructions() {
12
+ return {
13
+ UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
14
+ Endpoint: { type: "builtInParams", name: "endpoint" },
15
+ Region: { type: "builtInParams", name: "region" },
16
+ UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" },
17
+ };
18
+ }
19
+ resolveMiddleware(clientStack, configuration, options) {
20
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
21
+ this.middlewareStack.use(getEndpointPlugin(configuration, StartSavingsPlansPurchaseRecommendationGenerationCommand.getEndpointParameterInstructions()));
22
+ const stack = clientStack.concat(this.middlewareStack);
23
+ const { logger } = configuration;
24
+ const clientName = "CostExplorerClient";
25
+ const commandName = "StartSavingsPlansPurchaseRecommendationGenerationCommand";
26
+ const handlerExecutionContext = {
27
+ logger,
28
+ clientName,
29
+ commandName,
30
+ inputFilterSensitiveLog: StartSavingsPlansPurchaseRecommendationGenerationRequestFilterSensitiveLog,
31
+ outputFilterSensitiveLog: StartSavingsPlansPurchaseRecommendationGenerationResponseFilterSensitiveLog,
32
+ };
33
+ const { requestHandler } = configuration;
34
+ return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);
35
+ }
36
+ serialize(input, context) {
37
+ return serializeAws_json1_1StartSavingsPlansPurchaseRecommendationGenerationCommand(input, context);
38
+ }
39
+ deserialize(output, context) {
40
+ return deserializeAws_json1_1StartSavingsPlansPurchaseRecommendationGenerationCommand(output, context);
41
+ }
42
+ }
@@ -25,8 +25,10 @@ export * from "./GetTagsCommand";
25
25
  export * from "./GetUsageForecastCommand";
26
26
  export * from "./ListCostAllocationTagsCommand";
27
27
  export * from "./ListCostCategoryDefinitionsCommand";
28
+ export * from "./ListSavingsPlansPurchaseRecommendationGenerationCommand";
28
29
  export * from "./ListTagsForResourceCommand";
29
30
  export * from "./ProvideAnomalyFeedbackCommand";
31
+ export * from "./StartSavingsPlansPurchaseRecommendationGenerationCommand";
30
32
  export * from "./TagResourceCommand";
31
33
  export * from "./UntagResourceCommand";
32
34
  export * from "./UpdateAnomalyMonitorCommand";
@@ -3,7 +3,7 @@ export const ruleSet = {
3
3
  parameters: {
4
4
  Region: {
5
5
  builtIn: "AWS::Region",
6
- required: false,
6
+ required: true,
7
7
  documentation: "The AWS region used to dispatch the request.",
8
8
  type: "String",
9
9
  },
@@ -53,15 +53,6 @@ export const ruleSet = {
53
53
  },
54
54
  ],
55
55
  },
56
- {
57
- fn: "parseURL",
58
- argv: [
59
- {
60
- ref: "Endpoint",
61
- },
62
- ],
63
- assign: "url",
64
- },
65
56
  ],
66
57
  type: "tree",
67
58
  rules: [
@@ -200,8 +191,8 @@ export const ruleSet = {
200
191
  authSchemes: [
201
192
  {
202
193
  name: "sigv4",
203
- signingName: "ce",
204
194
  signingRegion: "us-east-1",
195
+ signingName: "ce",
205
196
  },
206
197
  ],
207
198
  },
@@ -260,8 +251,8 @@ export const ruleSet = {
260
251
  authSchemes: [
261
252
  {
262
253
  name: "sigv4",
263
- signingName: "ce",
264
254
  signingRegion: "us-east-1",
255
+ signingName: "ce",
265
256
  },
266
257
  ],
267
258
  },
@@ -320,8 +311,8 @@ export const ruleSet = {
320
311
  authSchemes: [
321
312
  {
322
313
  name: "sigv4",
323
- signingName: "ce",
324
314
  signingRegion: "us-east-1",
315
+ signingName: "ce",
325
316
  },
326
317
  ],
327
318
  },
@@ -346,8 +337,8 @@ export const ruleSet = {
346
337
  authSchemes: [
347
338
  {
348
339
  name: "sigv4",
349
- signingName: "ce",
350
340
  signingRegion: "us-east-1",
341
+ signingName: "ce",
351
342
  },
352
343
  ],
353
344
  },
@@ -443,8 +434,8 @@ export const ruleSet = {
443
434
  authSchemes: [
444
435
  {
445
436
  name: "sigv4",
446
- signingName: "ce",
447
437
  signingRegion: "cn-northwest-1",
438
+ signingName: "ce",
448
439
  },
449
440
  ],
450
441
  },
@@ -503,8 +494,8 @@ export const ruleSet = {
503
494
  authSchemes: [
504
495
  {
505
496
  name: "sigv4",
506
- signingName: "ce",
507
497
  signingRegion: "cn-northwest-1",
498
+ signingName: "ce",
508
499
  },
509
500
  ],
510
501
  },
@@ -563,8 +554,8 @@ export const ruleSet = {
563
554
  authSchemes: [
564
555
  {
565
556
  name: "sigv4",
566
- signingName: "ce",
567
557
  signingRegion: "cn-northwest-1",
558
+ signingName: "ce",
568
559
  },
569
560
  ],
570
561
  },
@@ -589,8 +580,8 @@ export const ruleSet = {
589
580
  authSchemes: [
590
581
  {
591
582
  name: "sigv4",
592
- signingName: "ce",
593
583
  signingRegion: "cn-northwest-1",
584
+ signingName: "ce",
594
585
  },
595
586
  ],
596
587
  },
@@ -808,8 +799,8 @@ export const ruleSet = {
808
799
  authSchemes: [
809
800
  {
810
801
  name: "sigv4",
811
- signingName: "ce",
812
802
  signingRegion: "us-east-1",
803
+ signingName: "ce",
813
804
  },
814
805
  ],
815
806
  },
@@ -835,8 +826,8 @@ export const ruleSet = {
835
826
  authSchemes: [
836
827
  {
837
828
  name: "sigv4",
838
- signingName: "ce",
839
829
  signingRegion: "cn-northwest-1",
830
+ signingName: "ce",
840
831
  },
841
832
  ],
842
833
  },
@@ -371,6 +371,25 @@ export var CostAllocationTagType;
371
371
  CostAllocationTagType["AWS_GENERATED"] = "AWSGenerated";
372
372
  CostAllocationTagType["USER_DEFINED"] = "UserDefined";
373
373
  })(CostAllocationTagType || (CostAllocationTagType = {}));
374
+ export var GenerationStatus;
375
+ (function (GenerationStatus) {
376
+ GenerationStatus["FAILED"] = "FAILED";
377
+ GenerationStatus["PROCESSING"] = "PROCESSING";
378
+ GenerationStatus["SUCCEEDED"] = "SUCCEEDED";
379
+ })(GenerationStatus || (GenerationStatus = {}));
380
+ export class GenerationExistsException extends __BaseException {
381
+ constructor(opts) {
382
+ super({
383
+ name: "GenerationExistsException",
384
+ $fault: "client",
385
+ ...opts,
386
+ });
387
+ this.name = "GenerationExistsException";
388
+ this.$fault = "client";
389
+ Object.setPrototypeOf(this, GenerationExistsException.prototype);
390
+ this.Message = opts.Message;
391
+ }
392
+ }
374
393
  export class TooManyTagsException extends __BaseException {
375
394
  constructor(opts) {
376
395
  super({
@@ -715,6 +734,15 @@ export const CostCategoryReferenceFilterSensitiveLog = (obj) => ({
715
734
  export const ListCostCategoryDefinitionsResponseFilterSensitiveLog = (obj) => ({
716
735
  ...obj,
717
736
  });
737
+ export const ListSavingsPlansPurchaseRecommendationGenerationRequestFilterSensitiveLog = (obj) => ({
738
+ ...obj,
739
+ });
740
+ export const GenerationSummaryFilterSensitiveLog = (obj) => ({
741
+ ...obj,
742
+ });
743
+ export const ListSavingsPlansPurchaseRecommendationGenerationResponseFilterSensitiveLog = (obj) => ({
744
+ ...obj,
745
+ });
718
746
  export const ListTagsForResourceRequestFilterSensitiveLog = (obj) => ({
719
747
  ...obj,
720
748
  });
@@ -727,6 +755,12 @@ export const ProvideAnomalyFeedbackRequestFilterSensitiveLog = (obj) => ({
727
755
  export const ProvideAnomalyFeedbackResponseFilterSensitiveLog = (obj) => ({
728
756
  ...obj,
729
757
  });
758
+ export const StartSavingsPlansPurchaseRecommendationGenerationRequestFilterSensitiveLog = (obj) => ({
759
+ ...obj,
760
+ });
761
+ export const StartSavingsPlansPurchaseRecommendationGenerationResponseFilterSensitiveLog = (obj) => ({
762
+ ...obj,
763
+ });
730
764
  export const TagResourceRequestFilterSensitiveLog = (obj) => ({
731
765
  ...obj,
732
766
  });