/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { namespace BillingConductor { /** *

Amazon Web Services Billing Conductor is a fully managed service that you can * use to customize a pro * forma version of your billing data each month, to accurately show or * chargeback your end customers. Amazon Web Services Billing Conductor doesn't * change the way you're billed by Amazon Web Services each month by design. * Instead, it provides you with a mechanism to configure, generate, and display * rates to certain customers over a given billing period. You can also analyze the * difference between the rates you apply to your accounting 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 * custom rate applied on the billing details page of the Amazon Web Services Billing * console, or configure a cost and usage report per billing group.

This * documentation shows how you can configure Amazon Web Services Billing Conductor * using its API. For more information about using the Amazon Web Services * Billing Conductor user interface, see the * Amazon Web Services Billing Conductor User Guide.

*/ class AWS_BILLINGCONDUCTOR_API BillingConductorClient : public Aws::Client::AWSJsonClient, public Aws::Client::ClientWithAsyncTemplateMethods { public: typedef Aws::Client::AWSJsonClient BASECLASS; static const char* SERVICE_NAME; static const char* ALLOCATION_TAG; typedef BillingConductorClientConfiguration ClientConfigurationType; typedef BillingConductorEndpointProvider EndpointProviderType; /** * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ BillingConductorClient(const Aws::BillingConductor::BillingConductorClientConfiguration& clientConfiguration = Aws::BillingConductor::BillingConductorClientConfiguration(), std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG)); /** * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ BillingConductorClient(const Aws::Auth::AWSCredentials& credentials, std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG), const Aws::BillingConductor::BillingConductorClientConfiguration& clientConfiguration = Aws::BillingConductor::BillingConductorClientConfiguration()); /** * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, * the default http client factory will be used */ BillingConductorClient(const std::shared_ptr& credentialsProvider, std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG), const Aws::BillingConductor::BillingConductorClientConfiguration& clientConfiguration = Aws::BillingConductor::BillingConductorClientConfiguration()); /* Legacy constructors due deprecation */ /** * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ BillingConductorClient(const Aws::Client::ClientConfiguration& clientConfiguration); /** * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ BillingConductorClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); /** * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, * the default http client factory will be used */ BillingConductorClient(const std::shared_ptr& credentialsProvider, const Aws::Client::ClientConfiguration& clientConfiguration); /* End of legacy constructors due deprecation */ virtual ~BillingConductorClient(); /** *

Connects an array of account IDs in a consolidated billing family to a * predefined billing group. The account IDs must be a part of the consolidated * billing family during the current month, and not already associated with another * billing group. The maximum number of accounts that can be associated in one call * is 30.

See Also:

AWS * API Reference

*/ virtual Model::AssociateAccountsOutcome AssociateAccounts(const Model::AssociateAccountsRequest& request) const; /** * A Callable wrapper for AssociateAccounts that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::AssociateAccountsOutcomeCallable AssociateAccountsCallable(const AssociateAccountsRequestT& request) const { return SubmitCallable(&BillingConductorClient::AssociateAccounts, request); } /** * An Async wrapper for AssociateAccounts that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void AssociateAccountsAsync(const AssociateAccountsRequestT& request, const AssociateAccountsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&BillingConductorClient::AssociateAccounts, request, handler, context); } /** *

Connects an array of PricingRuleArns to a defined * PricingPlan. The maximum number PricingRuleArn that * can be associated in one call is 30.

See Also:

AWS * API Reference

*/ virtual Model::AssociatePricingRulesOutcome AssociatePricingRules(const Model::AssociatePricingRulesRequest& request) const; /** * A Callable wrapper for AssociatePricingRules that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::AssociatePricingRulesOutcomeCallable AssociatePricingRulesCallable(const AssociatePricingRulesRequestT& request) const { return SubmitCallable(&BillingConductorClient::AssociatePricingRules, request); } /** * An Async wrapper for AssociatePricingRules that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void AssociatePricingRulesAsync(const AssociatePricingRulesRequestT& request, const AssociatePricingRulesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&BillingConductorClient::AssociatePricingRules, request, handler, context); } /** *

Associates a batch of resources to a percentage custom line item. *

See Also:

AWS * API Reference

*/ virtual Model::BatchAssociateResourcesToCustomLineItemOutcome BatchAssociateResourcesToCustomLineItem(const Model::BatchAssociateResourcesToCustomLineItemRequest& request) const; /** * A Callable wrapper for BatchAssociateResourcesToCustomLineItem that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::BatchAssociateResourcesToCustomLineItemOutcomeCallable BatchAssociateResourcesToCustomLineItemCallable(const BatchAssociateResourcesToCustomLineItemRequestT& request) const { return SubmitCallable(&BillingConductorClient::BatchAssociateResourcesToCustomLineItem, request); } /** * An Async wrapper for BatchAssociateResourcesToCustomLineItem that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void BatchAssociateResourcesToCustomLineItemAsync(const BatchAssociateResourcesToCustomLineItemRequestT& request, const BatchAssociateResourcesToCustomLineItemResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&BillingConductorClient::BatchAssociateResourcesToCustomLineItem, request, handler, context); } /** *

Disassociates a batch of resources from a percentage custom line item. *

See Also:

AWS * API Reference

*/ virtual Model::BatchDisassociateResourcesFromCustomLineItemOutcome BatchDisassociateResourcesFromCustomLineItem(const Model::BatchDisassociateResourcesFromCustomLineItemRequest& request) const; /** * A Callable wrapper for BatchDisassociateResourcesFromCustomLineItem that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::BatchDisassociateResourcesFromCustomLineItemOutcomeCallable BatchDisassociateResourcesFromCustomLineItemCallable(const BatchDisassociateResourcesFromCustomLineItemRequestT& request) const { return SubmitCallable(&BillingConductorClient::BatchDisassociateResourcesFromCustomLineItem, request); } /** * An Async wrapper for BatchDisassociateResourcesFromCustomLineItem that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void BatchDisassociateResourcesFromCustomLineItemAsync(const BatchDisassociateResourcesFromCustomLineItemRequestT& request, const BatchDisassociateResourcesFromCustomLineItemResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&BillingConductorClient::BatchDisassociateResourcesFromCustomLineItem, request, handler, context); } /** *

Creates a billing group that resembles a consolidated billing family that * Amazon Web Services charges, based off of the predefined pricing plan * computation.

See Also:

AWS * API Reference

*/ virtual Model::CreateBillingGroupOutcome CreateBillingGroup(const Model::CreateBillingGroupRequest& request) const; /** * A Callable wrapper for CreateBillingGroup that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateBillingGroupOutcomeCallable CreateBillingGroupCallable(const CreateBillingGroupRequestT& request) const { return SubmitCallable(&BillingConductorClient::CreateBillingGroup, request); } /** * An Async wrapper for CreateBillingGroup that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateBillingGroupAsync(const CreateBillingGroupRequestT& request, const CreateBillingGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&BillingConductorClient::CreateBillingGroup, request, handler, context); } /** *

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. *

See Also:

AWS * API Reference

*/ virtual Model::CreateCustomLineItemOutcome CreateCustomLineItem(const Model::CreateCustomLineItemRequest& request) const; /** * A Callable wrapper for CreateCustomLineItem that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateCustomLineItemOutcomeCallable CreateCustomLineItemCallable(const CreateCustomLineItemRequestT& request) const { return SubmitCallable(&BillingConductorClient::CreateCustomLineItem, request); } /** * An Async wrapper for CreateCustomLineItem that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateCustomLineItemAsync(const CreateCustomLineItemRequestT& request, const CreateCustomLineItemResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&BillingConductorClient::CreateCustomLineItem, request, handler, context); } /** *

Creates a pricing plan that is used for computing Amazon Web Services charges * for billing groups.

See Also:

AWS * API Reference

*/ virtual Model::CreatePricingPlanOutcome CreatePricingPlan(const Model::CreatePricingPlanRequest& request) const; /** * A Callable wrapper for CreatePricingPlan that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreatePricingPlanOutcomeCallable CreatePricingPlanCallable(const CreatePricingPlanRequestT& request) const { return SubmitCallable(&BillingConductorClient::CreatePricingPlan, request); } /** * An Async wrapper for CreatePricingPlan that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreatePricingPlanAsync(const CreatePricingPlanRequestT& request, const CreatePricingPlanResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&BillingConductorClient::CreatePricingPlan, request, handler, context); } /** *

Creates a pricing rule can be associated to a pricing plan, or a set of * pricing plans.

See Also:

AWS * API Reference

*/ virtual Model::CreatePricingRuleOutcome CreatePricingRule(const Model::CreatePricingRuleRequest& request) const; /** * A Callable wrapper for CreatePricingRule that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreatePricingRuleOutcomeCallable CreatePricingRuleCallable(const CreatePricingRuleRequestT& request) const { return SubmitCallable(&BillingConductorClient::CreatePricingRule, request); } /** * An Async wrapper for CreatePricingRule that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreatePricingRuleAsync(const CreatePricingRuleRequestT& request, const CreatePricingRuleResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&BillingConductorClient::CreatePricingRule, request, handler, context); } /** *

Deletes a billing group.

See Also:

AWS * API Reference

*/ virtual Model::DeleteBillingGroupOutcome DeleteBillingGroup(const Model::DeleteBillingGroupRequest& request) const; /** * A Callable wrapper for DeleteBillingGroup that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteBillingGroupOutcomeCallable DeleteBillingGroupCallable(const DeleteBillingGroupRequestT& request) const { return SubmitCallable(&BillingConductorClient::DeleteBillingGroup, request); } /** * An Async wrapper for DeleteBillingGroup that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteBillingGroupAsync(const DeleteBillingGroupRequestT& request, const DeleteBillingGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&BillingConductorClient::DeleteBillingGroup, request, handler, context); } /** *

Deletes the custom line item identified by the given ARN in the current, or * previous billing period.

See Also:

AWS * API Reference

*/ virtual Model::DeleteCustomLineItemOutcome DeleteCustomLineItem(const Model::DeleteCustomLineItemRequest& request) const; /** * A Callable wrapper for DeleteCustomLineItem that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteCustomLineItemOutcomeCallable DeleteCustomLineItemCallable(const DeleteCustomLineItemRequestT& request) const { return SubmitCallable(&BillingConductorClient::DeleteCustomLineItem, request); } /** * An Async wrapper for DeleteCustomLineItem that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteCustomLineItemAsync(const DeleteCustomLineItemRequestT& request, const DeleteCustomLineItemResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&BillingConductorClient::DeleteCustomLineItem, request, handler, context); } /** *

Deletes a pricing plan. The pricing plan must not be associated with any * billing groups to delete successfully.

See Also:

AWS * API Reference

*/ virtual Model::DeletePricingPlanOutcome DeletePricingPlan(const Model::DeletePricingPlanRequest& request) const; /** * A Callable wrapper for DeletePricingPlan that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeletePricingPlanOutcomeCallable DeletePricingPlanCallable(const DeletePricingPlanRequestT& request) const { return SubmitCallable(&BillingConductorClient::DeletePricingPlan, request); } /** * An Async wrapper for DeletePricingPlan that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeletePricingPlanAsync(const DeletePricingPlanRequestT& request, const DeletePricingPlanResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&BillingConductorClient::DeletePricingPlan, request, handler, context); } /** *

Deletes the pricing rule that's identified by the input Amazon Resource Name * (ARN).

See Also:

AWS * API Reference

*/ virtual Model::DeletePricingRuleOutcome DeletePricingRule(const Model::DeletePricingRuleRequest& request) const; /** * A Callable wrapper for DeletePricingRule that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeletePricingRuleOutcomeCallable DeletePricingRuleCallable(const DeletePricingRuleRequestT& request) const { return SubmitCallable(&BillingConductorClient::DeletePricingRule, request); } /** * An Async wrapper for DeletePricingRule that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeletePricingRuleAsync(const DeletePricingRuleRequestT& request, const DeletePricingRuleResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&BillingConductorClient::DeletePricingRule, request, handler, context); } /** *

Removes the specified list of account IDs from the given billing group. *

See Also:

AWS * API Reference

*/ virtual Model::DisassociateAccountsOutcome DisassociateAccounts(const Model::DisassociateAccountsRequest& request) const; /** * A Callable wrapper for DisassociateAccounts that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DisassociateAccountsOutcomeCallable DisassociateAccountsCallable(const DisassociateAccountsRequestT& request) const { return SubmitCallable(&BillingConductorClient::DisassociateAccounts, request); } /** * An Async wrapper for DisassociateAccounts that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DisassociateAccountsAsync(const DisassociateAccountsRequestT& request, const DisassociateAccountsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&BillingConductorClient::DisassociateAccounts, request, handler, context); } /** *

Disassociates a list of pricing rules from a pricing plan.

See * Also:

AWS * API Reference

*/ virtual Model::DisassociatePricingRulesOutcome DisassociatePricingRules(const Model::DisassociatePricingRulesRequest& request) const; /** * A Callable wrapper for DisassociatePricingRules that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DisassociatePricingRulesOutcomeCallable DisassociatePricingRulesCallable(const DisassociatePricingRulesRequestT& request) const { return SubmitCallable(&BillingConductorClient::DisassociatePricingRules, request); } /** * An Async wrapper for DisassociatePricingRules that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DisassociatePricingRulesAsync(const DisassociatePricingRulesRequestT& request, const DisassociatePricingRulesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&BillingConductorClient::DisassociatePricingRules, request, handler, context); } /** *

This is a paginated call to list linked accounts that are linked to the * payer account for the specified time period. If no information is provided, the * current billing period is used. The response will optionally include the billing * group that's associated with the linked account.

See Also:

AWS * API Reference

*/ virtual Model::ListAccountAssociationsOutcome ListAccountAssociations(const Model::ListAccountAssociationsRequest& request) const; /** * A Callable wrapper for ListAccountAssociations that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListAccountAssociationsOutcomeCallable ListAccountAssociationsCallable(const ListAccountAssociationsRequestT& request) const { return SubmitCallable(&BillingConductorClient::ListAccountAssociations, request); } /** * An Async wrapper for ListAccountAssociations that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListAccountAssociationsAsync(const ListAccountAssociationsRequestT& request, const ListAccountAssociationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&BillingConductorClient::ListAccountAssociations, request, handler, context); } /** *

A paginated call to retrieve a summary report of actual Amazon Web Services * charges and the calculated Amazon Web Services charges based on the associated * pricing plan of a billing group.

See Also:

AWS * API Reference

*/ virtual Model::ListBillingGroupCostReportsOutcome ListBillingGroupCostReports(const Model::ListBillingGroupCostReportsRequest& request) const; /** * A Callable wrapper for ListBillingGroupCostReports that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListBillingGroupCostReportsOutcomeCallable ListBillingGroupCostReportsCallable(const ListBillingGroupCostReportsRequestT& request) const { return SubmitCallable(&BillingConductorClient::ListBillingGroupCostReports, request); } /** * An Async wrapper for ListBillingGroupCostReports that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListBillingGroupCostReportsAsync(const ListBillingGroupCostReportsRequestT& request, const ListBillingGroupCostReportsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&BillingConductorClient::ListBillingGroupCostReports, request, handler, context); } /** *

A paginated call to retrieve a list of billing groups for the given billing * period. If you don't provide a billing group, the current billing period is * used.

See Also:

AWS * API Reference

*/ virtual Model::ListBillingGroupsOutcome ListBillingGroups(const Model::ListBillingGroupsRequest& request) const; /** * A Callable wrapper for ListBillingGroups that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListBillingGroupsOutcomeCallable ListBillingGroupsCallable(const ListBillingGroupsRequestT& request) const { return SubmitCallable(&BillingConductorClient::ListBillingGroups, request); } /** * An Async wrapper for ListBillingGroups that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListBillingGroupsAsync(const ListBillingGroupsRequestT& request, const ListBillingGroupsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&BillingConductorClient::ListBillingGroups, request, handler, context); } /** *

A paginated call to get a list of all custom line item * versions.

See Also:

AWS * API Reference

*/ virtual Model::ListCustomLineItemVersionsOutcome ListCustomLineItemVersions(const Model::ListCustomLineItemVersionsRequest& request) const; /** * A Callable wrapper for ListCustomLineItemVersions that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListCustomLineItemVersionsOutcomeCallable ListCustomLineItemVersionsCallable(const ListCustomLineItemVersionsRequestT& request) const { return SubmitCallable(&BillingConductorClient::ListCustomLineItemVersions, request); } /** * An Async wrapper for ListCustomLineItemVersions that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListCustomLineItemVersionsAsync(const ListCustomLineItemVersionsRequestT& request, const ListCustomLineItemVersionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&BillingConductorClient::ListCustomLineItemVersions, request, handler, context); } /** *

A paginated call to get a list of all custom line items (FFLIs) for the * given billing period. If you don't provide a billing period, the current billing * period is used.

See Also:

AWS * API Reference

*/ virtual Model::ListCustomLineItemsOutcome ListCustomLineItems(const Model::ListCustomLineItemsRequest& request) const; /** * A Callable wrapper for ListCustomLineItems that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListCustomLineItemsOutcomeCallable ListCustomLineItemsCallable(const ListCustomLineItemsRequestT& request) const { return SubmitCallable(&BillingConductorClient::ListCustomLineItems, request); } /** * An Async wrapper for ListCustomLineItems that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListCustomLineItemsAsync(const ListCustomLineItemsRequestT& request, const ListCustomLineItemsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&BillingConductorClient::ListCustomLineItems, request, handler, context); } /** *

A paginated call to get pricing plans for the given billing period. If you * don't provide a billing period, the current billing period is used. *

See Also:

AWS * API Reference

*/ virtual Model::ListPricingPlansOutcome ListPricingPlans(const Model::ListPricingPlansRequest& request) const; /** * A Callable wrapper for ListPricingPlans that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListPricingPlansOutcomeCallable ListPricingPlansCallable(const ListPricingPlansRequestT& request) const { return SubmitCallable(&BillingConductorClient::ListPricingPlans, request); } /** * An Async wrapper for ListPricingPlans that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListPricingPlansAsync(const ListPricingPlansRequestT& request, const ListPricingPlansResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&BillingConductorClient::ListPricingPlans, request, handler, context); } /** *

A list of the pricing plans that are associated with a pricing rule. *

See Also:

AWS * API Reference

*/ virtual Model::ListPricingPlansAssociatedWithPricingRuleOutcome ListPricingPlansAssociatedWithPricingRule(const Model::ListPricingPlansAssociatedWithPricingRuleRequest& request) const; /** * A Callable wrapper for ListPricingPlansAssociatedWithPricingRule that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListPricingPlansAssociatedWithPricingRuleOutcomeCallable ListPricingPlansAssociatedWithPricingRuleCallable(const ListPricingPlansAssociatedWithPricingRuleRequestT& request) const { return SubmitCallable(&BillingConductorClient::ListPricingPlansAssociatedWithPricingRule, request); } /** * An Async wrapper for ListPricingPlansAssociatedWithPricingRule that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListPricingPlansAssociatedWithPricingRuleAsync(const ListPricingPlansAssociatedWithPricingRuleRequestT& request, const ListPricingPlansAssociatedWithPricingRuleResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&BillingConductorClient::ListPricingPlansAssociatedWithPricingRule, request, handler, context); } /** *

Describes a pricing rule that can be associated to a pricing plan, or set of * pricing plans.

See Also:

AWS * API Reference

*/ virtual Model::ListPricingRulesOutcome ListPricingRules(const Model::ListPricingRulesRequest& request) const; /** * A Callable wrapper for ListPricingRules that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListPricingRulesOutcomeCallable ListPricingRulesCallable(const ListPricingRulesRequestT& request) const { return SubmitCallable(&BillingConductorClient::ListPricingRules, request); } /** * An Async wrapper for ListPricingRules that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListPricingRulesAsync(const ListPricingRulesRequestT& request, const ListPricingRulesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&BillingConductorClient::ListPricingRules, request, handler, context); } /** *

Lists the pricing rules that are associated with a pricing plan. *

See Also:

AWS * API Reference

*/ virtual Model::ListPricingRulesAssociatedToPricingPlanOutcome ListPricingRulesAssociatedToPricingPlan(const Model::ListPricingRulesAssociatedToPricingPlanRequest& request) const; /** * A Callable wrapper for ListPricingRulesAssociatedToPricingPlan that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListPricingRulesAssociatedToPricingPlanOutcomeCallable ListPricingRulesAssociatedToPricingPlanCallable(const ListPricingRulesAssociatedToPricingPlanRequestT& request) const { return SubmitCallable(&BillingConductorClient::ListPricingRulesAssociatedToPricingPlan, request); } /** * An Async wrapper for ListPricingRulesAssociatedToPricingPlan that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListPricingRulesAssociatedToPricingPlanAsync(const ListPricingRulesAssociatedToPricingPlanRequestT& request, const ListPricingRulesAssociatedToPricingPlanResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&BillingConductorClient::ListPricingRulesAssociatedToPricingPlan, request, handler, context); } /** *

List the resources that are associated to a custom line item.

See * Also:

AWS * API Reference

*/ virtual Model::ListResourcesAssociatedToCustomLineItemOutcome ListResourcesAssociatedToCustomLineItem(const Model::ListResourcesAssociatedToCustomLineItemRequest& request) const; /** * A Callable wrapper for ListResourcesAssociatedToCustomLineItem that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListResourcesAssociatedToCustomLineItemOutcomeCallable ListResourcesAssociatedToCustomLineItemCallable(const ListResourcesAssociatedToCustomLineItemRequestT& request) const { return SubmitCallable(&BillingConductorClient::ListResourcesAssociatedToCustomLineItem, request); } /** * An Async wrapper for ListResourcesAssociatedToCustomLineItem that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListResourcesAssociatedToCustomLineItemAsync(const ListResourcesAssociatedToCustomLineItemRequestT& request, const ListResourcesAssociatedToCustomLineItemResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&BillingConductorClient::ListResourcesAssociatedToCustomLineItem, request, handler, context); } /** *

A list the tags for a resource.

See Also:

AWS * API Reference

*/ virtual Model::ListTagsForResourceOutcome ListTagsForResource(const Model::ListTagsForResourceRequest& request) const; /** * A Callable wrapper for ListTagsForResource that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const ListTagsForResourceRequestT& request) const { return SubmitCallable(&BillingConductorClient::ListTagsForResource, request); } /** * An Async wrapper for ListTagsForResource that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListTagsForResourceAsync(const ListTagsForResourceRequestT& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&BillingConductorClient::ListTagsForResource, request, handler, context); } /** *

Associates the specified tags to a resource with the specified * resourceArn. If existing tags on a resource are not specified in * the request parameters, they are not changed.

See Also:

AWS * API Reference

*/ virtual Model::TagResourceOutcome TagResource(const Model::TagResourceRequest& request) const; /** * A Callable wrapper for TagResource that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::TagResourceOutcomeCallable TagResourceCallable(const TagResourceRequestT& request) const { return SubmitCallable(&BillingConductorClient::TagResource, request); } /** * An Async wrapper for TagResource that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void TagResourceAsync(const TagResourceRequestT& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&BillingConductorClient::TagResource, request, handler, context); } /** *

Deletes specified tags from a resource.

See Also:

AWS * API Reference

*/ virtual Model::UntagResourceOutcome UntagResource(const Model::UntagResourceRequest& request) const; /** * A Callable wrapper for UntagResource that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UntagResourceOutcomeCallable UntagResourceCallable(const UntagResourceRequestT& request) const { return SubmitCallable(&BillingConductorClient::UntagResource, request); } /** * An Async wrapper for UntagResource that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UntagResourceAsync(const UntagResourceRequestT& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&BillingConductorClient::UntagResource, request, handler, context); } /** *

This updates an existing billing group.

See Also:

AWS * API Reference

*/ virtual Model::UpdateBillingGroupOutcome UpdateBillingGroup(const Model::UpdateBillingGroupRequest& request) const; /** * A Callable wrapper for UpdateBillingGroup that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateBillingGroupOutcomeCallable UpdateBillingGroupCallable(const UpdateBillingGroupRequestT& request) const { return SubmitCallable(&BillingConductorClient::UpdateBillingGroup, request); } /** * An Async wrapper for UpdateBillingGroup that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateBillingGroupAsync(const UpdateBillingGroupRequestT& request, const UpdateBillingGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&BillingConductorClient::UpdateBillingGroup, request, handler, context); } /** *

Update an existing custom line item in the current or previous billing * period.

See Also:

AWS * API Reference

*/ virtual Model::UpdateCustomLineItemOutcome UpdateCustomLineItem(const Model::UpdateCustomLineItemRequest& request) const; /** * A Callable wrapper for UpdateCustomLineItem that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateCustomLineItemOutcomeCallable UpdateCustomLineItemCallable(const UpdateCustomLineItemRequestT& request) const { return SubmitCallable(&BillingConductorClient::UpdateCustomLineItem, request); } /** * An Async wrapper for UpdateCustomLineItem that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateCustomLineItemAsync(const UpdateCustomLineItemRequestT& request, const UpdateCustomLineItemResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&BillingConductorClient::UpdateCustomLineItem, request, handler, context); } /** *

This updates an existing pricing plan.

See Also:

AWS * API Reference

*/ virtual Model::UpdatePricingPlanOutcome UpdatePricingPlan(const Model::UpdatePricingPlanRequest& request) const; /** * A Callable wrapper for UpdatePricingPlan that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdatePricingPlanOutcomeCallable UpdatePricingPlanCallable(const UpdatePricingPlanRequestT& request) const { return SubmitCallable(&BillingConductorClient::UpdatePricingPlan, request); } /** * An Async wrapper for UpdatePricingPlan that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdatePricingPlanAsync(const UpdatePricingPlanRequestT& request, const UpdatePricingPlanResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&BillingConductorClient::UpdatePricingPlan, request, handler, context); } /** *

Updates an existing pricing rule.

See Also:

AWS * API Reference

*/ virtual Model::UpdatePricingRuleOutcome UpdatePricingRule(const Model::UpdatePricingRuleRequest& request) const; /** * A Callable wrapper for UpdatePricingRule that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdatePricingRuleOutcomeCallable UpdatePricingRuleCallable(const UpdatePricingRuleRequestT& request) const { return SubmitCallable(&BillingConductorClient::UpdatePricingRule, request); } /** * An Async wrapper for UpdatePricingRule that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdatePricingRuleAsync(const UpdatePricingRuleRequestT& request, const UpdatePricingRuleResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&BillingConductorClient::UpdatePricingRule, request, handler, context); } void OverrideEndpoint(const Aws::String& endpoint); std::shared_ptr& accessEndpointProvider(); private: friend class Aws::Client::ClientWithAsyncTemplateMethods; void init(const BillingConductorClientConfiguration& clientConfiguration); BillingConductorClientConfiguration m_clientConfiguration; std::shared_ptr m_executor; std::shared_ptr m_endpointProvider; }; } // namespace BillingConductor } // namespace Aws