AWS::BillingConductor::BillingGroup - AWS CloudFormation

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

Tags

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