@aws-sdk/client-billingconductor 3.473.0 → 3.476.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/README.md +18 -9
  2. package/dist-cjs/Billingconductor.js +2 -0
  3. package/dist-cjs/commands/GetBillingGroupCostReportCommand.js +51 -0
  4. package/dist-cjs/commands/index.js +1 -0
  5. package/dist-cjs/models/models_0.js +5 -1
  6. package/dist-cjs/pagination/GetBillingGroupCostReportPaginator.js +29 -0
  7. package/dist-cjs/pagination/index.js +1 -0
  8. package/dist-cjs/protocols/Aws_restJson1.js +74 -2
  9. package/dist-es/Billingconductor.js +2 -0
  10. package/dist-es/commands/GetBillingGroupCostReportCommand.js +47 -0
  11. package/dist-es/commands/index.js +1 -0
  12. package/dist-es/models/models_0.js +4 -0
  13. package/dist-es/pagination/GetBillingGroupCostReportPaginator.js +25 -0
  14. package/dist-es/pagination/index.js +1 -0
  15. package/dist-es/protocols/Aws_restJson1.js +70 -0
  16. package/dist-types/Billingconductor.d.ts +17 -9
  17. package/dist-types/BillingconductorClient.d.ts +13 -11
  18. package/dist-types/commands/CreateCustomLineItemCommand.d.ts +3 -3
  19. package/dist-types/commands/GetBillingGroupCostReportCommand.d.ts +118 -0
  20. package/dist-types/commands/index.d.ts +1 -0
  21. package/dist-types/index.d.ts +10 -9
  22. package/dist-types/models/models_0.d.ts +142 -3
  23. package/dist-types/pagination/GetBillingGroupCostReportPaginator.d.ts +7 -0
  24. package/dist-types/pagination/index.d.ts +1 -0
  25. package/dist-types/protocols/Aws_restJson1.d.ts +9 -0
  26. package/dist-types/ts3.4/Billingconductor.d.ts +17 -0
  27. package/dist-types/ts3.4/BillingconductorClient.d.ts +6 -0
  28. package/dist-types/ts3.4/commands/GetBillingGroupCostReportCommand.d.ts +42 -0
  29. package/dist-types/ts3.4/commands/index.d.ts +1 -0
  30. package/dist-types/ts3.4/models/models_0.d.ts +34 -0
  31. package/dist-types/ts3.4/pagination/GetBillingGroupCostReportPaginator.d.ts +11 -0
  32. package/dist-types/ts3.4/pagination/index.d.ts +1 -0
  33. package/dist-types/ts3.4/protocols/Aws_restJson1.d.ts +12 -0
  34. package/package.json +4 -4
package/README.md CHANGED
@@ -6,15 +6,16 @@
6
6
 
7
7
  AWS SDK for JavaScript Billingconductor Client for Node.js, Browser and React Native.
8
8
 
9
- <p>Amazon Web Services Billing Conductor is a fully managed service that you can use
10
- to customize a <a href="https://docs.aws.amazon.com/billingconductor/latest/userguide/understanding-eb.html#eb-other-definitions">pro forma</a> version of your billing data each month, to accurately show or chargeback
11
- your end customers. Amazon Web Services Billing Conductor doesn't change the way
12
- you're billed by Amazon Web Services each month by design. Instead, it provides you with a
13
- mechanism to configure, generate, and display rates to certain customers over a given billing
14
- period. You can also analyze the difference between the rates you apply to your accounting
15
- groupings relative to your actual rates from Amazon Web Services. As a result of your Amazon Web Services Billing Conductor configuration, the payer account can also see the
16
- custom rate applied on the billing details page of the <a href="https://console.aws.amazon.com/billing">Amazon Web Services Billing console</a>, or configure a cost and usage report per
17
- billing group.</p>
9
+ <p>Amazon Web Services Billing Conductor is a fully managed service that you can use to
10
+ customize a <a href="https://docs.aws.amazon.com/billingconductor/latest/userguide/understanding-eb.html#eb-other-definitions">proforma</a> version of your billing data each month, to accurately show or chargeback
11
+ your end customers. Amazon Web Services Billing Conductor doesn't change the way you're billed
12
+ by Amazon Web Services each month by design. Instead, it provides you with a mechanism to
13
+ configure, generate, and display rates to certain customers over a given billing period. You
14
+ can also analyze the difference between the rates you apply to your accounting groupings
15
+ relative to your actual rates from Amazon Web Services. As a result of your Amazon Web Services
16
+ Billing Conductor configuration, the payer account can also see the custom rate applied on the
17
+ billing details page of the <a href="https://console.aws.amazon.com/billing">Amazon Web Services Billing
18
+ console</a>, or configure a cost and usage report per billing group.</p>
18
19
  <p>This documentation shows how you can configure Amazon Web Services Billing Conductor using its
19
20
  API. For more information about using the <a href="https://console.aws.amazon.com/billingconductor/">Amazon Web Services
20
21
  Billing Conductor</a> user interface, see the <a href="https://docs.aws.amazon.com/billingconductor/latest/userguide/what-is-billingconductor.html"> Amazon Web Services Billing Conductor User Guide</a>.</p>
@@ -325,6 +326,14 @@ DisassociatePricingRules
325
326
 
326
327
  [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/billingconductor/command/DisassociatePricingRulesCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-billingconductor/Interface/DisassociatePricingRulesCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-billingconductor/Interface/DisassociatePricingRulesCommandOutput/)
327
328
 
329
+ </details>
330
+ <details>
331
+ <summary>
332
+ GetBillingGroupCostReport
333
+ </summary>
334
+
335
+ [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/billingconductor/command/GetBillingGroupCostReportCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-billingconductor/Interface/GetBillingGroupCostReportCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-billingconductor/Interface/GetBillingGroupCostReportCommandOutput/)
336
+
328
337
  </details>
329
338
  <details>
330
339
  <summary>
@@ -17,6 +17,7 @@ const DeletePricingPlanCommand_1 = require("./commands/DeletePricingPlanCommand"
17
17
  const DeletePricingRuleCommand_1 = require("./commands/DeletePricingRuleCommand");
18
18
  const DisassociateAccountsCommand_1 = require("./commands/DisassociateAccountsCommand");
19
19
  const DisassociatePricingRulesCommand_1 = require("./commands/DisassociatePricingRulesCommand");
20
+ const GetBillingGroupCostReportCommand_1 = require("./commands/GetBillingGroupCostReportCommand");
20
21
  const ListAccountAssociationsCommand_1 = require("./commands/ListAccountAssociationsCommand");
21
22
  const ListBillingGroupCostReportsCommand_1 = require("./commands/ListBillingGroupCostReportsCommand");
22
23
  const ListBillingGroupsCommand_1 = require("./commands/ListBillingGroupsCommand");
@@ -49,6 +50,7 @@ const commands = {
49
50
  DeletePricingRuleCommand: DeletePricingRuleCommand_1.DeletePricingRuleCommand,
50
51
  DisassociateAccountsCommand: DisassociateAccountsCommand_1.DisassociateAccountsCommand,
51
52
  DisassociatePricingRulesCommand: DisassociatePricingRulesCommand_1.DisassociatePricingRulesCommand,
53
+ GetBillingGroupCostReportCommand: GetBillingGroupCostReportCommand_1.GetBillingGroupCostReportCommand,
52
54
  ListAccountAssociationsCommand: ListAccountAssociationsCommand_1.ListAccountAssociationsCommand,
53
55
  ListBillingGroupCostReportsCommand: ListBillingGroupCostReportsCommand_1.ListBillingGroupCostReportsCommand,
54
56
  ListBillingGroupsCommand: ListBillingGroupsCommand_1.ListBillingGroupsCommand,
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GetBillingGroupCostReportCommand = exports.$Command = void 0;
4
+ const middleware_endpoint_1 = require("@smithy/middleware-endpoint");
5
+ const middleware_serde_1 = require("@smithy/middleware-serde");
6
+ const smithy_client_1 = require("@smithy/smithy-client");
7
+ Object.defineProperty(exports, "$Command", { enumerable: true, get: function () { return smithy_client_1.Command; } });
8
+ const types_1 = require("@smithy/types");
9
+ const Aws_restJson1_1 = require("../protocols/Aws_restJson1");
10
+ class GetBillingGroupCostReportCommand extends smithy_client_1.Command {
11
+ static getEndpointParameterInstructions() {
12
+ return {
13
+ UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
14
+ Endpoint: { type: "builtInParams", name: "endpoint" },
15
+ Region: { type: "builtInParams", name: "region" },
16
+ UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" },
17
+ };
18
+ }
19
+ constructor(input) {
20
+ super();
21
+ this.input = input;
22
+ }
23
+ resolveMiddleware(clientStack, configuration, options) {
24
+ this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));
25
+ this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, GetBillingGroupCostReportCommand.getEndpointParameterInstructions()));
26
+ const stack = clientStack.concat(this.middlewareStack);
27
+ const { logger } = configuration;
28
+ const clientName = "BillingconductorClient";
29
+ const commandName = "GetBillingGroupCostReportCommand";
30
+ const handlerExecutionContext = {
31
+ logger,
32
+ clientName,
33
+ commandName,
34
+ inputFilterSensitiveLog: (_) => _,
35
+ outputFilterSensitiveLog: (_) => _,
36
+ [types_1.SMITHY_CONTEXT_KEY]: {
37
+ service: "AWSBillingConductor",
38
+ operation: "GetBillingGroupCostReport",
39
+ },
40
+ };
41
+ const { requestHandler } = configuration;
42
+ return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);
43
+ }
44
+ serialize(input, context) {
45
+ return (0, Aws_restJson1_1.se_GetBillingGroupCostReportCommand)(input, context);
46
+ }
47
+ deserialize(output, context) {
48
+ return (0, Aws_restJson1_1.de_GetBillingGroupCostReportCommand)(output, context);
49
+ }
50
+ }
51
+ exports.GetBillingGroupCostReportCommand = GetBillingGroupCostReportCommand;
@@ -15,6 +15,7 @@ tslib_1.__exportStar(require("./DeletePricingPlanCommand"), exports);
15
15
  tslib_1.__exportStar(require("./DeletePricingRuleCommand"), exports);
16
16
  tslib_1.__exportStar(require("./DisassociateAccountsCommand"), exports);
17
17
  tslib_1.__exportStar(require("./DisassociatePricingRulesCommand"), exports);
18
+ tslib_1.__exportStar(require("./GetBillingGroupCostReportCommand"), exports);
18
19
  tslib_1.__exportStar(require("./ListAccountAssociationsCommand"), exports);
19
20
  tslib_1.__exportStar(require("./ListBillingGroupCostReportsCommand"), exports);
20
21
  tslib_1.__exportStar(require("./ListBillingGroupsCommand"), exports);
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UpdatePricingRuleOutputFilterSensitiveLog = exports.UpdatePricingRuleInputFilterSensitiveLog = exports.ListPricingRulesOutputFilterSensitiveLog = exports.PricingRuleListElementFilterSensitiveLog = exports.CreatePricingRuleInputFilterSensitiveLog = exports.UpdatePricingPlanOutputFilterSensitiveLog = exports.UpdatePricingPlanInputFilterSensitiveLog = exports.ListPricingPlansOutputFilterSensitiveLog = exports.PricingPlanListElementFilterSensitiveLog = exports.CreatePricingPlanInputFilterSensitiveLog = exports.ListAccountAssociationsOutputFilterSensitiveLog = exports.UpdateCustomLineItemOutputFilterSensitiveLog = exports.UpdateCustomLineItemInputFilterSensitiveLog = exports.ListCustomLineItemVersionsOutputFilterSensitiveLog = exports.CustomLineItemVersionListElementFilterSensitiveLog = exports.ListCustomLineItemsOutputFilterSensitiveLog = exports.CustomLineItemListElementFilterSensitiveLog = exports.ListCustomLineItemsInputFilterSensitiveLog = exports.ListCustomLineItemsFilterFilterSensitiveLog = exports.CreateCustomLineItemInputFilterSensitiveLog = exports.UpdateBillingGroupOutputFilterSensitiveLog = exports.UpdateBillingGroupInputFilterSensitiveLog = exports.ListBillingGroupsOutputFilterSensitiveLog = exports.BillingGroupListElementFilterSensitiveLog = exports.CreateBillingGroupInputFilterSensitiveLog = exports.AccountAssociationsListElementFilterSensitiveLog = exports.PricingRuleType = exports.PricingRuleScope = exports.CustomLineItemRelationship = exports.CurrencyCode = exports.CustomLineItemType = exports.LineItemFilterValue = exports.MatchOption = exports.LineItemFilterAttributeName = exports.BillingGroupStatus = exports.AssociateResourceErrorReason = exports.ValidationException = exports.ValidationExceptionReason = exports.ThrottlingException = exports.ServiceLimitExceededException = exports.ResourceNotFoundException = exports.InternalServerException = exports.ConflictException = exports.ConflictExceptionReason = exports.AccessDeniedException = void 0;
3
+ exports.UpdatePricingRuleOutputFilterSensitiveLog = exports.UpdatePricingRuleInputFilterSensitiveLog = exports.ListPricingRulesOutputFilterSensitiveLog = exports.PricingRuleListElementFilterSensitiveLog = exports.CreatePricingRuleInputFilterSensitiveLog = exports.UpdatePricingPlanOutputFilterSensitiveLog = exports.UpdatePricingPlanInputFilterSensitiveLog = exports.ListPricingPlansOutputFilterSensitiveLog = exports.PricingPlanListElementFilterSensitiveLog = exports.CreatePricingPlanInputFilterSensitiveLog = exports.ListAccountAssociationsOutputFilterSensitiveLog = exports.UpdateCustomLineItemOutputFilterSensitiveLog = exports.UpdateCustomLineItemInputFilterSensitiveLog = exports.ListCustomLineItemVersionsOutputFilterSensitiveLog = exports.CustomLineItemVersionListElementFilterSensitiveLog = exports.ListCustomLineItemsOutputFilterSensitiveLog = exports.CustomLineItemListElementFilterSensitiveLog = exports.ListCustomLineItemsInputFilterSensitiveLog = exports.ListCustomLineItemsFilterFilterSensitiveLog = exports.CreateCustomLineItemInputFilterSensitiveLog = exports.UpdateBillingGroupOutputFilterSensitiveLog = exports.UpdateBillingGroupInputFilterSensitiveLog = exports.ListBillingGroupsOutputFilterSensitiveLog = exports.BillingGroupListElementFilterSensitiveLog = exports.CreateBillingGroupInputFilterSensitiveLog = exports.AccountAssociationsListElementFilterSensitiveLog = exports.PricingRuleType = exports.PricingRuleScope = exports.GroupByAttributeName = exports.CustomLineItemRelationship = exports.CurrencyCode = exports.CustomLineItemType = exports.LineItemFilterValue = exports.MatchOption = exports.LineItemFilterAttributeName = exports.BillingGroupStatus = exports.AssociateResourceErrorReason = exports.ValidationException = exports.ValidationExceptionReason = exports.ThrottlingException = exports.ServiceLimitExceededException = exports.ResourceNotFoundException = exports.InternalServerException = exports.ConflictException = exports.ConflictExceptionReason = exports.AccessDeniedException = void 0;
4
4
  const smithy_client_1 = require("@smithy/smithy-client");
5
5
  const BillingconductorServiceException_1 = require("./BillingconductorServiceException");
6
6
  class AccessDeniedException extends BillingconductorServiceException_1.BillingconductorServiceException {
@@ -215,6 +215,10 @@ exports.CustomLineItemRelationship = {
215
215
  CHILD: "CHILD",
216
216
  PARENT: "PARENT",
217
217
  };
218
+ exports.GroupByAttributeName = {
219
+ BILLING_PERIOD: "BILLING_PERIOD",
220
+ PRODUCT_NAME: "PRODUCT_NAME",
221
+ };
218
222
  exports.PricingRuleScope = {
219
223
  BILLING_ENTITY: "BILLING_ENTITY",
220
224
  GLOBAL: "GLOBAL",
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.paginateGetBillingGroupCostReport = void 0;
4
+ const BillingconductorClient_1 = require("../BillingconductorClient");
5
+ const GetBillingGroupCostReportCommand_1 = require("../commands/GetBillingGroupCostReportCommand");
6
+ const makePagedClientRequest = async (client, input, ...args) => {
7
+ return await client.send(new GetBillingGroupCostReportCommand_1.GetBillingGroupCostReportCommand(input), ...args);
8
+ };
9
+ async function* paginateGetBillingGroupCostReport(config, input, ...additionalArguments) {
10
+ let token = config.startingToken || undefined;
11
+ let hasNext = true;
12
+ let page;
13
+ while (hasNext) {
14
+ input.NextToken = token;
15
+ input["MaxResults"] = config.pageSize;
16
+ if (config.client instanceof BillingconductorClient_1.BillingconductorClient) {
17
+ page = await makePagedClientRequest(config.client, input, ...additionalArguments);
18
+ }
19
+ else {
20
+ throw new Error("Invalid client, expected Billingconductor | BillingconductorClient");
21
+ }
22
+ yield page;
23
+ const prevToken = token;
24
+ token = page.NextToken;
25
+ hasNext = !!(token && (!config.stopOnSameToken || token !== prevToken));
26
+ }
27
+ return undefined;
28
+ }
29
+ exports.paginateGetBillingGroupCostReport = paginateGetBillingGroupCostReport;
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./GetBillingGroupCostReportPaginator"), exports);
4
5
  tslib_1.__exportStar(require("./Interfaces"), exports);
5
6
  tslib_1.__exportStar(require("./ListAccountAssociationsPaginator"), exports);
6
7
  tslib_1.__exportStar(require("./ListBillingGroupCostReportsPaginator"), exports);
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.de_ListCustomLineItemVersionsCommand = exports.de_ListCustomLineItemsCommand = exports.de_ListBillingGroupsCommand = exports.de_ListBillingGroupCostReportsCommand = exports.de_ListAccountAssociationsCommand = exports.de_DisassociatePricingRulesCommand = exports.de_DisassociateAccountsCommand = exports.de_DeletePricingRuleCommand = exports.de_DeletePricingPlanCommand = exports.de_DeleteCustomLineItemCommand = exports.de_DeleteBillingGroupCommand = exports.de_CreatePricingRuleCommand = exports.de_CreatePricingPlanCommand = exports.de_CreateCustomLineItemCommand = exports.de_CreateBillingGroupCommand = exports.de_BatchDisassociateResourcesFromCustomLineItemCommand = exports.de_BatchAssociateResourcesToCustomLineItemCommand = exports.de_AssociatePricingRulesCommand = exports.de_AssociateAccountsCommand = exports.se_UpdatePricingRuleCommand = exports.se_UpdatePricingPlanCommand = exports.se_UpdateCustomLineItemCommand = exports.se_UpdateBillingGroupCommand = exports.se_UntagResourceCommand = exports.se_TagResourceCommand = exports.se_ListTagsForResourceCommand = exports.se_ListResourcesAssociatedToCustomLineItemCommand = exports.se_ListPricingRulesAssociatedToPricingPlanCommand = exports.se_ListPricingRulesCommand = exports.se_ListPricingPlansAssociatedWithPricingRuleCommand = exports.se_ListPricingPlansCommand = exports.se_ListCustomLineItemVersionsCommand = exports.se_ListCustomLineItemsCommand = exports.se_ListBillingGroupsCommand = exports.se_ListBillingGroupCostReportsCommand = exports.se_ListAccountAssociationsCommand = exports.se_DisassociatePricingRulesCommand = exports.se_DisassociateAccountsCommand = exports.se_DeletePricingRuleCommand = exports.se_DeletePricingPlanCommand = exports.se_DeleteCustomLineItemCommand = exports.se_DeleteBillingGroupCommand = exports.se_CreatePricingRuleCommand = exports.se_CreatePricingPlanCommand = exports.se_CreateCustomLineItemCommand = exports.se_CreateBillingGroupCommand = exports.se_BatchDisassociateResourcesFromCustomLineItemCommand = exports.se_BatchAssociateResourcesToCustomLineItemCommand = exports.se_AssociatePricingRulesCommand = exports.se_AssociateAccountsCommand = void 0;
4
- exports.de_UpdatePricingRuleCommand = exports.de_UpdatePricingPlanCommand = exports.de_UpdateCustomLineItemCommand = exports.de_UpdateBillingGroupCommand = exports.de_UntagResourceCommand = exports.de_TagResourceCommand = exports.de_ListTagsForResourceCommand = exports.de_ListResourcesAssociatedToCustomLineItemCommand = exports.de_ListPricingRulesAssociatedToPricingPlanCommand = exports.de_ListPricingRulesCommand = exports.de_ListPricingPlansAssociatedWithPricingRuleCommand = exports.de_ListPricingPlansCommand = void 0;
3
+ exports.de_ListBillingGroupsCommand = exports.de_ListBillingGroupCostReportsCommand = exports.de_ListAccountAssociationsCommand = exports.de_GetBillingGroupCostReportCommand = exports.de_DisassociatePricingRulesCommand = exports.de_DisassociateAccountsCommand = exports.de_DeletePricingRuleCommand = exports.de_DeletePricingPlanCommand = exports.de_DeleteCustomLineItemCommand = exports.de_DeleteBillingGroupCommand = exports.de_CreatePricingRuleCommand = exports.de_CreatePricingPlanCommand = exports.de_CreateCustomLineItemCommand = exports.de_CreateBillingGroupCommand = exports.de_BatchDisassociateResourcesFromCustomLineItemCommand = exports.de_BatchAssociateResourcesToCustomLineItemCommand = exports.de_AssociatePricingRulesCommand = exports.de_AssociateAccountsCommand = exports.se_UpdatePricingRuleCommand = exports.se_UpdatePricingPlanCommand = exports.se_UpdateCustomLineItemCommand = exports.se_UpdateBillingGroupCommand = exports.se_UntagResourceCommand = exports.se_TagResourceCommand = exports.se_ListTagsForResourceCommand = exports.se_ListResourcesAssociatedToCustomLineItemCommand = exports.se_ListPricingRulesAssociatedToPricingPlanCommand = exports.se_ListPricingRulesCommand = exports.se_ListPricingPlansAssociatedWithPricingRuleCommand = exports.se_ListPricingPlansCommand = exports.se_ListCustomLineItemVersionsCommand = exports.se_ListCustomLineItemsCommand = exports.se_ListBillingGroupsCommand = exports.se_ListBillingGroupCostReportsCommand = exports.se_ListAccountAssociationsCommand = exports.se_GetBillingGroupCostReportCommand = exports.se_DisassociatePricingRulesCommand = exports.se_DisassociateAccountsCommand = exports.se_DeletePricingRuleCommand = exports.se_DeletePricingPlanCommand = exports.se_DeleteCustomLineItemCommand = exports.se_DeleteBillingGroupCommand = exports.se_CreatePricingRuleCommand = exports.se_CreatePricingPlanCommand = exports.se_CreateCustomLineItemCommand = exports.se_CreateBillingGroupCommand = exports.se_BatchDisassociateResourcesFromCustomLineItemCommand = exports.se_BatchAssociateResourcesToCustomLineItemCommand = exports.se_AssociatePricingRulesCommand = exports.se_AssociateAccountsCommand = void 0;
4
+ exports.de_UpdatePricingRuleCommand = exports.de_UpdatePricingPlanCommand = exports.de_UpdateCustomLineItemCommand = exports.de_UpdateBillingGroupCommand = exports.de_UntagResourceCommand = exports.de_TagResourceCommand = exports.de_ListTagsForResourceCommand = exports.de_ListResourcesAssociatedToCustomLineItemCommand = exports.de_ListPricingRulesAssociatedToPricingPlanCommand = exports.de_ListPricingRulesCommand = exports.de_ListPricingPlansAssociatedWithPricingRuleCommand = exports.de_ListPricingPlansCommand = exports.de_ListCustomLineItemVersionsCommand = exports.de_ListCustomLineItemsCommand = void 0;
5
5
  const protocol_http_1 = require("@smithy/protocol-http");
6
6
  const smithy_client_1 = require("@smithy/smithy-client");
7
7
  const BillingconductorServiceException_1 = require("../models/BillingconductorServiceException");
@@ -339,6 +339,31 @@ const se_DisassociatePricingRulesCommand = async (input, context) => {
339
339
  });
340
340
  };
341
341
  exports.se_DisassociatePricingRulesCommand = se_DisassociatePricingRulesCommand;
342
+ const se_GetBillingGroupCostReportCommand = async (input, context) => {
343
+ const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
344
+ const headers = {
345
+ "content-type": "application/json",
346
+ };
347
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/get-billing-group-cost-report";
348
+ let body;
349
+ body = JSON.stringify((0, smithy_client_1.take)(input, {
350
+ Arn: [],
351
+ BillingPeriodRange: (_) => (0, smithy_client_1._json)(_),
352
+ GroupBy: (_) => (0, smithy_client_1._json)(_),
353
+ MaxResults: [],
354
+ NextToken: [],
355
+ }));
356
+ return new protocol_http_1.HttpRequest({
357
+ protocol,
358
+ hostname,
359
+ port,
360
+ method: "POST",
361
+ headers,
362
+ path: resolvedPath,
363
+ body,
364
+ });
365
+ };
366
+ exports.se_GetBillingGroupCostReportCommand = se_GetBillingGroupCostReportCommand;
342
367
  const se_ListAccountAssociationsCommand = async (input, context) => {
343
368
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
344
369
  const headers = {
@@ -1430,6 +1455,53 @@ const de_DisassociatePricingRulesCommandError = async (output, context) => {
1430
1455
  });
1431
1456
  }
1432
1457
  };
1458
+ const de_GetBillingGroupCostReportCommand = async (output, context) => {
1459
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
1460
+ return de_GetBillingGroupCostReportCommandError(output, context);
1461
+ }
1462
+ const contents = (0, smithy_client_1.map)({
1463
+ $metadata: deserializeMetadata(output),
1464
+ });
1465
+ const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), "body");
1466
+ const doc = (0, smithy_client_1.take)(data, {
1467
+ BillingGroupCostReportResults: smithy_client_1._json,
1468
+ NextToken: smithy_client_1.expectString,
1469
+ });
1470
+ Object.assign(contents, doc);
1471
+ return contents;
1472
+ };
1473
+ exports.de_GetBillingGroupCostReportCommand = de_GetBillingGroupCostReportCommand;
1474
+ const de_GetBillingGroupCostReportCommandError = async (output, context) => {
1475
+ const parsedOutput = {
1476
+ ...output,
1477
+ body: await parseErrorBody(output.body, context),
1478
+ };
1479
+ const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
1480
+ switch (errorCode) {
1481
+ case "AccessDeniedException":
1482
+ case "com.amazonaws.billingconductor#AccessDeniedException":
1483
+ throw await de_AccessDeniedExceptionRes(parsedOutput, context);
1484
+ case "InternalServerException":
1485
+ case "com.amazonaws.billingconductor#InternalServerException":
1486
+ throw await de_InternalServerExceptionRes(parsedOutput, context);
1487
+ case "ResourceNotFoundException":
1488
+ case "com.amazonaws.billingconductor#ResourceNotFoundException":
1489
+ throw await de_ResourceNotFoundExceptionRes(parsedOutput, context);
1490
+ case "ThrottlingException":
1491
+ case "com.amazonaws.billingconductor#ThrottlingException":
1492
+ throw await de_ThrottlingExceptionRes(parsedOutput, context);
1493
+ case "ValidationException":
1494
+ case "com.amazonaws.billingconductor#ValidationException":
1495
+ throw await de_ValidationExceptionRes(parsedOutput, context);
1496
+ default:
1497
+ const parsedBody = parsedOutput.body;
1498
+ return throwDefaultError({
1499
+ output,
1500
+ parsedBody,
1501
+ errorCode,
1502
+ });
1503
+ }
1504
+ };
1433
1505
  const de_ListAccountAssociationsCommand = async (output, context) => {
1434
1506
  if (output.statusCode !== 200 && output.statusCode >= 300) {
1435
1507
  return de_ListAccountAssociationsCommandError(output, context);
@@ -14,6 +14,7 @@ import { DeletePricingPlanCommand, } from "./commands/DeletePricingPlanCommand";
14
14
  import { DeletePricingRuleCommand, } from "./commands/DeletePricingRuleCommand";
15
15
  import { DisassociateAccountsCommand, } from "./commands/DisassociateAccountsCommand";
16
16
  import { DisassociatePricingRulesCommand, } from "./commands/DisassociatePricingRulesCommand";
17
+ import { GetBillingGroupCostReportCommand, } from "./commands/GetBillingGroupCostReportCommand";
17
18
  import { ListAccountAssociationsCommand, } from "./commands/ListAccountAssociationsCommand";
18
19
  import { ListBillingGroupCostReportsCommand, } from "./commands/ListBillingGroupCostReportsCommand";
19
20
  import { ListBillingGroupsCommand, } from "./commands/ListBillingGroupsCommand";
@@ -46,6 +47,7 @@ const commands = {
46
47
  DeletePricingRuleCommand,
47
48
  DisassociateAccountsCommand,
48
49
  DisassociatePricingRulesCommand,
50
+ GetBillingGroupCostReportCommand,
49
51
  ListAccountAssociationsCommand,
50
52
  ListBillingGroupCostReportsCommand,
51
53
  ListBillingGroupsCommand,
@@ -0,0 +1,47 @@
1
+ import { getEndpointPlugin } from "@smithy/middleware-endpoint";
2
+ import { getSerdePlugin } from "@smithy/middleware-serde";
3
+ import { Command as $Command } from "@smithy/smithy-client";
4
+ import { SMITHY_CONTEXT_KEY, } from "@smithy/types";
5
+ import { de_GetBillingGroupCostReportCommand, se_GetBillingGroupCostReportCommand } from "../protocols/Aws_restJson1";
6
+ export { $Command };
7
+ export class GetBillingGroupCostReportCommand extends $Command {
8
+ static getEndpointParameterInstructions() {
9
+ return {
10
+ UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
11
+ Endpoint: { type: "builtInParams", name: "endpoint" },
12
+ Region: { type: "builtInParams", name: "region" },
13
+ UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" },
14
+ };
15
+ }
16
+ constructor(input) {
17
+ super();
18
+ this.input = input;
19
+ }
20
+ resolveMiddleware(clientStack, configuration, options) {
21
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
22
+ this.middlewareStack.use(getEndpointPlugin(configuration, GetBillingGroupCostReportCommand.getEndpointParameterInstructions()));
23
+ const stack = clientStack.concat(this.middlewareStack);
24
+ const { logger } = configuration;
25
+ const clientName = "BillingconductorClient";
26
+ const commandName = "GetBillingGroupCostReportCommand";
27
+ const handlerExecutionContext = {
28
+ logger,
29
+ clientName,
30
+ commandName,
31
+ inputFilterSensitiveLog: (_) => _,
32
+ outputFilterSensitiveLog: (_) => _,
33
+ [SMITHY_CONTEXT_KEY]: {
34
+ service: "AWSBillingConductor",
35
+ operation: "GetBillingGroupCostReport",
36
+ },
37
+ };
38
+ const { requestHandler } = configuration;
39
+ return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);
40
+ }
41
+ serialize(input, context) {
42
+ return se_GetBillingGroupCostReportCommand(input, context);
43
+ }
44
+ deserialize(output, context) {
45
+ return de_GetBillingGroupCostReportCommand(output, context);
46
+ }
47
+ }
@@ -12,6 +12,7 @@ export * from "./DeletePricingPlanCommand";
12
12
  export * from "./DeletePricingRuleCommand";
13
13
  export * from "./DisassociateAccountsCommand";
14
14
  export * from "./DisassociatePricingRulesCommand";
15
+ export * from "./GetBillingGroupCostReportCommand";
15
16
  export * from "./ListAccountAssociationsCommand";
16
17
  export * from "./ListBillingGroupCostReportsCommand";
17
18
  export * from "./ListBillingGroupsCommand";
@@ -205,6 +205,10 @@ export const CustomLineItemRelationship = {
205
205
  CHILD: "CHILD",
206
206
  PARENT: "PARENT",
207
207
  };
208
+ export const GroupByAttributeName = {
209
+ BILLING_PERIOD: "BILLING_PERIOD",
210
+ PRODUCT_NAME: "PRODUCT_NAME",
211
+ };
208
212
  export const PricingRuleScope = {
209
213
  BILLING_ENTITY: "BILLING_ENTITY",
210
214
  GLOBAL: "GLOBAL",
@@ -0,0 +1,25 @@
1
+ import { BillingconductorClient } from "../BillingconductorClient";
2
+ import { GetBillingGroupCostReportCommand, } from "../commands/GetBillingGroupCostReportCommand";
3
+ const makePagedClientRequest = async (client, input, ...args) => {
4
+ return await client.send(new GetBillingGroupCostReportCommand(input), ...args);
5
+ };
6
+ export async function* paginateGetBillingGroupCostReport(config, input, ...additionalArguments) {
7
+ let token = config.startingToken || undefined;
8
+ let hasNext = true;
9
+ let page;
10
+ while (hasNext) {
11
+ input.NextToken = token;
12
+ input["MaxResults"] = config.pageSize;
13
+ if (config.client instanceof BillingconductorClient) {
14
+ page = await makePagedClientRequest(config.client, input, ...additionalArguments);
15
+ }
16
+ else {
17
+ throw new Error("Invalid client, expected Billingconductor | BillingconductorClient");
18
+ }
19
+ yield page;
20
+ const prevToken = token;
21
+ token = page.NextToken;
22
+ hasNext = !!(token && (!config.stopOnSameToken || token !== prevToken));
23
+ }
24
+ return undefined;
25
+ }
@@ -1,3 +1,4 @@
1
+ export * from "./GetBillingGroupCostReportPaginator";
1
2
  export * from "./Interfaces";
2
3
  export * from "./ListAccountAssociationsPaginator";
3
4
  export * from "./ListBillingGroupCostReportsPaginator";
@@ -321,6 +321,30 @@ export const se_DisassociatePricingRulesCommand = async (input, context) => {
321
321
  body,
322
322
  });
323
323
  };
324
+ export const se_GetBillingGroupCostReportCommand = async (input, context) => {
325
+ const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
326
+ const headers = {
327
+ "content-type": "application/json",
328
+ };
329
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/get-billing-group-cost-report";
330
+ let body;
331
+ body = JSON.stringify(take(input, {
332
+ Arn: [],
333
+ BillingPeriodRange: (_) => _json(_),
334
+ GroupBy: (_) => _json(_),
335
+ MaxResults: [],
336
+ NextToken: [],
337
+ }));
338
+ return new __HttpRequest({
339
+ protocol,
340
+ hostname,
341
+ port,
342
+ method: "POST",
343
+ headers,
344
+ path: resolvedPath,
345
+ body,
346
+ });
347
+ };
324
348
  export const se_ListAccountAssociationsCommand = async (input, context) => {
325
349
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
326
350
  const headers = {
@@ -1381,6 +1405,52 @@ const de_DisassociatePricingRulesCommandError = async (output, context) => {
1381
1405
  });
1382
1406
  }
1383
1407
  };
