CreatePricingRule - AWS Billing Conductor

CreatePricingRule

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

Request Syntax

POST /create-pricing-rule HTTP/1.1 X-Amzn-Client-Token: ClientToken Content-type: application/json { "BillingEntity": "string", "Description": "string", "ModifierPercentage": number, "Name": "string", "Operation": "string", "Scope": "string", "Service": "string", "Tags": { "string" : "string" }, "Tiering": { "FreeTier": { "Activated": boolean } }, "Type": "string", "UsageType": "string" }

URI Request Parameters

The request uses the following URI parameters.

ClientToken

A unique, case-sensitive identifier that you specify to ensure idempotency of the request. Idempotency ensures that an API request completes no more than one time. With an idempotent request, if the original request completes successfully, any subsequent retries complete successfully without performing any further actions.

Length Constraints: Minimum length of 1. Maximum length of 64.

Pattern: [a-zA-Z0-9-]+

Request Body

The request accepts the following data in JSON format.

BillingEntity

The seller of services provided by AWS, their affiliates, or third-party providers selling services via AWS Marketplace.

Type: String

Pattern: [a-zA-Z0-9 ]+

Required: No

Description

The pricing rule description.

Type: String

Length Constraints: Minimum length of 0. Maximum length of 1024.

Required: No

ModifierPercentage

A percentage modifier that's applied on the public pricing rates. Your entry will be rounded to the nearest 2 decimal places.

Type: Double

Valid Range: Minimum value of 0.

Required: No

Name

The pricing rule name. The names must be unique to each pricing rule.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 128.

Pattern: [a-zA-Z0-9_\+=\.\-@]+

Required: Yes

Operation

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.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 256.

Pattern: \S+

Required: No

Scope

The scope of pricing rule that indicates if it's globally applicable, or it's service-specific.

Type: String

Valid Values: GLOBAL | SERVICE | BILLING_ENTITY | SKU

Required: Yes

Service

If the Scope attribute is set to SERVICE or SKU, the attribute indicates which service the PricingRule is applicable for.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 128.

Pattern: [a-zA-Z0-9]+

Required: No

Tags

A map that contains tag keys and tag values that are attached to a pricing rule.

Type: String to string map

Map Entries: Maximum number of 200 items.

Key Length Constraints: Minimum length of 1. Maximum length of 128.

Value Length Constraints: Minimum length of 0. Maximum length of 256.

Required: No

Tiering

The set of tiering configurations for the pricing rule.

Type: CreateTieringInput object

Required: No

Type

The type of pricing rule.

Type: String

Valid Values: MARKUP | DISCOUNT | TIERING

Required: Yes

UsageType

Usage type is the unit that each service uses to measure the usage of a specific type of resource.

If the Scope attribute is set to SKU, this attribute indicates which usage type the PricingRule is modifying. For example, USW2-BoxUsage:m2.2xlarge describes an M2 High Memory Double Extra Large instance in the US West (Oregon) Region.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 256.

Pattern: \S+

Required: No

Response Syntax

HTTP/1.1 200 Content-type: application/json { "Arn": "string" }

Response Elements

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

Arn

The Amazon Resource Name (ARN) of the created pricing rule.

Type: String

Pattern: (arn:aws(-cn)?:billingconductor::[0-9]{12}:pricingrule/)?[a-zA-Z0-9]{10}

Errors

For information about the errors that are common to all actions, see Common Errors.

AccessDeniedException

You do not have sufficient access to perform this action.

HTTP Status Code: 403

ConflictException

You can cause an inconsistent state by updating or deleting a resource.

HTTP Status Code: 409

InternalServerException

An unexpected error occurred while processing a request.

HTTP Status Code: 500

ServiceLimitExceededException

The request would cause a service limit to exceed.

HTTP Status Code: 402

ThrottlingException

The request was denied due to request throttling.

HTTP Status Code: 429

ValidationException

The input doesn't match with the constraints specified by AWS services.

HTTP Status Code: 400

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: