This is the new AWS CloudFormation Template Reference Guide. Please update your bookmarks and links. For help getting started with CloudFormation, see the AWS CloudFormation User Guide.
AWS::BillingConductor::PricingRule
Creates a pricing rule which can be associated with a pricing plan, or a set of pricing plans.
Syntax
To declare this entity in your AWS CloudFormation template, use the following syntax:
JSON
{ "Type" : "AWS::BillingConductor::PricingRule", "Properties" : { "BillingEntity" :String, "Description" :String, "ModifierPercentage" :Number, "Name" :String, "Operation" :String, "Scope" :String, "Service" :String, "Tags" :[ Tag, ... ], "Tiering" :Tiering, "Type" :String, "UsageType" :String} }
YAML
Type: AWS::BillingConductor::PricingRule Properties: BillingEntity:StringDescription:StringModifierPercentage:NumberName:StringOperation:StringScope:StringService:StringTags:- TagTiering:TieringType:StringUsageType:String
Properties
BillingEntity-
The seller of services provided by AWS, their affiliates, or third-party providers selling services via AWS Marketplace.
Required: No
Type: String
Allowed values:
AWS | AWS Marketplace | AISPLUpdate requires: Replacement
Description-
The pricing rule description.
Required: No
Type: String
Maximum:
1024Update requires: No interruption
ModifierPercentage-
A percentage modifier applied on the public pricing rates.
Required: No
Type: Number
Minimum:
0Update requires: No interruption
Name-
The name of a pricing rule.
Required: Yes
Type: String
Pattern:
[a-zA-Z0-9_\+=\.\-@]+Minimum:
1Maximum:
128Update requires: No interruption
Operation-
Operation is the specific AWS action covered by this line item. This describes the specific usage of the line item.
If the
Scopeattribute is set toSKU, this attribute indicates which operation thePricingRuleis modifying. For example, a value ofRunInstances:0202indicates the operation of running an Amazon EC2 instance.Required: No
Type: String
Pattern:
^\S+$Minimum:
1Maximum:
256Update requires: Replacement
Scope-
The scope of pricing rule that indicates if it's globally applicable or service-specific.
Required: Yes
Type: String
Allowed values:
GLOBAL | SERVICE | BILLING_ENTITY | SKUUpdate requires: Replacement
Service-
If the
Scopeattribute isSERVICE, this attribute indicates which service thePricingRuleis applicable for.Required: No
Type: String
Pattern:
[a-zA-Z0-9\.\-]+Minimum:
1Maximum:
128Update requires: Replacement
-
A map that contains tag keys and tag values that are attached to a pricing rule.
Required: No
Type: Array of Tag
Update requires: No interruption
Tiering-
The set of tiering configurations for the pricing rule.
Required: No
Type: Tiering
Update requires: No interruption
Type-
The type of pricing rule.
Required: Yes
Type: String
Allowed values:
MARKUP | DISCOUNT | TIERINGUpdate requires: No interruption
UsageType-
Usage Type is the unit that each service uses to measure the usage of a specific type of resource.
Required: No
Type: String
Pattern:
^\S+$Minimum:
1Maximum:
256Update requires: Replacement
Return values
Ref
For more information about using the Ref function, see Ref.
Fn::GetAtt
Arn-
The Amazon Resource Name (ARN) used to uniquely identify a pricing rule.
AssociatedPricingPlanCount-
The pricing plans count that this pricing rule is associated with.
CreationTime-
The time the pricing rule was created.
LastModifiedTime-
The most recent time the pricing rule was modified.
Examples
Simple pricing rule
The following example shows a pricing rule that applies a 10% global markup.
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 } } } }
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
AWS Marketplace pricing rule
The following example shows a pricing rule that targets only AWS Marketplace charges.
JSON
{ "Resources": { "TestPricingRule": { "Type": "AWS::BillingConductor::PricingRule", "Properties": { "Name": "TestPricingRule", "Description": "Test pricing rule created through CloudFormation. Keep all MP charges at public on demand rate. " "Type": "MARKUP", "Scope": "BILLING_ENTITY", "BillingEntity": "AWS Marketplace", "ModifierPercentage": 0 } } } }
YAML
Resources: TestPricingRule: Type: 'AWS::BillingConductor::PricingRule' Properties: Name: 'TestPricingRule' Description: 'Test pricing rule created through CloudFormation. Keep all MP charges at public on demand rate.' Type: 'MARKUP' Scope: 'BILLING_ENTITY' BillingEntity: 'AWS Marketplace' ModifierPercentage: 0