1408
+ export const de_GetBillingGroupCostReportCommand = async (output, context) => {
1409
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
1410
+ return de_GetBillingGroupCostReportCommandError(output, context);
1411
+ }
1412
+ const contents = map({
1413
+ $metadata: deserializeMetadata(output),
1414
+ });
1415
+ const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
1416
+ const doc = take(data, {
1417
+ BillingGroupCostReportResults: _json,
1418
+ NextToken: __expectString,
1419
+ });
1420
+ Object.assign(contents, doc);
1421
+ return contents;
1422
+ };
1423
+ const de_GetBillingGroupCostReportCommandError = async (output, context) => {
1424
+ const parsedOutput = {
1425
+ ...output,
1426
+ body: await parseErrorBody(output.body, context),
1427
+ };
1428
+ const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
1429
+ switch (errorCode) {
1430
+ case "AccessDeniedException":
1431
+ case "com.amazonaws.billingconductor#AccessDeniedException":
1432
+ throw await de_AccessDeniedExceptionRes(parsedOutput, context);
1433
+ case "InternalServerException":
1434
+ case "com.amazonaws.billingconductor#InternalServerException":
1435
+ throw await de_InternalServerExceptionRes(parsedOutput, context);
1436
+ case "ResourceNotFoundException":
1437
+ case "com.amazonaws.billingconductor#ResourceNotFoundException":
1438
+ throw await de_ResourceNotFoundExceptionRes(parsedOutput, context);
1439
+ case "ThrottlingException":
1440
+ case "com.amazonaws.billingconductor#ThrottlingException":
1441
+ throw await de_ThrottlingExceptionRes(parsedOutput, context);
1442
+ case "ValidationException":
1443
+ case "com.amazonaws.billingconductor#ValidationException":
1444
+ throw await de_ValidationExceptionRes(parsedOutput, context);
1445
+ default:
1446
+ const parsedBody = parsedOutput.body;
1447
+ return throwDefaultError({
1448
+ output,
1449
+ parsedBody,
1450
+ errorCode,
1451
+ });
1452
+ }
1453
+ };
1384
1454
  export const de_ListAccountAssociationsCommand = async (output, context) => {
1385
1455
  if (output.statusCode !== 200 && output.statusCode >= 300) {
1386
1456
  return de_ListAccountAssociationsCommandError(output, context);
@@ -14,6 +14,7 @@ import { DeletePricingPlanCommandInput, DeletePricingPlanCommandOutput } from ".
14
14
  import { DeletePricingRuleCommandInput, DeletePricingRuleCommandOutput } from "./commands/DeletePricingRuleCommand";
15
15
  import { DisassociateAccountsCommandInput, DisassociateAccountsCommandOutput } from "./commands/DisassociateAccountsCommand";
16
16
  import { DisassociatePricingRulesCommandInput, DisassociatePricingRulesCommandOutput } from "./commands/DisassociatePricingRulesCommand";
17
+ import { GetBillingGroupCostReportCommandInput, GetBillingGroupCostReportCommandOutput } from "./commands/GetBillingGroupCostReportCommand";
17
18
  import { ListAccountAssociationsCommandInput, ListAccountAssociationsCommandOutput } from "./commands/ListAccountAssociationsCommand";
18
19
  import { ListBillingGroupCostReportsCommandInput, ListBillingGroupCostReportsCommandOutput } from "./commands/ListBillingGroupCostReportsCommand";
19
20
  import { ListBillingGroupsCommandInput, ListBillingGroupsCommandOutput } from "./commands/ListBillingGroupsCommand";
@@ -116,6 +117,12 @@ export interface Billingconductor {
116
117
  disassociatePricingRules(args: DisassociatePricingRulesCommandInput, options?: __HttpHandlerOptions): Promise<DisassociatePricingRulesCommandOutput>;
117
118
  disassociatePricingRules(args: DisassociatePricingRulesCommandInput, cb: (err: any, data?: DisassociatePricingRulesCommandOutput) => void): void;
118
119
  disassociatePricingRules(args: DisassociatePricingRulesCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: DisassociatePricingRulesCommandOutput) => void): void;
120
+ /**
121
+ * @see {@link GetBillingGroupCostReportCommand}
122
+ */
123
+ getBillingGroupCostReport(args: GetBillingGroupCostReportCommandInput, options?: __HttpHandlerOptions): Promise<GetBillingGroupCostReportCommandOutput>;
124
+ getBillingGroupCostReport(args: GetBillingGroupCostReportCommandInput, cb: (err: any, data?: GetBillingGroupCostReportCommandOutput) => void): void;
125
+ getBillingGroupCostReport(args: GetBillingGroupCostReportCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: GetBillingGroupCostReportCommandOutput) => void): void;
119
126
  /**
120
127
  * @see {@link ListAccountAssociationsCommand}
121
128
  */
@@ -221,15 +228,16 @@ export interface Billingconductor {
221
228
  }
222
229
  /**
223
230
  * @public
224
- * <p>Amazon Web Services Billing Conductor is a fully managed service that you can use
225
- * to customize a <a href="https://docs.aws.amazon.com/billingconductor/latest/userguide/understanding-eb.html#eb-other-definitions">pro forma</a> version of your billing data each month, to accurately show or chargeback
226
- * your end customers. Amazon Web Services Billing Conductor doesn't change the way
227
- * you're billed by Amazon Web Services each month by design. Instead, it provides you with a
228
- * mechanism to configure, generate, and display rates to certain customers over a given billing
229
- * period. You can also analyze the difference between the rates you apply to your accounting
230
- * groupings relative to your actual rates from Amazon Web Services. As a result of your Amazon Web Services Billing Conductor configuration, the payer account can also see the
231
- * custom rate applied on the billing details page of the <a href="https://console.aws.amazon.com/billing">Amazon Web Services Billing console</a>, or configure a cost and usage report per
232
- * billing group.</p>
231
+ * <p>Amazon Web Services Billing Conductor is a fully managed service that you can use to
232
+ * customize a <a href="https://docs.aws.amazon.com/billingconductor/latest/userguide/understanding-eb.html#eb-other-definitions">proforma</a> version of your billing data each month, to accurately show or chargeback
233
+ * your end customers. Amazon Web Services Billing Conductor doesn't change the way you're billed
234
+ * by Amazon Web Services each month by design. Instead, it provides you with a mechanism to
235
+ * configure, generate, and display rates to certain customers over a given billing period. You
236
+ * can also analyze the difference between the rates you apply to your accounting groupings
237
+ * relative to your actual rates from Amazon Web Services. As a result of your Amazon Web Services
238
+ * Billing Conductor configuration, the payer account can also see the custom rate applied on the
239
+ * billing details page of the <a href="https://console.aws.amazon.com/billing">Amazon Web Services Billing
240
+ * console</a>, or configure a cost and usage report per billing group.</p>
233
241
  * <p>This documentation shows how you can configure Amazon Web Services Billing Conductor using its
234
242
  * API. For more information about using the <a href="https://console.aws.amazon.com/billingconductor/">Amazon Web Services
235
243
  * Billing Conductor</a> user interface, see the <a href="https://docs.aws.amazon.com/billingconductor/latest/userguide/what-is-billingconductor.html"> Amazon Web Services Billing Conductor User Guide</a>.</p>
@@ -22,6 +22,7 @@ import { DeletePricingPlanCommandInput, DeletePricingPlanCommandOutput } from ".
22
22
  import { DeletePricingRuleCommandInput, DeletePricingRuleCommandOutput } from "./commands/DeletePricingRuleCommand";
23
23
  import { DisassociateAccountsCommandInput, DisassociateAccountsCommandOutput } from "./commands/DisassociateAccountsCommand";
24
24
  import { DisassociatePricingRulesCommandInput, DisassociatePricingRulesCommandOutput } from "./commands/DisassociatePricingRulesCommand";
25
+ import { GetBillingGroupCostReportCommandInput, GetBillingGroupCostReportCommandOutput } from "./commands/GetBillingGroupCostReportCommand";
25
26
  import { ListAccountAssociationsCommandInput, ListAccountAssociationsCommandOutput } from "./commands/ListAccountAssociationsCommand";
26
27
  import { ListBillingGroupCostReportsCommandInput, ListBillingGroupCostReportsCommandOutput } from "./commands/ListBillingGroupCostReportsCommand";
27
28
  import { ListBillingGroupsCommandInput, ListBillingGroupsCommandOutput } from "./commands/ListBillingGroupsCommand";
@@ -45,11 +46,11 @@ export { __Client };
45
46
  /**
46
47
  * @public
47
48
  */
48
- export type ServiceInputTypes = AssociateAccountsCommandInput | AssociatePricingRulesCommandInput | BatchAssociateResourcesToCustomLineItemCommandInput | BatchDisassociateResourcesFromCustomLineItemCommandInput | CreateBillingGroupCommandInput | CreateCustomLineItemCommandInput | CreatePricingPlanCommandInput | CreatePricingRuleCommandInput | DeleteBillingGroupCommandInput | DeleteCustomLineItemCommandInput | DeletePricingPlanCommandInput | DeletePricingRuleCommandInput | DisassociateAccountsCommandInput | DisassociatePricingRulesCommandInput | ListAccountAssociationsCommandInput | ListBillingGroupCostReportsCommandInput | ListBillingGroupsCommandInput | ListCustomLineItemVersionsCommandInput | ListCustomLineItemsCommandInput | ListPricingPlansAssociatedWithPricingRuleCommandInput | ListPricingPlansCommandInput | ListPricingRulesAssociatedToPricingPlanCommandInput | ListPricingRulesCommandInput | ListResourcesAssociatedToCustomLineItemCommandInput | ListTagsForResourceCommandInput | TagResourceCommandInput | UntagResourceCommandInput | UpdateBillingGroupCommandInput | UpdateCustomLineItemCommandInput | UpdatePricingPlanCommandInput | UpdatePricingRuleCommandInput;
49
+ export type ServiceInputTypes = AssociateAccountsCommandInput | AssociatePricingRulesCommandInput | BatchAssociateResourcesToCustomLineItemCommandInput | BatchDisassociateResourcesFromCustomLineItemCommandInput | CreateBillingGroupCommandInput | CreateCustomLineItemCommandInput | CreatePricingPlanCommandInput | CreatePricingRuleCommandInput | DeleteBillingGroupCommandInput | DeleteCustomLineItemCommandInput | DeletePricingPlanCommandInput | DeletePricingRuleCommandInput | DisassociateAccountsCommandInput | DisassociatePricingRulesCommandInput | GetBillingGroupCostReportCommandInput | ListAccountAssociationsCommandInput | ListBillingGroupCostReportsCommandInput | ListBillingGroupsCommandInput | ListCustomLineItemVersionsCommandInput | ListCustomLineItemsCommandInput | ListPricingPlansAssociatedWithPricingRuleCommandInput | ListPricingPlansCommandInput | ListPricingRulesAssociatedToPricingPlanCommandInput | ListPricingRulesCommandInput | ListResourcesAssociatedToCustomLineItemCommandInput | ListTagsForResourceCommandInput | TagResourceCommandInput | UntagResourceCommandInput | UpdateBillingGroupCommandInput | UpdateCustomLineItemCommandInput | UpdatePricingPlanCommandInput | UpdatePricingRuleCommandInput;
49
50
  /**
50
51
  * @public
51
52
  */
52
- export type ServiceOutputTypes = AssociateAccountsCommandOutput | AssociatePricingRulesCommandOutput | BatchAssociateResourcesToCustomLineItemCommandOutput | BatchDisassociateResourcesFromCustomLineItemCommandOutput | CreateBillingGroupCommandOutput | CreateCustomLineItemCommandOutput | CreatePricingPlanCommandOutput | CreatePricingRuleCommandOutput | DeleteBillingGroupCommandOutput | DeleteCustomLineItemCommandOutput | DeletePricingPlanCommandOutput | DeletePricingRuleCommandOutput | DisassociateAccountsCommandOutput | DisassociatePricingRulesCommandOutput | ListAccountAssociationsCommandOutput | ListBillingGroupCostReportsCommandOutput | ListBillingGroupsCommandOutput | ListCustomLineItemVersionsCommandOutput | ListCustomLineItemsCommandOutput | ListPricingPlansAssociatedWithPricingRuleCommandOutput | ListPricingPlansCommandOutput | ListPricingRulesAssociatedToPricingPlanCommandOutput | ListPricingRulesCommandOutput | ListResourcesAssociatedToCustomLineItemCommandOutput | ListTagsForResourceCommandOutput | TagResourceCommandOutput | UntagResourceCommandOutput | UpdateBillingGroupCommandOutput | UpdateCustomLineItemCommandOutput | UpdatePricingPlanCommandOutput | UpdatePricingRuleCommandOutput;
53
+ export type ServiceOutputTypes = AssociateAccountsCommandOutput | AssociatePricingRulesCommandOutput | BatchAssociateResourcesToCustomLineItemCommandOutput | BatchDisassociateResourcesFromCustomLineItemCommandOutput | CreateBillingGroupCommandOutput | CreateCustomLineItemCommandOutput | CreatePricingPlanCommandOutput | CreatePricingRuleCommandOutput | DeleteBillingGroupCommandOutput | DeleteCustomLineItemCommandOutput | DeletePricingPlanCommandOutput | DeletePricingRuleCommandOutput | DisassociateAccountsCommandOutput | DisassociatePricingRulesCommandOutput | GetBillingGroupCostReportCommandOutput | ListAccountAssociationsCommandOutput | ListBillingGroupCostReportsCommandOutput | ListBillingGroupsCommandOutput | ListCustomLineItemVersionsCommandOutput | ListCustomLineItemsCommandOutput | ListPricingPlansAssociatedWithPricingRuleCommandOutput | ListPricingPlansCommandOutput | ListPricingRulesAssociatedToPricingPlanCommandOutput | ListPricingRulesCommandOutput | ListResourcesAssociatedToCustomLineItemCommandOutput | ListTagsForResourceCommandOutput | TagResourceCommandOutput | UntagResourceCommandOutput | UpdateBillingGroupCommandOutput | UpdateCustomLineItemCommandOutput | UpdatePricingPlanCommandOutput | UpdatePricingRuleCommandOutput;
53
54
  /**
54
55
  * @public
55
56
  */
@@ -183,15 +184,16 @@ export interface BillingconductorClientResolvedConfig extends BillingconductorCl
183
184
  }
184
185
  /**
185
186
  * @public
186
- * <p>Amazon Web Services Billing Conductor is a fully managed service that you can use
187
- * to customize a <a href="https://docs.aws.amazon.com/billingconductor/latest/userguide/understanding-eb.html#eb-other-definitions">pro forma</a> version of your billing data each month, to accurately show or chargeback
188
- * your end customers. Amazon Web Services Billing Conductor doesn't change the way
189
- * you're billed by Amazon Web Services each month by design. Instead, it provides you with a
190
- * mechanism to configure, generate, and display rates to certain customers over a given billing
191
- * period. You can also analyze the difference between the rates you apply to your accounting
192
- * groupings relative to your actual rates from Amazon Web Services. As a result of your Amazon Web Services Billing Conductor configuration, the payer account can also see the
193
- * custom rate applied on the billing details page of the <a href="https://console.aws.amazon.com/billing">Amazon Web Services Billing console</a>, or configure a cost and usage report per
194
- * billing group.</p>
187
+ * <p>Amazon Web Services Billing Conductor is a fully managed service that you can use to
188
+ * customize a <a href="https://docs.aws.amazon.com/billingconductor/latest/userguide/understanding-eb.html#eb-other-definitions">proforma</a> version of your billing data each month, to accurately show or chargeback
189
+ * your end customers. Amazon Web Services Billing Conductor doesn't change the way you're billed
190
+ * by Amazon Web Services each month by design. Instead, it provides you with a mechanism to
191
+ * configure, generate, and display rates to certain customers over a given billing period. You
192
+ * can also analyze the difference between the rates you apply to your accounting groupings
193
+ * relative to your actual rates from Amazon Web Services. As a result of your Amazon Web Services
194
+ * Billing Conductor configuration, the payer account can also see the custom rate applied on the
195
+ * billing details page of the <a href="https://console.aws.amazon.com/billing">Amazon Web Services Billing
196
+ * console</a>, or configure a cost and usage report per billing group.</p>
195
197
  * <p>This documentation shows how you can configure Amazon Web Services Billing Conductor using its
196
198
  * API. For more information about using the <a href="https://console.aws.amazon.com/billingconductor/">Amazon Web Services
197
199
  * Billing Conductor</a> user interface, see the <a href="https://docs.aws.amazon.com/billingconductor/latest/userguide/what-is-billingconductor.html"> Amazon Web Services Billing Conductor User Guide</a>.</p>
@@ -23,9 +23,9 @@ export interface CreateCustomLineItemCommandOutput extends CreateCustomLineItemO
23
23
  }
24
24
  /**
25
25
  * @public
26
- * <p>
27
- * Creates a custom line item that can be used to create a one-time fixed charge that can be applied to a single billing group for the current or previous billing period. The one-time fixed charge is either a fee or discount.
28
- * </p>
26
+ * <p>Creates a custom line item that can be used to create a one-time fixed charge that can be
27
+ * applied to a single billing group for the current or previous billing period. The one-time
28
+ * fixed charge is either a fee or discount. </p>
29
29
  * @example
30
30
  * Use a bare-bones client and the command you need to make an API call.
31
31
  * ```javascript
@@ -0,0 +1,118 @@
1
+ import { EndpointParameterInstructions } from "@smithy/middleware-endpoint";
2
+ import { Command as $Command } from "@smithy/smithy-client";
3
+ import { Handler, HttpHandlerOptions as __HttpHandlerOptions, MetadataBearer as __MetadataBearer, MiddlewareStack } from "@smithy/types";
4
+ import { BillingconductorClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../BillingconductorClient";
5
+ import { GetBillingGroupCostReportInput, GetBillingGroupCostReportOutput } from "../models/models_0";
6
+ /**
7
+ * @public
8
+ */
9
+ export { __MetadataBearer, $Command };
10
+ /**
11
+ * @public
12
+ *
13
+ * The input for {@link GetBillingGroupCostReportCommand}.
14
+ */
15
+ export interface GetBillingGroupCostReportCommandInput extends GetBillingGroupCostReportInput {
16
+ }
17
+ /**
18
+ * @public
19
+ *
20
+ * The output of {@link GetBillingGroupCostReportCommand}.
21
+ */
22
+ export interface GetBillingGroupCostReportCommandOutput extends GetBillingGroupCostReportOutput, __MetadataBearer {
23
+ }
24
+ /**
25
+ * @public
26
+ * <p>Retrieves the margin summary report, which includes the Amazon Web Services cost and charged
27
+ * amount (pro forma cost) by Amazon Web Service for a specific billing group.</p>
28
+ * @example
29
+ * Use a bare-bones client and the command you need to make an API call.
30
+ * ```javascript
31
+ * import { BillingconductorClient, GetBillingGroupCostReportCommand } from "@aws-sdk/client-billingconductor"; // ES Modules import
32
+ * // const { BillingconductorClient, GetBillingGroupCostReportCommand } = require("@aws-sdk/client-billingconductor"); // CommonJS import
33
+ * const client = new BillingconductorClient(config);
34
+ * const input = { // GetBillingGroupCostReportInput
35
+ * Arn: "STRING_VALUE", // required
36
+ * BillingPeriodRange: { // BillingPeriodRange
37
+ * InclusiveStartBillingPeriod: "STRING_VALUE", // required
38
+ * ExclusiveEndBillingPeriod: "STRING_VALUE", // required
39
+ * },
40
+ * GroupBy: [ // GroupByAttributesList
41
+ * "STRING_VALUE",
42
+ * ],
43
+ * MaxResults: Number("int"),
44
+ * NextToken: "STRING_VALUE",
45
+ * };
46
+ * const command = new GetBillingGroupCostReportCommand(input);
47
+ * const response = await client.send(command);
48
+ * // { // GetBillingGroupCostReportOutput
49
+ * // BillingGroupCostReportResults: [ // BillingGroupCostReportResultsList
50
+ * // { // BillingGroupCostReportResultElement
51
+ * // Arn: "STRING_VALUE",
52
+ * // AWSCost: "STRING_VALUE",
53
+ * // ProformaCost: "STRING_VALUE",
54
+ * // Margin: "STRING_VALUE",
55
+ * // MarginPercentage: "STRING_VALUE",
56
+ * // Currency: "STRING_VALUE",
57
+ * // Attributes: [ // AttributesList
58
+ * // { // Attribute
59
+ * // Key: "STRING_VALUE",
60
+ * // Value: "STRING_VALUE",
61
+ * // },
62
+ * // ],
63
+ * // },
64
+ * // ],
65
+ * // NextToken: "STRING_VALUE",
66
+ * // };
67
+ *
68
+ * ```
69
+ *
70
+ * @param GetBillingGroupCostReportCommandInput - {@link GetBillingGroupCostReportCommandInput}
71
+ * @returns {@link GetBillingGroupCostReportCommandOutput}
72
+ * @see {@link GetBillingGroupCostReportCommandInput} for command's `input` shape.
73
+ * @see {@link GetBillingGroupCostReportCommandOutput} for command's `response` shape.
74
+ * @see {@link BillingconductorClientResolvedConfig | config} for BillingconductorClient's `config` shape.
75
+ *
76
+ * @throws {@link AccessDeniedException} (client fault)
77
+ * <p>You do not have sufficient access to perform this action.
78
+ * </p>
79
+ *
80
+ * @throws {@link InternalServerException} (server fault)
81
+ * <p>An unexpected error occurred while processing a request.
82
+ * </p>
83
+ *
84
+ * @throws {@link ResourceNotFoundException} (client fault)
85
+ * <p>The request references a resource that doesn't exist.
86
+ * </p>
87
+ *
88
+ * @throws {@link ThrottlingException} (client fault)
89
+ * <p>The request was denied due to request throttling.
90
+ * </p>
91
+ *
92
+ * @throws {@link ValidationException} (client fault)
93
+ * <p>The input doesn't match with the constraints specified by Amazon Web Services.</p>
94
+ *
95
+ * @throws {@link BillingconductorServiceException}
96
+ * <p>Base exception class for all service exceptions from Billingconductor service.</p>
97
+ *
98
+ */
99
+ export declare class GetBillingGroupCostReportCommand extends $Command<GetBillingGroupCostReportCommandInput, GetBillingGroupCostReportCommandOutput, BillingconductorClientResolvedConfig> {
100
+ readonly input: GetBillingGroupCostReportCommandInput;
101
+ static getEndpointParameterInstructions(): EndpointParameterInstructions;
102
+ /**
103
+ * @public
104
+ */
105
+ constructor(input: GetBillingGroupCostReportCommandInput);
106
+ /**
107
+ * @internal
108
+ */
109
+ resolveMiddleware(clientStack: MiddlewareStack<ServiceInputTypes, ServiceOutputTypes>, configuration: BillingconductorClientResolvedConfig, options?: __HttpHandlerOptions): Handler<GetBillingGroupCostReportCommandInput, GetBillingGroupCostReportCommandOutput>;
110
+ /**
111
+ * @internal
112
+ */
113
+ private serialize;
114
+ /**
115
+ * @internal
116
+ */
117
+ private deserialize;
118
+ }
@@ -12,6 +12,7 @@ export * from "./DeletePricingPlanCommand";
12
12
  export * from "./DeletePricingRuleCommand";
13
13
  export * from "./DisassociateAccountsCommand";
14
14
  export * from "./DisassociatePricingRulesCommand";
15
+ export * from "./GetBillingGroupCostReportCommand";
15
16
  export * from "./ListAccountAssociationsCommand";
16
17
  export * from "./ListBillingGroupCostReportsCommand";
17
18
  export * from "./ListBillingGroupsCommand";
@@ -1,13 +1,14 @@
1
1
  /**
2
- * <p>Amazon Web Services Billing Conductor is a fully managed service that you can use
3
- * to customize a <a href="https://docs.aws.amazon.com/billingconductor/latest/userguide/understanding-eb.html#eb-other-definitions">pro forma</a> version of your billing data each month, to accurately show or chargeback
4
- * your end customers. Amazon Web Services Billing Conductor doesn't change the way
5
- * you're billed by Amazon Web Services each month by design. Instead, it provides you with a
6
- * mechanism to configure, generate, and display rates to certain customers over a given billing
7
- * period. You can also analyze the difference between the rates you apply to your accounting
8
- * groupings relative to your actual rates from Amazon Web Services. As a result of your Amazon Web Services Billing Conductor configuration, the payer account can also see the
9
- * custom rate applied on the billing details page of the <a href="https://console.aws.amazon.com/billing">Amazon Web Services Billing console</a>, or configure a cost and usage report per
10
- * billing group.</p>
2
+ * <p>Amazon Web Services Billing Conductor is a fully managed service that you can use to
3
+ * customize a <a href="https://docs.aws.amazon.com/billingconductor/latest/userguide/understanding-eb.html#eb-other-definitions">proforma</a> version of your billing data each month, to accurately show or chargeback
4
+ * your end customers. Amazon Web Services Billing Conductor doesn't change the way you're billed
5
+ * by Amazon Web Services each month by design. Instead, it provides you with a mechanism to
6
+ * configure, generate, and display rates to certain customers over a given billing period. You
7
+ * can also analyze the difference between the rates you apply to your accounting groupings
8
+ * relative to your actual rates from Amazon Web Services. As a result of your Amazon Web Services
9
+ * Billing Conductor configuration, the payer account can also see the custom rate applied on the
10
+ * billing details page of the <a href="https://console.aws.amazon.com/billing">Amazon Web Services Billing
11
+ * console</a>, or configure a cost and usage report per billing group.</p>
11
12
  * <p>This documentation shows how you can configure Amazon Web Services Billing Conductor using its
12
13
  * API. For more information about using the <a href="https://console.aws.amazon.com/billingconductor/">Amazon Web Services
13
14
  * Billing Conductor</a> user interface, see the <a href="https://docs.aws.amazon.com/billingconductor/latest/userguide/what-is-billingconductor.html"> Amazon Web Services Billing Conductor User Guide</a>.</p>
@@ -426,6 +426,25 @@ export interface AssociateResourceResponseElement {
426
426
  */
427
427
  Error?: AssociateResourceError;
428
428
  }
429
+ /**
430
+ * @public
431
+ * <p>The key-value pair that represents the attribute by which the
432
+ * <code>BillingGroupCostReportResults</code> are grouped. For example, if you want a
433
+ * service-level breakdown for Amazon Simple Storage Service (Amazon S3) of the billing group, the attribute will be a key-value pair
434
+ * of <code>"PRODUCT_NAME"</code> and <code>"S3"</code>.</p>
435
+ */
436
+ export interface Attribute {
437
+ /**
438
+ * @public
439
+ * <p>The key in a key-value pair that describes the margin summary.</p>
440
+ */
441
+ Key?: string;
442
+ /**
443
+ * @public
444
+ * <p>The value in a key-value pair that describes the margin summary.</p>
445
+ */
446
+ Value?: string;
447
+ }
429
448
  /**
430
449
  * @public
431
450
  * <p>The preferences and settings that will be used to compute the Amazon Web Services charges for a billing group.</p>
@@ -1161,9 +1180,7 @@ export interface DeleteCustomLineItemInput {
1161
1180
  export interface DeleteCustomLineItemOutput {
1162
1181
  /**
1163
1182
  * @public
1164
- * <p>
1165
- * Then ARN of the deleted custom line item.
1166
- * </p>
1183
+ * <p>The ARN of the deleted custom line item. </p>
1167
1184
  */
