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 Amazon CloudFormation template, use the following syntax:
JSON
{ "Type" : "AWS::BillingConductor::PricingRule", "Properties" : { "BillingEntity" :String, "Description" :String, "ModifierPercentage" :Double, "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:DoubleName:StringOperation:StringScope:StringService:StringTags:- TagTiering:TieringType:StringUsageType:String
Properties
BillingEntity-
The seller of services provided by Amazon, their affiliates, or third-party providers selling services via Amazon Web Services Marketplace.
Required: No
Type: String
Update requires: Replacement
Description-
The pricing rule description.
Required: No
Type: String
Update requires: No interruption
ModifierPercentage-
A percentage modifier applied on the public pricing rates.
Required: No
Type: Double
Update requires: No interruption
Name-
The name of a pricing rule.
Required: Yes
Type: String
Update requires: No interruption
OperationOperation is the specific Amazon action covered by this line item. This describes the specific usage of the line item.
Required: No
Type: String
Update requires: Replacement
Scope-
The scope of pricing rule that indicates if it is globally applicable, or if it is service-specific.
Required: Yes
Type: String
Update requires: Replacement
Service-
If the
Scopeattribute isSERVICE, this attribute indicates which service thePricingRuleis applicable for.Required: No
Type: String
Update requires: Replacement
TagsA map that contains tag keys and tag values that are attached to a pricing rule.
Required: No
Type: List of Tag
Update requires: No interruption
TieringThe 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
Update requires: No interruption
UsageTypeUsage Type is the unit that each service uses to measure the usage of a specific type of resource.
Required: No
Type: String
Update requires: Replacement
Return values
Ref
For more information about using the Reffunction, see Ref.
Fn::GetAtt
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
Amazon Web Services Marketplace pricing rule
The following example shows a pricing rule that targets only Amazon Web Services 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: 'Amazon Web Services Marketplace' ModifierPercentage: 0