UNPKG

aws-sdk

Version:
1,024 lines (1,023 loc) • 82.3 kB
import {Request} from '../lib/request'; import {Response} from '../lib/response'; import {AWSError} from '../lib/error'; import {Service} from '../lib/service'; import {ServiceConfigurationOptions} from '../lib/service'; import {ConfigBase as Config} from '../lib/config-base'; interface Blob {} declare class Billingconductor extends Service { /** * Constructs a service object. This object has one method for each API operation. */ constructor(options?: Billingconductor.Types.ClientConfiguration) config: Config & Billingconductor.Types.ClientConfiguration; /** * 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. */ associateAccounts(params: Billingconductor.Types.AssociateAccountsInput, callback?: (err: AWSError, data: Billingconductor.Types.AssociateAccountsOutput) => void): Request<Billingconductor.Types.AssociateAccountsOutput, AWSError>; /** * 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. */ associateAccounts(callback?: (err: AWSError, data: Billingconductor.Types.AssociateAccountsOutput) => void): Request<Billingconductor.Types.AssociateAccountsOutput, AWSError>; /** * Connects an array of PricingRuleArns to a defined PricingPlan. The maximum number PricingRuleArn that can be associated in one call is 30. */ associatePricingRules(params: Billingconductor.Types.AssociatePricingRulesInput, callback?: (err: AWSError, data: Billingconductor.Types.AssociatePricingRulesOutput) => void): Request<Billingconductor.Types.AssociatePricingRulesOutput, AWSError>; /** * Connects an array of PricingRuleArns to a defined PricingPlan. The maximum number PricingRuleArn that can be associated in one call is 30. */ associatePricingRules(callback?: (err: AWSError, data: Billingconductor.Types.AssociatePricingRulesOutput) => void): Request<Billingconductor.Types.AssociatePricingRulesOutput, AWSError>; /** * Associates a batch of resources to a percentage custom line item. */ batchAssociateResourcesToCustomLineItem(params: Billingconductor.Types.BatchAssociateResourcesToCustomLineItemInput, callback?: (err: AWSError, data: Billingconductor.Types.BatchAssociateResourcesToCustomLineItemOutput) => void): Request<Billingconductor.Types.BatchAssociateResourcesToCustomLineItemOutput, AWSError>; /** * Associates a batch of resources to a percentage custom line item. */ batchAssociateResourcesToCustomLineItem(callback?: (err: AWSError, data: Billingconductor.Types.BatchAssociateResourcesToCustomLineItemOutput) => void): Request<Billingconductor.Types.BatchAssociateResourcesToCustomLineItemOutput, AWSError>; /** * Disassociates a batch of resources from a percentage custom line item. */ batchDisassociateResourcesFromCustomLineItem(params: Billingconductor.Types.BatchDisassociateResourcesFromCustomLineItemInput, callback?: (err: AWSError, data: Billingconductor.Types.BatchDisassociateResourcesFromCustomLineItemOutput) => void): Request<Billingconductor.Types.BatchDisassociateResourcesFromCustomLineItemOutput, AWSError>; /** * Disassociates a batch of resources from a percentage custom line item. */ batchDisassociateResourcesFromCustomLineItem(callback?: (err: AWSError, data: Billingconductor.Types.BatchDisassociateResourcesFromCustomLineItemOutput) => void): Request<Billingconductor.Types.BatchDisassociateResourcesFromCustomLineItemOutput, AWSError>; /** * Creates a billing group that resembles a consolidated billing family that Amazon Web Services charges, based off of the predefined pricing plan computation. */ createBillingGroup(params: Billingconductor.Types.CreateBillingGroupInput, callback?: (err: AWSError, data: Billingconductor.Types.CreateBillingGroupOutput) => void): Request<Billingconductor.Types.CreateBillingGroupOutput, AWSError>; /** * Creates a billing group that resembles a consolidated billing family that Amazon Web Services charges, based off of the predefined pricing plan computation. */ createBillingGroup(callback?: (err: AWSError, data: Billingconductor.Types.CreateBillingGroupOutput) => void): Request<Billingconductor.Types.CreateBillingGroupOutput, AWSError>; /** * 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. */ createCustomLineItem(params: Billingconductor.Types.CreateCustomLineItemInput, callback?: (err: AWSError, data: Billingconductor.Types.CreateCustomLineItemOutput) => void): Request<Billingconductor.Types.CreateCustomLineItemOutput, AWSError>; /** * 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. */ createCustomLineItem(callback?: (err: AWSError, data: Billingconductor.Types.CreateCustomLineItemOutput) => void): Request<Billingconductor.Types.CreateCustomLineItemOutput, AWSError>; /** * Creates a pricing plan that is used for computing Amazon Web Services charges for billing groups. */ createPricingPlan(params: Billingconductor.Types.CreatePricingPlanInput, callback?: (err: AWSError, data: Billingconductor.Types.CreatePricingPlanOutput) => void): Request<Billingconductor.Types.CreatePricingPlanOutput, AWSError>; /** * Creates a pricing plan that is used for computing Amazon Web Services charges for billing groups. */ createPricingPlan(callback?: (err: AWSError, data: Billingconductor.Types.CreatePricingPlanOutput) => void): Request<Billingconductor.Types.CreatePricingPlanOutput, AWSError>; /** * Creates a pricing rule can be associated to a pricing plan, or a set of pricing plans. */ createPricingRule(params: Billingconductor.Types.CreatePricingRuleInput, callback?: (err: AWSError, data: Billingconductor.Types.CreatePricingRuleOutput) => void): Request<Billingconductor.Types.CreatePricingRuleOutput, AWSError>; /** * Creates a pricing rule can be associated to a pricing plan, or a set of pricing plans. */ createPricingRule(callback?: (err: AWSError, data: Billingconductor.Types.CreatePricingRuleOutput) => void): Request<Billingconductor.Types.CreatePricingRuleOutput, AWSError>; /** * Deletes a billing group. */ deleteBillingGroup(params: Billingconductor.Types.DeleteBillingGroupInput, callback?: (err: AWSError, data: Billingconductor.Types.DeleteBillingGroupOutput) => void): Request<Billingconductor.Types.DeleteBillingGroupOutput, AWSError>; /** * Deletes a billing group. */ deleteBillingGroup(callback?: (err: AWSError, data: Billingconductor.Types.DeleteBillingGroupOutput) => void): Request<Billingconductor.Types.DeleteBillingGroupOutput, AWSError>; /** * Deletes the custom line item identified by the given ARN in the current, or previous billing period. */ deleteCustomLineItem(params: Billingconductor.Types.DeleteCustomLineItemInput, callback?: (err: AWSError, data: Billingconductor.Types.DeleteCustomLineItemOutput) => void): Request<Billingconductor.Types.DeleteCustomLineItemOutput, AWSError>; /** * Deletes the custom line item identified by the given ARN in the current, or previous billing period. */ deleteCustomLineItem(callback?: (err: AWSError, data: Billingconductor.Types.DeleteCustomLineItemOutput) => void): Request<Billingconductor.Types.DeleteCustomLineItemOutput, AWSError>; /** * Deletes a pricing plan. The pricing plan must not be associated with any billing groups to delete successfully. */ deletePricingPlan(params: Billingconductor.Types.DeletePricingPlanInput, callback?: (err: AWSError, data: Billingconductor.Types.DeletePricingPlanOutput) => void): Request<Billingconductor.Types.DeletePricingPlanOutput, AWSError>; /** * Deletes a pricing plan. The pricing plan must not be associated with any billing groups to delete successfully. */ deletePricingPlan(callback?: (err: AWSError, data: Billingconductor.Types.DeletePricingPlanOutput) => void): Request<Billingconductor.Types.DeletePricingPlanOutput, AWSError>; /** * Deletes the pricing rule that's identified by the input Amazon Resource Name (ARN). */ deletePricingRule(params: Billingconductor.Types.DeletePricingRuleInput, callback?: (err: AWSError, data: Billingconductor.Types.DeletePricingRuleOutput) => void): Request<Billingconductor.Types.DeletePricingRuleOutput, AWSError>; /** * Deletes the pricing rule that's identified by the input Amazon Resource Name (ARN). */ deletePricingRule(callback?: (err: AWSError, data: Billingconductor.Types.DeletePricingRuleOutput) => void): Request<Billingconductor.Types.DeletePricingRuleOutput, AWSError>; /** * Removes the specified list of account IDs from the given billing group. */ disassociateAccounts(params: Billingconductor.Types.DisassociateAccountsInput, callback?: (err: AWSError, data: Billingconductor.Types.DisassociateAccountsOutput) => void): Request<Billingconductor.Types.DisassociateAccountsOutput, AWSError>; /** * Removes the specified list of account IDs from the given billing group. */ disassociateAccounts(callback?: (err: AWSError, data: Billingconductor.Types.DisassociateAccountsOutput) => void): Request<Billingconductor.Types.DisassociateAccountsOutput, AWSError>; /** * Disassociates a list of pricing rules from a pricing plan. */ disassociatePricingRules(params: Billingconductor.Types.DisassociatePricingRulesInput, callback?: (err: AWSError, data: Billingconductor.Types.DisassociatePricingRulesOutput) => void): Request<Billingconductor.Types.DisassociatePricingRulesOutput, AWSError>; /** * Disassociates a list of pricing rules from a pricing plan. */ disassociatePricingRules(callback?: (err: AWSError, data: Billingconductor.Types.DisassociatePricingRulesOutput) => void): Request<Billingconductor.Types.DisassociatePricingRulesOutput, AWSError>; /** * Retrieves the margin summary report, which includes the Amazon Web Services cost and charged amount (pro forma cost) by Amazon Web Service for a specific billing group. */ getBillingGroupCostReport(params: Billingconductor.Types.GetBillingGroupCostReportInput, callback?: (err: AWSError, data: Billingconductor.Types.GetBillingGroupCostReportOutput) => void): Request<Billingconductor.Types.GetBillingGroupCostReportOutput, AWSError>; /** * Retrieves the margin summary report, which includes the Amazon Web Services cost and charged amount (pro forma cost) by Amazon Web Service for a specific billing group. */ getBillingGroupCostReport(callback?: (err: AWSError, data: Billingconductor.Types.GetBillingGroupCostReportOutput) => void): Request<Billingconductor.Types.GetBillingGroupCostReportOutput, AWSError>; /** * 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. */ listAccountAssociations(params: Billingconductor.Types.ListAccountAssociationsInput, callback?: (err: AWSError, data: Billingconductor.Types.ListAccountAssociationsOutput) => void): Request<Billingconductor.Types.ListAccountAssociationsOutput, AWSError>; /** * 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. */ listAccountAssociations(callback?: (err: AWSError, data: Billingconductor.Types.ListAccountAssociationsOutput) => void): Request<Billingconductor.Types.ListAccountAssociationsOutput, AWSError>; /** * 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. */ listBillingGroupCostReports(params: Billingconductor.Types.ListBillingGroupCostReportsInput, callback?: (err: AWSError, data: Billingconductor.Types.ListBillingGroupCostReportsOutput) => void): Request<Billingconductor.Types.ListBillingGroupCostReportsOutput, AWSError>; /** * 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. */ listBillingGroupCostReports(callback?: (err: AWSError, data: Billingconductor.Types.ListBillingGroupCostReportsOutput) => void): Request<Billingconductor.Types.ListBillingGroupCostReportsOutput, AWSError>; /** * 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. */ listBillingGroups(params: Billingconductor.Types.ListBillingGroupsInput, callback?: (err: AWSError, data: Billingconductor.Types.ListBillingGroupsOutput) => void): Request<Billingconductor.Types.ListBillingGroupsOutput, AWSError>; /** * 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. */ listBillingGroups(callback?: (err: AWSError, data: Billingconductor.Types.ListBillingGroupsOutput) => void): Request<Billingconductor.Types.ListBillingGroupsOutput, AWSError>; /** * A paginated call to get a list of all custom line item versions. */ listCustomLineItemVersions(params: Billingconductor.Types.ListCustomLineItemVersionsInput, callback?: (err: AWSError, data: Billingconductor.Types.ListCustomLineItemVersionsOutput) => void): Request<Billingconductor.Types.ListCustomLineItemVersionsOutput, AWSError>; /** * A paginated call to get a list of all custom line item versions. */ listCustomLineItemVersions(callback?: (err: AWSError, data: Billingconductor.Types.ListCustomLineItemVersionsOutput) => void): Request<Billingconductor.Types.ListCustomLineItemVersionsOutput, AWSError>; /** * 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. */ listCustomLineItems(params: Billingconductor.Types.ListCustomLineItemsInput, callback?: (err: AWSError, data: Billingconductor.Types.ListCustomLineItemsOutput) => void): Request<Billingconductor.Types.ListCustomLineItemsOutput, AWSError>; /** * 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. */ listCustomLineItems(callback?: (err: AWSError, data: Billingconductor.Types.ListCustomLineItemsOutput) => void): Request<Billingconductor.Types.ListCustomLineItemsOutput, AWSError>; /** * 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. */ listPricingPlans(params: Billingconductor.Types.ListPricingPlansInput, callback?: (err: AWSError, data: Billingconductor.Types.ListPricingPlansOutput) => void): Request<Billingconductor.Types.ListPricingPlansOutput, AWSError>; /** * 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. */ listPricingPlans(callback?: (err: AWSError, data: Billingconductor.Types.ListPricingPlansOutput) => void): Request<Billingconductor.Types.ListPricingPlansOutput, AWSError>; /** * A list of the pricing plans that are associated with a pricing rule. */ listPricingPlansAssociatedWithPricingRule(params: Billingconductor.Types.ListPricingPlansAssociatedWithPricingRuleInput, callback?: (err: AWSError, data: Billingconductor.Types.ListPricingPlansAssociatedWithPricingRuleOutput) => void): Request<Billingconductor.Types.ListPricingPlansAssociatedWithPricingRuleOutput, AWSError>; /** * A list of the pricing plans that are associated with a pricing rule. */ listPricingPlansAssociatedWithPricingRule(callback?: (err: AWSError, data: Billingconductor.Types.ListPricingPlansAssociatedWithPricingRuleOutput) => void): Request<Billingconductor.Types.ListPricingPlansAssociatedWithPricingRuleOutput, AWSError>; /** * Describes a pricing rule that can be associated to a pricing plan, or set of pricing plans. */ listPricingRules(params: Billingconductor.Types.ListPricingRulesInput, callback?: (err: AWSError, data: Billingconductor.Types.ListPricingRulesOutput) => void): Request<Billingconductor.Types.ListPricingRulesOutput, AWSError>; /** * Describes a pricing rule that can be associated to a pricing plan, or set of pricing plans. */ listPricingRules(callback?: (err: AWSError, data: Billingconductor.Types.ListPricingRulesOutput) => void): Request<Billingconductor.Types.ListPricingRulesOutput, AWSError>; /** * Lists the pricing rules that are associated with a pricing plan. */ listPricingRulesAssociatedToPricingPlan(params: Billingconductor.Types.ListPricingRulesAssociatedToPricingPlanInput, callback?: (err: AWSError, data: Billingconductor.Types.ListPricingRulesAssociatedToPricingPlanOutput) => void): Request<Billingconductor.Types.ListPricingRulesAssociatedToPricingPlanOutput, AWSError>; /** * Lists the pricing rules that are associated with a pricing plan. */ listPricingRulesAssociatedToPricingPlan(callback?: (err: AWSError, data: Billingconductor.Types.ListPricingRulesAssociatedToPricingPlanOutput) => void): Request<Billingconductor.Types.ListPricingRulesAssociatedToPricingPlanOutput, AWSError>; /** * List the resources that are associated to a custom line item. */ listResourcesAssociatedToCustomLineItem(params: Billingconductor.Types.ListResourcesAssociatedToCustomLineItemInput, callback?: (err: AWSError, data: Billingconductor.Types.ListResourcesAssociatedToCustomLineItemOutput) => void): Request<Billingconductor.Types.ListResourcesAssociatedToCustomLineItemOutput, AWSError>; /** * List the resources that are associated to a custom line item. */ listResourcesAssociatedToCustomLineItem(callback?: (err: AWSError, data: Billingconductor.Types.ListResourcesAssociatedToCustomLineItemOutput) => void): Request<Billingconductor.Types.ListResourcesAssociatedToCustomLineItemOutput, AWSError>; /** * A list the tags for a resource. */ listTagsForResource(params: Billingconductor.Types.ListTagsForResourceRequest, callback?: (err: AWSError, data: Billingconductor.Types.ListTagsForResourceResponse) => void): Request<Billingconductor.Types.ListTagsForResourceResponse, AWSError>; /** * A list the tags for a resource. */ listTagsForResource(callback?: (err: AWSError, data: Billingconductor.Types.ListTagsForResourceResponse) => void): Request<Billingconductor.Types.ListTagsForResourceResponse, AWSError>; /** * 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. */ tagResource(params: Billingconductor.Types.TagResourceRequest, callback?: (err: AWSError, data: Billingconductor.Types.TagResourceResponse) => void): Request<Billingconductor.Types.TagResourceResponse, AWSError>; /** * 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. */ tagResource(callback?: (err: AWSError, data: Billingconductor.Types.TagResourceResponse) => void): Request<Billingconductor.Types.TagResourceResponse, AWSError>; /** * Deletes specified tags from a resource. */ untagResource(params: Billingconductor.Types.UntagResourceRequest, callback?: (err: AWSError, data: Billingconductor.Types.UntagResourceResponse) => void): Request<Billingconductor.Types.UntagResourceResponse, AWSError>; /** * Deletes specified tags from a resource. */ untagResource(callback?: (err: AWSError, data: Billingconductor.Types.UntagResourceResponse) => void): Request<Billingconductor.Types.UntagResourceResponse, AWSError>; /** * This updates an existing billing group. */ updateBillingGroup(params: Billingconductor.Types.UpdateBillingGroupInput, callback?: (err: AWSError, data: Billingconductor.Types.UpdateBillingGroupOutput) => void): Request<Billingconductor.Types.UpdateBillingGroupOutput, AWSError>; /** * This updates an existing billing group. */ updateBillingGroup(callback?: (err: AWSError, data: Billingconductor.Types.UpdateBillingGroupOutput) => void): Request<Billingconductor.Types.UpdateBillingGroupOutput, AWSError>; /** * Update an existing custom line item in the current or previous billing period. */ updateCustomLineItem(params: Billingconductor.Types.UpdateCustomLineItemInput, callback?: (err: AWSError, data: Billingconductor.Types.UpdateCustomLineItemOutput) => void): Request<Billingconductor.Types.UpdateCustomLineItemOutput, AWSError>; /** * Update an existing custom line item in the current or previous billing period. */ updateCustomLineItem(callback?: (err: AWSError, data: Billingconductor.Types.UpdateCustomLineItemOutput) => void): Request<Billingconductor.Types.UpdateCustomLineItemOutput, AWSError>; /** * This updates an existing pricing plan. */ updatePricingPlan(params: Billingconductor.Types.UpdatePricingPlanInput, callback?: (err: AWSError, data: Billingconductor.Types.UpdatePricingPlanOutput) => void): Request<Billingconductor.Types.UpdatePricingPlanOutput, AWSError>; /** * This updates an existing pricing plan. */ updatePricingPlan(callback?: (err: AWSError, data: Billingconductor.Types.UpdatePricingPlanOutput) => void): Request<Billingconductor.Types.UpdatePricingPlanOutput, AWSError>; /** * Updates an existing pricing rule. */ updatePricingRule(params: Billingconductor.Types.UpdatePricingRuleInput, callback?: (err: AWSError, data: Billingconductor.Types.UpdatePricingRuleOutput) => void): Request<Billingconductor.Types.UpdatePricingRuleOutput, AWSError>; /** * Updates an existing pricing rule. */ updatePricingRule(callback?: (err: AWSError, data: Billingconductor.Types.UpdatePricingRuleOutput) => void): Request<Billingconductor.Types.UpdatePricingRuleOutput, AWSError>; } declare namespace Billingconductor { export type AWSCost = string; export type AccountAssociationsList = AccountAssociationsListElement[]; export interface AccountAssociationsListElement { /** * The associating array of account IDs. */ AccountId?: AccountId; /** * The Billing Group Arn that the linked account is associated to. */ BillingGroupArn?: BillingGroupArn; /** * The Amazon Web Services account name. */ AccountName?: AccountName; /** * The Amazon Web Services account email. */ AccountEmail?: AccountEmail; } export type AccountEmail = string; export interface AccountGrouping { /** * The account IDs that make up the billing group. Account IDs must be a part of the consolidated billing family, and not associated with another billing group. */ LinkedAccountIds: AccountIdList; /** * Specifies if this billing group will automatically associate newly added Amazon Web Services accounts that join your consolidated billing family. */ AutoAssociate?: Boolean; } export type AccountId = string; export type AccountIdFilterList = AccountId[]; export type AccountIdList = AccountId[]; export type AccountName = string; export type Arn = string; export interface AssociateAccountsInput { /** * The Amazon Resource Name (ARN) of the billing group that associates the array of account IDs. */ Arn: BillingGroupArn; /** * The associating array of account IDs. */ AccountIds: AccountIdList; } export interface AssociateAccountsOutput { /** * The Amazon Resource Name (ARN) of the billing group that associates the array of account IDs. */ Arn?: BillingGroupArn; } export interface AssociatePricingRulesInput { /** * The PricingPlanArn that the PricingRuleArns are associated with. */ Arn: PricingPlanArn; /** * The PricingRuleArns that are associated with the Pricing Plan. */ PricingRuleArns: PricingRuleArnsNonEmptyInput; } export interface AssociatePricingRulesOutput { /** * The PricingPlanArn that the PricingRuleArns are associated with. */ Arn?: PricingPlanArn; } export interface AssociateResourceError { /** * The reason why the resource association failed. */ Message?: String; /** * A static error code that's used to classify the type of failure. */ Reason?: AssociateResourceErrorReason; } export type AssociateResourceErrorReason = "INVALID_ARN"|"SERVICE_LIMIT_EXCEEDED"|"ILLEGAL_CUSTOMLINEITEM"|"INTERNAL_SERVER_EXCEPTION"|"INVALID_BILLING_PERIOD_RANGE"|string; export interface AssociateResourceResponseElement { /** * The resource ARN that was associated to the custom line item. */ Arn?: CustomLineItemAssociationElement; /** * An AssociateResourceError that will populate if the resource association fails. */ Error?: AssociateResourceError; } export type AssociateResourcesResponseList = AssociateResourceResponseElement[]; export type Association = string; export interface Attribute { /** * The key in a key-value pair that describes the margin summary. */ Key?: String; /** * The value in a key-value pair that describes the margin summary. */ Value?: String; } export type AttributesList = Attribute[]; export interface BatchAssociateResourcesToCustomLineItemInput { /** * A percentage custom line item ARN to associate the resources to. */ TargetArn: CustomLineItemArn; /** * A list containing the ARNs of the resources to be associated. */ ResourceArns: CustomLineItemBatchAssociationsList; BillingPeriodRange?: CustomLineItemBillingPeriodRange; } export interface BatchAssociateResourcesToCustomLineItemOutput { /** * A list of AssociateResourceResponseElement for each resource that's been associated to a percentage custom line item successfully. */ SuccessfullyAssociatedResources?: AssociateResourcesResponseList; /** * A list of AssociateResourceResponseElement for each resource that failed association to a percentage custom line item. */ FailedAssociatedResources?: AssociateResourcesResponseList; } export interface BatchDisassociateResourcesFromCustomLineItemInput { /** * A percentage custom line item ARN to disassociate the resources from. */ TargetArn: CustomLineItemArn; /** * A list containing the ARNs of resources to be disassociated. */ ResourceArns: CustomLineItemBatchDisassociationsList; BillingPeriodRange?: CustomLineItemBillingPeriodRange; } export interface BatchDisassociateResourcesFromCustomLineItemOutput { /** * A list of DisassociateResourceResponseElement for each resource that's been disassociated from a percentage custom line item successfully. */ SuccessfullyDisassociatedResources?: DisassociateResourcesResponseList; /** * A list of DisassociateResourceResponseElement for each resource that failed disassociation from a percentage custom line item. */ FailedDisassociatedResources?: DisassociateResourcesResponseList; } export type BillingEntity = string; export type BillingGroupArn = string; export type BillingGroupArnList = BillingGroupArn[]; export interface BillingGroupCostReportElement { /** * The Amazon Resource Name (ARN) of a billing group. */ Arn?: BillingGroupArn; /** * The actual Amazon Web Services charges for the billing group. */ AWSCost?: AWSCost; /** * The hypothetical Amazon Web Services charges based on the associated pricing plan of a billing group. */ ProformaCost?: ProformaCost; /** * The billing group margin. */ Margin?: Margin; /** * The percentage of billing group margin. */ MarginPercentage?: MarginPercentage; /** * The displayed currency. */ Currency?: Currency; } export type BillingGroupCostReportList = BillingGroupCostReportElement[]; export interface BillingGroupCostReportResultElement { /** * The Amazon Resource Number (ARN) that uniquely identifies the billing group. */ Arn?: BillingGroupArn; /** * The actual Amazon Web Services charges for the billing group. */ AWSCost?: AWSCost; /** * The hypothetical Amazon Web Services charges based on the associated pricing plan of a billing group. */ ProformaCost?: ProformaCost; /** * The billing group margin. */ Margin?: Margin; /** * The percentage of the billing group margin. */ MarginPercentage?: MarginPercentage; /** * The displayed currency. */ Currency?: Currency; /** * The list of key-value pairs that represent the attributes by which the BillingGroupCostReportResults are grouped. For example, if you want the Amazon S3 service-level breakdown of a billing group for November 2023, the attributes list will contain a key-value pair of "PRODUCT_NAME" and "S3" and a key-value pair of "BILLING_PERIOD" and "Nov 2023". */ Attributes?: AttributesList; } export type BillingGroupCostReportResultsList = BillingGroupCostReportResultElement[]; export type BillingGroupDescription = string; export type BillingGroupFullArn = string; export type BillingGroupList = BillingGroupListElement[]; export interface BillingGroupListElement { /** * The name of the billing group. */ Name?: BillingGroupName; /** * The Amazon Resource Number (ARN) that can be used to uniquely identify the billing group. */ Arn?: BillingGroupArn; /** * The description of the billing group. */ Description?: BillingGroupDescription; /** * The account ID that serves as the main account in a billing group. */ PrimaryAccountId?: AccountId; ComputationPreference?: ComputationPreference; /** * The number of accounts in the particular billing group. */ Size?: NumberOfAccounts; /** * The time when the billing group was created. */ CreationTime?: Instant; /** * The most recent time when the billing group was modified. */ LastModifiedTime?: Instant; /** * The billing group status. Only one of the valid values can be used. */ Status?: BillingGroupStatus; /** * The reason why the billing group is in its current status. */ StatusReason?: BillingGroupStatusReason; /** * Specifies if the billing group has automatic account association (AutoAssociate) enabled. */ AccountGrouping?: ListBillingGroupAccountGrouping; } export type BillingGroupName = string; export type BillingGroupStatus = "ACTIVE"|"PRIMARY_ACCOUNT_MISSING"|string; export type BillingGroupStatusList = BillingGroupStatus[]; export type BillingGroupStatusReason = string; export type BillingPeriod = string; export interface BillingPeriodRange { /** * The inclusive start billing period that defines a billing period range for the margin summary. */ InclusiveStartBillingPeriod: BillingPeriod; /** * 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. */ ExclusiveEndBillingPeriod: BillingPeriod; } export type Boolean = boolean; export type ClientToken = string; export interface ComputationPreference { /** * The Amazon Resource Name (ARN) of the pricing plan that's used to compute the Amazon Web Services charges for a billing group. */ PricingPlanArn: PricingPlanFullArn; } export interface CreateBillingGroupInput { /** * The token that is needed to support idempotency. Idempotency isn't currently supported, but will be implemented in a future update. */ ClientToken?: ClientToken; /** * The billing group name. The names must be unique. */ Name: BillingGroupName; /** * The set of accounts that will be under the billing group. The set of accounts resemble the linked accounts in a consolidated billing family. */ AccountGrouping: AccountGrouping; /** * The preferences and settings that will be used to compute the Amazon Web Services charges for a billing group. */ ComputationPreference: ComputationPreference; /** * The account ID that serves as the main account in a billing group. */ PrimaryAccountId?: AccountId; /** * The description of the billing group. */ Description?: BillingGroupDescription; /** * A map that contains tag keys and tag values that are attached to a billing group. This feature isn't available during the beta. */ Tags?: TagMap; } export interface CreateBillingGroupOutput { /** * The Amazon Resource Name (ARN) of the created billing group. */ Arn?: BillingGroupArn; } export interface CreateCustomLineItemInput { /** * The token that is needed to support idempotency. Idempotency isn't currently supported, but will be implemented in a future update. */ ClientToken?: ClientToken; /** * The name of the custom line item. */ Name: CustomLineItemName; /** * The description of the custom line item. This is shown on the Bills page in association with the charge value. */ Description: CustomLineItemDescription; /** * The Amazon Resource Name (ARN) that references the billing group where the custom line item applies to. */ BillingGroupArn: BillingGroupArn; /** * A time range for which the custom line item is effective. */ BillingPeriodRange?: CustomLineItemBillingPeriodRange; /** * A map that contains tag keys and tag values that are attached to a custom line item. */ Tags?: TagMap; /** * A CustomLineItemChargeDetails that describes the charge details for a custom line item. */ ChargeDetails: CustomLineItemChargeDetails; /** * The Amazon Web Services account in which this custom line item will be applied to. */ AccountId?: AccountId; } export interface CreateCustomLineItemOutput { /** * The Amazon Resource Name (ARN) of the created custom line item. */ Arn?: CustomLineItemArn; } export interface CreateFreeTierConfig { /** * Activate or deactivate Amazon Web Services Free Tier. */ Activated: TieringActivated; } export interface CreatePricingPlanInput { /** * The token that is needed to support idempotency. Idempotency isn't currently supported, but will be implemented in a future update. */ ClientToken?: ClientToken; /** * The name of the pricing plan. The names must be unique to each pricing plan. */ Name: PricingPlanName; /** * The description of the pricing plan. */ Description?: PricingPlanDescription; /** * A list of Amazon Resource Names (ARNs) that define the pricing plan parameters. */ PricingRuleArns?: PricingRuleArnsInput; /** * A map that contains tag keys and tag values that are attached to a pricing plan. */ Tags?: TagMap; } export interface CreatePricingPlanOutput { /** * The Amazon Resource Name (ARN) of the created pricing plan. */ Arn?: PricingPlanArn; } export interface CreatePricingRuleInput { /** * The token that's needed to support idempotency. Idempotency isn't currently supported, but will be implemented in a future update. */ ClientToken?: ClientToken; /** * The pricing rule name. The names must be unique to each pricing rule. */ Name: PricingRuleName; /** * The pricing rule description. */ Description?: PricingRuleDescription; /** * The scope of pricing rule that indicates if it's globally applicable, or it's service-specific. */ Scope: PricingRuleScope; /** * The type of pricing rule. */ Type: PricingRuleType; /** * A percentage modifier that's applied on the public pricing rates. */ ModifierPercentage?: ModifierPercentage; /** * If the Scope attribute is set to SERVICE or SKU, the attribute indicates which service the PricingRule is applicable for. */ Service?: Service; /** * A map that contains tag keys and tag values that are attached to a pricing rule. */ Tags?: TagMap; /** * The seller of services provided by Amazon Web Services, their affiliates, or third-party providers selling services via Amazon Web Services Marketplace. */ BillingEntity?: BillingEntity; /** * The set of tiering configurations for the pricing rule. */ Tiering?: CreateTieringInput; /** * Usage type is the unit that each service uses to measure the usage of a specific type of resource. If the Scope attribute is set to SKU, this attribute indicates which usage type the PricingRule is modifying. For example, USW2-BoxUsage:m2.2xlarge describes an M2 High Memory Double Extra Large instance in the US West (Oregon) Region. &lt;/p&gt; */ UsageType?: UsageType; /** * Operation is the specific Amazon Web Services action covered by this line item. This describes the specific usage of the line item. If the Scope attribute is set to SKU, this attribute indicates which operation the PricingRule is modifying. For example, a value of RunInstances:0202 indicates the operation of running an Amazon EC2 instance. */ Operation?: Operation; } export interface CreatePricingRuleOutput { /** * The Amazon Resource Name (ARN) of the created pricing rule. */ Arn?: PricingRuleArn; } export interface CreateTieringInput { /** * The possible Amazon Web Services Free Tier configurations. */ FreeTier: CreateFreeTierConfig; } export type Currency = string; export type CurrencyCode = "USD"|"CNY"|string; export type CustomLineItemArn = string; export type CustomLineItemArns = CustomLineItemArn[]; export type CustomLineItemAssociationElement = string; export type CustomLineItemAssociationsList = CustomLineItemAssociationElement[]; export type CustomLineItemBatchAssociationsList = CustomLineItemAssociationElement[]; export type CustomLineItemBatchDisassociationsList = CustomLineItemAssociationElement[]; export interface CustomLineItemBillingPeriodRange { /** * The inclusive start billing period that defines a billing period range where a custom line is applied. */ InclusiveStartBillingPeriod: BillingPeriod; /** * The inclusive end billing period that defines a billing period range where a custom line is applied. */ ExclusiveEndBillingPeriod?: BillingPeriod; } export interface CustomLineItemChargeDetails { /** * A CustomLineItemFlatChargeDetails that describes the charge details of a flat custom line item. */ Flat?: CustomLineItemFlatChargeDetails; /** * A CustomLineItemPercentageChargeDetails that describes the charge details of a percentage custom line item. */ Percentage?: CustomLineItemPercentageChargeDetails; /** * The type of the custom line item that indicates whether the charge is a fee or credit. */ Type: CustomLineItemType; /** * A representation of the line item filter. */ LineItemFilters?: LineItemFiltersList; } export type CustomLineItemChargeValue = number; export type CustomLineItemDescription = string; export interface CustomLineItemFlatChargeDetails { /** * The custom line item's fixed charge value in USD. */ ChargeValue: CustomLineItemChargeValue; } export type CustomLineItemList = CustomLineItemListElement[]; export interface CustomLineItemListElement { /** * The Amazon Resource Names (ARNs) for custom line items. */ Arn?: CustomLineItemArn; /** * The custom line item's name. */ Name?: CustomLineItemName; /** * A ListCustomLineItemChargeDetails that describes the charge details of a custom line item. */ ChargeDetails?: ListCustomLineItemChargeDetails; /** * The custom line item's charge value currency. Only one of the valid values can be used. */ CurrencyCode?: CurrencyCode; /** * The custom line item's description. This is shown on the Bills page in association with the charge value. */ Description?: CustomLineItemDescription; /** * The product code that's associated with the custom line item. */ ProductCode?: CustomLineItemProductCode; /** * The Amazon Resource Name (ARN) that references the billing group where the custom line item applies to. */ BillingGroupArn?: BillingGroupArn; /** * The time created. */ CreationTime?: Instant; /** * The most recent time when the custom line item was modified. */ LastModifiedTime?: Instant; /** * The number of resources that are associated to the custom line item. */ AssociationSize?: NumberOfAssociations; /** * The Amazon Web Services account in which this custom line item will be applied to. */ AccountId?: AccountId; } export type CustomLineItemName = string; export type CustomLineItemNameList = CustomLineItemName[]; export interface CustomLineItemPercentageChargeDetails { /** * The custom line item's percentage value. This will be multiplied against the combined value of its associated resources to determine its charge value. */ PercentageValue: CustomLineItemPercentageChargeValue; /** * A list of resource ARNs to associate to the percentage custom line item. */ AssociatedValues?: CustomLineItemAssociationsList; } export type CustomLineItemPercentageChargeValue = number; export type CustomLineItemProductCode = string; export type CustomLineItemRelationship = "PARENT"|"CHILD"|string; export type CustomLineItemType = "CREDIT"|"FEE"|string; export type CustomLineItemVersionList = CustomLineItemVersionListElement[]; export interface CustomLineItemVersionListElement { /** * The name of the custom line item. */ Name?: CustomLineItemName; ChargeDetails?: ListCustomLineItemChargeDetails; /** * The charge value currency of the custom line item. */ CurrencyCode?: CurrencyCode; /** * The description of the custom line item. */ Description?: CustomLineItemDescription; /** * The product code that’s associated with the custom line item. */ ProductCode?: CustomLineItemProductCode; /** * The Amazon Resource Name (ARN) of the billing group that the custom line item applies to. */ BillingGroupArn?: BillingGroupArn; /** * The time when the custom line item version was created. */ CreationTime?: Instant; /** * The most recent time that the custom line item version was modified. */ LastModifiedTime?: Instant; /** * The number of resources that are associated with the custom line item. */ AssociationSize?: NumberOfAssociations; /** * The start billing period of the custom line item version. */ StartBillingPeriod?: BillingPeriod; /** * The end billing period of the custom line item version. */ EndBillingPeriod?: BillingPeriod; /** * A list of custom line item Amazon Resource Names (ARNs) to retrieve information. */ Arn?: CustomLineItemArn; /** * The inclusive start time. */ StartTime?: Instant; /** * The Amazon Web Services account in which this custom line item will be applied to. */ AccountId?: AccountId; } export interface DeleteBillingGroupInput { /** * The Amazon Resource Name (ARN) of the billing group that you're deleting. */ Arn: BillingGroupArn; } export interface DeleteBillingGroupOutput { /** * The Amazon Resource Name (ARN) of the deleted billing group. */ Arn?: BillingGroupArn; } export interface DeleteCustomLineItemInput { /** * The ARN of the custom line item to be deleted. */ Arn: CustomLineItemArn; BillingPeriodRange?: CustomLineItemBillingPeriodRange; } export interface DeleteCustomLineItemOutput { /** * The ARN of the deleted custom line item. */ Arn?: CustomLineItemArn; } export interface DeletePricingPlanInput { /** * The Amazon Resource Name (ARN) of the pricing plan that you're deleting. */ Arn: PricingPlanArn; } export interface DeletePricingPlanOutput { /** * The Amazon Resource Name (ARN) of the deleted pricing plan. */ Arn?: PricingPlanArn; } export interface DeletePricingRuleInput { /** * The Amazon Resource Name (ARN) of the pricing rule that you are deleting. */ Arn: PricingRuleArn; } export interface DeletePricingRuleOutput { /** * The Amazon Resource Name (ARN) of the deleted pricing rule. */ Arn?: PricingRuleArn; } export interface DisassociateAccountsInput { /** * The Amazon Resource Name (ARN) of the billing group that the array of account IDs will disassociate from. */ Arn: BillingGroupArn; /** * The array of account IDs to disassociate. */ AccountIds: AccountIdList; } export interface DisassociateAccountsOutput { /** * The Amazon Resource Name (ARN) of the billing group that the array of account IDs is disassociated from. */ Arn?: BillingGroupArn; } export interface DisassociatePricingRulesInput { /** * The pricing plan Amazon Resource Name (ARN) to disassociate pricing rules from. */ Arn: PricingPlanArn; /** * A list containing the Amazon Resource Name (ARN) of the pricing rules that will be disassociated. */ PricingRuleArns: PricingRuleArnsNonEmptyInput; } export interface DisassociatePricingRulesOutput { /** * The Amazon Resource Name (ARN) of the pricing plan that the pricing rules successfully disassociated from. */ Arn?: PricingPlanArn; } export interface DisassociateResourceResponseElement { /** * The resource ARN that was disassociated from the custom line item. */ Arn?: CustomLineItemAssociationElement; /** * An AssociateResourceError that's shown if the resource disassociation fails. */ Error?: AssociateResourceError; } export type DisassociateResourcesResponseList = DisassociateResourceResponseElement[]; export interface FreeTierConfig { /** * Activate or deactivate Amazon Web Services Free Tier application. */ Activated: TieringActivated; } export interface GetBillingGroupCostReportInput { /** * The Amazon Resource Number (ARN) that uniquely identifies the billing group. */ Arn: BillingGroupArn; /** * A time range for which the margin summary is effective. You can specify up to 12 months. */ BillingPeriodRange?: BillingPeriodRange; /** * A list of strings that specify the attributes that are used to break down costs in the margin summary reports for the billing group. For example, you can view your costs by the Amazon Web Service name or the billing period. */ GroupBy?: GroupByAttributesList; /** * The maximum number of margin summary reports to retrieve. */ MaxResults?: MaxBillingGroupCostReportResults; /** * The pagination token used on subsequent calls to get reports. */ NextToken?: Token; } export interface GetBillingGroupCostReportOutput { /** * The list of margin summary reports. */ BillingGroupCostReportResults?: BillingGroupCostReportResultsList; /** * The pagination token used on subsequent calls to get reports. */ NextToken?: Token; } export type GroupByAttributeName = "PRODUCT_NAME"|"BILLING_PERIOD"|string; export type GroupByAttributesList = GroupByAttributeName[]; export type Instant = number; export interface LineItemFilter { /** * The attribute of the line item filter. This specifies what attribute that you can filter on. */ Attribute: LineItemFilterAttributeName; /** * The match criteria of the line item filter. This parameter specifies whether not to include the resource value from the billing group total cost. */ MatchOption: MatchOption; /**