AWS::BillingConductor::BillingGroup
Creates a billing group that resembles a consolidated billing family that AWS charges, based off of the predefined pricing plan computation.
Syntax
To declare this entity in your AWS CloudFormation template, use the following syntax:
JSON
{ "Type" : "AWS::BillingConductor::BillingGroup", "Properties" : { "AccountGrouping" :
AccountGrouping
, "ComputationPreference" :ComputationPreference
, "Description" :String
, "Name" :String
, "PrimaryAccountId" :String
, "Tags" :[ Tag, ... ]
} }
YAML
Type: AWS::BillingConductor::BillingGroup Properties: AccountGrouping:
AccountGrouping
ComputationPreference:ComputationPreference
Description:String
Name:String
PrimaryAccountId:String
Tags:- Tag
Properties
AccountGrouping
-
The set of accounts that will be under the billing group. The set of accounts resemble the linked accounts in a consolidated billing family.
Required: Yes
Type: AccountGrouping
Update requires: No interruption
ComputationPreference
-
The preferences and settings that will be used to compute the AWScharges for a billing group.
Required: Yes
Type: ComputationPreference
Update requires: No interruption
Description
-
The description of the billing group.
Required: No
Type: String
Maximum:
1024
Update requires: No interruption
Name
-
The billing group's name.
Required: Yes
Type: String
Pattern:
[a-zA-Z0-9_\+=\.\-@]+
Minimum:
1
Maximum:
128
Update requires: No interruption
PrimaryAccountId
-
The account ID that serves as the main account in a billing group.
Required: Yes
Type: String
Pattern:
[0-9]{12}
Update requires: Replacement
-
A map that contains tag keys and tag values that are attached to a billing group.
Required: No
Type: Array of Tag
Update requires: No interruption
Return values
Ref
For more information about using the Ref
function, see Ref
.
Fn::GetAtt
Arn
-
The Amazon Resource Name (ARN) of the created billing group.
CreationTime
-
The time the billing group was created.
LastModifiedTime
-
The most recent time the billing group was modified.
Size
-
The number of accounts in the particular billing group.
Status
-
The billing group status. Only one of the valid values can be used.
StatusReason
-
The reason why the billing group is in its current status.
Examples
Create a billing group with a pricing plan
The following example is a billing group that takes a list of linked account IDs and the primary account as input. This example creates a billing group with a pricing plan that has no pricing rules.
JSON
{ "Parameters": { "LinkedAccountIds": { "Type": "ListNumber" }, "PrimaryAccountId": { "Type": "Number" } }, "Resources": { "TestBillingGroup": { "Type": "AWS::BillingConductor::BillingGroup", "Properties": { "Name": "TestBillingGroup", "Description": "Test billing group created through CloudFormation with 1 linked account. The linked account is also the primary account.", "PrimaryAccountId": { "Ref": "PrimaryAccountId" }, "AccountGrouping": { "LinkedAccountIds":{ "Ref": "LinkedAccountIds" } }, "ComputationPreference": { "PricingPlanArn": { "Fn::GetAtt": ["TestPricingPlan", "Arn"] } } } } } }
YAML
Parameters: LinkedAccountIds: Type: ListNumber PrimaryAccountId: Type: Number Resources: TestBillingGroup: Type: 'AWS::BillingConductor::BillingGroup' Properties: Name: 'TestBillingGroup' Description: 'Test billing group created through CloudFormation with 1 linked account. The linked account is also the primary account.' PrimaryAccountId: !Ref PrimaryAccountId AccountGrouping: LinkedAccountIds: !Ref LinkedAccountIds ComputationPreference: PricingPlanArn: !GetAtt TestPricingPlan.Arn