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 toSKU
, this attribute indicates which operation thePricingRule
is modifying. For example, a value ofRunInstances: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 toSERVICE
orSKU
, the attribute indicates which service thePricingRule
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 toSKU
, this attribute indicates which usage type thePricingRule
is modifying. For example,USW2-BoxUsage:m2.2xlarge
describes anM2 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: