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