

This is the new *CloudFormation Template Reference Guide*. Please update your bookmarks and links. For help getting started with CloudFormation, see the [AWS CloudFormation User Guide](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html).

# AWS Billing Conductor
<a name="AWS_BillingConductor"></a>

**Resource types**
+ [AWS::BillingConductor::BillingGroup](aws-resource-billingconductor-billinggroup.md)
+ [AWS::BillingConductor::CustomLineItem](aws-resource-billingconductor-customlineitem.md)
+ [AWS::BillingConductor::PricingPlan](aws-resource-billingconductor-pricingplan.md)
+ [AWS::BillingConductor::PricingRule](aws-resource-billingconductor-pricingrule.md)

# AWS::BillingConductor::BillingGroup
<a name="aws-resource-billingconductor-billinggroup"></a>

Creates a billing group that resembles a consolidated billing family that AWS charges, based off of the predefined pricing plan computation.

## Syntax
<a name="aws-resource-billingconductor-billinggroup-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-resource-billingconductor-billinggroup-syntax.json"></a>

```
{
  "Type" : "AWS::BillingConductor::BillingGroup",
  "Properties" : {
      "[AccountGrouping](#cfn-billingconductor-billinggroup-accountgrouping)" : AccountGrouping,
      "[ComputationPreference](#cfn-billingconductor-billinggroup-computationpreference)" : ComputationPreference,
      "[Description](#cfn-billingconductor-billinggroup-description)" : String,
      "[Name](#cfn-billingconductor-billinggroup-name)" : String,
      "[PrimaryAccountId](#cfn-billingconductor-billinggroup-primaryaccountid)" : String,
      "[Tags](#cfn-billingconductor-billinggroup-tags)" : [ Tag, ... ]
    }
}
```

### YAML
<a name="aws-resource-billingconductor-billinggroup-syntax.yaml"></a>

```
Type: AWS::BillingConductor::BillingGroup
Properties:
  [AccountGrouping](#cfn-billingconductor-billinggroup-accountgrouping): 
    AccountGrouping
  [ComputationPreference](#cfn-billingconductor-billinggroup-computationpreference): 
    ComputationPreference
  [Description](#cfn-billingconductor-billinggroup-description): String
  [Name](#cfn-billingconductor-billinggroup-name): String
  [PrimaryAccountId](#cfn-billingconductor-billinggroup-primaryaccountid): String
  [Tags](#cfn-billingconductor-billinggroup-tags): 
    - Tag
```

## Properties
<a name="aws-resource-billingconductor-billinggroup-properties"></a>