1168
1185
  Arn?: string;
1169
1186
  }
@@ -1795,6 +1812,128 @@ export interface UpdateCustomLineItemOutput {
1795
1812
  */
1796
1813
  AssociationSize?: number;
1797
1814
  }
1815
+ /**
1816
+ * @public
1817
+ * <p>A time range for which the margin summary is effective. The time range can be up to 12 months.</p>
1818
+ */
1819
+ export interface BillingPeriodRange {
1820
+ /**
1821
+ * @public
1822
+ * <p>The inclusive start billing period that defines a billing period range for the margin summary.</p>
1823
+ */
1824
+ InclusiveStartBillingPeriod: string | undefined;
1825
+ /**
1826
+ * @public
1827
+ * <p>The exclusive end billing period that defines a billing period range for the margin summary. For example, if you choose a billing period that starts in October 2023 and ends in December 2023, the margin summary will only include data from October 2023 and November 2023.</p>
1828
+ */
1829
+ ExclusiveEndBillingPeriod: string | undefined;
1830
+ }
1831
+ /**
1832
+ * @public
1833
+ * @enum
1834
+ */
1835
+ export declare const GroupByAttributeName: {
1836
+ readonly BILLING_PERIOD: "BILLING_PERIOD";
1837
+ readonly PRODUCT_NAME: "PRODUCT_NAME";
1838
+ };
1839
+ /**
1840
+ * @public
1841
+ */
1842
+ export type GroupByAttributeName = (typeof GroupByAttributeName)[keyof typeof GroupByAttributeName];
1843
+ /**
1844
+ * @public
1845
+ */
1846
+ export interface GetBillingGroupCostReportInput {
1847
+ /**
1848
+ * @public
1849
+ * <p>The Amazon Resource Number (ARN) that uniquely identifies the billing group.</p>
1850
+ */
1851
+ Arn: string | undefined;
1852
+ /**
1853
+ * @public
1854
+ * <p>A time range for which the margin summary is effective. You can specify up to 12 months.</p>
1855
+ */
1856
+ BillingPeriodRange?: BillingPeriodRange;
1857
+ /**
1858
+ * @public
1859
+ * <p>A list of strings that specify the attributes that are used to break down costs in the
1860
+ * margin summary reports for the billing group. For example, you can view your costs by the
1861
+ * Amazon Web Service name or the billing period.</p>
1862
+ */
1863
+ GroupBy?: GroupByAttributeName[];
1864
+ /**
1865
+ * @public
1866
+ * <p>The maximum number of margin summary reports to retrieve.</p>
1867
+ */
1868
+ MaxResults?: number;
1869
+ /**
1870
+ * @public
1871
+ * <p>The pagination token used on subsequent calls to get reports.</p>
1872
+ */
1873
+ NextToken?: string;
1874
+ }
1875
+ /**
1876
+ * @public
1877
+ * <p>A paginated call to retrieve a list of summary reports of actual Amazon Web Services charges and the
1878
+ * calculated Amazon Web Services charges, broken down by attributes.</p>
1879
+ */
1880
+ export interface BillingGroupCostReportResultElement {
1881
+ /**
1882
+ * @public
1883
+ * <p>The Amazon Resource Number (ARN) that uniquely identifies the billing group.</p>
1884
+ */
1885
+ Arn?: string;
1886
+ /**
1887
+ * @public
1888
+ * <p>The actual Amazon Web Services charges for the billing group.</p>
1889
+ */
1890
+ AWSCost?: string;
1891
+ /**
1892
+ * @public
1893
+ * <p>The hypothetical Amazon Web Services charges based on the associated pricing plan of a billing group.</p>
1894
+ */
1895
+ ProformaCost?: string;
1896
+ /**
1897
+ * @public
1898
+ * <p>The billing group margin.</p>
1899
+ */
1900
+ Margin?: string;
1901
+ /**
1902
+ * @public
1903
+ * <p>The percentage of the billing group margin.</p>
1904
+ */
1905
+ MarginPercentage?: string;
1906
+ /**
1907
+ * @public
1908
+ * <p>The displayed currency.</p>
1909
+ */
1910
+ Currency?: string;
1911
+ /**
1912
+ * @public
1913
+ * <p>The list of key-value pairs that represent the attributes by which the
1914
+ * <code>BillingGroupCostReportResults</code> are grouped. For example, if you want the
1915
+ * Amazon S3 service-level breakdown of a billing group for November 2023, the
1916
+ * attributes list will contain a key-value pair of <code>"PRODUCT_NAME"</code> and
1917
+ * <code>"S3"</code> and a key-value pair of <code>"BILLING_PERIOD"</code> and
1918
+ * <code>"Nov 2023"</code>.</p>
1919
+ */
1920
+ Attributes?: Attribute[];
1921
+ }
1922
+ /**
1923
+ * @public
1924
+ */
1925
+ export interface GetBillingGroupCostReportOutput {
1926
+ /**
1927
+ * @public
1928
+ * <p>The list of margin summary reports.</p>
1929
+ */
1930
+ BillingGroupCostReportResults?: BillingGroupCostReportResultElement[];
1931
+ /**
1932
+ * @public
1933
+ * <p>The pagination token used on subsequent calls to get reports.</p>
1934
+ */
1935
+ NextToken?: string;
1936
+ }
1798
1937
  /**
1799
1938
  * @public
1800
1939
  * <p>The filter on the account ID of the linked account, or any of the following:</p>
@@ -0,0 +1,7 @@
1
+ import { Paginator } from "@smithy/types";
2
+ import { GetBillingGroupCostReportCommandInput, GetBillingGroupCostReportCommandOutput } from "../commands/GetBillingGroupCostReportCommand";
3
+ import { BillingconductorPaginationConfiguration } from "./Interfaces";
4
+ /**
5
+ * @public
6
+ */
7
+ export declare function paginateGetBillingGroupCostReport(config: BillingconductorPaginationConfiguration, input: GetBillingGroupCostReportCommandInput, ...additionalArguments: any): Paginator<GetBillingGroupCostReportCommandOutput>;
@@ -1,3 +1,4 @@
1
+ export * from "./GetBillingGroupCostReportPaginator";
1
2
  export * from "./Interfaces";
2
3
  export * from "./ListAccountAssociationsPaginator";
3
4
  export * from "./ListBillingGroupCostReportsPaginator";
@@ -14,6 +14,7 @@ import { DeletePricingPlanCommandInput, DeletePricingPlanCommandOutput } from ".
14
14
  import { DeletePricingRuleCommandInput, DeletePricingRuleCommandOutput } from "../commands/DeletePricingRuleCommand";
15
15
  import { DisassociateAccountsCommandInput, DisassociateAccountsCommandOutput } from "../commands/DisassociateAccountsCommand";
16
16
  import { DisassociatePricingRulesCommandInput, DisassociatePricingRulesCommandOutput } from "../commands/DisassociatePricingRulesCommand";
17
+ import { GetBillingGroupCostReportCommandInput, GetBillingGroupCostReportCommandOutput } from "../commands/GetBillingGroupCostReportCommand";
17
18
  import { ListAccountAssociationsCommandInput, ListAccountAssociationsCommandOutput } from "../commands/ListAccountAssociationsCommand";
18
19
  import { ListBillingGroupCostReportsCommandInput, ListBillingGroupCostReportsCommandOutput } from "../commands/ListBillingGroupCostReportsCommand";
19
20
  import { ListBillingGroupsCommandInput, ListBillingGroupsCommandOutput } from "../commands/ListBillingGroupsCommand";
