Creates a pricing plan that is used for computing AWS charges for billing groups.
Syntax
To declare this entity in your AWS CloudFormation template, use the following syntax:
JSON
{
"Type" : "AWS::BillingConductor::PricingPlan",
"Properties" : {
"Description" : String
,
"Name" : String
,
"PricingRuleArns" : [ String, ... ]
,
"Tags" : [ Tag, ... ]
}
}
YAML
Type: AWS::BillingConductor::PricingPlan
Properties:
Description: String
Name: String
PricingRuleArns:
- String
Tags:
- Tag
Properties
Description
-
The pricing plan description.
Required: No
Type: String
Maximum:
1024
Update requires: No interruption
Name
-
The name of a pricing plan.
Required: Yes
Type: String
Pattern:
[a-zA-Z0-9_\+=\.\-@]+
Minimum:
1
Maximum:
128
Update requires: No interruption
PricingRuleArns
-
The
PricingRuleArns
that are associated with the Pricing Plan.Required: No
Type: Array of String
Update requires: No interruption
-
A map that contains tag keys and tag values that are attached to a pricing plan.
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 pricing plan.
CreationTime
-
The time the pricing plan was created.
LastModifiedTime
-
The most recent time the pricing plan was modified.
Size
-
The pricing rules count currently associated with this pricing plan list element.
Examples
Pricing plan with a pricing rule attached
The following example creates a pricing plan with a 10% global mark up pricing rule attached.
JSON
{
"Resources": {
"TestPricingRule": {
"Type": "AWS::BillingConductor::PricingRule",
"Properties": {
"Name": "TestPricingRule",
"Description": "Test pricing rule created through CloudFormation. Mark everything by 10%.",
"Type": "MARKUP",
"Scope": "GLOBAL",
"ModifierPercentage": 10
}
},
"TestPricingPlan": {
"Type": "AWS::BillingConductor::PricingPlan",
"Properties": {
"Name": "TestPricingPlan",
"Description": "Test pricing plan created through CloudFormation.",
"PricingRuleArns": [
{"Fn::GetAtt": ["TestPricingRule", "Arn"]}
]
}
}
}
}
YAML
Resources:
TestPricingRule:
Type: 'AWS::BillingConductor::PricingRule'
Properties:
Name: 'TestPricingRule'
Description: 'Test pricing rule created through CloudFormation. Mark everything by 10%.'
Type: 'MARKUP'
Scope: 'GLOBAL'
ModifierPercentage: 10
TestPricingPlan:
Type: 'AWS::BillingConductor::PricingPlan'
Properties:
Name: 'TestPricingPlan'
Description: 'Test pricing plan created through CloudFormation.'
PricingRuleArns:
- !GetAtt TestPricingRule.Arn