`AccountGrouping`  <a name="cfn-billingconductor-billinggroup-accountgrouping"></a>
The set of accounts that will be under the billing group. The set of accounts resemble the linked accounts in a consolidated billing family.  
*Required*: Yes  
*Type*: [AccountGrouping](aws-properties-billingconductor-billinggroup-accountgrouping.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ComputationPreference`  <a name="cfn-billingconductor-billinggroup-computationpreference"></a>
The preferences and settings that will be used to compute the AWScharges for a billing group.  
*Required*: Yes  
*Type*: [ComputationPreference](aws-properties-billingconductor-billinggroup-computationpreference.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Description`  <a name="cfn-billingconductor-billinggroup-description"></a>
The description of the billing group.  
*Required*: No  
*Type*: String  
*Maximum*: `1024`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Name`  <a name="cfn-billingconductor-billinggroup-name"></a>
The billing group's name.  
*Required*: Yes  
*Type*: String  
*Pattern*: `[a-zA-Z0-9_\+=\.\-@]+`  
*Minimum*: `1`  
*Maximum*: `128`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`PrimaryAccountId`  <a name="cfn-billingconductor-billinggroup-primaryaccountid"></a>
The account ID that serves as the main account in a billing group.  
*Required*: No  
*Type*: String  
*Pattern*: `[0-9]{12}`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Tags`  <a name="cfn-billingconductor-billinggroup-tags"></a>
A map that contains tag keys and tag values that are attached to a billing group.  
*Required*: No  
*Type*: Array of [Tag](aws-properties-billingconductor-billinggroup-tag.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## Return values
<a name="aws-resource-billingconductor-billinggroup-return-values"></a>

### Ref
<a name="aws-resource-billingconductor-billinggroup-return-values-ref"></a>

For more information about using the `Ref` function, see [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html).

### Fn::GetAtt
<a name="aws-resource-billingconductor-billinggroup-return-values-fn--getatt"></a>

#### 
<a name="aws-resource-billingconductor-billinggroup-return-values-fn--getatt-fn--getatt"></a>

`Arn`  <a name="Arn-fn::getatt"></a>
The Amazon Resource Name (ARN) of the created billing group.

`CreationTime`  <a name="CreationTime-fn::getatt"></a>
The time the billing group was created.

`LastModifiedTime`  <a name="LastModifiedTime-fn::getatt"></a>
The most recent time the billing group was modified.

`Size`  <a name="Size-fn::getatt"></a>
The number of accounts in the particular billing group.

`Status`  <a name="Status-fn::getatt"></a>
The billing group status. Only one of the valid values can be used.

`StatusReason`  <a name="StatusReason-fn::getatt"></a>
The reason why the billing group is in its current status.

## Examples
<a name="aws-resource-billingconductor-billinggroup--examples"></a>



### Create a billing group with a pricing plan
<a name="aws-resource-billingconductor-billinggroup--examples--Create_a_billing_group_with_a_pricing_plan"></a>

The following example is a billing group that takes a list of linked account IDs and the primary account as input. This example creates a billing group with a pricing plan that has no pricing rules.

#### JSON
<a name="aws-resource-billingconductor-billinggroup--examples--Create_a_billing_group_with_a_pricing_plan--json"></a>

```
{
  "Parameters": {
      "LinkedAccountIds": {
      "Type": "ListNumber"
      },
      "PrimaryAccountId": {
          "Type": "Number"
      }
  },
  "Resources": {
      "TestBillingGroup": {
          "Type": "AWS::BillingConductor::BillingGroup",
          "Properties": {
              "Name": "TestBillingGroup",
              "Description": "Test billing group created through CloudFormation with 1 linked account. The linked account is also the primary account.",
              "PrimaryAccountId": {
                  "Ref": "PrimaryAccountId"
              },
              "AccountGrouping": {
                  "LinkedAccountIds":{
                      "Ref": "LinkedAccountIds"
                  }
              },
              "ComputationPreference": {
                  "PricingPlanArn": {
                      "Fn::GetAtt": ["TestPricingPlan", "Arn"]
                  }
              }
          }
      }
  }
}
```

#### YAML
<a name="aws-resource-billingconductor-billinggroup--examples--Create_a_billing_group_with_a_pricing_plan--yaml"></a>

```
Parameters:
  LinkedAccountIds:
  Type: ListNumber
  PrimaryAccountId:
      Type: Number
Resources:
  TestBillingGroup:
      Type: 'AWS::BillingConductor::BillingGroup'
      Properties:
        Name: 'TestBillingGroup'
        Description: 'Test billing group created through CloudFormation with 1 linked account. The linked account is also the primary account.'
        PrimaryAccountId: !Ref PrimaryAccountId
        AccountGrouping:
            LinkedAccountIds: !Ref LinkedAccountIds
        ComputationPreference:
            PricingPlanArn: !GetAtt TestPricingPlan.Arn
```

# AWS::BillingConductor::BillingGroup AccountGrouping
<a name="aws-properties-billingconductor-billinggroup-accountgrouping"></a>

The set of accounts that will be under the billing group. The set of accounts resemble the linked accounts in a consolidated billing family.

## Syntax
<a name="aws-properties-billingconductor-billinggroup-accountgrouping-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-billingconductor-billinggroup-accountgrouping-syntax.json"></a>

```
{
  "[AutoAssociate](#cfn-billingconductor-billinggroup-accountgrouping-autoassociate)" : Boolean,
  "[LinkedAccountIds](#cfn-billingconductor-billinggroup-accountgrouping-linkedaccountids)" : [ String, ... ],
  "[ResponsibilityTransferArn](#cfn-billingconductor-billinggroup-accountgrouping-responsibilitytransferarn)" : String
}
```

### YAML
<a name="aws-properties-billingconductor-billinggroup-accountgrouping-syntax.yaml"></a>

```
  [AutoAssociate](#cfn-billingconductor-billinggroup-accountgrouping-autoassociate): Boolean
  [LinkedAccountIds](#cfn-billingconductor-billinggroup-accountgrouping-linkedaccountids): 
    - String
  [ResponsibilityTransferArn](#cfn-billingconductor-billinggroup-accountgrouping-responsibilitytransferarn): String
```

## Properties
<a name="aws-properties-billingconductor-billinggroup-accountgrouping-properties"></a>

`AutoAssociate`  <a name="cfn-billingconductor-billinggroup-accountgrouping-autoassociate"></a>
Specifies if this billing group will automatically associate newly added AWS accounts that join your consolidated billing family.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`LinkedAccountIds`  <a name="cfn-billingconductor-billinggroup-accountgrouping-linkedaccountids"></a>
The account IDs that make up the billing group. Account IDs must be a part of the consolidated billing family, and not associated with another billing group.  
*Required*: No  
*Type*: Array of String  
*Minimum*: `1`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ResponsibilityTransferArn`  <a name="cfn-billingconductor-billinggroup-accountgrouping-responsibilitytransferarn"></a>
 The Amazon Resource Name (ARN) that identifies the transfer relationship owned by the Bill Transfer account (caller account). When specified, the PrimaryAccountId is no longer required.   
*Required*: No  
*Type*: String  
*Pattern*: `arn:[a-z0-9][a-z0-9-.]{0,62}:organizations::[0-9]{12}:transfer/o-[a-z0-9]{10,32}/(billing)/(inbound|outbound)/rt-[0-9a-z]{8,32}`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::BillingConductor::BillingGroup ComputationPreference
<a name="aws-properties-billingconductor-billinggroup-computationpreference"></a>

The preferences and settings that will be used to compute the AWS charges for a billing group.

## Syntax
<a name="aws-properties-billingconductor-billinggroup-computationpreference-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-billingconductor-billinggroup-computationpreference-syntax.json"></a>

```
{
  "[PricingPlanArn](#cfn-billingconductor-billinggroup-computationpreference-pricingplanarn)" : String
}
```

### YAML
<a name="aws-properties-billingconductor-billinggroup-computationpreference-syntax.yaml"></a>

```
  [PricingPlanArn](#cfn-billingconductor-billinggroup-computationpreference-pricingplanarn): String
```

## Properties
<a name="aws-properties-billingconductor-billinggroup-computationpreference-properties"></a>

`PricingPlanArn`  <a name="cfn-billingconductor-billinggroup-computationpreference-pricingplanarn"></a>
The Amazon Resource Name (ARN) of the pricing plan used to compute the AWS charges for a billing group.  
*Required*: Yes  
*Type*: String  
*Pattern*: `arn:aws(-cn)?:billingconductor::(aws|[0-9]{12}):pricingplan/(BasicPricingPlan|[a-zA-Z0-9]{10})`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::BillingConductor::BillingGroup Tag
<a name="aws-properties-billingconductor-billinggroup-tag"></a>

A custom key-value pair associated with a Billing Conductor resource.

## Syntax
<a name="aws-properties-billingconductor-billinggroup-tag-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-billingconductor-billinggroup-tag-syntax.json"></a>

```
{
  "[Key](#cfn-billingconductor-billinggroup-tag-key)" : String,
  "[Value](#cfn-billingconductor-billinggroup-tag-value)" : String
}
```

### YAML
<a name="aws-properties-billingconductor-billinggroup-tag-syntax.yaml"></a>

```
  [Key](#cfn-billingconductor-billinggroup-tag-key): String
  [Value](#cfn-billingconductor-billinggroup-tag-value): String
```

## Properties
<a name="aws-properties-billingconductor-billinggroup-tag-properties"></a>

`Key`  <a name="cfn-billingconductor-billinggroup-tag-key"></a>
The key in a key-value pair.   
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `128`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Value`  <a name="cfn-billingconductor-billinggroup-tag-value"></a>
The value in a key-value pair of a tag.  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `256`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::BillingConductor::CustomLineItem
<a name="aws-resource-billingconductor-customlineitem"></a>

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
<a name="aws-resource-billingconductor-customlineitem-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-resource-billingconductor-customlineitem-syntax.json"></a>

```
{
  "Type" : "AWS::BillingConductor::CustomLineItem",
  "Properties" : {
      "[AccountId](#cfn-billingconductor-customlineitem-accountid)" : String,
      "[BillingGroupArn](#cfn-billingconductor-customlineitem-billinggrouparn)" : String,
      "[BillingPeriodRange](#cfn-billingconductor-customlineitem-billingperiodrange)" : BillingPeriodRange,
      "[ComputationRule](#cfn-billingconductor-customlineitem-computationrule)" : String,
      "[CustomLineItemChargeDetails](#cfn-billingconductor-customlineitem-customlineitemchargedetails)" : CustomLineItemChargeDetails,
      "[Description](#cfn-billingconductor-customlineitem-description)" : String,
      "[Name](#cfn-billingconductor-customlineitem-name)" : String,
      "[PresentationDetails](#cfn-billingconductor-customlineitem-presentationdetails)" : PresentationDetails,
      "[Tags](#cfn-billingconductor-customlineitem-tags)" : [ Tag, ... ]
    }
}
```

### YAML
<a name="aws-resource-billingconductor-customlineitem-syntax.yaml"></a>

```
Type: AWS::BillingConductor::CustomLineItem
Properties:
  [AccountId](#cfn-billingconductor-customlineitem-accountid): String
  [BillingGroupArn](#cfn-billingconductor-customlineitem-billinggrouparn): String
  [BillingPeriodRange](#cfn-billingconductor-customlineitem-billingperiodrange): 
    BillingPeriodRange
  [ComputationRule](#cfn-billingconductor-customlineitem-computationrule): String
  [CustomLineItemChargeDetails](#cfn-billingconductor-customlineitem-customlineitemchargedetails): 
    CustomLineItemChargeDetails
  [Description](#cfn-billingconductor-customlineitem-description): String
  [Name](#cfn-billingconductor-customlineitem-name): String
  [PresentationDetails](#cfn-billingconductor-customlineitem-presentationdetails): 
    PresentationDetails
  [Tags](#cfn-billingconductor-customlineitem-tags): 
    - Tag
```

## Properties
<a name="aws-resource-billingconductor-customlineitem-properties"></a>

`AccountId`  <a name="cfn-billingconductor-customlineitem-accountid"></a>
The AWS account in which this custom line item will be applied to.  
*Required*: No  
*Type*: String  
*Pattern*: `[0-9]{12}`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`BillingGroupArn`  <a name="cfn-billingconductor-customlineitem-billinggrouparn"></a>
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/?[a-zA-Z0-9]{10,12}`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`BillingPeriodRange`  <a name="cfn-billingconductor-customlineitem-billingperiodrange"></a>
A time range for which the custom line item is effective.  
*Required*: No  
*Type*: [BillingPeriodRange](aws-properties-billingconductor-customlineitem-billingperiodrange.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ComputationRule`  <a name="cfn-billingconductor-customlineitem-computationrule"></a>
The computation rule that determines how the custom line item charges are computed and reflected in the bill.  
*Required*: No  
*Type*: String  
*Allowed values*: `CONSOLIDATED | ITEMIZED`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`CustomLineItemChargeDetails`  <a name="cfn-billingconductor-customlineitem-customlineitemchargedetails"></a>
The charge details of a custom line item. It should contain only one of `Flat` or `Percentage`.  
*Required*: No  
*Type*: [CustomLineItemChargeDetails](aws-properties-billingconductor-customlineitem-customlineitemchargedetails.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Description`  <a name="cfn-billingconductor-customlineitem-description"></a>
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](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Name`  <a name="cfn-billingconductor-customlineitem-name"></a>
The custom line item's name.  
*Required*: Yes  
*Type*: String  
*Pattern*: `[a-zA-Z0-9_\+=\.\-@]+`  
*Minimum*: `1`  
*Maximum*: `128`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`PresentationDetails`  <a name="cfn-billingconductor-customlineitem-presentationdetails"></a>
Configuration details specifying how the custom line item charges are presented, including which service the charges are shown under.  
*Required*: No  
*Type*: [PresentationDetails](aws-properties-billingconductor-customlineitem-presentationdetails.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Tags`  <a name="cfn-billingconductor-customlineitem-tags"></a>
A map that contains tag keys and tag values that are attached to a custom line item.  
*Required*: No  
*Type*: Array of [Tag](aws-properties-billingconductor-customlineitem-tag.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## Return values
<a name="aws-resource-billingconductor-customlineitem-return-values"></a>

### Ref
<a name="aws-resource-billingconductor-customlineitem-return-values-ref"></a>

For more information about using the `Ref` function, see [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html).

### Fn::GetAtt
<a name="aws-resource-billingconductor-customlineitem-return-values-fn--getatt"></a>

#### 
<a name="aws-resource-billingconductor-customlineitem-return-values-fn--getatt-fn--getatt"></a>

`Arn`  <a name="Arn-fn::getatt"></a>
 The Amazon Resource Name (ARN) that references the billing group where the custom line item applies to.

`AssociationSize`  <a name="AssociationSize-fn::getatt"></a>
The number of resources that are associated to the custom line item.

`CreationTime`  <a name="CreationTime-fn::getatt"></a>
The time created.

`CurrencyCode`  <a name="CurrencyCode-fn::getatt"></a>
The custom line item's charge value currency. Only one of the valid values can be used.

`LastModifiedTime`  <a name="LastModifiedTime-fn::getatt"></a>
The most recent time the custom line item was modified.

`ProductCode`  <a name="ProductCode-fn::getatt"></a>
The product code associated with the custom line item.

## Examples
<a name="aws-resource-billingconductor-customlineitem--examples"></a>



**Topics**
+ [Flat custom line item](#aws-resource-billingconductor-customlineitem--examples--Flat_custom_line_item)
+ [Percentage custom line item](#aws-resource-billingconductor-customlineitem--examples--Percentage_custom_line_item)

### Flat custom line item
<a name="aws-resource-billingconductor-customlineitem--examples--Flat_custom_line_item"></a>

The following example shows a flat charge custom line item of \$110 attached to a billing group.

#### JSON
<a name="aws-resource-billingconductor-customlineitem--examples--Flat_custom_line_item--json"></a>

```
{
  "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
<a name="aws-resource-billingconductor-customlineitem--examples--Flat_custom_line_item--yaml"></a>

```
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
<a name="aws-resource-billingconductor-customlineitem--examples--Percentage_custom_line_item"></a>

The following example shows a percentage charge custom line item that is 10% of the billing group total cost.

#### JSON
<a name="aws-resource-billingconductor-customlineitem--examples--Percentage_custom_line_item--json"></a>

```
{
  "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
<a name="aws-resource-billingconductor-customlineitem--examples--Percentage_custom_line_item--yaml"></a>

```
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'
```

# AWS::BillingConductor::CustomLineItem BillingPeriodRange
<a name="aws-properties-billingconductor-customlineitem-billingperiodrange"></a>

The billing period range in which the custom line item request will be applied.

## Syntax
<a name="aws-properties-billingconductor-customlineitem-billingperiodrange-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-billingconductor-customlineitem-billingperiodrange-syntax.json"></a>

```
{
  "[ExclusiveEndBillingPeriod](#cfn-billingconductor-customlineitem-billingperiodrange-exclusiveendbillingperiod)" : String,
  "[InclusiveStartBillingPeriod](#cfn-billingconductor-customlineitem-billingperiodrange-inclusivestartbillingperiod)" : String
}
```

### YAML
<a name="aws-properties-billingconductor-customlineitem-billingperiodrange-syntax.yaml"></a>

```
  [ExclusiveEndBillingPeriod](#cfn-billingconductor-customlineitem-billingperiodrange-exclusiveendbillingperiod): String
  [InclusiveStartBillingPeriod](#cfn-billingconductor-customlineitem-billingperiodrange-inclusivestartbillingperiod): String
```

## Properties
<a name="aws-properties-billingconductor-customlineitem-billingperiodrange-properties"></a>

`ExclusiveEndBillingPeriod`  <a name="cfn-billingconductor-customlineitem-billingperiodrange-exclusiveendbillingperiod"></a>
The exclusive end billing period that defines a billing period range where a custom line is applied.  
*Required*: No  
*Type*: String  
*Pattern*: `\d{4}-(0?[1-9]|1[012])`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`InclusiveStartBillingPeriod`  <a name="cfn-billingconductor-customlineitem-billingperiodrange-inclusivestartbillingperiod"></a>
The inclusive start billing period that defines a billing period range where a custom line is applied.  
*Required*: No  
*Type*: String  
*Pattern*: `\d{4}-(0?[1-9]|1[012])`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::BillingConductor::CustomLineItem CustomLineItemChargeDetails
<a name="aws-properties-billingconductor-customlineitem-customlineitemchargedetails"></a>

The charge details of a custom line item. It should contain only one of `Flat` or `Percentage`.

## Syntax
<a name="aws-properties-billingconductor-customlineitem-customlineitemchargedetails-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-billingconductor-customlineitem-customlineitemchargedetails-syntax.json"></a>

```
{
  "[Flat](#cfn-billingconductor-customlineitem-customlineitemchargedetails-flat)" : CustomLineItemFlatChargeDetails,
  "[LineItemFilters](#cfn-billingconductor-customlineitem-customlineitemchargedetails-lineitemfilters)" : [ LineItemFilter, ... ],
  "[Percentage](#cfn-billingconductor-customlineitem-customlineitemchargedetails-percentage)" : CustomLineItemPercentageChargeDetails,
  "[Type](#cfn-billingconductor-customlineitem-customlineitemchargedetails-type)" : String
}
```

### YAML
<a name="aws-properties-billingconductor-customlineitem-customlineitemchargedetails-syntax.yaml"></a>

```
  [Flat](#cfn-billingconductor-customlineitem-customlineitemchargedetails-flat): 
    CustomLineItemFlatChargeDetails
  [LineItemFilters](#cfn-billingconductor-customlineitem-customlineitemchargedetails-lineitemfilters): 
    - LineItemFilter
  [Percentage](#cfn-billingconductor-customlineitem-customlineitemchargedetails-percentage): 
    CustomLineItemPercentageChargeDetails
  [Type](#cfn-billingconductor-customlineitem-customlineitemchargedetails-type): String
```

## Properties
<a name="aws-properties-billingconductor-customlineitem-customlineitemchargedetails-properties"></a>

`Flat`  <a name="cfn-billingconductor-customlineitem-customlineitemchargedetails-flat"></a>
A `CustomLineItemFlatChargeDetails` that describes the charge details of a flat custom line item.  
*Required*: No  
*Type*: [CustomLineItemFlatChargeDetails](aws-properties-billingconductor-customlineitem-customlineitemflatchargedetails.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`LineItemFilters`  <a name="cfn-billingconductor-customlineitem-customlineitemchargedetails-lineitemfilters"></a>
A representation of the line item filter.  
*Required*: No  
*Type*: Array of [LineItemFilter](aws-properties-billingconductor-customlineitem-lineitemfilter.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Percentage`  <a name="cfn-billingconductor-customlineitem-customlineitemchargedetails-percentage"></a>
A `CustomLineItemPercentageChargeDetails` that describes the charge details of a percentage custom line item.  
*Required*: No  
*Type*: [CustomLineItemPercentageChargeDetails](aws-properties-billingconductor-customlineitem-customlineitempercentagechargedetails.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Type`  <a name="cfn-billingconductor-customlineitem-customlineitemchargedetails-type"></a>
The type of the custom line item that indicates whether the charge is a fee or credit.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `FEE | CREDIT`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::BillingConductor::CustomLineItem CustomLineItemFlatChargeDetails
<a name="aws-properties-billingconductor-customlineitem-customlineitemflatchargedetails"></a>

The charge details of a custom line item. It should contain only one of `Flat` or `Percentage`.

## Syntax
<a name="aws-properties-billingconductor-customlineitem-customlineitemflatchargedetails-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-billingconductor-customlineitem-customlineitemflatchargedetails-syntax.json"></a>

```
{
  "[ChargeValue](#cfn-billingconductor-customlineitem-customlineitemflatchargedetails-chargevalue)" : Number
}
```

### YAML
<a name="aws-properties-billingconductor-customlineitem-customlineitemflatchargedetails-syntax.yaml"></a>

```
  [ChargeValue](#cfn-billingconductor-customlineitem-customlineitemflatchargedetails-chargevalue): Number
```

## Properties
<a name="aws-properties-billingconductor-customlineitem-customlineitemflatchargedetails-properties"></a>

`ChargeValue`  <a name="cfn-billingconductor-customlineitem-customlineitemflatchargedetails-chargevalue"></a>
The custom line item's fixed charge value in USD.  
*Required*: Yes  
*Type*: Number  
*Minimum*: `0`  
*Maximum*: `1000000`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::BillingConductor::CustomLineItem CustomLineItemPercentageChargeDetails
<a name="aws-properties-billingconductor-customlineitem-customlineitempercentagechargedetails"></a>

A representation of the charge details associated with a percentage custom line item.

## Syntax
<a name="aws-properties-billingconductor-customlineitem-customlineitempercentagechargedetails-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-billingconductor-customlineitem-customlineitempercentagechargedetails-syntax.json"></a>

```
{
  "[ChildAssociatedResources](#cfn-billingconductor-customlineitem-customlineitempercentagechargedetails-childassociatedresources)" : [ String, ... ],
  "[PercentageValue](#cfn-billingconductor-customlineitem-customlineitempercentagechargedetails-percentagevalue)" : Number
}
```

### YAML
<a name="aws-properties-billingconductor-customlineitem-customlineitempercentagechargedetails-syntax.yaml"></a>

```
  [ChildAssociatedResources](#cfn-billingconductor-customlineitem-customlineitempercentagechargedetails-childassociatedresources): 
    - String
  [PercentageValue](#cfn-billingconductor-customlineitem-customlineitempercentagechargedetails-percentagevalue): Number
```

## Properties
<a name="aws-properties-billingconductor-customlineitem-customlineitempercentagechargedetails-properties"></a>

`ChildAssociatedResources`  <a name="cfn-billingconductor-customlineitem-customlineitempercentagechargedetails-childassociatedresources"></a>
A list of resource ARNs to associate to the percentage custom line item.  
*Required*: No  
*Type*: Array of String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`PercentageValue`  <a name="cfn-billingconductor-customlineitem-customlineitempercentagechargedetails-percentagevalue"></a>
The custom line item's percentage value. This will be multiplied against the combined value of its associated resources to determine its charge value.  
*Required*: Yes  
*Type*: Number  
*Minimum*: `0`  
*Maximum*: `10000`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::BillingConductor::CustomLineItem LineItemFilter
<a name="aws-properties-billingconductor-customlineitem-lineitemfilter"></a>

A representation of the line item filter for your custom line item. You can use line item filters to include or exclude specific resource values from the billing group's total cost. For example, if you create a custom line item and you want to filter out a value, such as Savings Plans discounts, you can update `LineItemFilter` to exclude it.

## Syntax
<a name="aws-properties-billingconductor-customlineitem-lineitemfilter-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-billingconductor-customlineitem-lineitemfilter-syntax.json"></a>

```
{
  "[Attribute](#cfn-billingconductor-customlineitem-lineitemfilter-attribute)" : String,
  "[AttributeValues](#cfn-billingconductor-customlineitem-lineitemfilter-attributevalues)" : [ String, ... ],
  "[MatchOption](#cfn-billingconductor-customlineitem-lineitemfilter-matchoption)" : String,
  "[Values](#cfn-billingconductor-customlineitem-lineitemfilter-values)" : [ String, ... ]
}
```

### YAML
<a name="aws-properties-billingconductor-customlineitem-lineitemfilter-syntax.yaml"></a>

```
  [Attribute](#cfn-billingconductor-customlineitem-lineitemfilter-attribute): String
  [AttributeValues](#cfn-billingconductor-customlineitem-lineitemfilter-attributevalues): 
    - String
  [MatchOption](#cfn-billingconductor-customlineitem-lineitemfilter-matchoption): String
  [Values](#cfn-billingconductor-customlineitem-lineitemfilter-values): 
    - String
```

## Properties
<a name="aws-properties-billingconductor-customlineitem-lineitemfilter-properties"></a>

`Attribute`  <a name="cfn-billingconductor-customlineitem-lineitemfilter-attribute"></a>
The attribute of the line item filter. This specifies what attribute that you can filter on.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `LINE_ITEM_TYPE | SERVICE`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`AttributeValues`  <a name="cfn-billingconductor-customlineitem-lineitemfilter-attributevalues"></a>
The values of the line item filter. This specifies the values to filter on.  
*Required*: No  
*Type*: Array of String  
*Minimum*: `0`  
*Maximum*: `1`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`MatchOption`  <a name="cfn-billingconductor-customlineitem-lineitemfilter-matchoption"></a>
The match criteria of the line item filter. This parameter specifies whether not to include the resource value from the billing group total cost.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `NOT_EQUAL | EQUAL`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Values`  <a name="cfn-billingconductor-customlineitem-lineitemfilter-values"></a>
The values of the line item filter. This specifies the values to filter on. Currently, you can only exclude Savings Plans discounts.  
*Required*: No  
*Type*: Array of String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::BillingConductor::CustomLineItem PresentationDetails
<a name="aws-properties-billingconductor-customlineitem-presentationdetails"></a>

An object that defines how custom line item charges are presented in the bill, containing specifications for service presentation.

## Syntax
<a name="aws-properties-billingconductor-customlineitem-presentationdetails-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-billingconductor-customlineitem-presentationdetails-syntax.json"></a>

```
{
  "[Service](#cfn-billingconductor-customlineitem-presentationdetails-service)" : String
}
```

### YAML
<a name="aws-properties-billingconductor-customlineitem-presentationdetails-syntax.yaml"></a>

```
  [Service](#cfn-billingconductor-customlineitem-presentationdetails-service): String
```

## Properties
<a name="aws-properties-billingconductor-customlineitem-presentationdetails-properties"></a>

`Service`  <a name="cfn-billingconductor-customlineitem-presentationdetails-service"></a>
The service under which the custom line item charges will be presented. Must be a string between 1 and 128 characters matching the pattern `^[a-zA-Z0-9]+$`.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9]+$`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::BillingConductor::CustomLineItem Tag
<a name="aws-properties-billingconductor-customlineitem-tag"></a>

A custom key-value pair associated with a Billing Conductor resource.

## Syntax
<a name="aws-properties-billingconductor-customlineitem-tag-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-billingconductor-customlineitem-tag-syntax.json"></a>

```
{
  "[Key](#cfn-billingconductor-customlineitem-tag-key)" : String,
  "[Value](#cfn-billingconductor-customlineitem-tag-value)" : String
}
```

### YAML
<a name="aws-properties-billingconductor-customlineitem-tag-syntax.yaml"></a>

```
  [Key](#cfn-billingconductor-customlineitem-tag-key): String
  [Value](#cfn-billingconductor-customlineitem-tag-value): String
```

## Properties
<a name="aws-properties-billingconductor-customlineitem-tag-properties"></a>

`Key`  <a name="cfn-billingconductor-customlineitem-tag-key"></a>
The key in a key-value pair.   
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `128`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Value`  <a name="cfn-billingconductor-customlineitem-tag-value"></a>
The value in a key-value pair of a tag.  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `256`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::BillingConductor::PricingPlan
<a name="aws-resource-billingconductor-pricingplan"></a>

Creates a pricing plan that is used for computing AWS charges for billing groups.

## Syntax
<a name="aws-resource-billingconductor-pricingplan-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-resource-billingconductor-pricingplan-syntax.json"></a>

```
{
  "Type" : "AWS::BillingConductor::PricingPlan",
  "Properties" : {
      "[Description](#cfn-billingconductor-pricingplan-description)" : String,
      "[Name](#cfn-billingconductor-pricingplan-name)" : String,
      "[PricingRuleArns](#cfn-billingconductor-pricingplan-pricingrulearns)" : [ String, ... ],
      "[Tags](#cfn-billingconductor-pricingplan-tags)" : [ Tag, ... ]
    }
}
```

### YAML
<a name="aws-resource-billingconductor-pricingplan-syntax.yaml"></a>

```
Type: AWS::BillingConductor::PricingPlan
Properties:
  [Description](#cfn-billingconductor-pricingplan-description): String
  [Name](#cfn-billingconductor-pricingplan-name): String
  [PricingRuleArns](#cfn-billingconductor-pricingplan-pricingrulearns): 
    - String
  [Tags](#cfn-billingconductor-pricingplan-tags): 
    - Tag
```

## Properties
<a name="aws-resource-billingconductor-pricingplan-properties"></a>

`Description`  <a name="cfn-billingconductor-pricingplan-description"></a>
The pricing plan description.  
*Required*: No  
*Type*: String  
*Maximum*: `1024`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Name`  <a name="cfn-billingconductor-pricingplan-name"></a>
The name of a pricing plan.  
*Required*: Yes  
*Type*: String  
*Pattern*: `[a-zA-Z0-9_\+=\.\-@]+`  
*Minimum*: `1`  
*Maximum*: `128`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`PricingRuleArns`  <a name="cfn-billingconductor-pricingplan-pricingrulearns"></a>
The `PricingRuleArns` that are associated with the Pricing Plan.  
*Required*: No  
*Type*: Array of String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Tags`  <a name="cfn-billingconductor-pricingplan-tags"></a>
A map that contains tag keys and tag values that are attached to a pricing plan.  
*Required*: No  
*Type*: Array of [Tag](aws-properties-billingconductor-pricingplan-tag.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## Return values
<a name="aws-resource-billingconductor-pricingplan-return-values"></a>

### Ref
<a name="aws-resource-billingconductor-pricingplan-return-values-ref"></a>

For more information about using the `Ref` function, see [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html).

### Fn::GetAtt
<a name="aws-resource-billingconductor-pricingplan-return-values-fn--getatt"></a>

#### 
<a name="aws-resource-billingconductor-pricingplan-return-values-fn--getatt-fn--getatt"></a>

`Arn`  <a name="Arn-fn::getatt"></a>
The Amazon Resource Name (ARN) of the created pricing plan.

`CreationTime`  <a name="CreationTime-fn::getatt"></a>
The time the pricing plan was created.

`LastModifiedTime`  <a name="LastModifiedTime-fn::getatt"></a>
The most recent time the pricing plan was modified.

`Size`  <a name="Size-fn::getatt"></a>
The pricing rules count currently associated with this pricing plan list element.

## Examples
<a name="aws-resource-billingconductor-pricingplan--examples"></a>



### Pricing plan with a pricing rule attached
<a name="aws-resource-billingconductor-pricingplan--examples--Pricing_plan_with_a_pricing_rule_attached"></a>

The following example creates a pricing plan with a 10% global mark up pricing rule attached.

#### JSON
<a name="aws-resource-billingconductor-pricingplan--examples--Pricing_plan_with_a_pricing_rule_attached--json"></a>

```
{
  "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
<a name="aws-resource-billingconductor-pricingplan--examples--Pricing_plan_with_a_pricing_rule_attached--yaml"></a>

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

# AWS::BillingConductor::PricingPlan Tag
<a name="aws-properties-billingconductor-pricingplan-tag"></a>

A custom key-value pair associated with a Billing Conductor resource.

## Syntax
<a name="aws-properties-billingconductor-pricingplan-tag-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-billingconductor-pricingplan-tag-syntax.json"></a>

```
{
  "[Key](#cfn-billingconductor-pricingplan-tag-key)" : String,
  "[Value](#cfn-billingconductor-pricingplan-tag-value)" : String
}
```

### YAML
<a name="aws-properties-billingconductor-pricingplan-tag-syntax.yaml"></a>

```
  [Key](#cfn-billingconductor-pricingplan-tag-key): String
  [Value](#cfn-billingconductor-pricingplan-tag-value): String
```

## Properties
<a name="aws-properties-billingconductor-pricingplan-tag-properties"></a>

`Key`  <a name="cfn-billingconductor-pricingplan-tag-key"></a>
The key in a key-value pair.   
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `128`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Value`  <a name="cfn-billingconductor-pricingplan-tag-value"></a>
The value in a key-value pair of a tag.  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `256`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::BillingConductor::PricingRule
<a name="aws-resource-billingconductor-pricingrule"></a>

Creates a pricing rule which can be associated with a pricing plan, or a set of pricing plans.

## Syntax
<a name="aws-resource-billingconductor-pricingrule-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-resource-billingconductor-pricingrule-syntax.json"></a>

```
{
  "Type" : "AWS::BillingConductor::PricingRule",
  "Properties" : {
      "[BillingEntity](#cfn-billingconductor-pricingrule-billingentity)" : String,
      "[Description](#cfn-billingconductor-pricingrule-description)" : String,
      "[ModifierPercentage](#cfn-billingconductor-pricingrule-modifierpercentage)" : Number,
      "[Name](#cfn-billingconductor-pricingrule-name)" : String,
      "[Operation](#cfn-billingconductor-pricingrule-operation)" : String,
      "[Scope](#cfn-billingconductor-pricingrule-scope)" : String,
      "[Service](#cfn-billingconductor-pricingrule-service)" : String,
      "[Tags](#cfn-billingconductor-pricingrule-tags)" : [ Tag, ... ],
      "[Tiering](#cfn-billingconductor-pricingrule-tiering)" : Tiering,
      "[Type](#cfn-billingconductor-pricingrule-type)" : String,
      "[UsageType](#cfn-billingconductor-pricingrule-usagetype)" : String
    }
}
```

### YAML
<a name="aws-resource-billingconductor-pricingrule-syntax.yaml"></a>

```
Type: AWS::BillingConductor::PricingRule
Properties:
  [BillingEntity](#cfn-billingconductor-pricingrule-billingentity): String
  [Description](#cfn-billingconductor-pricingrule-description): String
  [ModifierPercentage](#cfn-billingconductor-pricingrule-modifierpercentage): Number
  [Name](#cfn-billingconductor-pricingrule-name): String
  [Operation](#cfn-billingconductor-pricingrule-operation): String
  [Scope](#cfn-billingconductor-pricingrule-scope): String
  [Service](#cfn-billingconductor-pricingrule-service): String
  [Tags](#cfn-billingconductor-pricingrule-tags): 
    - Tag
  [Tiering](#cfn-billingconductor-pricingrule-tiering): 
    Tiering
  [Type](#cfn-billingconductor-pricingrule-type): String
  [UsageType](#cfn-billingconductor-pricingrule-usagetype): String
```

## Properties
<a name="aws-resource-billingconductor-pricingrule-properties"></a>

`BillingEntity`  <a name="cfn-billingconductor-pricingrule-billingentity"></a>
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 | AISPL`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Description`  <a name="cfn-billingconductor-pricingrule-description"></a>
The pricing rule description.  
*Required*: No  
*Type*: String  
*Maximum*: `1024`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ModifierPercentage`  <a name="cfn-billingconductor-pricingrule-modifierpercentage"></a>
A percentage modifier applied on the public pricing rates.  
*Required*: No  
*Type*: Number  
*Minimum*: `0`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Name`  <a name="cfn-billingconductor-pricingrule-name"></a>
The name of a pricing rule.  
*Required*: Yes  
*Type*: String  
*Pattern*: `[a-zA-Z0-9_\+=\.\-@]+`  
*Minimum*: `1`  
*Maximum*: `128`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Operation`  <a name="cfn-billingconductor-pricingrule-operation"></a>
 Operation is the specific AWS action covered by this line item. This describes the specific usage of the line item.  
 If the `Scope` attribute is set to `SKU`, this attribute indicates which operation the `PricingRule` is modifying. For example, a value of `RunInstances:0202` indicates the operation of running an Amazon EC2 instance.  
*Required*: No  
*Type*: String  
*Pattern*: `^\S+$`  
*Minimum*: `1`  
*Maximum*: `256`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Scope`  <a name="cfn-billingconductor-pricingrule-scope"></a>
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 | SKU`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Service`  <a name="cfn-billingconductor-pricingrule-service"></a>
If the `Scope` attribute is `SERVICE`, this attribute indicates which service the `PricingRule` is applicable for.  
*Required*: No  
*Type*: String  
*Pattern*: `[a-zA-Z0-9\.\-]+`  
*Minimum*: `1`  
*Maximum*: `128`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Tags`  <a name="cfn-billingconductor-pricingrule-tags"></a>
A map that contains tag keys and tag values that are attached to a pricing rule.  
*Required*: No  
*Type*: Array of [Tag](aws-properties-billingconductor-pricingrule-tag.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Tiering`  <a name="cfn-billingconductor-pricingrule-tiering"></a>
The set of tiering configurations for the pricing rule.  
*Required*: No  
*Type*: [Tiering](aws-properties-billingconductor-pricingrule-tiering.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Type`  <a name="cfn-billingconductor-pricingrule-type"></a>
The type of pricing rule.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `MARKUP | DISCOUNT | TIERING`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`UsageType`  <a name="cfn-billingconductor-pricingrule-usagetype"></a>
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*: `1`  
*Maximum*: `256`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

## Return values
<a name="aws-resource-billingconductor-pricingrule-return-values"></a>

### Ref
<a name="aws-resource-billingconductor-pricingrule-return-values-ref"></a>

For more information about using the `Ref` function, see [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html).

### Fn::GetAtt
<a name="aws-resource-billingconductor-pricingrule-return-values-fn--getatt"></a>

#### 
<a name="aws-resource-billingconductor-pricingrule-return-values-fn--getatt-fn--getatt"></a>

`Arn`  <a name="Arn-fn::getatt"></a>
The Amazon Resource Name (ARN) used to uniquely identify a pricing rule.

`AssociatedPricingPlanCount`  <a name="AssociatedPricingPlanCount-fn::getatt"></a>
The pricing plans count that this pricing rule is associated with.

`CreationTime`  <a name="CreationTime-fn::getatt"></a>
The time the pricing rule was created.

`LastModifiedTime`  <a name="LastModifiedTime-fn::getatt"></a>
The most recent time the pricing rule was modified.

## Examples
<a name="aws-resource-billingconductor-pricingrule--examples"></a>



**Topics**
+ [Simple pricing rule](#aws-resource-billingconductor-pricingrule--examples--Simple_pricing_rule)
+ [AWS Marketplace pricing rule](#aws-resource-billingconductor-pricingrule--examples--pricing_rule)

### Simple pricing rule
<a name="aws-resource-billingconductor-pricingrule--examples--Simple_pricing_rule"></a>

The following example shows a pricing rule that applies a 10% global markup.

#### JSON
<a name="aws-resource-billingconductor-pricingrule--examples--Simple_pricing_rule--json"></a>

```
{
  "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
<a name="aws-resource-billingconductor-pricingrule--examples--Simple_pricing_rule--yaml"></a>

```
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
<a name="aws-resource-billingconductor-pricingrule--examples--pricing_rule"></a>

The following example shows a pricing rule that targets only AWS Marketplace charges.

#### JSON
<a name="aws-resource-billingconductor-pricingrule--examples--pricing_rule--json"></a>

```
{
  "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
<a name="aws-resource-billingconductor-pricingrule--examples--pricing_rule--yaml"></a>

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

# AWS::BillingConductor::PricingRule FreeTier
<a name="aws-properties-billingconductor-pricingrule-freetier"></a>

The possible AWS Free Tier configurations.

## Syntax
<a name="aws-properties-billingconductor-pricingrule-freetier-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-billingconductor-pricingrule-freetier-syntax.json"></a>

```
{
  "[Activated](#cfn-billingconductor-pricingrule-freetier-activated)" : Boolean
}
```

### YAML
<a name="aws-properties-billingconductor-pricingrule-freetier-syntax.yaml"></a>

```
  [Activated](#cfn-billingconductor-pricingrule-freetier-activated): Boolean
```

## Properties
<a name="aws-properties-billingconductor-pricingrule-freetier-properties"></a>

`Activated`  <a name="cfn-billingconductor-pricingrule-freetier-activated"></a>
Activate or deactivate AWS Free Tier.  
*Required*: Yes  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::BillingConductor::PricingRule Tag
<a name="aws-properties-billingconductor-pricingrule-tag"></a>

A custom key-value pair associated with a Billing Conductor resource.

## Syntax
<a name="aws-properties-billingconductor-pricingrule-tag-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-billingconductor-pricingrule-tag-syntax.json"></a>

```
{
  "[Key](#cfn-billingconductor-pricingrule-tag-key)" : String,
  "[Value](#cfn-billingconductor-pricingrule-tag-value)" : String
}
```

### YAML
<a name="aws-properties-billingconductor-pricingrule-tag-syntax.yaml"></a>

```
  [Key](#cfn-billingconductor-pricingrule-tag-key): String
  [Value](#cfn-billingconductor-pricingrule-tag-value): String
```

## Properties
<a name="aws-properties-billingconductor-pricingrule-tag-properties"></a>

`Key`  <a name="cfn-billingconductor-pricingrule-tag-key"></a>
The key in a key-value pair.  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `128`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Value`  <a name="cfn-billingconductor-pricingrule-tag-value"></a>
The value in a key-value pair of a tag.  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `256`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::BillingConductor::PricingRule Tiering
<a name="aws-properties-billingconductor-pricingrule-tiering"></a>

 The set of tiering configurations for the pricing rule. 

## Syntax
<a name="aws-properties-billingconductor-pricingrule-tiering-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-billingconductor-pricingrule-tiering-syntax.json"></a>

```
{
  "[FreeTier](#cfn-billingconductor-pricingrule-tiering-freetier)" : FreeTier
}
```

### YAML
<a name="aws-properties-billingconductor-pricingrule-tiering-syntax.yaml"></a>

```
  [FreeTier](#cfn-billingconductor-pricingrule-tiering-freetier): 
    FreeTier
```

## Properties
<a name="aws-properties-billingconductor-pricingrule-tiering-properties"></a>

`FreeTier`  <a name="cfn-billingconductor-pricingrule-tiering-freetier"></a>
 The possible AWS Free Tier configurations.   
*Required*: No  
*Type*: [FreeTier](aws-properties-billingconductor-pricingrule-freetier.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)