@aws-sdk/client-cost-explorer 3.693.0 → 3.698.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 (26) hide show
  1. package/README.md +24 -0
  2. package/dist-cjs/index.js +301 -36
  3. package/dist-es/CostExplorer.js +6 -0
  4. package/dist-es/commands/GetCommitmentPurchaseAnalysisCommand.js +22 -0
  5. package/dist-es/commands/ListCommitmentPurchaseAnalysesCommand.js +22 -0
  6. package/dist-es/commands/StartCommitmentPurchaseAnalysisCommand.js +22 -0
  7. package/dist-es/commands/index.js +3 -0
  8. package/dist-es/models/models_0.js +54 -25
  9. package/dist-es/protocols/Aws_json1_1.js +182 -4
  10. package/dist-types/CostExplorer.d.ts +22 -0
  11. package/dist-types/CostExplorerClient.d.ts +5 -2
  12. package/dist-types/commands/GetCommitmentPurchaseAnalysisCommand.d.ts +146 -0
  13. package/dist-types/commands/ListCommitmentPurchaseAnalysesCommand.d.ts +121 -0
  14. package/dist-types/commands/StartCommitmentPurchaseAnalysisCommand.d.ts +113 -0
  15. package/dist-types/commands/index.d.ts +3 -0
  16. package/dist-types/models/models_0.d.ts +609 -112
  17. package/dist-types/protocols/Aws_json1_1.d.ts +27 -0
  18. package/dist-types/ts3.4/CostExplorer.d.ts +52 -0
  19. package/dist-types/ts3.4/CostExplorerClient.d.ts +18 -0
  20. package/dist-types/ts3.4/commands/GetCommitmentPurchaseAnalysisCommand.d.ts +51 -0
  21. package/dist-types/ts3.4/commands/ListCommitmentPurchaseAnalysesCommand.d.ts +51 -0
  22. package/dist-types/ts3.4/commands/StartCommitmentPurchaseAnalysisCommand.d.ts +51 -0
  23. package/dist-types/ts3.4/commands/index.d.ts +3 -0
  24. package/dist-types/ts3.4/models/models_0.d.ts +165 -40
  25. package/dist-types/ts3.4/protocols/Aws_json1_1.d.ts +36 -0
  26. package/package.json +35 -35
@@ -10,6 +10,7 @@ import { GetAnomaliesCommand, } from "./commands/GetAnomaliesCommand";
10
10
  import { GetAnomalyMonitorsCommand, } from "./commands/GetAnomalyMonitorsCommand";
11
11
  import { GetAnomalySubscriptionsCommand, } from "./commands/GetAnomalySubscriptionsCommand";
12
12
  import { GetApproximateUsageRecordsCommand, } from "./commands/GetApproximateUsageRecordsCommand";
13
+ import { GetCommitmentPurchaseAnalysisCommand, } from "./commands/GetCommitmentPurchaseAnalysisCommand";
13
14
  import { GetCostAndUsageCommand, } from "./commands/GetCostAndUsageCommand";
14
15
  import { GetCostAndUsageWithResourcesCommand, } from "./commands/GetCostAndUsageWithResourcesCommand";
15
16
  import { GetCostCategoriesCommand, } from "./commands/GetCostCategoriesCommand";
@@ -26,12 +27,14 @@ import { GetSavingsPlansUtilizationCommand, } from "./commands/GetSavingsPlansUt
26
27
  import { GetSavingsPlansUtilizationDetailsCommand, } from "./commands/GetSavingsPlansUtilizationDetailsCommand";
27
28
  import { GetTagsCommand } from "./commands/GetTagsCommand";
28
29
  import { GetUsageForecastCommand, } from "./commands/GetUsageForecastCommand";
30
+ import { ListCommitmentPurchaseAnalysesCommand, } from "./commands/ListCommitmentPurchaseAnalysesCommand";
29
31
  import { ListCostAllocationTagBackfillHistoryCommand, } from "./commands/ListCostAllocationTagBackfillHistoryCommand";
30
32
  import { ListCostAllocationTagsCommand, } from "./commands/ListCostAllocationTagsCommand";
31
33
  import { ListCostCategoryDefinitionsCommand, } from "./commands/ListCostCategoryDefinitionsCommand";
32
34
  import { ListSavingsPlansPurchaseRecommendationGenerationCommand, } from "./commands/ListSavingsPlansPurchaseRecommendationGenerationCommand";
33
35
  import { ListTagsForResourceCommand, } from "./commands/ListTagsForResourceCommand";
34
36
  import { ProvideAnomalyFeedbackCommand, } from "./commands/ProvideAnomalyFeedbackCommand";
37
+ import { StartCommitmentPurchaseAnalysisCommand, } from "./commands/StartCommitmentPurchaseAnalysisCommand";
35
38
  import { StartCostAllocationTagBackfillCommand, } from "./commands/StartCostAllocationTagBackfillCommand";
36
39
  import { StartSavingsPlansPurchaseRecommendationGenerationCommand, } from "./commands/StartSavingsPlansPurchaseRecommendationGenerationCommand";
37
40
  import { TagResourceCommand } from "./commands/TagResourceCommand";
