diff --git a/clients/client-bcm-pricing-calculator/.gitignore b/clients/client-bcm-pricing-calculator/.gitignore new file mode 100644 index 000000000000..54f14c9aef25 --- /dev/null +++ b/clients/client-bcm-pricing-calculator/.gitignore @@ -0,0 +1,9 @@ +/node_modules/ +/build/ +/coverage/ +/docs/ +/dist-* +*.tsbuildinfo +*.tgz +*.log +package-lock.json diff --git a/clients/client-bcm-pricing-calculator/LICENSE b/clients/client-bcm-pricing-calculator/LICENSE new file mode 100644 index 000000000000..1349aa7c9923 --- /dev/null +++ b/clients/client-bcm-pricing-calculator/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2018-2024 Amazon.com, Inc. or its affiliates. All Rights Reserved. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/clients/client-bcm-pricing-calculator/README.md b/clients/client-bcm-pricing-calculator/README.md new file mode 100644 index 000000000000..0e788488780d --- /dev/null +++ b/clients/client-bcm-pricing-calculator/README.md @@ -0,0 +1,504 @@ + + +# @aws-sdk/client-bcm-pricing-calculator + +## Description + +AWS SDK for JavaScript BCMPricingCalculator Client for Node.js, Browser and React Native. + +
+You can use the Pricing Calculator API to programmatically create estimates for your planned cloud use. You can model usage and commitments such as Savings Plans and +Reserved Instances, and generate estimated costs using your discounts and benefit sharing preferences. +
+The Pricing Calculator API provides the following endpoint:
+
+https://bcm-pricing-calculator.us-east-1.api.aws
+
+ * You can use the Pricing Calculator API to programmatically create estimates for your planned cloud use. You can model usage and commitments such as Savings Plans and + * Reserved Instances, and generate estimated costs using your discounts and benefit sharing preferences. + *
+ *The Pricing Calculator API provides the following endpoint:
+ *
+ * https://bcm-pricing-calculator.us-east-1.api.aws
+ *
+ * You can use the Pricing Calculator API to programmatically create estimates for your planned cloud use. You can model usage and commitments such as Savings Plans and + * Reserved Instances, and generate estimated costs using your discounts and benefit sharing preferences. + *
+ *The Pricing Calculator API provides the following endpoint:
+ *
+ * https://bcm-pricing-calculator.us-east-1.api.aws
+ *
+ * Create Compute Savings Plans, EC2 Instance Savings Plans, or EC2 Reserved Instances commitments that you want to model in a Bill Scenario. + *
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { BCMPricingCalculatorClient, BatchCreateBillScenarioCommitmentModificationCommand } from "@aws-sdk/client-bcm-pricing-calculator"; // ES Modules import + * // const { BCMPricingCalculatorClient, BatchCreateBillScenarioCommitmentModificationCommand } = require("@aws-sdk/client-bcm-pricing-calculator"); // CommonJS import + * const client = new BCMPricingCalculatorClient(config); + * const input = { // BatchCreateBillScenarioCommitmentModificationRequest + * billScenarioId: "STRING_VALUE", // required + * commitmentModifications: [ // BatchCreateBillScenarioCommitmentModificationEntries // required + * { // BatchCreateBillScenarioCommitmentModificationEntry + * key: "STRING_VALUE", // required + * group: "STRING_VALUE", + * usageAccountId: "STRING_VALUE", // required + * commitmentAction: { // BillScenarioCommitmentModificationAction Union: only one key present + * addReservedInstanceAction: { // AddReservedInstanceAction + * reservedInstancesOfferingId: "STRING_VALUE", + * instanceCount: Number("int"), + * }, + * addSavingsPlanAction: { // AddSavingsPlanAction + * savingsPlanOfferingId: "STRING_VALUE", + * commitment: Number("double"), + * }, + * negateReservedInstanceAction: { // NegateReservedInstanceAction + * reservedInstancesId: "STRING_VALUE", + * }, + * negateSavingsPlanAction: { // NegateSavingsPlanAction + * savingsPlanId: "STRING_VALUE", + * }, + * }, + * }, + * ], + * clientToken: "STRING_VALUE", + * }; + * const command = new BatchCreateBillScenarioCommitmentModificationCommand(input); + * const response = await client.send(command); + * // { // BatchCreateBillScenarioCommitmentModificationResponse + * // items: [ // BatchCreateBillScenarioCommitmentModificationItems + * // { // BatchCreateBillScenarioCommitmentModificationItem + * // key: "STRING_VALUE", + * // id: "STRING_VALUE", + * // group: "STRING_VALUE", + * // usageAccountId: "STRING_VALUE", + * // commitmentAction: { // BillScenarioCommitmentModificationAction Union: only one key present + * // addReservedInstanceAction: { // AddReservedInstanceAction + * // reservedInstancesOfferingId: "STRING_VALUE", + * // instanceCount: Number("int"), + * // }, + * // addSavingsPlanAction: { // AddSavingsPlanAction + * // savingsPlanOfferingId: "STRING_VALUE", + * // commitment: Number("double"), + * // }, + * // negateReservedInstanceAction: { // NegateReservedInstanceAction + * // reservedInstancesId: "STRING_VALUE", + * // }, + * // negateSavingsPlanAction: { // NegateSavingsPlanAction + * // savingsPlanId: "STRING_VALUE", + * // }, + * // }, + * // }, + * // ], + * // errors: [ // BatchCreateBillScenarioCommitmentModificationErrors + * // { // BatchCreateBillScenarioCommitmentModificationError + * // key: "STRING_VALUE", + * // errorMessage: "STRING_VALUE", + * // errorCode: "CONFLICT" || "INTERNAL_SERVER_ERROR" || "INVALID_ACCOUNT", + * // }, + * // ], + * // }; + * + * ``` + * + * @param BatchCreateBillScenarioCommitmentModificationCommandInput - {@link BatchCreateBillScenarioCommitmentModificationCommandInput} + * @returns {@link BatchCreateBillScenarioCommitmentModificationCommandOutput} + * @see {@link BatchCreateBillScenarioCommitmentModificationCommandInput} for command's `input` shape. + * @see {@link BatchCreateBillScenarioCommitmentModificationCommandOutput} for command's `response` shape. + * @see {@link BCMPricingCalculatorClientResolvedConfig | config} for BCMPricingCalculatorClient's `config` shape. + * + * @throws {@link ConflictException} (client fault) + *+ * The request could not be processed because of conflict in the current state of the resource. + *
+ * + * @throws {@link DataUnavailableException} (client fault) + *+ * The requested data is currently unavailable. + *
+ * + * @throws {@link ResourceNotFoundException} (client fault) + *+ * The specified resource was not found. + *
+ * + * @throws {@link AccessDeniedException} (client fault) + *+ * You do not have sufficient access to perform this action. + *
+ * + * @throws {@link InternalServerException} (server fault) + *+ * An internal error has occurred. Retry your request, but if the problem persists, contact Amazon Web Services support. + *
+ * + * @throws {@link ThrottlingException} (client fault) + *+ * The request was denied due to request throttling. + *
+ * + * @throws {@link ValidationException} (client fault) + *+ * The input provided fails to satisfy the constraints specified by an Amazon Web Services service. + *
+ * + * @throws {@link BCMPricingCalculatorServiceException} + *Base exception class for all service exceptions from BCMPricingCalculator service.
+ * + * @public + */ +export class BatchCreateBillScenarioCommitmentModificationCommand extends $Command + .classBuilder< + BatchCreateBillScenarioCommitmentModificationCommandInput, + BatchCreateBillScenarioCommitmentModificationCommandOutput, + BCMPricingCalculatorClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: BCMPricingCalculatorClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AWSBCMPricingCalculator", "BatchCreateBillScenarioCommitmentModification", {}) + .n("BCMPricingCalculatorClient", "BatchCreateBillScenarioCommitmentModificationCommand") + .f(void 0, void 0) + .ser(se_BatchCreateBillScenarioCommitmentModificationCommand) + .de(de_BatchCreateBillScenarioCommitmentModificationCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: BatchCreateBillScenarioCommitmentModificationRequest; + output: BatchCreateBillScenarioCommitmentModificationResponse; + }; + sdk: { + input: BatchCreateBillScenarioCommitmentModificationCommandInput; + output: BatchCreateBillScenarioCommitmentModificationCommandOutput; + }; + }; +} diff --git a/clients/client-bcm-pricing-calculator/src/commands/BatchCreateBillScenarioUsageModificationCommand.ts b/clients/client-bcm-pricing-calculator/src/commands/BatchCreateBillScenarioUsageModificationCommand.ts new file mode 100644 index 000000000000..9fc01f037eb8 --- /dev/null +++ b/clients/client-bcm-pricing-calculator/src/commands/BatchCreateBillScenarioUsageModificationCommand.ts @@ -0,0 +1,319 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { + BCMPricingCalculatorClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes, +} from "../BCMPricingCalculatorClient"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { + BatchCreateBillScenarioUsageModificationRequest, + BatchCreateBillScenarioUsageModificationResponse, +} from "../models/models_0"; +import { + de_BatchCreateBillScenarioUsageModificationCommand, + se_BatchCreateBillScenarioUsageModificationCommand, +} from "../protocols/Aws_json1_0"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link BatchCreateBillScenarioUsageModificationCommand}. + */ +export interface BatchCreateBillScenarioUsageModificationCommandInput + extends BatchCreateBillScenarioUsageModificationRequest {} +/** + * @public + * + * The output of {@link BatchCreateBillScenarioUsageModificationCommand}. + */ +export interface BatchCreateBillScenarioUsageModificationCommandOutput + extends BatchCreateBillScenarioUsageModificationResponse, + __MetadataBearer {} + +/** + *+ * Create Amazon Web Services service usage that you want to model in a Bill Scenario. + *
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { BCMPricingCalculatorClient, BatchCreateBillScenarioUsageModificationCommand } from "@aws-sdk/client-bcm-pricing-calculator"; // ES Modules import + * // const { BCMPricingCalculatorClient, BatchCreateBillScenarioUsageModificationCommand } = require("@aws-sdk/client-bcm-pricing-calculator"); // CommonJS import + * const client = new BCMPricingCalculatorClient(config); + * const input = { // BatchCreateBillScenarioUsageModificationRequest + * billScenarioId: "STRING_VALUE", // required + * usageModifications: [ // BatchCreateBillScenarioUsageModificationEntries // required + * { // BatchCreateBillScenarioUsageModificationEntry + * serviceCode: "STRING_VALUE", // required + * usageType: "STRING_VALUE", // required + * operation: "STRING_VALUE", // required + * availabilityZone: "STRING_VALUE", + * key: "STRING_VALUE", // required + * group: "STRING_VALUE", + * usageAccountId: "STRING_VALUE", // required + * amounts: [ // UsageAmounts + * { // UsageAmount + * startHour: new Date("TIMESTAMP"), // required + * amount: Number("double"), // required + * }, + * ], + * historicalUsage: { // HistoricalUsageEntity + * serviceCode: "STRING_VALUE", // required + * usageType: "STRING_VALUE", // required + * operation: "STRING_VALUE", // required + * location: "STRING_VALUE", + * usageAccountId: "STRING_VALUE", // required + * billInterval: { // BillInterval + * start: new Date("TIMESTAMP"), + * end: new Date("TIMESTAMP"), + * }, + * filterExpression: { // Expression + * and: [ // ExpressionList + * { + * and: [ + * "+ * The request could not be processed because of conflict in the current state of the resource. + *
+ * + * @throws {@link DataUnavailableException} (client fault) + *+ * The requested data is currently unavailable. + *
+ * + * @throws {@link ResourceNotFoundException} (client fault) + *+ * The specified resource was not found. + *
+ * + * @throws {@link ServiceQuotaExceededException} (client fault) + *+ * The request would cause you to exceed your service quota. + *
+ * + * @throws {@link AccessDeniedException} (client fault) + *+ * You do not have sufficient access to perform this action. + *
+ * + * @throws {@link InternalServerException} (server fault) + *+ * An internal error has occurred. Retry your request, but if the problem persists, contact Amazon Web Services support. + *
+ * + * @throws {@link ThrottlingException} (client fault) + *+ * The request was denied due to request throttling. + *
+ * + * @throws {@link ValidationException} (client fault) + *+ * The input provided fails to satisfy the constraints specified by an Amazon Web Services service. + *
+ * + * @throws {@link BCMPricingCalculatorServiceException} + *Base exception class for all service exceptions from BCMPricingCalculator service.
+ * + * @public + */ +export class BatchCreateBillScenarioUsageModificationCommand extends $Command + .classBuilder< + BatchCreateBillScenarioUsageModificationCommandInput, + BatchCreateBillScenarioUsageModificationCommandOutput, + BCMPricingCalculatorClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: BCMPricingCalculatorClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AWSBCMPricingCalculator", "BatchCreateBillScenarioUsageModification", {}) + .n("BCMPricingCalculatorClient", "BatchCreateBillScenarioUsageModificationCommand") + .f(void 0, void 0) + .ser(se_BatchCreateBillScenarioUsageModificationCommand) + .de(de_BatchCreateBillScenarioUsageModificationCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: BatchCreateBillScenarioUsageModificationRequest; + output: BatchCreateBillScenarioUsageModificationResponse; + }; + sdk: { + input: BatchCreateBillScenarioUsageModificationCommandInput; + output: BatchCreateBillScenarioUsageModificationCommandOutput; + }; + }; +} diff --git a/clients/client-bcm-pricing-calculator/src/commands/BatchCreateWorkloadEstimateUsageCommand.ts b/clients/client-bcm-pricing-calculator/src/commands/BatchCreateWorkloadEstimateUsageCommand.ts new file mode 100644 index 000000000000..86073dd5ee8c --- /dev/null +++ b/clients/client-bcm-pricing-calculator/src/commands/BatchCreateWorkloadEstimateUsageCommand.ts @@ -0,0 +1,308 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { + BCMPricingCalculatorClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes, +} from "../BCMPricingCalculatorClient"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { BatchCreateWorkloadEstimateUsageRequest, BatchCreateWorkloadEstimateUsageResponse } from "../models/models_0"; +import { + de_BatchCreateWorkloadEstimateUsageCommand, + se_BatchCreateWorkloadEstimateUsageCommand, +} from "../protocols/Aws_json1_0"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link BatchCreateWorkloadEstimateUsageCommand}. + */ +export interface BatchCreateWorkloadEstimateUsageCommandInput extends BatchCreateWorkloadEstimateUsageRequest {} +/** + * @public + * + * The output of {@link BatchCreateWorkloadEstimateUsageCommand}. + */ +export interface BatchCreateWorkloadEstimateUsageCommandOutput + extends BatchCreateWorkloadEstimateUsageResponse, + __MetadataBearer {} + +/** + *+ * Create Amazon Web Services service usage that you want to model in a Workload Estimate. + *
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { BCMPricingCalculatorClient, BatchCreateWorkloadEstimateUsageCommand } from "@aws-sdk/client-bcm-pricing-calculator"; // ES Modules import + * // const { BCMPricingCalculatorClient, BatchCreateWorkloadEstimateUsageCommand } = require("@aws-sdk/client-bcm-pricing-calculator"); // CommonJS import + * const client = new BCMPricingCalculatorClient(config); + * const input = { // BatchCreateWorkloadEstimateUsageRequest + * workloadEstimateId: "STRING_VALUE", // required + * usage: [ // BatchCreateWorkloadEstimateUsageEntries // required + * { // BatchCreateWorkloadEstimateUsageEntry + * serviceCode: "STRING_VALUE", // required + * usageType: "STRING_VALUE", // required + * operation: "STRING_VALUE", // required + * key: "STRING_VALUE", // required + * group: "STRING_VALUE", + * usageAccountId: "STRING_VALUE", // required + * amount: Number("double"), // required + * historicalUsage: { // HistoricalUsageEntity + * serviceCode: "STRING_VALUE", // required + * usageType: "STRING_VALUE", // required + * operation: "STRING_VALUE", // required + * location: "STRING_VALUE", + * usageAccountId: "STRING_VALUE", // required + * billInterval: { // BillInterval + * start: new Date("TIMESTAMP"), + * end: new Date("TIMESTAMP"), + * }, + * filterExpression: { // Expression + * and: [ // ExpressionList + * { + * and: [ + * "+ * The request could not be processed because of conflict in the current state of the resource. + *
+ * + * @throws {@link DataUnavailableException} (client fault) + *+ * The requested data is currently unavailable. + *
+ * + * @throws {@link ResourceNotFoundException} (client fault) + *+ * The specified resource was not found. + *
+ * + * @throws {@link ServiceQuotaExceededException} (client fault) + *+ * The request would cause you to exceed your service quota. + *
+ * + * @throws {@link AccessDeniedException} (client fault) + *+ * You do not have sufficient access to perform this action. + *
+ * + * @throws {@link InternalServerException} (server fault) + *+ * An internal error has occurred. Retry your request, but if the problem persists, contact Amazon Web Services support. + *
+ * + * @throws {@link ThrottlingException} (client fault) + *+ * The request was denied due to request throttling. + *
+ * + * @throws {@link ValidationException} (client fault) + *+ * The input provided fails to satisfy the constraints specified by an Amazon Web Services service. + *
+ * + * @throws {@link BCMPricingCalculatorServiceException} + *Base exception class for all service exceptions from BCMPricingCalculator service.
+ * + * @public + */ +export class BatchCreateWorkloadEstimateUsageCommand extends $Command + .classBuilder< + BatchCreateWorkloadEstimateUsageCommandInput, + BatchCreateWorkloadEstimateUsageCommandOutput, + BCMPricingCalculatorClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: BCMPricingCalculatorClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AWSBCMPricingCalculator", "BatchCreateWorkloadEstimateUsage", {}) + .n("BCMPricingCalculatorClient", "BatchCreateWorkloadEstimateUsageCommand") + .f(void 0, void 0) + .ser(se_BatchCreateWorkloadEstimateUsageCommand) + .de(de_BatchCreateWorkloadEstimateUsageCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: BatchCreateWorkloadEstimateUsageRequest; + output: BatchCreateWorkloadEstimateUsageResponse; + }; + sdk: { + input: BatchCreateWorkloadEstimateUsageCommandInput; + output: BatchCreateWorkloadEstimateUsageCommandOutput; + }; + }; +} diff --git a/clients/client-bcm-pricing-calculator/src/commands/BatchDeleteBillScenarioCommitmentModificationCommand.ts b/clients/client-bcm-pricing-calculator/src/commands/BatchDeleteBillScenarioCommitmentModificationCommand.ts new file mode 100644 index 000000000000..bceabcad5241 --- /dev/null +++ b/clients/client-bcm-pricing-calculator/src/commands/BatchDeleteBillScenarioCommitmentModificationCommand.ts @@ -0,0 +1,151 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { + BCMPricingCalculatorClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes, +} from "../BCMPricingCalculatorClient"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { + BatchDeleteBillScenarioCommitmentModificationRequest, + BatchDeleteBillScenarioCommitmentModificationResponse, +} from "../models/models_0"; +import { + de_BatchDeleteBillScenarioCommitmentModificationCommand, + se_BatchDeleteBillScenarioCommitmentModificationCommand, +} from "../protocols/Aws_json1_0"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link BatchDeleteBillScenarioCommitmentModificationCommand}. + */ +export interface BatchDeleteBillScenarioCommitmentModificationCommandInput + extends BatchDeleteBillScenarioCommitmentModificationRequest {} +/** + * @public + * + * The output of {@link BatchDeleteBillScenarioCommitmentModificationCommand}. + */ +export interface BatchDeleteBillScenarioCommitmentModificationCommandOutput + extends BatchDeleteBillScenarioCommitmentModificationResponse, + __MetadataBearer {} + +/** + *+ * Delete commitment that you have created in a Bill Scenario. You can only delete a commitment that you had + * added and cannot model deletion (or removal) of a existing commitment. If you want model deletion of an existing + * commitment, see the negate + * BillScenarioCommitmentModificationAction of + * + * BatchCreateBillScenarioCommitmentModification operation. + *
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { BCMPricingCalculatorClient, BatchDeleteBillScenarioCommitmentModificationCommand } from "@aws-sdk/client-bcm-pricing-calculator"; // ES Modules import + * // const { BCMPricingCalculatorClient, BatchDeleteBillScenarioCommitmentModificationCommand } = require("@aws-sdk/client-bcm-pricing-calculator"); // CommonJS import + * const client = new BCMPricingCalculatorClient(config); + * const input = { // BatchDeleteBillScenarioCommitmentModificationRequest + * billScenarioId: "STRING_VALUE", // required + * ids: [ // BatchDeleteBillScenarioCommitmentModificationEntries // required + * "STRING_VALUE", + * ], + * }; + * const command = new BatchDeleteBillScenarioCommitmentModificationCommand(input); + * const response = await client.send(command); + * // { // BatchDeleteBillScenarioCommitmentModificationResponse + * // errors: [ // BatchDeleteBillScenarioCommitmentModificationErrors + * // { // BatchDeleteBillScenarioCommitmentModificationError + * // id: "STRING_VALUE", + * // errorCode: "BAD_REQUEST" || "CONFLICT" || "INTERNAL_SERVER_ERROR", + * // errorMessage: "STRING_VALUE", + * // }, + * // ], + * // }; + * + * ``` + * + * @param BatchDeleteBillScenarioCommitmentModificationCommandInput - {@link BatchDeleteBillScenarioCommitmentModificationCommandInput} + * @returns {@link BatchDeleteBillScenarioCommitmentModificationCommandOutput} + * @see {@link BatchDeleteBillScenarioCommitmentModificationCommandInput} for command's `input` shape. + * @see {@link BatchDeleteBillScenarioCommitmentModificationCommandOutput} for command's `response` shape. + * @see {@link BCMPricingCalculatorClientResolvedConfig | config} for BCMPricingCalculatorClient's `config` shape. + * + * @throws {@link DataUnavailableException} (client fault) + *+ * The requested data is currently unavailable. + *
+ * + * @throws {@link ResourceNotFoundException} (client fault) + *+ * The specified resource was not found. + *
+ * + * @throws {@link AccessDeniedException} (client fault) + *+ * You do not have sufficient access to perform this action. + *
+ * + * @throws {@link InternalServerException} (server fault) + *+ * An internal error has occurred. Retry your request, but if the problem persists, contact Amazon Web Services support. + *
+ * + * @throws {@link ThrottlingException} (client fault) + *+ * The request was denied due to request throttling. + *
+ * + * @throws {@link ValidationException} (client fault) + *+ * The input provided fails to satisfy the constraints specified by an Amazon Web Services service. + *
+ * + * @throws {@link BCMPricingCalculatorServiceException} + *Base exception class for all service exceptions from BCMPricingCalculator service.
+ * + * @public + */ +export class BatchDeleteBillScenarioCommitmentModificationCommand extends $Command + .classBuilder< + BatchDeleteBillScenarioCommitmentModificationCommandInput, + BatchDeleteBillScenarioCommitmentModificationCommandOutput, + BCMPricingCalculatorClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: BCMPricingCalculatorClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AWSBCMPricingCalculator", "BatchDeleteBillScenarioCommitmentModification", {}) + .n("BCMPricingCalculatorClient", "BatchDeleteBillScenarioCommitmentModificationCommand") + .f(void 0, void 0) + .ser(se_BatchDeleteBillScenarioCommitmentModificationCommand) + .de(de_BatchDeleteBillScenarioCommitmentModificationCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: BatchDeleteBillScenarioCommitmentModificationRequest; + output: BatchDeleteBillScenarioCommitmentModificationResponse; + }; + sdk: { + input: BatchDeleteBillScenarioCommitmentModificationCommandInput; + output: BatchDeleteBillScenarioCommitmentModificationCommandOutput; + }; + }; +} diff --git a/clients/client-bcm-pricing-calculator/src/commands/BatchDeleteBillScenarioUsageModificationCommand.ts b/clients/client-bcm-pricing-calculator/src/commands/BatchDeleteBillScenarioUsageModificationCommand.ts new file mode 100644 index 000000000000..99d5be0f5d00 --- /dev/null +++ b/clients/client-bcm-pricing-calculator/src/commands/BatchDeleteBillScenarioUsageModificationCommand.ts @@ -0,0 +1,154 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { + BCMPricingCalculatorClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes, +} from "../BCMPricingCalculatorClient"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { + BatchDeleteBillScenarioUsageModificationRequest, + BatchDeleteBillScenarioUsageModificationResponse, +} from "../models/models_0"; +import { + de_BatchDeleteBillScenarioUsageModificationCommand, + se_BatchDeleteBillScenarioUsageModificationCommand, +} from "../protocols/Aws_json1_0"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link BatchDeleteBillScenarioUsageModificationCommand}. + */ +export interface BatchDeleteBillScenarioUsageModificationCommandInput + extends BatchDeleteBillScenarioUsageModificationRequest {} +/** + * @public + * + * The output of {@link BatchDeleteBillScenarioUsageModificationCommand}. + */ +export interface BatchDeleteBillScenarioUsageModificationCommandOutput + extends BatchDeleteBillScenarioUsageModificationResponse, + __MetadataBearer {} + +/** + *+ * Delete usage that you have created in a Bill Scenario. You can only delete usage that you had added and cannot model + * deletion (or removal) of a existing usage. If you want model removal of an existing usage, see + * + * BatchUpdateBillScenarioUsageModification. + *
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { BCMPricingCalculatorClient, BatchDeleteBillScenarioUsageModificationCommand } from "@aws-sdk/client-bcm-pricing-calculator"; // ES Modules import + * // const { BCMPricingCalculatorClient, BatchDeleteBillScenarioUsageModificationCommand } = require("@aws-sdk/client-bcm-pricing-calculator"); // CommonJS import + * const client = new BCMPricingCalculatorClient(config); + * const input = { // BatchDeleteBillScenarioUsageModificationRequest + * billScenarioId: "STRING_VALUE", // required + * ids: [ // BatchDeleteBillScenarioUsageModificationEntries // required + * "STRING_VALUE", + * ], + * }; + * const command = new BatchDeleteBillScenarioUsageModificationCommand(input); + * const response = await client.send(command); + * // { // BatchDeleteBillScenarioUsageModificationResponse + * // errors: [ // BatchDeleteBillScenarioUsageModificationErrors + * // { // BatchDeleteBillScenarioUsageModificationError + * // id: "STRING_VALUE", + * // errorMessage: "STRING_VALUE", + * // errorCode: "BAD_REQUEST" || "CONFLICT" || "INTERNAL_SERVER_ERROR", + * // }, + * // ], + * // }; + * + * ``` + * + * @param BatchDeleteBillScenarioUsageModificationCommandInput - {@link BatchDeleteBillScenarioUsageModificationCommandInput} + * @returns {@link BatchDeleteBillScenarioUsageModificationCommandOutput} + * @see {@link BatchDeleteBillScenarioUsageModificationCommandInput} for command's `input` shape. + * @see {@link BatchDeleteBillScenarioUsageModificationCommandOutput} for command's `response` shape. + * @see {@link BCMPricingCalculatorClientResolvedConfig | config} for BCMPricingCalculatorClient's `config` shape. + * + * @throws {@link DataUnavailableException} (client fault) + *+ * The requested data is currently unavailable. + *
+ * + * @throws {@link ResourceNotFoundException} (client fault) + *+ * The specified resource was not found. + *
+ * + * @throws {@link ServiceQuotaExceededException} (client fault) + *+ * The request would cause you to exceed your service quota. + *
+ * + * @throws {@link AccessDeniedException} (client fault) + *+ * You do not have sufficient access to perform this action. + *
+ * + * @throws {@link InternalServerException} (server fault) + *+ * An internal error has occurred. Retry your request, but if the problem persists, contact Amazon Web Services support. + *
+ * + * @throws {@link ThrottlingException} (client fault) + *+ * The request was denied due to request throttling. + *
+ * + * @throws {@link ValidationException} (client fault) + *+ * The input provided fails to satisfy the constraints specified by an Amazon Web Services service. + *
+ * + * @throws {@link BCMPricingCalculatorServiceException} + *Base exception class for all service exceptions from BCMPricingCalculator service.
+ * + * @public + */ +export class BatchDeleteBillScenarioUsageModificationCommand extends $Command + .classBuilder< + BatchDeleteBillScenarioUsageModificationCommandInput, + BatchDeleteBillScenarioUsageModificationCommandOutput, + BCMPricingCalculatorClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: BCMPricingCalculatorClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AWSBCMPricingCalculator", "BatchDeleteBillScenarioUsageModification", {}) + .n("BCMPricingCalculatorClient", "BatchDeleteBillScenarioUsageModificationCommand") + .f(void 0, void 0) + .ser(se_BatchDeleteBillScenarioUsageModificationCommand) + .de(de_BatchDeleteBillScenarioUsageModificationCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: BatchDeleteBillScenarioUsageModificationRequest; + output: BatchDeleteBillScenarioUsageModificationResponse; + }; + sdk: { + input: BatchDeleteBillScenarioUsageModificationCommandInput; + output: BatchDeleteBillScenarioUsageModificationCommandOutput; + }; + }; +} diff --git a/clients/client-bcm-pricing-calculator/src/commands/BatchDeleteWorkloadEstimateUsageCommand.ts b/clients/client-bcm-pricing-calculator/src/commands/BatchDeleteWorkloadEstimateUsageCommand.ts new file mode 100644 index 000000000000..52aff82a750e --- /dev/null +++ b/clients/client-bcm-pricing-calculator/src/commands/BatchDeleteWorkloadEstimateUsageCommand.ts @@ -0,0 +1,150 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { + BCMPricingCalculatorClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes, +} from "../BCMPricingCalculatorClient"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { BatchDeleteWorkloadEstimateUsageRequest, BatchDeleteWorkloadEstimateUsageResponse } from "../models/models_0"; +import { + de_BatchDeleteWorkloadEstimateUsageCommand, + se_BatchDeleteWorkloadEstimateUsageCommand, +} from "../protocols/Aws_json1_0"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link BatchDeleteWorkloadEstimateUsageCommand}. + */ +export interface BatchDeleteWorkloadEstimateUsageCommandInput extends BatchDeleteWorkloadEstimateUsageRequest {} +/** + * @public + * + * The output of {@link BatchDeleteWorkloadEstimateUsageCommand}. + */ +export interface BatchDeleteWorkloadEstimateUsageCommandOutput + extends BatchDeleteWorkloadEstimateUsageResponse, + __MetadataBearer {} + +/** + *+ * Delete usage that you have created in a Workload estimate. You can only delete usage that you had added and cannot model deletion + * (or removal) of a existing usage. If you want model removal of an existing usage, see + * + * BatchUpdateWorkloadEstimateUsage. + *
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { BCMPricingCalculatorClient, BatchDeleteWorkloadEstimateUsageCommand } from "@aws-sdk/client-bcm-pricing-calculator"; // ES Modules import + * // const { BCMPricingCalculatorClient, BatchDeleteWorkloadEstimateUsageCommand } = require("@aws-sdk/client-bcm-pricing-calculator"); // CommonJS import + * const client = new BCMPricingCalculatorClient(config); + * const input = { // BatchDeleteWorkloadEstimateUsageRequest + * workloadEstimateId: "STRING_VALUE", // required + * ids: [ // BatchDeleteWorkloadEstimateUsageEntries // required + * "STRING_VALUE", + * ], + * }; + * const command = new BatchDeleteWorkloadEstimateUsageCommand(input); + * const response = await client.send(command); + * // { // BatchDeleteWorkloadEstimateUsageResponse + * // errors: [ // BatchDeleteWorkloadEstimateUsageErrors + * // { // BatchDeleteWorkloadEstimateUsageError + * // id: "STRING_VALUE", + * // errorMessage: "STRING_VALUE", + * // errorCode: "BAD_REQUEST" || "NOT_FOUND" || "CONFLICT" || "INTERNAL_SERVER_ERROR", + * // }, + * // ], + * // }; + * + * ``` + * + * @param BatchDeleteWorkloadEstimateUsageCommandInput - {@link BatchDeleteWorkloadEstimateUsageCommandInput} + * @returns {@link BatchDeleteWorkloadEstimateUsageCommandOutput} + * @see {@link BatchDeleteWorkloadEstimateUsageCommandInput} for command's `input` shape. + * @see {@link BatchDeleteWorkloadEstimateUsageCommandOutput} for command's `response` shape. + * @see {@link BCMPricingCalculatorClientResolvedConfig | config} for BCMPricingCalculatorClient's `config` shape. + * + * @throws {@link DataUnavailableException} (client fault) + *+ * The requested data is currently unavailable. + *
+ * + * @throws {@link ResourceNotFoundException} (client fault) + *+ * The specified resource was not found. + *
+ * + * @throws {@link ServiceQuotaExceededException} (client fault) + *+ * The request would cause you to exceed your service quota. + *
+ * + * @throws {@link AccessDeniedException} (client fault) + *+ * You do not have sufficient access to perform this action. + *
+ * + * @throws {@link InternalServerException} (server fault) + *+ * An internal error has occurred. Retry your request, but if the problem persists, contact Amazon Web Services support. + *
+ * + * @throws {@link ThrottlingException} (client fault) + *+ * The request was denied due to request throttling. + *
+ * + * @throws {@link ValidationException} (client fault) + *+ * The input provided fails to satisfy the constraints specified by an Amazon Web Services service. + *
+ * + * @throws {@link BCMPricingCalculatorServiceException} + *Base exception class for all service exceptions from BCMPricingCalculator service.
+ * + * @public + */ +export class BatchDeleteWorkloadEstimateUsageCommand extends $Command + .classBuilder< + BatchDeleteWorkloadEstimateUsageCommandInput, + BatchDeleteWorkloadEstimateUsageCommandOutput, + BCMPricingCalculatorClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: BCMPricingCalculatorClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AWSBCMPricingCalculator", "BatchDeleteWorkloadEstimateUsage", {}) + .n("BCMPricingCalculatorClient", "BatchDeleteWorkloadEstimateUsageCommand") + .f(void 0, void 0) + .ser(se_BatchDeleteWorkloadEstimateUsageCommand) + .de(de_BatchDeleteWorkloadEstimateUsageCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: BatchDeleteWorkloadEstimateUsageRequest; + output: BatchDeleteWorkloadEstimateUsageResponse; + }; + sdk: { + input: BatchDeleteWorkloadEstimateUsageCommandInput; + output: BatchDeleteWorkloadEstimateUsageCommandOutput; + }; + }; +} diff --git a/clients/client-bcm-pricing-calculator/src/commands/BatchUpdateBillScenarioCommitmentModificationCommand.ts b/clients/client-bcm-pricing-calculator/src/commands/BatchUpdateBillScenarioCommitmentModificationCommand.ts new file mode 100644 index 000000000000..db1433c76a45 --- /dev/null +++ b/clients/client-bcm-pricing-calculator/src/commands/BatchUpdateBillScenarioCommitmentModificationCommand.ts @@ -0,0 +1,172 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { + BCMPricingCalculatorClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes, +} from "../BCMPricingCalculatorClient"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { + BatchUpdateBillScenarioCommitmentModificationRequest, + BatchUpdateBillScenarioCommitmentModificationResponse, +} from "../models/models_0"; +import { + de_BatchUpdateBillScenarioCommitmentModificationCommand, + se_BatchUpdateBillScenarioCommitmentModificationCommand, +} from "../protocols/Aws_json1_0"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link BatchUpdateBillScenarioCommitmentModificationCommand}. + */ +export interface BatchUpdateBillScenarioCommitmentModificationCommandInput + extends BatchUpdateBillScenarioCommitmentModificationRequest {} +/** + * @public + * + * The output of {@link BatchUpdateBillScenarioCommitmentModificationCommand}. + */ +export interface BatchUpdateBillScenarioCommitmentModificationCommandOutput + extends BatchUpdateBillScenarioCommitmentModificationResponse, + __MetadataBearer {} + +/** + *+ * Update a newly added or existing commitment. You can update the commitment group based on a commitment ID and a Bill scenario ID. + *
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { BCMPricingCalculatorClient, BatchUpdateBillScenarioCommitmentModificationCommand } from "@aws-sdk/client-bcm-pricing-calculator"; // ES Modules import + * // const { BCMPricingCalculatorClient, BatchUpdateBillScenarioCommitmentModificationCommand } = require("@aws-sdk/client-bcm-pricing-calculator"); // CommonJS import + * const client = new BCMPricingCalculatorClient(config); + * const input = { // BatchUpdateBillScenarioCommitmentModificationRequest + * billScenarioId: "STRING_VALUE", // required + * commitmentModifications: [ // BatchUpdateBillScenarioCommitmentModificationEntries // required + * { // BatchUpdateBillScenarioCommitmentModificationEntry + * id: "STRING_VALUE", // required + * group: "STRING_VALUE", + * }, + * ], + * }; + * const command = new BatchUpdateBillScenarioCommitmentModificationCommand(input); + * const response = await client.send(command); + * // { // BatchUpdateBillScenarioCommitmentModificationResponse + * // items: [ // BillScenarioCommitmentModificationItems + * // { // BillScenarioCommitmentModificationItem + * // id: "STRING_VALUE", + * // usageAccountId: "STRING_VALUE", + * // group: "STRING_VALUE", + * // commitmentAction: { // BillScenarioCommitmentModificationAction Union: only one key present + * // addReservedInstanceAction: { // AddReservedInstanceAction + * // reservedInstancesOfferingId: "STRING_VALUE", + * // instanceCount: Number("int"), + * // }, + * // addSavingsPlanAction: { // AddSavingsPlanAction + * // savingsPlanOfferingId: "STRING_VALUE", + * // commitment: Number("double"), + * // }, + * // negateReservedInstanceAction: { // NegateReservedInstanceAction + * // reservedInstancesId: "STRING_VALUE", + * // }, + * // negateSavingsPlanAction: { // NegateSavingsPlanAction + * // savingsPlanId: "STRING_VALUE", + * // }, + * // }, + * // }, + * // ], + * // errors: [ // BatchUpdateBillScenarioCommitmentModificationErrors + * // { // BatchUpdateBillScenarioCommitmentModificationError + * // id: "STRING_VALUE", + * // errorCode: "BAD_REQUEST" || "NOT_FOUND" || "CONFLICT" || "INTERNAL_SERVER_ERROR", + * // errorMessage: "STRING_VALUE", + * // }, + * // ], + * // }; + * + * ``` + * + * @param BatchUpdateBillScenarioCommitmentModificationCommandInput - {@link BatchUpdateBillScenarioCommitmentModificationCommandInput} + * @returns {@link BatchUpdateBillScenarioCommitmentModificationCommandOutput} + * @see {@link BatchUpdateBillScenarioCommitmentModificationCommandInput} for command's `input` shape. + * @see {@link BatchUpdateBillScenarioCommitmentModificationCommandOutput} for command's `response` shape. + * @see {@link BCMPricingCalculatorClientResolvedConfig | config} for BCMPricingCalculatorClient's `config` shape. + * + * @throws {@link DataUnavailableException} (client fault) + *+ * The requested data is currently unavailable. + *
+ * + * @throws {@link ResourceNotFoundException} (client fault) + *+ * The specified resource was not found. + *
+ * + * @throws {@link AccessDeniedException} (client fault) + *+ * You do not have sufficient access to perform this action. + *
+ * + * @throws {@link InternalServerException} (server fault) + *+ * An internal error has occurred. Retry your request, but if the problem persists, contact Amazon Web Services support. + *
+ * + * @throws {@link ThrottlingException} (client fault) + *+ * The request was denied due to request throttling. + *
+ * + * @throws {@link ValidationException} (client fault) + *+ * The input provided fails to satisfy the constraints specified by an Amazon Web Services service. + *
+ * + * @throws {@link BCMPricingCalculatorServiceException} + *Base exception class for all service exceptions from BCMPricingCalculator service.
+ * + * @public + */ +export class BatchUpdateBillScenarioCommitmentModificationCommand extends $Command + .classBuilder< + BatchUpdateBillScenarioCommitmentModificationCommandInput, + BatchUpdateBillScenarioCommitmentModificationCommandOutput, + BCMPricingCalculatorClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: BCMPricingCalculatorClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AWSBCMPricingCalculator", "BatchUpdateBillScenarioCommitmentModification", {}) + .n("BCMPricingCalculatorClient", "BatchUpdateBillScenarioCommitmentModificationCommand") + .f(void 0, void 0) + .ser(se_BatchUpdateBillScenarioCommitmentModificationCommand) + .de(de_BatchUpdateBillScenarioCommitmentModificationCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: BatchUpdateBillScenarioCommitmentModificationRequest; + output: BatchUpdateBillScenarioCommitmentModificationResponse; + }; + sdk: { + input: BatchUpdateBillScenarioCommitmentModificationCommandInput; + output: BatchUpdateBillScenarioCommitmentModificationCommandOutput; + }; + }; +} diff --git a/clients/client-bcm-pricing-calculator/src/commands/BatchUpdateBillScenarioUsageModificationCommand.ts b/clients/client-bcm-pricing-calculator/src/commands/BatchUpdateBillScenarioUsageModificationCommand.ts new file mode 100644 index 000000000000..accd0a1a6619 --- /dev/null +++ b/clients/client-bcm-pricing-calculator/src/commands/BatchUpdateBillScenarioUsageModificationCommand.ts @@ -0,0 +1,243 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { + BCMPricingCalculatorClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes, +} from "../BCMPricingCalculatorClient"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { + BatchUpdateBillScenarioUsageModificationRequest, + BatchUpdateBillScenarioUsageModificationResponse, +} from "../models/models_0"; +import { + de_BatchUpdateBillScenarioUsageModificationCommand, + se_BatchUpdateBillScenarioUsageModificationCommand, +} from "../protocols/Aws_json1_0"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link BatchUpdateBillScenarioUsageModificationCommand}. + */ +export interface BatchUpdateBillScenarioUsageModificationCommandInput + extends BatchUpdateBillScenarioUsageModificationRequest {} +/** + * @public + * + * The output of {@link BatchUpdateBillScenarioUsageModificationCommand}. + */ +export interface BatchUpdateBillScenarioUsageModificationCommandOutput + extends BatchUpdateBillScenarioUsageModificationResponse, + __MetadataBearer {} + +/** + *+ * Update a newly added or existing usage lines. You can update the usage amounts, usage hour, and usage group based on a usage ID and a Bill scenario ID. + *
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { BCMPricingCalculatorClient, BatchUpdateBillScenarioUsageModificationCommand } from "@aws-sdk/client-bcm-pricing-calculator"; // ES Modules import + * // const { BCMPricingCalculatorClient, BatchUpdateBillScenarioUsageModificationCommand } = require("@aws-sdk/client-bcm-pricing-calculator"); // CommonJS import + * const client = new BCMPricingCalculatorClient(config); + * const input = { // BatchUpdateBillScenarioUsageModificationRequest + * billScenarioId: "STRING_VALUE", // required + * usageModifications: [ // BatchUpdateBillScenarioUsageModificationEntries // required + * { // BatchUpdateBillScenarioUsageModificationEntry + * id: "STRING_VALUE", // required + * group: "STRING_VALUE", + * amounts: [ // UsageAmounts + * { // UsageAmount + * startHour: new Date("TIMESTAMP"), // required + * amount: Number("double"), // required + * }, + * ], + * }, + * ], + * }; + * const command = new BatchUpdateBillScenarioUsageModificationCommand(input); + * const response = await client.send(command); + * // { // BatchUpdateBillScenarioUsageModificationResponse + * // items: [ // BillScenarioUsageModificationItems + * // { // BillScenarioUsageModificationItem + * // serviceCode: "STRING_VALUE", // required + * // usageType: "STRING_VALUE", // required + * // operation: "STRING_VALUE", // required + * // location: "STRING_VALUE", + * // availabilityZone: "STRING_VALUE", + * // id: "STRING_VALUE", + * // group: "STRING_VALUE", + * // usageAccountId: "STRING_VALUE", + * // quantities: [ // UsageQuantities + * // { // UsageQuantity + * // startHour: new Date("TIMESTAMP"), + * // unit: "STRING_VALUE", + * // amount: Number("double"), + * // }, + * // ], + * // historicalUsage: { // HistoricalUsageEntity + * // serviceCode: "STRING_VALUE", // required + * // usageType: "STRING_VALUE", // required + * // operation: "STRING_VALUE", // required + * // location: "STRING_VALUE", + * // usageAccountId: "STRING_VALUE", // required + * // billInterval: { // BillInterval + * // start: new Date("TIMESTAMP"), + * // end: new Date("TIMESTAMP"), + * // }, + * // filterExpression: { // Expression + * // and: [ // ExpressionList + * // { + * // and: [ + * // "+ * The requested data is currently unavailable. + *
+ * + * @throws {@link ResourceNotFoundException} (client fault) + *+ * The specified resource was not found. + *
+ * + * @throws {@link ServiceQuotaExceededException} (client fault) + *+ * The request would cause you to exceed your service quota. + *
+ * + * @throws {@link AccessDeniedException} (client fault) + *+ * You do not have sufficient access to perform this action. + *
+ * + * @throws {@link InternalServerException} (server fault) + *+ * An internal error has occurred. Retry your request, but if the problem persists, contact Amazon Web Services support. + *
+ * + * @throws {@link ThrottlingException} (client fault) + *+ * The request was denied due to request throttling. + *
+ * + * @throws {@link ValidationException} (client fault) + *+ * The input provided fails to satisfy the constraints specified by an Amazon Web Services service. + *
+ * + * @throws {@link BCMPricingCalculatorServiceException} + *Base exception class for all service exceptions from BCMPricingCalculator service.
+ * + * @public + */ +export class BatchUpdateBillScenarioUsageModificationCommand extends $Command + .classBuilder< + BatchUpdateBillScenarioUsageModificationCommandInput, + BatchUpdateBillScenarioUsageModificationCommandOutput, + BCMPricingCalculatorClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: BCMPricingCalculatorClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AWSBCMPricingCalculator", "BatchUpdateBillScenarioUsageModification", {}) + .n("BCMPricingCalculatorClient", "BatchUpdateBillScenarioUsageModificationCommand") + .f(void 0, void 0) + .ser(se_BatchUpdateBillScenarioUsageModificationCommand) + .de(de_BatchUpdateBillScenarioUsageModificationCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: BatchUpdateBillScenarioUsageModificationRequest; + output: BatchUpdateBillScenarioUsageModificationResponse; + }; + sdk: { + input: BatchUpdateBillScenarioUsageModificationCommandInput; + output: BatchUpdateBillScenarioUsageModificationCommandOutput; + }; + }; +} diff --git a/clients/client-bcm-pricing-calculator/src/commands/BatchUpdateWorkloadEstimateUsageCommand.ts b/clients/client-bcm-pricing-calculator/src/commands/BatchUpdateWorkloadEstimateUsageCommand.ts new file mode 100644 index 000000000000..bbcb43bed5bc --- /dev/null +++ b/clients/client-bcm-pricing-calculator/src/commands/BatchUpdateWorkloadEstimateUsageCommand.ts @@ -0,0 +1,233 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { + BCMPricingCalculatorClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes, +} from "../BCMPricingCalculatorClient"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { BatchUpdateWorkloadEstimateUsageRequest, BatchUpdateWorkloadEstimateUsageResponse } from "../models/models_0"; +import { + de_BatchUpdateWorkloadEstimateUsageCommand, + se_BatchUpdateWorkloadEstimateUsageCommand, +} from "../protocols/Aws_json1_0"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link BatchUpdateWorkloadEstimateUsageCommand}. + */ +export interface BatchUpdateWorkloadEstimateUsageCommandInput extends BatchUpdateWorkloadEstimateUsageRequest {} +/** + * @public + * + * The output of {@link BatchUpdateWorkloadEstimateUsageCommand}. + */ +export interface BatchUpdateWorkloadEstimateUsageCommandOutput + extends BatchUpdateWorkloadEstimateUsageResponse, + __MetadataBearer {} + +/** + *+ * Update a newly added or existing usage lines. You can update the usage amounts and usage group based on a usage ID and a Workload estimate ID. + *
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { BCMPricingCalculatorClient, BatchUpdateWorkloadEstimateUsageCommand } from "@aws-sdk/client-bcm-pricing-calculator"; // ES Modules import + * // const { BCMPricingCalculatorClient, BatchUpdateWorkloadEstimateUsageCommand } = require("@aws-sdk/client-bcm-pricing-calculator"); // CommonJS import + * const client = new BCMPricingCalculatorClient(config); + * const input = { // BatchUpdateWorkloadEstimateUsageRequest + * workloadEstimateId: "STRING_VALUE", // required + * usage: [ // BatchUpdateWorkloadEstimateUsageEntries // required + * { // BatchUpdateWorkloadEstimateUsageEntry + * id: "STRING_VALUE", // required + * group: "STRING_VALUE", + * amount: Number("double"), + * }, + * ], + * }; + * const command = new BatchUpdateWorkloadEstimateUsageCommand(input); + * const response = await client.send(command); + * // { // BatchUpdateWorkloadEstimateUsageResponse + * // items: [ // WorkloadEstimateUsageItems + * // { // WorkloadEstimateUsageItem + * // serviceCode: "STRING_VALUE", // required + * // usageType: "STRING_VALUE", // required + * // operation: "STRING_VALUE", // required + * // location: "STRING_VALUE", + * // id: "STRING_VALUE", + * // usageAccountId: "STRING_VALUE", + * // group: "STRING_VALUE", + * // quantity: { // WorkloadEstimateUsageQuantity + * // unit: "STRING_VALUE", + * // amount: Number("double"), + * // }, + * // cost: Number("double"), + * // currency: "USD", + * // status: "VALID" || "INVALID" || "STALE", + * // historicalUsage: { // HistoricalUsageEntity + * // serviceCode: "STRING_VALUE", // required + * // usageType: "STRING_VALUE", // required + * // operation: "STRING_VALUE", // required + * // location: "STRING_VALUE", + * // usageAccountId: "STRING_VALUE", // required + * // billInterval: { // BillInterval + * // start: new Date("TIMESTAMP"), + * // end: new Date("TIMESTAMP"), + * // }, + * // filterExpression: { // Expression + * // and: [ // ExpressionList + * // { + * // and: [ + * // "+ * The requested data is currently unavailable. + *
+ * + * @throws {@link ResourceNotFoundException} (client fault) + *+ * The specified resource was not found. + *
+ * + * @throws {@link ServiceQuotaExceededException} (client fault) + *+ * The request would cause you to exceed your service quota. + *
+ * + * @throws {@link AccessDeniedException} (client fault) + *+ * You do not have sufficient access to perform this action. + *
+ * + * @throws {@link InternalServerException} (server fault) + *+ * An internal error has occurred. Retry your request, but if the problem persists, contact Amazon Web Services support. + *
+ * + * @throws {@link ThrottlingException} (client fault) + *+ * The request was denied due to request throttling. + *
+ * + * @throws {@link ValidationException} (client fault) + *+ * The input provided fails to satisfy the constraints specified by an Amazon Web Services service. + *
+ * + * @throws {@link BCMPricingCalculatorServiceException} + *Base exception class for all service exceptions from BCMPricingCalculator service.
+ * + * @public + */ +export class BatchUpdateWorkloadEstimateUsageCommand extends $Command + .classBuilder< + BatchUpdateWorkloadEstimateUsageCommandInput, + BatchUpdateWorkloadEstimateUsageCommandOutput, + BCMPricingCalculatorClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: BCMPricingCalculatorClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AWSBCMPricingCalculator", "BatchUpdateWorkloadEstimateUsage", {}) + .n("BCMPricingCalculatorClient", "BatchUpdateWorkloadEstimateUsageCommand") + .f(void 0, void 0) + .ser(se_BatchUpdateWorkloadEstimateUsageCommand) + .de(de_BatchUpdateWorkloadEstimateUsageCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: BatchUpdateWorkloadEstimateUsageRequest; + output: BatchUpdateWorkloadEstimateUsageResponse; + }; + sdk: { + input: BatchUpdateWorkloadEstimateUsageCommandInput; + output: BatchUpdateWorkloadEstimateUsageCommandOutput; + }; + }; +} diff --git a/clients/client-bcm-pricing-calculator/src/commands/CreateBillEstimateCommand.ts b/clients/client-bcm-pricing-calculator/src/commands/CreateBillEstimateCommand.ts new file mode 100644 index 000000000000..ef2763ddea3c --- /dev/null +++ b/clients/client-bcm-pricing-calculator/src/commands/CreateBillEstimateCommand.ts @@ -0,0 +1,171 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { + BCMPricingCalculatorClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes, +} from "../BCMPricingCalculatorClient"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { CreateBillEstimateRequest, CreateBillEstimateResponse } from "../models/models_0"; +import { de_CreateBillEstimateCommand, se_CreateBillEstimateCommand } from "../protocols/Aws_json1_0"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link CreateBillEstimateCommand}. + */ +export interface CreateBillEstimateCommandInput extends CreateBillEstimateRequest {} +/** + * @public + * + * The output of {@link CreateBillEstimateCommand}. + */ +export interface CreateBillEstimateCommandOutput extends CreateBillEstimateResponse, __MetadataBearer {} + +/** + *+ * Create a Bill estimate from a Bill scenario. In the Bill scenario you can model usage addition, usage changes, and usage removal. You can also model commitment addition and commitment removal. After all changes in a Bill scenario is made satisfactorily, you can call this API with a Bill scenario ID to generate the Bill estimate. Bill estimate calculates the pre-tax cost for your consolidated billing family, incorporating all modeled usage and commitments alongside existing usage and commitments from your most recent completed anniversary bill, with any applicable discounts applied. + *
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { BCMPricingCalculatorClient, CreateBillEstimateCommand } from "@aws-sdk/client-bcm-pricing-calculator"; // ES Modules import + * // const { BCMPricingCalculatorClient, CreateBillEstimateCommand } = require("@aws-sdk/client-bcm-pricing-calculator"); // CommonJS import + * const client = new BCMPricingCalculatorClient(config); + * const input = { // CreateBillEstimateRequest + * billScenarioId: "STRING_VALUE", // required + * name: "STRING_VALUE", // required + * clientToken: "STRING_VALUE", + * tags: { // Tags + * "+ * The request could not be processed because of conflict in the current state of the resource. + *
+ * + * @throws {@link DataUnavailableException} (client fault) + *+ * The requested data is currently unavailable. + *
+ * + * @throws {@link ResourceNotFoundException} (client fault) + *+ * The specified resource was not found. + *
+ * + * @throws {@link AccessDeniedException} (client fault) + *+ * You do not have sufficient access to perform this action. + *
+ * + * @throws {@link InternalServerException} (server fault) + *+ * An internal error has occurred. Retry your request, but if the problem persists, contact Amazon Web Services support. + *
+ * + * @throws {@link ThrottlingException} (client fault) + *+ * The request was denied due to request throttling. + *
+ * + * @throws {@link ValidationException} (client fault) + *+ * The input provided fails to satisfy the constraints specified by an Amazon Web Services service. + *
+ * + * @throws {@link BCMPricingCalculatorServiceException} + *Base exception class for all service exceptions from BCMPricingCalculator service.
+ * + * @public + */ +export class CreateBillEstimateCommand extends $Command + .classBuilder< + CreateBillEstimateCommandInput, + CreateBillEstimateCommandOutput, + BCMPricingCalculatorClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: BCMPricingCalculatorClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AWSBCMPricingCalculator", "CreateBillEstimate", {}) + .n("BCMPricingCalculatorClient", "CreateBillEstimateCommand") + .f(void 0, void 0) + .ser(se_CreateBillEstimateCommand) + .de(de_CreateBillEstimateCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: CreateBillEstimateRequest; + output: CreateBillEstimateResponse; + }; + sdk: { + input: CreateBillEstimateCommandInput; + output: CreateBillEstimateCommandOutput; + }; + }; +} diff --git a/clients/client-bcm-pricing-calculator/src/commands/CreateBillScenarioCommand.ts b/clients/client-bcm-pricing-calculator/src/commands/CreateBillScenarioCommand.ts new file mode 100644 index 000000000000..d83e11add2ab --- /dev/null +++ b/clients/client-bcm-pricing-calculator/src/commands/CreateBillScenarioCommand.ts @@ -0,0 +1,146 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { + BCMPricingCalculatorClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes, +} from "../BCMPricingCalculatorClient"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { CreateBillScenarioRequest, CreateBillScenarioResponse } from "../models/models_0"; +import { de_CreateBillScenarioCommand, se_CreateBillScenarioCommand } from "../protocols/Aws_json1_0"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link CreateBillScenarioCommand}. + */ +export interface CreateBillScenarioCommandInput extends CreateBillScenarioRequest {} +/** + * @public + * + * The output of {@link CreateBillScenarioCommand}. + */ +export interface CreateBillScenarioCommandOutput extends CreateBillScenarioResponse, __MetadataBearer {} + +/** + *+ * Creates a new bill scenario to model potential changes to Amazon Web Services usage and costs. + *
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { BCMPricingCalculatorClient, CreateBillScenarioCommand } from "@aws-sdk/client-bcm-pricing-calculator"; // ES Modules import + * // const { BCMPricingCalculatorClient, CreateBillScenarioCommand } = require("@aws-sdk/client-bcm-pricing-calculator"); // CommonJS import + * const client = new BCMPricingCalculatorClient(config); + * const input = { // CreateBillScenarioRequest + * name: "STRING_VALUE", // required + * clientToken: "STRING_VALUE", + * tags: { // Tags + * "+ * The request could not be processed because of conflict in the current state of the resource. + *
+ * + * @throws {@link DataUnavailableException} (client fault) + *+ * The requested data is currently unavailable. + *
+ * + * @throws {@link ServiceQuotaExceededException} (client fault) + *+ * The request would cause you to exceed your service quota. + *
+ * + * @throws {@link AccessDeniedException} (client fault) + *+ * You do not have sufficient access to perform this action. + *
+ * + * @throws {@link InternalServerException} (server fault) + *+ * An internal error has occurred. Retry your request, but if the problem persists, contact Amazon Web Services support. + *
+ * + * @throws {@link ThrottlingException} (client fault) + *+ * The request was denied due to request throttling. + *
+ * + * @throws {@link ValidationException} (client fault) + *+ * The input provided fails to satisfy the constraints specified by an Amazon Web Services service. + *
+ * + * @throws {@link BCMPricingCalculatorServiceException} + *Base exception class for all service exceptions from BCMPricingCalculator service.
+ * + * @public + */ +export class CreateBillScenarioCommand extends $Command + .classBuilder< + CreateBillScenarioCommandInput, + CreateBillScenarioCommandOutput, + BCMPricingCalculatorClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: BCMPricingCalculatorClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AWSBCMPricingCalculator", "CreateBillScenario", {}) + .n("BCMPricingCalculatorClient", "CreateBillScenarioCommand") + .f(void 0, void 0) + .ser(se_CreateBillScenarioCommand) + .de(de_CreateBillScenarioCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: CreateBillScenarioRequest; + output: CreateBillScenarioResponse; + }; + sdk: { + input: CreateBillScenarioCommandInput; + output: CreateBillScenarioCommandOutput; + }; + }; +} diff --git a/clients/client-bcm-pricing-calculator/src/commands/CreateWorkloadEstimateCommand.ts b/clients/client-bcm-pricing-calculator/src/commands/CreateWorkloadEstimateCommand.ts new file mode 100644 index 000000000000..05f30d136926 --- /dev/null +++ b/clients/client-bcm-pricing-calculator/src/commands/CreateWorkloadEstimateCommand.ts @@ -0,0 +1,147 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { + BCMPricingCalculatorClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes, +} from "../BCMPricingCalculatorClient"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { CreateWorkloadEstimateRequest, CreateWorkloadEstimateResponse } from "../models/models_0"; +import { de_CreateWorkloadEstimateCommand, se_CreateWorkloadEstimateCommand } from "../protocols/Aws_json1_0"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link CreateWorkloadEstimateCommand}. + */ +export interface CreateWorkloadEstimateCommandInput extends CreateWorkloadEstimateRequest {} +/** + * @public + * + * The output of {@link CreateWorkloadEstimateCommand}. + */ +export interface CreateWorkloadEstimateCommandOutput extends CreateWorkloadEstimateResponse, __MetadataBearer {} + +/** + *+ * Creates a new workload estimate to model costs for a specific workload. + *
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { BCMPricingCalculatorClient, CreateWorkloadEstimateCommand } from "@aws-sdk/client-bcm-pricing-calculator"; // ES Modules import + * // const { BCMPricingCalculatorClient, CreateWorkloadEstimateCommand } = require("@aws-sdk/client-bcm-pricing-calculator"); // CommonJS import + * const client = new BCMPricingCalculatorClient(config); + * const input = { // CreateWorkloadEstimateRequest + * name: "STRING_VALUE", // required + * clientToken: "STRING_VALUE", + * rateType: "BEFORE_DISCOUNTS" || "AFTER_DISCOUNTS", + * tags: { // Tags + * "+ * The request could not be processed because of conflict in the current state of the resource. + *
+ * + * @throws {@link DataUnavailableException} (client fault) + *+ * The requested data is currently unavailable. + *
+ * + * @throws {@link ServiceQuotaExceededException} (client fault) + *+ * The request would cause you to exceed your service quota. + *
+ * + * @throws {@link AccessDeniedException} (client fault) + *+ * You do not have sufficient access to perform this action. + *
+ * + * @throws {@link InternalServerException} (server fault) + *+ * An internal error has occurred. Retry your request, but if the problem persists, contact Amazon Web Services support. + *
+ * + * @throws {@link ThrottlingException} (client fault) + *+ * The request was denied due to request throttling. + *
+ * + * @throws {@link ValidationException} (client fault) + *+ * The input provided fails to satisfy the constraints specified by an Amazon Web Services service. + *
+ * + * @throws {@link BCMPricingCalculatorServiceException} + *Base exception class for all service exceptions from BCMPricingCalculator service.
+ * + * @public + */ +export class CreateWorkloadEstimateCommand extends $Command + .classBuilder< + CreateWorkloadEstimateCommandInput, + CreateWorkloadEstimateCommandOutput, + BCMPricingCalculatorClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: BCMPricingCalculatorClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AWSBCMPricingCalculator", "CreateWorkloadEstimate", {}) + .n("BCMPricingCalculatorClient", "CreateWorkloadEstimateCommand") + .f(void 0, void 0) + .ser(se_CreateWorkloadEstimateCommand) + .de(de_CreateWorkloadEstimateCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: CreateWorkloadEstimateRequest; + output: CreateWorkloadEstimateResponse; + }; + sdk: { + input: CreateWorkloadEstimateCommandInput; + output: CreateWorkloadEstimateCommandOutput; + }; + }; +} diff --git a/clients/client-bcm-pricing-calculator/src/commands/DeleteBillEstimateCommand.ts b/clients/client-bcm-pricing-calculator/src/commands/DeleteBillEstimateCommand.ts new file mode 100644 index 000000000000..6f3c24b8707f --- /dev/null +++ b/clients/client-bcm-pricing-calculator/src/commands/DeleteBillEstimateCommand.ts @@ -0,0 +1,121 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { + BCMPricingCalculatorClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes, +} from "../BCMPricingCalculatorClient"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { DeleteBillEstimateRequest, DeleteBillEstimateResponse } from "../models/models_0"; +import { de_DeleteBillEstimateCommand, se_DeleteBillEstimateCommand } from "../protocols/Aws_json1_0"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link DeleteBillEstimateCommand}. + */ +export interface DeleteBillEstimateCommandInput extends DeleteBillEstimateRequest {} +/** + * @public + * + * The output of {@link DeleteBillEstimateCommand}. + */ +export interface DeleteBillEstimateCommandOutput extends DeleteBillEstimateResponse, __MetadataBearer {} + +/** + *+ * Deletes an existing bill estimate. + *
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { BCMPricingCalculatorClient, DeleteBillEstimateCommand } from "@aws-sdk/client-bcm-pricing-calculator"; // ES Modules import + * // const { BCMPricingCalculatorClient, DeleteBillEstimateCommand } = require("@aws-sdk/client-bcm-pricing-calculator"); // CommonJS import + * const client = new BCMPricingCalculatorClient(config); + * const input = { // DeleteBillEstimateRequest + * identifier: "STRING_VALUE", // required + * }; + * const command = new DeleteBillEstimateCommand(input); + * const response = await client.send(command); + * // {}; + * + * ``` + * + * @param DeleteBillEstimateCommandInput - {@link DeleteBillEstimateCommandInput} + * @returns {@link DeleteBillEstimateCommandOutput} + * @see {@link DeleteBillEstimateCommandInput} for command's `input` shape. + * @see {@link DeleteBillEstimateCommandOutput} for command's `response` shape. + * @see {@link BCMPricingCalculatorClientResolvedConfig | config} for BCMPricingCalculatorClient's `config` shape. + * + * @throws {@link DataUnavailableException} (client fault) + *+ * The requested data is currently unavailable. + *
+ * + * @throws {@link AccessDeniedException} (client fault) + *+ * You do not have sufficient access to perform this action. + *
+ * + * @throws {@link InternalServerException} (server fault) + *+ * An internal error has occurred. Retry your request, but if the problem persists, contact Amazon Web Services support. + *
+ * + * @throws {@link ThrottlingException} (client fault) + *+ * The request was denied due to request throttling. + *
+ * + * @throws {@link ValidationException} (client fault) + *+ * The input provided fails to satisfy the constraints specified by an Amazon Web Services service. + *
+ * + * @throws {@link BCMPricingCalculatorServiceException} + *Base exception class for all service exceptions from BCMPricingCalculator service.
+ * + * @public + */ +export class DeleteBillEstimateCommand extends $Command + .classBuilder< + DeleteBillEstimateCommandInput, + DeleteBillEstimateCommandOutput, + BCMPricingCalculatorClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: BCMPricingCalculatorClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AWSBCMPricingCalculator", "DeleteBillEstimate", {}) + .n("BCMPricingCalculatorClient", "DeleteBillEstimateCommand") + .f(void 0, void 0) + .ser(se_DeleteBillEstimateCommand) + .de(de_DeleteBillEstimateCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: DeleteBillEstimateRequest; + output: {}; + }; + sdk: { + input: DeleteBillEstimateCommandInput; + output: DeleteBillEstimateCommandOutput; + }; + }; +} diff --git a/clients/client-bcm-pricing-calculator/src/commands/DeleteBillScenarioCommand.ts b/clients/client-bcm-pricing-calculator/src/commands/DeleteBillScenarioCommand.ts new file mode 100644 index 000000000000..4c0864b51865 --- /dev/null +++ b/clients/client-bcm-pricing-calculator/src/commands/DeleteBillScenarioCommand.ts @@ -0,0 +1,121 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { + BCMPricingCalculatorClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes, +} from "../BCMPricingCalculatorClient"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { DeleteBillScenarioRequest, DeleteBillScenarioResponse } from "../models/models_0"; +import { de_DeleteBillScenarioCommand, se_DeleteBillScenarioCommand } from "../protocols/Aws_json1_0"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link DeleteBillScenarioCommand}. + */ +export interface DeleteBillScenarioCommandInput extends DeleteBillScenarioRequest {} +/** + * @public + * + * The output of {@link DeleteBillScenarioCommand}. + */ +export interface DeleteBillScenarioCommandOutput extends DeleteBillScenarioResponse, __MetadataBearer {} + +/** + *+ * Deletes an existing bill scenario. + *
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { BCMPricingCalculatorClient, DeleteBillScenarioCommand } from "@aws-sdk/client-bcm-pricing-calculator"; // ES Modules import + * // const { BCMPricingCalculatorClient, DeleteBillScenarioCommand } = require("@aws-sdk/client-bcm-pricing-calculator"); // CommonJS import + * const client = new BCMPricingCalculatorClient(config); + * const input = { // DeleteBillScenarioRequest + * identifier: "STRING_VALUE", // required + * }; + * const command = new DeleteBillScenarioCommand(input); + * const response = await client.send(command); + * // {}; + * + * ``` + * + * @param DeleteBillScenarioCommandInput - {@link DeleteBillScenarioCommandInput} + * @returns {@link DeleteBillScenarioCommandOutput} + * @see {@link DeleteBillScenarioCommandInput} for command's `input` shape. + * @see {@link DeleteBillScenarioCommandOutput} for command's `response` shape. + * @see {@link BCMPricingCalculatorClientResolvedConfig | config} for BCMPricingCalculatorClient's `config` shape. + * + * @throws {@link DataUnavailableException} (client fault) + *+ * The requested data is currently unavailable. + *
+ * + * @throws {@link AccessDeniedException} (client fault) + *+ * You do not have sufficient access to perform this action. + *
+ * + * @throws {@link InternalServerException} (server fault) + *+ * An internal error has occurred. Retry your request, but if the problem persists, contact Amazon Web Services support. + *
+ * + * @throws {@link ThrottlingException} (client fault) + *+ * The request was denied due to request throttling. + *
+ * + * @throws {@link ValidationException} (client fault) + *+ * The input provided fails to satisfy the constraints specified by an Amazon Web Services service. + *
+ * + * @throws {@link BCMPricingCalculatorServiceException} + *Base exception class for all service exceptions from BCMPricingCalculator service.
+ * + * @public + */ +export class DeleteBillScenarioCommand extends $Command + .classBuilder< + DeleteBillScenarioCommandInput, + DeleteBillScenarioCommandOutput, + BCMPricingCalculatorClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: BCMPricingCalculatorClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AWSBCMPricingCalculator", "DeleteBillScenario", {}) + .n("BCMPricingCalculatorClient", "DeleteBillScenarioCommand") + .f(void 0, void 0) + .ser(se_DeleteBillScenarioCommand) + .de(de_DeleteBillScenarioCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: DeleteBillScenarioRequest; + output: {}; + }; + sdk: { + input: DeleteBillScenarioCommandInput; + output: DeleteBillScenarioCommandOutput; + }; + }; +} diff --git a/clients/client-bcm-pricing-calculator/src/commands/DeleteWorkloadEstimateCommand.ts b/clients/client-bcm-pricing-calculator/src/commands/DeleteWorkloadEstimateCommand.ts new file mode 100644 index 000000000000..c32cd2983104 --- /dev/null +++ b/clients/client-bcm-pricing-calculator/src/commands/DeleteWorkloadEstimateCommand.ts @@ -0,0 +1,121 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { + BCMPricingCalculatorClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes, +} from "../BCMPricingCalculatorClient"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { DeleteWorkloadEstimateRequest, DeleteWorkloadEstimateResponse } from "../models/models_0"; +import { de_DeleteWorkloadEstimateCommand, se_DeleteWorkloadEstimateCommand } from "../protocols/Aws_json1_0"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link DeleteWorkloadEstimateCommand}. + */ +export interface DeleteWorkloadEstimateCommandInput extends DeleteWorkloadEstimateRequest {} +/** + * @public + * + * The output of {@link DeleteWorkloadEstimateCommand}. + */ +export interface DeleteWorkloadEstimateCommandOutput extends DeleteWorkloadEstimateResponse, __MetadataBearer {} + +/** + *+ * Deletes an existing workload estimate. + *
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { BCMPricingCalculatorClient, DeleteWorkloadEstimateCommand } from "@aws-sdk/client-bcm-pricing-calculator"; // ES Modules import + * // const { BCMPricingCalculatorClient, DeleteWorkloadEstimateCommand } = require("@aws-sdk/client-bcm-pricing-calculator"); // CommonJS import + * const client = new BCMPricingCalculatorClient(config); + * const input = { // DeleteWorkloadEstimateRequest + * identifier: "STRING_VALUE", // required + * }; + * const command = new DeleteWorkloadEstimateCommand(input); + * const response = await client.send(command); + * // {}; + * + * ``` + * + * @param DeleteWorkloadEstimateCommandInput - {@link DeleteWorkloadEstimateCommandInput} + * @returns {@link DeleteWorkloadEstimateCommandOutput} + * @see {@link DeleteWorkloadEstimateCommandInput} for command's `input` shape. + * @see {@link DeleteWorkloadEstimateCommandOutput} for command's `response` shape. + * @see {@link BCMPricingCalculatorClientResolvedConfig | config} for BCMPricingCalculatorClient's `config` shape. + * + * @throws {@link DataUnavailableException} (client fault) + *+ * The requested data is currently unavailable. + *
+ * + * @throws {@link AccessDeniedException} (client fault) + *+ * You do not have sufficient access to perform this action. + *
+ * + * @throws {@link InternalServerException} (server fault) + *+ * An internal error has occurred. Retry your request, but if the problem persists, contact Amazon Web Services support. + *
+ * + * @throws {@link ThrottlingException} (client fault) + *+ * The request was denied due to request throttling. + *
+ * + * @throws {@link ValidationException} (client fault) + *+ * The input provided fails to satisfy the constraints specified by an Amazon Web Services service. + *
+ * + * @throws {@link BCMPricingCalculatorServiceException} + *Base exception class for all service exceptions from BCMPricingCalculator service.
+ * + * @public + */ +export class DeleteWorkloadEstimateCommand extends $Command + .classBuilder< + DeleteWorkloadEstimateCommandInput, + DeleteWorkloadEstimateCommandOutput, + BCMPricingCalculatorClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: BCMPricingCalculatorClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AWSBCMPricingCalculator", "DeleteWorkloadEstimate", {}) + .n("BCMPricingCalculatorClient", "DeleteWorkloadEstimateCommand") + .f(void 0, void 0) + .ser(se_DeleteWorkloadEstimateCommand) + .de(de_DeleteWorkloadEstimateCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: DeleteWorkloadEstimateRequest; + output: {}; + }; + sdk: { + input: DeleteWorkloadEstimateCommandInput; + output: DeleteWorkloadEstimateCommandOutput; + }; + }; +} diff --git a/clients/client-bcm-pricing-calculator/src/commands/GetBillEstimateCommand.ts b/clients/client-bcm-pricing-calculator/src/commands/GetBillEstimateCommand.ts new file mode 100644 index 000000000000..e07e7b719dd2 --- /dev/null +++ b/clients/client-bcm-pricing-calculator/src/commands/GetBillEstimateCommand.ts @@ -0,0 +1,161 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { + BCMPricingCalculatorClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes, +} from "../BCMPricingCalculatorClient"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { GetBillEstimateRequest, GetBillEstimateResponse } from "../models/models_0"; +import { de_GetBillEstimateCommand, se_GetBillEstimateCommand } from "../protocols/Aws_json1_0"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link GetBillEstimateCommand}. + */ +export interface GetBillEstimateCommandInput extends GetBillEstimateRequest {} +/** + * @public + * + * The output of {@link GetBillEstimateCommand}. + */ +export interface GetBillEstimateCommandOutput extends GetBillEstimateResponse, __MetadataBearer {} + +/** + *+ * Retrieves details of a specific bill estimate. + *
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { BCMPricingCalculatorClient, GetBillEstimateCommand } from "@aws-sdk/client-bcm-pricing-calculator"; // ES Modules import + * // const { BCMPricingCalculatorClient, GetBillEstimateCommand } = require("@aws-sdk/client-bcm-pricing-calculator"); // CommonJS import + * const client = new BCMPricingCalculatorClient(config); + * const input = { // GetBillEstimateRequest + * identifier: "STRING_VALUE", // required + * }; + * const command = new GetBillEstimateCommand(input); + * const response = await client.send(command); + * // { // GetBillEstimateResponse + * // id: "STRING_VALUE", // required + * // name: "STRING_VALUE", + * // status: "IN_PROGRESS" || "COMPLETE" || "FAILED", + * // failureMessage: "STRING_VALUE", + * // billInterval: { // BillInterval + * // start: new Date("TIMESTAMP"), + * // end: new Date("TIMESTAMP"), + * // }, + * // costSummary: { // BillEstimateCostSummary + * // totalCostDifference: { // CostDifference + * // historicalCost: { // CostAmount + * // amount: Number("double"), + * // currency: "USD", + * // }, + * // estimatedCost: { + * // amount: Number("double"), + * // currency: "USD", + * // }, + * // }, + * // serviceCostDifferences: { // ServiceCostDifferenceMap + * // "+ * The requested data is currently unavailable. + *
+ * + * @throws {@link ResourceNotFoundException} (client fault) + *+ * The specified resource was not found. + *
+ * + * @throws {@link AccessDeniedException} (client fault) + *+ * You do not have sufficient access to perform this action. + *
+ * + * @throws {@link InternalServerException} (server fault) + *+ * An internal error has occurred. Retry your request, but if the problem persists, contact Amazon Web Services support. + *
+ * + * @throws {@link ThrottlingException} (client fault) + *+ * The request was denied due to request throttling. + *
+ * + * @throws {@link ValidationException} (client fault) + *+ * The input provided fails to satisfy the constraints specified by an Amazon Web Services service. + *
+ * + * @throws {@link BCMPricingCalculatorServiceException} + *Base exception class for all service exceptions from BCMPricingCalculator service.
+ * + * @public + */ +export class GetBillEstimateCommand extends $Command + .classBuilder< + GetBillEstimateCommandInput, + GetBillEstimateCommandOutput, + BCMPricingCalculatorClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: BCMPricingCalculatorClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AWSBCMPricingCalculator", "GetBillEstimate", {}) + .n("BCMPricingCalculatorClient", "GetBillEstimateCommand") + .f(void 0, void 0) + .ser(se_GetBillEstimateCommand) + .de(de_GetBillEstimateCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: GetBillEstimateRequest; + output: GetBillEstimateResponse; + }; + sdk: { + input: GetBillEstimateCommandInput; + output: GetBillEstimateCommandOutput; + }; + }; +} diff --git a/clients/client-bcm-pricing-calculator/src/commands/GetBillScenarioCommand.ts b/clients/client-bcm-pricing-calculator/src/commands/GetBillScenarioCommand.ts new file mode 100644 index 000000000000..bd3ef755bffa --- /dev/null +++ b/clients/client-bcm-pricing-calculator/src/commands/GetBillScenarioCommand.ts @@ -0,0 +1,137 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { + BCMPricingCalculatorClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes, +} from "../BCMPricingCalculatorClient"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { GetBillScenarioRequest, GetBillScenarioResponse } from "../models/models_0"; +import { de_GetBillScenarioCommand, se_GetBillScenarioCommand } from "../protocols/Aws_json1_0"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link GetBillScenarioCommand}. + */ +export interface GetBillScenarioCommandInput extends GetBillScenarioRequest {} +/** + * @public + * + * The output of {@link GetBillScenarioCommand}. + */ +export interface GetBillScenarioCommandOutput extends GetBillScenarioResponse, __MetadataBearer {} + +/** + *+ * Retrieves details of a specific bill scenario. + *
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { BCMPricingCalculatorClient, GetBillScenarioCommand } from "@aws-sdk/client-bcm-pricing-calculator"; // ES Modules import + * // const { BCMPricingCalculatorClient, GetBillScenarioCommand } = require("@aws-sdk/client-bcm-pricing-calculator"); // CommonJS import + * const client = new BCMPricingCalculatorClient(config); + * const input = { // GetBillScenarioRequest + * identifier: "STRING_VALUE", // required + * }; + * const command = new GetBillScenarioCommand(input); + * const response = await client.send(command); + * // { // GetBillScenarioResponse + * // id: "STRING_VALUE", // required + * // name: "STRING_VALUE", + * // billInterval: { // BillInterval + * // start: new Date("TIMESTAMP"), + * // end: new Date("TIMESTAMP"), + * // }, + * // status: "READY" || "LOCKED" || "FAILED", + * // createdAt: new Date("TIMESTAMP"), + * // expiresAt: new Date("TIMESTAMP"), + * // failureMessage: "STRING_VALUE", + * // }; + * + * ``` + * + * @param GetBillScenarioCommandInput - {@link GetBillScenarioCommandInput} + * @returns {@link GetBillScenarioCommandOutput} + * @see {@link GetBillScenarioCommandInput} for command's `input` shape. + * @see {@link GetBillScenarioCommandOutput} for command's `response` shape. + * @see {@link BCMPricingCalculatorClientResolvedConfig | config} for BCMPricingCalculatorClient's `config` shape. + * + * @throws {@link DataUnavailableException} (client fault) + *+ * The requested data is currently unavailable. + *
+ * + * @throws {@link ResourceNotFoundException} (client fault) + *+ * The specified resource was not found. + *
+ * + * @throws {@link AccessDeniedException} (client fault) + *+ * You do not have sufficient access to perform this action. + *
+ * + * @throws {@link InternalServerException} (server fault) + *+ * An internal error has occurred. Retry your request, but if the problem persists, contact Amazon Web Services support. + *
+ * + * @throws {@link ThrottlingException} (client fault) + *+ * The request was denied due to request throttling. + *
+ * + * @throws {@link ValidationException} (client fault) + *+ * The input provided fails to satisfy the constraints specified by an Amazon Web Services service. + *
+ * + * @throws {@link BCMPricingCalculatorServiceException} + *Base exception class for all service exceptions from BCMPricingCalculator service.
+ * + * @public + */ +export class GetBillScenarioCommand extends $Command + .classBuilder< + GetBillScenarioCommandInput, + GetBillScenarioCommandOutput, + BCMPricingCalculatorClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: BCMPricingCalculatorClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AWSBCMPricingCalculator", "GetBillScenario", {}) + .n("BCMPricingCalculatorClient", "GetBillScenarioCommand") + .f(void 0, void 0) + .ser(se_GetBillScenarioCommand) + .de(de_GetBillScenarioCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: GetBillScenarioRequest; + output: GetBillScenarioResponse; + }; + sdk: { + input: GetBillScenarioCommandInput; + output: GetBillScenarioCommandOutput; + }; + }; +} diff --git a/clients/client-bcm-pricing-calculator/src/commands/GetPreferencesCommand.ts b/clients/client-bcm-pricing-calculator/src/commands/GetPreferencesCommand.ts new file mode 100644 index 000000000000..5362cb303d02 --- /dev/null +++ b/clients/client-bcm-pricing-calculator/src/commands/GetPreferencesCommand.ts @@ -0,0 +1,126 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { + BCMPricingCalculatorClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes, +} from "../BCMPricingCalculatorClient"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { GetPreferencesRequest, GetPreferencesResponse } from "../models/models_0"; +import { de_GetPreferencesCommand, se_GetPreferencesCommand } from "../protocols/Aws_json1_0"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link GetPreferencesCommand}. + */ +export interface GetPreferencesCommandInput extends GetPreferencesRequest {} +/** + * @public + * + * The output of {@link GetPreferencesCommand}. + */ +export interface GetPreferencesCommandOutput extends GetPreferencesResponse, __MetadataBearer {} + +/** + *+ * Retrieves the current preferences for the Amazon Web Services Cost Explorer service. + *
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { BCMPricingCalculatorClient, GetPreferencesCommand } from "@aws-sdk/client-bcm-pricing-calculator"; // ES Modules import + * // const { BCMPricingCalculatorClient, GetPreferencesCommand } = require("@aws-sdk/client-bcm-pricing-calculator"); // CommonJS import + * const client = new BCMPricingCalculatorClient(config); + * const input = {}; + * const command = new GetPreferencesCommand(input); + * const response = await client.send(command); + * // { // GetPreferencesResponse + * // managementAccountRateTypeSelections: [ // RateTypes + * // "BEFORE_DISCOUNTS" || "AFTER_DISCOUNTS", + * // ], + * // memberAccountRateTypeSelections: [ + * // "BEFORE_DISCOUNTS" || "AFTER_DISCOUNTS", + * // ], + * // }; + * + * ``` + * + * @param GetPreferencesCommandInput - {@link GetPreferencesCommandInput} + * @returns {@link GetPreferencesCommandOutput} + * @see {@link GetPreferencesCommandInput} for command's `input` shape. + * @see {@link GetPreferencesCommandOutput} for command's `response` shape. + * @see {@link BCMPricingCalculatorClientResolvedConfig | config} for BCMPricingCalculatorClient's `config` shape. + * + * @throws {@link DataUnavailableException} (client fault) + *+ * The requested data is currently unavailable. + *
+ * + * @throws {@link AccessDeniedException} (client fault) + *+ * You do not have sufficient access to perform this action. + *
+ * + * @throws {@link InternalServerException} (server fault) + *+ * An internal error has occurred. Retry your request, but if the problem persists, contact Amazon Web Services support. + *
+ * + * @throws {@link ThrottlingException} (client fault) + *+ * The request was denied due to request throttling. + *
+ * + * @throws {@link ValidationException} (client fault) + *+ * The input provided fails to satisfy the constraints specified by an Amazon Web Services service. + *
+ * + * @throws {@link BCMPricingCalculatorServiceException} + *Base exception class for all service exceptions from BCMPricingCalculator service.
+ * + * @public + */ +export class GetPreferencesCommand extends $Command + .classBuilder< + GetPreferencesCommandInput, + GetPreferencesCommandOutput, + BCMPricingCalculatorClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: BCMPricingCalculatorClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AWSBCMPricingCalculator", "GetPreferences", {}) + .n("BCMPricingCalculatorClient", "GetPreferencesCommand") + .f(void 0, void 0) + .ser(se_GetPreferencesCommand) + .de(de_GetPreferencesCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: {}; + output: GetPreferencesResponse; + }; + sdk: { + input: GetPreferencesCommandInput; + output: GetPreferencesCommandOutput; + }; + }; +} diff --git a/clients/client-bcm-pricing-calculator/src/commands/GetWorkloadEstimateCommand.ts b/clients/client-bcm-pricing-calculator/src/commands/GetWorkloadEstimateCommand.ts new file mode 100644 index 000000000000..4bc783eca29d --- /dev/null +++ b/clients/client-bcm-pricing-calculator/src/commands/GetWorkloadEstimateCommand.ts @@ -0,0 +1,137 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { + BCMPricingCalculatorClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes, +} from "../BCMPricingCalculatorClient"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { GetWorkloadEstimateRequest, GetWorkloadEstimateResponse } from "../models/models_0"; +import { de_GetWorkloadEstimateCommand, se_GetWorkloadEstimateCommand } from "../protocols/Aws_json1_0"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link GetWorkloadEstimateCommand}. + */ +export interface GetWorkloadEstimateCommandInput extends GetWorkloadEstimateRequest {} +/** + * @public + * + * The output of {@link GetWorkloadEstimateCommand}. + */ +export interface GetWorkloadEstimateCommandOutput extends GetWorkloadEstimateResponse, __MetadataBearer {} + +/** + *+ * Retrieves details of a specific workload estimate. + *
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { BCMPricingCalculatorClient, GetWorkloadEstimateCommand } from "@aws-sdk/client-bcm-pricing-calculator"; // ES Modules import + * // const { BCMPricingCalculatorClient, GetWorkloadEstimateCommand } = require("@aws-sdk/client-bcm-pricing-calculator"); // CommonJS import + * const client = new BCMPricingCalculatorClient(config); + * const input = { // GetWorkloadEstimateRequest + * identifier: "STRING_VALUE", // required + * }; + * const command = new GetWorkloadEstimateCommand(input); + * const response = await client.send(command); + * // { // GetWorkloadEstimateResponse + * // id: "STRING_VALUE", // required + * // name: "STRING_VALUE", + * // createdAt: new Date("TIMESTAMP"), + * // expiresAt: new Date("TIMESTAMP"), + * // rateType: "BEFORE_DISCOUNTS" || "AFTER_DISCOUNTS", + * // rateTimestamp: new Date("TIMESTAMP"), + * // status: "UPDATING" || "VALID" || "INVALID" || "ACTION_NEEDED", + * // totalCost: Number("double"), + * // costCurrency: "USD", + * // failureMessage: "STRING_VALUE", + * // }; + * + * ``` + * + * @param GetWorkloadEstimateCommandInput - {@link GetWorkloadEstimateCommandInput} + * @returns {@link GetWorkloadEstimateCommandOutput} + * @see {@link GetWorkloadEstimateCommandInput} for command's `input` shape. + * @see {@link GetWorkloadEstimateCommandOutput} for command's `response` shape. + * @see {@link BCMPricingCalculatorClientResolvedConfig | config} for BCMPricingCalculatorClient's `config` shape. + * + * @throws {@link DataUnavailableException} (client fault) + *+ * The requested data is currently unavailable. + *
+ * + * @throws {@link ResourceNotFoundException} (client fault) + *+ * The specified resource was not found. + *
+ * + * @throws {@link AccessDeniedException} (client fault) + *+ * You do not have sufficient access to perform this action. + *
+ * + * @throws {@link InternalServerException} (server fault) + *+ * An internal error has occurred. Retry your request, but if the problem persists, contact Amazon Web Services support. + *
+ * + * @throws {@link ThrottlingException} (client fault) + *+ * The request was denied due to request throttling. + *
+ * + * @throws {@link ValidationException} (client fault) + *+ * The input provided fails to satisfy the constraints specified by an Amazon Web Services service. + *
+ * + * @throws {@link BCMPricingCalculatorServiceException} + *Base exception class for all service exceptions from BCMPricingCalculator service.
+ * + * @public + */ +export class GetWorkloadEstimateCommand extends $Command + .classBuilder< + GetWorkloadEstimateCommandInput, + GetWorkloadEstimateCommandOutput, + BCMPricingCalculatorClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: BCMPricingCalculatorClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AWSBCMPricingCalculator", "GetWorkloadEstimate", {}) + .n("BCMPricingCalculatorClient", "GetWorkloadEstimateCommand") + .f(void 0, void 0) + .ser(se_GetWorkloadEstimateCommand) + .de(de_GetWorkloadEstimateCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: GetWorkloadEstimateRequest; + output: GetWorkloadEstimateResponse; + }; + sdk: { + input: GetWorkloadEstimateCommandInput; + output: GetWorkloadEstimateCommandOutput; + }; + }; +} diff --git a/clients/client-bcm-pricing-calculator/src/commands/ListBillEstimateCommitmentsCommand.ts b/clients/client-bcm-pricing-calculator/src/commands/ListBillEstimateCommitmentsCommand.ts new file mode 100644 index 000000000000..0a035bc7ed70 --- /dev/null +++ b/clients/client-bcm-pricing-calculator/src/commands/ListBillEstimateCommitmentsCommand.ts @@ -0,0 +1,151 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { + BCMPricingCalculatorClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes, +} from "../BCMPricingCalculatorClient"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { ListBillEstimateCommitmentsRequest, ListBillEstimateCommitmentsResponse } from "../models/models_0"; +import { de_ListBillEstimateCommitmentsCommand, se_ListBillEstimateCommitmentsCommand } from "../protocols/Aws_json1_0"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link ListBillEstimateCommitmentsCommand}. + */ +export interface ListBillEstimateCommitmentsCommandInput extends ListBillEstimateCommitmentsRequest {} +/** + * @public + * + * The output of {@link ListBillEstimateCommitmentsCommand}. + */ +export interface ListBillEstimateCommitmentsCommandOutput + extends ListBillEstimateCommitmentsResponse, + __MetadataBearer {} + +/** + *+ * Lists the commitments associated with a bill estimate. + *
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { BCMPricingCalculatorClient, ListBillEstimateCommitmentsCommand } from "@aws-sdk/client-bcm-pricing-calculator"; // ES Modules import + * // const { BCMPricingCalculatorClient, ListBillEstimateCommitmentsCommand } = require("@aws-sdk/client-bcm-pricing-calculator"); // CommonJS import + * const client = new BCMPricingCalculatorClient(config); + * const input = { // ListBillEstimateCommitmentsRequest + * billEstimateId: "STRING_VALUE", // required + * nextToken: "STRING_VALUE", + * maxResults: Number("int"), + * }; + * const command = new ListBillEstimateCommitmentsCommand(input); + * const response = await client.send(command); + * // { // ListBillEstimateCommitmentsResponse + * // items: [ // BillEstimateCommitmentSummaries + * // { // BillEstimateCommitmentSummary + * // id: "STRING_VALUE", + * // purchaseAgreementType: "SAVINGS_PLANS" || "RESERVED_INSTANCE", + * // offeringId: "STRING_VALUE", + * // usageAccountId: "STRING_VALUE", + * // region: "STRING_VALUE", + * // termLength: "STRING_VALUE", + * // paymentOption: "STRING_VALUE", + * // upfrontPayment: { // CostAmount + * // amount: Number("double"), + * // currency: "USD", + * // }, + * // monthlyPayment: { + * // amount: Number("double"), + * // currency: "USD", + * // }, + * // }, + * // ], + * // nextToken: "STRING_VALUE", + * // }; + * + * ``` + * + * @param ListBillEstimateCommitmentsCommandInput - {@link ListBillEstimateCommitmentsCommandInput} + * @returns {@link ListBillEstimateCommitmentsCommandOutput} + * @see {@link ListBillEstimateCommitmentsCommandInput} for command's `input` shape. + * @see {@link ListBillEstimateCommitmentsCommandOutput} for command's `response` shape. + * @see {@link BCMPricingCalculatorClientResolvedConfig | config} for BCMPricingCalculatorClient's `config` shape. + * + * @throws {@link DataUnavailableException} (client fault) + *+ * The requested data is currently unavailable. + *
+ * + * @throws {@link ResourceNotFoundException} (client fault) + *+ * The specified resource was not found. + *
+ * + * @throws {@link AccessDeniedException} (client fault) + *+ * You do not have sufficient access to perform this action. + *
+ * + * @throws {@link InternalServerException} (server fault) + *+ * An internal error has occurred. Retry your request, but if the problem persists, contact Amazon Web Services support. + *
+ * + * @throws {@link ThrottlingException} (client fault) + *+ * The request was denied due to request throttling. + *
+ * + * @throws {@link ValidationException} (client fault) + *+ * The input provided fails to satisfy the constraints specified by an Amazon Web Services service. + *
+ * + * @throws {@link BCMPricingCalculatorServiceException} + *Base exception class for all service exceptions from BCMPricingCalculator service.
+ * + * @public + */ +export class ListBillEstimateCommitmentsCommand extends $Command + .classBuilder< + ListBillEstimateCommitmentsCommandInput, + ListBillEstimateCommitmentsCommandOutput, + BCMPricingCalculatorClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: BCMPricingCalculatorClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AWSBCMPricingCalculator", "ListBillEstimateCommitments", {}) + .n("BCMPricingCalculatorClient", "ListBillEstimateCommitmentsCommand") + .f(void 0, void 0) + .ser(se_ListBillEstimateCommitmentsCommand) + .de(de_ListBillEstimateCommitmentsCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: ListBillEstimateCommitmentsRequest; + output: ListBillEstimateCommitmentsResponse; + }; + sdk: { + input: ListBillEstimateCommitmentsCommandInput; + output: ListBillEstimateCommitmentsCommandOutput; + }; + }; +} diff --git a/clients/client-bcm-pricing-calculator/src/commands/ListBillEstimateInputCommitmentModificationsCommand.ts b/clients/client-bcm-pricing-calculator/src/commands/ListBillEstimateInputCommitmentModificationsCommand.ts new file mode 100644 index 000000000000..bc94706d4b68 --- /dev/null +++ b/clients/client-bcm-pricing-calculator/src/commands/ListBillEstimateInputCommitmentModificationsCommand.ts @@ -0,0 +1,162 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { + BCMPricingCalculatorClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes, +} from "../BCMPricingCalculatorClient"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { + ListBillEstimateInputCommitmentModificationsRequest, + ListBillEstimateInputCommitmentModificationsResponse, +} from "../models/models_0"; +import { + de_ListBillEstimateInputCommitmentModificationsCommand, + se_ListBillEstimateInputCommitmentModificationsCommand, +} from "../protocols/Aws_json1_0"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link ListBillEstimateInputCommitmentModificationsCommand}. + */ +export interface ListBillEstimateInputCommitmentModificationsCommandInput + extends ListBillEstimateInputCommitmentModificationsRequest {} +/** + * @public + * + * The output of {@link ListBillEstimateInputCommitmentModificationsCommand}. + */ +export interface ListBillEstimateInputCommitmentModificationsCommandOutput + extends ListBillEstimateInputCommitmentModificationsResponse, + __MetadataBearer {} + +/** + *+ * Lists the input commitment modifications associated with a bill estimate. + *
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { BCMPricingCalculatorClient, ListBillEstimateInputCommitmentModificationsCommand } from "@aws-sdk/client-bcm-pricing-calculator"; // ES Modules import + * // const { BCMPricingCalculatorClient, ListBillEstimateInputCommitmentModificationsCommand } = require("@aws-sdk/client-bcm-pricing-calculator"); // CommonJS import + * const client = new BCMPricingCalculatorClient(config); + * const input = { // ListBillEstimateInputCommitmentModificationsRequest + * billEstimateId: "STRING_VALUE", // required + * nextToken: "STRING_VALUE", + * maxResults: Number("int"), + * }; + * const command = new ListBillEstimateInputCommitmentModificationsCommand(input); + * const response = await client.send(command); + * // { // ListBillEstimateInputCommitmentModificationsResponse + * // items: [ // BillEstimateInputCommitmentModificationSummaries + * // { // BillEstimateInputCommitmentModificationSummary + * // id: "STRING_VALUE", + * // group: "STRING_VALUE", + * // usageAccountId: "STRING_VALUE", + * // commitmentAction: { // BillScenarioCommitmentModificationAction Union: only one key present + * // addReservedInstanceAction: { // AddReservedInstanceAction + * // reservedInstancesOfferingId: "STRING_VALUE", + * // instanceCount: Number("int"), + * // }, + * // addSavingsPlanAction: { // AddSavingsPlanAction + * // savingsPlanOfferingId: "STRING_VALUE", + * // commitment: Number("double"), + * // }, + * // negateReservedInstanceAction: { // NegateReservedInstanceAction + * // reservedInstancesId: "STRING_VALUE", + * // }, + * // negateSavingsPlanAction: { // NegateSavingsPlanAction + * // savingsPlanId: "STRING_VALUE", + * // }, + * // }, + * // }, + * // ], + * // nextToken: "STRING_VALUE", + * // }; + * + * ``` + * + * @param ListBillEstimateInputCommitmentModificationsCommandInput - {@link ListBillEstimateInputCommitmentModificationsCommandInput} + * @returns {@link ListBillEstimateInputCommitmentModificationsCommandOutput} + * @see {@link ListBillEstimateInputCommitmentModificationsCommandInput} for command's `input` shape. + * @see {@link ListBillEstimateInputCommitmentModificationsCommandOutput} for command's `response` shape. + * @see {@link BCMPricingCalculatorClientResolvedConfig | config} for BCMPricingCalculatorClient's `config` shape. + * + * @throws {@link DataUnavailableException} (client fault) + *+ * The requested data is currently unavailable. + *
+ * + * @throws {@link ResourceNotFoundException} (client fault) + *+ * The specified resource was not found. + *
+ * + * @throws {@link AccessDeniedException} (client fault) + *+ * You do not have sufficient access to perform this action. + *
+ * + * @throws {@link InternalServerException} (server fault) + *+ * An internal error has occurred. Retry your request, but if the problem persists, contact Amazon Web Services support. + *
+ * + * @throws {@link ThrottlingException} (client fault) + *+ * The request was denied due to request throttling. + *
+ * + * @throws {@link ValidationException} (client fault) + *+ * The input provided fails to satisfy the constraints specified by an Amazon Web Services service. + *
+ * + * @throws {@link BCMPricingCalculatorServiceException} + *Base exception class for all service exceptions from BCMPricingCalculator service.
+ * + * @public + */ +export class ListBillEstimateInputCommitmentModificationsCommand extends $Command + .classBuilder< + ListBillEstimateInputCommitmentModificationsCommandInput, + ListBillEstimateInputCommitmentModificationsCommandOutput, + BCMPricingCalculatorClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: BCMPricingCalculatorClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AWSBCMPricingCalculator", "ListBillEstimateInputCommitmentModifications", {}) + .n("BCMPricingCalculatorClient", "ListBillEstimateInputCommitmentModificationsCommand") + .f(void 0, void 0) + .ser(se_ListBillEstimateInputCommitmentModificationsCommand) + .de(de_ListBillEstimateInputCommitmentModificationsCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: ListBillEstimateInputCommitmentModificationsRequest; + output: ListBillEstimateInputCommitmentModificationsResponse; + }; + sdk: { + input: ListBillEstimateInputCommitmentModificationsCommandInput; + output: ListBillEstimateInputCommitmentModificationsCommandOutput; + }; + }; +} diff --git a/clients/client-bcm-pricing-calculator/src/commands/ListBillEstimateInputUsageModificationsCommand.ts b/clients/client-bcm-pricing-calculator/src/commands/ListBillEstimateInputUsageModificationsCommand.ts new file mode 100644 index 000000000000..a13c22e1d128 --- /dev/null +++ b/clients/client-bcm-pricing-calculator/src/commands/ListBillEstimateInputUsageModificationsCommand.ts @@ -0,0 +1,231 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { + BCMPricingCalculatorClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes, +} from "../BCMPricingCalculatorClient"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { + ListBillEstimateInputUsageModificationsRequest, + ListBillEstimateInputUsageModificationsResponse, +} from "../models/models_0"; +import { + de_ListBillEstimateInputUsageModificationsCommand, + se_ListBillEstimateInputUsageModificationsCommand, +} from "../protocols/Aws_json1_0"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link ListBillEstimateInputUsageModificationsCommand}. + */ +export interface ListBillEstimateInputUsageModificationsCommandInput + extends ListBillEstimateInputUsageModificationsRequest {} +/** + * @public + * + * The output of {@link ListBillEstimateInputUsageModificationsCommand}. + */ +export interface ListBillEstimateInputUsageModificationsCommandOutput + extends ListBillEstimateInputUsageModificationsResponse, + __MetadataBearer {} + +/** + *+ * Lists the input usage modifications associated with a bill estimate. + *
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { BCMPricingCalculatorClient, ListBillEstimateInputUsageModificationsCommand } from "@aws-sdk/client-bcm-pricing-calculator"; // ES Modules import + * // const { BCMPricingCalculatorClient, ListBillEstimateInputUsageModificationsCommand } = require("@aws-sdk/client-bcm-pricing-calculator"); // CommonJS import + * const client = new BCMPricingCalculatorClient(config); + * const input = { // ListBillEstimateInputUsageModificationsRequest + * billEstimateId: "STRING_VALUE", // required + * filters: [ // ListUsageFilters + * { // ListUsageFilter + * name: "USAGE_ACCOUNT_ID" || "SERVICE_CODE" || "USAGE_TYPE" || "OPERATION" || "LOCATION" || "USAGE_GROUP" || "HISTORICAL_USAGE_ACCOUNT_ID" || "HISTORICAL_SERVICE_CODE" || "HISTORICAL_USAGE_TYPE" || "HISTORICAL_OPERATION" || "HISTORICAL_LOCATION", // required + * values: [ // ListUsageFilterValues // required + * "STRING_VALUE", + * ], + * matchOption: "EQUALS" || "STARTS_WITH" || "CONTAINS", + * }, + * ], + * nextToken: "STRING_VALUE", + * maxResults: Number("int"), + * }; + * const command = new ListBillEstimateInputUsageModificationsCommand(input); + * const response = await client.send(command); + * // { // ListBillEstimateInputUsageModificationsResponse + * // items: [ // BillEstimateInputUsageModificationSummaries + * // { // BillEstimateInputUsageModificationSummary + * // serviceCode: "STRING_VALUE", // required + * // usageType: "STRING_VALUE", // required + * // operation: "STRING_VALUE", // required + * // location: "STRING_VALUE", + * // availabilityZone: "STRING_VALUE", + * // id: "STRING_VALUE", + * // group: "STRING_VALUE", + * // usageAccountId: "STRING_VALUE", + * // quantities: [ // UsageQuantities + * // { // UsageQuantity + * // startHour: new Date("TIMESTAMP"), + * // unit: "STRING_VALUE", + * // amount: Number("double"), + * // }, + * // ], + * // historicalUsage: { // HistoricalUsageEntity + * // serviceCode: "STRING_VALUE", // required + * // usageType: "STRING_VALUE", // required + * // operation: "STRING_VALUE", // required + * // location: "STRING_VALUE", + * // usageAccountId: "STRING_VALUE", // required + * // billInterval: { // BillInterval + * // start: new Date("TIMESTAMP"), + * // end: new Date("TIMESTAMP"), + * // }, + * // filterExpression: { // Expression + * // and: [ // ExpressionList + * // { + * // and: [ + * // "+ * The requested data is currently unavailable. + *
+ * + * @throws {@link ResourceNotFoundException} (client fault) + *+ * The specified resource was not found. + *
+ * + * @throws {@link AccessDeniedException} (client fault) + *+ * You do not have sufficient access to perform this action. + *
+ * + * @throws {@link InternalServerException} (server fault) + *+ * An internal error has occurred. Retry your request, but if the problem persists, contact Amazon Web Services support. + *
+ * + * @throws {@link ThrottlingException} (client fault) + *+ * The request was denied due to request throttling. + *
+ * + * @throws {@link ValidationException} (client fault) + *+ * The input provided fails to satisfy the constraints specified by an Amazon Web Services service. + *
+ * + * @throws {@link BCMPricingCalculatorServiceException} + *Base exception class for all service exceptions from BCMPricingCalculator service.
+ * + * @public + */ +export class ListBillEstimateInputUsageModificationsCommand extends $Command + .classBuilder< + ListBillEstimateInputUsageModificationsCommandInput, + ListBillEstimateInputUsageModificationsCommandOutput, + BCMPricingCalculatorClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: BCMPricingCalculatorClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AWSBCMPricingCalculator", "ListBillEstimateInputUsageModifications", {}) + .n("BCMPricingCalculatorClient", "ListBillEstimateInputUsageModificationsCommand") + .f(void 0, void 0) + .ser(se_ListBillEstimateInputUsageModificationsCommand) + .de(de_ListBillEstimateInputUsageModificationsCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: ListBillEstimateInputUsageModificationsRequest; + output: ListBillEstimateInputUsageModificationsResponse; + }; + sdk: { + input: ListBillEstimateInputUsageModificationsCommandInput; + output: ListBillEstimateInputUsageModificationsCommandOutput; + }; + }; +} diff --git a/clients/client-bcm-pricing-calculator/src/commands/ListBillEstimateLineItemsCommand.ts b/clients/client-bcm-pricing-calculator/src/commands/ListBillEstimateLineItemsCommand.ts new file mode 100644 index 000000000000..1bcce527e103 --- /dev/null +++ b/clients/client-bcm-pricing-calculator/src/commands/ListBillEstimateLineItemsCommand.ts @@ -0,0 +1,172 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { + BCMPricingCalculatorClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes, +} from "../BCMPricingCalculatorClient"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { ListBillEstimateLineItemsRequest, ListBillEstimateLineItemsResponse } from "../models/models_0"; +import { de_ListBillEstimateLineItemsCommand, se_ListBillEstimateLineItemsCommand } from "../protocols/Aws_json1_0"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link ListBillEstimateLineItemsCommand}. + */ +export interface ListBillEstimateLineItemsCommandInput extends ListBillEstimateLineItemsRequest {} +/** + * @public + * + * The output of {@link ListBillEstimateLineItemsCommand}. + */ +export interface ListBillEstimateLineItemsCommandOutput extends ListBillEstimateLineItemsResponse, __MetadataBearer {} + +/** + *+ * Lists the line items associated with a bill estimate. + *
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { BCMPricingCalculatorClient, ListBillEstimateLineItemsCommand } from "@aws-sdk/client-bcm-pricing-calculator"; // ES Modules import + * // const { BCMPricingCalculatorClient, ListBillEstimateLineItemsCommand } = require("@aws-sdk/client-bcm-pricing-calculator"); // CommonJS import + * const client = new BCMPricingCalculatorClient(config); + * const input = { // ListBillEstimateLineItemsRequest + * billEstimateId: "STRING_VALUE", // required + * filters: [ // ListBillEstimateLineItemsFilters + * { // ListBillEstimateLineItemsFilter + * name: "USAGE_ACCOUNT_ID" || "SERVICE_CODE" || "USAGE_TYPE" || "OPERATION" || "LOCATION" || "LINE_ITEM_TYPE", // required + * values: [ // ListBillEstimateLineItemsFilterValues // required + * "STRING_VALUE", + * ], + * matchOption: "EQUALS" || "STARTS_WITH" || "CONTAINS", + * }, + * ], + * nextToken: "STRING_VALUE", + * maxResults: Number("int"), + * }; + * const command = new ListBillEstimateLineItemsCommand(input); + * const response = await client.send(command); + * // { // ListBillEstimateLineItemsResponse + * // items: [ // BillEstimateLineItemSummaries + * // { // BillEstimateLineItemSummary + * // serviceCode: "STRING_VALUE", // required + * // usageType: "STRING_VALUE", // required + * // operation: "STRING_VALUE", // required + * // location: "STRING_VALUE", + * // availabilityZone: "STRING_VALUE", + * // id: "STRING_VALUE", + * // lineItemId: "STRING_VALUE", + * // lineItemType: "STRING_VALUE", + * // payerAccountId: "STRING_VALUE", + * // usageAccountId: "STRING_VALUE", + * // estimatedUsageQuantity: { // UsageQuantityResult + * // amount: Number("double"), + * // unit: "STRING_VALUE", + * // }, + * // estimatedCost: { // CostAmount + * // amount: Number("double"), + * // currency: "USD", + * // }, + * // historicalUsageQuantity: { + * // amount: Number("double"), + * // unit: "STRING_VALUE", + * // }, + * // historicalCost: { + * // amount: Number("double"), + * // currency: "USD", + * // }, + * // savingsPlanArns: [ // SavingsPlanArns + * // "STRING_VALUE", + * // ], + * // }, + * // ], + * // nextToken: "STRING_VALUE", + * // }; + * + * ``` + * + * @param ListBillEstimateLineItemsCommandInput - {@link ListBillEstimateLineItemsCommandInput} + * @returns {@link ListBillEstimateLineItemsCommandOutput} + * @see {@link ListBillEstimateLineItemsCommandInput} for command's `input` shape. + * @see {@link ListBillEstimateLineItemsCommandOutput} for command's `response` shape. + * @see {@link BCMPricingCalculatorClientResolvedConfig | config} for BCMPricingCalculatorClient's `config` shape. + * + * @throws {@link DataUnavailableException} (client fault) + *+ * The requested data is currently unavailable. + *
+ * + * @throws {@link ResourceNotFoundException} (client fault) + *+ * The specified resource was not found. + *
+ * + * @throws {@link AccessDeniedException} (client fault) + *+ * You do not have sufficient access to perform this action. + *
+ * + * @throws {@link InternalServerException} (server fault) + *+ * An internal error has occurred. Retry your request, but if the problem persists, contact Amazon Web Services support. + *
+ * + * @throws {@link ThrottlingException} (client fault) + *+ * The request was denied due to request throttling. + *
+ * + * @throws {@link ValidationException} (client fault) + *+ * The input provided fails to satisfy the constraints specified by an Amazon Web Services service. + *
+ * + * @throws {@link BCMPricingCalculatorServiceException} + *Base exception class for all service exceptions from BCMPricingCalculator service.
+ * + * @public + */ +export class ListBillEstimateLineItemsCommand extends $Command + .classBuilder< + ListBillEstimateLineItemsCommandInput, + ListBillEstimateLineItemsCommandOutput, + BCMPricingCalculatorClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: BCMPricingCalculatorClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AWSBCMPricingCalculator", "ListBillEstimateLineItems", {}) + .n("BCMPricingCalculatorClient", "ListBillEstimateLineItemsCommand") + .f(void 0, void 0) + .ser(se_ListBillEstimateLineItemsCommand) + .de(de_ListBillEstimateLineItemsCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: ListBillEstimateLineItemsRequest; + output: ListBillEstimateLineItemsResponse; + }; + sdk: { + input: ListBillEstimateLineItemsCommandInput; + output: ListBillEstimateLineItemsCommandOutput; + }; + }; +} diff --git a/clients/client-bcm-pricing-calculator/src/commands/ListBillEstimatesCommand.ts b/clients/client-bcm-pricing-calculator/src/commands/ListBillEstimatesCommand.ts new file mode 100644 index 000000000000..86276cef11a2 --- /dev/null +++ b/clients/client-bcm-pricing-calculator/src/commands/ListBillEstimatesCommand.ts @@ -0,0 +1,154 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { + BCMPricingCalculatorClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes, +} from "../BCMPricingCalculatorClient"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { ListBillEstimatesRequest, ListBillEstimatesResponse } from "../models/models_0"; +import { de_ListBillEstimatesCommand, se_ListBillEstimatesCommand } from "../protocols/Aws_json1_0"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link ListBillEstimatesCommand}. + */ +export interface ListBillEstimatesCommandInput extends ListBillEstimatesRequest {} +/** + * @public + * + * The output of {@link ListBillEstimatesCommand}. + */ +export interface ListBillEstimatesCommandOutput extends ListBillEstimatesResponse, __MetadataBearer {} + +/** + *+ * Lists all bill estimates for the account. + *
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { BCMPricingCalculatorClient, ListBillEstimatesCommand } from "@aws-sdk/client-bcm-pricing-calculator"; // ES Modules import + * // const { BCMPricingCalculatorClient, ListBillEstimatesCommand } = require("@aws-sdk/client-bcm-pricing-calculator"); // CommonJS import + * const client = new BCMPricingCalculatorClient(config); + * const input = { // ListBillEstimatesRequest + * filters: [ // ListBillEstimatesFilters + * { // ListBillEstimatesFilter + * name: "STATUS" || "NAME", // required + * values: [ // ListBillEstimatesFilterValues // required + * "STRING_VALUE", + * ], + * matchOption: "EQUALS" || "STARTS_WITH" || "CONTAINS", + * }, + * ], + * createdAtFilter: { // FilterTimestamp + * afterTimestamp: new Date("TIMESTAMP"), + * beforeTimestamp: new Date("TIMESTAMP"), + * }, + * expiresAtFilter: { + * afterTimestamp: new Date("TIMESTAMP"), + * beforeTimestamp: new Date("TIMESTAMP"), + * }, + * nextToken: "STRING_VALUE", + * maxResults: Number("int"), + * }; + * const command = new ListBillEstimatesCommand(input); + * const response = await client.send(command); + * // { // ListBillEstimatesResponse + * // items: [ // BillEstimateSummaries + * // { // BillEstimateSummary + * // id: "STRING_VALUE", // required + * // name: "STRING_VALUE", + * // status: "IN_PROGRESS" || "COMPLETE" || "FAILED", + * // billInterval: { // BillInterval + * // start: new Date("TIMESTAMP"), + * // end: new Date("TIMESTAMP"), + * // }, + * // createdAt: new Date("TIMESTAMP"), + * // expiresAt: new Date("TIMESTAMP"), + * // }, + * // ], + * // nextToken: "STRING_VALUE", + * // }; + * + * ``` + * + * @param ListBillEstimatesCommandInput - {@link ListBillEstimatesCommandInput} + * @returns {@link ListBillEstimatesCommandOutput} + * @see {@link ListBillEstimatesCommandInput} for command's `input` shape. + * @see {@link ListBillEstimatesCommandOutput} for command's `response` shape. + * @see {@link BCMPricingCalculatorClientResolvedConfig | config} for BCMPricingCalculatorClient's `config` shape. + * + * @throws {@link DataUnavailableException} (client fault) + *+ * The requested data is currently unavailable. + *
+ * + * @throws {@link AccessDeniedException} (client fault) + *+ * You do not have sufficient access to perform this action. + *
+ * + * @throws {@link InternalServerException} (server fault) + *+ * An internal error has occurred. Retry your request, but if the problem persists, contact Amazon Web Services support. + *
+ * + * @throws {@link ThrottlingException} (client fault) + *+ * The request was denied due to request throttling. + *
+ * + * @throws {@link ValidationException} (client fault) + *+ * The input provided fails to satisfy the constraints specified by an Amazon Web Services service. + *
+ * + * @throws {@link BCMPricingCalculatorServiceException} + *Base exception class for all service exceptions from BCMPricingCalculator service.
+ * + * @public + */ +export class ListBillEstimatesCommand extends $Command + .classBuilder< + ListBillEstimatesCommandInput, + ListBillEstimatesCommandOutput, + BCMPricingCalculatorClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: BCMPricingCalculatorClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AWSBCMPricingCalculator", "ListBillEstimates", {}) + .n("BCMPricingCalculatorClient", "ListBillEstimatesCommand") + .f(void 0, void 0) + .ser(se_ListBillEstimatesCommand) + .de(de_ListBillEstimatesCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: ListBillEstimatesRequest; + output: ListBillEstimatesResponse; + }; + sdk: { + input: ListBillEstimatesCommandInput; + output: ListBillEstimatesCommandOutput; + }; + }; +} diff --git a/clients/client-bcm-pricing-calculator/src/commands/ListBillScenarioCommitmentModificationsCommand.ts b/clients/client-bcm-pricing-calculator/src/commands/ListBillScenarioCommitmentModificationsCommand.ts new file mode 100644 index 000000000000..338d081b2fa6 --- /dev/null +++ b/clients/client-bcm-pricing-calculator/src/commands/ListBillScenarioCommitmentModificationsCommand.ts @@ -0,0 +1,162 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { + BCMPricingCalculatorClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes, +} from "../BCMPricingCalculatorClient"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { + ListBillScenarioCommitmentModificationsRequest, + ListBillScenarioCommitmentModificationsResponse, +} from "../models/models_0"; +import { + de_ListBillScenarioCommitmentModificationsCommand, + se_ListBillScenarioCommitmentModificationsCommand, +} from "../protocols/Aws_json1_0"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link ListBillScenarioCommitmentModificationsCommand}. + */ +export interface ListBillScenarioCommitmentModificationsCommandInput + extends ListBillScenarioCommitmentModificationsRequest {} +/** + * @public + * + * The output of {@link ListBillScenarioCommitmentModificationsCommand}. + */ +export interface ListBillScenarioCommitmentModificationsCommandOutput + extends ListBillScenarioCommitmentModificationsResponse, + __MetadataBearer {} + +/** + *+ * Lists the commitment modifications associated with a bill scenario. + *
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { BCMPricingCalculatorClient, ListBillScenarioCommitmentModificationsCommand } from "@aws-sdk/client-bcm-pricing-calculator"; // ES Modules import + * // const { BCMPricingCalculatorClient, ListBillScenarioCommitmentModificationsCommand } = require("@aws-sdk/client-bcm-pricing-calculator"); // CommonJS import + * const client = new BCMPricingCalculatorClient(config); + * const input = { // ListBillScenarioCommitmentModificationsRequest + * billScenarioId: "STRING_VALUE", // required + * nextToken: "STRING_VALUE", + * maxResults: Number("int"), + * }; + * const command = new ListBillScenarioCommitmentModificationsCommand(input); + * const response = await client.send(command); + * // { // ListBillScenarioCommitmentModificationsResponse + * // items: [ // BillScenarioCommitmentModificationItems + * // { // BillScenarioCommitmentModificationItem + * // id: "STRING_VALUE", + * // usageAccountId: "STRING_VALUE", + * // group: "STRING_VALUE", + * // commitmentAction: { // BillScenarioCommitmentModificationAction Union: only one key present + * // addReservedInstanceAction: { // AddReservedInstanceAction + * // reservedInstancesOfferingId: "STRING_VALUE", + * // instanceCount: Number("int"), + * // }, + * // addSavingsPlanAction: { // AddSavingsPlanAction + * // savingsPlanOfferingId: "STRING_VALUE", + * // commitment: Number("double"), + * // }, + * // negateReservedInstanceAction: { // NegateReservedInstanceAction + * // reservedInstancesId: "STRING_VALUE", + * // }, + * // negateSavingsPlanAction: { // NegateSavingsPlanAction + * // savingsPlanId: "STRING_VALUE", + * // }, + * // }, + * // }, + * // ], + * // nextToken: "STRING_VALUE", + * // }; + * + * ``` + * + * @param ListBillScenarioCommitmentModificationsCommandInput - {@link ListBillScenarioCommitmentModificationsCommandInput} + * @returns {@link ListBillScenarioCommitmentModificationsCommandOutput} + * @see {@link ListBillScenarioCommitmentModificationsCommandInput} for command's `input` shape. + * @see {@link ListBillScenarioCommitmentModificationsCommandOutput} for command's `response` shape. + * @see {@link BCMPricingCalculatorClientResolvedConfig | config} for BCMPricingCalculatorClient's `config` shape. + * + * @throws {@link DataUnavailableException} (client fault) + *+ * The requested data is currently unavailable. + *
+ * + * @throws {@link ResourceNotFoundException} (client fault) + *+ * The specified resource was not found. + *
+ * + * @throws {@link AccessDeniedException} (client fault) + *+ * You do not have sufficient access to perform this action. + *
+ * + * @throws {@link InternalServerException} (server fault) + *+ * An internal error has occurred. Retry your request, but if the problem persists, contact Amazon Web Services support. + *
+ * + * @throws {@link ThrottlingException} (client fault) + *+ * The request was denied due to request throttling. + *
+ * + * @throws {@link ValidationException} (client fault) + *+ * The input provided fails to satisfy the constraints specified by an Amazon Web Services service. + *
+ * + * @throws {@link BCMPricingCalculatorServiceException} + *Base exception class for all service exceptions from BCMPricingCalculator service.
+ * + * @public + */ +export class ListBillScenarioCommitmentModificationsCommand extends $Command + .classBuilder< + ListBillScenarioCommitmentModificationsCommandInput, + ListBillScenarioCommitmentModificationsCommandOutput, + BCMPricingCalculatorClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: BCMPricingCalculatorClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AWSBCMPricingCalculator", "ListBillScenarioCommitmentModifications", {}) + .n("BCMPricingCalculatorClient", "ListBillScenarioCommitmentModificationsCommand") + .f(void 0, void 0) + .ser(se_ListBillScenarioCommitmentModificationsCommand) + .de(de_ListBillScenarioCommitmentModificationsCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: ListBillScenarioCommitmentModificationsRequest; + output: ListBillScenarioCommitmentModificationsResponse; + }; + sdk: { + input: ListBillScenarioCommitmentModificationsCommandInput; + output: ListBillScenarioCommitmentModificationsCommandOutput; + }; + }; +} diff --git a/clients/client-bcm-pricing-calculator/src/commands/ListBillScenarioUsageModificationsCommand.ts b/clients/client-bcm-pricing-calculator/src/commands/ListBillScenarioUsageModificationsCommand.ts new file mode 100644 index 000000000000..744b48b50e2f --- /dev/null +++ b/clients/client-bcm-pricing-calculator/src/commands/ListBillScenarioUsageModificationsCommand.ts @@ -0,0 +1,230 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { + BCMPricingCalculatorClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes, +} from "../BCMPricingCalculatorClient"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { + ListBillScenarioUsageModificationsRequest, + ListBillScenarioUsageModificationsResponse, +} from "../models/models_0"; +import { + de_ListBillScenarioUsageModificationsCommand, + se_ListBillScenarioUsageModificationsCommand, +} from "../protocols/Aws_json1_0"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link ListBillScenarioUsageModificationsCommand}. + */ +export interface ListBillScenarioUsageModificationsCommandInput extends ListBillScenarioUsageModificationsRequest {} +/** + * @public + * + * The output of {@link ListBillScenarioUsageModificationsCommand}. + */ +export interface ListBillScenarioUsageModificationsCommandOutput + extends ListBillScenarioUsageModificationsResponse, + __MetadataBearer {} + +/** + *+ * Lists the usage modifications associated with a bill scenario. + *
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { BCMPricingCalculatorClient, ListBillScenarioUsageModificationsCommand } from "@aws-sdk/client-bcm-pricing-calculator"; // ES Modules import + * // const { BCMPricingCalculatorClient, ListBillScenarioUsageModificationsCommand } = require("@aws-sdk/client-bcm-pricing-calculator"); // CommonJS import + * const client = new BCMPricingCalculatorClient(config); + * const input = { // ListBillScenarioUsageModificationsRequest + * billScenarioId: "STRING_VALUE", // required + * filters: [ // ListUsageFilters + * { // ListUsageFilter + * name: "USAGE_ACCOUNT_ID" || "SERVICE_CODE" || "USAGE_TYPE" || "OPERATION" || "LOCATION" || "USAGE_GROUP" || "HISTORICAL_USAGE_ACCOUNT_ID" || "HISTORICAL_SERVICE_CODE" || "HISTORICAL_USAGE_TYPE" || "HISTORICAL_OPERATION" || "HISTORICAL_LOCATION", // required + * values: [ // ListUsageFilterValues // required + * "STRING_VALUE", + * ], + * matchOption: "EQUALS" || "STARTS_WITH" || "CONTAINS", + * }, + * ], + * nextToken: "STRING_VALUE", + * maxResults: Number("int"), + * }; + * const command = new ListBillScenarioUsageModificationsCommand(input); + * const response = await client.send(command); + * // { // ListBillScenarioUsageModificationsResponse + * // items: [ // BillScenarioUsageModificationItems + * // { // BillScenarioUsageModificationItem + * // serviceCode: "STRING_VALUE", // required + * // usageType: "STRING_VALUE", // required + * // operation: "STRING_VALUE", // required + * // location: "STRING_VALUE", + * // availabilityZone: "STRING_VALUE", + * // id: "STRING_VALUE", + * // group: "STRING_VALUE", + * // usageAccountId: "STRING_VALUE", + * // quantities: [ // UsageQuantities + * // { // UsageQuantity + * // startHour: new Date("TIMESTAMP"), + * // unit: "STRING_VALUE", + * // amount: Number("double"), + * // }, + * // ], + * // historicalUsage: { // HistoricalUsageEntity + * // serviceCode: "STRING_VALUE", // required + * // usageType: "STRING_VALUE", // required + * // operation: "STRING_VALUE", // required + * // location: "STRING_VALUE", + * // usageAccountId: "STRING_VALUE", // required + * // billInterval: { // BillInterval + * // start: new Date("TIMESTAMP"), + * // end: new Date("TIMESTAMP"), + * // }, + * // filterExpression: { // Expression + * // and: [ // ExpressionList + * // { + * // and: [ + * // "+ * The requested data is currently unavailable. + *
+ * + * @throws {@link ResourceNotFoundException} (client fault) + *+ * The specified resource was not found. + *
+ * + * @throws {@link AccessDeniedException} (client fault) + *+ * You do not have sufficient access to perform this action. + *
+ * + * @throws {@link InternalServerException} (server fault) + *+ * An internal error has occurred. Retry your request, but if the problem persists, contact Amazon Web Services support. + *
+ * + * @throws {@link ThrottlingException} (client fault) + *+ * The request was denied due to request throttling. + *
+ * + * @throws {@link ValidationException} (client fault) + *+ * The input provided fails to satisfy the constraints specified by an Amazon Web Services service. + *
+ * + * @throws {@link BCMPricingCalculatorServiceException} + *Base exception class for all service exceptions from BCMPricingCalculator service.
+ * + * @public + */ +export class ListBillScenarioUsageModificationsCommand extends $Command + .classBuilder< + ListBillScenarioUsageModificationsCommandInput, + ListBillScenarioUsageModificationsCommandOutput, + BCMPricingCalculatorClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: BCMPricingCalculatorClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AWSBCMPricingCalculator", "ListBillScenarioUsageModifications", {}) + .n("BCMPricingCalculatorClient", "ListBillScenarioUsageModificationsCommand") + .f(void 0, void 0) + .ser(se_ListBillScenarioUsageModificationsCommand) + .de(de_ListBillScenarioUsageModificationsCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: ListBillScenarioUsageModificationsRequest; + output: ListBillScenarioUsageModificationsResponse; + }; + sdk: { + input: ListBillScenarioUsageModificationsCommandInput; + output: ListBillScenarioUsageModificationsCommandOutput; + }; + }; +} diff --git a/clients/client-bcm-pricing-calculator/src/commands/ListBillScenariosCommand.ts b/clients/client-bcm-pricing-calculator/src/commands/ListBillScenariosCommand.ts new file mode 100644 index 000000000000..16ee224a097b --- /dev/null +++ b/clients/client-bcm-pricing-calculator/src/commands/ListBillScenariosCommand.ts @@ -0,0 +1,155 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { + BCMPricingCalculatorClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes, +} from "../BCMPricingCalculatorClient"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { ListBillScenariosRequest, ListBillScenariosResponse } from "../models/models_0"; +import { de_ListBillScenariosCommand, se_ListBillScenariosCommand } from "../protocols/Aws_json1_0"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link ListBillScenariosCommand}. + */ +export interface ListBillScenariosCommandInput extends ListBillScenariosRequest {} +/** + * @public + * + * The output of {@link ListBillScenariosCommand}. + */ +export interface ListBillScenariosCommandOutput extends ListBillScenariosResponse, __MetadataBearer {} + +/** + *+ * Lists all bill scenarios for the account. + *
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { BCMPricingCalculatorClient, ListBillScenariosCommand } from "@aws-sdk/client-bcm-pricing-calculator"; // ES Modules import + * // const { BCMPricingCalculatorClient, ListBillScenariosCommand } = require("@aws-sdk/client-bcm-pricing-calculator"); // CommonJS import + * const client = new BCMPricingCalculatorClient(config); + * const input = { // ListBillScenariosRequest + * filters: [ // ListBillScenariosFilters + * { // ListBillScenariosFilter + * name: "STATUS" || "NAME", // required + * values: [ // ListBillScenariosFilterValues // required + * "STRING_VALUE", + * ], + * matchOption: "EQUALS" || "STARTS_WITH" || "CONTAINS", + * }, + * ], + * createdAtFilter: { // FilterTimestamp + * afterTimestamp: new Date("TIMESTAMP"), + * beforeTimestamp: new Date("TIMESTAMP"), + * }, + * expiresAtFilter: { + * afterTimestamp: new Date("TIMESTAMP"), + * beforeTimestamp: new Date("TIMESTAMP"), + * }, + * nextToken: "STRING_VALUE", + * maxResults: Number("int"), + * }; + * const command = new ListBillScenariosCommand(input); + * const response = await client.send(command); + * // { // ListBillScenariosResponse + * // items: [ // BillScenarioSummaries + * // { // BillScenarioSummary + * // id: "STRING_VALUE", // required + * // name: "STRING_VALUE", + * // billInterval: { // BillInterval + * // start: new Date("TIMESTAMP"), + * // end: new Date("TIMESTAMP"), + * // }, + * // status: "READY" || "LOCKED" || "FAILED", + * // createdAt: new Date("TIMESTAMP"), + * // expiresAt: new Date("TIMESTAMP"), + * // failureMessage: "STRING_VALUE", + * // }, + * // ], + * // nextToken: "STRING_VALUE", + * // }; + * + * ``` + * + * @param ListBillScenariosCommandInput - {@link ListBillScenariosCommandInput} + * @returns {@link ListBillScenariosCommandOutput} + * @see {@link ListBillScenariosCommandInput} for command's `input` shape. + * @see {@link ListBillScenariosCommandOutput} for command's `response` shape. + * @see {@link BCMPricingCalculatorClientResolvedConfig | config} for BCMPricingCalculatorClient's `config` shape. + * + * @throws {@link DataUnavailableException} (client fault) + *+ * The requested data is currently unavailable. + *
+ * + * @throws {@link AccessDeniedException} (client fault) + *+ * You do not have sufficient access to perform this action. + *
+ * + * @throws {@link InternalServerException} (server fault) + *+ * An internal error has occurred. Retry your request, but if the problem persists, contact Amazon Web Services support. + *
+ * + * @throws {@link ThrottlingException} (client fault) + *+ * The request was denied due to request throttling. + *
+ * + * @throws {@link ValidationException} (client fault) + *+ * The input provided fails to satisfy the constraints specified by an Amazon Web Services service. + *
+ * + * @throws {@link BCMPricingCalculatorServiceException} + *Base exception class for all service exceptions from BCMPricingCalculator service.
+ * + * @public + */ +export class ListBillScenariosCommand extends $Command + .classBuilder< + ListBillScenariosCommandInput, + ListBillScenariosCommandOutput, + BCMPricingCalculatorClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: BCMPricingCalculatorClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AWSBCMPricingCalculator", "ListBillScenarios", {}) + .n("BCMPricingCalculatorClient", "ListBillScenariosCommand") + .f(void 0, void 0) + .ser(se_ListBillScenariosCommand) + .de(de_ListBillScenariosCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: ListBillScenariosRequest; + output: ListBillScenariosResponse; + }; + sdk: { + input: ListBillScenariosCommandInput; + output: ListBillScenariosCommandOutput; + }; + }; +} diff --git a/clients/client-bcm-pricing-calculator/src/commands/ListTagsForResourceCommand.ts b/clients/client-bcm-pricing-calculator/src/commands/ListTagsForResourceCommand.ts new file mode 100644 index 000000000000..a482a830fc94 --- /dev/null +++ b/clients/client-bcm-pricing-calculator/src/commands/ListTagsForResourceCommand.ts @@ -0,0 +1,125 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { + BCMPricingCalculatorClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes, +} from "../BCMPricingCalculatorClient"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { ListTagsForResourceRequest, ListTagsForResourceResponse } from "../models/models_0"; +import { de_ListTagsForResourceCommand, se_ListTagsForResourceCommand } from "../protocols/Aws_json1_0"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link ListTagsForResourceCommand}. + */ +export interface ListTagsForResourceCommandInput extends ListTagsForResourceRequest {} +/** + * @public + * + * The output of {@link ListTagsForResourceCommand}. + */ +export interface ListTagsForResourceCommandOutput extends ListTagsForResourceResponse, __MetadataBearer {} + +/** + *+ * Lists all tags associated with a specified resource. + *
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { BCMPricingCalculatorClient, ListTagsForResourceCommand } from "@aws-sdk/client-bcm-pricing-calculator"; // ES Modules import + * // const { BCMPricingCalculatorClient, ListTagsForResourceCommand } = require("@aws-sdk/client-bcm-pricing-calculator"); // CommonJS import + * const client = new BCMPricingCalculatorClient(config); + * const input = { // ListTagsForResourceRequest + * arn: "STRING_VALUE", // required + * }; + * const command = new ListTagsForResourceCommand(input); + * const response = await client.send(command); + * // { // ListTagsForResourceResponse + * // tags: { // Tags + * // "+ * The specified resource was not found. + *
+ * + * @throws {@link AccessDeniedException} (client fault) + *+ * You do not have sufficient access to perform this action. + *
+ * + * @throws {@link InternalServerException} (server fault) + *+ * An internal error has occurred. Retry your request, but if the problem persists, contact Amazon Web Services support. + *
+ * + * @throws {@link ThrottlingException} (client fault) + *+ * The request was denied due to request throttling. + *
+ * + * @throws {@link ValidationException} (client fault) + *+ * The input provided fails to satisfy the constraints specified by an Amazon Web Services service. + *
+ * + * @throws {@link BCMPricingCalculatorServiceException} + *Base exception class for all service exceptions from BCMPricingCalculator service.
+ * + * @public + */ +export class ListTagsForResourceCommand extends $Command + .classBuilder< + ListTagsForResourceCommandInput, + ListTagsForResourceCommandOutput, + BCMPricingCalculatorClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: BCMPricingCalculatorClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AWSBCMPricingCalculator", "ListTagsForResource", {}) + .n("BCMPricingCalculatorClient", "ListTagsForResourceCommand") + .f(void 0, void 0) + .ser(se_ListTagsForResourceCommand) + .de(de_ListTagsForResourceCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: ListTagsForResourceRequest; + output: ListTagsForResourceResponse; + }; + sdk: { + input: ListTagsForResourceCommandInput; + output: ListTagsForResourceCommandOutput; + }; + }; +} diff --git a/clients/client-bcm-pricing-calculator/src/commands/ListWorkloadEstimateUsageCommand.ts b/clients/client-bcm-pricing-calculator/src/commands/ListWorkloadEstimateUsageCommand.ts new file mode 100644 index 000000000000..db1f1463e14b --- /dev/null +++ b/clients/client-bcm-pricing-calculator/src/commands/ListWorkloadEstimateUsageCommand.ts @@ -0,0 +1,221 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { + BCMPricingCalculatorClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes, +} from "../BCMPricingCalculatorClient"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { ListWorkloadEstimateUsageRequest, ListWorkloadEstimateUsageResponse } from "../models/models_0"; +import { de_ListWorkloadEstimateUsageCommand, se_ListWorkloadEstimateUsageCommand } from "../protocols/Aws_json1_0"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link ListWorkloadEstimateUsageCommand}. + */ +export interface ListWorkloadEstimateUsageCommandInput extends ListWorkloadEstimateUsageRequest {} +/** + * @public + * + * The output of {@link ListWorkloadEstimateUsageCommand}. + */ +export interface ListWorkloadEstimateUsageCommandOutput extends ListWorkloadEstimateUsageResponse, __MetadataBearer {} + +/** + *+ * Lists the usage associated with a workload estimate. + *
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { BCMPricingCalculatorClient, ListWorkloadEstimateUsageCommand } from "@aws-sdk/client-bcm-pricing-calculator"; // ES Modules import + * // const { BCMPricingCalculatorClient, ListWorkloadEstimateUsageCommand } = require("@aws-sdk/client-bcm-pricing-calculator"); // CommonJS import + * const client = new BCMPricingCalculatorClient(config); + * const input = { // ListWorkloadEstimateUsageRequest + * workloadEstimateId: "STRING_VALUE", // required + * filters: [ // ListUsageFilters + * { // ListUsageFilter + * name: "USAGE_ACCOUNT_ID" || "SERVICE_CODE" || "USAGE_TYPE" || "OPERATION" || "LOCATION" || "USAGE_GROUP" || "HISTORICAL_USAGE_ACCOUNT_ID" || "HISTORICAL_SERVICE_CODE" || "HISTORICAL_USAGE_TYPE" || "HISTORICAL_OPERATION" || "HISTORICAL_LOCATION", // required + * values: [ // ListUsageFilterValues // required + * "STRING_VALUE", + * ], + * matchOption: "EQUALS" || "STARTS_WITH" || "CONTAINS", + * }, + * ], + * nextToken: "STRING_VALUE", + * maxResults: Number("int"), + * }; + * const command = new ListWorkloadEstimateUsageCommand(input); + * const response = await client.send(command); + * // { // ListWorkloadEstimateUsageResponse + * // items: [ // WorkloadEstimateUsageItems + * // { // WorkloadEstimateUsageItem + * // serviceCode: "STRING_VALUE", // required + * // usageType: "STRING_VALUE", // required + * // operation: "STRING_VALUE", // required + * // location: "STRING_VALUE", + * // id: "STRING_VALUE", + * // usageAccountId: "STRING_VALUE", + * // group: "STRING_VALUE", + * // quantity: { // WorkloadEstimateUsageQuantity + * // unit: "STRING_VALUE", + * // amount: Number("double"), + * // }, + * // cost: Number("double"), + * // currency: "USD", + * // status: "VALID" || "INVALID" || "STALE", + * // historicalUsage: { // HistoricalUsageEntity + * // serviceCode: "STRING_VALUE", // required + * // usageType: "STRING_VALUE", // required + * // operation: "STRING_VALUE", // required + * // location: "STRING_VALUE", + * // usageAccountId: "STRING_VALUE", // required + * // billInterval: { // BillInterval + * // start: new Date("TIMESTAMP"), + * // end: new Date("TIMESTAMP"), + * // }, + * // filterExpression: { // Expression + * // and: [ // ExpressionList + * // { + * // and: [ + * // "+ * The requested data is currently unavailable. + *
+ * + * @throws {@link ResourceNotFoundException} (client fault) + *+ * The specified resource was not found. + *
+ * + * @throws {@link AccessDeniedException} (client fault) + *+ * You do not have sufficient access to perform this action. + *
+ * + * @throws {@link InternalServerException} (server fault) + *+ * An internal error has occurred. Retry your request, but if the problem persists, contact Amazon Web Services support. + *
+ * + * @throws {@link ThrottlingException} (client fault) + *+ * The request was denied due to request throttling. + *
+ * + * @throws {@link ValidationException} (client fault) + *+ * The input provided fails to satisfy the constraints specified by an Amazon Web Services service. + *
+ * + * @throws {@link BCMPricingCalculatorServiceException} + *Base exception class for all service exceptions from BCMPricingCalculator service.
+ * + * @public + */ +export class ListWorkloadEstimateUsageCommand extends $Command + .classBuilder< + ListWorkloadEstimateUsageCommandInput, + ListWorkloadEstimateUsageCommandOutput, + BCMPricingCalculatorClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: BCMPricingCalculatorClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AWSBCMPricingCalculator", "ListWorkloadEstimateUsage", {}) + .n("BCMPricingCalculatorClient", "ListWorkloadEstimateUsageCommand") + .f(void 0, void 0) + .ser(se_ListWorkloadEstimateUsageCommand) + .de(de_ListWorkloadEstimateUsageCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: ListWorkloadEstimateUsageRequest; + output: ListWorkloadEstimateUsageResponse; + }; + sdk: { + input: ListWorkloadEstimateUsageCommandInput; + output: ListWorkloadEstimateUsageCommandOutput; + }; + }; +} diff --git a/clients/client-bcm-pricing-calculator/src/commands/ListWorkloadEstimatesCommand.ts b/clients/client-bcm-pricing-calculator/src/commands/ListWorkloadEstimatesCommand.ts new file mode 100644 index 000000000000..a58ba5aeeb35 --- /dev/null +++ b/clients/client-bcm-pricing-calculator/src/commands/ListWorkloadEstimatesCommand.ts @@ -0,0 +1,155 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { + BCMPricingCalculatorClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes, +} from "../BCMPricingCalculatorClient"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { ListWorkloadEstimatesRequest, ListWorkloadEstimatesResponse } from "../models/models_0"; +import { de_ListWorkloadEstimatesCommand, se_ListWorkloadEstimatesCommand } from "../protocols/Aws_json1_0"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link ListWorkloadEstimatesCommand}. + */ +export interface ListWorkloadEstimatesCommandInput extends ListWorkloadEstimatesRequest {} +/** + * @public + * + * The output of {@link ListWorkloadEstimatesCommand}. + */ +export interface ListWorkloadEstimatesCommandOutput extends ListWorkloadEstimatesResponse, __MetadataBearer {} + +/** + *+ * Lists all workload estimates for the account. + *
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { BCMPricingCalculatorClient, ListWorkloadEstimatesCommand } from "@aws-sdk/client-bcm-pricing-calculator"; // ES Modules import + * // const { BCMPricingCalculatorClient, ListWorkloadEstimatesCommand } = require("@aws-sdk/client-bcm-pricing-calculator"); // CommonJS import + * const client = new BCMPricingCalculatorClient(config); + * const input = { // ListWorkloadEstimatesRequest + * createdAtFilter: { // FilterTimestamp + * afterTimestamp: new Date("TIMESTAMP"), + * beforeTimestamp: new Date("TIMESTAMP"), + * }, + * expiresAtFilter: { + * afterTimestamp: new Date("TIMESTAMP"), + * beforeTimestamp: new Date("TIMESTAMP"), + * }, + * filters: [ // ListWorkloadEstimatesFilters + * { // ListWorkloadEstimatesFilter + * name: "STATUS" || "NAME", // required + * values: [ // ListWorkloadEstimatesFilterValues // required + * "STRING_VALUE", + * ], + * matchOption: "EQUALS" || "STARTS_WITH" || "CONTAINS", + * }, + * ], + * nextToken: "STRING_VALUE", + * maxResults: Number("int"), + * }; + * const command = new ListWorkloadEstimatesCommand(input); + * const response = await client.send(command); + * // { // ListWorkloadEstimatesResponse + * // items: [ // WorkloadEstimateSummaries + * // { // WorkloadEstimateSummary + * // id: "STRING_VALUE", // required + * // name: "STRING_VALUE", + * // createdAt: new Date("TIMESTAMP"), + * // expiresAt: new Date("TIMESTAMP"), + * // rateType: "BEFORE_DISCOUNTS" || "AFTER_DISCOUNTS", + * // rateTimestamp: new Date("TIMESTAMP"), + * // status: "UPDATING" || "VALID" || "INVALID" || "ACTION_NEEDED", + * // totalCost: Number("double"), + * // costCurrency: "USD", + * // failureMessage: "STRING_VALUE", + * // }, + * // ], + * // nextToken: "STRING_VALUE", + * // }; + * + * ``` + * + * @param ListWorkloadEstimatesCommandInput - {@link ListWorkloadEstimatesCommandInput} + * @returns {@link ListWorkloadEstimatesCommandOutput} + * @see {@link ListWorkloadEstimatesCommandInput} for command's `input` shape. + * @see {@link ListWorkloadEstimatesCommandOutput} for command's `response` shape. + * @see {@link BCMPricingCalculatorClientResolvedConfig | config} for BCMPricingCalculatorClient's `config` shape. + * + * @throws {@link DataUnavailableException} (client fault) + *+ * The requested data is currently unavailable. + *
+ * + * @throws {@link AccessDeniedException} (client fault) + *+ * You do not have sufficient access to perform this action. + *
+ * + * @throws {@link InternalServerException} (server fault) + *+ * An internal error has occurred. Retry your request, but if the problem persists, contact Amazon Web Services support. + *
+ * + * @throws {@link ThrottlingException} (client fault) + *+ * The request was denied due to request throttling. + *
+ * + * @throws {@link ValidationException} (client fault) + *+ * The input provided fails to satisfy the constraints specified by an Amazon Web Services service. + *
+ * + * @throws {@link BCMPricingCalculatorServiceException} + *Base exception class for all service exceptions from BCMPricingCalculator service.
+ * + * @public + */ +export class ListWorkloadEstimatesCommand extends $Command + .classBuilder< + ListWorkloadEstimatesCommandInput, + ListWorkloadEstimatesCommandOutput, + BCMPricingCalculatorClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: BCMPricingCalculatorClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AWSBCMPricingCalculator", "ListWorkloadEstimates", {}) + .n("BCMPricingCalculatorClient", "ListWorkloadEstimatesCommand") + .f(void 0, void 0) + .ser(se_ListWorkloadEstimatesCommand) + .de(de_ListWorkloadEstimatesCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: ListWorkloadEstimatesRequest; + output: ListWorkloadEstimatesResponse; + }; + sdk: { + input: ListWorkloadEstimatesCommandInput; + output: ListWorkloadEstimatesCommandOutput; + }; + }; +} diff --git a/clients/client-bcm-pricing-calculator/src/commands/TagResourceCommand.ts b/clients/client-bcm-pricing-calculator/src/commands/TagResourceCommand.ts new file mode 100644 index 000000000000..0de5fdc5dd98 --- /dev/null +++ b/clients/client-bcm-pricing-calculator/src/commands/TagResourceCommand.ts @@ -0,0 +1,129 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { + BCMPricingCalculatorClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes, +} from "../BCMPricingCalculatorClient"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { TagResourceRequest, TagResourceResponse } from "../models/models_0"; +import { de_TagResourceCommand, se_TagResourceCommand } from "../protocols/Aws_json1_0"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link TagResourceCommand}. + */ +export interface TagResourceCommandInput extends TagResourceRequest {} +/** + * @public + * + * The output of {@link TagResourceCommand}. + */ +export interface TagResourceCommandOutput extends TagResourceResponse, __MetadataBearer {} + +/** + *+ * Adds one or more tags to a specified resource. + *
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { BCMPricingCalculatorClient, TagResourceCommand } from "@aws-sdk/client-bcm-pricing-calculator"; // ES Modules import + * // const { BCMPricingCalculatorClient, TagResourceCommand } = require("@aws-sdk/client-bcm-pricing-calculator"); // CommonJS import + * const client = new BCMPricingCalculatorClient(config); + * const input = { // TagResourceRequest + * arn: "STRING_VALUE", // required + * tags: { // Tags // required + * "+ * The specified resource was not found. + *
+ * + * @throws {@link ServiceQuotaExceededException} (client fault) + *+ * The request would cause you to exceed your service quota. + *
+ * + * @throws {@link AccessDeniedException} (client fault) + *+ * You do not have sufficient access to perform this action. + *
+ * + * @throws {@link InternalServerException} (server fault) + *+ * An internal error has occurred. Retry your request, but if the problem persists, contact Amazon Web Services support. + *
+ * + * @throws {@link ThrottlingException} (client fault) + *+ * The request was denied due to request throttling. + *
+ * + * @throws {@link ValidationException} (client fault) + *+ * The input provided fails to satisfy the constraints specified by an Amazon Web Services service. + *
+ * + * @throws {@link BCMPricingCalculatorServiceException} + *Base exception class for all service exceptions from BCMPricingCalculator service.
+ * + * @public + */ +export class TagResourceCommand extends $Command + .classBuilder< + TagResourceCommandInput, + TagResourceCommandOutput, + BCMPricingCalculatorClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: BCMPricingCalculatorClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AWSBCMPricingCalculator", "TagResource", {}) + .n("BCMPricingCalculatorClient", "TagResourceCommand") + .f(void 0, void 0) + .ser(se_TagResourceCommand) + .de(de_TagResourceCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: TagResourceRequest; + output: {}; + }; + sdk: { + input: TagResourceCommandInput; + output: TagResourceCommandOutput; + }; + }; +} diff --git a/clients/client-bcm-pricing-calculator/src/commands/UntagResourceCommand.ts b/clients/client-bcm-pricing-calculator/src/commands/UntagResourceCommand.ts new file mode 100644 index 000000000000..77df352e5c9b --- /dev/null +++ b/clients/client-bcm-pricing-calculator/src/commands/UntagResourceCommand.ts @@ -0,0 +1,124 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { + BCMPricingCalculatorClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes, +} from "../BCMPricingCalculatorClient"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { UntagResourceRequest, UntagResourceResponse } from "../models/models_0"; +import { de_UntagResourceCommand, se_UntagResourceCommand } from "../protocols/Aws_json1_0"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link UntagResourceCommand}. + */ +export interface UntagResourceCommandInput extends UntagResourceRequest {} +/** + * @public + * + * The output of {@link UntagResourceCommand}. + */ +export interface UntagResourceCommandOutput extends UntagResourceResponse, __MetadataBearer {} + +/** + *+ * Removes one or more tags from a specified resource. + *
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { BCMPricingCalculatorClient, UntagResourceCommand } from "@aws-sdk/client-bcm-pricing-calculator"; // ES Modules import + * // const { BCMPricingCalculatorClient, UntagResourceCommand } = require("@aws-sdk/client-bcm-pricing-calculator"); // CommonJS import + * const client = new BCMPricingCalculatorClient(config); + * const input = { // UntagResourceRequest + * arn: "STRING_VALUE", // required + * tagKeys: [ // ResourceTagKeys // required + * "STRING_VALUE", + * ], + * }; + * const command = new UntagResourceCommand(input); + * const response = await client.send(command); + * // {}; + * + * ``` + * + * @param UntagResourceCommandInput - {@link UntagResourceCommandInput} + * @returns {@link UntagResourceCommandOutput} + * @see {@link UntagResourceCommandInput} for command's `input` shape. + * @see {@link UntagResourceCommandOutput} for command's `response` shape. + * @see {@link BCMPricingCalculatorClientResolvedConfig | config} for BCMPricingCalculatorClient's `config` shape. + * + * @throws {@link ResourceNotFoundException} (client fault) + *+ * The specified resource was not found. + *
+ * + * @throws {@link AccessDeniedException} (client fault) + *+ * You do not have sufficient access to perform this action. + *
+ * + * @throws {@link InternalServerException} (server fault) + *+ * An internal error has occurred. Retry your request, but if the problem persists, contact Amazon Web Services support. + *
+ * + * @throws {@link ThrottlingException} (client fault) + *+ * The request was denied due to request throttling. + *
+ * + * @throws {@link ValidationException} (client fault) + *+ * The input provided fails to satisfy the constraints specified by an Amazon Web Services service. + *
+ * + * @throws {@link BCMPricingCalculatorServiceException} + *Base exception class for all service exceptions from BCMPricingCalculator service.
+ * + * @public + */ +export class UntagResourceCommand extends $Command + .classBuilder< + UntagResourceCommandInput, + UntagResourceCommandOutput, + BCMPricingCalculatorClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: BCMPricingCalculatorClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AWSBCMPricingCalculator", "UntagResource", {}) + .n("BCMPricingCalculatorClient", "UntagResourceCommand") + .f(void 0, void 0) + .ser(se_UntagResourceCommand) + .de(de_UntagResourceCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: UntagResourceRequest; + output: {}; + }; + sdk: { + input: UntagResourceCommandInput; + output: UntagResourceCommandOutput; + }; + }; +} diff --git a/clients/client-bcm-pricing-calculator/src/commands/UpdateBillEstimateCommand.ts b/clients/client-bcm-pricing-calculator/src/commands/UpdateBillEstimateCommand.ts new file mode 100644 index 000000000000..e4377401f940 --- /dev/null +++ b/clients/client-bcm-pricing-calculator/src/commands/UpdateBillEstimateCommand.ts @@ -0,0 +1,168 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { + BCMPricingCalculatorClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes, +} from "../BCMPricingCalculatorClient"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { UpdateBillEstimateRequest, UpdateBillEstimateResponse } from "../models/models_0"; +import { de_UpdateBillEstimateCommand, se_UpdateBillEstimateCommand } from "../protocols/Aws_json1_0"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link UpdateBillEstimateCommand}. + */ +export interface UpdateBillEstimateCommandInput extends UpdateBillEstimateRequest {} +/** + * @public + * + * The output of {@link UpdateBillEstimateCommand}. + */ +export interface UpdateBillEstimateCommandOutput extends UpdateBillEstimateResponse, __MetadataBearer {} + +/** + *+ * Updates an existing bill estimate. + *
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { BCMPricingCalculatorClient, UpdateBillEstimateCommand } from "@aws-sdk/client-bcm-pricing-calculator"; // ES Modules import + * // const { BCMPricingCalculatorClient, UpdateBillEstimateCommand } = require("@aws-sdk/client-bcm-pricing-calculator"); // CommonJS import + * const client = new BCMPricingCalculatorClient(config); + * const input = { // UpdateBillEstimateRequest + * identifier: "STRING_VALUE", // required + * name: "STRING_VALUE", + * expiresAt: new Date("TIMESTAMP"), + * }; + * const command = new UpdateBillEstimateCommand(input); + * const response = await client.send(command); + * // { // UpdateBillEstimateResponse + * // id: "STRING_VALUE", // required + * // name: "STRING_VALUE", + * // status: "IN_PROGRESS" || "COMPLETE" || "FAILED", + * // failureMessage: "STRING_VALUE", + * // billInterval: { // BillInterval + * // start: new Date("TIMESTAMP"), + * // end: new Date("TIMESTAMP"), + * // }, + * // costSummary: { // BillEstimateCostSummary + * // totalCostDifference: { // CostDifference + * // historicalCost: { // CostAmount + * // amount: Number("double"), + * // currency: "USD", + * // }, + * // estimatedCost: { + * // amount: Number("double"), + * // currency: "USD", + * // }, + * // }, + * // serviceCostDifferences: { // ServiceCostDifferenceMap + * // "+ * The request could not be processed because of conflict in the current state of the resource. + *
+ * + * @throws {@link DataUnavailableException} (client fault) + *+ * The requested data is currently unavailable. + *
+ * + * @throws {@link ResourceNotFoundException} (client fault) + *+ * The specified resource was not found. + *
+ * + * @throws {@link AccessDeniedException} (client fault) + *+ * You do not have sufficient access to perform this action. + *
+ * + * @throws {@link InternalServerException} (server fault) + *+ * An internal error has occurred. Retry your request, but if the problem persists, contact Amazon Web Services support. + *
+ * + * @throws {@link ThrottlingException} (client fault) + *+ * The request was denied due to request throttling. + *
+ * + * @throws {@link ValidationException} (client fault) + *+ * The input provided fails to satisfy the constraints specified by an Amazon Web Services service. + *
+ * + * @throws {@link BCMPricingCalculatorServiceException} + *Base exception class for all service exceptions from BCMPricingCalculator service.
+ * + * @public + */ +export class UpdateBillEstimateCommand extends $Command + .classBuilder< + UpdateBillEstimateCommandInput, + UpdateBillEstimateCommandOutput, + BCMPricingCalculatorClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: BCMPricingCalculatorClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AWSBCMPricingCalculator", "UpdateBillEstimate", {}) + .n("BCMPricingCalculatorClient", "UpdateBillEstimateCommand") + .f(void 0, void 0) + .ser(se_UpdateBillEstimateCommand) + .de(de_UpdateBillEstimateCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: UpdateBillEstimateRequest; + output: UpdateBillEstimateResponse; + }; + sdk: { + input: UpdateBillEstimateCommandInput; + output: UpdateBillEstimateCommandOutput; + }; + }; +} diff --git a/clients/client-bcm-pricing-calculator/src/commands/UpdateBillScenarioCommand.ts b/clients/client-bcm-pricing-calculator/src/commands/UpdateBillScenarioCommand.ts new file mode 100644 index 000000000000..fd1ca5865fef --- /dev/null +++ b/clients/client-bcm-pricing-calculator/src/commands/UpdateBillScenarioCommand.ts @@ -0,0 +1,144 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { + BCMPricingCalculatorClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes, +} from "../BCMPricingCalculatorClient"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { UpdateBillScenarioRequest, UpdateBillScenarioResponse } from "../models/models_0"; +import { de_UpdateBillScenarioCommand, se_UpdateBillScenarioCommand } from "../protocols/Aws_json1_0"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link UpdateBillScenarioCommand}. + */ +export interface UpdateBillScenarioCommandInput extends UpdateBillScenarioRequest {} +/** + * @public + * + * The output of {@link UpdateBillScenarioCommand}. + */ +export interface UpdateBillScenarioCommandOutput extends UpdateBillScenarioResponse, __MetadataBearer {} + +/** + *+ * Updates an existing bill scenario. + *
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { BCMPricingCalculatorClient, UpdateBillScenarioCommand } from "@aws-sdk/client-bcm-pricing-calculator"; // ES Modules import + * // const { BCMPricingCalculatorClient, UpdateBillScenarioCommand } = require("@aws-sdk/client-bcm-pricing-calculator"); // CommonJS import + * const client = new BCMPricingCalculatorClient(config); + * const input = { // UpdateBillScenarioRequest + * identifier: "STRING_VALUE", // required + * name: "STRING_VALUE", + * expiresAt: new Date("TIMESTAMP"), + * }; + * const command = new UpdateBillScenarioCommand(input); + * const response = await client.send(command); + * // { // UpdateBillScenarioResponse + * // id: "STRING_VALUE", // required + * // name: "STRING_VALUE", + * // billInterval: { // BillInterval + * // start: new Date("TIMESTAMP"), + * // end: new Date("TIMESTAMP"), + * // }, + * // status: "READY" || "LOCKED" || "FAILED", + * // createdAt: new Date("TIMESTAMP"), + * // expiresAt: new Date("TIMESTAMP"), + * // failureMessage: "STRING_VALUE", + * // }; + * + * ``` + * + * @param UpdateBillScenarioCommandInput - {@link UpdateBillScenarioCommandInput} + * @returns {@link UpdateBillScenarioCommandOutput} + * @see {@link UpdateBillScenarioCommandInput} for command's `input` shape. + * @see {@link UpdateBillScenarioCommandOutput} for command's `response` shape. + * @see {@link BCMPricingCalculatorClientResolvedConfig | config} for BCMPricingCalculatorClient's `config` shape. + * + * @throws {@link ConflictException} (client fault) + *+ * The request could not be processed because of conflict in the current state of the resource. + *
+ * + * @throws {@link DataUnavailableException} (client fault) + *+ * The requested data is currently unavailable. + *
+ * + * @throws {@link ResourceNotFoundException} (client fault) + *+ * The specified resource was not found. + *
+ * + * @throws {@link AccessDeniedException} (client fault) + *+ * You do not have sufficient access to perform this action. + *
+ * + * @throws {@link InternalServerException} (server fault) + *+ * An internal error has occurred. Retry your request, but if the problem persists, contact Amazon Web Services support. + *
+ * + * @throws {@link ThrottlingException} (client fault) + *+ * The request was denied due to request throttling. + *
+ * + * @throws {@link ValidationException} (client fault) + *+ * The input provided fails to satisfy the constraints specified by an Amazon Web Services service. + *
+ * + * @throws {@link BCMPricingCalculatorServiceException} + *Base exception class for all service exceptions from BCMPricingCalculator service.
+ * + * @public + */ +export class UpdateBillScenarioCommand extends $Command + .classBuilder< + UpdateBillScenarioCommandInput, + UpdateBillScenarioCommandOutput, + BCMPricingCalculatorClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: BCMPricingCalculatorClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AWSBCMPricingCalculator", "UpdateBillScenario", {}) + .n("BCMPricingCalculatorClient", "UpdateBillScenarioCommand") + .f(void 0, void 0) + .ser(se_UpdateBillScenarioCommand) + .de(de_UpdateBillScenarioCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: UpdateBillScenarioRequest; + output: UpdateBillScenarioResponse; + }; + sdk: { + input: UpdateBillScenarioCommandInput; + output: UpdateBillScenarioCommandOutput; + }; + }; +} diff --git a/clients/client-bcm-pricing-calculator/src/commands/UpdatePreferencesCommand.ts b/clients/client-bcm-pricing-calculator/src/commands/UpdatePreferencesCommand.ts new file mode 100644 index 000000000000..790832ac5af2 --- /dev/null +++ b/clients/client-bcm-pricing-calculator/src/commands/UpdatePreferencesCommand.ts @@ -0,0 +1,138 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { + BCMPricingCalculatorClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes, +} from "../BCMPricingCalculatorClient"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { UpdatePreferencesRequest, UpdatePreferencesResponse } from "../models/models_0"; +import { de_UpdatePreferencesCommand, se_UpdatePreferencesCommand } from "../protocols/Aws_json1_0"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link UpdatePreferencesCommand}. + */ +export interface UpdatePreferencesCommandInput extends UpdatePreferencesRequest {} +/** + * @public + * + * The output of {@link UpdatePreferencesCommand}. + */ +export interface UpdatePreferencesCommandOutput extends UpdatePreferencesResponse, __MetadataBearer {} + +/** + *+ * Updates the preferences for the Amazon Web Services Cost Explorer service. + *
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { BCMPricingCalculatorClient, UpdatePreferencesCommand } from "@aws-sdk/client-bcm-pricing-calculator"; // ES Modules import + * // const { BCMPricingCalculatorClient, UpdatePreferencesCommand } = require("@aws-sdk/client-bcm-pricing-calculator"); // CommonJS import + * const client = new BCMPricingCalculatorClient(config); + * const input = { // UpdatePreferencesRequest + * managementAccountRateTypeSelections: [ // RateTypes + * "BEFORE_DISCOUNTS" || "AFTER_DISCOUNTS", + * ], + * memberAccountRateTypeSelections: [ + * "BEFORE_DISCOUNTS" || "AFTER_DISCOUNTS", + * ], + * }; + * const command = new UpdatePreferencesCommand(input); + * const response = await client.send(command); + * // { // UpdatePreferencesResponse + * // managementAccountRateTypeSelections: [ // RateTypes + * // "BEFORE_DISCOUNTS" || "AFTER_DISCOUNTS", + * // ], + * // memberAccountRateTypeSelections: [ + * // "BEFORE_DISCOUNTS" || "AFTER_DISCOUNTS", + * // ], + * // }; + * + * ``` + * + * @param UpdatePreferencesCommandInput - {@link UpdatePreferencesCommandInput} + * @returns {@link UpdatePreferencesCommandOutput} + * @see {@link UpdatePreferencesCommandInput} for command's `input` shape. + * @see {@link UpdatePreferencesCommandOutput} for command's `response` shape. + * @see {@link BCMPricingCalculatorClientResolvedConfig | config} for BCMPricingCalculatorClient's `config` shape. + * + * @throws {@link DataUnavailableException} (client fault) + *+ * The requested data is currently unavailable. + *
+ * + * @throws {@link ServiceQuotaExceededException} (client fault) + *+ * The request would cause you to exceed your service quota. + *
+ * + * @throws {@link AccessDeniedException} (client fault) + *+ * You do not have sufficient access to perform this action. + *
+ * + * @throws {@link InternalServerException} (server fault) + *+ * An internal error has occurred. Retry your request, but if the problem persists, contact Amazon Web Services support. + *
+ * + * @throws {@link ThrottlingException} (client fault) + *+ * The request was denied due to request throttling. + *
+ * + * @throws {@link ValidationException} (client fault) + *+ * The input provided fails to satisfy the constraints specified by an Amazon Web Services service. + *
+ * + * @throws {@link BCMPricingCalculatorServiceException} + *Base exception class for all service exceptions from BCMPricingCalculator service.
+ * + * @public + */ +export class UpdatePreferencesCommand extends $Command + .classBuilder< + UpdatePreferencesCommandInput, + UpdatePreferencesCommandOutput, + BCMPricingCalculatorClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: BCMPricingCalculatorClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AWSBCMPricingCalculator", "UpdatePreferences", {}) + .n("BCMPricingCalculatorClient", "UpdatePreferencesCommand") + .f(void 0, void 0) + .ser(se_UpdatePreferencesCommand) + .de(de_UpdatePreferencesCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: UpdatePreferencesRequest; + output: UpdatePreferencesResponse; + }; + sdk: { + input: UpdatePreferencesCommandInput; + output: UpdatePreferencesCommandOutput; + }; + }; +} diff --git a/clients/client-bcm-pricing-calculator/src/commands/UpdateWorkloadEstimateCommand.ts b/clients/client-bcm-pricing-calculator/src/commands/UpdateWorkloadEstimateCommand.ts new file mode 100644 index 000000000000..e37261742ca9 --- /dev/null +++ b/clients/client-bcm-pricing-calculator/src/commands/UpdateWorkloadEstimateCommand.ts @@ -0,0 +1,144 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { + BCMPricingCalculatorClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes, +} from "../BCMPricingCalculatorClient"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { UpdateWorkloadEstimateRequest, UpdateWorkloadEstimateResponse } from "../models/models_0"; +import { de_UpdateWorkloadEstimateCommand, se_UpdateWorkloadEstimateCommand } from "../protocols/Aws_json1_0"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link UpdateWorkloadEstimateCommand}. + */ +export interface UpdateWorkloadEstimateCommandInput extends UpdateWorkloadEstimateRequest {} +/** + * @public + * + * The output of {@link UpdateWorkloadEstimateCommand}. + */ +export interface UpdateWorkloadEstimateCommandOutput extends UpdateWorkloadEstimateResponse, __MetadataBearer {} + +/** + *+ * Updates an existing workload estimate. + *
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { BCMPricingCalculatorClient, UpdateWorkloadEstimateCommand } from "@aws-sdk/client-bcm-pricing-calculator"; // ES Modules import + * // const { BCMPricingCalculatorClient, UpdateWorkloadEstimateCommand } = require("@aws-sdk/client-bcm-pricing-calculator"); // CommonJS import + * const client = new BCMPricingCalculatorClient(config); + * const input = { // UpdateWorkloadEstimateRequest + * identifier: "STRING_VALUE", // required + * name: "STRING_VALUE", + * expiresAt: new Date("TIMESTAMP"), + * }; + * const command = new UpdateWorkloadEstimateCommand(input); + * const response = await client.send(command); + * // { // UpdateWorkloadEstimateResponse + * // id: "STRING_VALUE", // required + * // name: "STRING_VALUE", + * // createdAt: new Date("TIMESTAMP"), + * // expiresAt: new Date("TIMESTAMP"), + * // rateType: "BEFORE_DISCOUNTS" || "AFTER_DISCOUNTS", + * // rateTimestamp: new Date("TIMESTAMP"), + * // status: "UPDATING" || "VALID" || "INVALID" || "ACTION_NEEDED", + * // totalCost: Number("double"), + * // costCurrency: "USD", + * // failureMessage: "STRING_VALUE", + * // }; + * + * ``` + * + * @param UpdateWorkloadEstimateCommandInput - {@link UpdateWorkloadEstimateCommandInput} + * @returns {@link UpdateWorkloadEstimateCommandOutput} + * @see {@link UpdateWorkloadEstimateCommandInput} for command's `input` shape. + * @see {@link UpdateWorkloadEstimateCommandOutput} for command's `response` shape. + * @see {@link BCMPricingCalculatorClientResolvedConfig | config} for BCMPricingCalculatorClient's `config` shape. + * + * @throws {@link ConflictException} (client fault) + *+ * The request could not be processed because of conflict in the current state of the resource. + *
+ * + * @throws {@link DataUnavailableException} (client fault) + *+ * The requested data is currently unavailable. + *
+ * + * @throws {@link ResourceNotFoundException} (client fault) + *+ * The specified resource was not found. + *
+ * + * @throws {@link AccessDeniedException} (client fault) + *+ * You do not have sufficient access to perform this action. + *
+ * + * @throws {@link InternalServerException} (server fault) + *+ * An internal error has occurred. Retry your request, but if the problem persists, contact Amazon Web Services support. + *
+ * + * @throws {@link ThrottlingException} (client fault) + *+ * The request was denied due to request throttling. + *
+ * + * @throws {@link ValidationException} (client fault) + *+ * The input provided fails to satisfy the constraints specified by an Amazon Web Services service. + *
+ * + * @throws {@link BCMPricingCalculatorServiceException} + *Base exception class for all service exceptions from BCMPricingCalculator service.
+ * + * @public + */ +export class UpdateWorkloadEstimateCommand extends $Command + .classBuilder< + UpdateWorkloadEstimateCommandInput, + UpdateWorkloadEstimateCommandOutput, + BCMPricingCalculatorClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: BCMPricingCalculatorClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AWSBCMPricingCalculator", "UpdateWorkloadEstimate", {}) + .n("BCMPricingCalculatorClient", "UpdateWorkloadEstimateCommand") + .f(void 0, void 0) + .ser(se_UpdateWorkloadEstimateCommand) + .de(de_UpdateWorkloadEstimateCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: UpdateWorkloadEstimateRequest; + output: UpdateWorkloadEstimateResponse; + }; + sdk: { + input: UpdateWorkloadEstimateCommandInput; + output: UpdateWorkloadEstimateCommandOutput; + }; + }; +} diff --git a/clients/client-bcm-pricing-calculator/src/commands/index.ts b/clients/client-bcm-pricing-calculator/src/commands/index.ts new file mode 100644 index 000000000000..511995bb9702 --- /dev/null +++ b/clients/client-bcm-pricing-calculator/src/commands/index.ts @@ -0,0 +1,37 @@ +// smithy-typescript generated code +export * from "./BatchCreateBillScenarioCommitmentModificationCommand"; +export * from "./BatchCreateBillScenarioUsageModificationCommand"; +export * from "./BatchCreateWorkloadEstimateUsageCommand"; +export * from "./BatchDeleteBillScenarioCommitmentModificationCommand"; +export * from "./BatchDeleteBillScenarioUsageModificationCommand"; +export * from "./BatchDeleteWorkloadEstimateUsageCommand"; +export * from "./BatchUpdateBillScenarioCommitmentModificationCommand"; +export * from "./BatchUpdateBillScenarioUsageModificationCommand"; +export * from "./BatchUpdateWorkloadEstimateUsageCommand"; +export * from "./CreateBillEstimateCommand"; +export * from "./CreateBillScenarioCommand"; +export * from "./CreateWorkloadEstimateCommand"; +export * from "./DeleteBillEstimateCommand"; +export * from "./DeleteBillScenarioCommand"; +export * from "./DeleteWorkloadEstimateCommand"; +export * from "./GetBillEstimateCommand"; +export * from "./GetBillScenarioCommand"; +export * from "./GetPreferencesCommand"; +export * from "./GetWorkloadEstimateCommand"; +export * from "./ListBillEstimateCommitmentsCommand"; +export * from "./ListBillEstimateInputCommitmentModificationsCommand"; +export * from "./ListBillEstimateInputUsageModificationsCommand"; +export * from "./ListBillEstimateLineItemsCommand"; +export * from "./ListBillEstimatesCommand"; +export * from "./ListBillScenarioCommitmentModificationsCommand"; +export * from "./ListBillScenarioUsageModificationsCommand"; +export * from "./ListBillScenariosCommand"; +export * from "./ListTagsForResourceCommand"; +export * from "./ListWorkloadEstimateUsageCommand"; +export * from "./ListWorkloadEstimatesCommand"; +export * from "./TagResourceCommand"; +export * from "./UntagResourceCommand"; +export * from "./UpdateBillEstimateCommand"; +export * from "./UpdateBillScenarioCommand"; +export * from "./UpdatePreferencesCommand"; +export * from "./UpdateWorkloadEstimateCommand"; diff --git a/clients/client-bcm-pricing-calculator/src/endpoint/EndpointParameters.ts b/clients/client-bcm-pricing-calculator/src/endpoint/EndpointParameters.ts new file mode 100644 index 000000000000..deb205131d60 --- /dev/null +++ b/clients/client-bcm-pricing-calculator/src/endpoint/EndpointParameters.ts @@ -0,0 +1,37 @@ +// smithy-typescript generated code +import { Endpoint, EndpointParameters as __EndpointParameters, EndpointV2, Provider } from "@smithy/types"; + +/** + * @public + */ +export interface ClientInputEndpointParameters { + useFipsEndpoint?: boolean | Provider+ * You can use the Pricing Calculator API to programmatically create estimates for your planned cloud use. You can model usage and commitments such as Savings Plans and + * Reserved Instances, and generate estimated costs using your discounts and benefit sharing preferences. + *
+ *The Pricing Calculator API provides the following endpoint:
+ *
+ * https://bcm-pricing-calculator.us-east-1.api.aws
+ *
+ * You do not have sufficient access to perform this action. + *
+ * @public + */ +export class AccessDeniedException extends __BaseException { + readonly name: "AccessDeniedException" = "AccessDeniedException"; + readonly $fault: "client" = "client"; + /** + * @internal + */ + constructor(opts: __ExceptionOptionType+ * Represents an action to add a Reserved Instance to a bill scenario. + *
+ * @public + */ +export interface AddReservedInstanceAction { + /** + *+ * The ID of the Reserved Instance offering to add. For more information, see + * + * DescribeReservedInstancesOfferings. + *
+ * @public + */ + reservedInstancesOfferingId?: string | undefined; + + /** + *+ * The number of instances to add for this Reserved Instance offering. + *
+ * @public + */ + instanceCount?: number | undefined; +} + +/** + *+ * Represents an action to add a Savings Plan to a bill scenario. + *
+ * @public + */ +export interface AddSavingsPlanAction { + /** + *+ * The ID of the Savings Plan offering to add. For more information, see + * + * DescribeSavingsPlansOfferings. + *
+ * @public + */ + savingsPlanOfferingId?: string | undefined; + + /** + *
+ * The hourly commitment, in the same currency of the savingsPlanOfferingId
.
+ * This is a value between 0.001 and 1 million. You cannot specify more than five digits
+ * after the decimal point.
+ *
+ * The requested data is currently unavailable. + *
+ * @public + */ +export class DataUnavailableException extends __BaseException { + readonly name: "DataUnavailableException" = "DataUnavailableException"; + readonly $fault: "client" = "client"; + /** + * @internal + */ + constructor(opts: __ExceptionOptionType+ * An internal error has occurred. Retry your request, but if the problem persists, contact Amazon Web Services support. + *
+ * @public + */ +export class InternalServerException extends __BaseException { + readonly name: "InternalServerException" = "InternalServerException"; + readonly $fault: "server" = "server"; + /** + *+ * An internal error has occurred. Retry your request, but if the problem persists, contact Amazon Web Services support. + *
+ * @public + */ + retryAfterSeconds?: number | undefined; + + /** + * @internal + */ + constructor(opts: __ExceptionOptionType+ * The unique identifier of the bill estimate to list commitments for. + *
+ * @public + */ + billEstimateId: string | undefined; + + /** + *+ * A token to retrieve the next page of results. + *
+ * @public + */ + nextToken?: string | undefined; + + /** + *+ * The maximum number of results to return per page. + *
+ * @public + */ + maxResults?: number | undefined; +} + +/** + * @public + * @enum + */ +export const CurrencyCode = { + USD: "USD", +} as const; + +/** + * @public + */ +export type CurrencyCode = (typeof CurrencyCode)[keyof typeof CurrencyCode]; + +/** + *+ * Represents a monetary amount with associated currency. + *
+ * @public + */ +export interface CostAmount { + /** + *+ * The numeric value of the cost. + *
+ * @public + */ + amount?: number | undefined; + + /** + *+ * The currency code for the cost amount. + *
+ * @public + */ + currency?: CurrencyCode | undefined; +} + +/** + * @public + * @enum + */ +export const PurchaseAgreementType = { + RESERVED_INSTANCE: "RESERVED_INSTANCE", + SAVINGS_PLANS: "SAVINGS_PLANS", +} as const; + +/** + * @public + */ +export type PurchaseAgreementType = (typeof PurchaseAgreementType)[keyof typeof PurchaseAgreementType]; + +/** + *+ * Provides a summary of commitment-related information for a bill estimate. + *
+ * @public + */ +export interface BillEstimateCommitmentSummary { + /** + *+ * The unique identifier of the commitment. + *
+ * @public + */ + id?: string | undefined; + + /** + *+ * The type of purchase agreement (e.g., Reserved Instance, Savings Plan). + *
+ * @public + */ + purchaseAgreementType?: PurchaseAgreementType | undefined; + + /** + *+ * The identifier of the specific offering associated with this commitment. + *
+ * @public + */ + offeringId?: string | undefined; + + /** + *+ * The Amazon Web Services account ID associated with this commitment. + *
+ * @public + */ + usageAccountId?: string | undefined; + + /** + *+ * The Amazon Web Services region associated with this commitment. + *
+ * @public + */ + region?: string | undefined; + + /** + *+ * The length of the commitment term. + *
+ * @public + */ + termLength?: string | undefined; + + /** + *+ * The payment option chosen for this commitment (e.g., All Upfront, Partial Upfront, No Upfront). + *
+ * @public + */ + paymentOption?: string | undefined; + + /** + *+ * The upfront payment amount for this commitment, if applicable. + *
+ * @public + */ + upfrontPayment?: CostAmount | undefined; + + /** + *+ * The monthly payment amount for this commitment, if applicable. + *
+ * @public + */ + monthlyPayment?: CostAmount | undefined; +} + +/** + * @public + */ +export interface ListBillEstimateCommitmentsResponse { + /** + *+ * The list of commitments associated with the bill estimate. + *
+ * @public + */ + items?: BillEstimateCommitmentSummary[] | undefined; + + /** + *+ * A token to retrieve the next page of results, if any. + *
+ * @public + */ + nextToken?: string | undefined; +} + +/** + *+ * The specified resource was not found. + *
+ * @public + */ +export class ResourceNotFoundException extends __BaseException { + readonly name: "ResourceNotFoundException" = "ResourceNotFoundException"; + readonly $fault: "client" = "client"; + /** + *+ * The identifier of the resource that was not found. + *
+ * @public + */ + resourceId: string | undefined; + + /** + *+ * The type of the resource that was not found. + *
+ * @public + */ + resourceType: string | undefined; + + /** + * @internal + */ + constructor(opts: __ExceptionOptionType+ * The request was denied due to request throttling. + *
+ * @public + */ +export class ThrottlingException extends __BaseException { + readonly name: "ThrottlingException" = "ThrottlingException"; + readonly $fault: "client" = "client"; + /** + *The service code that exceeded the throttling limit.
+ * @public + */ + serviceCode?: string | undefined; + + /** + *The quota code that exceeded the throttling limit.
+ * @public + */ + quotaCode?: string | undefined; + + /** + *The service code that exceeded the throttling limit. Retry your + * request, but if the problem persists, contact Amazon Web Services support.
+ * @public + */ + retryAfterSeconds?: number | undefined; + + /** + * @internal + */ + constructor(opts: __ExceptionOptionType+ * Represents a field that failed validation in a request. + *
+ * @public + */ +export interface ValidationExceptionField { + /** + *+ * The name of the field that failed validation. + *
+ * @public + */ + name: string | undefined; + + /** + *+ * The error message describing why the field failed validation. + *
+ * @public + */ + message: string | undefined; +} + +/** + * @public + * @enum + */ +export const ValidationExceptionReason = { + CANNOT_PARSE: "cannotParse", + DISALLOWED_RATE: "disallowedRate", + FIELD_VALIDATION_FAILED: "fieldValidationFailed", + INVALID_REQUEST_FROM_MEMBER: "invalidRequestFromMember", + OTHER: "other", + UNKNOWN_OPERATION: "unknownOperation", +} as const; + +/** + * @public + */ +export type ValidationExceptionReason = (typeof ValidationExceptionReason)[keyof typeof ValidationExceptionReason]; + +/** + *+ * The input provided fails to satisfy the constraints specified by an Amazon Web Services service. + *
+ * @public + */ +export class ValidationException extends __BaseException { + readonly name: "ValidationException" = "ValidationException"; + readonly $fault: "client" = "client"; + /** + *+ * The reason for the validation exception. + *
+ * @public + */ + reason?: ValidationExceptionReason | undefined; + + /** + *+ * The list of fields that are invalid. + *
+ * @public + */ + fieldList?: ValidationExceptionField[] | undefined; + + /** + * @internal + */ + constructor(opts: __ExceptionOptionType+ * Represents the difference between historical and estimated costs. + *
+ * @public + */ +export interface CostDifference { + /** + *+ * The historical cost amount. + *
+ * @public + */ + historicalCost?: CostAmount | undefined; + + /** + *+ * The estimated cost amount. + *
+ * @public + */ + estimatedCost?: CostAmount | undefined; +} + +/** + *+ * Provides a summary of cost-related information for a bill estimate. + *
+ * @public + */ +export interface BillEstimateCostSummary { + /** + *+ * The total difference in cost between the estimated and historical costs. + *
+ * @public + */ + totalCostDifference?: CostDifference | undefined; + + /** + *+ * A breakdown of cost differences by Amazon Web Services service. + *
+ * @public + */ + serviceCostDifferences?: Record+ * The unique identifier of the bill estimate to list input commitment modifications for. + *
+ * @public + */ + billEstimateId: string | undefined; + + /** + *+ * A token to retrieve the next page of results. + *
+ * @public + */ + nextToken?: string | undefined; + + /** + *+ * The maximum number of results to return per page. + *
+ * @public + */ + maxResults?: number | undefined; +} + +/** + *+ * Represents an action to remove a Reserved Instance from a bill scenario. + *
+ *+ * This is the ID of an existing Reserved Instance in your account. + *
+ * @public + */ +export interface NegateReservedInstanceAction { + /** + *+ * The ID of the Reserved Instance to remove. + *
+ * @public + */ + reservedInstancesId?: string | undefined; +} + +/** + *+ * Represents an action to remove a Savings Plan from a bill scenario. + *
+ *+ * This is the ID of an existing Savings Plan in your account. + *
+ * @public + */ +export interface NegateSavingsPlanAction { + /** + *+ * The ID of the Savings Plan to remove. + *
+ * @public + */ + savingsPlanId?: string | undefined; +} + +/** + *+ * Represents an action to modify commitments in a bill scenario. + *
+ * @public + */ +export type BillScenarioCommitmentModificationAction = + | BillScenarioCommitmentModificationAction.AddReservedInstanceActionMember + | BillScenarioCommitmentModificationAction.AddSavingsPlanActionMember + | BillScenarioCommitmentModificationAction.NegateReservedInstanceActionMember + | BillScenarioCommitmentModificationAction.NegateSavingsPlanActionMember + | BillScenarioCommitmentModificationAction.$UnknownMember; + +/** + * @public + */ +export namespace BillScenarioCommitmentModificationAction { + /** + *+ * Action to add a Reserved Instance to the scenario. + *
+ * @public + */ + export interface AddReservedInstanceActionMember { + addReservedInstanceAction: AddReservedInstanceAction; + addSavingsPlanAction?: never; + negateReservedInstanceAction?: never; + negateSavingsPlanAction?: never; + $unknown?: never; + } + + /** + *+ * Action to add a Savings Plan to the scenario. + *
+ * @public + */ + export interface AddSavingsPlanActionMember { + addReservedInstanceAction?: never; + addSavingsPlanAction: AddSavingsPlanAction; + negateReservedInstanceAction?: never; + negateSavingsPlanAction?: never; + $unknown?: never; + } + + /** + *+ * Action to remove a Reserved Instance from the scenario. + *
+ * @public + */ + export interface NegateReservedInstanceActionMember { + addReservedInstanceAction?: never; + addSavingsPlanAction?: never; + negateReservedInstanceAction: NegateReservedInstanceAction; + negateSavingsPlanAction?: never; + $unknown?: never; + } + + /** + *+ * Action to remove a Savings Plan from the scenario. + *
+ * @public + */ + export interface NegateSavingsPlanActionMember { + addReservedInstanceAction?: never; + addSavingsPlanAction?: never; + negateReservedInstanceAction?: never; + negateSavingsPlanAction: NegateSavingsPlanAction; + $unknown?: never; + } + + /** + * @public + */ + export interface $UnknownMember { + addReservedInstanceAction?: never; + addSavingsPlanAction?: never; + negateReservedInstanceAction?: never; + negateSavingsPlanAction?: never; + $unknown: [string, any]; + } + + export interface Visitor+ * Summarizes an input commitment modification for a bill estimate. + *
+ * @public + */ +export interface BillEstimateInputCommitmentModificationSummary { + /** + *+ * The unique identifier of the commitment modification. + *
+ * @public + */ + id?: string | undefined; + + /** + *+ * The group identifier for the commitment modification. + *
+ * @public + */ + group?: string | undefined; + + /** + *+ * The Amazon Web Services account ID associated with this commitment modification. + *
+ * @public + */ + usageAccountId?: string | undefined; + + /** + *+ * The specific commitment action taken in this modification. + *
+ * @public + */ + commitmentAction?: BillScenarioCommitmentModificationAction | undefined; +} + +/** + * @public + */ +export interface ListBillEstimateInputCommitmentModificationsResponse { + /** + *+ * The list of input commitment modifications associated with the bill estimate. + *
+ * @public + */ + items?: BillEstimateInputCommitmentModificationSummary[] | undefined; + + /** + *+ * A token to retrieve the next page of results, if any. + *
+ * @public + */ + nextToken?: string | undefined; +} + +/** + * @public + * @enum + */ +export const MatchOption = { + CONTAINS: "CONTAINS", + EQUALS: "EQUALS", + STARTS_WITH: "STARTS_WITH", +} as const; + +/** + * @public + */ +export type MatchOption = (typeof MatchOption)[keyof typeof MatchOption]; + +/** + * @public + * @enum + */ +export const ListUsageFilterName = { + HISTORICAL_LOCATION: "HISTORICAL_LOCATION", + HISTORICAL_OPERATION: "HISTORICAL_OPERATION", + HISTORICAL_SERVICE_CODE: "HISTORICAL_SERVICE_CODE", + HISTORICAL_USAGE_ACCOUNT_ID: "HISTORICAL_USAGE_ACCOUNT_ID", + HISTORICAL_USAGE_TYPE: "HISTORICAL_USAGE_TYPE", + LOCATION: "LOCATION", + OPERATION: "OPERATION", + SERVICE_CODE: "SERVICE_CODE", + USAGE_ACCOUNT_ID: "USAGE_ACCOUNT_ID", + USAGE_GROUP: "USAGE_GROUP", + USAGE_TYPE: "USAGE_TYPE", +} as const; + +/** + * @public + */ +export type ListUsageFilterName = (typeof ListUsageFilterName)[keyof typeof ListUsageFilterName]; + +/** + *+ * Represents a filter for listing usage data. + *
+ * @public + */ +export interface ListUsageFilter { + /** + *+ * The name of the filter attribute. + *
+ * @public + */ + name: ListUsageFilterName | undefined; + + /** + *+ * The values to filter by. + *
+ * @public + */ + values: string[] | undefined; + + /** + *+ * The match option for the filter (e.g., equals, contains). + *
+ * @public + */ + matchOption?: MatchOption | undefined; +} + +/** + * @public + */ +export interface ListBillEstimateInputUsageModificationsRequest { + /** + *+ * The unique identifier of the bill estimate to list input usage modifications for. + *
+ * @public + */ + billEstimateId: string | undefined; + + /** + *+ * Filters to apply to the list of input usage modifications. + *
+ * @public + */ + filters?: ListUsageFilter[] | undefined; + + /** + *+ * A token to retrieve the next page of results. + *
+ * @public + */ + nextToken?: string | undefined; + + /** + *+ * The maximum number of results to return per page. + *
+ * @public + */ + maxResults?: number | undefined; +} + +/** + *+ * Represents a time interval for a bill or estimate. + *
+ * @public + */ +export interface BillInterval { + /** + *+ * The start date and time of the interval. + *
+ * @public + */ + start?: Date | undefined; + + /** + *+ * The end date and time of the interval. + *
+ * @public + */ + end?: Date | undefined; +} + +/** + *+ * Represents a filter used within an expression. + *
+ * @public + */ +export interface ExpressionFilter { + /** + *+ * The key or attribute to filter on. + *
+ * @public + */ + key?: string | undefined; + + /** + *+ * The match options for the filter (e.g., equals, contains). + *
+ * @public + */ + matchOptions?: string[] | undefined; + + /** + *+ * The values to match against. + *
+ * @public + */ + values?: string[] | undefined; +} + +/** + *+ * Represents a usage quantity with associated unit and time period. + *
+ * @public + */ +export interface UsageQuantity { + /** + *+ * The start hour of the usage period. + *
+ * @public + */ + startHour?: Date | undefined; + + /** + *+ * The unit of measurement for the usage quantity. + *
+ * @public + */ + unit?: string | undefined; + + /** + *+ * The numeric value of the usage quantity. + *
+ * @public + */ + amount?: number | undefined; +} + +/** + * @public + * @enum + */ +export const ListBillEstimateLineItemsFilterName = { + LINE_ITEM_TYPE: "LINE_ITEM_TYPE", + LOCATION: "LOCATION", + OPERATION: "OPERATION", + SERVICE_CODE: "SERVICE_CODE", + USAGE_ACCOUNT_ID: "USAGE_ACCOUNT_ID", + USAGE_TYPE: "USAGE_TYPE", +} as const; + +/** + * @public + */ +export type ListBillEstimateLineItemsFilterName = + (typeof ListBillEstimateLineItemsFilterName)[keyof typeof ListBillEstimateLineItemsFilterName]; + +/** + *+ * Represents a filter for listing bill estimate line items. + *
+ * @public + */ +export interface ListBillEstimateLineItemsFilter { + /** + *+ * The name of the filter attribute. + *
+ * @public + */ + name: ListBillEstimateLineItemsFilterName | undefined; + + /** + *+ * The values to filter by. + *
+ * @public + */ + values: string[] | undefined; + + /** + *+ * The match option for the filter (e.g., equals, contains). + *
+ * @public + */ + matchOption?: MatchOption | undefined; +} + +/** + * @public + */ +export interface ListBillEstimateLineItemsRequest { + /** + *+ * The unique identifier of the bill estimate to list line items for. + *
+ * @public + */ + billEstimateId: string | undefined; + + /** + *+ * Filters to apply to the list of line items. + *
+ * @public + */ + filters?: ListBillEstimateLineItemsFilter[] | undefined; + + /** + *+ * A token to retrieve the next page of results. + *
+ * @public + */ + nextToken?: string | undefined; + + /** + *+ * The maximum number of results to return per page. + *
+ * @public + */ + maxResults?: number | undefined; +} + +/** + *+ * Represents the result of a usage quantity calculation. + *
+ * @public + */ +export interface UsageQuantityResult { + /** + *+ * The numeric value of the usage quantity result. + *
+ * @public + */ + amount?: number | undefined; + + /** + *+ * The unit of measurement for the usage quantity result. + *
+ * @public + */ + unit?: string | undefined; +} + +/** + *+ * Provides a summary of a line item in a bill estimate. + *
+ * @public + */ +export interface BillEstimateLineItemSummary { + /** + *+ * The Amazon Web Services service code associated with this line item. + *
+ * @public + */ + serviceCode: string | undefined; + + /** + *+ * The type of usage for this line item. + *
+ * @public + */ + usageType: string | undefined; + + /** + *+ * The specific operation associated with this line item. + *
+ * @public + */ + operation: string | undefined; + + /** + *+ * The location associated with this line item. + *
+ * @public + */ + location?: string | undefined; + + /** + *+ * The availability zone associated with this line item, if applicable. + *
+ * @public + */ + availabilityZone?: string | undefined; + + /** + *+ * The unique identifier of this line item. + *
+ * @public + */ + id?: string | undefined; + + /** + *+ * The line item identifier from the original bill. + *
+ * @public + */ + lineItemId?: string | undefined; + + /** + *+ * The type of this line item (e.g., Usage, Tax, Credit). + *
+ * @public + */ + lineItemType?: string | undefined; + + /** + *+ * The Amazon Web Services account ID of the payer for this line item. + *
+ * @public + */ + payerAccountId?: string | undefined; + + /** + *+ * The Amazon Web Services account ID associated with the usage for this line item. + *
+ * @public + */ + usageAccountId?: string | undefined; + + /** + *+ * The estimated usage quantity for this line item. + *
+ * @public + */ + estimatedUsageQuantity?: UsageQuantityResult | undefined; + + /** + *+ * The estimated cost for this line item. + *
+ * @public + */ + estimatedCost?: CostAmount | undefined; + + /** + *+ * The historical usage quantity for this line item. + *
+ * @public + */ + historicalUsageQuantity?: UsageQuantityResult | undefined; + + /** + *+ * The historical cost for this line item. + *
+ * @public + */ + historicalCost?: CostAmount | undefined; + + /** + *+ * The Amazon Resource Names (ARNs) of any Savings Plans applied to this line item. + *
+ * @public + */ + savingsPlanArns?: string[] | undefined; +} + +/** + * @public + */ +export interface ListBillEstimateLineItemsResponse { + /** + *+ * The list of line items associated with the bill estimate. + *
+ * @public + */ + items?: BillEstimateLineItemSummary[] | undefined; + + /** + *+ * A token to retrieve the next page of results, if any. + *
+ * @public + */ + nextToken?: string | undefined; +} + +/** + * @public + * @enum + */ +export const BillEstimateStatus = { + COMPLETE: "COMPLETE", + FAILED: "FAILED", + IN_PROGRESS: "IN_PROGRESS", +} as const; + +/** + * @public + */ +export type BillEstimateStatus = (typeof BillEstimateStatus)[keyof typeof BillEstimateStatus]; + +/** + *+ * The request could not be processed because of conflict in the current state of the resource. + *
+ * @public + */ +export class ConflictException extends __BaseException { + readonly name: "ConflictException" = "ConflictException"; + readonly $fault: "client" = "client"; + /** + *+ * The identifier of the resource that was not found. + *
+ * @public + */ + resourceId: string | undefined; + + /** + *+ * The type of the resource that was not found. + *
+ * @public + */ + resourceType: string | undefined; + + /** + * @internal + */ + constructor(opts: __ExceptionOptionType+ * The ID of the Bill Scenario for which you want to create a Bill estimate. + *
+ * @public + */ + billScenarioId: string | undefined; + + /** + *+ * The name of the Bill estimate that will be created. Names must be unique for an account. + *
+ * @public + */ + name: string | undefined; + + /** + *+ * A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. + *
+ * @public + */ + clientToken?: string | undefined; + + /** + *+ * An optional list of tags to associate with the specified BillEstimate. You can use resource tags to control access to your + * BillEstimate using IAM policies. Each tag consists of a key and a value, and each key must be unique for the resource. The following restrictions apply to resource tags: + *
+ *Although the maximum number of array members is 200, you can assign a maximum of 50 user-tags to one resource. + * The remaining are reserved for Amazon Web Services.
+ *The maximum length of a key is 128 characters.
+ *The maximum length of a value is 256 characters.
+ *Keys and values can only contain alphanumeric characters, spaces, and any of the following: _.:/=+@-
.
Keys and values are case sensitive.
+ *Keys and values are trimmed for any leading or trailing whitespaces.
+ *Don't use aws:
as a prefix for your keys. This prefix is reserved for Amazon Web Services.
The unique identifier of your newly created Bill estimate.
+ * @public + */ + id: string | undefined; + + /** + *The name of your newly created Bill estimate.
+ * @public + */ + name?: string | undefined; + + /** + *The status of your newly created Bill estimate. Bill estimate creation can take anywhere between 8 to 12 hours. + * The status will allow you to identify when the Bill estimate is complete or has failed.
+ * @public + */ + status?: BillEstimateStatus | undefined; + + /** + *This attribute provides the reason if a Bill estimate result generation fails.
+ * @public + */ + failureMessage?: string | undefined; + + /** + *The bill month start and end + * timestamp that was used to create the Bill estimate. This is set to the last complete anniversary bill month start and end timestamp.
+ * @public + */ + billInterval?: BillInterval | undefined; + + /** + *Returns summary-level cost information once a Bill estimate is + * successfully generated. This summary includes: 1) the total cost difference, showing the pre-tax cost change for the consolidated + * billing family between the completed anniversary bill and the estimated bill, and 2) total cost differences per service, detailing + * the pre-tax cost of each service, comparing the completed anniversary bill to the estimated bill on a per-service basis.
+ * @public + */ + costSummary?: BillEstimateCostSummary | undefined; + + /** + *The timestamp of when the Bill estimate create process + * was started (not when it successfully completed or failed).
+ * @public + */ + createdAt?: Date | undefined; + + /** + *The timestamp of when the Bill estimate will + * expire. A Bill estimate becomes inaccessible after expiration.
+ * @public + */ + expiresAt?: Date | undefined; +} + +/** + * @public + */ +export interface DeleteBillEstimateRequest { + /** + *+ * The unique identifier of the bill estimate to delete. + *
+ * @public + */ + identifier: string | undefined; +} + +/** + * @public + */ +export interface DeleteBillEstimateResponse {} + +/** + * @public + */ +export interface GetBillEstimateRequest { + /** + *+ * The unique identifier of the bill estimate to retrieve. + *
+ * @public + */ + identifier: string | undefined; +} + +/** + * @public + */ +export interface GetBillEstimateResponse { + /** + *+ * The unique identifier of the retrieved bill estimate. + *
+ * @public + */ + id: string | undefined; + + /** + *+ * The name of the retrieved bill estimate. + *
+ * @public + */ + name?: string | undefined; + + /** + *+ * The current status of the bill estimate. + *
+ * @public + */ + status?: BillEstimateStatus | undefined; + + /** + *+ * An error message if the bill estimate retrieval failed. + *
+ * @public + */ + failureMessage?: string | undefined; + + /** + *+ * The time period covered by the bill estimate. + *
+ * @public + */ + billInterval?: BillInterval | undefined; + + /** + *+ * A summary of the estimated costs. + *
+ * @public + */ + costSummary?: BillEstimateCostSummary | undefined; + + /** + *+ * The timestamp when the bill estimate was created. + *
+ * @public + */ + createdAt?: Date | undefined; + + /** + *+ * The timestamp when the bill estimate will expire. + *
+ * @public + */ + expiresAt?: Date | undefined; +} + +/** + *+ * Represents a time-based filter. + *
+ * @public + */ +export interface FilterTimestamp { + /** + *+ * Include results after this timestamp. + *
+ * @public + */ + afterTimestamp?: Date | undefined; + + /** + *+ * Include results before this timestamp. + *
+ * @public + */ + beforeTimestamp?: Date | undefined; +} + +/** + * @public + * @enum + */ +export const ListBillEstimatesFilterName = { + NAME: "NAME", + STATUS: "STATUS", +} as const; + +/** + * @public + */ +export type ListBillEstimatesFilterName = + (typeof ListBillEstimatesFilterName)[keyof typeof ListBillEstimatesFilterName]; + +/** + *+ * Represents a filter for listing bill estimates. + *
+ * @public + */ +export interface ListBillEstimatesFilter { + /** + *+ * The name of the filter attribute. + *
+ * @public + */ + name: ListBillEstimatesFilterName | undefined; + + /** + *+ * The values to filter by. + *
+ * @public + */ + values: string[] | undefined; + + /** + *+ * The match option for the filter (e.g., equals, contains). + *
+ * @public + */ + matchOption?: MatchOption | undefined; +} + +/** + * @public + */ +export interface ListBillEstimatesRequest { + /** + *+ * Filters to apply to the list of bill estimates. + *
+ * @public + */ + filters?: ListBillEstimatesFilter[] | undefined; + + /** + *+ * Filter bill estimates based on their creation date. + *
+ * @public + */ + createdAtFilter?: FilterTimestamp | undefined; + + /** + *+ * Filter bill estimates based on their expiration date. + *
+ * @public + */ + expiresAtFilter?: FilterTimestamp | undefined; + + /** + *+ * A token to retrieve the next page of results. + *
+ * @public + */ + nextToken?: string | undefined; + + /** + *+ * The maximum number of results to return per page. + *
+ * @public + */ + maxResults?: number | undefined; +} + +/** + *+ * Provides a summary of a bill estimate. + *
+ * @public + */ +export interface BillEstimateSummary { + /** + *+ * The unique identifier of the bill estimate. + *
+ * @public + */ + id: string | undefined; + + /** + *+ * The name of the bill estimate. + *
+ * @public + */ + name?: string | undefined; + + /** + *+ * The current status of the bill estimate. + *
+ * @public + */ + status?: BillEstimateStatus | undefined; + + /** + *+ * The time period covered by the bill estimate. + *
+ * @public + */ + billInterval?: BillInterval | undefined; + + /** + *+ * The timestamp when the bill estimate was created. + *
+ * @public + */ + createdAt?: Date | undefined; + + /** + *+ * The timestamp when the bill estimate will expire. + *
+ * @public + */ + expiresAt?: Date | undefined; +} + +/** + * @public + */ +export interface ListBillEstimatesResponse { + /** + *+ * The list of bill estimates for the account. + *
+ * @public + */ + items?: BillEstimateSummary[] | undefined; + + /** + *+ * A token to retrieve the next page of results, if any. + *
+ * @public + */ + nextToken?: string | undefined; +} + +/** + * @public + */ +export interface UpdateBillEstimateRequest { + /** + *+ * The unique identifier of the bill estimate to update. + *
+ * @public + */ + identifier: string | undefined; + + /** + *+ * The new name for the bill estimate. + *
+ * @public + */ + name?: string | undefined; + + /** + *+ * The new expiration date for the bill estimate. + *
+ * @public + */ + expiresAt?: Date | undefined; +} + +/** + * @public + */ +export interface UpdateBillEstimateResponse { + /** + *+ * The unique identifier of the updated bill estimate. + *
+ * @public + */ + id: string | undefined; + + /** + *+ * The updated name of the bill estimate. + *
+ * @public + */ + name?: string | undefined; + + /** + *+ * The current status of the updated bill estimate. + *
+ * @public + */ + status?: BillEstimateStatus | undefined; + + /** + *+ * An error message if the bill estimate update failed. + *
+ * @public + */ + failureMessage?: string | undefined; + + /** + *+ * The time period covered by the updated bill estimate. + *
+ * @public + */ + billInterval?: BillInterval | undefined; + + /** + *+ * A summary of the updated estimated costs. + *
+ * @public + */ + costSummary?: BillEstimateCostSummary | undefined; + + /** + *+ * The timestamp when the bill estimate was originally created. + *
+ * @public + */ + createdAt?: Date | undefined; + + /** + *+ * The updated expiration timestamp for the bill estimate. + *
+ * @public + */ + expiresAt?: Date | undefined; +} + +/** + *+ * Represents an entry object in the batch operation to create bill scenario commitment modifications. + *
+ * @public + */ +export interface BatchCreateBillScenarioCommitmentModificationEntry { + /** + *+ * A unique identifier for this entry in the batch operation. This can be any valid string. + * This key is useful to identify errors associated with any commitment entry as any error is + * returned with this key. + *
+ * @public + */ + key: string | undefined; + + /** + *+ * An optional group identifier for the commitment modification. + *
+ * @public + */ + group?: string | undefined; + + /** + *+ * The Amazon Web Services account ID to which this commitment will be applied to. + *
+ * @public + */ + usageAccountId: string | undefined; + + /** + *+ * The specific commitment action to be taken (e.g., adding a Reserved Instance or Savings Plan). + *
+ * @public + */ + commitmentAction: BillScenarioCommitmentModificationAction | undefined; +} + +/** + * @public + */ +export interface BatchCreateBillScenarioCommitmentModificationRequest { + /** + *+ * The ID of the Bill Scenario for which you want to create the modeled commitment. + *
+ * @public + */ + billScenarioId: string | undefined; + + /** + *+ * List of commitments that you want to model in the Bill Scenario. + *
+ * @public + */ + commitmentModifications: BatchCreateBillScenarioCommitmentModificationEntry[] | undefined; + + /** + *+ * A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. + *
+ * @public + */ + clientToken?: string | undefined; +} + +/** + * @public + * @enum + */ +export const BatchCreateBillScenarioCommitmentModificationErrorCode = { + CONFLICT: "CONFLICT", + INTERNAL_SERVER_ERROR: "INTERNAL_SERVER_ERROR", + INVALID_ACCOUNT: "INVALID_ACCOUNT", +} as const; + +/** + * @public + */ +export type BatchCreateBillScenarioCommitmentModificationErrorCode = + (typeof BatchCreateBillScenarioCommitmentModificationErrorCode)[keyof typeof BatchCreateBillScenarioCommitmentModificationErrorCode]; + +/** + *+ * Represents an error that occurred during a batch create operation for bill scenario commitment modifications. + *
+ * @public + */ +export interface BatchCreateBillScenarioCommitmentModificationError { + /** + *+ * The key of the entry that caused the error. + *
+ * @public + */ + key?: string | undefined; + + /** + *+ * A descriptive message for the error that occurred. + *
+ * @public + */ + errorMessage?: string | undefined; + + /** + *+ * The error code associated with the failed operation. + *
+ * @public + */ + errorCode?: BatchCreateBillScenarioCommitmentModificationErrorCode | undefined; +} + +/** + *+ * Represents a successfully created item in a batch operation for bill scenario commitment modifications. + *
+ * @public + */ +export interface BatchCreateBillScenarioCommitmentModificationItem { + /** + *+ * The key of the successfully created entry. This can be any valid string. This key is useful to + * identify errors associated with any commitment entry as any error is returned with this key. + *
+ * @public + */ + key?: string | undefined; + + /** + *+ * The unique identifier assigned to the created commitment modification. + *
+ * @public + */ + id?: string | undefined; + + /** + *+ * The group identifier for the created commitment modification. + *
+ * @public + */ + group?: string | undefined; + + /** + *+ * The Amazon Web Services account ID associated with the created commitment modification. + *
+ * @public + */ + usageAccountId?: string | undefined; + + /** + *+ * The specific commitment action that was taken. + *
+ * @public + */ + commitmentAction?: BillScenarioCommitmentModificationAction | undefined; +} + +/** + * @public + */ +export interface BatchCreateBillScenarioCommitmentModificationResponse { + /** + *+ * Returns the list of successful commitment line items that were created for the Bill Scenario. + *
+ * @public + */ + items?: BatchCreateBillScenarioCommitmentModificationItem[] | undefined; + + /** + *+ * Returns the list of errors reason and the commitment item keys that cannot be created in the Bill Scenario. + *
+ * @public + */ + errors?: BatchCreateBillScenarioCommitmentModificationError[] | undefined; +} + +/** + * @public + */ +export interface BatchDeleteBillScenarioCommitmentModificationRequest { + /** + *+ * The ID of the Bill Scenario for which you want to delete the modeled commitment. + *
+ * @public + */ + billScenarioId: string | undefined; + + /** + *+ * List of commitments that you want to delete from the Bill Scenario. + *
+ * @public + */ + ids: string[] | undefined; +} + +/** + * @public + * @enum + */ +export const BatchDeleteBillScenarioCommitmentModificationErrorCode = { + BAD_REQUEST: "BAD_REQUEST", + CONFLICT: "CONFLICT", + INTERNAL_SERVER_ERROR: "INTERNAL_SERVER_ERROR", +} as const; + +/** + * @public + */ +export type BatchDeleteBillScenarioCommitmentModificationErrorCode = + (typeof BatchDeleteBillScenarioCommitmentModificationErrorCode)[keyof typeof BatchDeleteBillScenarioCommitmentModificationErrorCode]; + +/** + *+ * Represents an error that occurred when deleting a commitment in a Bill Scenario. + *
+ * @public + */ +export interface BatchDeleteBillScenarioCommitmentModificationError { + /** + *+ * The ID of the error. + *
+ * @public + */ + id?: string | undefined; + + /** + *+ * The code associated with the error. + *
+ * @public + */ + errorCode?: BatchDeleteBillScenarioCommitmentModificationErrorCode | undefined; + + /** + *+ * The message that describes the error. + *
+ * @public + */ + errorMessage?: string | undefined; +} + +/** + * @public + */ +export interface BatchDeleteBillScenarioCommitmentModificationResponse { + /** + *+ * Returns the list of errors reason and the commitment item keys that cannot be deleted from the Bill Scenario. + *
+ * @public + */ + errors?: BatchDeleteBillScenarioCommitmentModificationError[] | undefined; +} + +/** + *+ * Represents an entry in a batch operation to update bill scenario commitment modifications. + *
+ * @public + */ +export interface BatchUpdateBillScenarioCommitmentModificationEntry { + /** + *+ * The unique identifier of the commitment modification to update. + *
+ * @public + */ + id: string | undefined; + + /** + *+ * The updated group identifier for the commitment modification. + *
+ * @public + */ + group?: string | undefined; +} + +/** + * @public + */ +export interface BatchUpdateBillScenarioCommitmentModificationRequest { + /** + *+ * The ID of the Bill Scenario for which you want to modify the commitment group of a modeled commitment. + *
+ * @public + */ + billScenarioId: string | undefined; + + /** + *+ * List of commitments that you want to update in a Bill Scenario. + *
+ * @public + */ + commitmentModifications: BatchUpdateBillScenarioCommitmentModificationEntry[] | undefined; +} + +/** + * @public + * @enum + */ +export const BatchUpdateBillScenarioCommitmentModificationErrorCode = { + BAD_REQUEST: "BAD_REQUEST", + CONFLICT: "CONFLICT", + INTERNAL_SERVER_ERROR: "INTERNAL_SERVER_ERROR", + NOT_FOUND: "NOT_FOUND", +} as const; + +/** + * @public + */ +export type BatchUpdateBillScenarioCommitmentModificationErrorCode = + (typeof BatchUpdateBillScenarioCommitmentModificationErrorCode)[keyof typeof BatchUpdateBillScenarioCommitmentModificationErrorCode]; + +/** + *+ * Represents an error that occurred when updating a commitment in a Bill Scenario. + *
+ * @public + */ +export interface BatchUpdateBillScenarioCommitmentModificationError { + /** + *+ * The ID of the error. + *
+ * @public + */ + id?: string | undefined; + + /** + *+ * The code associated with the error. + *
+ * @public + */ + errorCode?: BatchUpdateBillScenarioCommitmentModificationErrorCode | undefined; + + /** + *+ * The message that describes the error. + *
+ * @public + */ + errorMessage?: string | undefined; +} + +/** + *+ * Represents a commitment modification item in a bill scenario. + *
+ * @public + */ +export interface BillScenarioCommitmentModificationItem { + /** + *+ * The unique identifier of the commitment modification. + *
+ * @public + */ + id?: string | undefined; + + /** + *+ * The Amazon Web Services account ID associated with this commitment modification. + *
+ * @public + */ + usageAccountId?: string | undefined; + + /** + *+ * The group identifier for the commitment modification. + *
+ * @public + */ + group?: string | undefined; + + /** + *+ * The specific commitment action taken in this modification. + *
+ * @public + */ + commitmentAction?: BillScenarioCommitmentModificationAction | undefined; +} + +/** + * @public + */ +export interface BatchUpdateBillScenarioCommitmentModificationResponse { + /** + *+ * Returns the list of successful commitment line items that were updated for a Bill Scenario. + *
+ * @public + */ + items?: BillScenarioCommitmentModificationItem[] | undefined; + + /** + *+ * Returns the list of error reasons and commitment line item IDs that could not be updated for the Bill Scenario. + *
+ * @public + */ + errors?: BatchUpdateBillScenarioCommitmentModificationError[] | undefined; +} + +/** + * @public + */ +export interface ListBillScenarioCommitmentModificationsRequest { + /** + *+ * The unique identifier of the bill scenario to list commitment modifications for. + *
+ * @public + */ + billScenarioId: string | undefined; + + /** + *+ * A token to retrieve the next page of results. + *
+ * @public + */ + nextToken?: string | undefined; + + /** + *+ * The maximum number of results to return per page. + *
+ * @public + */ + maxResults?: number | undefined; +} + +/** + * @public + */ +export interface ListBillScenarioCommitmentModificationsResponse { + /** + *+ * The list of commitment modifications associated with the bill scenario. + *
+ * @public + */ + items?: BillScenarioCommitmentModificationItem[] | undefined; + + /** + *+ * A token to retrieve the next page of results, if any. + *
+ * @public + */ + nextToken?: string | undefined; +} + +/** + * @public + * @enum + */ +export const BillScenarioStatus = { + FAILED: "FAILED", + LOCKED: "LOCKED", + READY: "READY", +} as const; + +/** + * @public + */ +export type BillScenarioStatus = (typeof BillScenarioStatus)[keyof typeof BillScenarioStatus]; + +/** + *+ * Represents a usage amount for a specific time period. + *
+ * @public + */ +export interface UsageAmount { + /** + *+ * The start hour of the usage period. + *
+ * @public + */ + startHour: Date | undefined; + + /** + *+ * The usage amount for the period. + *
+ * @public + */ + amount: number | undefined; +} + +/** + * @public + * @enum + */ +export const BatchCreateBillScenarioUsageModificationErrorCode = { + BAD_REQUEST: "BAD_REQUEST", + CONFLICT: "CONFLICT", + INTERNAL_SERVER_ERROR: "INTERNAL_SERVER_ERROR", + NOT_FOUND: "NOT_FOUND", +} as const; + +/** + * @public + */ +export type BatchCreateBillScenarioUsageModificationErrorCode = + (typeof BatchCreateBillScenarioUsageModificationErrorCode)[keyof typeof BatchCreateBillScenarioUsageModificationErrorCode]; + +/** + *+ * Represents an error that occurred during a batch create operation for bill scenario usage modifications. + *
+ * @public + */ +export interface BatchCreateBillScenarioUsageModificationError { + /** + *+ * The key of the entry that caused the error. + *
+ * @public + */ + key?: string | undefined; + + /** + *+ * A descriptive message for the error that occurred. + *
+ * @public + */ + errorMessage?: string | undefined; + + /** + *+ * The error code associated with the failed operation. + *
+ * @public + */ + errorCode?: BatchCreateBillScenarioUsageModificationErrorCode | undefined; +} + +/** + *+ * The request would cause you to exceed your service quota. + *
+ * @public + */ +export class ServiceQuotaExceededException extends __BaseException { + readonly name: "ServiceQuotaExceededException" = "ServiceQuotaExceededException"; + readonly $fault: "client" = "client"; + /** + *+ * The identifier of the resource that exceeded quota. + *
+ * @public + */ + resourceId: string | undefined; + + /** + *+ * The type of the resource that exceeded quota. + *
+ * @public + */ + resourceType: string | undefined; + + /** + *+ * The service code that exceeded quota. + *
+ * @public + */ + serviceCode?: string | undefined; + + /** + *+ * The quota code that was exceeded. + *
+ * @public + */ + quotaCode?: string | undefined; + + /** + * @internal + */ + constructor(opts: __ExceptionOptionType+ * The ID of the Bill Scenario for which you want to delete the modeled usage. + *
+ * @public + */ + billScenarioId: string | undefined; + + /** + *+ * List of usage that you want to delete from the Bill Scenario. + *
+ * @public + */ + ids: string[] | undefined; +} + +/** + * @public + * @enum + */ +export const BatchDeleteBillScenarioUsageModificationErrorCode = { + BAD_REQUEST: "BAD_REQUEST", + CONFLICT: "CONFLICT", + INTERNAL_SERVER_ERROR: "INTERNAL_SERVER_ERROR", +} as const; + +/** + * @public + */ +export type BatchDeleteBillScenarioUsageModificationErrorCode = + (typeof BatchDeleteBillScenarioUsageModificationErrorCode)[keyof typeof BatchDeleteBillScenarioUsageModificationErrorCode]; + +/** + *+ * Represents an error that occurred when deleting usage in a Bill Scenario. + *
+ * @public + */ +export interface BatchDeleteBillScenarioUsageModificationError { + /** + *+ * The ID of the error. + *
+ * @public + */ + id?: string | undefined; + + /** + *+ * The message that describes the error. + *
+ * @public + */ + errorMessage?: string | undefined; + + /** + *+ * The code associated with the error. + *
+ * @public + */ + errorCode?: BatchDeleteBillScenarioUsageModificationErrorCode | undefined; +} + +/** + * @public + */ +export interface BatchDeleteBillScenarioUsageModificationResponse { + /** + *+ * Returns the list of errors reason and the usage item keys that cannot be deleted from the Bill Scenario. + *
+ * @public + */ + errors?: BatchDeleteBillScenarioUsageModificationError[] | undefined; +} + +/** + *+ * Represents an entry in a batch operation to update bill scenario usage modifications. + *
+ * @public + */ +export interface BatchUpdateBillScenarioUsageModificationEntry { + /** + *+ * The unique identifier of the usage modification to update. + *
+ * @public + */ + id: string | undefined; + + /** + *+ * The updated group identifier for the usage modification. + *
+ * @public + */ + group?: string | undefined; + + /** + *+ * The updated usage amounts for the modification. + *
+ * @public + */ + amounts?: UsageAmount[] | undefined; +} + +/** + * @public + */ +export interface BatchUpdateBillScenarioUsageModificationRequest { + /** + *+ * The ID of the Bill Scenario for which you want to modify the usage lines. + *
+ * @public + */ + billScenarioId: string | undefined; + + /** + *+ * List of usage lines that you want to update in a Bill Scenario identified by the usage ID. + *
+ * @public + */ + usageModifications: BatchUpdateBillScenarioUsageModificationEntry[] | undefined; +} + +/** + * @public + * @enum + */ +export const BatchUpdateBillScenarioUsageModificationErrorCode = { + BAD_REQUEST: "BAD_REQUEST", + CONFLICT: "CONFLICT", + INTERNAL_SERVER_ERROR: "INTERNAL_SERVER_ERROR", + NOT_FOUND: "NOT_FOUND", +} as const; + +/** + * @public + */ +export type BatchUpdateBillScenarioUsageModificationErrorCode = + (typeof BatchUpdateBillScenarioUsageModificationErrorCode)[keyof typeof BatchUpdateBillScenarioUsageModificationErrorCode]; + +/** + *+ * Represents an error that occurred when updating usage in a Bill Scenario. + *
+ * @public + */ +export interface BatchUpdateBillScenarioUsageModificationError { + /** + *+ * The ID of the error. + *
+ * @public + */ + id?: string | undefined; + + /** + *+ * The message that describes the error. + *
+ * @public + */ + errorMessage?: string | undefined; + + /** + *+ * The code associated with the error. + *
+ * @public + */ + errorCode?: BatchUpdateBillScenarioUsageModificationErrorCode | undefined; +} + +/** + * @public + */ +export interface ListBillScenarioUsageModificationsRequest { + /** + *+ * The unique identifier of the bill scenario to list usage modifications for. + *
+ * @public + */ + billScenarioId: string | undefined; + + /** + *+ * Filters to apply to the list of usage modifications. + *
+ * @public + */ + filters?: ListUsageFilter[] | undefined; + + /** + *+ * A token to retrieve the next page of results. + *
+ * @public + */ + nextToken?: string | undefined; + + /** + *+ * The maximum number of results to return per page. + *
+ * @public + */ + maxResults?: number | undefined; +} + +/** + * @public + */ +export interface CreateBillScenarioRequest { + /** + *+ * A descriptive name for the bill scenario. + *
+ * @public + */ + name: string | undefined; + + /** + *+ * A unique, case-sensitive identifier to ensure idempotency of the request. + *
+ * @public + */ + clientToken?: string | undefined; + + /** + *+ * The tags to apply to the bill scenario. + *
+ * @public + */ + tags?: Record+ * The unique identifier for the created bill scenario. + *
+ * @public + */ + id: string | undefined; + + /** + *+ * The name of the created bill scenario. + *
+ * @public + */ + name?: string | undefined; + + /** + *+ * The time period covered by the bill scenario. + *
+ * @public + */ + billInterval?: BillInterval | undefined; + + /** + *+ * The current status of the bill scenario. + *
+ * @public + */ + status?: BillScenarioStatus | undefined; + + /** + *+ * The timestamp when the bill scenario was created. + *
+ * @public + */ + createdAt?: Date | undefined; + + /** + *+ * The timestamp when the bill scenario will expire. + *
+ * @public + */ + expiresAt?: Date | undefined; + + /** + *+ * An error message if the bill scenario creation failed. + *
+ * @public + */ + failureMessage?: string | undefined; +} + +/** + * @public + */ +export interface DeleteBillScenarioRequest { + /** + *+ * The unique identifier of the bill scenario to delete. + *
+ * @public + */ + identifier: string | undefined; +} + +/** + * @public + */ +export interface DeleteBillScenarioResponse {} + +/** + * @public + */ +export interface GetBillScenarioRequest { + /** + *+ * The unique identifier of the bill scenario to retrieve. + *
+ * @public + */ + identifier: string | undefined; +} + +/** + * @public + */ +export interface GetBillScenarioResponse { + /** + *+ * The unique identifier of the retrieved bill scenario. + *
+ * @public + */ + id: string | undefined; + + /** + *+ * The name of the retrieved bill scenario. + *
+ * @public + */ + name?: string | undefined; + + /** + *+ * The time period covered by the bill scenario. + *
+ * @public + */ + billInterval?: BillInterval | undefined; + + /** + *+ * The current status of the bill scenario. + *
+ * @public + */ + status?: BillScenarioStatus | undefined; + + /** + *+ * The timestamp when the bill scenario was created. + *
+ * @public + */ + createdAt?: Date | undefined; + + /** + *+ * The timestamp when the bill scenario will expire. + *
+ * @public + */ + expiresAt?: Date | undefined; + + /** + *+ * An error message if the bill scenario retrieval failed. + *
+ * @public + */ + failureMessage?: string | undefined; +} + +/** + * @public + * @enum + */ +export const ListBillScenariosFilterName = { + NAME: "NAME", + STATUS: "STATUS", +} as const; + +/** + * @public + */ +export type ListBillScenariosFilterName = + (typeof ListBillScenariosFilterName)[keyof typeof ListBillScenariosFilterName]; + +/** + *+ * Represents a filter for listing bill scenarios. + *
+ * @public + */ +export interface ListBillScenariosFilter { + /** + *+ * The name of the filter attribute. + *
+ * @public + */ + name: ListBillScenariosFilterName | undefined; + + /** + *+ * The values to filter by. + *
+ * @public + */ + values: string[] | undefined; + + /** + *+ * The match option for the filter (e.g., equals, contains). + *
+ * @public + */ + matchOption?: MatchOption | undefined; +} + +/** + * @public + */ +export interface ListBillScenariosRequest { + /** + *+ * Filters to apply to the list of bill scenarios. + *
+ * @public + */ + filters?: ListBillScenariosFilter[] | undefined; + + /** + *+ * Filter bill scenarios based on their creation date. + *
+ * @public + */ + createdAtFilter?: FilterTimestamp | undefined; + + /** + *+ * Filter bill scenarios based on their expiration date. + *
+ * @public + */ + expiresAtFilter?: FilterTimestamp | undefined; + + /** + *+ * A token to retrieve the next page of results. + *
+ * @public + */ + nextToken?: string | undefined; + + /** + *+ * The maximum number of results to return per page. + *
+ * @public + */ + maxResults?: number | undefined; +} + +/** + *+ * Provides a summary of a bill scenario. + *
+ * @public + */ +export interface BillScenarioSummary { + /** + *+ * The unique identifier of the bill scenario. + *
+ * @public + */ + id: string | undefined; + + /** + *+ * The name of the bill scenario. + *
+ * @public + */ + name?: string | undefined; + + /** + *+ * The time period covered by the bill scenario. + *
+ * @public + */ + billInterval?: BillInterval | undefined; + + /** + *+ * The current status of the bill scenario. + *
+ * @public + */ + status?: BillScenarioStatus | undefined; + + /** + *+ * The timestamp when the bill scenario was created. + *
+ * @public + */ + createdAt?: Date | undefined; + + /** + *+ * The timestamp when the bill scenario will expire. + *
+ * @public + */ + expiresAt?: Date | undefined; + + /** + *+ * An error message if the bill scenario creation or processing failed. + *
+ * @public + */ + failureMessage?: string | undefined; +} + +/** + * @public + */ +export interface ListBillScenariosResponse { + /** + *+ * The list of bill scenarios for the account. + *
+ * @public + */ + items?: BillScenarioSummary[] | undefined; + + /** + *+ * A token to retrieve the next page of results, if any. + *
+ * @public + */ + nextToken?: string | undefined; +} + +/** + * @public + */ +export interface UpdateBillScenarioRequest { + /** + *+ * The unique identifier of the bill scenario to update. + *
+ * @public + */ + identifier: string | undefined; + + /** + *+ * The new name for the bill scenario. + *
+ * @public + */ + name?: string | undefined; + + /** + *+ * The new expiration date for the bill scenario. + *
+ * @public + */ + expiresAt?: Date | undefined; +} + +/** + * @public + */ +export interface UpdateBillScenarioResponse { + /** + *+ * The unique identifier of the updated bill scenario. + *
+ * @public + */ + id: string | undefined; + + /** + *+ * The updated name of the bill scenario. + *
+ * @public + */ + name?: string | undefined; + + /** + *+ * The time period covered by the updated bill scenario. + *
+ * @public + */ + billInterval?: BillInterval | undefined; + + /** + *+ * The current status of the updated bill scenario. + *
+ * @public + */ + status?: BillScenarioStatus | undefined; + + /** + *+ * The timestamp when the bill scenario was originally created. + *
+ * @public + */ + createdAt?: Date | undefined; + + /** + *+ * The updated expiration timestamp for the bill scenario. + *
+ * @public + */ + expiresAt?: Date | undefined; + + /** + *+ * An error message if the bill scenario update failed. + *
+ * @public + */ + failureMessage?: string | undefined; +} + +/** + * @public + */ +export interface GetPreferencesRequest {} + +/** + * @public + * @enum + */ +export const RateType = { + AFTER_DISCOUNTS: "AFTER_DISCOUNTS", + BEFORE_DISCOUNTS: "BEFORE_DISCOUNTS", +} as const; + +/** + * @public + */ +export type RateType = (typeof RateType)[keyof typeof RateType]; + +/** + * @public + */ +export interface GetPreferencesResponse { + /** + *+ * The preferred rate types for the management account. + *
+ * @public + */ + managementAccountRateTypeSelections?: RateType[] | undefined; + + /** + *+ * The preferred rate types for member accounts. + *
+ * @public + */ + memberAccountRateTypeSelections?: RateType[] | undefined; +} + +/** + * @public + */ +export interface ListTagsForResourceRequest { + /** + *+ * The Amazon Resource Name (ARN) of the resource to list tags for. + *
+ * @public + */ + arn: string | undefined; +} + +/** + * @public + */ +export interface ListTagsForResourceResponse { + /** + *+ * The list of tags associated with the specified resource. + *
+ * @public + */ + tags?: Record+ * The Amazon Resource Name (ARN) of the resource to add tags to. + *
+ * @public + */ + arn: string | undefined; + + /** + *+ * The tags to add to the resource. + *
+ * @public + */ + tags: Record+ * The Amazon Resource Name (ARN) of the resource to remove tags from. + *
+ * @public + */ + arn: string | undefined; + + /** + *+ * The keys of the tags to remove from the resource. + *
+ * @public + */ + tagKeys: string[] | undefined; +} + +/** + * @public + */ +export interface UntagResourceResponse {} + +/** + * @public + */ +export interface UpdatePreferencesRequest { + /** + *+ * The updated preferred rate types for the management account. + *
+ * @public + */ + managementAccountRateTypeSelections?: RateType[] | undefined; + + /** + *+ * The updated preferred rate types for member accounts. + *
+ * @public + */ + memberAccountRateTypeSelections?: RateType[] | undefined; +} + +/** + * @public + */ +export interface UpdatePreferencesResponse { + /** + *+ * The updated preferred rate types for the management account. + *
+ * @public + */ + managementAccountRateTypeSelections?: RateType[] | undefined; + + /** + *+ * The updated preferred rate types for member accounts. + *
+ * @public + */ + memberAccountRateTypeSelections?: RateType[] | undefined; +} + +/** + * @public + * @enum + */ +export const WorkloadEstimateRateType = { + AFTER_DISCOUNTS: "AFTER_DISCOUNTS", + BEFORE_DISCOUNTS: "BEFORE_DISCOUNTS", +} as const; + +/** + * @public + */ +export type WorkloadEstimateRateType = (typeof WorkloadEstimateRateType)[keyof typeof WorkloadEstimateRateType]; + +/** + * @public + */ +export interface CreateWorkloadEstimateRequest { + /** + *+ * A descriptive name for the workload estimate. + *
+ * @public + */ + name: string | undefined; + + /** + *+ * A unique, case-sensitive identifier to ensure idempotency of the request. + *
+ * @public + */ + clientToken?: string | undefined; + + /** + *+ * The type of pricing rates to use for the estimate. + *
+ * @public + */ + rateType?: WorkloadEstimateRateType | undefined; + + /** + *+ * The tags to apply to the workload estimate. + *
+ * @public + */ + tags?: Record+ * The unique identifier for the created workload estimate. + *
+ * @public + */ + id: string | undefined; + + /** + *+ * The name of the created workload estimate. + *
+ * @public + */ + name?: string | undefined; + + /** + *+ * The timestamp when the workload estimate was created. + *
+ * @public + */ + createdAt?: Date | undefined; + + /** + *+ * The timestamp when the workload estimate will expire. + *
+ * @public + */ + expiresAt?: Date | undefined; + + /** + *+ * The type of pricing rates used for the estimate. + *
+ * @public + */ + rateType?: WorkloadEstimateRateType | undefined; + + /** + *+ * The timestamp of the pricing rates used for the estimate. + *
+ * @public + */ + rateTimestamp?: Date | undefined; + + /** + *+ * The current status of the workload estimate. + *
+ * @public + */ + status?: WorkloadEstimateStatus | undefined; + + /** + *+ * The total estimated cost for the workload. + *
+ * @public + */ + totalCost?: number | undefined; + + /** + *+ * The currency of the estimated cost. + *
+ * @public + */ + costCurrency?: CurrencyCode | undefined; + + /** + *+ * An error message if the workload estimate creation failed. + *
+ * @public + */ + failureMessage?: string | undefined; +} + +/** + * @public + */ +export interface DeleteWorkloadEstimateRequest { + /** + *+ * The unique identifier of the workload estimate to delete. + *
+ * @public + */ + identifier: string | undefined; +} + +/** + * @public + */ +export interface DeleteWorkloadEstimateResponse {} + +/** + * @public + */ +export interface GetWorkloadEstimateRequest { + /** + *+ * The unique identifier of the workload estimate to retrieve. + *
+ * @public + */ + identifier: string | undefined; +} + +/** + * Mixin for common fields returned by CRUD APIs + * @public + */ +export interface GetWorkloadEstimateResponse { + /** + *+ * The unique identifier of the retrieved workload estimate. + *
+ * @public + */ + id: string | undefined; + + /** + *+ * The name of the retrieved workload estimate. + *
+ * @public + */ + name?: string | undefined; + + /** + *+ * The timestamp when the workload estimate was created. + *
+ * @public + */ + createdAt?: Date | undefined; + + /** + *+ * The timestamp when the workload estimate will expire. + *
+ * @public + */ + expiresAt?: Date | undefined; + + /** + *+ * The type of pricing rates used for the estimate. + *
+ * @public + */ + rateType?: WorkloadEstimateRateType | undefined; + + /** + *+ * The timestamp of the pricing rates used for the estimate. + *
+ * @public + */ + rateTimestamp?: Date | undefined; + + /** + *+ * The current status of the workload estimate. + *
+ * @public + */ + status?: WorkloadEstimateStatus | undefined; + + /** + *+ * The total estimated cost for the workload. + *
+ * @public + */ + totalCost?: number | undefined; + + /** + *+ * The currency of the estimated cost. + *
+ * @public + */ + costCurrency?: CurrencyCode | undefined; + + /** + *+ * An error message if the workload estimate retrieval failed. + *
+ * @public + */ + failureMessage?: string | undefined; +} + +/** + * @public + * @enum + */ +export const ListWorkloadEstimatesFilterName = { + NAME: "NAME", + STATUS: "STATUS", +} as const; + +/** + * @public + */ +export type ListWorkloadEstimatesFilterName = + (typeof ListWorkloadEstimatesFilterName)[keyof typeof ListWorkloadEstimatesFilterName]; + +/** + *+ * Represents a filter for listing workload estimates. + *
+ * @public + */ +export interface ListWorkloadEstimatesFilter { + /** + *+ * The name of the filter attribute. + *
+ * @public + */ + name: ListWorkloadEstimatesFilterName | undefined; + + /** + *+ * The values to filter by. + *
+ * @public + */ + values: string[] | undefined; + + /** + *+ * The match option for the filter (e.g., equals, contains). + *
+ * @public + */ + matchOption?: MatchOption | undefined; +} + +/** + * @public + */ +export interface ListWorkloadEstimatesRequest { + /** + *+ * Filter workload estimates based on their creation date. + *
+ * @public + */ + createdAtFilter?: FilterTimestamp | undefined; + + /** + *+ * Filter workload estimates based on their expiration date. + *
+ * @public + */ + expiresAtFilter?: FilterTimestamp | undefined; + + /** + *+ * Filters to apply to the list of workload estimates. + *
+ * @public + */ + filters?: ListWorkloadEstimatesFilter[] | undefined; + + /** + *+ * A token to retrieve the next page of results. + *
+ * @public + */ + nextToken?: string | undefined; + + /** + *+ * The maximum number of results to return per page. + *
+ * @public + */ + maxResults?: number | undefined; +} + +/** + *+ * Provides a summary of a workload estimate. + *
+ * @public + */ +export interface WorkloadEstimateSummary { + /** + *+ * The unique identifier of the workload estimate. + *
+ * @public + */ + id: string | undefined; + + /** + *+ * The name of the workload estimate. + *
+ * @public + */ + name?: string | undefined; + + /** + *+ * The timestamp when the workload estimate was created. + *
+ * @public + */ + createdAt?: Date | undefined; + + /** + *+ * The timestamp when the workload estimate will expire. + *
+ * @public + */ + expiresAt?: Date | undefined; + + /** + *+ * The type of pricing rates used for the estimate. + *
+ * @public + */ + rateType?: WorkloadEstimateRateType | undefined; + + /** + *+ * The timestamp of the pricing rates used for the estimate. + *
+ * @public + */ + rateTimestamp?: Date | undefined; + + /** + *+ * The current status of the workload estimate. + *
+ * @public + */ + status?: WorkloadEstimateStatus | undefined; + + /** + *+ * The total estimated cost for the workload. + *
+ * @public + */ + totalCost?: number | undefined; + + /** + *+ * The currency of the estimated cost. + *
+ * @public + */ + costCurrency?: CurrencyCode | undefined; + + /** + *+ * An error message if the workload estimate creation or processing failed. + *
+ * @public + */ + failureMessage?: string | undefined; +} + +/** + * @public + */ +export interface ListWorkloadEstimatesResponse { + /** + *+ * The list of workload estimates for the account. + *
+ * @public + */ + items?: WorkloadEstimateSummary[] | undefined; + + /** + *+ * A token to retrieve the next page of results, if any. + *
+ * @public + */ + nextToken?: string | undefined; +} + +/** + * @public + */ +export interface UpdateWorkloadEstimateRequest { + /** + *+ * The unique identifier of the workload estimate to update. + *
+ * @public + */ + identifier: string | undefined; + + /** + *+ * The new name for the workload estimate. + *
+ * @public + */ + name?: string | undefined; + + /** + *+ * The new expiration date for the workload estimate. + *
+ * @public + */ + expiresAt?: Date | undefined; +} + +/** + * Mixin for common fields returned by CRUD APIs + * @public + */ +export interface UpdateWorkloadEstimateResponse { + /** + *+ * The unique identifier of the updated workload estimate. + *
+ * @public + */ + id: string | undefined; + + /** + *+ * The updated name of the workload estimate. + *
+ * @public + */ + name?: string | undefined; + + /** + *+ * The timestamp when the workload estimate was originally created. + *
+ * @public + */ + createdAt?: Date | undefined; + + /** + *+ * The updated expiration timestamp for the workload estimate. + *
+ * @public + */ + expiresAt?: Date | undefined; + + /** + *+ * The type of pricing rates used for the updated estimate. + *
+ * @public + */ + rateType?: WorkloadEstimateRateType | undefined; + + /** + *+ * The timestamp of the pricing rates used for the updated estimate. + *
+ * @public + */ + rateTimestamp?: Date | undefined; + + /** + *+ * The current status of the updated workload estimate. + *
+ * @public + */ + status?: WorkloadEstimateStatus | undefined; + + /** + *+ * The updated total estimated cost for the workload. + *
+ * @public + */ + totalCost?: number | undefined; + + /** + *+ * The currency of the updated estimated cost. + *
+ * @public + */ + costCurrency?: CurrencyCode | undefined; + + /** + *+ * An error message if the workload estimate update failed. + *
+ * @public + */ + failureMessage?: string | undefined; +} + +/** + * @public + * @enum + */ +export const BatchCreateWorkloadEstimateUsageCode = { + BAD_REQUEST: "BAD_REQUEST", + CONFLICT: "CONFLICT", + INTERNAL_SERVER_ERROR: "INTERNAL_SERVER_ERROR", + NOT_FOUND: "NOT_FOUND", +} as const; + +/** + * @public + */ +export type BatchCreateWorkloadEstimateUsageCode = + (typeof BatchCreateWorkloadEstimateUsageCode)[keyof typeof BatchCreateWorkloadEstimateUsageCode]; + +/** + *+ * Represents an error that occurred during a batch create operation for workload estimate usage. + *
+ * @public + */ +export interface BatchCreateWorkloadEstimateUsageError { + /** + *+ * The key of the entry that caused the error. + *
+ * @public + */ + key?: string | undefined; + + /** + *+ * The error code associated with the failed operation. + *
+ * @public + */ + errorCode?: BatchCreateWorkloadEstimateUsageCode | undefined; + + /** + *+ * A descriptive message for the error that occurred. + *
+ * @public + */ + errorMessage?: string | undefined; +} + +/** + *+ * Represents a usage quantity for a workload estimate. + *
+ * @public + */ +export interface WorkloadEstimateUsageQuantity { + /** + *+ * The unit of measurement for the usage quantity. + *
+ * @public + */ + unit?: string | undefined; + + /** + *+ * The numeric value of the usage quantity. + *
+ * @public + */ + amount?: number | undefined; +} + +/** + * @public + * @enum + */ +export const WorkloadEstimateCostStatus = { + INVALID: "INVALID", + STALE: "STALE", + VALID: "VALID", +} as const; + +/** + * @public + */ +export type WorkloadEstimateCostStatus = (typeof WorkloadEstimateCostStatus)[keyof typeof WorkloadEstimateCostStatus]; + +/** + * @public + */ +export interface BatchDeleteWorkloadEstimateUsageRequest { + /** + *+ * The ID of the Workload estimate for which you want to delete the modeled usage. + *
+ * @public + */ + workloadEstimateId: string | undefined; + + /** + *+ * List of usage that you want to delete from the Workload estimate. + *
+ * @public + */ + ids: string[] | undefined; +} + +/** + * @public + * @enum + */ +export const WorkloadEstimateUpdateUsageErrorCode = { + BAD_REQUEST: "BAD_REQUEST", + CONFLICT: "CONFLICT", + INTERNAL_SERVER_ERROR: "INTERNAL_SERVER_ERROR", + NOT_FOUND: "NOT_FOUND", +} as const; + +/** + * @public + */ +export type WorkloadEstimateUpdateUsageErrorCode = + (typeof WorkloadEstimateUpdateUsageErrorCode)[keyof typeof WorkloadEstimateUpdateUsageErrorCode]; + +/** + *+ * Represents an error that occurred when deleting usage in a workload estimate. + *
+ * @public + */ +export interface BatchDeleteWorkloadEstimateUsageError { + /** + *+ * The ID of the error. + *
+ * @public + */ + id?: string | undefined; + + /** + *+ * The message that describes the error. + *
+ * @public + */ + errorMessage?: string | undefined; + + /** + *+ * The code associated with the error. + *
+ * @public + */ + errorCode?: WorkloadEstimateUpdateUsageErrorCode | undefined; +} + +/** + * @public + */ +export interface BatchDeleteWorkloadEstimateUsageResponse { + /** + *+ * Returns the list of errors reason and the usage item keys that cannot be deleted from the Workload estimate. + *
+ * @public + */ + errors?: BatchDeleteWorkloadEstimateUsageError[] | undefined; +} + +/** + *+ * Represents an entry in a batch operation to update workload estimate usage. + *
+ * @public + */ +export interface BatchUpdateWorkloadEstimateUsageEntry { + /** + *+ * The unique identifier of the usage estimate to update. + *
+ * @public + */ + id: string | undefined; + + /** + *+ * The updated group identifier for the usage estimate. + *
+ * @public + */ + group?: string | undefined; + + /** + *+ * The updated estimated usage amount. + *
+ * @public + */ + amount?: number | undefined; +} + +/** + * @public + */ +export interface BatchUpdateWorkloadEstimateUsageRequest { + /** + *+ * The ID of the Workload estimate for which you want to modify the usage lines. + *
+ * @public + */ + workloadEstimateId: string | undefined; + + /** + *+ * List of usage line amounts and usage group that you want to update in a Workload estimate identified by the usage ID. + *
+ * @public + */ + usage: BatchUpdateWorkloadEstimateUsageEntry[] | undefined; +} + +/** + *+ * Represents an error that occurred when updating usage in a workload estimate. + *
+ * @public + */ +export interface BatchUpdateWorkloadEstimateUsageError { + /** + *+ * The ID of the error. + *
+ * @public + */ + id?: string | undefined; + + /** + *+ * The message that describes the error. + *
+ * @public + */ + errorMessage?: string | undefined; + + /** + *+ * The code associated with the error. + *
+ * @public + */ + errorCode?: WorkloadEstimateUpdateUsageErrorCode | undefined; +} + +/** + * @public + */ +export interface ListWorkloadEstimateUsageRequest { + /** + *+ * The unique identifier of the workload estimate to list usage for. + *
+ * @public + */ + workloadEstimateId: string | undefined; + + /** + *+ * Filters to apply to the list of usage items. + *
+ * @public + */ + filters?: ListUsageFilter[] | undefined; + + /** + *+ * A token to retrieve the next page of results. + *
+ * @public + */ + nextToken?: string | undefined; + + /** + *+ * The maximum number of results to return per page. + *
+ * @public + */ + maxResults?: number | undefined; +} + +/** + *+ * Represents a complex filtering expression for cost and usage data. + *
+ * @public + */ +export interface Expression { + /** + *+ * A list of expressions to be combined with AND logic. + *
+ * @public + */ + and?: Expression[] | undefined; + + /** + *+ * A list of expressions to be combined with OR logic. + *
+ * @public + */ + or?: Expression[] | undefined; + + /** + *+ * An expression to be negated. + *
+ * @public + */ + not?: Expression | undefined; + + /** + *+ * Filters based on cost categories. + *
+ * @public + */ + costCategories?: ExpressionFilter | undefined; + + /** + *+ * Filters based on dimensions (e.g., service, operation). + *
+ * @public + */ + dimensions?: ExpressionFilter | undefined; + + /** + *+ * Filters based on resource tags. + *
+ * @public + */ + tags?: ExpressionFilter | undefined; +} + +/** + *+ * Represents historical usage data for a specific entity. + *
+ * @public + */ +export interface HistoricalUsageEntity { + /** + *+ * The Amazon Web Services service code associated with the usage. + *
+ * @public + */ + serviceCode: string | undefined; + + /** + *+ * The type of usage. + *
+ * @public + */ + usageType: string | undefined; + + /** + *+ * The specific operation associated with the usage. + *
+ * @public + */ + operation: string | undefined; + + /** + *+ * The location associated with the usage. + *
+ * @public + */ + location?: string | undefined; + + /** + *+ * The Amazon Web Services account ID associated with the usage. + *
+ * @public + */ + usageAccountId: string | undefined; + + /** + *+ * The time interval for the historical usage data. + *
+ * @public + */ + billInterval: BillInterval | undefined; + + /** + *+ * An optional filter expression to apply to the historical usage data. + *
+ * @public + */ + filterExpression: Expression | undefined; +} + +/** + *+ * Represents an entry in a batch operation to create bill scenario usage modifications. + *
+ * @public + */ +export interface BatchCreateBillScenarioUsageModificationEntry { + /** + *
+ * The Amazon Web Services service code for this usage modification.
+ * This identifies the specific Amazon Web Services service to the customer as
+ * a unique short abbreviation. For example, AmazonEC2
+ * and AWSKMS
.
+ *
+ * Describes the usage details of the usage line item. + *
+ * @public + */ + usageType: string | undefined; + + /** + *
+ * The specific operation associated with this usage modification.
+ * Describes the specific Amazon Web Services operation that this usage line models.
+ * For example, RunInstances
indicates the operation of an Amazon EC2 instance.
+ *
+ * The Availability Zone that this usage line uses. + *
+ * @public + */ + availabilityZone?: string | undefined; + + /** + *+ * A unique identifier for this entry in the batch operation. + * This can be any valid string. This key is useful to identify errors + * associated with any usage entry as any error is returned with this key. + *
+ * @public + */ + key: string | undefined; + + /** + *+ * An optional group identifier for the usage modification. + *
+ * @public + */ + group?: string | undefined; + + /** + *+ * The Amazon Web Services account ID to which this usage will be applied to. + *
+ * @public + */ + usageAccountId: string | undefined; + + /** + *+ * The amount of usage you want to create for the service use you are modeling. + *
+ * @public + */ + amounts?: UsageAmount[] | undefined; + + /** + *+ * Historical usage data associated with this modification, if available. + *
+ * @public + */ + historicalUsage?: HistoricalUsageEntity | undefined; +} + +/** + *+ * Represents a successfully created item in a batch operation for bill scenario usage modifications. + *
+ * @public + */ +export interface BatchCreateBillScenarioUsageModificationItem { + /** + *+ * The Amazon Web Services service code for this usage modification. + *
+ * @public + */ + serviceCode: string | undefined; + + /** + *+ * The type of usage that was modified. + *
+ * @public + */ + usageType: string | undefined; + + /** + *+ * The specific operation associated with this usage modification. + *
+ * @public + */ + operation: string | undefined; + + /** + *+ * The location associated with this usage modification. + *
+ * @public + */ + location?: string | undefined; + + /** + *+ * The availability zone associated with this usage modification, if applicable. + *
+ * @public + */ + availabilityZone?: string | undefined; + + /** + *+ * The unique identifier assigned to the created usage modification. + *
+ * @public + */ + id?: string | undefined; + + /** + *+ * The group identifier for the created usage modification. + *
+ * @public + */ + group?: string | undefined; + + /** + *+ * The Amazon Web Services account ID associated with the created usage modification. + *
+ * @public + */ + usageAccountId?: string | undefined; + + /** + *+ * The modified usage quantities. + *
+ * @public + */ + quantities?: UsageQuantity[] | undefined; + + /** + *+ * Historical usage data associated with this modification, if available. + *
+ * @public + */ + historicalUsage?: HistoricalUsageEntity | undefined; + + /** + *+ * The key of the successfully created entry. + *
+ * @public + */ + key?: string | undefined; +} + +/** + *+ * Represents an entry in a batch operation to create workload estimate usage. + *
+ * @public + */ +export interface BatchCreateWorkloadEstimateUsageEntry { + /** + *+ * The Amazon Web Services service code for this usage estimate. + *
+ * @public + */ + serviceCode: string | undefined; + + /** + *+ * The type of usage being estimated. + *
+ * @public + */ + usageType: string | undefined; + + /** + *+ * The specific operation associated with this usage estimate. + *
+ * @public + */ + operation: string | undefined; + + /** + *+ * A unique identifier for this entry in the batch operation. + *
+ * @public + */ + key: string | undefined; + + /** + *+ * An optional group identifier for the usage estimate. + *
+ * @public + */ + group?: string | undefined; + + /** + *+ * The Amazon Web Services account ID associated with this usage estimate. + *
+ * @public + */ + usageAccountId: string | undefined; + + /** + *+ * The estimated usage amount. + *
+ * @public + */ + amount: number | undefined; + + /** + *+ * Historical usage data associated with this estimate, if available. + *
+ * @public + */ + historicalUsage?: HistoricalUsageEntity | undefined; +} + +/** + *+ * Represents a successfully created item in a batch operation for workload estimate usage. + *
+ * @public + */ +export interface BatchCreateWorkloadEstimateUsageItem { + /** + *+ * The Amazon Web Services service code for this usage estimate. + *
+ * @public + */ + serviceCode: string | undefined; + + /** + *+ * The type of usage that was estimated. + *
+ * @public + */ + usageType: string | undefined; + + /** + *+ * The specific operation associated with this usage estimate. + *
+ * @public + */ + operation: string | undefined; + + /** + *+ * The location associated with this usage estimate. + *
+ * @public + */ + location?: string | undefined; + + /** + *+ * The unique identifier assigned to the created usage estimate. + *
+ * @public + */ + id?: string | undefined; + + /** + *+ * The Amazon Web Services account ID associated with the created usage estimate. + *
+ * @public + */ + usageAccountId?: string | undefined; + + /** + *+ * The group identifier for the created usage estimate. + *
+ * @public + */ + group?: string | undefined; + + /** + *+ * The estimated usage quantity. + *
+ * @public + */ + quantity?: WorkloadEstimateUsageQuantity | undefined; + + /** + *+ * The estimated cost associated with this usage. + *
+ * @public + */ + cost?: number | undefined; + + /** + *+ * The currency of the estimated cost. + *
+ * @public + */ + currency?: CurrencyCode | undefined; + + /** + *+ * The current status of the created usage estimate. + *
+ * @public + */ + status?: WorkloadEstimateCostStatus | undefined; + + /** + *+ * Historical usage data associated with this estimate, if available. + *
+ * @public + */ + historicalUsage?: HistoricalUsageEntity | undefined; + + /** + *+ * The key of the successfully created entry. + *
+ * @public + */ + key?: string | undefined; +} + +/** + *+ * Summarizes an input usage modification for a bill estimate. + *
+ * @public + */ +export interface BillEstimateInputUsageModificationSummary { + /** + *+ * The Amazon Web Services service code for this usage modification. + *
+ * @public + */ + serviceCode: string | undefined; + + /** + *+ * The type of usage being modified. + *
+ * @public + */ + usageType: string | undefined; + + /** + *+ * The specific operation associated with this usage modification. + *
+ * @public + */ + operation: string | undefined; + + /** + *+ * The location associated with this usage modification. + *
+ * @public + */ + location?: string | undefined; + + /** + *+ * The availability zone associated with this usage modification, if applicable. + *
+ * @public + */ + availabilityZone?: string | undefined; + + /** + *+ * The unique identifier of the usage modification. + *
+ * @public + */ + id?: string | undefined; + + /** + *+ * The group identifier for the usage modification. + *
+ * @public + */ + group?: string | undefined; + + /** + *+ * The Amazon Web Services account ID associated with this usage modification. + *
+ * @public + */ + usageAccountId?: string | undefined; + + /** + *+ * The modified usage quantities. + *
+ * @public + */ + quantities?: UsageQuantity[] | undefined; + + /** + *+ * Historical usage data associated with this modification, if available. + *
+ * @public + */ + historicalUsage?: HistoricalUsageEntity | undefined; +} + +/** + *+ * Represents a usage modification item in a bill scenario. + *
+ * @public + */ +export interface BillScenarioUsageModificationItem { + /** + *+ * The Amazon Web Services service code for this usage modification. + *
+ * @public + */ + serviceCode: string | undefined; + + /** + *+ * The type of usage being modified. + *
+ * @public + */ + usageType: string | undefined; + + /** + *+ * The specific operation associated with this usage modification. + *
+ * @public + */ + operation: string | undefined; + + /** + *+ * The location associated with this usage modification. + *
+ * @public + */ + location?: string | undefined; + + /** + *+ * The availability zone associated with this usage modification, if applicable. + *
+ * @public + */ + availabilityZone?: string | undefined; + + /** + *+ * The unique identifier of the usage modification. + *
+ * @public + */ + id?: string | undefined; + + /** + *+ * The group identifier for the usage modification. + *
+ * @public + */ + group?: string | undefined; + + /** + *+ * The Amazon Web Services account ID associated with this usage modification. + *
+ * @public + */ + usageAccountId?: string | undefined; + + /** + *+ * The modified usage quantities. + *
+ * @public + */ + quantities?: UsageQuantity[] | undefined; + + /** + *+ * Historical usage data associated with this modification, if available. + *
+ * @public + */ + historicalUsage?: HistoricalUsageEntity | undefined; +} + +/** + *+ * Represents a usage item in a workload estimate. + *
+ * @public + */ +export interface WorkloadEstimateUsageItem { + /** + *+ * The Amazon Web Services service code associated with this usage item. + *
+ * @public + */ + serviceCode: string | undefined; + + /** + *+ * The type of usage for this item. + *
+ * @public + */ + usageType: string | undefined; + + /** + *+ * The specific operation associated with this usage item. + *
+ * @public + */ + operation: string | undefined; + + /** + *+ * The location associated with this usage item. + *
+ * @public + */ + location?: string | undefined; + + /** + *+ * The unique identifier of this usage item. + *
+ * @public + */ + id?: string | undefined; + + /** + *+ * The Amazon Web Services account ID associated with this usage item. + *
+ * @public + */ + usageAccountId?: string | undefined; + + /** + *+ * The group identifier for this usage item. + *
+ * @public + */ + group?: string | undefined; + + /** + *+ * The estimated usage quantity for this item. + *
+ * @public + */ + quantity?: WorkloadEstimateUsageQuantity | undefined; + + /** + *+ * The estimated cost for this usage item. + *
+ * @public + */ + cost?: number | undefined; + + /** + *+ * The currency of the estimated cost. + *
+ * @public + */ + currency?: CurrencyCode | undefined; + + /** + *+ * The current status of this usage item. + *
+ * @public + */ + status?: WorkloadEstimateCostStatus | undefined; + + /** + *+ * Historical usage data associated with this item, if available. + *
+ * @public + */ + historicalUsage?: HistoricalUsageEntity | undefined; +} + +/** + * @public + */ +export interface BatchCreateBillScenarioUsageModificationRequest { + /** + *+ * The ID of the Bill Scenario for which you want to create the modeled usage. + *
+ * @public + */ + billScenarioId: string | undefined; + + /** + *+ * List of usage that you want to model in the Bill Scenario. + *
+ * @public + */ + usageModifications: BatchCreateBillScenarioUsageModificationEntry[] | undefined; + + /** + *+ * A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. + *
+ * @public + */ + clientToken?: string | undefined; +} + +/** + * @public + */ +export interface BatchCreateBillScenarioUsageModificationResponse { + /** + *+ * Returns the list of successful usage line items that were created for the Bill Scenario. + *
+ * @public + */ + items?: BatchCreateBillScenarioUsageModificationItem[] | undefined; + + /** + *+ * Returns the list of errors reason and the usage item keys that cannot be created in the Bill Scenario. + *
+ * @public + */ + errors?: BatchCreateBillScenarioUsageModificationError[] | undefined; +} + +/** + * @public + */ +export interface BatchCreateWorkloadEstimateUsageRequest { + /** + *+ * The ID of the Workload estimate for which you want to create the modeled usage. + *
+ * @public + */ + workloadEstimateId: string | undefined; + + /** + *+ * List of usage that you want to model in the Workload estimate. + *
+ * @public + */ + usage: BatchCreateWorkloadEstimateUsageEntry[] | undefined; + + /** + *+ * A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. + *
+ * @public + */ + clientToken?: string | undefined; +} + +/** + * @public + */ +export interface BatchCreateWorkloadEstimateUsageResponse { + /** + *+ * Returns the list of successful usage line items that were created for the Workload estimate. + *
+ * @public + */ + items?: BatchCreateWorkloadEstimateUsageItem[] | undefined; + + /** + *+ * Returns the list of errors reason and the usage item keys that cannot be created in the Workload estimate. + *
+ * @public + */ + errors?: BatchCreateWorkloadEstimateUsageError[] | undefined; +} + +/** + * @public + */ +export interface BatchUpdateBillScenarioUsageModificationResponse { + /** + *+ * Returns the list of successful usage line items that were updated for a Bill Scenario. + *
+ * @public + */ + items?: BillScenarioUsageModificationItem[] | undefined; + + /** + *+ * Returns the list of error reasons and usage line item IDs that could not be updated for the Bill Scenario. + *
+ * @public + */ + errors?: BatchUpdateBillScenarioUsageModificationError[] | undefined; +} + +/** + * @public + */ +export interface BatchUpdateWorkloadEstimateUsageResponse { + /** + *+ * Returns the list of successful usage line items that were updated for a Workload estimate. + *
+ * @public + */ + items?: WorkloadEstimateUsageItem[] | undefined; + + /** + *+ * Returns the list of error reasons and usage line item IDs that could not be updated for the Workload estimate. + *
+ * @public + */ + errors?: BatchUpdateWorkloadEstimateUsageError[] | undefined; +} + +/** + * @public + */ +export interface ListBillEstimateInputUsageModificationsResponse { + /** + *+ * The list of input usage modifications associated with the bill estimate. + *
+ * @public + */ + items?: BillEstimateInputUsageModificationSummary[] | undefined; + + /** + *+ * A token to retrieve the next page of results, if any. + *
+ * @public + */ + nextToken?: string | undefined; +} + +/** + * @public + */ +export interface ListBillScenarioUsageModificationsResponse { + /** + *+ * The list of usage modifications associated with the bill scenario. + *
+ * @public + */ + items?: BillScenarioUsageModificationItem[] | undefined; + + /** + *+ * A token to retrieve the next page of results, if any. + *
+ * @public + */ + nextToken?: string | undefined; +} + +/** + * @public + */ +export interface ListWorkloadEstimateUsageResponse { + /** + *+ * The list of usage items associated with the workload estimate. + *
+ * @public + */ + items?: WorkloadEstimateUsageItem[] | undefined; + + /** + *+ * A token to retrieve the next page of results, if any. + *
+ * @public + */ + nextToken?: string | undefined; +} diff --git a/clients/client-bcm-pricing-calculator/src/pagination/Interfaces.ts b/clients/client-bcm-pricing-calculator/src/pagination/Interfaces.ts new file mode 100644 index 000000000000..102413104717 --- /dev/null +++ b/clients/client-bcm-pricing-calculator/src/pagination/Interfaces.ts @@ -0,0 +1,11 @@ +// smithy-typescript generated code +import { PaginationConfiguration } from "@smithy/types"; + +import { BCMPricingCalculatorClient } from "../BCMPricingCalculatorClient"; + +/** + * @public + */ +export interface BCMPricingCalculatorPaginationConfiguration extends PaginationConfiguration { + client: BCMPricingCalculatorClient; +} diff --git a/clients/client-bcm-pricing-calculator/src/pagination/ListBillEstimateCommitmentsPaginator.ts b/clients/client-bcm-pricing-calculator/src/pagination/ListBillEstimateCommitmentsPaginator.ts new file mode 100644 index 000000000000..995c4f8fbc85 --- /dev/null +++ b/clients/client-bcm-pricing-calculator/src/pagination/ListBillEstimateCommitmentsPaginator.ts @@ -0,0 +1,24 @@ +// smithy-typescript generated code +import { createPaginator } from "@smithy/core"; +import { Paginator } from "@smithy/types"; + +import { BCMPricingCalculatorClient } from "../BCMPricingCalculatorClient"; +import { + ListBillEstimateCommitmentsCommand, + ListBillEstimateCommitmentsCommandInput, + ListBillEstimateCommitmentsCommandOutput, +} from "../commands/ListBillEstimateCommitmentsCommand"; +import { BCMPricingCalculatorPaginationConfiguration } from "./Interfaces"; + +/** + * @public + */ +export const paginateListBillEstimateCommitments: ( + config: BCMPricingCalculatorPaginationConfiguration, + input: ListBillEstimateCommitmentsCommandInput, + ...rest: any[] +) => Paginator\n You can use the Pricing Calculator API to programmatically create estimates for your planned cloud use. You can model usage and commitments such as Savings Plans and \n Reserved Instances, and generate estimated costs using your discounts and benefit sharing preferences.\n
\nThe Pricing Calculator API provides the following endpoint:
\n\n https://bcm-pricing-calculator.us-east-1.api.aws
\n
\n You do not have sufficient access to perform this action.\n
", + "smithy.api#error": "client", + "smithy.api#httpError": 403 + } + }, + "com.amazonaws.bcmpricingcalculator#AccountId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 12, + "max": 12 + }, + "smithy.api#pattern": "^\\d{12}$" + } + }, + "com.amazonaws.bcmpricingcalculator#AddReservedInstanceAction": { + "type": "structure", + "members": { + "reservedInstancesOfferingId": { + "target": "com.amazonaws.bcmpricingcalculator#Uuid", + "traits": { + "smithy.api#documentation": "\n The ID of the Reserved Instance offering to add. For more information, see \n \n DescribeReservedInstancesOfferings.\n
" + } + }, + "instanceCount": { + "target": "com.amazonaws.bcmpricingcalculator#ReservedInstanceInstanceCount", + "traits": { + "smithy.api#documentation": "\n The number of instances to add for this Reserved Instance offering.\n
" + } + } + }, + "traits": { + "smithy.api#documentation": "\n Represents an action to add a Reserved Instance to a bill scenario.\n
" + } + }, + "com.amazonaws.bcmpricingcalculator#AddSavingsPlanAction": { + "type": "structure", + "members": { + "savingsPlanOfferingId": { + "target": "com.amazonaws.bcmpricingcalculator#Uuid", + "traits": { + "smithy.api#documentation": "\n The ID of the Savings Plan offering to add. For more information, see \n \n DescribeSavingsPlansOfferings.\n
" + } + }, + "commitment": { + "target": "com.amazonaws.bcmpricingcalculator#SavingsPlanCommitment", + "traits": { + "smithy.api#documentation": "\n The hourly commitment, in the same currency of the savingsPlanOfferingId
. \n This is a value between 0.001 and 1 million. You cannot specify more than five digits\n after the decimal point.\n
\n Represents an action to add a Savings Plan to a bill scenario.\n
" + } + }, + "com.amazonaws.bcmpricingcalculator#Arn": { + "type": "string", + "traits": { + "aws.api#arnReference": { + "service": "com.amazonaws.bcmpricingcalculator#AWSBCMPricingCalculator" + }, + "smithy.api#length": { + "min": 20, + "max": 2048 + }, + "smithy.api#pattern": "^arn:aws[-a-z0-9]*:bcm-pricing-calculator:[-a-z0-9]*:[0-9]{12}:[-a-z0-9/:_]+$" + } + }, + "com.amazonaws.bcmpricingcalculator#AvailabilityZone": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 32 + }, + "smithy.api#pattern": "^[-a-zA-Z0-9\\.\\-_:,]*$" + } + }, + "com.amazonaws.bcmpricingcalculator#BatchCreateBillScenarioCommitmentModification": { + "type": "operation", + "input": { + "target": "com.amazonaws.bcmpricingcalculator#BatchCreateBillScenarioCommitmentModificationRequest" + }, + "output": { + "target": "com.amazonaws.bcmpricingcalculator#BatchCreateBillScenarioCommitmentModificationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.bcmpricingcalculator#ConflictException" + }, + { + "target": "com.amazonaws.bcmpricingcalculator#DataUnavailableException" + }, + { + "target": "com.amazonaws.bcmpricingcalculator#ResourceNotFoundException" + } + ], + "traits": { + "aws.iam#iamAction": { + "name": "CreateBillScenarioCommitmentModification", + "documentation": "Grants permission to create new commitments or remove existing commitment from a specified bill scenario" + }, + "smithy.api#documentation": "\n Create Compute Savings Plans, EC2 Instance Savings Plans, or EC2 Reserved Instances commitments that you want to model in a Bill Scenario.\n
", + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.bcmpricingcalculator#BatchCreateBillScenarioCommitmentModificationEntries": { + "type": "list", + "member": { + "target": "com.amazonaws.bcmpricingcalculator#BatchCreateBillScenarioCommitmentModificationEntry" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 25 + } + } + }, + "com.amazonaws.bcmpricingcalculator#BatchCreateBillScenarioCommitmentModificationEntry": { + "type": "structure", + "members": { + "key": { + "target": "com.amazonaws.bcmpricingcalculator#Key", + "traits": { + "smithy.api#documentation": "\n A unique identifier for this entry in the batch operation. This can be any valid string. \n This key is useful to identify errors associated with any commitment entry as any error is \n returned with this key.\n
", + "smithy.api#required": {} + } + }, + "group": { + "target": "com.amazonaws.bcmpricingcalculator#UsageGroup", + "traits": { + "smithy.api#documentation": "\n An optional group identifier for the commitment modification.\n
" + } + }, + "usageAccountId": { + "target": "com.amazonaws.bcmpricingcalculator#AccountId", + "traits": { + "smithy.api#documentation": "\n The Amazon Web Services account ID to which this commitment will be applied to.\n
", + "smithy.api#required": {} + } + }, + "commitmentAction": { + "target": "com.amazonaws.bcmpricingcalculator#BillScenarioCommitmentModificationAction", + "traits": { + "smithy.api#documentation": "\n The specific commitment action to be taken (e.g., adding a Reserved Instance or Savings Plan).\n
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "\n Represents an entry object in the batch operation to create bill scenario commitment modifications.\n
" + } + }, + "com.amazonaws.bcmpricingcalculator#BatchCreateBillScenarioCommitmentModificationError": { + "type": "structure", + "members": { + "key": { + "target": "com.amazonaws.bcmpricingcalculator#Key", + "traits": { + "smithy.api#documentation": "\n The key of the entry that caused the error.\n
" + } + }, + "errorMessage": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "\n A descriptive message for the error that occurred.\n
" + } + }, + "errorCode": { + "target": "com.amazonaws.bcmpricingcalculator#BatchCreateBillScenarioCommitmentModificationErrorCode", + "traits": { + "smithy.api#documentation": "\n The error code associated with the failed operation.\n
" + } + } + }, + "traits": { + "smithy.api#documentation": "\n Represents an error that occurred during a batch create operation for bill scenario commitment modifications.\n
" + } + }, + "com.amazonaws.bcmpricingcalculator#BatchCreateBillScenarioCommitmentModificationErrorCode": { + "type": "enum", + "members": { + "CONFLICT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CONFLICT" + } + }, + "INTERNAL_SERVER_ERROR": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INTERNAL_SERVER_ERROR" + } + }, + "INVALID_ACCOUNT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INVALID_ACCOUNT" + } + } + } + }, + "com.amazonaws.bcmpricingcalculator#BatchCreateBillScenarioCommitmentModificationErrors": { + "type": "list", + "member": { + "target": "com.amazonaws.bcmpricingcalculator#BatchCreateBillScenarioCommitmentModificationError" + } + }, + "com.amazonaws.bcmpricingcalculator#BatchCreateBillScenarioCommitmentModificationItem": { + "type": "structure", + "members": { + "key": { + "target": "com.amazonaws.bcmpricingcalculator#Key", + "traits": { + "smithy.api#documentation": "\n The key of the successfully created entry. This can be any valid string. This key is useful to \n identify errors associated with any commitment entry as any error is returned with this key.\n
" + } + }, + "id": { + "target": "com.amazonaws.bcmpricingcalculator#ResourceId", + "traits": { + "smithy.api#documentation": "\n The unique identifier assigned to the created commitment modification.\n
" + } + }, + "group": { + "target": "com.amazonaws.bcmpricingcalculator#UsageGroup", + "traits": { + "smithy.api#documentation": "\n The group identifier for the created commitment modification.\n
" + } + }, + "usageAccountId": { + "target": "com.amazonaws.bcmpricingcalculator#AccountId", + "traits": { + "smithy.api#documentation": "\n The Amazon Web Services account ID associated with the created commitment modification.\n
" + } + }, + "commitmentAction": { + "target": "com.amazonaws.bcmpricingcalculator#BillScenarioCommitmentModificationAction", + "traits": { + "smithy.api#documentation": "\n The specific commitment action that was taken.\n
" + } + } + }, + "traits": { + "smithy.api#documentation": "\n Represents a successfully created item in a batch operation for bill scenario commitment modifications.\n
" + } + }, + "com.amazonaws.bcmpricingcalculator#BatchCreateBillScenarioCommitmentModificationItems": { + "type": "list", + "member": { + "target": "com.amazonaws.bcmpricingcalculator#BatchCreateBillScenarioCommitmentModificationItem" + } + }, + "com.amazonaws.bcmpricingcalculator#BatchCreateBillScenarioCommitmentModificationRequest": { + "type": "structure", + "members": { + "billScenarioId": { + "target": "com.amazonaws.bcmpricingcalculator#ResourceId", + "traits": { + "smithy.api#documentation": "\n The ID of the Bill Scenario for which you want to create the modeled commitment.\n
", + "smithy.api#required": {} + } + }, + "commitmentModifications": { + "target": "com.amazonaws.bcmpricingcalculator#BatchCreateBillScenarioCommitmentModificationEntries", + "traits": { + "smithy.api#documentation": "\n List of commitments that you want to model in the Bill Scenario.\n
", + "smithy.api#required": {} + } + }, + "clientToken": { + "target": "com.amazonaws.bcmpricingcalculator#ClientToken", + "traits": { + "smithy.api#documentation": "\n A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.\n
", + "smithy.api#httpHeader": "X-Amzn-Client-Token", + "smithy.api#idempotencyToken": {}, + "smithy.api#notProperty": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.bcmpricingcalculator#BatchCreateBillScenarioCommitmentModificationResponse": { + "type": "structure", + "members": { + "items": { + "target": "com.amazonaws.bcmpricingcalculator#BatchCreateBillScenarioCommitmentModificationItems", + "traits": { + "smithy.api#documentation": "\n Returns the list of successful commitment line items that were created for the Bill Scenario.\n
" + } + }, + "errors": { + "target": "com.amazonaws.bcmpricingcalculator#BatchCreateBillScenarioCommitmentModificationErrors", + "traits": { + "smithy.api#documentation": "\n Returns the list of errors reason and the commitment item keys that cannot be created in the Bill Scenario.\n
" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.bcmpricingcalculator#BatchCreateBillScenarioUsageModification": { + "type": "operation", + "input": { + "target": "com.amazonaws.bcmpricingcalculator#BatchCreateBillScenarioUsageModificationRequest" + }, + "output": { + "target": "com.amazonaws.bcmpricingcalculator#BatchCreateBillScenarioUsageModificationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.bcmpricingcalculator#ConflictException" + }, + { + "target": "com.amazonaws.bcmpricingcalculator#DataUnavailableException" + }, + { + "target": "com.amazonaws.bcmpricingcalculator#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.bcmpricingcalculator#ServiceQuotaExceededException" + } + ], + "traits": { + "aws.iam#iamAction": { + "name": "CreateBillScenarioUsageModification", + "documentation": "Grants permission to create usage in the specified bill scenario" + }, + "smithy.api#documentation": "\n Create Amazon Web Services service usage that you want to model in a Bill Scenario.\n
", + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.bcmpricingcalculator#BatchCreateBillScenarioUsageModificationEntries": { + "type": "list", + "member": { + "target": "com.amazonaws.bcmpricingcalculator#BatchCreateBillScenarioUsageModificationEntry" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 25 + } + } + }, + "com.amazonaws.bcmpricingcalculator#BatchCreateBillScenarioUsageModificationEntry": { + "type": "structure", + "members": { + "serviceCode": { + "target": "com.amazonaws.bcmpricingcalculator#ServiceCode", + "traits": { + "smithy.api#documentation": "\n The Amazon Web Services service code for this usage modification.\n This identifies the specific Amazon Web Services service to the customer as \n a unique short abbreviation. For example, AmazonEC2
\n and AWSKMS
.\n
\n Describes the usage details of the usage line item.\n
", + "smithy.api#required": {} + } + }, + "operation": { + "target": "com.amazonaws.bcmpricingcalculator#Operation", + "traits": { + "smithy.api#documentation": "\n The specific operation associated with this usage modification.\n Describes the specific Amazon Web Services operation that this usage line models. \n For example, RunInstances
indicates the operation of an Amazon EC2 instance.\n
\n The Availability Zone that this usage line uses.\n
" + } + }, + "key": { + "target": "com.amazonaws.bcmpricingcalculator#Key", + "traits": { + "smithy.api#documentation": "\n A unique identifier for this entry in the batch operation.\n This can be any valid string. This key is useful to identify errors \n associated with any usage entry as any error is returned with this key.\n
", + "smithy.api#required": {} + } + }, + "group": { + "target": "com.amazonaws.bcmpricingcalculator#UsageGroup", + "traits": { + "smithy.api#documentation": "\n An optional group identifier for the usage modification.\n
" + } + }, + "usageAccountId": { + "target": "com.amazonaws.bcmpricingcalculator#AccountId", + "traits": { + "smithy.api#documentation": "\n The Amazon Web Services account ID to which this usage will be applied to.\n
", + "smithy.api#required": {} + } + }, + "amounts": { + "target": "com.amazonaws.bcmpricingcalculator#UsageAmounts", + "traits": { + "smithy.api#documentation": "\n The amount of usage you want to create for the service use you are modeling.\n
" + } + }, + "historicalUsage": { + "target": "com.amazonaws.bcmpricingcalculator#HistoricalUsageEntity", + "traits": { + "smithy.api#documentation": "\n Historical usage data associated with this modification, if available.\n
" + } + } + }, + "traits": { + "smithy.api#documentation": "\n Represents an entry in a batch operation to create bill scenario usage modifications.\n
" + } + }, + "com.amazonaws.bcmpricingcalculator#BatchCreateBillScenarioUsageModificationError": { + "type": "structure", + "members": { + "key": { + "target": "com.amazonaws.bcmpricingcalculator#Key", + "traits": { + "smithy.api#documentation": "\n The key of the entry that caused the error.\n
" + } + }, + "errorMessage": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "\n A descriptive message for the error that occurred.\n
" + } + }, + "errorCode": { + "target": "com.amazonaws.bcmpricingcalculator#BatchCreateBillScenarioUsageModificationErrorCode", + "traits": { + "smithy.api#documentation": "\n The error code associated with the failed operation.\n
" + } + } + }, + "traits": { + "smithy.api#documentation": "\n Represents an error that occurred during a batch create operation for bill scenario usage modifications.\n
" + } + }, + "com.amazonaws.bcmpricingcalculator#BatchCreateBillScenarioUsageModificationErrorCode": { + "type": "enum", + "members": { + "BAD_REQUEST": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "BAD_REQUEST" + } + }, + "NOT_FOUND": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "NOT_FOUND" + } + }, + "CONFLICT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CONFLICT" + } + }, + "INTERNAL_SERVER_ERROR": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INTERNAL_SERVER_ERROR" + } + } + } + }, + "com.amazonaws.bcmpricingcalculator#BatchCreateBillScenarioUsageModificationErrors": { + "type": "list", + "member": { + "target": "com.amazonaws.bcmpricingcalculator#BatchCreateBillScenarioUsageModificationError" + } + }, + "com.amazonaws.bcmpricingcalculator#BatchCreateBillScenarioUsageModificationItem": { + "type": "structure", + "members": { + "serviceCode": { + "target": "com.amazonaws.bcmpricingcalculator#ServiceCode", + "traits": { + "smithy.api#documentation": "\n The Amazon Web Services service code for this usage modification.\n
", + "smithy.api#required": {} + } + }, + "usageType": { + "target": "com.amazonaws.bcmpricingcalculator#UsageType", + "traits": { + "smithy.api#documentation": "\n The type of usage that was modified.\n
", + "smithy.api#required": {} + } + }, + "operation": { + "target": "com.amazonaws.bcmpricingcalculator#Operation", + "traits": { + "smithy.api#documentation": "\n The specific operation associated with this usage modification.\n
", + "smithy.api#required": {} + } + }, + "location": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "\n The location associated with this usage modification.\n
" + } + }, + "availabilityZone": { + "target": "com.amazonaws.bcmpricingcalculator#AvailabilityZone", + "traits": { + "smithy.api#documentation": "\n The availability zone associated with this usage modification, if applicable.\n
" + } + }, + "id": { + "target": "com.amazonaws.bcmpricingcalculator#ResourceId", + "traits": { + "smithy.api#documentation": "\n The unique identifier assigned to the created usage modification.\n
" + } + }, + "group": { + "target": "com.amazonaws.bcmpricingcalculator#UsageGroup", + "traits": { + "smithy.api#documentation": "\n The group identifier for the created usage modification.\n
" + } + }, + "usageAccountId": { + "target": "com.amazonaws.bcmpricingcalculator#AccountId", + "traits": { + "smithy.api#documentation": "\n The Amazon Web Services account ID associated with the created usage modification.\n
" + } + }, + "quantities": { + "target": "com.amazonaws.bcmpricingcalculator#UsageQuantities", + "traits": { + "smithy.api#documentation": "\n The modified usage quantities.\n
" + } + }, + "historicalUsage": { + "target": "com.amazonaws.bcmpricingcalculator#HistoricalUsageEntity", + "traits": { + "smithy.api#documentation": "\n Historical usage data associated with this modification, if available.\n
" + } + }, + "key": { + "target": "com.amazonaws.bcmpricingcalculator#Key", + "traits": { + "smithy.api#documentation": "\n The key of the successfully created entry.\n
" + } + } + }, + "traits": { + "smithy.api#documentation": "\n Represents a successfully created item in a batch operation for bill scenario usage modifications.\n
" + } + }, + "com.amazonaws.bcmpricingcalculator#BatchCreateBillScenarioUsageModificationItems": { + "type": "list", + "member": { + "target": "com.amazonaws.bcmpricingcalculator#BatchCreateBillScenarioUsageModificationItem" + } + }, + "com.amazonaws.bcmpricingcalculator#BatchCreateBillScenarioUsageModificationRequest": { + "type": "structure", + "members": { + "billScenarioId": { + "target": "com.amazonaws.bcmpricingcalculator#ResourceId", + "traits": { + "smithy.api#documentation": "\n The ID of the Bill Scenario for which you want to create the modeled usage.\n
", + "smithy.api#required": {} + } + }, + "usageModifications": { + "target": "com.amazonaws.bcmpricingcalculator#BatchCreateBillScenarioUsageModificationEntries", + "traits": { + "smithy.api#documentation": "\n List of usage that you want to model in the Bill Scenario.\n
", + "smithy.api#required": {} + } + }, + "clientToken": { + "target": "com.amazonaws.bcmpricingcalculator#ClientToken", + "traits": { + "smithy.api#documentation": "\n A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.\n
", + "smithy.api#httpHeader": "X-Amzn-Client-Token", + "smithy.api#idempotencyToken": {}, + "smithy.api#notProperty": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.bcmpricingcalculator#BatchCreateBillScenarioUsageModificationResponse": { + "type": "structure", + "members": { + "items": { + "target": "com.amazonaws.bcmpricingcalculator#BatchCreateBillScenarioUsageModificationItems", + "traits": { + "smithy.api#documentation": "\n Returns the list of successful usage line items that were created for the Bill Scenario.\n
" + } + }, + "errors": { + "target": "com.amazonaws.bcmpricingcalculator#BatchCreateBillScenarioUsageModificationErrors", + "traits": { + "smithy.api#documentation": "\n Returns the list of errors reason and the usage item keys that cannot be created in the Bill Scenario.\n
" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.bcmpricingcalculator#BatchCreateWorkloadEstimateUsage": { + "type": "operation", + "input": { + "target": "com.amazonaws.bcmpricingcalculator#BatchCreateWorkloadEstimateUsageRequest" + }, + "output": { + "target": "com.amazonaws.bcmpricingcalculator#BatchCreateWorkloadEstimateUsageResponse" + }, + "errors": [ + { + "target": "com.amazonaws.bcmpricingcalculator#ConflictException" + }, + { + "target": "com.amazonaws.bcmpricingcalculator#DataUnavailableException" + }, + { + "target": "com.amazonaws.bcmpricingcalculator#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.bcmpricingcalculator#ServiceQuotaExceededException" + } + ], + "traits": { + "aws.iam#iamAction": { + "name": "CreateWorkloadEstimateUsage", + "documentation": "Grants permission to create usage in the specified workload estimate" + }, + "smithy.api#documentation": "\n Create Amazon Web Services service usage that you want to model in a Workload Estimate.\n
", + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.bcmpricingcalculator#BatchCreateWorkloadEstimateUsageCode": { + "type": "enum", + "members": { + "BAD_REQUEST": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "BAD_REQUEST" + } + }, + "NOT_FOUND": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "NOT_FOUND" + } + }, + "CONFLICT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CONFLICT" + } + }, + "INTERNAL_SERVER_ERROR": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INTERNAL_SERVER_ERROR" + } + } + } + }, + "com.amazonaws.bcmpricingcalculator#BatchCreateWorkloadEstimateUsageEntries": { + "type": "list", + "member": { + "target": "com.amazonaws.bcmpricingcalculator#BatchCreateWorkloadEstimateUsageEntry" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 25 + } + } + }, + "com.amazonaws.bcmpricingcalculator#BatchCreateWorkloadEstimateUsageEntry": { + "type": "structure", + "members": { + "serviceCode": { + "target": "com.amazonaws.bcmpricingcalculator#ServiceCode", + "traits": { + "smithy.api#documentation": "\n The Amazon Web Services service code for this usage estimate.\n
", + "smithy.api#required": {} + } + }, + "usageType": { + "target": "com.amazonaws.bcmpricingcalculator#UsageType", + "traits": { + "smithy.api#documentation": "\n The type of usage being estimated.\n
", + "smithy.api#required": {} + } + }, + "operation": { + "target": "com.amazonaws.bcmpricingcalculator#Operation", + "traits": { + "smithy.api#documentation": "\n The specific operation associated with this usage estimate.\n
", + "smithy.api#required": {} + } + }, + "key": { + "target": "com.amazonaws.bcmpricingcalculator#Key", + "traits": { + "smithy.api#documentation": "\n A unique identifier for this entry in the batch operation.\n
", + "smithy.api#required": {} + } + }, + "group": { + "target": "com.amazonaws.bcmpricingcalculator#UsageGroup", + "traits": { + "smithy.api#documentation": "\n An optional group identifier for the usage estimate.\n
" + } + }, + "usageAccountId": { + "target": "com.amazonaws.bcmpricingcalculator#AccountId", + "traits": { + "smithy.api#documentation": "\n The Amazon Web Services account ID associated with this usage estimate.\n
", + "smithy.api#required": {} + } + }, + "amount": { + "target": "smithy.api#Double", + "traits": { + "smithy.api#documentation": "\n The estimated usage amount.\n
", + "smithy.api#required": {} + } + }, + "historicalUsage": { + "target": "com.amazonaws.bcmpricingcalculator#HistoricalUsageEntity", + "traits": { + "smithy.api#documentation": "\n Historical usage data associated with this estimate, if available.\n
" + } + } + }, + "traits": { + "smithy.api#documentation": "\n Represents an entry in a batch operation to create workload estimate usage.\n
" + } + }, + "com.amazonaws.bcmpricingcalculator#BatchCreateWorkloadEstimateUsageError": { + "type": "structure", + "members": { + "key": { + "target": "com.amazonaws.bcmpricingcalculator#Key", + "traits": { + "smithy.api#documentation": "\n The key of the entry that caused the error.\n
" + } + }, + "errorCode": { + "target": "com.amazonaws.bcmpricingcalculator#BatchCreateWorkloadEstimateUsageCode", + "traits": { + "smithy.api#documentation": "\n The error code associated with the failed operation.\n
" + } + }, + "errorMessage": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "\n A descriptive message for the error that occurred.\n
" + } + } + }, + "traits": { + "smithy.api#documentation": "\n Represents an error that occurred during a batch create operation for workload estimate usage.\n
" + } + }, + "com.amazonaws.bcmpricingcalculator#BatchCreateWorkloadEstimateUsageErrors": { + "type": "list", + "member": { + "target": "com.amazonaws.bcmpricingcalculator#BatchCreateWorkloadEstimateUsageError" + } + }, + "com.amazonaws.bcmpricingcalculator#BatchCreateWorkloadEstimateUsageItem": { + "type": "structure", + "members": { + "serviceCode": { + "target": "com.amazonaws.bcmpricingcalculator#ServiceCode", + "traits": { + "smithy.api#documentation": "\n The Amazon Web Services service code for this usage estimate.\n
", + "smithy.api#required": {} + } + }, + "usageType": { + "target": "com.amazonaws.bcmpricingcalculator#UsageType", + "traits": { + "smithy.api#documentation": "\n The type of usage that was estimated.\n
", + "smithy.api#required": {} + } + }, + "operation": { + "target": "com.amazonaws.bcmpricingcalculator#Operation", + "traits": { + "smithy.api#documentation": "\n The specific operation associated with this usage estimate.\n
", + "smithy.api#required": {} + } + }, + "location": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "\n The location associated with this usage estimate.\n
" + } + }, + "id": { + "target": "com.amazonaws.bcmpricingcalculator#ResourceId", + "traits": { + "smithy.api#documentation": "\n The unique identifier assigned to the created usage estimate.\n
" + } + }, + "usageAccountId": { + "target": "com.amazonaws.bcmpricingcalculator#AccountId", + "traits": { + "smithy.api#documentation": "\n The Amazon Web Services account ID associated with the created usage estimate.\n
" + } + }, + "group": { + "target": "com.amazonaws.bcmpricingcalculator#UsageGroup", + "traits": { + "smithy.api#documentation": "\n The group identifier for the created usage estimate.\n
" + } + }, + "quantity": { + "target": "com.amazonaws.bcmpricingcalculator#WorkloadEstimateUsageQuantity", + "traits": { + "smithy.api#documentation": "\n The estimated usage quantity.\n
" + } + }, + "cost": { + "target": "smithy.api#Double", + "traits": { + "smithy.api#documentation": "\n The estimated cost associated with this usage.\n
" + } + }, + "currency": { + "target": "com.amazonaws.bcmpricingcalculator#CurrencyCode", + "traits": { + "smithy.api#documentation": "\n The currency of the estimated cost.\n
" + } + }, + "status": { + "target": "com.amazonaws.bcmpricingcalculator#WorkloadEstimateCostStatus", + "traits": { + "smithy.api#documentation": "\n The current status of the created usage estimate.\n
" + } + }, + "historicalUsage": { + "target": "com.amazonaws.bcmpricingcalculator#HistoricalUsageEntity", + "traits": { + "smithy.api#documentation": "\n Historical usage data associated with this estimate, if available.\n
" + } + }, + "key": { + "target": "com.amazonaws.bcmpricingcalculator#Key", + "traits": { + "smithy.api#documentation": "\n The key of the successfully created entry.\n
" + } + } + }, + "traits": { + "smithy.api#documentation": "\n Represents a successfully created item in a batch operation for workload estimate usage.\n
" + } + }, + "com.amazonaws.bcmpricingcalculator#BatchCreateWorkloadEstimateUsageItems": { + "type": "list", + "member": { + "target": "com.amazonaws.bcmpricingcalculator#BatchCreateWorkloadEstimateUsageItem" + } + }, + "com.amazonaws.bcmpricingcalculator#BatchCreateWorkloadEstimateUsageRequest": { + "type": "structure", + "members": { + "workloadEstimateId": { + "target": "com.amazonaws.bcmpricingcalculator#ResourceId", + "traits": { + "smithy.api#documentation": "\n The ID of the Workload estimate for which you want to create the modeled usage.\n
", + "smithy.api#required": {} + } + }, + "usage": { + "target": "com.amazonaws.bcmpricingcalculator#BatchCreateWorkloadEstimateUsageEntries", + "traits": { + "smithy.api#documentation": "\n List of usage that you want to model in the Workload estimate.\n
", + "smithy.api#required": {} + } + }, + "clientToken": { + "target": "com.amazonaws.bcmpricingcalculator#ClientToken", + "traits": { + "smithy.api#documentation": "\n A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.\n
", + "smithy.api#httpHeader": "X-Amzn-Client-Token", + "smithy.api#idempotencyToken": {}, + "smithy.api#notProperty": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.bcmpricingcalculator#BatchCreateWorkloadEstimateUsageResponse": { + "type": "structure", + "members": { + "items": { + "target": "com.amazonaws.bcmpricingcalculator#BatchCreateWorkloadEstimateUsageItems", + "traits": { + "smithy.api#documentation": "\n Returns the list of successful usage line items that were created for the Workload estimate.\n
" + } + }, + "errors": { + "target": "com.amazonaws.bcmpricingcalculator#BatchCreateWorkloadEstimateUsageErrors", + "traits": { + "smithy.api#documentation": "\n Returns the list of errors reason and the usage item keys that cannot be created in the Workload estimate.\n
" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.bcmpricingcalculator#BatchDeleteBillScenarioCommitmentModification": { + "type": "operation", + "input": { + "target": "com.amazonaws.bcmpricingcalculator#BatchDeleteBillScenarioCommitmentModificationRequest" + }, + "output": { + "target": "com.amazonaws.bcmpricingcalculator#BatchDeleteBillScenarioCommitmentModificationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.bcmpricingcalculator#DataUnavailableException" + }, + { + "target": "com.amazonaws.bcmpricingcalculator#ResourceNotFoundException" + } + ], + "traits": { + "aws.iam#iamAction": { + "name": "DeleteBillScenarioCommitmentModification", + "documentation": "Grants permission to delete newly added commitments from the specified bill scenario" + }, + "smithy.api#documentation": "\n Delete commitment that you have created in a Bill Scenario. You can only delete a commitment that you had \n added and cannot model deletion (or removal) of a existing commitment. If you want model deletion of an existing \n commitment, see the negate \n BillScenarioCommitmentModificationAction of \n \n BatchCreateBillScenarioCommitmentModification operation.\n
", + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.bcmpricingcalculator#BatchDeleteBillScenarioCommitmentModificationEntries": { + "type": "list", + "member": { + "target": "com.amazonaws.bcmpricingcalculator#ResourceId" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 25 + } + } + }, + "com.amazonaws.bcmpricingcalculator#BatchDeleteBillScenarioCommitmentModificationError": { + "type": "structure", + "members": { + "id": { + "target": "com.amazonaws.bcmpricingcalculator#ResourceId", + "traits": { + "smithy.api#documentation": "\n The ID of the error.\n
" + } + }, + "errorCode": { + "target": "com.amazonaws.bcmpricingcalculator#BatchDeleteBillScenarioCommitmentModificationErrorCode", + "traits": { + "smithy.api#documentation": "\n The code associated with the error.\n
" + } + }, + "errorMessage": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "\n The message that describes the error.\n
" + } + } + }, + "traits": { + "smithy.api#documentation": "\n Represents an error that occurred when deleting a commitment in a Bill Scenario.\n
" + } + }, + "com.amazonaws.bcmpricingcalculator#BatchDeleteBillScenarioCommitmentModificationErrorCode": { + "type": "enum", + "members": { + "BAD_REQUEST": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "BAD_REQUEST" + } + }, + "CONFLICT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CONFLICT" + } + }, + "INTERNAL_SERVER_ERROR": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INTERNAL_SERVER_ERROR" + } + } + } + }, + "com.amazonaws.bcmpricingcalculator#BatchDeleteBillScenarioCommitmentModificationErrors": { + "type": "list", + "member": { + "target": "com.amazonaws.bcmpricingcalculator#BatchDeleteBillScenarioCommitmentModificationError" + } + }, + "com.amazonaws.bcmpricingcalculator#BatchDeleteBillScenarioCommitmentModificationRequest": { + "type": "structure", + "members": { + "billScenarioId": { + "target": "com.amazonaws.bcmpricingcalculator#ResourceId", + "traits": { + "smithy.api#documentation": "\n The ID of the Bill Scenario for which you want to delete the modeled commitment.\n
", + "smithy.api#required": {} + } + }, + "ids": { + "target": "com.amazonaws.bcmpricingcalculator#BatchDeleteBillScenarioCommitmentModificationEntries", + "traits": { + "smithy.api#documentation": "\n List of commitments that you want to delete from the Bill Scenario.\n
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.bcmpricingcalculator#BatchDeleteBillScenarioCommitmentModificationResponse": { + "type": "structure", + "members": { + "errors": { + "target": "com.amazonaws.bcmpricingcalculator#BatchDeleteBillScenarioCommitmentModificationErrors", + "traits": { + "smithy.api#documentation": "\n Returns the list of errors reason and the commitment item keys that cannot be deleted from the Bill Scenario.\n
" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.bcmpricingcalculator#BatchDeleteBillScenarioUsageModification": { + "type": "operation", + "input": { + "target": "com.amazonaws.bcmpricingcalculator#BatchDeleteBillScenarioUsageModificationRequest" + }, + "output": { + "target": "com.amazonaws.bcmpricingcalculator#BatchDeleteBillScenarioUsageModificationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.bcmpricingcalculator#DataUnavailableException" + }, + { + "target": "com.amazonaws.bcmpricingcalculator#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.bcmpricingcalculator#ServiceQuotaExceededException" + } + ], + "traits": { + "aws.iam#iamAction": { + "name": "DeleteBillScenarioUsageModification", + "documentation": "Grants permission to delete newly added usage from the specified bill scenario" + }, + "smithy.api#documentation": "\n Delete usage that you have created in a Bill Scenario. You can only delete usage that you had added and cannot model \n deletion (or removal) of a existing usage. If you want model removal of an existing usage, see \n \n BatchUpdateBillScenarioUsageModification.\n
", + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.bcmpricingcalculator#BatchDeleteBillScenarioUsageModificationEntries": { + "type": "list", + "member": { + "target": "com.amazonaws.bcmpricingcalculator#ResourceId" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 25 + } + } + }, + "com.amazonaws.bcmpricingcalculator#BatchDeleteBillScenarioUsageModificationError": { + "type": "structure", + "members": { + "id": { + "target": "com.amazonaws.bcmpricingcalculator#ResourceId", + "traits": { + "smithy.api#documentation": "\n The ID of the error.\n
" + } + }, + "errorMessage": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "\n The message that describes the error.\n
" + } + }, + "errorCode": { + "target": "com.amazonaws.bcmpricingcalculator#BatchDeleteBillScenarioUsageModificationErrorCode", + "traits": { + "smithy.api#documentation": "\n The code associated with the error.\n
" + } + } + }, + "traits": { + "smithy.api#documentation": "\n Represents an error that occurred when deleting usage in a Bill Scenario.\n
" + } + }, + "com.amazonaws.bcmpricingcalculator#BatchDeleteBillScenarioUsageModificationErrorCode": { + "type": "enum", + "members": { + "BAD_REQUEST": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "BAD_REQUEST" + } + }, + "CONFLICT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CONFLICT" + } + }, + "INTERNAL_SERVER_ERROR": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INTERNAL_SERVER_ERROR" + } + } + } + }, + "com.amazonaws.bcmpricingcalculator#BatchDeleteBillScenarioUsageModificationErrors": { + "type": "list", + "member": { + "target": "com.amazonaws.bcmpricingcalculator#BatchDeleteBillScenarioUsageModificationError" + } + }, + "com.amazonaws.bcmpricingcalculator#BatchDeleteBillScenarioUsageModificationRequest": { + "type": "structure", + "members": { + "billScenarioId": { + "target": "com.amazonaws.bcmpricingcalculator#ResourceId", + "traits": { + "smithy.api#documentation": "\n The ID of the Bill Scenario for which you want to delete the modeled usage.\n
", + "smithy.api#required": {} + } + }, + "ids": { + "target": "com.amazonaws.bcmpricingcalculator#BatchDeleteBillScenarioUsageModificationEntries", + "traits": { + "smithy.api#documentation": "\n List of usage that you want to delete from the Bill Scenario.\n
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.bcmpricingcalculator#BatchDeleteBillScenarioUsageModificationResponse": { + "type": "structure", + "members": { + "errors": { + "target": "com.amazonaws.bcmpricingcalculator#BatchDeleteBillScenarioUsageModificationErrors", + "traits": { + "smithy.api#documentation": "\n Returns the list of errors reason and the usage item keys that cannot be deleted from the Bill Scenario.\n
" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.bcmpricingcalculator#BatchDeleteWorkloadEstimateUsage": { + "type": "operation", + "input": { + "target": "com.amazonaws.bcmpricingcalculator#BatchDeleteWorkloadEstimateUsageRequest" + }, + "output": { + "target": "com.amazonaws.bcmpricingcalculator#BatchDeleteWorkloadEstimateUsageResponse" + }, + "errors": [ + { + "target": "com.amazonaws.bcmpricingcalculator#DataUnavailableException" + }, + { + "target": "com.amazonaws.bcmpricingcalculator#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.bcmpricingcalculator#ServiceQuotaExceededException" + } + ], + "traits": { + "aws.iam#iamAction": { + "name": "DeleteWorkloadEstimateUsage", + "documentation": "Grants permission to delete newly added usage from the specified workload estimate" + }, + "smithy.api#documentation": "\n Delete usage that you have created in a Workload estimate. You can only delete usage that you had added and cannot model deletion \n (or removal) of a existing usage. If you want model removal of an existing usage, see \n \n BatchUpdateWorkloadEstimateUsage.\n
", + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.bcmpricingcalculator#BatchDeleteWorkloadEstimateUsageEntries": { + "type": "list", + "member": { + "target": "com.amazonaws.bcmpricingcalculator#ResourceId" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 25 + } + } + }, + "com.amazonaws.bcmpricingcalculator#BatchDeleteWorkloadEstimateUsageError": { + "type": "structure", + "members": { + "id": { + "target": "com.amazonaws.bcmpricingcalculator#ResourceId", + "traits": { + "smithy.api#documentation": "\n The ID of the error.\n
" + } + }, + "errorMessage": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "\n The message that describes the error.\n
" + } + }, + "errorCode": { + "target": "com.amazonaws.bcmpricingcalculator#WorkloadEstimateUpdateUsageErrorCode", + "traits": { + "smithy.api#documentation": "\n The code associated with the error.\n
" + } + } + }, + "traits": { + "smithy.api#documentation": "\n Represents an error that occurred when deleting usage in a workload estimate.\n
" + } + }, + "com.amazonaws.bcmpricingcalculator#BatchDeleteWorkloadEstimateUsageErrors": { + "type": "list", + "member": { + "target": "com.amazonaws.bcmpricingcalculator#BatchDeleteWorkloadEstimateUsageError" + } + }, + "com.amazonaws.bcmpricingcalculator#BatchDeleteWorkloadEstimateUsageRequest": { + "type": "structure", + "members": { + "workloadEstimateId": { + "target": "com.amazonaws.bcmpricingcalculator#ResourceId", + "traits": { + "smithy.api#documentation": "\n The ID of the Workload estimate for which you want to delete the modeled usage.\n
", + "smithy.api#required": {} + } + }, + "ids": { + "target": "com.amazonaws.bcmpricingcalculator#BatchDeleteWorkloadEstimateUsageEntries", + "traits": { + "smithy.api#documentation": "\n List of usage that you want to delete from the Workload estimate.\n
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.bcmpricingcalculator#BatchDeleteWorkloadEstimateUsageResponse": { + "type": "structure", + "members": { + "errors": { + "target": "com.amazonaws.bcmpricingcalculator#BatchDeleteWorkloadEstimateUsageErrors", + "traits": { + "smithy.api#documentation": "\n Returns the list of errors reason and the usage item keys that cannot be deleted from the Workload estimate.\n
" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.bcmpricingcalculator#BatchUpdateBillScenarioCommitmentModification": { + "type": "operation", + "input": { + "target": "com.amazonaws.bcmpricingcalculator#BatchUpdateBillScenarioCommitmentModificationRequest" + }, + "output": { + "target": "com.amazonaws.bcmpricingcalculator#BatchUpdateBillScenarioCommitmentModificationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.bcmpricingcalculator#DataUnavailableException" + }, + { + "target": "com.amazonaws.bcmpricingcalculator#ResourceNotFoundException" + } + ], + "traits": { + "aws.iam#iamAction": { + "name": "UpdateBillScenarioCommitmentModification", + "documentation": "Grants permission to update commitment group of commitments in the specified bill scenario" + }, + "smithy.api#documentation": "\n Update a newly added or existing commitment. You can update the commitment group based on a commitment ID and a Bill scenario ID.\n
", + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.bcmpricingcalculator#BatchUpdateBillScenarioCommitmentModificationEntries": { + "type": "list", + "member": { + "target": "com.amazonaws.bcmpricingcalculator#BatchUpdateBillScenarioCommitmentModificationEntry" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 25 + } + } + }, + "com.amazonaws.bcmpricingcalculator#BatchUpdateBillScenarioCommitmentModificationEntry": { + "type": "structure", + "members": { + "id": { + "target": "com.amazonaws.bcmpricingcalculator#ResourceId", + "traits": { + "smithy.api#documentation": "\n The unique identifier of the commitment modification to update.\n
", + "smithy.api#required": {} + } + }, + "group": { + "target": "com.amazonaws.bcmpricingcalculator#UsageGroup", + "traits": { + "smithy.api#documentation": "\n The updated group identifier for the commitment modification.\n
" + } + } + }, + "traits": { + "smithy.api#documentation": "\n Represents an entry in a batch operation to update bill scenario commitment modifications.\n
" + } + }, + "com.amazonaws.bcmpricingcalculator#BatchUpdateBillScenarioCommitmentModificationError": { + "type": "structure", + "members": { + "id": { + "target": "com.amazonaws.bcmpricingcalculator#ResourceId", + "traits": { + "smithy.api#documentation": "\n The ID of the error.\n
" + } + }, + "errorCode": { + "target": "com.amazonaws.bcmpricingcalculator#BatchUpdateBillScenarioCommitmentModificationErrorCode", + "traits": { + "smithy.api#documentation": "\n The code associated with the error.\n
" + } + }, + "errorMessage": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "\n The message that describes the error.\n
" + } + } + }, + "traits": { + "smithy.api#documentation": "\n Represents an error that occurred when updating a commitment in a Bill Scenario.\n
" + } + }, + "com.amazonaws.bcmpricingcalculator#BatchUpdateBillScenarioCommitmentModificationErrorCode": { + "type": "enum", + "members": { + "BAD_REQUEST": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "BAD_REQUEST" + } + }, + "NOT_FOUND": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "NOT_FOUND" + } + }, + "CONFLICT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CONFLICT" + } + }, + "INTERNAL_SERVER_ERROR": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INTERNAL_SERVER_ERROR" + } + } + } + }, + "com.amazonaws.bcmpricingcalculator#BatchUpdateBillScenarioCommitmentModificationErrors": { + "type": "list", + "member": { + "target": "com.amazonaws.bcmpricingcalculator#BatchUpdateBillScenarioCommitmentModificationError" + } + }, + "com.amazonaws.bcmpricingcalculator#BatchUpdateBillScenarioCommitmentModificationRequest": { + "type": "structure", + "members": { + "billScenarioId": { + "target": "com.amazonaws.bcmpricingcalculator#ResourceId", + "traits": { + "smithy.api#documentation": "\n The ID of the Bill Scenario for which you want to modify the commitment group of a modeled commitment.\n
", + "smithy.api#required": {} + } + }, + "commitmentModifications": { + "target": "com.amazonaws.bcmpricingcalculator#BatchUpdateBillScenarioCommitmentModificationEntries", + "traits": { + "smithy.api#documentation": "\n List of commitments that you want to update in a Bill Scenario.\n
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.bcmpricingcalculator#BatchUpdateBillScenarioCommitmentModificationResponse": { + "type": "structure", + "members": { + "items": { + "target": "com.amazonaws.bcmpricingcalculator#BillScenarioCommitmentModificationItems", + "traits": { + "smithy.api#documentation": "\n Returns the list of successful commitment line items that were updated for a Bill Scenario.\n
" + } + }, + "errors": { + "target": "com.amazonaws.bcmpricingcalculator#BatchUpdateBillScenarioCommitmentModificationErrors", + "traits": { + "smithy.api#documentation": "\n Returns the list of error reasons and commitment line item IDs that could not be updated for the Bill Scenario.\n
" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.bcmpricingcalculator#BatchUpdateBillScenarioUsageModification": { + "type": "operation", + "input": { + "target": "com.amazonaws.bcmpricingcalculator#BatchUpdateBillScenarioUsageModificationRequest" + }, + "output": { + "target": "com.amazonaws.bcmpricingcalculator#BatchUpdateBillScenarioUsageModificationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.bcmpricingcalculator#DataUnavailableException" + }, + { + "target": "com.amazonaws.bcmpricingcalculator#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.bcmpricingcalculator#ServiceQuotaExceededException" + } + ], + "traits": { + "aws.iam#iamAction": { + "name": "UpdateBillScenarioUsageModification", + "documentation": "Grants permission to update usage amount, usage hour, and usage group in the specified bill scenario" + }, + "smithy.api#documentation": "\n Update a newly added or existing usage lines. You can update the usage amounts, usage hour, and usage group based on a usage ID and a Bill scenario ID.\n
", + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.bcmpricingcalculator#BatchUpdateBillScenarioUsageModificationEntries": { + "type": "list", + "member": { + "target": "com.amazonaws.bcmpricingcalculator#BatchUpdateBillScenarioUsageModificationEntry" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 25 + } + } + }, + "com.amazonaws.bcmpricingcalculator#BatchUpdateBillScenarioUsageModificationEntry": { + "type": "structure", + "members": { + "id": { + "target": "com.amazonaws.bcmpricingcalculator#ResourceId", + "traits": { + "smithy.api#documentation": "\n The unique identifier of the usage modification to update.\n
", + "smithy.api#required": {} + } + }, + "group": { + "target": "com.amazonaws.bcmpricingcalculator#UsageGroup", + "traits": { + "smithy.api#documentation": "\n The updated group identifier for the usage modification.\n
" + } + }, + "amounts": { + "target": "com.amazonaws.bcmpricingcalculator#UsageAmounts", + "traits": { + "smithy.api#documentation": "\n The updated usage amounts for the modification.\n
" + } + } + }, + "traits": { + "smithy.api#documentation": "\n Represents an entry in a batch operation to update bill scenario usage modifications.\n
" + } + }, + "com.amazonaws.bcmpricingcalculator#BatchUpdateBillScenarioUsageModificationError": { + "type": "structure", + "members": { + "id": { + "target": "com.amazonaws.bcmpricingcalculator#ResourceId", + "traits": { + "smithy.api#documentation": "\n The ID of the error.\n
" + } + }, + "errorMessage": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "\n The message that describes the error.\n
" + } + }, + "errorCode": { + "target": "com.amazonaws.bcmpricingcalculator#BatchUpdateBillScenarioUsageModificationErrorCode", + "traits": { + "smithy.api#documentation": "\n The code associated with the error.\n
" + } + } + }, + "traits": { + "smithy.api#documentation": "\n Represents an error that occurred when updating usage in a Bill Scenario.\n
" + } + }, + "com.amazonaws.bcmpricingcalculator#BatchUpdateBillScenarioUsageModificationErrorCode": { + "type": "enum", + "members": { + "BAD_REQUEST": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "BAD_REQUEST" + } + }, + "NOT_FOUND": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "NOT_FOUND" + } + }, + "CONFLICT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CONFLICT" + } + }, + "INTERNAL_SERVER_ERROR": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INTERNAL_SERVER_ERROR" + } + } + } + }, + "com.amazonaws.bcmpricingcalculator#BatchUpdateBillScenarioUsageModificationErrors": { + "type": "list", + "member": { + "target": "com.amazonaws.bcmpricingcalculator#BatchUpdateBillScenarioUsageModificationError" + } + }, + "com.amazonaws.bcmpricingcalculator#BatchUpdateBillScenarioUsageModificationRequest": { + "type": "structure", + "members": { + "billScenarioId": { + "target": "com.amazonaws.bcmpricingcalculator#ResourceId", + "traits": { + "smithy.api#documentation": "\n The ID of the Bill Scenario for which you want to modify the usage lines.\n
", + "smithy.api#required": {} + } + }, + "usageModifications": { + "target": "com.amazonaws.bcmpricingcalculator#BatchUpdateBillScenarioUsageModificationEntries", + "traits": { + "smithy.api#documentation": "\n List of usage lines that you want to update in a Bill Scenario identified by the usage ID.\n
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.bcmpricingcalculator#BatchUpdateBillScenarioUsageModificationResponse": { + "type": "structure", + "members": { + "items": { + "target": "com.amazonaws.bcmpricingcalculator#BillScenarioUsageModificationItems", + "traits": { + "smithy.api#documentation": "\n Returns the list of successful usage line items that were updated for a Bill Scenario.\n
" + } + }, + "errors": { + "target": "com.amazonaws.bcmpricingcalculator#BatchUpdateBillScenarioUsageModificationErrors", + "traits": { + "smithy.api#documentation": "\n Returns the list of error reasons and usage line item IDs that could not be updated for the Bill Scenario.\n
" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.bcmpricingcalculator#BatchUpdateWorkloadEstimateUsage": { + "type": "operation", + "input": { + "target": "com.amazonaws.bcmpricingcalculator#BatchUpdateWorkloadEstimateUsageRequest" + }, + "output": { + "target": "com.amazonaws.bcmpricingcalculator#BatchUpdateWorkloadEstimateUsageResponse" + }, + "errors": [ + { + "target": "com.amazonaws.bcmpricingcalculator#DataUnavailableException" + }, + { + "target": "com.amazonaws.bcmpricingcalculator#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.bcmpricingcalculator#ServiceQuotaExceededException" + } + ], + "traits": { + "aws.iam#iamAction": { + "name": "UpdateWorkloadEstimateUsage", + "documentation": "Grants permission to update usage amount and usage group in the specified workload estimate based on the usage id" + }, + "smithy.api#documentation": "\n Update a newly added or existing usage lines. You can update the usage amounts and usage group based on a usage ID and a Workload estimate ID.\n
", + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.bcmpricingcalculator#BatchUpdateWorkloadEstimateUsageEntries": { + "type": "list", + "member": { + "target": "com.amazonaws.bcmpricingcalculator#BatchUpdateWorkloadEstimateUsageEntry" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 25 + } + } + }, + "com.amazonaws.bcmpricingcalculator#BatchUpdateWorkloadEstimateUsageEntry": { + "type": "structure", + "members": { + "id": { + "target": "com.amazonaws.bcmpricingcalculator#ResourceId", + "traits": { + "smithy.api#documentation": "\n The unique identifier of the usage estimate to update.\n
", + "smithy.api#required": {} + } + }, + "group": { + "target": "com.amazonaws.bcmpricingcalculator#UsageGroup", + "traits": { + "smithy.api#documentation": "\n The updated group identifier for the usage estimate.\n
" + } + }, + "amount": { + "target": "smithy.api#Double", + "traits": { + "smithy.api#documentation": "\n The updated estimated usage amount.\n
" + } + } + }, + "traits": { + "smithy.api#documentation": "\n Represents an entry in a batch operation to update workload estimate usage.\n
" + } + }, + "com.amazonaws.bcmpricingcalculator#BatchUpdateWorkloadEstimateUsageError": { + "type": "structure", + "members": { + "id": { + "target": "com.amazonaws.bcmpricingcalculator#ResourceId", + "traits": { + "smithy.api#documentation": "\n The ID of the error.\n
" + } + }, + "errorMessage": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "\n The message that describes the error.\n
" + } + }, + "errorCode": { + "target": "com.amazonaws.bcmpricingcalculator#WorkloadEstimateUpdateUsageErrorCode", + "traits": { + "smithy.api#documentation": "\n The code associated with the error.\n
" + } + } + }, + "traits": { + "smithy.api#documentation": "\n Represents an error that occurred when updating usage in a workload estimate.\n
" + } + }, + "com.amazonaws.bcmpricingcalculator#BatchUpdateWorkloadEstimateUsageErrors": { + "type": "list", + "member": { + "target": "com.amazonaws.bcmpricingcalculator#BatchUpdateWorkloadEstimateUsageError" + } + }, + "com.amazonaws.bcmpricingcalculator#BatchUpdateWorkloadEstimateUsageRequest": { + "type": "structure", + "members": { + "workloadEstimateId": { + "target": "com.amazonaws.bcmpricingcalculator#ResourceId", + "traits": { + "smithy.api#documentation": "\n The ID of the Workload estimate for which you want to modify the usage lines.\n
", + "smithy.api#required": {} + } + }, + "usage": { + "target": "com.amazonaws.bcmpricingcalculator#BatchUpdateWorkloadEstimateUsageEntries", + "traits": { + "smithy.api#documentation": "\n List of usage line amounts and usage group that you want to update in a Workload estimate identified by the usage ID.\n
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.bcmpricingcalculator#BatchUpdateWorkloadEstimateUsageResponse": { + "type": "structure", + "members": { + "items": { + "target": "com.amazonaws.bcmpricingcalculator#WorkloadEstimateUsageItems", + "traits": { + "smithy.api#documentation": "\n Returns the list of successful usage line items that were updated for a Workload estimate.\n
" + } + }, + "errors": { + "target": "com.amazonaws.bcmpricingcalculator#BatchUpdateWorkloadEstimateUsageErrors", + "traits": { + "smithy.api#documentation": "\n Returns the list of error reasons and usage line item IDs that could not be updated for the Workload estimate.\n
" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.bcmpricingcalculator#BillEstimate": { + "type": "resource", + "identifiers": { + "billEstimateId": { + "target": "com.amazonaws.bcmpricingcalculator#ResourceId" + } + }, + "properties": { + "name": { + "target": "com.amazonaws.bcmpricingcalculator#BillEstimateName" + }, + "costSummary": { + "target": "com.amazonaws.bcmpricingcalculator#BillEstimateCostSummary" + }, + "status": { + "target": "com.amazonaws.bcmpricingcalculator#BillEstimateStatus" + }, + "billInterval": { + "target": "com.amazonaws.bcmpricingcalculator#BillInterval" + }, + "failureMessage": { + "target": "smithy.api#String" + }, + "createdAt": { + "target": "smithy.api#Timestamp" + }, + "expiresAt": { + "target": "smithy.api#Timestamp" + } + }, + "create": { + "target": "com.amazonaws.bcmpricingcalculator#CreateBillEstimate" + }, + "read": { + "target": "com.amazonaws.bcmpricingcalculator#GetBillEstimate" + }, + "update": { + "target": "com.amazonaws.bcmpricingcalculator#UpdateBillEstimate" + }, + "delete": { + "target": "com.amazonaws.bcmpricingcalculator#DeleteBillEstimate" + }, + "list": { + "target": "com.amazonaws.bcmpricingcalculator#ListBillEstimates" + }, + "resources": [ + { + "target": "com.amazonaws.bcmpricingcalculator#BillEstimateCommitment" + }, + { + "target": "com.amazonaws.bcmpricingcalculator#BillEstimateInputCommitmentModification" + }, + { + "target": "com.amazonaws.bcmpricingcalculator#BillEstimateInputUsageModification" + }, + { + "target": "com.amazonaws.bcmpricingcalculator#BillEstimateLineItem" + } + ], + "traits": { + "aws.api#arn": { + "template": "bill-estimate/{billEstimateId}" + }, + "aws.api#taggable": {}, + "aws.iam#iamResource": { + "name": "bill-estimate" + }, + "smithy.api#documentation": "Represents a bill estimate that is created from a bill scenario" + } + }, + "com.amazonaws.bcmpricingcalculator#BillEstimateCommitment": { + "type": "resource", + "identifiers": { + "billEstimateId": { + "target": "com.amazonaws.bcmpricingcalculator#ResourceId" + }, + "resultCommitmentId": { + "target": "com.amazonaws.bcmpricingcalculator#ResourceId" + }, + "id": { + "target": "com.amazonaws.bcmpricingcalculator#ResourceId" + } + }, + "list": { + "target": "com.amazonaws.bcmpricingcalculator#ListBillEstimateCommitments" + }, + "traits": { + "aws.iam#disableConditionKeyInference": {} + } + }, + "com.amazonaws.bcmpricingcalculator#BillEstimateCommitmentSummaries": { + "type": "list", + "member": { + "target": "com.amazonaws.bcmpricingcalculator#BillEstimateCommitmentSummary" + } + }, + "com.amazonaws.bcmpricingcalculator#BillEstimateCommitmentSummary": { + "type": "structure", + "members": { + "id": { + "target": "com.amazonaws.bcmpricingcalculator#ResourceId", + "traits": { + "smithy.api#documentation": "\n The unique identifier of the commitment.\n
" + } + }, + "purchaseAgreementType": { + "target": "com.amazonaws.bcmpricingcalculator#PurchaseAgreementType", + "traits": { + "smithy.api#documentation": "\n The type of purchase agreement (e.g., Reserved Instance, Savings Plan).\n
" + } + }, + "offeringId": { + "target": "com.amazonaws.bcmpricingcalculator#Uuid", + "traits": { + "smithy.api#documentation": "\n The identifier of the specific offering associated with this commitment.\n
" + } + }, + "usageAccountId": { + "target": "com.amazonaws.bcmpricingcalculator#AccountId", + "traits": { + "smithy.api#documentation": "\n The Amazon Web Services account ID associated with this commitment.\n
" + } + }, + "region": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "\n The Amazon Web Services region associated with this commitment.\n
" + } + }, + "termLength": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "\n The length of the commitment term.\n
" + } + }, + "paymentOption": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "\n The payment option chosen for this commitment (e.g., All Upfront, Partial Upfront, No Upfront).\n
" + } + }, + "upfrontPayment": { + "target": "com.amazonaws.bcmpricingcalculator#CostAmount", + "traits": { + "smithy.api#documentation": "\n The upfront payment amount for this commitment, if applicable.\n
" + } + }, + "monthlyPayment": { + "target": "com.amazonaws.bcmpricingcalculator#CostAmount", + "traits": { + "smithy.api#documentation": "\n The monthly payment amount for this commitment, if applicable.\n
" + } + } + }, + "traits": { + "smithy.api#documentation": "\n Provides a summary of commitment-related information for a bill estimate.\n
" + } + }, + "com.amazonaws.bcmpricingcalculator#BillEstimateCostSummary": { + "type": "structure", + "members": { + "totalCostDifference": { + "target": "com.amazonaws.bcmpricingcalculator#CostDifference", + "traits": { + "smithy.api#documentation": "\n The total difference in cost between the estimated and historical costs.\n
" + } + }, + "serviceCostDifferences": { + "target": "com.amazonaws.bcmpricingcalculator#ServiceCostDifferenceMap", + "traits": { + "smithy.api#documentation": "\n A breakdown of cost differences by Amazon Web Services service.\n
" + } + } + }, + "traits": { + "smithy.api#documentation": "\n Provides a summary of cost-related information for a bill estimate.\n
" + } + }, + "com.amazonaws.bcmpricingcalculator#BillEstimateInputCommitmentModification": { + "type": "resource", + "identifiers": { + "billEstimateId": { + "target": "com.amazonaws.bcmpricingcalculator#ResourceId" + }, + "id": { + "target": "com.amazonaws.bcmpricingcalculator#ResourceId" + } + }, + "list": { + "target": "com.amazonaws.bcmpricingcalculator#ListBillEstimateInputCommitmentModifications" + }, + "traits": { + "aws.iam#disableConditionKeyInference": {} + } + }, + "com.amazonaws.bcmpricingcalculator#BillEstimateInputCommitmentModificationSummaries": { + "type": "list", + "member": { + "target": "com.amazonaws.bcmpricingcalculator#BillEstimateInputCommitmentModificationSummary" + } + }, + "com.amazonaws.bcmpricingcalculator#BillEstimateInputCommitmentModificationSummary": { + "type": "structure", + "members": { + "id": { + "target": "com.amazonaws.bcmpricingcalculator#ResourceId", + "traits": { + "smithy.api#documentation": "\n The unique identifier of the commitment modification.\n
" + } + }, + "group": { + "target": "com.amazonaws.bcmpricingcalculator#UsageGroup", + "traits": { + "smithy.api#documentation": "\n The group identifier for the commitment modification.\n
" + } + }, + "usageAccountId": { + "target": "com.amazonaws.bcmpricingcalculator#AccountId", + "traits": { + "smithy.api#documentation": "\n The Amazon Web Services account ID associated with this commitment modification.\n
" + } + }, + "commitmentAction": { + "target": "com.amazonaws.bcmpricingcalculator#BillScenarioCommitmentModificationAction", + "traits": { + "smithy.api#documentation": "\n The specific commitment action taken in this modification.\n
" + } + } + }, + "traits": { + "smithy.api#documentation": "\n Summarizes an input commitment modification for a bill estimate.\n
" + } + }, + "com.amazonaws.bcmpricingcalculator#BillEstimateInputUsageModification": { + "type": "resource", + "identifiers": { + "billEstimateId": { + "target": "com.amazonaws.bcmpricingcalculator#ResourceId" + }, + "id": { + "target": "com.amazonaws.bcmpricingcalculator#ResourceId" + } + }, + "list": { + "target": "com.amazonaws.bcmpricingcalculator#ListBillEstimateInputUsageModifications" + }, + "traits": { + "aws.iam#disableConditionKeyInference": {} + } + }, + "com.amazonaws.bcmpricingcalculator#BillEstimateInputUsageModificationSummaries": { + "type": "list", + "member": { + "target": "com.amazonaws.bcmpricingcalculator#BillEstimateInputUsageModificationSummary" + } + }, + "com.amazonaws.bcmpricingcalculator#BillEstimateInputUsageModificationSummary": { + "type": "structure", + "members": { + "serviceCode": { + "target": "com.amazonaws.bcmpricingcalculator#ServiceCode", + "traits": { + "smithy.api#documentation": "\n The Amazon Web Services service code for this usage modification.\n
", + "smithy.api#required": {} + } + }, + "usageType": { + "target": "com.amazonaws.bcmpricingcalculator#UsageType", + "traits": { + "smithy.api#documentation": "\n The type of usage being modified.\n
", + "smithy.api#required": {} + } + }, + "operation": { + "target": "com.amazonaws.bcmpricingcalculator#Operation", + "traits": { + "smithy.api#documentation": "\n The specific operation associated with this usage modification.\n
", + "smithy.api#required": {} + } + }, + "location": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "\n The location associated with this usage modification.\n
" + } + }, + "availabilityZone": { + "target": "com.amazonaws.bcmpricingcalculator#AvailabilityZone", + "traits": { + "smithy.api#documentation": "\n The availability zone associated with this usage modification, if applicable.\n
" + } + }, + "id": { + "target": "com.amazonaws.bcmpricingcalculator#ResourceId", + "traits": { + "smithy.api#documentation": "\n The unique identifier of the usage modification.\n
" + } + }, + "group": { + "target": "com.amazonaws.bcmpricingcalculator#UsageGroup", + "traits": { + "smithy.api#documentation": "\n The group identifier for the usage modification.\n
" + } + }, + "usageAccountId": { + "target": "com.amazonaws.bcmpricingcalculator#AccountId", + "traits": { + "smithy.api#documentation": "\n The Amazon Web Services account ID associated with this usage modification.\n
" + } + }, + "quantities": { + "target": "com.amazonaws.bcmpricingcalculator#UsageQuantities", + "traits": { + "smithy.api#documentation": "\n The modified usage quantities.\n
" + } + }, + "historicalUsage": { + "target": "com.amazonaws.bcmpricingcalculator#HistoricalUsageEntity", + "traits": { + "smithy.api#documentation": "\n Historical usage data associated with this modification, if available.\n
" + } + } + }, + "traits": { + "smithy.api#documentation": "\n Summarizes an input usage modification for a bill estimate.\n
" + } + }, + "com.amazonaws.bcmpricingcalculator#BillEstimateLineItem": { + "type": "resource", + "identifiers": { + "billEstimateId": { + "target": "com.amazonaws.bcmpricingcalculator#ResourceId" + }, + "id": { + "target": "com.amazonaws.bcmpricingcalculator#ResourceId" + } + }, + "list": { + "target": "com.amazonaws.bcmpricingcalculator#ListBillEstimateLineItems" + }, + "traits": { + "aws.iam#disableConditionKeyInference": {} + } + }, + "com.amazonaws.bcmpricingcalculator#BillEstimateLineItemSummaries": { + "type": "list", + "member": { + "target": "com.amazonaws.bcmpricingcalculator#BillEstimateLineItemSummary" + } + }, + "com.amazonaws.bcmpricingcalculator#BillEstimateLineItemSummary": { + "type": "structure", + "members": { + "serviceCode": { + "target": "com.amazonaws.bcmpricingcalculator#ServiceCode", + "traits": { + "smithy.api#documentation": "\n The Amazon Web Services service code associated with this line item.\n
", + "smithy.api#required": {} + } + }, + "usageType": { + "target": "com.amazonaws.bcmpricingcalculator#UsageType", + "traits": { + "smithy.api#documentation": "\n The type of usage for this line item.\n
", + "smithy.api#required": {} + } + }, + "operation": { + "target": "com.amazonaws.bcmpricingcalculator#Operation", + "traits": { + "smithy.api#documentation": "\n The specific operation associated with this line item.\n
", + "smithy.api#required": {} + } + }, + "location": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "\n The location associated with this line item.\n
" + } + }, + "availabilityZone": { + "target": "com.amazonaws.bcmpricingcalculator#AvailabilityZone", + "traits": { + "smithy.api#documentation": "\n The availability zone associated with this line item, if applicable.\n
" + } + }, + "id": { + "target": "com.amazonaws.bcmpricingcalculator#ResourceId", + "traits": { + "smithy.api#documentation": "\n The unique identifier of this line item.\n
" + } + }, + "lineItemId": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "\n The line item identifier from the original bill.\n
" + } + }, + "lineItemType": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "\n The type of this line item (e.g., Usage, Tax, Credit).\n
" + } + }, + "payerAccountId": { + "target": "com.amazonaws.bcmpricingcalculator#AccountId", + "traits": { + "smithy.api#documentation": "\n The Amazon Web Services account ID of the payer for this line item.\n
" + } + }, + "usageAccountId": { + "target": "com.amazonaws.bcmpricingcalculator#AccountId", + "traits": { + "smithy.api#documentation": "\n The Amazon Web Services account ID associated with the usage for this line item.\n
" + } + }, + "estimatedUsageQuantity": { + "target": "com.amazonaws.bcmpricingcalculator#UsageQuantityResult", + "traits": { + "smithy.api#documentation": "\n The estimated usage quantity for this line item.\n
" + } + }, + "estimatedCost": { + "target": "com.amazonaws.bcmpricingcalculator#CostAmount", + "traits": { + "smithy.api#documentation": "\n The estimated cost for this line item.\n
" + } + }, + "historicalUsageQuantity": { + "target": "com.amazonaws.bcmpricingcalculator#UsageQuantityResult", + "traits": { + "smithy.api#documentation": "\n The historical usage quantity for this line item.\n
" + } + }, + "historicalCost": { + "target": "com.amazonaws.bcmpricingcalculator#CostAmount", + "traits": { + "smithy.api#documentation": "\n The historical cost for this line item.\n
" + } + }, + "savingsPlanArns": { + "target": "com.amazonaws.bcmpricingcalculator#SavingsPlanArns", + "traits": { + "smithy.api#documentation": "\n The Amazon Resource Names (ARNs) of any Savings Plans applied to this line item.\n
" + } + } + }, + "traits": { + "smithy.api#documentation": "\n Provides a summary of a line item in a bill estimate.\n
" + } + }, + "com.amazonaws.bcmpricingcalculator#BillEstimateName": { + "type": "string", + "traits": { + "smithy.api#length": { + "max": 64 + }, + "smithy.api#pattern": "^[a-zA-Z0-9-]+$" + } + }, + "com.amazonaws.bcmpricingcalculator#BillEstimateStatus": { + "type": "enum", + "members": { + "IN_PROGRESS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "IN_PROGRESS" + } + }, + "COMPLETE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "COMPLETE" + } + }, + "FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FAILED" + } + } + } + }, + "com.amazonaws.bcmpricingcalculator#BillEstimateSummaries": { + "type": "list", + "member": { + "target": "com.amazonaws.bcmpricingcalculator#BillEstimateSummary" + } + }, + "com.amazonaws.bcmpricingcalculator#BillEstimateSummary": { + "type": "structure", + "members": { + "id": { + "target": "com.amazonaws.bcmpricingcalculator#ResourceId", + "traits": { + "smithy.api#documentation": "\n The unique identifier of the bill estimate.\n
", + "smithy.api#required": {}, + "smithy.api#resourceIdentifier": "billEstimateId" + } + }, + "name": { + "target": "com.amazonaws.bcmpricingcalculator#BillEstimateName", + "traits": { + "smithy.api#documentation": "\n The name of the bill estimate.\n
" + } + }, + "status": { + "target": "com.amazonaws.bcmpricingcalculator#BillEstimateStatus", + "traits": { + "smithy.api#documentation": "\n The current status of the bill estimate.\n
" + } + }, + "billInterval": { + "target": "com.amazonaws.bcmpricingcalculator#BillInterval", + "traits": { + "smithy.api#documentation": "\n The time period covered by the bill estimate.\n
" + } + }, + "createdAt": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "\n The timestamp when the bill estimate was created.\n
" + } + }, + "expiresAt": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "\n The timestamp when the bill estimate will expire.\n
" + } + } + }, + "traits": { + "smithy.api#documentation": "\n Provides a summary of a bill estimate.\n
" + } + }, + "com.amazonaws.bcmpricingcalculator#BillInterval": { + "type": "structure", + "members": { + "start": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "\n The start date and time of the interval.\n
" + } + }, + "end": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "\n The end date and time of the interval.\n
" + } + } + }, + "traits": { + "smithy.api#documentation": "\n Represents a time interval for a bill or estimate.\n
" + } + }, + "com.amazonaws.bcmpricingcalculator#BillScenario": { + "type": "resource", + "identifiers": { + "billScenarioId": { + "target": "com.amazonaws.bcmpricingcalculator#ResourceId" + } + }, + "properties": { + "name": { + "target": "com.amazonaws.bcmpricingcalculator#BillScenarioName" + }, + "billInterval": { + "target": "com.amazonaws.bcmpricingcalculator#BillInterval" + }, + "status": { + "target": "com.amazonaws.bcmpricingcalculator#BillScenarioStatus" + }, + "createdAt": { + "target": "smithy.api#Timestamp" + }, + "expiresAt": { + "target": "smithy.api#Timestamp" + }, + "failureMessage": { + "target": "smithy.api#String" + } + }, + "create": { + "target": "com.amazonaws.bcmpricingcalculator#CreateBillScenario" + }, + "read": { + "target": "com.amazonaws.bcmpricingcalculator#GetBillScenario" + }, + "update": { + "target": "com.amazonaws.bcmpricingcalculator#UpdateBillScenario" + }, + "delete": { + "target": "com.amazonaws.bcmpricingcalculator#DeleteBillScenario" + }, + "list": { + "target": "com.amazonaws.bcmpricingcalculator#ListBillScenarios" + }, + "resources": [ + { + "target": "com.amazonaws.bcmpricingcalculator#BillScenarioCommitmentModification" + }, + { + "target": "com.amazonaws.bcmpricingcalculator#BillScenarioUsageModification" + } + ], + "traits": { + "aws.api#arn": { + "template": "bill-scenario/{billScenarioId}" + }, + "aws.api#taggable": {}, + "aws.iam#iamResource": { + "name": "bill-scenario" + }, + "smithy.api#documentation": "Represents a bill scenario that allows usage and commitment modeling" + } + }, + "com.amazonaws.bcmpricingcalculator#BillScenarioCommitmentModification": { + "type": "resource", + "identifiers": { + "billScenarioId": { + "target": "com.amazonaws.bcmpricingcalculator#ResourceId" + }, + "id": { + "target": "com.amazonaws.bcmpricingcalculator#ResourceId" + } + }, + "list": { + "target": "com.amazonaws.bcmpricingcalculator#ListBillScenarioCommitmentModifications" + }, + "collectionOperations": [ + { + "target": "com.amazonaws.bcmpricingcalculator#BatchCreateBillScenarioCommitmentModification" + }, + { + "target": "com.amazonaws.bcmpricingcalculator#BatchDeleteBillScenarioCommitmentModification" + }, + { + "target": "com.amazonaws.bcmpricingcalculator#BatchUpdateBillScenarioCommitmentModification" + } + ], + "traits": { + "aws.iam#disableConditionKeyInference": {} + } + }, + "com.amazonaws.bcmpricingcalculator#BillScenarioCommitmentModificationAction": { + "type": "union", + "members": { + "addReservedInstanceAction": { + "target": "com.amazonaws.bcmpricingcalculator#AddReservedInstanceAction", + "traits": { + "smithy.api#documentation": "\n Action to add a Reserved Instance to the scenario.\n
" + } + }, + "addSavingsPlanAction": { + "target": "com.amazonaws.bcmpricingcalculator#AddSavingsPlanAction", + "traits": { + "smithy.api#documentation": "\n Action to add a Savings Plan to the scenario.\n
" + } + }, + "negateReservedInstanceAction": { + "target": "com.amazonaws.bcmpricingcalculator#NegateReservedInstanceAction", + "traits": { + "smithy.api#documentation": "\n Action to remove a Reserved Instance from the scenario.\n
" + } + }, + "negateSavingsPlanAction": { + "target": "com.amazonaws.bcmpricingcalculator#NegateSavingsPlanAction", + "traits": { + "smithy.api#documentation": "\n Action to remove a Savings Plan from the scenario.\n
" + } + } + }, + "traits": { + "smithy.api#documentation": "\n Represents an action to modify commitments in a bill scenario.\n
" + } + }, + "com.amazonaws.bcmpricingcalculator#BillScenarioCommitmentModificationItem": { + "type": "structure", + "members": { + "id": { + "target": "com.amazonaws.bcmpricingcalculator#ResourceId", + "traits": { + "smithy.api#documentation": "\n The unique identifier of the commitment modification.\n
" + } + }, + "usageAccountId": { + "target": "com.amazonaws.bcmpricingcalculator#AccountId", + "traits": { + "smithy.api#documentation": "\n The Amazon Web Services account ID associated with this commitment modification.\n
" + } + }, + "group": { + "target": "com.amazonaws.bcmpricingcalculator#UsageGroup", + "traits": { + "smithy.api#documentation": "\n The group identifier for the commitment modification.\n
" + } + }, + "commitmentAction": { + "target": "com.amazonaws.bcmpricingcalculator#BillScenarioCommitmentModificationAction", + "traits": { + "smithy.api#documentation": "\n The specific commitment action taken in this modification.\n
" + } + } + }, + "traits": { + "smithy.api#documentation": "\n Represents a commitment modification item in a bill scenario.\n
" + } + }, + "com.amazonaws.bcmpricingcalculator#BillScenarioCommitmentModificationItems": { + "type": "list", + "member": { + "target": "com.amazonaws.bcmpricingcalculator#BillScenarioCommitmentModificationItem" + } + }, + "com.amazonaws.bcmpricingcalculator#BillScenarioName": { + "type": "string", + "traits": { + "smithy.api#length": { + "max": 64 + }, + "smithy.api#pattern": "^[a-zA-Z0-9-]+$" + } + }, + "com.amazonaws.bcmpricingcalculator#BillScenarioStatus": { + "type": "enum", + "members": { + "READY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "READY" + } + }, + "LOCKED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "LOCKED" + } + }, + "FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FAILED" + } + } + } + }, + "com.amazonaws.bcmpricingcalculator#BillScenarioSummaries": { + "type": "list", + "member": { + "target": "com.amazonaws.bcmpricingcalculator#BillScenarioSummary" + } + }, + "com.amazonaws.bcmpricingcalculator#BillScenarioSummary": { + "type": "structure", + "members": { + "id": { + "target": "com.amazonaws.bcmpricingcalculator#ResourceId", + "traits": { + "smithy.api#documentation": "\n The unique identifier of the bill scenario.\n
", + "smithy.api#required": {}, + "smithy.api#resourceIdentifier": "billScenarioId" + } + }, + "name": { + "target": "com.amazonaws.bcmpricingcalculator#BillScenarioName", + "traits": { + "smithy.api#documentation": "\n The name of the bill scenario.\n
" + } + }, + "billInterval": { + "target": "com.amazonaws.bcmpricingcalculator#BillInterval", + "traits": { + "smithy.api#documentation": "\n The time period covered by the bill scenario.\n
" + } + }, + "status": { + "target": "com.amazonaws.bcmpricingcalculator#BillScenarioStatus", + "traits": { + "smithy.api#documentation": "\n The current status of the bill scenario.\n
" + } + }, + "createdAt": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "\n The timestamp when the bill scenario was created.\n
" + } + }, + "expiresAt": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "\n The timestamp when the bill scenario will expire.\n
" + } + }, + "failureMessage": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "\n An error message if the bill scenario creation or processing failed.\n
" + } + } + }, + "traits": { + "smithy.api#documentation": "\n Provides a summary of a bill scenario.\n
" + } + }, + "com.amazonaws.bcmpricingcalculator#BillScenarioUsageModification": { + "type": "resource", + "identifiers": { + "billScenarioId": { + "target": "com.amazonaws.bcmpricingcalculator#ResourceId" + }, + "id": { + "target": "com.amazonaws.bcmpricingcalculator#ResourceId" + } + }, + "list": { + "target": "com.amazonaws.bcmpricingcalculator#ListBillScenarioUsageModifications" + }, + "collectionOperations": [ + { + "target": "com.amazonaws.bcmpricingcalculator#BatchCreateBillScenarioUsageModification" + }, + { + "target": "com.amazonaws.bcmpricingcalculator#BatchDeleteBillScenarioUsageModification" + }, + { + "target": "com.amazonaws.bcmpricingcalculator#BatchUpdateBillScenarioUsageModification" + } + ], + "traits": { + "aws.iam#disableConditionKeyInference": {} + } + }, + "com.amazonaws.bcmpricingcalculator#BillScenarioUsageModificationItem": { + "type": "structure", + "members": { + "serviceCode": { + "target": "com.amazonaws.bcmpricingcalculator#ServiceCode", + "traits": { + "smithy.api#documentation": "\n The Amazon Web Services service code for this usage modification.\n
", + "smithy.api#required": {} + } + }, + "usageType": { + "target": "com.amazonaws.bcmpricingcalculator#UsageType", + "traits": { + "smithy.api#documentation": "\n The type of usage being modified.\n
", + "smithy.api#required": {} + } + }, + "operation": { + "target": "com.amazonaws.bcmpricingcalculator#Operation", + "traits": { + "smithy.api#documentation": "\n The specific operation associated with this usage modification.\n
", + "smithy.api#required": {} + } + }, + "location": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "\n The location associated with this usage modification.\n
" + } + }, + "availabilityZone": { + "target": "com.amazonaws.bcmpricingcalculator#AvailabilityZone", + "traits": { + "smithy.api#documentation": "\n The availability zone associated with this usage modification, if applicable.\n
" + } + }, + "id": { + "target": "com.amazonaws.bcmpricingcalculator#ResourceId", + "traits": { + "smithy.api#documentation": "\n The unique identifier of the usage modification.\n
" + } + }, + "group": { + "target": "com.amazonaws.bcmpricingcalculator#UsageGroup", + "traits": { + "smithy.api#documentation": "\n The group identifier for the usage modification.\n
" + } + }, + "usageAccountId": { + "target": "com.amazonaws.bcmpricingcalculator#AccountId", + "traits": { + "smithy.api#documentation": "\n The Amazon Web Services account ID associated with this usage modification.\n
" + } + }, + "quantities": { + "target": "com.amazonaws.bcmpricingcalculator#UsageQuantities", + "traits": { + "smithy.api#documentation": "\n The modified usage quantities.\n
" + } + }, + "historicalUsage": { + "target": "com.amazonaws.bcmpricingcalculator#HistoricalUsageEntity", + "traits": { + "smithy.api#documentation": "\n Historical usage data associated with this modification, if available.\n
" + } + } + }, + "traits": { + "smithy.api#documentation": "\n Represents a usage modification item in a bill scenario.\n
" + } + }, + "com.amazonaws.bcmpricingcalculator#BillScenarioUsageModificationItems": { + "type": "list", + "member": { + "target": "com.amazonaws.bcmpricingcalculator#BillScenarioUsageModificationItem" + } + }, + "com.amazonaws.bcmpricingcalculator#ClientToken": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 64 + }, + "smithy.api#pattern": "^[\\u0021-\\u007E]+$" + } + }, + "com.amazonaws.bcmpricingcalculator#ConflictException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#required": {} + } + }, + "resourceId": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "\n The identifier of the resource that was not found.\n
", + "smithy.api#required": {} + } + }, + "resourceType": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "\n The type of the resource that was not found.\n
", + "smithy.api#required": {} + } + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "ConflictCode", + "httpResponseCode": 409 + }, + "smithy.api#documentation": "\n The request could not be processed because of conflict in the current state of the resource.\n
", + "smithy.api#error": "client", + "smithy.api#httpError": 409 + } + }, + "com.amazonaws.bcmpricingcalculator#CostAmount": { + "type": "structure", + "members": { + "amount": { + "target": "smithy.api#Double", + "traits": { + "smithy.api#documentation": "\n The numeric value of the cost.\n
" + } + }, + "currency": { + "target": "com.amazonaws.bcmpricingcalculator#CurrencyCode", + "traits": { + "smithy.api#documentation": "\n The currency code for the cost amount.\n
" + } + } + }, + "traits": { + "smithy.api#documentation": "\n Represents a monetary amount with associated currency.\n
" + } + }, + "com.amazonaws.bcmpricingcalculator#CostDifference": { + "type": "structure", + "members": { + "historicalCost": { + "target": "com.amazonaws.bcmpricingcalculator#CostAmount", + "traits": { + "smithy.api#documentation": "\n The historical cost amount.\n
" + } + }, + "estimatedCost": { + "target": "com.amazonaws.bcmpricingcalculator#CostAmount", + "traits": { + "smithy.api#documentation": "\n The estimated cost amount.\n
" + } + } + }, + "traits": { + "smithy.api#documentation": "\n Represents the difference between historical and estimated costs.\n
" + } + }, + "com.amazonaws.bcmpricingcalculator#CreateBillEstimate": { + "type": "operation", + "input": { + "target": "com.amazonaws.bcmpricingcalculator#CreateBillEstimateRequest" + }, + "output": { + "target": "com.amazonaws.bcmpricingcalculator#CreateBillEstimateResponse" + }, + "errors": [ + { + "target": "com.amazonaws.bcmpricingcalculator#ConflictException" + }, + { + "target": "com.amazonaws.bcmpricingcalculator#DataUnavailableException" + }, + { + "target": "com.amazonaws.bcmpricingcalculator#ResourceNotFoundException" + } + ], + "traits": { + "aws.iam#iamAction": { + "documentation": "Grants permission to create a new bill estimate. Charge is incurred for successful bill estimates" + }, + "smithy.api#documentation": "\n Create a Bill estimate from a Bill scenario. In the Bill scenario you can model usage addition, usage changes, and usage removal. You can also model commitment addition and commitment removal. After all changes in a Bill scenario is made satisfactorily, you can call this API with a Bill scenario ID to generate the Bill estimate. Bill estimate calculates the pre-tax cost for your consolidated billing family, incorporating all modeled usage and commitments alongside existing usage and commitments from your most recent completed anniversary bill, with any applicable discounts applied.\n
", + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.bcmpricingcalculator#CreateBillEstimateRequest": { + "type": "structure", + "members": { + "billScenarioId": { + "target": "com.amazonaws.bcmpricingcalculator#ResourceId", + "traits": { + "smithy.api#documentation": "\n The ID of the Bill Scenario for which you want to create a Bill estimate.\n
", + "smithy.api#notProperty": {}, + "smithy.api#required": {} + } + }, + "name": { + "target": "com.amazonaws.bcmpricingcalculator#BillEstimateName", + "traits": { + "smithy.api#documentation": "\n The name of the Bill estimate that will be created. Names must be unique for an account.\n
", + "smithy.api#required": {} + } + }, + "clientToken": { + "target": "com.amazonaws.bcmpricingcalculator#ClientToken", + "traits": { + "smithy.api#documentation": "\n A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.\n
", + "smithy.api#httpHeader": "X-Amzn-Client-Token", + "smithy.api#idempotencyToken": {}, + "smithy.api#notProperty": {} + } + }, + "tags": { + "target": "com.amazonaws.bcmpricingcalculator#Tags", + "traits": { + "smithy.api#documentation": "\n An optional list of tags to associate with the specified BillEstimate. You can use resource tags to control access to your \n BillEstimate using IAM policies. Each tag consists of a key and a value, and each key must be unique for the resource. The following restrictions apply to resource tags:\n
\nAlthough the maximum number of array members is 200, you can assign a maximum of 50 user-tags to one resource. \n The remaining are reserved for Amazon Web Services.
\nThe maximum length of a key is 128 characters.
\nThe maximum length of a value is 256 characters.
\nKeys and values can only contain alphanumeric characters, spaces, and any of the following: _.:/=+@-
.
Keys and values are case sensitive.
\nKeys and values are trimmed for any leading or trailing whitespaces.
\nDon't use aws:
as a prefix for your keys. This prefix is reserved for Amazon Web Services.
The unique identifier of your newly created Bill estimate.
", + "smithy.api#required": {}, + "smithy.api#resourceIdentifier": "billEstimateId" + } + }, + "name": { + "target": "com.amazonaws.bcmpricingcalculator#BillEstimateName", + "traits": { + "smithy.api#documentation": "The name of your newly created Bill estimate.
" + } + }, + "status": { + "target": "com.amazonaws.bcmpricingcalculator#BillEstimateStatus", + "traits": { + "smithy.api#documentation": "The status of your newly created Bill estimate. Bill estimate creation can take anywhere between 8 to 12 hours. \n The status will allow you to identify when the Bill estimate is complete or has failed.
" + } + }, + "failureMessage": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "This attribute provides the reason if a Bill estimate result generation fails.
" + } + }, + "billInterval": { + "target": "com.amazonaws.bcmpricingcalculator#BillInterval", + "traits": { + "smithy.api#documentation": "The bill month start and end \n timestamp that was used to create the Bill estimate. This is set to the last complete anniversary bill month start and end timestamp.
" + } + }, + "costSummary": { + "target": "com.amazonaws.bcmpricingcalculator#BillEstimateCostSummary", + "traits": { + "smithy.api#documentation": "Returns summary-level cost information once a Bill estimate is \n successfully generated. This summary includes: 1) the total cost difference, showing the pre-tax cost change for the consolidated \n billing family between the completed anniversary bill and the estimated bill, and 2) total cost differences per service, detailing \n the pre-tax cost of each service, comparing the completed anniversary bill to the estimated bill on a per-service basis.
" + } + }, + "createdAt": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "The timestamp of when the Bill estimate create process \n was started (not when it successfully completed or failed).
" + } + }, + "expiresAt": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "The timestamp of when the Bill estimate will \n expire. A Bill estimate becomes inaccessible after expiration.
" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.bcmpricingcalculator#CreateBillScenario": { + "type": "operation", + "input": { + "target": "com.amazonaws.bcmpricingcalculator#CreateBillScenarioRequest" + }, + "output": { + "target": "com.amazonaws.bcmpricingcalculator#CreateBillScenarioResponse" + }, + "errors": [ + { + "target": "com.amazonaws.bcmpricingcalculator#ConflictException" + }, + { + "target": "com.amazonaws.bcmpricingcalculator#DataUnavailableException" + }, + { + "target": "com.amazonaws.bcmpricingcalculator#ServiceQuotaExceededException" + } + ], + "traits": { + "aws.iam#iamAction": { + "documentation": "Grants permission to create a new bill scenario" + }, + "smithy.api#documentation": "\n Creates a new bill scenario to model potential changes to Amazon Web Services usage and costs.\n
", + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.bcmpricingcalculator#CreateBillScenarioRequest": { + "type": "structure", + "members": { + "name": { + "target": "com.amazonaws.bcmpricingcalculator#BillScenarioName", + "traits": { + "smithy.api#documentation": "\n A descriptive name for the bill scenario.\n
", + "smithy.api#required": {} + } + }, + "clientToken": { + "target": "com.amazonaws.bcmpricingcalculator#ClientToken", + "traits": { + "smithy.api#documentation": "\n A unique, case-sensitive identifier to ensure idempotency of the request.\n
", + "smithy.api#httpHeader": "X-Amzn-Client-Token", + "smithy.api#idempotencyToken": {}, + "smithy.api#notProperty": {} + } + }, + "tags": { + "target": "com.amazonaws.bcmpricingcalculator#Tags", + "traits": { + "smithy.api#documentation": "\n The tags to apply to the bill scenario.\n
", + "smithy.api#notProperty": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.bcmpricingcalculator#CreateBillScenarioResponse": { + "type": "structure", + "members": { + "id": { + "target": "com.amazonaws.bcmpricingcalculator#ResourceId", + "traits": { + "smithy.api#documentation": "\n The unique identifier for the created bill scenario.\n
", + "smithy.api#required": {}, + "smithy.api#resourceIdentifier": "billScenarioId" + } + }, + "name": { + "target": "com.amazonaws.bcmpricingcalculator#BillScenarioName", + "traits": { + "smithy.api#documentation": "\n The name of the created bill scenario.\n
" + } + }, + "billInterval": { + "target": "com.amazonaws.bcmpricingcalculator#BillInterval", + "traits": { + "smithy.api#documentation": "\n The time period covered by the bill scenario.\n
" + } + }, + "status": { + "target": "com.amazonaws.bcmpricingcalculator#BillScenarioStatus", + "traits": { + "smithy.api#documentation": "\n The current status of the bill scenario.\n
" + } + }, + "createdAt": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "\n The timestamp when the bill scenario was created.\n
" + } + }, + "expiresAt": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "\n The timestamp when the bill scenario will expire.\n
" + } + }, + "failureMessage": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "\n An error message if the bill scenario creation failed.\n
" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.bcmpricingcalculator#CreateWorkloadEstimate": { + "type": "operation", + "input": { + "target": "com.amazonaws.bcmpricingcalculator#CreateWorkloadEstimateRequest" + }, + "output": { + "target": "com.amazonaws.bcmpricingcalculator#CreateWorkloadEstimateResponse" + }, + "errors": [ + { + "target": "com.amazonaws.bcmpricingcalculator#ConflictException" + }, + { + "target": "com.amazonaws.bcmpricingcalculator#DataUnavailableException" + }, + { + "target": "com.amazonaws.bcmpricingcalculator#ServiceQuotaExceededException" + } + ], + "traits": { + "aws.iam#iamAction": { + "documentation": "Grants permission to create a new Workload estimate" + }, + "smithy.api#documentation": "\n Creates a new workload estimate to model costs for a specific workload.\n
", + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.bcmpricingcalculator#CreateWorkloadEstimateRequest": { + "type": "structure", + "members": { + "name": { + "target": "com.amazonaws.bcmpricingcalculator#WorkloadEstimateName", + "traits": { + "smithy.api#documentation": "\n A descriptive name for the workload estimate.\n
", + "smithy.api#required": {} + } + }, + "clientToken": { + "target": "com.amazonaws.bcmpricingcalculator#ClientToken", + "traits": { + "smithy.api#documentation": "\n A unique, case-sensitive identifier to ensure idempotency of the request.\n
", + "smithy.api#httpHeader": "X-Amzn-Client-Token", + "smithy.api#idempotencyToken": {}, + "smithy.api#notProperty": {} + } + }, + "rateType": { + "target": "com.amazonaws.bcmpricingcalculator#WorkloadEstimateRateType", + "traits": { + "smithy.api#documentation": "\n The type of pricing rates to use for the estimate.\n
", + "smithy.api#notProperty": {} + } + }, + "tags": { + "target": "com.amazonaws.bcmpricingcalculator#Tags", + "traits": { + "smithy.api#documentation": "\n The tags to apply to the workload estimate.\n
", + "smithy.api#notProperty": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.bcmpricingcalculator#CreateWorkloadEstimateResponse": { + "type": "structure", + "members": { + "id": { + "target": "com.amazonaws.bcmpricingcalculator#ResourceId", + "traits": { + "smithy.api#documentation": "\n The unique identifier for the created workload estimate.\n
", + "smithy.api#required": {}, + "smithy.api#resourceIdentifier": "workloadEstimateId" + } + }, + "name": { + "target": "com.amazonaws.bcmpricingcalculator#WorkloadEstimateName", + "traits": { + "smithy.api#documentation": "\n The name of the created workload estimate.\n
" + } + }, + "createdAt": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "\n The timestamp when the workload estimate was created.\n
" + } + }, + "expiresAt": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "\n The timestamp when the workload estimate will expire.\n
" + } + }, + "rateType": { + "target": "com.amazonaws.bcmpricingcalculator#WorkloadEstimateRateType", + "traits": { + "smithy.api#documentation": "\n The type of pricing rates used for the estimate.\n
" + } + }, + "rateTimestamp": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "\n The timestamp of the pricing rates used for the estimate.\n
" + } + }, + "status": { + "target": "com.amazonaws.bcmpricingcalculator#WorkloadEstimateStatus", + "traits": { + "smithy.api#documentation": "\n The current status of the workload estimate.\n
" + } + }, + "totalCost": { + "target": "smithy.api#Double", + "traits": { + "smithy.api#documentation": "\n The total estimated cost for the workload.\n
" + } + }, + "costCurrency": { + "target": "com.amazonaws.bcmpricingcalculator#CurrencyCode", + "traits": { + "smithy.api#documentation": "\n The currency of the estimated cost.\n
" + } + }, + "failureMessage": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "\n An error message if the workload estimate creation failed.\n
" + } + } + }, + "traits": { + "smithy.api#documentation": "Mixin for common fields returned by CRUD APIs", + "smithy.api#output": {} + } + }, + "com.amazonaws.bcmpricingcalculator#CurrencyCode": { + "type": "enum", + "members": { + "USD": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "USD" + } + } + } + }, + "com.amazonaws.bcmpricingcalculator#DataUnavailableException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "\n The requested data is currently unavailable.\n
", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.bcmpricingcalculator#DeleteBillEstimate": { + "type": "operation", + "input": { + "target": "com.amazonaws.bcmpricingcalculator#DeleteBillEstimateRequest" + }, + "output": { + "target": "com.amazonaws.bcmpricingcalculator#DeleteBillEstimateResponse" + }, + "errors": [ + { + "target": "com.amazonaws.bcmpricingcalculator#DataUnavailableException" + } + ], + "traits": { + "aws.iam#iamAction": { + "documentation": "Grants permission to delete bill estimate" + }, + "smithy.api#documentation": "\n Deletes an existing bill estimate.\n
", + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.bcmpricingcalculator#DeleteBillEstimateRequest": { + "type": "structure", + "members": { + "identifier": { + "target": "com.amazonaws.bcmpricingcalculator#ResourceId", + "traits": { + "smithy.api#documentation": "\n The unique identifier of the bill estimate to delete.\n
", + "smithy.api#required": {}, + "smithy.api#resourceIdentifier": "billEstimateId" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.bcmpricingcalculator#DeleteBillEstimateResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.bcmpricingcalculator#DeleteBillScenario": { + "type": "operation", + "input": { + "target": "com.amazonaws.bcmpricingcalculator#DeleteBillScenarioRequest" + }, + "output": { + "target": "com.amazonaws.bcmpricingcalculator#DeleteBillScenarioResponse" + }, + "errors": [ + { + "target": "com.amazonaws.bcmpricingcalculator#DataUnavailableException" + } + ], + "traits": { + "aws.iam#iamAction": { + "documentation": "Grants permission to delete a bill scenario" + }, + "smithy.api#documentation": "\n Deletes an existing bill scenario.\n
", + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.bcmpricingcalculator#DeleteBillScenarioRequest": { + "type": "structure", + "members": { + "identifier": { + "target": "com.amazonaws.bcmpricingcalculator#ResourceId", + "traits": { + "smithy.api#documentation": "\n The unique identifier of the bill scenario to delete.\n
", + "smithy.api#required": {}, + "smithy.api#resourceIdentifier": "billScenarioId" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.bcmpricingcalculator#DeleteBillScenarioResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.bcmpricingcalculator#DeleteWorkloadEstimate": { + "type": "operation", + "input": { + "target": "com.amazonaws.bcmpricingcalculator#DeleteWorkloadEstimateRequest" + }, + "output": { + "target": "com.amazonaws.bcmpricingcalculator#DeleteWorkloadEstimateResponse" + }, + "errors": [ + { + "target": "com.amazonaws.bcmpricingcalculator#DataUnavailableException" + } + ], + "traits": { + "aws.iam#iamAction": { + "documentation": "Grants permission to delete the specified workload estimate" + }, + "smithy.api#documentation": "\n Deletes an existing workload estimate.\n
", + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.bcmpricingcalculator#DeleteWorkloadEstimateRequest": { + "type": "structure", + "members": { + "identifier": { + "target": "com.amazonaws.bcmpricingcalculator#ResourceId", + "traits": { + "smithy.api#documentation": "\n The unique identifier of the workload estimate to delete.\n
", + "smithy.api#required": {}, + "smithy.api#resourceIdentifier": "workloadEstimateId" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.bcmpricingcalculator#DeleteWorkloadEstimateResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.bcmpricingcalculator#Expression": { + "type": "structure", + "members": { + "and": { + "target": "com.amazonaws.bcmpricingcalculator#ExpressionList", + "traits": { + "smithy.api#documentation": "\n A list of expressions to be combined with AND logic.\n
" + } + }, + "or": { + "target": "com.amazonaws.bcmpricingcalculator#ExpressionList", + "traits": { + "smithy.api#documentation": "\n A list of expressions to be combined with OR logic.\n
" + } + }, + "not": { + "target": "com.amazonaws.bcmpricingcalculator#Expression", + "traits": { + "smithy.api#documentation": "\n An expression to be negated.\n
" + } + }, + "costCategories": { + "target": "com.amazonaws.bcmpricingcalculator#ExpressionFilter", + "traits": { + "smithy.api#documentation": "\n Filters based on cost categories.\n
" + } + }, + "dimensions": { + "target": "com.amazonaws.bcmpricingcalculator#ExpressionFilter", + "traits": { + "smithy.api#documentation": "\n Filters based on dimensions (e.g., service, operation).\n
" + } + }, + "tags": { + "target": "com.amazonaws.bcmpricingcalculator#ExpressionFilter", + "traits": { + "smithy.api#documentation": "\n Filters based on resource tags.\n
" + } + } + }, + "traits": { + "smithy.api#documentation": "\n Represents a complex filtering expression for cost and usage data.\n
" + } + }, + "com.amazonaws.bcmpricingcalculator#ExpressionFilter": { + "type": "structure", + "members": { + "key": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "\n The key or attribute to filter on.\n
" + } + }, + "matchOptions": { + "target": "com.amazonaws.bcmpricingcalculator#StringList", + "traits": { + "smithy.api#documentation": "\n The match options for the filter (e.g., equals, contains).\n
" + } + }, + "values": { + "target": "com.amazonaws.bcmpricingcalculator#StringList", + "traits": { + "smithy.api#documentation": "\n The values to match against.\n
" + } + } + }, + "traits": { + "smithy.api#documentation": "\n Represents a filter used within an expression.\n
" + } + }, + "com.amazonaws.bcmpricingcalculator#ExpressionList": { + "type": "list", + "member": { + "target": "com.amazonaws.bcmpricingcalculator#Expression" + } + }, + "com.amazonaws.bcmpricingcalculator#FilterTimestamp": { + "type": "structure", + "members": { + "afterTimestamp": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "\n Include results after this timestamp.\n
" + } + }, + "beforeTimestamp": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "\n Include results before this timestamp.\n
" + } + } + }, + "traits": { + "smithy.api#documentation": "\n Represents a time-based filter.\n
" + } + }, + "com.amazonaws.bcmpricingcalculator#GetBillEstimate": { + "type": "operation", + "input": { + "target": "com.amazonaws.bcmpricingcalculator#GetBillEstimateRequest" + }, + "output": { + "target": "com.amazonaws.bcmpricingcalculator#GetBillEstimateResponse" + }, + "errors": [ + { + "target": "com.amazonaws.bcmpricingcalculator#DataUnavailableException" + }, + { + "target": "com.amazonaws.bcmpricingcalculator#ResourceNotFoundException" + } + ], + "traits": { + "aws.iam#iamAction": { + "documentation": "Grants permission to retrieve details of a bill estimate including estimated cost" + }, + "smithy.api#documentation": "\n Retrieves details of a specific bill estimate.\n
", + "smithy.api#readonly": {} + } + }, + "com.amazonaws.bcmpricingcalculator#GetBillEstimateRequest": { + "type": "structure", + "members": { + "identifier": { + "target": "com.amazonaws.bcmpricingcalculator#ResourceId", + "traits": { + "smithy.api#documentation": "\n The unique identifier of the bill estimate to retrieve.\n
", + "smithy.api#required": {}, + "smithy.api#resourceIdentifier": "billEstimateId" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.bcmpricingcalculator#GetBillEstimateResponse": { + "type": "structure", + "members": { + "id": { + "target": "com.amazonaws.bcmpricingcalculator#ResourceId", + "traits": { + "smithy.api#documentation": "\n The unique identifier of the retrieved bill estimate.\n
", + "smithy.api#required": {}, + "smithy.api#resourceIdentifier": "billEstimateId" + } + }, + "name": { + "target": "com.amazonaws.bcmpricingcalculator#BillEstimateName", + "traits": { + "smithy.api#documentation": "\n The name of the retrieved bill estimate.\n
" + } + }, + "status": { + "target": "com.amazonaws.bcmpricingcalculator#BillEstimateStatus", + "traits": { + "smithy.api#documentation": "\n The current status of the bill estimate.\n
" + } + }, + "failureMessage": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "\n An error message if the bill estimate retrieval failed.\n
" + } + }, + "billInterval": { + "target": "com.amazonaws.bcmpricingcalculator#BillInterval", + "traits": { + "smithy.api#documentation": "\n The time period covered by the bill estimate.\n
" + } + }, + "costSummary": { + "target": "com.amazonaws.bcmpricingcalculator#BillEstimateCostSummary", + "traits": { + "smithy.api#documentation": "\n A summary of the estimated costs.\n
" + } + }, + "createdAt": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "\n The timestamp when the bill estimate was created.\n
" + } + }, + "expiresAt": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "\n The timestamp when the bill estimate will expire.\n
" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.bcmpricingcalculator#GetBillScenario": { + "type": "operation", + "input": { + "target": "com.amazonaws.bcmpricingcalculator#GetBillScenarioRequest" + }, + "output": { + "target": "com.amazonaws.bcmpricingcalculator#GetBillScenarioResponse" + }, + "errors": [ + { + "target": "com.amazonaws.bcmpricingcalculator#DataUnavailableException" + }, + { + "target": "com.amazonaws.bcmpricingcalculator#ResourceNotFoundException" + } + ], + "traits": { + "aws.iam#iamAction": { + "documentation": "Grants permission to retrieve information associated with a bill scenario" + }, + "smithy.api#documentation": "\n Retrieves details of a specific bill scenario.\n
", + "smithy.api#readonly": {} + } + }, + "com.amazonaws.bcmpricingcalculator#GetBillScenarioRequest": { + "type": "structure", + "members": { + "identifier": { + "target": "com.amazonaws.bcmpricingcalculator#ResourceId", + "traits": { + "smithy.api#documentation": "\n The unique identifier of the bill scenario to retrieve.\n
", + "smithy.api#required": {}, + "smithy.api#resourceIdentifier": "billScenarioId" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.bcmpricingcalculator#GetBillScenarioResponse": { + "type": "structure", + "members": { + "id": { + "target": "com.amazonaws.bcmpricingcalculator#ResourceId", + "traits": { + "smithy.api#documentation": "\n The unique identifier of the retrieved bill scenario.\n
", + "smithy.api#required": {}, + "smithy.api#resourceIdentifier": "billScenarioId" + } + }, + "name": { + "target": "com.amazonaws.bcmpricingcalculator#BillScenarioName", + "traits": { + "smithy.api#documentation": "\n The name of the retrieved bill scenario.\n
" + } + }, + "billInterval": { + "target": "com.amazonaws.bcmpricingcalculator#BillInterval", + "traits": { + "smithy.api#documentation": "\n The time period covered by the bill scenario.\n
" + } + }, + "status": { + "target": "com.amazonaws.bcmpricingcalculator#BillScenarioStatus", + "traits": { + "smithy.api#documentation": "\n The current status of the bill scenario.\n
" + } + }, + "createdAt": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "\n The timestamp when the bill scenario was created.\n
" + } + }, + "expiresAt": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "\n The timestamp when the bill scenario will expire.\n
" + } + }, + "failureMessage": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "\n An error message if the bill scenario retrieval failed.\n
" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.bcmpricingcalculator#GetPreferences": { + "type": "operation", + "input": { + "target": "com.amazonaws.bcmpricingcalculator#GetPreferencesRequest" + }, + "output": { + "target": "com.amazonaws.bcmpricingcalculator#GetPreferencesResponse" + }, + "errors": [ + { + "target": "com.amazonaws.bcmpricingcalculator#DataUnavailableException" + } + ], + "traits": { + "aws.iam#iamAction": { + "documentation": "Grants permission to retrieve applicable rate type preferences for the account" + }, + "smithy.api#documentation": "\n Retrieves the current preferences for the Amazon Web Services Cost Explorer service.\n
", + "smithy.api#readonly": {} + } + }, + "com.amazonaws.bcmpricingcalculator#GetPreferencesRequest": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.bcmpricingcalculator#GetPreferencesResponse": { + "type": "structure", + "members": { + "managementAccountRateTypeSelections": { + "target": "com.amazonaws.bcmpricingcalculator#RateTypes", + "traits": { + "smithy.api#documentation": "\n The preferred rate types for the management account.\n
" + } + }, + "memberAccountRateTypeSelections": { + "target": "com.amazonaws.bcmpricingcalculator#RateTypes", + "traits": { + "smithy.api#documentation": "\n The preferred rate types for member accounts.\n
" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.bcmpricingcalculator#GetWorkloadEstimate": { + "type": "operation", + "input": { + "target": "com.amazonaws.bcmpricingcalculator#GetWorkloadEstimateRequest" + }, + "output": { + "target": "com.amazonaws.bcmpricingcalculator#GetWorkloadEstimateResponse" + }, + "errors": [ + { + "target": "com.amazonaws.bcmpricingcalculator#DataUnavailableException" + }, + { + "target": "com.amazonaws.bcmpricingcalculator#ResourceNotFoundException" + } + ], + "traits": { + "aws.iam#iamAction": { + "documentation": "Grants permission to retrieve information associated with a workload estimate" + }, + "smithy.api#documentation": "\n Retrieves details of a specific workload estimate.\n
", + "smithy.api#readonly": {}, + "smithy.test#smokeTests": [ + { + "id": "GetWorkloadEstimate", + "params": { + "identifier": "9bb1df8b-5978-4fcb-9c5c-99f5b2670076" + }, + "expect": { + "failure": {} + }, + "vendorParamsShape": "aws.test#AwsVendorParams" + } + ] + } + }, + "com.amazonaws.bcmpricingcalculator#GetWorkloadEstimateRequest": { + "type": "structure", + "members": { + "identifier": { + "target": "com.amazonaws.bcmpricingcalculator#ResourceId", + "traits": { + "smithy.api#documentation": "\n The unique identifier of the workload estimate to retrieve.\n
", + "smithy.api#required": {}, + "smithy.api#resourceIdentifier": "workloadEstimateId" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.bcmpricingcalculator#GetWorkloadEstimateResponse": { + "type": "structure", + "members": { + "id": { + "target": "com.amazonaws.bcmpricingcalculator#ResourceId", + "traits": { + "smithy.api#documentation": "\n The unique identifier of the retrieved workload estimate.\n
", + "smithy.api#required": {}, + "smithy.api#resourceIdentifier": "workloadEstimateId" + } + }, + "name": { + "target": "com.amazonaws.bcmpricingcalculator#WorkloadEstimateName", + "traits": { + "smithy.api#documentation": "\n The name of the retrieved workload estimate.\n
" + } + }, + "createdAt": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "\n The timestamp when the workload estimate was created.\n
" + } + }, + "expiresAt": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "\n The timestamp when the workload estimate will expire.\n
" + } + }, + "rateType": { + "target": "com.amazonaws.bcmpricingcalculator#WorkloadEstimateRateType", + "traits": { + "smithy.api#documentation": "\n The type of pricing rates used for the estimate.\n
" + } + }, + "rateTimestamp": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "\n The timestamp of the pricing rates used for the estimate.\n
" + } + }, + "status": { + "target": "com.amazonaws.bcmpricingcalculator#WorkloadEstimateStatus", + "traits": { + "smithy.api#documentation": "\n The current status of the workload estimate.\n
" + } + }, + "totalCost": { + "target": "smithy.api#Double", + "traits": { + "smithy.api#documentation": "\n The total estimated cost for the workload.\n
" + } + }, + "costCurrency": { + "target": "com.amazonaws.bcmpricingcalculator#CurrencyCode", + "traits": { + "smithy.api#documentation": "\n The currency of the estimated cost.\n
" + } + }, + "failureMessage": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "\n An error message if the workload estimate retrieval failed.\n
" + } + } + }, + "traits": { + "smithy.api#documentation": "Mixin for common fields returned by CRUD APIs", + "smithy.api#output": {} + } + }, + "com.amazonaws.bcmpricingcalculator#HistoricalUsageEntity": { + "type": "structure", + "members": { + "serviceCode": { + "target": "com.amazonaws.bcmpricingcalculator#ServiceCode", + "traits": { + "smithy.api#documentation": "\n The Amazon Web Services service code associated with the usage.\n
", + "smithy.api#required": {} + } + }, + "usageType": { + "target": "com.amazonaws.bcmpricingcalculator#UsageType", + "traits": { + "smithy.api#documentation": "\n The type of usage.\n
", + "smithy.api#required": {} + } + }, + "operation": { + "target": "com.amazonaws.bcmpricingcalculator#Operation", + "traits": { + "smithy.api#documentation": "\n The specific operation associated with the usage.\n
", + "smithy.api#required": {} + } + }, + "location": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "\n The location associated with the usage.\n
" + } + }, + "usageAccountId": { + "target": "com.amazonaws.bcmpricingcalculator#AccountId", + "traits": { + "smithy.api#documentation": "\n The Amazon Web Services account ID associated with the usage.\n
", + "smithy.api#required": {} + } + }, + "billInterval": { + "target": "com.amazonaws.bcmpricingcalculator#BillInterval", + "traits": { + "smithy.api#documentation": "\n The time interval for the historical usage data.\n
", + "smithy.api#required": {} + } + }, + "filterExpression": { + "target": "com.amazonaws.bcmpricingcalculator#Expression", + "traits": { + "smithy.api#documentation": "\n An optional filter expression to apply to the historical usage data.\n
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "\n Represents historical usage data for a specific entity.\n
" + } + }, + "com.amazonaws.bcmpricingcalculator#InternalServerException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#required": {} + } + }, + "retryAfterSeconds": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "\n An internal error has occurred. Retry your request, but if the problem persists, contact Amazon Web Services support.\n
", + "smithy.api#httpHeader": "Retry-After" + } + } + }, + "traits": { + "smithy.api#documentation": "\n An internal error has occurred. Retry your request, but if the problem persists, contact Amazon Web Services support.\n
", + "smithy.api#error": "server", + "smithy.api#httpError": 500 + } + }, + "com.amazonaws.bcmpricingcalculator#Key": { + "type": "string", + "traits": { + "smithy.api#length": { + "max": 10 + }, + "smithy.api#pattern": "^[a-zA-Z0-9]*$" + } + }, + "com.amazonaws.bcmpricingcalculator#ListBillEstimateCommitments": { + "type": "operation", + "input": { + "target": "com.amazonaws.bcmpricingcalculator#ListBillEstimateCommitmentsRequest" + }, + "output": { + "target": "com.amazonaws.bcmpricingcalculator#ListBillEstimateCommitmentsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.bcmpricingcalculator#DataUnavailableException" + }, + { + "target": "com.amazonaws.bcmpricingcalculator#ResourceNotFoundException" + } + ], + "traits": { + "aws.iam#iamAction": { + "documentation": "Grants permission to list commitments associated with the specified bill estimate" + }, + "smithy.api#documentation": "\n Lists the commitments associated with a bill estimate.\n
", + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "items" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.bcmpricingcalculator#ListBillEstimateCommitmentsRequest": { + "type": "structure", + "members": { + "billEstimateId": { + "target": "com.amazonaws.bcmpricingcalculator#ResourceId", + "traits": { + "smithy.api#documentation": "\n The unique identifier of the bill estimate to list commitments for.\n
", + "smithy.api#required": {} + } + }, + "nextToken": { + "target": "com.amazonaws.bcmpricingcalculator#NextPageToken", + "traits": { + "smithy.api#documentation": "\n A token to retrieve the next page of results.\n
" + } + }, + "maxResults": { + "target": "com.amazonaws.bcmpricingcalculator#MaxResults", + "traits": { + "smithy.api#documentation": "\n The maximum number of results to return per page.\n
" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.bcmpricingcalculator#ListBillEstimateCommitmentsResponse": { + "type": "structure", + "members": { + "items": { + "target": "com.amazonaws.bcmpricingcalculator#BillEstimateCommitmentSummaries", + "traits": { + "smithy.api#documentation": "\n The list of commitments associated with the bill estimate.\n
" + } + }, + "nextToken": { + "target": "com.amazonaws.bcmpricingcalculator#NextPageToken", + "traits": { + "smithy.api#documentation": "\n A token to retrieve the next page of results, if any.\n
" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.bcmpricingcalculator#ListBillEstimateInputCommitmentModifications": { + "type": "operation", + "input": { + "target": "com.amazonaws.bcmpricingcalculator#ListBillEstimateInputCommitmentModificationsRequest" + }, + "output": { + "target": "com.amazonaws.bcmpricingcalculator#ListBillEstimateInputCommitmentModificationsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.bcmpricingcalculator#DataUnavailableException" + }, + { + "target": "com.amazonaws.bcmpricingcalculator#ResourceNotFoundException" + } + ], + "traits": { + "aws.iam#iamAction": { + "documentation": "Grants permission to list added or removed commitments for a specified bill estimate" + }, + "smithy.api#documentation": "\n Lists the input commitment modifications associated with a bill estimate.\n
", + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "items" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.bcmpricingcalculator#ListBillEstimateInputCommitmentModificationsRequest": { + "type": "structure", + "members": { + "billEstimateId": { + "target": "com.amazonaws.bcmpricingcalculator#ResourceId", + "traits": { + "smithy.api#documentation": "\n The unique identifier of the bill estimate to list input commitment modifications for.\n
", + "smithy.api#required": {} + } + }, + "nextToken": { + "target": "com.amazonaws.bcmpricingcalculator#NextPageToken", + "traits": { + "smithy.api#documentation": "\n A token to retrieve the next page of results.\n
" + } + }, + "maxResults": { + "target": "com.amazonaws.bcmpricingcalculator#MaxResults", + "traits": { + "smithy.api#documentation": "\n The maximum number of results to return per page.\n
" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.bcmpricingcalculator#ListBillEstimateInputCommitmentModificationsResponse": { + "type": "structure", + "members": { + "items": { + "target": "com.amazonaws.bcmpricingcalculator#BillEstimateInputCommitmentModificationSummaries", + "traits": { + "smithy.api#documentation": "\n The list of input commitment modifications associated with the bill estimate.\n
" + } + }, + "nextToken": { + "target": "com.amazonaws.bcmpricingcalculator#NextPageToken", + "traits": { + "smithy.api#documentation": "\n A token to retrieve the next page of results, if any.\n
" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.bcmpricingcalculator#ListBillEstimateInputUsageModifications": { + "type": "operation", + "input": { + "target": "com.amazonaws.bcmpricingcalculator#ListBillEstimateInputUsageModificationsRequest" + }, + "output": { + "target": "com.amazonaws.bcmpricingcalculator#ListBillEstimateInputUsageModificationsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.bcmpricingcalculator#DataUnavailableException" + }, + { + "target": "com.amazonaws.bcmpricingcalculator#ResourceNotFoundException" + } + ], + "traits": { + "aws.iam#iamAction": { + "documentation": "Grants permission to list added or modified usage for a specified bill estimate" + }, + "smithy.api#documentation": "\n Lists the input usage modifications associated with a bill estimate.\n
", + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "items" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.bcmpricingcalculator#ListBillEstimateInputUsageModificationsRequest": { + "type": "structure", + "members": { + "billEstimateId": { + "target": "com.amazonaws.bcmpricingcalculator#ResourceId", + "traits": { + "smithy.api#documentation": "\n The unique identifier of the bill estimate to list input usage modifications for.\n
", + "smithy.api#required": {} + } + }, + "filters": { + "target": "com.amazonaws.bcmpricingcalculator#ListUsageFilters", + "traits": { + "smithy.api#documentation": "\n Filters to apply to the list of input usage modifications.\n
" + } + }, + "nextToken": { + "target": "com.amazonaws.bcmpricingcalculator#NextPageToken", + "traits": { + "smithy.api#documentation": "\n A token to retrieve the next page of results.\n
" + } + }, + "maxResults": { + "target": "com.amazonaws.bcmpricingcalculator#MaxResults", + "traits": { + "smithy.api#documentation": "\n The maximum number of results to return per page.\n
" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.bcmpricingcalculator#ListBillEstimateInputUsageModificationsResponse": { + "type": "structure", + "members": { + "items": { + "target": "com.amazonaws.bcmpricingcalculator#BillEstimateInputUsageModificationSummaries", + "traits": { + "smithy.api#documentation": "\n The list of input usage modifications associated with the bill estimate.\n
" + } + }, + "nextToken": { + "target": "com.amazonaws.bcmpricingcalculator#NextPageToken", + "traits": { + "smithy.api#documentation": "\n A token to retrieve the next page of results, if any.\n
" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.bcmpricingcalculator#ListBillEstimateLineItems": { + "type": "operation", + "input": { + "target": "com.amazonaws.bcmpricingcalculator#ListBillEstimateLineItemsRequest" + }, + "output": { + "target": "com.amazonaws.bcmpricingcalculator#ListBillEstimateLineItemsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.bcmpricingcalculator#DataUnavailableException" + }, + { + "target": "com.amazonaws.bcmpricingcalculator#ResourceNotFoundException" + } + ], + "traits": { + "aws.iam#iamAction": { + "documentation": "Grants permission to list result line items for a specified bill estimate" + }, + "smithy.api#documentation": "\n Lists the line items associated with a bill estimate.\n
", + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "items" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.bcmpricingcalculator#ListBillEstimateLineItemsFilter": { + "type": "structure", + "members": { + "name": { + "target": "com.amazonaws.bcmpricingcalculator#ListBillEstimateLineItemsFilterName", + "traits": { + "smithy.api#documentation": "\n The name of the filter attribute.\n
", + "smithy.api#required": {} + } + }, + "values": { + "target": "com.amazonaws.bcmpricingcalculator#ListBillEstimateLineItemsFilterValues", + "traits": { + "smithy.api#documentation": "\n The values to filter by.\n
", + "smithy.api#required": {} + } + }, + "matchOption": { + "target": "com.amazonaws.bcmpricingcalculator#MatchOption", + "traits": { + "smithy.api#documentation": "\n The match option for the filter (e.g., equals, contains).\n
" + } + } + }, + "traits": { + "smithy.api#documentation": "\n Represents a filter for listing bill estimate line items.\n
" + } + }, + "com.amazonaws.bcmpricingcalculator#ListBillEstimateLineItemsFilterName": { + "type": "enum", + "members": { + "USAGE_ACCOUNT_ID": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "USAGE_ACCOUNT_ID" + } + }, + "SERVICE_CODE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SERVICE_CODE" + } + }, + "USAGE_TYPE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "USAGE_TYPE" + } + }, + "OPERATION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "OPERATION" + } + }, + "LOCATION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "LOCATION" + } + }, + "LINE_ITEM_TYPE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "LINE_ITEM_TYPE" + } + } + } + }, + "com.amazonaws.bcmpricingcalculator#ListBillEstimateLineItemsFilterValues": { + "type": "list", + "member": { + "target": "smithy.api#String" + } + }, + "com.amazonaws.bcmpricingcalculator#ListBillEstimateLineItemsFilters": { + "type": "list", + "member": { + "target": "com.amazonaws.bcmpricingcalculator#ListBillEstimateLineItemsFilter" + } + }, + "com.amazonaws.bcmpricingcalculator#ListBillEstimateLineItemsRequest": { + "type": "structure", + "members": { + "billEstimateId": { + "target": "com.amazonaws.bcmpricingcalculator#ResourceId", + "traits": { + "smithy.api#documentation": "\n The unique identifier of the bill estimate to list line items for.\n
", + "smithy.api#required": {} + } + }, + "filters": { + "target": "com.amazonaws.bcmpricingcalculator#ListBillEstimateLineItemsFilters", + "traits": { + "smithy.api#documentation": "\n Filters to apply to the list of line items.\n
" + } + }, + "nextToken": { + "target": "com.amazonaws.bcmpricingcalculator#NextPageToken", + "traits": { + "smithy.api#documentation": "\n A token to retrieve the next page of results.\n
" + } + }, + "maxResults": { + "target": "com.amazonaws.bcmpricingcalculator#MaxResults", + "traits": { + "smithy.api#documentation": "\n The maximum number of results to return per page.\n
" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.bcmpricingcalculator#ListBillEstimateLineItemsResponse": { + "type": "structure", + "members": { + "items": { + "target": "com.amazonaws.bcmpricingcalculator#BillEstimateLineItemSummaries", + "traits": { + "smithy.api#documentation": "\n The list of line items associated with the bill estimate.\n
" + } + }, + "nextToken": { + "target": "com.amazonaws.bcmpricingcalculator#NextPageToken", + "traits": { + "smithy.api#documentation": "\n A token to retrieve the next page of results, if any.\n
" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.bcmpricingcalculator#ListBillEstimates": { + "type": "operation", + "input": { + "target": "com.amazonaws.bcmpricingcalculator#ListBillEstimatesRequest" + }, + "output": { + "target": "com.amazonaws.bcmpricingcalculator#ListBillEstimatesResponse" + }, + "errors": [ + { + "target": "com.amazonaws.bcmpricingcalculator#DataUnavailableException" + } + ], + "traits": { + "aws.iam#iamAction": { + "documentation": "Grants permission to list bill estimates" + }, + "smithy.api#documentation": "\n Lists all bill estimates for the account.\n
", + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "items" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.bcmpricingcalculator#ListBillEstimatesFilter": { + "type": "structure", + "members": { + "name": { + "target": "com.amazonaws.bcmpricingcalculator#ListBillEstimatesFilterName", + "traits": { + "smithy.api#documentation": "\n The name of the filter attribute.\n
", + "smithy.api#required": {} + } + }, + "values": { + "target": "com.amazonaws.bcmpricingcalculator#ListBillEstimatesFilterValues", + "traits": { + "smithy.api#documentation": "\n The values to filter by.\n
", + "smithy.api#required": {} + } + }, + "matchOption": { + "target": "com.amazonaws.bcmpricingcalculator#MatchOption", + "traits": { + "smithy.api#documentation": "\n The match option for the filter (e.g., equals, contains).\n
" + } + } + }, + "traits": { + "smithy.api#documentation": "\n Represents a filter for listing bill estimates.\n
" + } + }, + "com.amazonaws.bcmpricingcalculator#ListBillEstimatesFilterName": { + "type": "enum", + "members": { + "STATUS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "STATUS" + } + }, + "NAME": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "NAME" + } + } + } + }, + "com.amazonaws.bcmpricingcalculator#ListBillEstimatesFilterValues": { + "type": "list", + "member": { + "target": "smithy.api#String" + } + }, + "com.amazonaws.bcmpricingcalculator#ListBillEstimatesFilters": { + "type": "list", + "member": { + "target": "com.amazonaws.bcmpricingcalculator#ListBillEstimatesFilter" + } + }, + "com.amazonaws.bcmpricingcalculator#ListBillEstimatesRequest": { + "type": "structure", + "members": { + "filters": { + "target": "com.amazonaws.bcmpricingcalculator#ListBillEstimatesFilters", + "traits": { + "smithy.api#documentation": "\n Filters to apply to the list of bill estimates.\n
" + } + }, + "createdAtFilter": { + "target": "com.amazonaws.bcmpricingcalculator#FilterTimestamp", + "traits": { + "smithy.api#documentation": "\n Filter bill estimates based on their creation date.\n
" + } + }, + "expiresAtFilter": { + "target": "com.amazonaws.bcmpricingcalculator#FilterTimestamp", + "traits": { + "smithy.api#documentation": "\n Filter bill estimates based on their expiration date.\n
" + } + }, + "nextToken": { + "target": "com.amazonaws.bcmpricingcalculator#NextPageToken", + "traits": { + "smithy.api#documentation": "\n A token to retrieve the next page of results.\n
" + } + }, + "maxResults": { + "target": "com.amazonaws.bcmpricingcalculator#MaxResults", + "traits": { + "smithy.api#documentation": "\n The maximum number of results to return per page.\n
" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.bcmpricingcalculator#ListBillEstimatesResponse": { + "type": "structure", + "members": { + "items": { + "target": "com.amazonaws.bcmpricingcalculator#BillEstimateSummaries", + "traits": { + "smithy.api#documentation": "\n The list of bill estimates for the account.\n
" + } + }, + "nextToken": { + "target": "com.amazonaws.bcmpricingcalculator#NextPageToken", + "traits": { + "smithy.api#documentation": "\n A token to retrieve the next page of results, if any.\n
" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.bcmpricingcalculator#ListBillScenarioCommitmentModifications": { + "type": "operation", + "input": { + "target": "com.amazonaws.bcmpricingcalculator#ListBillScenarioCommitmentModificationsRequest" + }, + "output": { + "target": "com.amazonaws.bcmpricingcalculator#ListBillScenarioCommitmentModificationsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.bcmpricingcalculator#DataUnavailableException" + }, + { + "target": "com.amazonaws.bcmpricingcalculator#ResourceNotFoundException" + } + ], + "traits": { + "aws.iam#iamAction": { + "documentation": "Grants permission to list commitments included in a bill scenario" + }, + "smithy.api#documentation": "\n Lists the commitment modifications associated with a bill scenario.\n
", + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "items" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.bcmpricingcalculator#ListBillScenarioCommitmentModificationsRequest": { + "type": "structure", + "members": { + "billScenarioId": { + "target": "com.amazonaws.bcmpricingcalculator#ResourceId", + "traits": { + "smithy.api#documentation": "\n The unique identifier of the bill scenario to list commitment modifications for.\n
", + "smithy.api#required": {} + } + }, + "nextToken": { + "target": "com.amazonaws.bcmpricingcalculator#NextPageToken", + "traits": { + "smithy.api#documentation": "\n A token to retrieve the next page of results.\n
" + } + }, + "maxResults": { + "target": "com.amazonaws.bcmpricingcalculator#MaxResults", + "traits": { + "smithy.api#documentation": "\n The maximum number of results to return per page.\n
" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.bcmpricingcalculator#ListBillScenarioCommitmentModificationsResponse": { + "type": "structure", + "members": { + "items": { + "target": "com.amazonaws.bcmpricingcalculator#BillScenarioCommitmentModificationItems", + "traits": { + "smithy.api#documentation": "\n The list of commitment modifications associated with the bill scenario.\n
" + } + }, + "nextToken": { + "target": "com.amazonaws.bcmpricingcalculator#NextPageToken", + "traits": { + "smithy.api#documentation": "\n A token to retrieve the next page of results, if any.\n
" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.bcmpricingcalculator#ListBillScenarioUsageModifications": { + "type": "operation", + "input": { + "target": "com.amazonaws.bcmpricingcalculator#ListBillScenarioUsageModificationsRequest" + }, + "output": { + "target": "com.amazonaws.bcmpricingcalculator#ListBillScenarioUsageModificationsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.bcmpricingcalculator#DataUnavailableException" + }, + { + "target": "com.amazonaws.bcmpricingcalculator#ResourceNotFoundException" + } + ], + "traits": { + "aws.iam#iamAction": { + "documentation": "Grants permission to list usage lines of a specified bill scenario" + }, + "smithy.api#documentation": "\n Lists the usage modifications associated with a bill scenario.\n
", + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "items" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.bcmpricingcalculator#ListBillScenarioUsageModificationsRequest": { + "type": "structure", + "members": { + "billScenarioId": { + "target": "com.amazonaws.bcmpricingcalculator#ResourceId", + "traits": { + "smithy.api#documentation": "\n The unique identifier of the bill scenario to list usage modifications for.\n
", + "smithy.api#required": {} + } + }, + "filters": { + "target": "com.amazonaws.bcmpricingcalculator#ListUsageFilters", + "traits": { + "smithy.api#documentation": "\n Filters to apply to the list of usage modifications.\n
" + } + }, + "nextToken": { + "target": "com.amazonaws.bcmpricingcalculator#NextPageToken", + "traits": { + "smithy.api#documentation": "\n A token to retrieve the next page of results.\n
" + } + }, + "maxResults": { + "target": "com.amazonaws.bcmpricingcalculator#MaxResults", + "traits": { + "smithy.api#documentation": "\n The maximum number of results to return per page.\n
" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.bcmpricingcalculator#ListBillScenarioUsageModificationsResponse": { + "type": "structure", + "members": { + "items": { + "target": "com.amazonaws.bcmpricingcalculator#BillScenarioUsageModificationItems", + "traits": { + "smithy.api#documentation": "\n The list of usage modifications associated with the bill scenario.\n
" + } + }, + "nextToken": { + "target": "com.amazonaws.bcmpricingcalculator#NextPageToken", + "traits": { + "smithy.api#documentation": "\n A token to retrieve the next page of results, if any.\n
" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.bcmpricingcalculator#ListBillScenarios": { + "type": "operation", + "input": { + "target": "com.amazonaws.bcmpricingcalculator#ListBillScenariosRequest" + }, + "output": { + "target": "com.amazonaws.bcmpricingcalculator#ListBillScenariosResponse" + }, + "errors": [ + { + "target": "com.amazonaws.bcmpricingcalculator#DataUnavailableException" + } + ], + "traits": { + "aws.iam#iamAction": { + "documentation": "Grants permission to list bill scenarios" + }, + "smithy.api#documentation": "\n Lists all bill scenarios for the account.\n
", + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "items" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.bcmpricingcalculator#ListBillScenariosFilter": { + "type": "structure", + "members": { + "name": { + "target": "com.amazonaws.bcmpricingcalculator#ListBillScenariosFilterName", + "traits": { + "smithy.api#documentation": "\n The name of the filter attribute.\n
", + "smithy.api#required": {} + } + }, + "values": { + "target": "com.amazonaws.bcmpricingcalculator#ListBillScenariosFilterValues", + "traits": { + "smithy.api#documentation": "\n The values to filter by.\n
", + "smithy.api#required": {} + } + }, + "matchOption": { + "target": "com.amazonaws.bcmpricingcalculator#MatchOption", + "traits": { + "smithy.api#documentation": "\n The match option for the filter (e.g., equals, contains).\n
" + } + } + }, + "traits": { + "smithy.api#documentation": "\n Represents a filter for listing bill scenarios.\n
" + } + }, + "com.amazonaws.bcmpricingcalculator#ListBillScenariosFilterName": { + "type": "enum", + "members": { + "STATUS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "STATUS" + } + }, + "NAME": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "NAME" + } + } + } + }, + "com.amazonaws.bcmpricingcalculator#ListBillScenariosFilterValues": { + "type": "list", + "member": { + "target": "smithy.api#String" + } + }, + "com.amazonaws.bcmpricingcalculator#ListBillScenariosFilters": { + "type": "list", + "member": { + "target": "com.amazonaws.bcmpricingcalculator#ListBillScenariosFilter" + } + }, + "com.amazonaws.bcmpricingcalculator#ListBillScenariosRequest": { + "type": "structure", + "members": { + "filters": { + "target": "com.amazonaws.bcmpricingcalculator#ListBillScenariosFilters", + "traits": { + "smithy.api#documentation": "\n Filters to apply to the list of bill scenarios.\n
" + } + }, + "createdAtFilter": { + "target": "com.amazonaws.bcmpricingcalculator#FilterTimestamp", + "traits": { + "smithy.api#documentation": "\n Filter bill scenarios based on their creation date.\n
" + } + }, + "expiresAtFilter": { + "target": "com.amazonaws.bcmpricingcalculator#FilterTimestamp", + "traits": { + "smithy.api#documentation": "\n Filter bill scenarios based on their expiration date.\n
" + } + }, + "nextToken": { + "target": "com.amazonaws.bcmpricingcalculator#NextPageToken", + "traits": { + "smithy.api#documentation": "\n A token to retrieve the next page of results.\n
" + } + }, + "maxResults": { + "target": "com.amazonaws.bcmpricingcalculator#MaxResults", + "traits": { + "smithy.api#documentation": "\n The maximum number of results to return per page.\n
" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.bcmpricingcalculator#ListBillScenariosResponse": { + "type": "structure", + "members": { + "items": { + "target": "com.amazonaws.bcmpricingcalculator#BillScenarioSummaries", + "traits": { + "smithy.api#documentation": "\n The list of bill scenarios for the account.\n
" + } + }, + "nextToken": { + "target": "com.amazonaws.bcmpricingcalculator#NextPageToken", + "traits": { + "smithy.api#documentation": "\n A token to retrieve the next page of results, if any.\n
" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.bcmpricingcalculator#ListTagsForResource": { + "type": "operation", + "input": { + "target": "com.amazonaws.bcmpricingcalculator#ListTagsForResourceRequest" + }, + "output": { + "target": "com.amazonaws.bcmpricingcalculator#ListTagsForResourceResponse" + }, + "errors": [ + { + "target": "com.amazonaws.bcmpricingcalculator#ResourceNotFoundException" + } + ], + "traits": { + "aws.iam#iamAction": { + "documentation": "Grants permission to return a list of tags for a resource" + }, + "smithy.api#documentation": "\n Lists all tags associated with a specified resource.\n
", + "smithy.api#readonly": {} + } + }, + "com.amazonaws.bcmpricingcalculator#ListTagsForResourceRequest": { + "type": "structure", + "members": { + "arn": { + "target": "com.amazonaws.bcmpricingcalculator#Arn", + "traits": { + "smithy.api#documentation": "\n The Amazon Resource Name (ARN) of the resource to list tags for.\n
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.bcmpricingcalculator#ListTagsForResourceResponse": { + "type": "structure", + "members": { + "tags": { + "target": "com.amazonaws.bcmpricingcalculator#Tags", + "traits": { + "smithy.api#documentation": "\n The list of tags associated with the specified resource.\n
" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.bcmpricingcalculator#ListUsageFilter": { + "type": "structure", + "members": { + "name": { + "target": "com.amazonaws.bcmpricingcalculator#ListUsageFilterName", + "traits": { + "smithy.api#documentation": "\n The name of the filter attribute.\n
", + "smithy.api#required": {} + } + }, + "values": { + "target": "com.amazonaws.bcmpricingcalculator#ListUsageFilterValues", + "traits": { + "smithy.api#documentation": "\n The values to filter by.\n
", + "smithy.api#required": {} + } + }, + "matchOption": { + "target": "com.amazonaws.bcmpricingcalculator#MatchOption", + "traits": { + "smithy.api#documentation": "\n The match option for the filter (e.g., equals, contains).\n
" + } + } + }, + "traits": { + "smithy.api#documentation": "\n Represents a filter for listing usage data.\n
" + } + }, + "com.amazonaws.bcmpricingcalculator#ListUsageFilterName": { + "type": "enum", + "members": { + "USAGE_ACCOUNT_ID": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "USAGE_ACCOUNT_ID" + } + }, + "SERVICE_CODE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SERVICE_CODE" + } + }, + "USAGE_TYPE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "USAGE_TYPE" + } + }, + "OPERATION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "OPERATION" + } + }, + "LOCATION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "LOCATION" + } + }, + "USAGE_GROUP": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "USAGE_GROUP" + } + }, + "HISTORICAL_USAGE_ACCOUNT_ID": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "HISTORICAL_USAGE_ACCOUNT_ID" + } + }, + "HISTORICAL_SERVICE_CODE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "HISTORICAL_SERVICE_CODE" + } + }, + "HISTORICAL_USAGE_TYPE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "HISTORICAL_USAGE_TYPE" + } + }, + "HISTORICAL_OPERATION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "HISTORICAL_OPERATION" + } + }, + "HISTORICAL_LOCATION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "HISTORICAL_LOCATION" + } + } + } + }, + "com.amazonaws.bcmpricingcalculator#ListUsageFilterValues": { + "type": "list", + "member": { + "target": "smithy.api#String" + } + }, + "com.amazonaws.bcmpricingcalculator#ListUsageFilters": { + "type": "list", + "member": { + "target": "com.amazonaws.bcmpricingcalculator#ListUsageFilter" + } + }, + "com.amazonaws.bcmpricingcalculator#ListWorkloadEstimateUsage": { + "type": "operation", + "input": { + "target": "com.amazonaws.bcmpricingcalculator#ListWorkloadEstimateUsageRequest" + }, + "output": { + "target": "com.amazonaws.bcmpricingcalculator#ListWorkloadEstimateUsageResponse" + }, + "errors": [ + { + "target": "com.amazonaws.bcmpricingcalculator#DataUnavailableException" + }, + { + "target": "com.amazonaws.bcmpricingcalculator#ResourceNotFoundException" + } + ], + "traits": { + "aws.iam#iamAction": { + "documentation": "Grants permission to list usage lines for the specified workload estimate" + }, + "smithy.api#documentation": "\n Lists the usage associated with a workload estimate.\n
", + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "items" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.bcmpricingcalculator#ListWorkloadEstimateUsageRequest": { + "type": "structure", + "members": { + "workloadEstimateId": { + "target": "com.amazonaws.bcmpricingcalculator#ResourceId", + "traits": { + "smithy.api#documentation": "\n The unique identifier of the workload estimate to list usage for.\n
", + "smithy.api#required": {} + } + }, + "filters": { + "target": "com.amazonaws.bcmpricingcalculator#ListUsageFilters", + "traits": { + "smithy.api#documentation": "\n Filters to apply to the list of usage items.\n
" + } + }, + "nextToken": { + "target": "com.amazonaws.bcmpricingcalculator#NextPageToken", + "traits": { + "smithy.api#documentation": "\n A token to retrieve the next page of results.\n
" + } + }, + "maxResults": { + "target": "com.amazonaws.bcmpricingcalculator#MaxResults", + "traits": { + "smithy.api#documentation": "\n The maximum number of results to return per page.\n
" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.bcmpricingcalculator#ListWorkloadEstimateUsageResponse": { + "type": "structure", + "members": { + "items": { + "target": "com.amazonaws.bcmpricingcalculator#WorkloadEstimateUsageItems", + "traits": { + "smithy.api#documentation": "\n The list of usage items associated with the workload estimate.\n
" + } + }, + "nextToken": { + "target": "com.amazonaws.bcmpricingcalculator#NextPageToken", + "traits": { + "smithy.api#documentation": "\n A token to retrieve the next page of results, if any.\n
" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.bcmpricingcalculator#ListWorkloadEstimates": { + "type": "operation", + "input": { + "target": "com.amazonaws.bcmpricingcalculator#ListWorkloadEstimatesRequest" + }, + "output": { + "target": "com.amazonaws.bcmpricingcalculator#ListWorkloadEstimatesResponse" + }, + "errors": [ + { + "target": "com.amazonaws.bcmpricingcalculator#DataUnavailableException" + } + ], + "traits": { + "aws.iam#iamAction": { + "documentation": "Grants permission to list workload estimates" + }, + "smithy.api#documentation": "\n Lists all workload estimates for the account.\n
", + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "items" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.bcmpricingcalculator#ListWorkloadEstimatesFilter": { + "type": "structure", + "members": { + "name": { + "target": "com.amazonaws.bcmpricingcalculator#ListWorkloadEstimatesFilterName", + "traits": { + "smithy.api#documentation": "\n The name of the filter attribute.\n
", + "smithy.api#required": {} + } + }, + "values": { + "target": "com.amazonaws.bcmpricingcalculator#ListWorkloadEstimatesFilterValues", + "traits": { + "smithy.api#documentation": "\n The values to filter by.\n
", + "smithy.api#required": {} + } + }, + "matchOption": { + "target": "com.amazonaws.bcmpricingcalculator#MatchOption", + "traits": { + "smithy.api#documentation": "\n The match option for the filter (e.g., equals, contains).\n
" + } + } + }, + "traits": { + "smithy.api#documentation": "\n Represents a filter for listing workload estimates.\n
" + } + }, + "com.amazonaws.bcmpricingcalculator#ListWorkloadEstimatesFilterName": { + "type": "enum", + "members": { + "STATUS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "STATUS" + } + }, + "NAME": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "NAME" + } + } + } + }, + "com.amazonaws.bcmpricingcalculator#ListWorkloadEstimatesFilterValues": { + "type": "list", + "member": { + "target": "smithy.api#String" + } + }, + "com.amazonaws.bcmpricingcalculator#ListWorkloadEstimatesFilters": { + "type": "list", + "member": { + "target": "com.amazonaws.bcmpricingcalculator#ListWorkloadEstimatesFilter" + } + }, + "com.amazonaws.bcmpricingcalculator#ListWorkloadEstimatesRequest": { + "type": "structure", + "members": { + "createdAtFilter": { + "target": "com.amazonaws.bcmpricingcalculator#FilterTimestamp", + "traits": { + "smithy.api#documentation": "\n Filter workload estimates based on their creation date.\n
" + } + }, + "expiresAtFilter": { + "target": "com.amazonaws.bcmpricingcalculator#FilterTimestamp", + "traits": { + "smithy.api#documentation": "\n Filter workload estimates based on their expiration date.\n
" + } + }, + "filters": { + "target": "com.amazonaws.bcmpricingcalculator#ListWorkloadEstimatesFilters", + "traits": { + "smithy.api#documentation": "\n Filters to apply to the list of workload estimates.\n
" + } + }, + "nextToken": { + "target": "com.amazonaws.bcmpricingcalculator#NextPageToken", + "traits": { + "smithy.api#documentation": "\n A token to retrieve the next page of results.\n
" + } + }, + "maxResults": { + "target": "com.amazonaws.bcmpricingcalculator#MaxResults", + "traits": { + "smithy.api#documentation": "\n The maximum number of results to return per page.\n
" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.bcmpricingcalculator#ListWorkloadEstimatesResponse": { + "type": "structure", + "members": { + "items": { + "target": "com.amazonaws.bcmpricingcalculator#WorkloadEstimateSummaries", + "traits": { + "smithy.api#documentation": "\n The list of workload estimates for the account.\n
" + } + }, + "nextToken": { + "target": "com.amazonaws.bcmpricingcalculator#NextPageToken", + "traits": { + "smithy.api#documentation": "\n A token to retrieve the next page of results, if any.\n
" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.bcmpricingcalculator#MatchOption": { + "type": "enum", + "members": { + "EQUALS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "EQUALS" + } + }, + "STARTS_WITH": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "STARTS_WITH" + } + }, + "CONTAINS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CONTAINS" + } + } + } + }, + "com.amazonaws.bcmpricingcalculator#MaxResults": { + "type": "integer", + "traits": { + "smithy.api#range": { + "max": 25 + } + } + }, + "com.amazonaws.bcmpricingcalculator#NegateReservedInstanceAction": { + "type": "structure", + "members": { + "reservedInstancesId": { + "target": "com.amazonaws.bcmpricingcalculator#Uuid", + "traits": { + "smithy.api#documentation": "\n The ID of the Reserved Instance to remove.\n
" + } + } + }, + "traits": { + "smithy.api#documentation": "\n Represents an action to remove a Reserved Instance from a bill scenario.\n
\n\n This is the ID of an existing Reserved Instance in your account.\n
" + } + }, + "com.amazonaws.bcmpricingcalculator#NegateSavingsPlanAction": { + "type": "structure", + "members": { + "savingsPlanId": { + "target": "com.amazonaws.bcmpricingcalculator#Uuid", + "traits": { + "smithy.api#documentation": "\n The ID of the Savings Plan to remove.\n
" + } + } + }, + "traits": { + "smithy.api#documentation": "\n Represents an action to remove a Savings Plan from a bill scenario.\n
\n\n This is the ID of an existing Savings Plan in your account.\n
" + } + }, + "com.amazonaws.bcmpricingcalculator#NextPageToken": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 2048 + }, + "smithy.api#pattern": "^[\\S\\s]*$" + } + }, + "com.amazonaws.bcmpricingcalculator#Operation": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 32 + }, + "smithy.api#pattern": "^[-a-zA-Z0-9\\.\\-_:,]*$" + } + }, + "com.amazonaws.bcmpricingcalculator#PurchaseAgreementType": { + "type": "enum", + "members": { + "SAVINGS_PLANS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SAVINGS_PLANS" + } + }, + "RESERVED_INSTANCE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RESERVED_INSTANCE" + } + } + } + }, + "com.amazonaws.bcmpricingcalculator#RateType": { + "type": "enum", + "members": { + "BEFORE_DISCOUNTS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "BEFORE_DISCOUNTS" + } + }, + "AFTER_DISCOUNTS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AFTER_DISCOUNTS" + } + } + } + }, + "com.amazonaws.bcmpricingcalculator#RateTypes": { + "type": "list", + "member": { + "target": "com.amazonaws.bcmpricingcalculator#RateType" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 2 + } + } + }, + "com.amazonaws.bcmpricingcalculator#ReservedInstanceInstanceCount": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 1 + } + } + }, + "com.amazonaws.bcmpricingcalculator#ResourceId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 36, + "max": 36 + }, + "smithy.api#pattern": "^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$" + } + }, + "com.amazonaws.bcmpricingcalculator#ResourceNotFoundException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#required": {} + } + }, + "resourceId": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "\n The identifier of the resource that was not found.\n
", + "smithy.api#required": {} + } + }, + "resourceType": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "\n The type of the resource that was not found.\n
", + "smithy.api#required": {} + } + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "ResourceNotFoundCode", + "httpResponseCode": 404 + }, + "smithy.api#documentation": "\n The specified resource was not found.\n
", + "smithy.api#error": "client", + "smithy.api#httpError": 404 + } + }, + "com.amazonaws.bcmpricingcalculator#ResourceTagKey": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 128 + }, + "smithy.api#pattern": "^[\\w\\s:+=@/-]+$" + } + }, + "com.amazonaws.bcmpricingcalculator#ResourceTagKeys": { + "type": "list", + "member": { + "target": "com.amazonaws.bcmpricingcalculator#ResourceTagKey" + }, + "traits": { + "aws.api#data": "tagging", + "smithy.api#length": { + "min": 0, + "max": 200 + } + } + }, + "com.amazonaws.bcmpricingcalculator#ResourceTagValue": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 256 + }, + "smithy.api#pattern": "^[\\w\\s:+=@/-]*$" + } + }, + "com.amazonaws.bcmpricingcalculator#SavingsPlanArns": { + "type": "list", + "member": { + "target": "smithy.api#String" + } + }, + "com.amazonaws.bcmpricingcalculator#SavingsPlanCommitment": { + "type": "double", + "traits": { + "smithy.api#range": { + "min": 0.001, + "max": 1000000 + } + } + }, + "com.amazonaws.bcmpricingcalculator#ServiceCode": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 32 + }, + "smithy.api#pattern": "^[-a-zA-Z0-9\\.\\-_:, \\/()]*$" + } + }, + "com.amazonaws.bcmpricingcalculator#ServiceCostDifferenceMap": { + "type": "map", + "key": { + "target": "smithy.api#String" + }, + "value": { + "target": "com.amazonaws.bcmpricingcalculator#CostDifference" + } + }, + "com.amazonaws.bcmpricingcalculator#ServiceQuotaExceededException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#required": {} + } + }, + "resourceId": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "\n The identifier of the resource that exceeded quota.\n
", + "smithy.api#required": {} + } + }, + "resourceType": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "\n The type of the resource that exceeded quota.\n
", + "smithy.api#required": {} + } + }, + "serviceCode": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "\n The service code that exceeded quota.\n
" + } + }, + "quotaCode": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "\n The quota code that was exceeded.\n
" + } + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "ServiceQuotaCode", + "httpResponseCode": 402 + }, + "smithy.api#documentation": "\n The request would cause you to exceed your service quota.\n
", + "smithy.api#error": "client", + "smithy.api#httpError": 402 + } + }, + "com.amazonaws.bcmpricingcalculator#StringList": { + "type": "list", + "member": { + "target": "smithy.api#String" + } + }, + "com.amazonaws.bcmpricingcalculator#TagResource": { + "type": "operation", + "input": { + "target": "com.amazonaws.bcmpricingcalculator#TagResourceRequest" + }, + "output": { + "target": "com.amazonaws.bcmpricingcalculator#TagResourceResponse" + }, + "errors": [ + { + "target": "com.amazonaws.bcmpricingcalculator#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.bcmpricingcalculator#ServiceQuotaExceededException" + } + ], + "traits": { + "aws.iam#iamAction": { + "documentation": "Grants permission to add a tag to a resource" + }, + "smithy.api#documentation": "\n Adds one or more tags to a specified resource.\n
" + } + }, + "com.amazonaws.bcmpricingcalculator#TagResourceRequest": { + "type": "structure", + "members": { + "arn": { + "target": "com.amazonaws.bcmpricingcalculator#Arn", + "traits": { + "smithy.api#documentation": "\n The Amazon Resource Name (ARN) of the resource to add tags to.\n
", + "smithy.api#required": {} + } + }, + "tags": { + "target": "com.amazonaws.bcmpricingcalculator#Tags", + "traits": { + "smithy.api#documentation": "\n The tags to add to the resource.\n
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.bcmpricingcalculator#TagResourceResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.bcmpricingcalculator#Tags": { + "type": "map", + "key": { + "target": "com.amazonaws.bcmpricingcalculator#ResourceTagKey" + }, + "value": { + "target": "com.amazonaws.bcmpricingcalculator#ResourceTagValue" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 200 + } + } + }, + "com.amazonaws.bcmpricingcalculator#ThrottlingException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#required": {} + } + }, + "serviceCode": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "The service code that exceeded the throttling limit.
" + } + }, + "quotaCode": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "The quota code that exceeded the throttling limit.
" + } + }, + "retryAfterSeconds": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "The service code that exceeded the throttling limit. Retry your \n request, but if the problem persists, contact Amazon Web Services support.
", + "smithy.api#httpHeader": "Retry-After" + } + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "ThrottlingCode", + "httpResponseCode": 429 + }, + "smithy.api#documentation": "\n The request was denied due to request throttling.\n
", + "smithy.api#error": "client", + "smithy.api#httpError": 429 + } + }, + "com.amazonaws.bcmpricingcalculator#UntagResource": { + "type": "operation", + "input": { + "target": "com.amazonaws.bcmpricingcalculator#UntagResourceRequest" + }, + "output": { + "target": "com.amazonaws.bcmpricingcalculator#UntagResourceResponse" + }, + "errors": [ + { + "target": "com.amazonaws.bcmpricingcalculator#ResourceNotFoundException" + } + ], + "traits": { + "aws.iam#iamAction": { + "documentation": "Grants permission to remove a tag from a resource" + }, + "smithy.api#documentation": "\n Removes one or more tags from a specified resource.\n
" + } + }, + "com.amazonaws.bcmpricingcalculator#UntagResourceRequest": { + "type": "structure", + "members": { + "arn": { + "target": "com.amazonaws.bcmpricingcalculator#Arn", + "traits": { + "smithy.api#documentation": "\n The Amazon Resource Name (ARN) of the resource to remove tags from.\n
", + "smithy.api#required": {} + } + }, + "tagKeys": { + "target": "com.amazonaws.bcmpricingcalculator#ResourceTagKeys", + "traits": { + "smithy.api#documentation": "\n The keys of the tags to remove from the resource.\n
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.bcmpricingcalculator#UntagResourceResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.bcmpricingcalculator#UpdateBillEstimate": { + "type": "operation", + "input": { + "target": "com.amazonaws.bcmpricingcalculator#UpdateBillEstimateRequest" + }, + "output": { + "target": "com.amazonaws.bcmpricingcalculator#UpdateBillEstimateResponse" + }, + "errors": [ + { + "target": "com.amazonaws.bcmpricingcalculator#ConflictException" + }, + { + "target": "com.amazonaws.bcmpricingcalculator#DataUnavailableException" + }, + { + "target": "com.amazonaws.bcmpricingcalculator#ResourceNotFoundException" + } + ], + "traits": { + "aws.iam#iamAction": { + "documentation": "Grants permission to update bill estimate name and expiration date time" + }, + "smithy.api#documentation": "\n Updates an existing bill estimate.\n
", + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.bcmpricingcalculator#UpdateBillEstimateRequest": { + "type": "structure", + "members": { + "identifier": { + "target": "com.amazonaws.bcmpricingcalculator#ResourceId", + "traits": { + "smithy.api#documentation": "\n The unique identifier of the bill estimate to update.\n
", + "smithy.api#required": {}, + "smithy.api#resourceIdentifier": "billEstimateId" + } + }, + "name": { + "target": "com.amazonaws.bcmpricingcalculator#BillEstimateName", + "traits": { + "smithy.api#documentation": "\n The new name for the bill estimate.\n
" + } + }, + "expiresAt": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "\n The new expiration date for the bill estimate.\n
" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.bcmpricingcalculator#UpdateBillEstimateResponse": { + "type": "structure", + "members": { + "id": { + "target": "com.amazonaws.bcmpricingcalculator#ResourceId", + "traits": { + "smithy.api#documentation": "\n The unique identifier of the updated bill estimate.\n
", + "smithy.api#required": {}, + "smithy.api#resourceIdentifier": "billEstimateId" + } + }, + "name": { + "target": "com.amazonaws.bcmpricingcalculator#BillEstimateName", + "traits": { + "smithy.api#documentation": "\n The updated name of the bill estimate.\n
" + } + }, + "status": { + "target": "com.amazonaws.bcmpricingcalculator#BillEstimateStatus", + "traits": { + "smithy.api#documentation": "\n The current status of the updated bill estimate.\n
" + } + }, + "failureMessage": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "\n An error message if the bill estimate update failed.\n
" + } + }, + "billInterval": { + "target": "com.amazonaws.bcmpricingcalculator#BillInterval", + "traits": { + "smithy.api#documentation": "\n The time period covered by the updated bill estimate.\n
" + } + }, + "costSummary": { + "target": "com.amazonaws.bcmpricingcalculator#BillEstimateCostSummary", + "traits": { + "smithy.api#documentation": "\n A summary of the updated estimated costs.\n
" + } + }, + "createdAt": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "\n The timestamp when the bill estimate was originally created.\n
" + } + }, + "expiresAt": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "\n The updated expiration timestamp for the bill estimate.\n
" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.bcmpricingcalculator#UpdateBillScenario": { + "type": "operation", + "input": { + "target": "com.amazonaws.bcmpricingcalculator#UpdateBillScenarioRequest" + }, + "output": { + "target": "com.amazonaws.bcmpricingcalculator#UpdateBillScenarioResponse" + }, + "errors": [ + { + "target": "com.amazonaws.bcmpricingcalculator#ConflictException" + }, + { + "target": "com.amazonaws.bcmpricingcalculator#DataUnavailableException" + }, + { + "target": "com.amazonaws.bcmpricingcalculator#ResourceNotFoundException" + } + ], + "traits": { + "aws.iam#iamAction": { + "documentation": "Grants permission to update name and expiration date time of the specified bill scenario" + }, + "smithy.api#documentation": "\n Updates an existing bill scenario.\n
", + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.bcmpricingcalculator#UpdateBillScenarioRequest": { + "type": "structure", + "members": { + "identifier": { + "target": "com.amazonaws.bcmpricingcalculator#ResourceId", + "traits": { + "smithy.api#documentation": "\n The unique identifier of the bill scenario to update.\n
", + "smithy.api#required": {}, + "smithy.api#resourceIdentifier": "billScenarioId" + } + }, + "name": { + "target": "com.amazonaws.bcmpricingcalculator#BillScenarioName", + "traits": { + "smithy.api#documentation": "\n The new name for the bill scenario.\n
" + } + }, + "expiresAt": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "\n The new expiration date for the bill scenario.\n
" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.bcmpricingcalculator#UpdateBillScenarioResponse": { + "type": "structure", + "members": { + "id": { + "target": "com.amazonaws.bcmpricingcalculator#ResourceId", + "traits": { + "smithy.api#documentation": "\n The unique identifier of the updated bill scenario.\n
", + "smithy.api#required": {}, + "smithy.api#resourceIdentifier": "billScenarioId" + } + }, + "name": { + "target": "com.amazonaws.bcmpricingcalculator#BillScenarioName", + "traits": { + "smithy.api#documentation": "\n The updated name of the bill scenario.\n
" + } + }, + "billInterval": { + "target": "com.amazonaws.bcmpricingcalculator#BillInterval", + "traits": { + "smithy.api#documentation": "\n The time period covered by the updated bill scenario.\n
" + } + }, + "status": { + "target": "com.amazonaws.bcmpricingcalculator#BillScenarioStatus", + "traits": { + "smithy.api#documentation": "\n The current status of the updated bill scenario.\n
" + } + }, + "createdAt": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "\n The timestamp when the bill scenario was originally created.\n
" + } + }, + "expiresAt": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "\n The updated expiration timestamp for the bill scenario.\n
" + } + }, + "failureMessage": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "\n An error message if the bill scenario update failed.\n
" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.bcmpricingcalculator#UpdatePreferences": { + "type": "operation", + "input": { + "target": "com.amazonaws.bcmpricingcalculator#UpdatePreferencesRequest" + }, + "output": { + "target": "com.amazonaws.bcmpricingcalculator#UpdatePreferencesResponse" + }, + "errors": [ + { + "target": "com.amazonaws.bcmpricingcalculator#DataUnavailableException" + }, + { + "target": "com.amazonaws.bcmpricingcalculator#ServiceQuotaExceededException" + } + ], + "traits": { + "aws.iam#iamAction": { + "documentation": "Grants permission to update rate type preferences for the account" + }, + "smithy.api#documentation": "\n Updates the preferences for the Amazon Web Services Cost Explorer service.\n
", + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.bcmpricingcalculator#UpdatePreferencesRequest": { + "type": "structure", + "members": { + "managementAccountRateTypeSelections": { + "target": "com.amazonaws.bcmpricingcalculator#RateTypes", + "traits": { + "smithy.api#documentation": "\n The updated preferred rate types for the management account.\n
" + } + }, + "memberAccountRateTypeSelections": { + "target": "com.amazonaws.bcmpricingcalculator#RateTypes", + "traits": { + "smithy.api#documentation": "\n The updated preferred rate types for member accounts.\n
" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.bcmpricingcalculator#UpdatePreferencesResponse": { + "type": "structure", + "members": { + "managementAccountRateTypeSelections": { + "target": "com.amazonaws.bcmpricingcalculator#RateTypes", + "traits": { + "smithy.api#documentation": "\n The updated preferred rate types for the management account.\n
" + } + }, + "memberAccountRateTypeSelections": { + "target": "com.amazonaws.bcmpricingcalculator#RateTypes", + "traits": { + "smithy.api#documentation": "\n The updated preferred rate types for member accounts.\n
" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.bcmpricingcalculator#UpdateWorkloadEstimate": { + "type": "operation", + "input": { + "target": "com.amazonaws.bcmpricingcalculator#UpdateWorkloadEstimateRequest" + }, + "output": { + "target": "com.amazonaws.bcmpricingcalculator#UpdateWorkloadEstimateResponse" + }, + "errors": [ + { + "target": "com.amazonaws.bcmpricingcalculator#ConflictException" + }, + { + "target": "com.amazonaws.bcmpricingcalculator#DataUnavailableException" + }, + { + "target": "com.amazonaws.bcmpricingcalculator#ResourceNotFoundException" + } + ], + "traits": { + "aws.iam#iamAction": { + "documentation": "Grants permission to update name and expiration date time of the specified workload estimate" + }, + "smithy.api#documentation": "\n Updates an existing workload estimate.\n
", + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.bcmpricingcalculator#UpdateWorkloadEstimateRequest": { + "type": "structure", + "members": { + "identifier": { + "target": "com.amazonaws.bcmpricingcalculator#ResourceId", + "traits": { + "smithy.api#documentation": "\n The unique identifier of the workload estimate to update.\n
", + "smithy.api#required": {}, + "smithy.api#resourceIdentifier": "workloadEstimateId" + } + }, + "name": { + "target": "com.amazonaws.bcmpricingcalculator#WorkloadEstimateName", + "traits": { + "smithy.api#documentation": "\n The new name for the workload estimate.\n
" + } + }, + "expiresAt": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "\n The new expiration date for the workload estimate.\n
" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.bcmpricingcalculator#UpdateWorkloadEstimateResponse": { + "type": "structure", + "members": { + "id": { + "target": "com.amazonaws.bcmpricingcalculator#ResourceId", + "traits": { + "smithy.api#documentation": "\n The unique identifier of the updated workload estimate.\n
", + "smithy.api#required": {}, + "smithy.api#resourceIdentifier": "workloadEstimateId" + } + }, + "name": { + "target": "com.amazonaws.bcmpricingcalculator#WorkloadEstimateName", + "traits": { + "smithy.api#documentation": "\n The updated name of the workload estimate.\n
" + } + }, + "createdAt": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "\n The timestamp when the workload estimate was originally created.\n
" + } + }, + "expiresAt": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "\n The updated expiration timestamp for the workload estimate.\n
" + } + }, + "rateType": { + "target": "com.amazonaws.bcmpricingcalculator#WorkloadEstimateRateType", + "traits": { + "smithy.api#documentation": "\n The type of pricing rates used for the updated estimate.\n
" + } + }, + "rateTimestamp": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "\n The timestamp of the pricing rates used for the updated estimate.\n
" + } + }, + "status": { + "target": "com.amazonaws.bcmpricingcalculator#WorkloadEstimateStatus", + "traits": { + "smithy.api#documentation": "\n The current status of the updated workload estimate.\n
" + } + }, + "totalCost": { + "target": "smithy.api#Double", + "traits": { + "smithy.api#documentation": "\n The updated total estimated cost for the workload.\n
" + } + }, + "costCurrency": { + "target": "com.amazonaws.bcmpricingcalculator#CurrencyCode", + "traits": { + "smithy.api#documentation": "\n The currency of the updated estimated cost.\n
" + } + }, + "failureMessage": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "\n An error message if the workload estimate update failed.\n
" + } + } + }, + "traits": { + "smithy.api#documentation": "Mixin for common fields returned by CRUD APIs", + "smithy.api#output": {} + } + }, + "com.amazonaws.bcmpricingcalculator#UsageAmount": { + "type": "structure", + "members": { + "startHour": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "\n The start hour of the usage period.\n
", + "smithy.api#required": {} + } + }, + "amount": { + "target": "smithy.api#Double", + "traits": { + "smithy.api#documentation": "\n The usage amount for the period.\n
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "\n Represents a usage amount for a specific time period.\n
" + } + }, + "com.amazonaws.bcmpricingcalculator#UsageAmounts": { + "type": "list", + "member": { + "target": "com.amazonaws.bcmpricingcalculator#UsageAmount" + } + }, + "com.amazonaws.bcmpricingcalculator#UsageGroup": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 30 + }, + "smithy.api#pattern": "^[a-zA-Z0-9-]*$" + } + }, + "com.amazonaws.bcmpricingcalculator#UsageQuantities": { + "type": "list", + "member": { + "target": "com.amazonaws.bcmpricingcalculator#UsageQuantity" + } + }, + "com.amazonaws.bcmpricingcalculator#UsageQuantity": { + "type": "structure", + "members": { + "startHour": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "\n The start hour of the usage period.\n
" + } + }, + "unit": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "\n The unit of measurement for the usage quantity.\n
" + } + }, + "amount": { + "target": "smithy.api#Double", + "traits": { + "smithy.api#documentation": "\n The numeric value of the usage quantity.\n
" + } + } + }, + "traits": { + "smithy.api#documentation": "\n Represents a usage quantity with associated unit and time period.\n
" + } + }, + "com.amazonaws.bcmpricingcalculator#UsageQuantityResult": { + "type": "structure", + "members": { + "amount": { + "target": "smithy.api#Double", + "traits": { + "smithy.api#documentation": "\n The numeric value of the usage quantity result.\n
" + } + }, + "unit": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "\n The unit of measurement for the usage quantity result.\n
" + } + } + }, + "traits": { + "smithy.api#documentation": "\n Represents the result of a usage quantity calculation.\n
" + } + }, + "com.amazonaws.bcmpricingcalculator#UsageType": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 128 + }, + "smithy.api#pattern": "^[-a-zA-Z0-9\\.\\-_:,]*$" + } + }, + "com.amazonaws.bcmpricingcalculator#Uuid": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 36, + "max": 36 + }, + "smithy.api#pattern": "^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$" + } + }, + "com.amazonaws.bcmpricingcalculator#ValidationException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#required": {} + } + }, + "reason": { + "target": "com.amazonaws.bcmpricingcalculator#ValidationExceptionReason", + "traits": { + "smithy.api#documentation": "\n The reason for the validation exception.\n
" + } + }, + "fieldList": { + "target": "com.amazonaws.bcmpricingcalculator#ValidationExceptionFieldList", + "traits": { + "smithy.api#documentation": "\n The list of fields that are invalid.\n
" + } + } + }, + "traits": { + "smithy.api#documentation": "\n The input provided fails to satisfy the constraints specified by an Amazon Web Services service.\n
", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.bcmpricingcalculator#ValidationExceptionField": { + "type": "structure", + "members": { + "name": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "\n The name of the field that failed validation.\n
", + "smithy.api#required": {} + } + }, + "message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "\n The error message describing why the field failed validation.\n
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "\n Represents a field that failed validation in a request.\n
" + } + }, + "com.amazonaws.bcmpricingcalculator#ValidationExceptionFieldList": { + "type": "list", + "member": { + "target": "com.amazonaws.bcmpricingcalculator#ValidationExceptionField" + } + }, + "com.amazonaws.bcmpricingcalculator#ValidationExceptionReason": { + "type": "enum", + "members": { + "UNKNOWN_OPERATION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "unknownOperation" + } + }, + "CANNOT_PARSE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "cannotParse" + } + }, + "FIELD_VALIDATION_FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "fieldValidationFailed" + } + }, + "INVALID_REQUEST_FROM_MEMBER": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "invalidRequestFromMember" + } + }, + "DISALLOWED_RATE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "disallowedRate" + } + }, + "OTHER": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "other" + } + } + } + }, + "com.amazonaws.bcmpricingcalculator#WorkloadEstimate": { + "type": "resource", + "identifiers": { + "workloadEstimateId": { + "target": "com.amazonaws.bcmpricingcalculator#ResourceId" + } + }, + "properties": { + "name": { + "target": "com.amazonaws.bcmpricingcalculator#WorkloadEstimateName" + }, + "createdAt": { + "target": "smithy.api#Timestamp" + }, + "expiresAt": { + "target": "smithy.api#Timestamp" + }, + "status": { + "target": "com.amazonaws.bcmpricingcalculator#WorkloadEstimateStatus" + }, + "failureMessage": { + "target": "smithy.api#String" + }, + "rateType": { + "target": "com.amazonaws.bcmpricingcalculator#WorkloadEstimateRateType" + }, + "rateTimestamp": { + "target": "smithy.api#Timestamp" + }, + "totalCost": { + "target": "smithy.api#Double" + }, + "costCurrency": { + "target": "com.amazonaws.bcmpricingcalculator#CurrencyCode" + } + }, + "create": { + "target": "com.amazonaws.bcmpricingcalculator#CreateWorkloadEstimate" + }, + "read": { + "target": "com.amazonaws.bcmpricingcalculator#GetWorkloadEstimate" + }, + "update": { + "target": "com.amazonaws.bcmpricingcalculator#UpdateWorkloadEstimate" + }, + "delete": { + "target": "com.amazonaws.bcmpricingcalculator#DeleteWorkloadEstimate" + }, + "list": { + "target": "com.amazonaws.bcmpricingcalculator#ListWorkloadEstimates" + }, + "resources": [ + { + "target": "com.amazonaws.bcmpricingcalculator#WorkloadEstimateUsage" + } + ], + "traits": { + "aws.api#arn": { + "template": "workload-estimate/{workloadEstimateId}" + }, + "aws.api#taggable": {}, + "aws.iam#iamResource": { + "name": "workload-estimate" + }, + "smithy.api#documentation": "Represents a workload estimate that allows usage modeling" + } + }, + "com.amazonaws.bcmpricingcalculator#WorkloadEstimateCostStatus": { + "type": "enum", + "members": { + "VALID": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "VALID" + } + }, + "INVALID": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INVALID" + } + }, + "STALE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "STALE" + } + } + } + }, + "com.amazonaws.bcmpricingcalculator#WorkloadEstimateName": { + "type": "string", + "traits": { + "smithy.api#length": { + "max": 64 + }, + "smithy.api#pattern": "^[a-zA-Z0-9-]+$" + } + }, + "com.amazonaws.bcmpricingcalculator#WorkloadEstimateRateType": { + "type": "enum", + "members": { + "BEFORE_DISCOUNTS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "BEFORE_DISCOUNTS" + } + }, + "AFTER_DISCOUNTS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AFTER_DISCOUNTS" + } + } + } + }, + "com.amazonaws.bcmpricingcalculator#WorkloadEstimateStatus": { + "type": "enum", + "members": { + "UPDATING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "UPDATING" + } + }, + "VALID": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "VALID" + } + }, + "INVALID": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INVALID" + } + }, + "ACTION_NEEDED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ACTION_NEEDED" + } + } + } + }, + "com.amazonaws.bcmpricingcalculator#WorkloadEstimateSummaries": { + "type": "list", + "member": { + "target": "com.amazonaws.bcmpricingcalculator#WorkloadEstimateSummary" + } + }, + "com.amazonaws.bcmpricingcalculator#WorkloadEstimateSummary": { + "type": "structure", + "members": { + "id": { + "target": "com.amazonaws.bcmpricingcalculator#ResourceId", + "traits": { + "smithy.api#documentation": "\n The unique identifier of the workload estimate.\n
", + "smithy.api#required": {}, + "smithy.api#resourceIdentifier": "workloadEstimateId" + } + }, + "name": { + "target": "com.amazonaws.bcmpricingcalculator#WorkloadEstimateName", + "traits": { + "smithy.api#documentation": "\n The name of the workload estimate.\n
" + } + }, + "createdAt": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "\n The timestamp when the workload estimate was created.\n
" + } + }, + "expiresAt": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "\n The timestamp when the workload estimate will expire.\n
" + } + }, + "rateType": { + "target": "com.amazonaws.bcmpricingcalculator#WorkloadEstimateRateType", + "traits": { + "smithy.api#documentation": "\n The type of pricing rates used for the estimate.\n
" + } + }, + "rateTimestamp": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "\n The timestamp of the pricing rates used for the estimate.\n
" + } + }, + "status": { + "target": "com.amazonaws.bcmpricingcalculator#WorkloadEstimateStatus", + "traits": { + "smithy.api#documentation": "\n The current status of the workload estimate.\n
" + } + }, + "totalCost": { + "target": "smithy.api#Double", + "traits": { + "smithy.api#documentation": "\n The total estimated cost for the workload.\n
" + } + }, + "costCurrency": { + "target": "com.amazonaws.bcmpricingcalculator#CurrencyCode", + "traits": { + "smithy.api#documentation": "\n The currency of the estimated cost.\n
" + } + }, + "failureMessage": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "\n An error message if the workload estimate creation or processing failed.\n
" + } + } + }, + "traits": { + "smithy.api#documentation": "\n Provides a summary of a workload estimate.\n
" + } + }, + "com.amazonaws.bcmpricingcalculator#WorkloadEstimateUpdateUsageErrorCode": { + "type": "enum", + "members": { + "BAD_REQUEST": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "BAD_REQUEST" + } + }, + "NOT_FOUND": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "NOT_FOUND" + } + }, + "CONFLICT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CONFLICT" + } + }, + "INTERNAL_SERVER_ERROR": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INTERNAL_SERVER_ERROR" + } + } + } + }, + "com.amazonaws.bcmpricingcalculator#WorkloadEstimateUsage": { + "type": "resource", + "identifiers": { + "workloadEstimateId": { + "target": "com.amazonaws.bcmpricingcalculator#ResourceId" + }, + "id": { + "target": "com.amazonaws.bcmpricingcalculator#ResourceId" + } + }, + "list": { + "target": "com.amazonaws.bcmpricingcalculator#ListWorkloadEstimateUsage" + }, + "collectionOperations": [ + { + "target": "com.amazonaws.bcmpricingcalculator#BatchCreateWorkloadEstimateUsage" + }, + { + "target": "com.amazonaws.bcmpricingcalculator#BatchDeleteWorkloadEstimateUsage" + }, + { + "target": "com.amazonaws.bcmpricingcalculator#BatchUpdateWorkloadEstimateUsage" + } + ], + "traits": { + "aws.iam#disableConditionKeyInference": {} + } + }, + "com.amazonaws.bcmpricingcalculator#WorkloadEstimateUsageItem": { + "type": "structure", + "members": { + "serviceCode": { + "target": "com.amazonaws.bcmpricingcalculator#ServiceCode", + "traits": { + "smithy.api#documentation": "\n The Amazon Web Services service code associated with this usage item.\n
", + "smithy.api#required": {} + } + }, + "usageType": { + "target": "com.amazonaws.bcmpricingcalculator#UsageType", + "traits": { + "smithy.api#documentation": "\n The type of usage for this item.\n
", + "smithy.api#required": {} + } + }, + "operation": { + "target": "com.amazonaws.bcmpricingcalculator#Operation", + "traits": { + "smithy.api#documentation": "\n The specific operation associated with this usage item.\n
", + "smithy.api#required": {} + } + }, + "location": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "\n The location associated with this usage item.\n
" + } + }, + "id": { + "target": "com.amazonaws.bcmpricingcalculator#ResourceId", + "traits": { + "smithy.api#documentation": "\n The unique identifier of this usage item.\n
" + } + }, + "usageAccountId": { + "target": "com.amazonaws.bcmpricingcalculator#AccountId", + "traits": { + "smithy.api#documentation": "\n The Amazon Web Services account ID associated with this usage item.\n
" + } + }, + "group": { + "target": "com.amazonaws.bcmpricingcalculator#UsageGroup", + "traits": { + "smithy.api#documentation": "\n The group identifier for this usage item.\n
" + } + }, + "quantity": { + "target": "com.amazonaws.bcmpricingcalculator#WorkloadEstimateUsageQuantity", + "traits": { + "smithy.api#documentation": "\n The estimated usage quantity for this item.\n
" + } + }, + "cost": { + "target": "smithy.api#Double", + "traits": { + "smithy.api#documentation": "\n The estimated cost for this usage item.\n
" + } + }, + "currency": { + "target": "com.amazonaws.bcmpricingcalculator#CurrencyCode", + "traits": { + "smithy.api#documentation": "\n The currency of the estimated cost.\n
" + } + }, + "status": { + "target": "com.amazonaws.bcmpricingcalculator#WorkloadEstimateCostStatus", + "traits": { + "smithy.api#documentation": "\n The current status of this usage item.\n
" + } + }, + "historicalUsage": { + "target": "com.amazonaws.bcmpricingcalculator#HistoricalUsageEntity", + "traits": { + "smithy.api#documentation": "\n Historical usage data associated with this item, if available.\n
" + } + } + }, + "traits": { + "smithy.api#documentation": "\n Represents a usage item in a workload estimate.\n
" + } + }, + "com.amazonaws.bcmpricingcalculator#WorkloadEstimateUsageItems": { + "type": "list", + "member": { + "target": "com.amazonaws.bcmpricingcalculator#WorkloadEstimateUsageItem" + } + }, + "com.amazonaws.bcmpricingcalculator#WorkloadEstimateUsageQuantity": { + "type": "structure", + "members": { + "unit": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "\n The unit of measurement for the usage quantity.\n
" + } + }, + "amount": { + "target": "smithy.api#Double", + "traits": { + "smithy.api#documentation": "\n The numeric value of the usage quantity.\n
" + } + } + }, + "traits": { + "smithy.api#documentation": "\n Represents a usage quantity for a workload estimate.\n
" + } + } + } +}