AWS::BillingConductor::PricingRule - AWS CloudFormation

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" : Double, "Name" : String, "Scope" : String, "Service" : String, "Tags" : [ Tag, ... ], "Type" : String } }

YAML

Type: AWS::BillingConductor::PricingRule Properties: BillingEntity: String Description: String ModifierPercentage: Double Name: String Scope: String Service: String Tags: - Tag Type: 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

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: Yes

Type: Double

Update requires: No interruption

Name

The name of a pricing rule.

Required: Yes

Type: String

Update requires: No interruption

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 Scope attribute is SERVICE, this attribute indicates which service the PricingRule is applicable for.

Required: No

Type: String

Update requires: Replacement

Tags

A 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

Type

The type of pricing rule.

Required: Yes

Type: String

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) 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