Creates a custom line item that can be used to create a one-time or recurring, fixed or percentage-based charge that you can apply to a single billing group. You can apply custom line items to the current or previous billing period. You can create either a fee or a discount custom line item.
Syntax
To declare this entity in your AWS CloudFormation template, use the following syntax:
JSON
{
"Type" : "AWS::BillingConductor::CustomLineItem",
"Properties" : {
"AccountId" : String
,
"BillingGroupArn" : String
,
"BillingPeriodRange" : BillingPeriodRange
,
"CustomLineItemChargeDetails" : CustomLineItemChargeDetails
,
"Description" : String
,
"Name" : String
,
"Tags" : [ Tag, ... ]
}
}
YAML
Type: AWS::BillingConductor::CustomLineItem
Properties:
AccountId: String
BillingGroupArn: String
BillingPeriodRange:
BillingPeriodRange
CustomLineItemChargeDetails:
CustomLineItemChargeDetails
Description: String
Name: String
Tags:
- Tag
Properties
AccountId
-
The AWS account in which this custom line item will be applied to.
Required: No
Type: String
Pattern:
[0-9]{12}
Update requires: Replacement
BillingGroupArn
-
The Amazon Resource Name (ARN) that references the billing group where the custom line item applies to.
Required: Yes
Type: String
Pattern:
arn:aws(-cn)?:billingconductor::[0-9]{12}:billinggroup/?[0-9]{12}
Update requires: Replacement
BillingPeriodRange
-
A time range for which the custom line item is effective.
Required: No
Type: BillingPeriodRange
Update requires: No interruption
CustomLineItemChargeDetails
-
The charge details of a custom line item. It should contain only one of
Flat
orPercentage
.Required: No
Type: CustomLineItemChargeDetails
Update requires: No interruption
Description
-
The custom line item's description. This is shown on the Bills page in association with the charge value.
Required: No
Type: String
Maximum:
255
Update requires: No interruption
Name
-
The custom line item's name.
Required: Yes
Type: String
Pattern:
[a-zA-Z0-9_\+=\.\-@]+
Minimum:
1
Maximum:
128
Update requires: No interruption
-
A map that contains tag keys and tag values that are attached to a custom line item.
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) that references the billing group where the custom line item applies to.
AssociationSize
-
The number of resources that are associated to the custom line item.
CreationTime
-
The time created.
CurrencyCode
-
The custom line item's charge value currency. Only one of the valid values can be used.
LastModifiedTime
-
The most recent time the custom line item was modified.
ProductCode
-
The product code associated with the custom line item.
Examples
Flat custom line item
The following example shows a flat charge custom line item of $10 attached to a billing group.
JSON
{
"Resources": {
"TestFlatCustomLineItem": {
"Type": "AWS::BillingConductor::CustomLineItem",
"Properties": {
"Name": "TestFlatCustomLineItem",
"Description": "Test flat custom line item created through CloudFormation for a $10 charge.",
"BillingGroupArn": {
"Fn::GetAtt": ["TestBillingGroup", "Arn"]
},
"CustomLineItemChargeDetails": {
"Flat": {
"ChargeValue": 10
},
"Type": "FEE"
},
"BillingPeriodRange": {
"InclusiveStartBillingPeriod": "2022-11"
}
}
}
}
}
YAML
Resources:
TestFlatCustomLineItem:
Type: 'AWS::BillingConductor::CustomLineItem'
Properties:
Name: 'TestFlatCustomLineItem'
Description: 'Test flat custom line item created through CloudFormation for a $10 charge.'
BillingGroupArn: !GetAtt TestBillingGroup.Arn
CustomLineItemChargeDetails:
Flat:
ChargeValue: 10
Type: 'FEE'
BillingPeriodRange:
InclusiveStartBillingPeriod: 2022-11
Percentage custom line item
The following example shows a percentage charge custom line item that is 10% of the billing group total cost.
JSON
{
"Resources": {
"TestPercentageCustomLineItem": {
"Type": "AWS::BillingConductor::CustomLineItem",
"Properties": {
"Name": "TestPercentageCustomLineItem",
"Description": "Test percentage custom line item created through CloudFormation for a %10 additional charge on the overall total bill of the billing group.",
"BillingGroupArn": {
"Fn::GetAtt": ["TestBillingGroup", "Arn"]
},
"CustomLineItemChargeDetails": {
"Percentage": {
"PercentageValue": 10,
"ChildAssociatedResources": [
{"Fn::GetAtt": ["TestBillingGroup", "Arn"]}
]
},
"Type": "FEE"
}
}
}
}
}
YAML
Resources:
TestPercentageCustomLineItem:
Type: 'AWS::BillingConductor::CustomLineItem'
Properties:
Name: 'TestPercentageCustomLineItem'
Description: 'Test percentage custom line item created through CloudFormation for a %10 additional charge on the overall total bill of the billing group.'
BillingGroupArn: !GetAtt TestBillingGroup.Arn
CustomLineItemChargeDetails:
Percentage:
PercentageValue: 10
ChildAssociatedResources:
- !GetAtt TestBillingGroup.Arn
Type: 'FEE'