@@ -53,6 +56,7 @@ const commands = {
53
56
  GetAnomalyMonitorsCommand,
54
57
  GetAnomalySubscriptionsCommand,
55
58
  GetApproximateUsageRecordsCommand,
59
+ GetCommitmentPurchaseAnalysisCommand,
56
60
  GetCostAndUsageCommand,
57
61
  GetCostAndUsageWithResourcesCommand,
58
62
  GetCostCategoriesCommand,
@@ -69,12 +73,14 @@ const commands = {
69
73
  GetSavingsPlansUtilizationDetailsCommand,
70
74
  GetTagsCommand,
71
75
  GetUsageForecastCommand,
76
+ ListCommitmentPurchaseAnalysesCommand,
72
77
  ListCostAllocationTagBackfillHistoryCommand,
73
78
  ListCostAllocationTagsCommand,
74
79
  ListCostCategoryDefinitionsCommand,
75
80
  ListSavingsPlansPurchaseRecommendationGenerationCommand,
76
81
  ListTagsForResourceCommand,
77
82
  ProvideAnomalyFeedbackCommand,
83
+ StartCommitmentPurchaseAnalysisCommand,
78
84
  StartCostAllocationTagBackfillCommand,
79
85
  StartSavingsPlansPurchaseRecommendationGenerationCommand,
80
86
  TagResourceCommand,
@@ -0,0 +1,22 @@
1
+ import { getEndpointPlugin } from "@smithy/middleware-endpoint";
2
+ import { getSerdePlugin } from "@smithy/middleware-serde";
3
+ import { Command as $Command } from "@smithy/smithy-client";
4
+ import { commonParams } from "../endpoint/EndpointParameters";
5
+ import { de_GetCommitmentPurchaseAnalysisCommand, se_GetCommitmentPurchaseAnalysisCommand, } from "../protocols/Aws_json1_1";
6
+ export { $Command };
7
+ export class GetCommitmentPurchaseAnalysisCommand extends $Command
8
+ .classBuilder()
9
+ .ep(commonParams)
10
+ .m(function (Command, cs, config, o) {
11
+ return [
12
+ getSerdePlugin(config, this.serialize, this.deserialize),
13
+ getEndpointPlugin(config, Command.getEndpointParameterInstructions()),
14
+ ];
15
+ })
16
+ .s("AWSInsightsIndexService", "GetCommitmentPurchaseAnalysis", {})
17
+ .n("CostExplorerClient", "GetCommitmentPurchaseAnalysisCommand")
18
+ .f(void 0, void 0)
19
+ .ser(se_GetCommitmentPurchaseAnalysisCommand)
20
+ .de(de_GetCommitmentPurchaseAnalysisCommand)
21
+ .build() {
22
+ }
@@ -0,0 +1,22 @@
1
+ import { getEndpointPlugin } from "@smithy/middleware-endpoint";
2
+ import { getSerdePlugin } from "@smithy/middleware-serde";
3
+ import { Command as $Command } from "@smithy/smithy-client";
4
+ import { commonParams } from "../endpoint/EndpointParameters";
5
+ import { de_ListCommitmentPurchaseAnalysesCommand, se_ListCommitmentPurchaseAnalysesCommand, } from "../protocols/Aws_json1_1";
6
+ export { $Command };
7
+ export class ListCommitmentPurchaseAnalysesCommand extends $Command
8
+ .classBuilder()
9
+ .ep(commonParams)
10
+ .m(function (Command, cs, config, o) {
11
+ return [
12
+ getSerdePlugin(config, this.serialize, this.deserialize),
13
+ getEndpointPlugin(config, Command.getEndpointParameterInstructions()),
14
+ ];
15
+ })
16
+ .s("AWSInsightsIndexService", "ListCommitmentPurchaseAnalyses", {})
17
+ .n("CostExplorerClient", "ListCommitmentPurchaseAnalysesCommand")
18
+ .f(void 0, void 0)
19
+ .ser(se_ListCommitmentPurchaseAnalysesCommand)
20
+ .de(de_ListCommitmentPurchaseAnalysesCommand)
21
+ .build() {
22
+ }
@@ -0,0 +1,22 @@
1
+ import { getEndpointPlugin } from "@smithy/middleware-endpoint";
2
+ import { getSerdePlugin } from "@smithy/middleware-serde";
3
+ import { Command as $Command } from "@smithy/smithy-client";
4
+ import { commonParams } from "../endpoint/EndpointParameters";
5
+ import { de_StartCommitmentPurchaseAnalysisCommand, se_StartCommitmentPurchaseAnalysisCommand, } from "../protocols/Aws_json1_1";
6
+ export { $Command };
7
+ export class StartCommitmentPurchaseAnalysisCommand extends $Command
8
+ .classBuilder()
9
+ .ep(commonParams)
10
+ .m(function (Command, cs, config, o) {
11
+ return [
12
+ getSerdePlugin(config, this.serialize, this.deserialize),
13
+ getEndpointPlugin(config, Command.getEndpointParameterInstructions()),
14
+ ];
15
+ })
16
+ .s("AWSInsightsIndexService", "StartCommitmentPurchaseAnalysis", {})
17
+ .n("CostExplorerClient", "StartCommitmentPurchaseAnalysisCommand")
18
+ .f(void 0, void 0)
19
+ .ser(se_StartCommitmentPurchaseAnalysisCommand)
20
+ .de(de_StartCommitmentPurchaseAnalysisCommand)
21
+ .build() {
22
+ }
@@ -9,6 +9,7 @@ export * from "./GetAnomaliesCommand";
9
9
  export * from "./GetAnomalyMonitorsCommand";
10
10
  export * from "./GetAnomalySubscriptionsCommand";
11
11
  export * from "./GetApproximateUsageRecordsCommand";
12
+ export * from "./GetCommitmentPurchaseAnalysisCommand";
12
13
  export * from "./GetCostAndUsageCommand";
13
14
  export * from "./GetCostAndUsageWithResourcesCommand";
14
15
  export * from "./GetCostCategoriesCommand";
@@ -25,12 +26,14 @@ export * from "./GetSavingsPlansUtilizationCommand";
25
26
  export * from "./GetSavingsPlansUtilizationDetailsCommand";
26
27
  export * from "./GetTagsCommand";
27
28
  export * from "./GetUsageForecastCommand";
29
+ export * from "./ListCommitmentPurchaseAnalysesCommand";
28
30
  export * from "./ListCostAllocationTagBackfillHistoryCommand";
29
31
  export * from "./ListCostAllocationTagsCommand";
30
32
  export * from "./ListCostCategoryDefinitionsCommand";
31
33
  export * from "./ListSavingsPlansPurchaseRecommendationGenerationCommand";
32
34
  export * from "./ListTagsForResourceCommand";
33
35
  export * from "./ProvideAnomalyFeedbackCommand";
36
+ export * from "./StartCommitmentPurchaseAnalysisCommand";
34
37
  export * from "./StartCostAllocationTagBackfillCommand";
35
38
  export * from "./StartSavingsPlansPurchaseRecommendationGenerationCommand";
36
39
  export * from "./TagResourceCommand";
@@ -3,6 +3,52 @@ export const AccountScope = {
3
3
  LINKED: "LINKED",
4
4
  PAYER: "PAYER",
5
5
  };
6
+ export class AnalysisNotFoundException extends __BaseException {
7
+ constructor(opts) {
8
+ super({
9
+ name: "AnalysisNotFoundException",
10
+ $fault: "client",
11
+ ...opts,
12
+ });
13
+ this.name = "AnalysisNotFoundException";
14
+ this.$fault = "client";
15
+ Object.setPrototypeOf(this, AnalysisNotFoundException.prototype);
16
+ this.Message = opts.Message;
17
+ }
18
+ }
19
+ export const AnalysisStatus = {
20
+ FAILED: "FAILED",
21
+ PROCESSING: "PROCESSING",
22
+ SUCCEEDED: "SUCCEEDED",
23
+ };
24
+ export const AnalysisType = {
25
+ CUSTOM_COMMITMENT: "CUSTOM_COMMITMENT",
26
+ MAX_SAVINGS: "MAX_SAVINGS",
27
+ };
28
+ export const PaymentOption = {
29
+ ALL_UPFRONT: "ALL_UPFRONT",
30
+ HEAVY_UTILIZATION: "HEAVY_UTILIZATION",
31
+ LIGHT_UTILIZATION: "LIGHT_UTILIZATION",
32
+ MEDIUM_UTILIZATION: "MEDIUM_UTILIZATION",
33
+ NO_UPFRONT: "NO_UPFRONT",
34
+ PARTIAL_UPFRONT: "PARTIAL_UPFRONT",
35
+ };
36
+ export const SupportedSavingsPlansType = {
37
+ COMPUTE_SP: "COMPUTE_SP",
38
+ EC2_INSTANCE_SP: "EC2_INSTANCE_SP",
39
+ SAGEMAKER_SP: "SAGEMAKER_SP",
40
+ };
41
+ export const TermInYears = {
42
+ ONE_YEAR: "ONE_YEAR",
43
+ THREE_YEARS: "THREE_YEARS",
44
+ };
45
+ export const ErrorCode = {
46
+ INTERNAL_FAILURE: "INTERNAL_FAILURE",
47
+ INVALID_ACCOUNT_ID: "INVALID_ACCOUNT_ID",
48
+ INVALID_SAVINGS_PLANS_TO_ADD: "INVALID_SAVINGS_PLANS_TO_ADD",
49
+ INVALID_SAVINGS_PLANS_TO_EXCLUDE: "INVALID_SAVINGS_PLANS_TO_EXCLUDE",
50
+ NO_USAGE_FOUND: "NO_USAGE_FOUND",
51
+ };
6
52
  export const AnomalyFeedbackType = {
7
53
  NO: "NO",
8
54
  PLANNED_ACTIVITY: "PLANNED_ACTIVITY",
@@ -263,22 +309,10 @@ export const LookbackPeriodInDays = {
263
309
  SIXTY_DAYS: "SIXTY_DAYS",
264
310
  THIRTY_DAYS: "THIRTY_DAYS",
265
311
  };
266
- export const PaymentOption = {
267
- ALL_UPFRONT: "ALL_UPFRONT",
268
- HEAVY_UTILIZATION: "HEAVY_UTILIZATION",
269
- LIGHT_UTILIZATION: "LIGHT_UTILIZATION",
270
- MEDIUM_UTILIZATION: "MEDIUM_UTILIZATION",
271
- NO_UPFRONT: "NO_UPFRONT",
272
- PARTIAL_UPFRONT: "PARTIAL_UPFRONT",
273
- };
274
312
  export const OfferingClass = {
275
313
  CONVERTIBLE: "CONVERTIBLE",
276
314
  STANDARD: "STANDARD",
277
315
  };
278
- export const TermInYears = {
279
- ONE_YEAR: "ONE_YEAR",
280
- THREE_YEARS: "THREE_YEARS",
281
- };
282
316
  export const RecommendationTarget = {
283
317
  CROSS_INSTANCE_FAMILY: "CROSS_INSTANCE_FAMILY",
284
318
  SAME_INSTANCE_FAMILY: "SAME_INSTANCE_FAMILY",
@@ -312,11 +346,6 @@ export const RightsizingType = {
312
346
  MODIFY: "MODIFY",
313
347
  TERMINATE: "TERMINATE",
314
348
  };
315
- export const SupportedSavingsPlansType = {
316
- COMPUTE_SP: "COMPUTE_SP",
317
- EC2_INSTANCE_SP: "EC2_INSTANCE_SP",
318
- SAGEMAKER_SP: "SAGEMAKER_SP",
319
- };
320
349
  export const SavingsPlansDataType = {
321
350
  AMORTIZED_COMMITMENT: "AMORTIZED_COMMITMENT",
322
351
  ATTRIBUTES: "ATTRIBUTES",
@@ -354,29 +383,29 @@ export const GenerationStatus = {
354
383
  PROCESSING: "PROCESSING",
355
384
  SUCCEEDED: "SUCCEEDED",
356
385
  };
357
- export class BackfillLimitExceededException extends __BaseException {
386
+ export class GenerationExistsException extends __BaseException {
358
387
  constructor(opts) {
359
388
  super({
360
- name: "BackfillLimitExceededException",
389
+ name: "GenerationExistsException",
361
390
  $fault: "client",
362
391
  ...opts,
363
392
  });
364
- this.name = "BackfillLimitExceededException";
393
+ this.name = "GenerationExistsException";
365
394
  this.$fault = "client";
366
- Object.setPrototypeOf(this, BackfillLimitExceededException.prototype);
395
+ Object.setPrototypeOf(this, GenerationExistsException.prototype);
367
396
  this.Message = opts.Message;
368
397
  }
369
398
  }
370
- export class GenerationExistsException extends __BaseException {
399
+ export class BackfillLimitExceededException extends __BaseException {
371
400
  constructor(opts) {
372
401
  super({
373
- name: "GenerationExistsException",
402
+ name: "BackfillLimitExceededException",
374
403
  $fault: "client",
375
404
  ...opts,
376
405
  });
377
- this.name = "GenerationExistsException";
406
+ this.name = "BackfillLimitExceededException";
378
407
  this.$fault = "client";
379
- Object.setPrototypeOf(this, GenerationExistsException.prototype);
408
+ Object.setPrototypeOf(this, BackfillLimitExceededException.prototype);
380
409
  this.Message = opts.Message;
381
410
  }
382
411
  }
@@ -2,7 +2,7 @@ import { loadRestJsonErrorCode, parseJsonBody as parseBody, parseJsonErrorBody a
2
2
  import { HttpRequest as __HttpRequest } from "@smithy/protocol-http";
3
3
  import { _json, collectBody, decorateServiceException as __decorateServiceException, expectInt32 as __expectInt32, expectString as __expectString, limitedParseDouble as __limitedParseDouble, serializeFloat as __serializeFloat, take, withBaseException, } from "@smithy/smithy-client";
4
4
  import { CostExplorerServiceException as __BaseException } from "../models/CostExplorerServiceException";
5
- import { BackfillLimitExceededException, BillExpirationException, DataUnavailableException, GenerationExistsException, InvalidNextTokenException, LimitExceededException, RequestChangedException, ResourceNotFoundException, ServiceQuotaExceededException, TooManyTagsException, UnknownMonitorException, UnknownSubscriptionException, UnresolvableUsageUnitException, } from "../models/models_0";
5
+ import { AnalysisNotFoundException, BackfillLimitExceededException, BillExpirationException, DataUnavailableException, GenerationExistsException, InvalidNextTokenException, LimitExceededException, RequestChangedException, ResourceNotFoundException, ServiceQuotaExceededException, TooManyTagsException, UnknownMonitorException, UnknownSubscriptionException, UnresolvableUsageUnitException, } from "../models/models_0";
6
6
  export const se_CreateAnomalyMonitorCommand = async (input, context) => {
7
7
  const headers = sharedHeaders("CreateAnomalyMonitor");
8
8
  let body;
@@ -69,6 +69,12 @@ export const se_GetApproximateUsageRecordsCommand = async (input, context) => {
69
69
  body = JSON.stringify(_json(input));
70
70
  return buildHttpRpcRequest(context, headers, "/", undefined, body);
71
71
  };
72
+ export const se_GetCommitmentPurchaseAnalysisCommand = async (input, context) => {
73
+ const headers = sharedHeaders("GetCommitmentPurchaseAnalysis");
74
+ let body;
75
+ body = JSON.stringify(_json(input));
76
+ return buildHttpRpcRequest(context, headers, "/", undefined, body);
77
+ };
72
78
  export const se_GetCostAndUsageCommand = async (input, context) => {
73
79
  const headers = sharedHeaders("GetCostAndUsage");
74
80
  let body;
@@ -165,6 +171,12 @@ export const se_GetUsageForecastCommand = async (input, context) => {
165
171
  body = JSON.stringify(se_GetUsageForecastRequest(input, context));
166
172
  return buildHttpRpcRequest(context, headers, "/", undefined, body);
167
173
  };
174
+ export const se_ListCommitmentPurchaseAnalysesCommand = async (input, context) => {
175
+ const headers = sharedHeaders("ListCommitmentPurchaseAnalyses");
176
+ let body;
177
+ body = JSON.stringify(_json(input));
178
+ return buildHttpRpcRequest(context, headers, "/", undefined, body);
179
+ };
168
180
  export const se_ListCostAllocationTagBackfillHistoryCommand = async (input, context) => {
169
181
  const headers = sharedHeaders("ListCostAllocationTagBackfillHistory");
170
182
  let body;
@@ -201,6 +213,12 @@ export const se_ProvideAnomalyFeedbackCommand = async (input, context) => {
201
213
  body = JSON.stringify(_json(input));
202
214
  return buildHttpRpcRequest(context, headers, "/", undefined, body);
203
215
  };
216
+ export const se_StartCommitmentPurchaseAnalysisCommand = async (input, context) => {
217
+ const headers = sharedHeaders("StartCommitmentPurchaseAnalysis");
218
+ let body;
219
+ body = JSON.stringify(se_StartCommitmentPurchaseAnalysisRequest(input, context));
220
+ return buildHttpRpcRequest(context, headers, "/", undefined, body);
221
+ };
204
222
  export const se_StartCostAllocationTagBackfillCommand = async (input, context) => {
205
223
  const headers = sharedHeaders("StartCostAllocationTagBackfill");
206
224
  let body;
@@ -392,6 +410,19 @@ export const de_GetApproximateUsageRecordsCommand = async (output, context) => {
392
410
  };
393
411
  return response;
394
412
  };
413
+ export const de_GetCommitmentPurchaseAnalysisCommand = async (output, context) => {
414
+ if (output.statusCode >= 300) {
415
+ return de_CommandError(output, context);
416
+ }
417
+ const data = await parseBody(output.body, context);
418
+ let contents = {};
419
+ contents = de_GetCommitmentPurchaseAnalysisResponse(data, context);
420
+ const response = {
421
+ $metadata: deserializeMetadata(output),
422
+ ...contents,
423
+ };
424
+ return response;
425
+ };
395
426
  export const de_GetCostAndUsageCommand = async (output, context) => {
396
427
  if (output.statusCode >= 300) {
397
428
  return de_CommandError(output, context);
@@ -600,6 +631,19 @@ export const de_GetUsageForecastCommand = async (output, context) => {
600
631
  };
601
632
  return response;
602
633
  };
634
+ export const de_ListCommitmentPurchaseAnalysesCommand = async (output, context) => {
635
+ if (output.statusCode >= 300) {
636
+ return de_CommandError(output, context);
637
+ }
638
+ const data = await parseBody(output.body, context);
639
+ let contents = {};
640
+ contents = de_ListCommitmentPurchaseAnalysesResponse(data, context);
641
+ const response = {
642
+ $metadata: deserializeMetadata(output),
643
+ ...contents,
644
+ };
645
+ return response;
646
+ };
603
647
  export const de_ListCostAllocationTagBackfillHistoryCommand = async (output, context) => {
604
648
  if (output.statusCode >= 300) {
605
649
  return de_CommandError(output, context);
@@ -678,6 +722,19 @@ export const de_ProvideAnomalyFeedbackCommand = async (output, context) => {
678
722
  };
679
723
  return response;
680
724
  };
725
+ export const de_StartCommitmentPurchaseAnalysisCommand = async (output, context) => {
726
+ if (output.statusCode >= 300) {
727
+ return de_CommandError(output, context);
728
+ }
729
+ const data = await parseBody(output.body, context);
730
+ let contents = {};
731
+ contents = _json(data);
732
+ const response = {
733
+ $metadata: deserializeMetadata(output),
734
+ ...contents,
735
+ };
736
+ return response;
737
+ };
681
738
  export const de_StartCostAllocationTagBackfillCommand = async (output, context) => {
682
739
  if (output.statusCode >= 300) {
683
740
  return de_CommandError(output, context);
@@ -810,6 +867,9 @@ const de_CommandError = async (output, context) => {
810
867
  case "DataUnavailableException":
811
868
  case "com.amazonaws.costexplorer#DataUnavailableException":
812
869
  throw await de_DataUnavailableExceptionRes(parsedOutput, context);
870
+ case "AnalysisNotFoundException":
871
+ case "com.amazonaws.costexplorer#AnalysisNotFoundException":
872
+ throw await de_AnalysisNotFoundExceptionRes(parsedOutput, context);
813
873
  case "BillExpirationException":
814
874
  case "com.amazonaws.costexplorer#BillExpirationException":
815
875
  throw await de_BillExpirationExceptionRes(parsedOutput, context);
@@ -819,12 +879,12 @@ const de_CommandError = async (output, context) => {
819
879
  case "UnresolvableUsageUnitException":
820
880
  case "com.amazonaws.costexplorer#UnresolvableUsageUnitException":
821
881
  throw await de_UnresolvableUsageUnitExceptionRes(parsedOutput, context);
822
- case "BackfillLimitExceededException":
823
- case "com.amazonaws.costexplorer#BackfillLimitExceededException":
824
- throw await de_BackfillLimitExceededExceptionRes(parsedOutput, context);
825
882
  case "GenerationExistsException":
826
883
  case "com.amazonaws.costexplorer#GenerationExistsException":
827
884
  throw await de_GenerationExistsExceptionRes(parsedOutput, context);
885
+ case "BackfillLimitExceededException":
886
+ case "com.amazonaws.costexplorer#BackfillLimitExceededException":
887
+ throw await de_BackfillLimitExceededExceptionRes(parsedOutput, context);
828
888
  case "TooManyTagsException":
829
889
  case "com.amazonaws.costexplorer#TooManyTagsException":
830
890
  throw await de_TooManyTagsExceptionRes(parsedOutput, context);
@@ -837,6 +897,15 @@ const de_CommandError = async (output, context) => {
837
897
  });
838
898
  }
839
899
  };
900
+ const de_AnalysisNotFoundExceptionRes = async (parsedOutput, context) => {
901
+ const body = parsedOutput.body;
902
+ const deserialized = _json(body);
903
+ const exception = new AnalysisNotFoundException({
904
+ $metadata: deserializeMetadata(parsedOutput),
905
+ ...deserialized,
906
+ });
907
+ return __decorateServiceException(exception, body);
908
+ };
840
909
  const de_BackfillLimitExceededExceptionRes = async (parsedOutput, context) => {
841
910
  const body = parsedOutput.body;
842
911
  const deserialized = _json(body);
@@ -979,6 +1048,11 @@ const se_AnomalySubscription = (input, context) => {
979
1048
  ThresholdExpression: (_) => se_Expression(_, context),
980
1049
  });
981
1050
  };
1051
+ const se_CommitmentPurchaseAnalysisConfiguration = (input, context) => {
1052
+ return take(input, {
1053
+ SavingsPlansPurchaseAnalysisConfiguration: (_) => se_SavingsPlansPurchaseAnalysisConfiguration(_, context),
1054
+ });
1055
+ };
982
1056
  const se_CostCategoryRule = (input, context) => {
983
1057
  return take(input, {
984
1058
  InheritedValue: _json,
@@ -1204,6 +1278,39 @@ const se_GetUsageForecastRequest = (input, context) => {
1204
1278
  TimePeriod: _json,
1205
1279
  });
1206
1280
  };
1281
+ const se_SavingsPlans = (input, context) => {
1282
+ return take(input, {
1283
+ InstanceFamily: [],
1284
+ OfferingId: [],
1285
+ PaymentOption: [],
1286
+ Region: [],
1287
+ SavingsPlansCommitment: __serializeFloat,
1288
+ SavingsPlansType: [],
1289
+ TermInYears: [],
1290
+ });
1291
+ };
1292
+ const se_SavingsPlansPurchaseAnalysisConfiguration = (input, context) => {
1293
+ return take(input, {
1294
+ AccountId: [],
1295
+ AccountScope: [],
1296
+ AnalysisType: [],
1297
+ LookBackTimePeriod: _json,
1298
+ SavingsPlansToAdd: (_) => se_SavingsPlansToAdd(_, context),
1299
+ SavingsPlansToExclude: _json,
1300
+ });
1301
+ };
1302
+ const se_SavingsPlansToAdd = (input, context) => {
1303
+ return input
1304
+ .filter((e) => e != null)
1305
+ .map((entry) => {
1306
+ return se_SavingsPlans(entry, context);
1307
+ });
1308
+ };
1309
+ const se_StartCommitmentPurchaseAnalysisRequest = (input, context) => {
1310
+ return take(input, {
1311
+ CommitmentPurchaseAnalysisConfiguration: (_) => se_CommitmentPurchaseAnalysisConfiguration(_, context),
1312
+ });
1313
+ };
1207
1314
  const se_TotalImpactFilter = (input, context) => {
1208
1315
  return take(input, {
1209
1316
  EndValue: __serializeFloat,
@@ -1232,6 +1339,25 @@ const se_UpdateCostCategoryDefinitionRequest = (input, context) => {
1232
1339
  SplitChargeRules: _json,
1233
1340
  });
1234
1341
  };
1342
+ const de_AnalysisSummary = (output, context) => {
1343
+ return take(output, {
1344
+ AnalysisCompletionTime: __expectString,
1345
+ AnalysisId: __expectString,
1346
+ AnalysisStartedTime: __expectString,
1347
+ AnalysisStatus: __expectString,
1348
+ CommitmentPurchaseAnalysisConfiguration: (_) => de_CommitmentPurchaseAnalysisConfiguration(_, context),
1349
+ ErrorCode: __expectString,
1350
+ EstimatedCompletionTime: __expectString,
1351
+ });
1352
+ };
1353
+ const de_AnalysisSummaryList = (output, context) => {
1354
+ const retVal = (output || [])
1355
+ .filter((e) => e != null)
1356
+ .map((entry) => {
1357
+ return de_AnalysisSummary(entry, context);
1358
+ });
1359
+ return retVal;
1360
+ };
1235
1361
  const de_Anomalies = (output, context) => {
1236
1362
  const retVal = (output || [])
1237
1363
  .filter((e) => e != null)
@@ -1300,6 +1426,11 @@ const de_AnomalySubscriptions = (output, context) => {
1300
1426
  });
1301
1427
  return retVal;
1302
1428
  };
1429
+ const de_CommitmentPurchaseAnalysisConfiguration = (output, context) => {
1430
+ return take(output, {
1431
+ SavingsPlansPurchaseAnalysisConfiguration: (_) => de_SavingsPlansPurchaseAnalysisConfiguration(_, context),
1432
+ });
1433
+ };
1303
1434
  const de_CostCategory = (output, context) => {
1304
1435
  return take(output, {
1305
1436
  CostCategoryArn: __expectString,
@@ -1370,6 +1501,18 @@ const de_GetAnomalySubscriptionsResponse = (output, context) => {
1370
1501
  NextPageToken: __expectString,
1371
1502
  });
1372
1503
  };
1504
+ const de_GetCommitmentPurchaseAnalysisResponse = (output, context) => {
1505
+ return take(output, {
1506
+ AnalysisCompletionTime: __expectString,
1507
+ AnalysisDetails: _json,
1508
+ AnalysisId: __expectString,
1509
+ AnalysisStartedTime: __expectString,
1510
+ AnalysisStatus: __expectString,
1511
+ CommitmentPurchaseAnalysisConfiguration: (_) => de_CommitmentPurchaseAnalysisConfiguration(_, context),
1512
+ ErrorCode: __expectString,
1513
+ EstimatedCompletionTime: __expectString,
1514
+ });
1515
+ };
1373
1516
  const de_Impact = (output, context) => {
1374
1517
  return take(output, {
1375
1518
  MaxImpact: __limitedParseDouble,
@@ -1379,6 +1522,41 @@ const de_Impact = (output, context) => {
1379
1522
  TotalImpactPercentage: __limitedParseDouble,
1380
1523
  });
1381
1524
  };
1525
+ const de_ListCommitmentPurchaseAnalysesResponse = (output, context) => {
1526
+ return take(output, {
1527
+ AnalysisSummaryList: (_) => de_AnalysisSummaryList(_, context),
1528
+ NextPageToken: __expectString,
1529
+ });
1530
+ };
1531
+ const de_SavingsPlans = (output, context) => {
1532
+ return take(output, {
1533
+ InstanceFamily: __expectString,
1534
+ OfferingId: __expectString,
1535
+ PaymentOption: __expectString,
1536
+ Region: __expectString,
1537
+ SavingsPlansCommitment: __limitedParseDouble,
1538
+ SavingsPlansType: __expectString,
1539
+ TermInYears: __expectString,
1540
+ });
1541
+ };
1542
+ const de_SavingsPlansPurchaseAnalysisConfiguration = (output, context) => {
1543
+ return take(output, {
1544
+ AccountId: __expectString,
1545
+ AccountScope: __expectString,
1546
+ AnalysisType: __expectString,
1547
+ LookBackTimePeriod: _json,
1548
+ SavingsPlansToAdd: (_) => de_SavingsPlansToAdd(_, context),
1549
+ SavingsPlansToExclude: _json,
1550
+ });
1551
+ };
1552
+ const de_SavingsPlansToAdd = (output, context) => {
1553
+ const retVal = (output || [])
1554
+ .filter((e) => e != null)
1555
+ .map((entry) => {
1556
+ return de_SavingsPlans(entry, context);
1557
+ });
1558
+ return retVal;
1559
+ };
1382
1560
  const deserializeMetadata = (output) => ({
1383
1561
  httpStatusCode: output.statusCode,
1384
1562
  requestId: output.headers["x-amzn-requestid"] ?? output.headers["x-amzn-request-id"] ?? output.headers["x-amz-request-id"],
@@ -10,6 +10,7 @@ import { GetAnomaliesCommandInput, GetAnomaliesCommandOutput } from "./commands/
10
10
  import { GetAnomalyMonitorsCommandInput, GetAnomalyMonitorsCommandOutput } from "./commands/GetAnomalyMonitorsCommand";
11
11
  import { GetAnomalySubscriptionsCommandInput, GetAnomalySubscriptionsCommandOutput } from "./commands/GetAnomalySubscriptionsCommand";
12
12
  import { GetApproximateUsageRecordsCommandInput, GetApproximateUsageRecordsCommandOutput } from "./commands/GetApproximateUsageRecordsCommand";
13
+ import { GetCommitmentPurchaseAnalysisCommandInput, GetCommitmentPurchaseAnalysisCommandOutput } from "./commands/GetCommitmentPurchaseAnalysisCommand";
13
14
  import { GetCostAndUsageCommandInput, GetCostAndUsageCommandOutput } from "./commands/GetCostAndUsageCommand";
14
15
  import { GetCostAndUsageWithResourcesCommandInput, GetCostAndUsageWithResourcesCommandOutput } from "./commands/GetCostAndUsageWithResourcesCommand";
15
16
  import { GetCostCategoriesCommandInput, GetCostCategoriesCommandOutput } from "./commands/GetCostCategoriesCommand";
@@ -26,12 +27,14 @@ import { GetSavingsPlansUtilizationCommandInput, GetSavingsPlansUtilizationComma
26
27
  import { GetSavingsPlansUtilizationDetailsCommandInput, GetSavingsPlansUtilizationDetailsCommandOutput } from "./commands/GetSavingsPlansUtilizationDetailsCommand";
27
28
  import { GetTagsCommandInput, GetTagsCommandOutput } from "./commands/GetTagsCommand";
28
29
  import { GetUsageForecastCommandInput, GetUsageForecastCommandOutput } from "./commands/GetUsageForecastCommand";
30
+ import { ListCommitmentPurchaseAnalysesCommandInput, ListCommitmentPurchaseAnalysesCommandOutput } from "./commands/ListCommitmentPurchaseAnalysesCommand";
29
31
  import { ListCostAllocationTagBackfillHistoryCommandInput, ListCostAllocationTagBackfillHistoryCommandOutput } from "./commands/ListCostAllocationTagBackfillHistoryCommand";
30
32
  import { ListCostAllocationTagsCommandInput, ListCostAllocationTagsCommandOutput } from "./commands/ListCostAllocationTagsCommand";
31
33
  import { ListCostCategoryDefinitionsCommandInput, ListCostCategoryDefinitionsCommandOutput } from "./commands/ListCostCategoryDefinitionsCommand";
32
34
  import { ListSavingsPlansPurchaseRecommendationGenerationCommandInput, ListSavingsPlansPurchaseRecommendationGenerationCommandOutput } from "./commands/ListSavingsPlansPurchaseRecommendationGenerationCommand";
33
35
  import { ListTagsForResourceCommandInput, ListTagsForResourceCommandOutput } from "./commands/ListTagsForResourceCommand";
34
36
  import { ProvideAnomalyFeedbackCommandInput, ProvideAnomalyFeedbackCommandOutput } from "./commands/ProvideAnomalyFeedbackCommand";
37
+ import { StartCommitmentPurchaseAnalysisCommandInput, StartCommitmentPurchaseAnalysisCommandOutput } from "./commands/StartCommitmentPurchaseAnalysisCommand";
35
38
  import { StartCostAllocationTagBackfillCommandInput, StartCostAllocationTagBackfillCommandOutput } from "./commands/StartCostAllocationTagBackfillCommand";
36
39
  import { StartSavingsPlansPurchaseRecommendationGenerationCommandInput, StartSavingsPlansPurchaseRecommendationGenerationCommandOutput } from "./commands/StartSavingsPlansPurchaseRecommendationGenerationCommand";
37
40
  import { TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand";
@@ -110,6 +113,12 @@ export interface CostExplorer {
110
113
  getApproximateUsageRecords(args: GetApproximateUsageRecordsCommandInput, options?: __HttpHandlerOptions): Promise<GetApproximateUsageRecordsCommandOutput>;
111
114
  getApproximateUsageRecords(args: GetApproximateUsageRecordsCommandInput, cb: (err: any, data?: GetApproximateUsageRecordsCommandOutput) => void): void;
112
115
  getApproximateUsageRecords(args: GetApproximateUsageRecordsCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: GetApproximateUsageRecordsCommandOutput) => void): void;
116
+ /**
117
+ * @see {@link GetCommitmentPurchaseAnalysisCommand}
118
+ */
119
+ getCommitmentPurchaseAnalysis(args: GetCommitmentPurchaseAnalysisCommandInput, options?: __HttpHandlerOptions): Promise<GetCommitmentPurchaseAnalysisCommandOutput>;
120
+ getCommitmentPurchaseAnalysis(args: GetCommitmentPurchaseAnalysisCommandInput, cb: (err: any, data?: GetCommitmentPurchaseAnalysisCommandOutput) => void): void;
121
+ getCommitmentPurchaseAnalysis(args: GetCommitmentPurchaseAnalysisCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: GetCommitmentPurchaseAnalysisCommandOutput) => void): void;
113
122
  /**
114
123
  * @see {@link GetCostAndUsageCommand}
115
124
  */
@@ -206,6 +215,13 @@ export interface CostExplorer {
206
215
  getUsageForecast(args: GetUsageForecastCommandInput, options?: __HttpHandlerOptions): Promise<GetUsageForecastCommandOutput>;
207
216
  getUsageForecast(args: GetUsageForecastCommandInput, cb: (err: any, data?: GetUsageForecastCommandOutput) => void): void;
208
217
  getUsageForecast(args: GetUsageForecastCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: GetUsageForecastCommandOutput) => void): void;
218
+ /**
219
+ * @see {@link ListCommitmentPurchaseAnalysesCommand}
220
+ */
221
+ listCommitmentPurchaseAnalyses(): Promise<ListCommitmentPurchaseAnalysesCommandOutput>;
222
+ listCommitmentPurchaseAnalyses(args: ListCommitmentPurchaseAnalysesCommandInput, options?: __HttpHandlerOptions): Promise<ListCommitmentPurchaseAnalysesCommandOutput>;
223
+ listCommitmentPurchaseAnalyses(args: ListCommitmentPurchaseAnalysesCommandInput, cb: (err: any, data?: ListCommitmentPurchaseAnalysesCommandOutput) => void): void;
224
+ listCommitmentPurchaseAnalyses(args: ListCommitmentPurchaseAnalysesCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: ListCommitmentPurchaseAnalysesCommandOutput) => void): void;
209
225
  /**
210
226
  * @see {@link ListCostAllocationTagBackfillHistoryCommand}
211
227
  */
@@ -246,6 +262,12 @@ export interface CostExplorer {
246
262
  provideAnomalyFeedback(args: ProvideAnomalyFeedbackCommandInput, options?: __HttpHandlerOptions): Promise<ProvideAnomalyFeedbackCommandOutput>;
247
263
  provideAnomalyFeedback(args: ProvideAnomalyFeedbackCommandInput, cb: (err: any, data?: ProvideAnomalyFeedbackCommandOutput) => void): void;
248
264
  provideAnomalyFeedback(args: ProvideAnomalyFeedbackCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: ProvideAnomalyFeedbackCommandOutput) => void): void;
265
+ /**
266
+ * @see {@link StartCommitmentPurchaseAnalysisCommand}
267
+ */
268
+ startCommitmentPurchaseAnalysis(args: StartCommitmentPurchaseAnalysisCommandInput, options?: __HttpHandlerOptions): Promise<StartCommitmentPurchaseAnalysisCommandOutput>;
269
+ startCommitmentPurchaseAnalysis(args: StartCommitmentPurchaseAnalysisCommandInput, cb: (err: any, data?: StartCommitmentPurchaseAnalysisCommandOutput) => void): void;
270
+ startCommitmentPurchaseAnalysis(args: StartCommitmentPurchaseAnalysisCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: StartCommitmentPurchaseAnalysisCommandOutput) => void): void;
249
271
  /**
250
272
  * @see {@link StartCostAllocationTagBackfillCommand}
251
273
  */