@@ -87,6 +88,10 @@ export declare const se_DisassociateAccountsCommand: (input: DisassociateAccount
87
88
  * serializeAws_restJson1DisassociatePricingRulesCommand
88
89
  */
89
90
  export declare const se_DisassociatePricingRulesCommand: (input: DisassociatePricingRulesCommandInput, context: __SerdeContext) => Promise<__HttpRequest>;
91
+ /**
92
+ * serializeAws_restJson1GetBillingGroupCostReportCommand
93
+ */
94
+ export declare const se_GetBillingGroupCostReportCommand: (input: GetBillingGroupCostReportCommandInput, context: __SerdeContext) => Promise<__HttpRequest>;
90
95
  /**
91
96
  * serializeAws_restJson1ListAccountAssociationsCommand
92
97
  */
@@ -211,6 +216,10 @@ export declare const de_DisassociateAccountsCommand: (output: __HttpResponse, co
211
216
  * deserializeAws_restJson1DisassociatePricingRulesCommand
212
217
  */
213
218
  export declare const de_DisassociatePricingRulesCommand: (output: __HttpResponse, context: __SerdeContext) => Promise<DisassociatePricingRulesCommandOutput>;
219
+ /**
220
+ * deserializeAws_restJson1GetBillingGroupCostReportCommand
221
+ */
222
+ export declare const de_GetBillingGroupCostReportCommand: (output: __HttpResponse, context: __SerdeContext) => Promise<GetBillingGroupCostReportCommandOutput>;
214
223
  /**
215
224
  * deserializeAws_restJson1ListAccountAssociationsCommand
216
225
  */
@@ -56,6 +56,10 @@ import {
56
56
  DisassociatePricingRulesCommandInput,
57
57
  DisassociatePricingRulesCommandOutput,
58
58
  } from "./commands/DisassociatePricingRulesCommand";
59
+ import {
60
+ GetBillingGroupCostReportCommandInput,
61
+ GetBillingGroupCostReportCommandOutput,
62
+ } from "./commands/GetBillingGroupCostReportCommand";
59
63
  import {
60
64
  ListAccountAssociationsCommandInput,
61
65
  ListAccountAssociationsCommandOutput,
@@ -319,6 +323,19 @@ export interface Billingconductor {
319
323
  options: __HttpHandlerOptions,
320
324
  cb: (err: any, data?: DisassociatePricingRulesCommandOutput) => void
321
325
  ): void;
326
+ getBillingGroupCostReport(
327
+ args: GetBillingGroupCostReportCommandInput,
328
+ options?: __HttpHandlerOptions
329
+ ): Promise<GetBillingGroupCostReportCommandOutput>;
330
+ getBillingGroupCostReport(
331
+ args: GetBillingGroupCostReportCommandInput,
332
+ cb: (err: any, data?: GetBillingGroupCostReportCommandOutput) => void
333
+ ): void;
334
+ getBillingGroupCostReport(
335
+ args: GetBillingGroupCostReportCommandInput,
336
+ options: __HttpHandlerOptions,
337
+ cb: (err: any, data?: GetBillingGroupCostReportCommandOutput) => void
338
+ ): void;
322
339
  listAccountAssociations(
323
340
  args: ListAccountAssociationsCommandInput,
324
341
  options?: __HttpHandlerOptions
@@ -101,6 +101,10 @@ import {
101
101
  DisassociatePricingRulesCommandInput,
102
102
  DisassociatePricingRulesCommandOutput,
103
103
  } from "./commands/DisassociatePricingRulesCommand";
104
+ import {
105
+ GetBillingGroupCostReportCommandInput,
106
+ GetBillingGroupCostReportCommandOutput,
107
+ } from "./commands/GetBillingGroupCostReportCommand";
104
108
  import {
105
109
  ListAccountAssociationsCommandInput,
106
110
  ListAccountAssociationsCommandOutput,
@@ -191,6 +195,7 @@ export type ServiceInputTypes =
191
195
  | DeletePricingRuleCommandInput
192
196
  | DisassociateAccountsCommandInput
193
197
  | DisassociatePricingRulesCommandInput
198
+ | GetBillingGroupCostReportCommandInput
194
199
  | ListAccountAssociationsCommandInput
195
200
  | ListBillingGroupCostReportsCommandInput
196
201
  | ListBillingGroupsCommandInput
@@ -223,6 +228,7 @@ export type ServiceOutputTypes =
223
228
  | DeletePricingRuleCommandOutput
224
229
  | DisassociateAccountsCommandOutput
225
230
  | DisassociatePricingRulesCommandOutput
231
+ | GetBillingGroupCostReportCommandOutput
226
232
  | ListAccountAssociationsCommandOutput
227
233
  | ListBillingGroupCostReportsCommandOutput
228
234
  | ListBillingGroupsCommandOutput
@@ -0,0 +1,42 @@
1
+ import { EndpointParameterInstructions } from "@smithy/middleware-endpoint";
2
+ import { Command as $Command } from "@smithy/smithy-client";
3
+ import {
4
+ Handler,
5
+ HttpHandlerOptions as __HttpHandlerOptions,
6
+ MetadataBearer as __MetadataBearer,
7
+ MiddlewareStack,
8
+ } from "@smithy/types";
9
+ import {
10
+ BillingconductorClientResolvedConfig,
11
+ ServiceInputTypes,
12
+ ServiceOutputTypes,
13
+ } from "../BillingconductorClient";
14
+ import {
15
+ GetBillingGroupCostReportInput,
16
+ GetBillingGroupCostReportOutput,
17
+ } from "../models/models_0";
18
+ export { __MetadataBearer, $Command };
19
+ export interface GetBillingGroupCostReportCommandInput
20
+ extends GetBillingGroupCostReportInput {}
21
+ export interface GetBillingGroupCostReportCommandOutput
22
+ extends GetBillingGroupCostReportOutput,
23
+ __MetadataBearer {}
24
+ export declare class GetBillingGroupCostReportCommand extends $Command<
25
+ GetBillingGroupCostReportCommandInput,
26
+ GetBillingGroupCostReportCommandOutput,
27
+ BillingconductorClientResolvedConfig
28
+ > {
29
+ readonly input: GetBillingGroupCostReportCommandInput;
30
+ static getEndpointParameterInstructions(): EndpointParameterInstructions;
31
+ constructor(input: GetBillingGroupCostReportCommandInput);
32
+ resolveMiddleware(
33
+ clientStack: MiddlewareStack<ServiceInputTypes, ServiceOutputTypes>,
34
+ configuration: BillingconductorClientResolvedConfig,
35
+ options?: __HttpHandlerOptions
36
+ ): Handler<
37
+ GetBillingGroupCostReportCommandInput,
38
+ GetBillingGroupCostReportCommandOutput
39
+ >;
40
+ private serialize;
41
+ private deserialize;
42
+ }
@@ -12,6 +12,7 @@ export * from "./DeletePricingPlanCommand";
12
12
  export * from "./DeletePricingRuleCommand";
13
13
  export * from "./DisassociateAccountsCommand";
14
14
  export * from "./DisassociatePricingRulesCommand";
15
+ export * from "./GetBillingGroupCostReportCommand";
15
16
  export * from "./ListAccountAssociationsCommand";
16
17
  export * from "./ListBillingGroupCostReportsCommand";
17
18
  export * from "./ListBillingGroupsCommand";
@@ -185,6 +185,10 @@ export interface AssociateResourceResponseElement {
185
185
  Arn?: string;
186
186
  Error?: AssociateResourceError;
187
187
  }
188
+ export interface Attribute {
189
+ Key?: string;
190
+ Value?: string;
191
+ }
188
192
  export interface ComputationPreference {
189
193
  PricingPlanArn: string | undefined;
190
194
  }
@@ -490,6 +494,36 @@ export interface UpdateCustomLineItemOutput {
490
494
  LastModifiedTime?: number;
491
495
  AssociationSize?: number;
492
496
  }
497
+ export interface BillingPeriodRange {
498
+ InclusiveStartBillingPeriod: string | undefined;
499
+ ExclusiveEndBillingPeriod: string | undefined;
500
+ }
501
+ export declare const GroupByAttributeName: {
502
+ readonly BILLING_PERIOD: "BILLING_PERIOD";
503
+ readonly PRODUCT_NAME: "PRODUCT_NAME";
504
+ };
505
+ export type GroupByAttributeName =
506
+ (typeof GroupByAttributeName)[keyof typeof GroupByAttributeName];
507
+ export interface GetBillingGroupCostReportInput {
508
+ Arn: string | undefined;
509
+ BillingPeriodRange?: BillingPeriodRange;
510
+ GroupBy?: GroupByAttributeName[];
511
+ MaxResults?: number;
512
+ NextToken?: string;
513
+ }
514
+ export interface BillingGroupCostReportResultElement {
515
+ Arn?: string;
516
+ AWSCost?: string;
517
+ ProformaCost?: string;
518
+ Margin?: string;
519
+ MarginPercentage?: string;
520
+ Currency?: string;
521
+ Attributes?: Attribute[];
522
+ }
523
+ export interface GetBillingGroupCostReportOutput {
524
+ BillingGroupCostReportResults?: BillingGroupCostReportResultElement[];
525
+ NextToken?: string;
526
+ }
493
527
  export interface ListAccountAssociationsFilter {
494
528
  Association?: string;
495
529
  AccountId?: string;
@@ -0,0 +1,11 @@
1
+ import { Paginator } from "@smithy/types";
2
+ import {
3
+ GetBillingGroupCostReportCommandInput,
4
+ GetBillingGroupCostReportCommandOutput,
5
+ } from "../commands/GetBillingGroupCostReportCommand";
6
+ import { BillingconductorPaginationConfiguration } from "./Interfaces";
7
+ export declare function paginateGetBillingGroupCostReport(
8
+ config: BillingconductorPaginationConfiguration,
9
+ input: GetBillingGroupCostReportCommandInput,
10
+ ...additionalArguments: any
11
+ ): Paginator<GetBillingGroupCostReportCommandOutput>;
@@ -1,3 +1,4 @@
1
+ export * from "./GetBillingGroupCostReportPaginator";
1
2
  export * from "./Interfaces";
2
3
  export * from "./ListAccountAssociationsPaginator";
3
4
  export * from "./ListBillingGroupCostReportsPaginator";
@@ -59,6 +59,10 @@ import {
59
59
  DisassociatePricingRulesCommandInput,
60
60
  DisassociatePricingRulesCommandOutput,
61
61
  } from "../commands/DisassociatePricingRulesCommand";
62
+ import {
63
+ GetBillingGroupCostReportCommandInput,
64
+ GetBillingGroupCostReportCommandOutput,
65
+ } from "../commands/GetBillingGroupCostReportCommand";
62
66
  import {
63
67
  ListAccountAssociationsCommandInput,
64
68
  ListAccountAssociationsCommandOutput,
@@ -183,6 +187,10 @@ export declare const se_DisassociatePricingRulesCommand: (
183
187
  input: DisassociatePricingRulesCommandInput,
184
188
  context: __SerdeContext
185
189
  ) => Promise<__HttpRequest>;
190
+ export declare const se_GetBillingGroupCostReportCommand: (
191
+ input: GetBillingGroupCostReportCommandInput,
192
+ context: __SerdeContext
193
+ ) => Promise<__HttpRequest>;
186
194
  export declare const se_ListAccountAssociationsCommand: (
187
195
  input: ListAccountAssociationsCommandInput,
188
196
  context: __SerdeContext
@@ -307,6 +315,10 @@ export declare const de_DisassociatePricingRulesCommand: (
307
315
  output: __HttpResponse,
308
316
  context: __SerdeContext
309
317
  ) => Promise<DisassociatePricingRulesCommandOutput>;
318
+ export declare const de_GetBillingGroupCostReportCommand: (
319
+ output: __HttpResponse,
320
+ context: __SerdeContext
321
+ ) => Promise<GetBillingGroupCostReportCommandOutput>;
310
322
  export declare const de_ListAccountAssociationsCommand: (
311
323
  output: __HttpResponse,
312
324
  context: __SerdeContext
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@aws-sdk/client-billingconductor",
3
3
  "description": "AWS SDK for JavaScript Billingconductor Client for Node.js, Browser and React Native",
4
- "version": "3.473.0",
4
+ "version": "3.476.0",
5
5
  "scripts": {
6
6
  "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
7
7
  "build:cjs": "tsc -p tsconfig.cjs.json",
@@ -20,9 +20,9 @@
20
20
  "dependencies": {
21
21
  "@aws-crypto/sha256-browser": "3.0.0",
22
22
  "@aws-crypto/sha256-js": "3.0.0",
23
- "@aws-sdk/client-sts": "3.473.0",
24
- "@aws-sdk/core": "3.468.0",
25
- "@aws-sdk/credential-provider-node": "3.470.0",
23
+ "@aws-sdk/client-sts": "3.476.0",
24
+ "@aws-sdk/core": "3.476.0",
25
+ "@aws-sdk/credential-provider-node": "3.476.0",
26
26
  "@aws-sdk/middleware-host-header": "3.468.0",
27
27
  "@aws-sdk/middleware-logger": "3.468.0",
28
28
  "@aws-sdk/middleware-recursion-detection": "3.468.0",