BatchCreateBillScenarioUsageModification
Create Amazon service usage that you want to model in a Bill Scenario.
Note
The BatchCreateBillScenarioUsageModification operation doesn't have its own IAM permission. To authorize this operation for Amazon principals, 
                                include the permission bcm-pricing-calculator:CreateBillScenarioUsageModification in your policies.
Request Syntax
{
   "billScenarioId": "string",
   "clientToken": "string",
   "usageModifications": [ 
      { 
         "amounts": [ 
            { 
               "amount": number,
               "startHour": number
            }
         ],
         "availabilityZone": "string",
         "group": "string",
         "historicalUsage": { 
            "billInterval": { 
               "end": number,
               "start": number
            },
            "filterExpression": { 
               "and": [ 
                  "Expression"
               ],
               "costCategories": { 
                  "key": "string",
                  "matchOptions": [ "string" ],
                  "values": [ "string" ]
               },
               "dimensions": { 
                  "key": "string",
                  "matchOptions": [ "string" ],
                  "values": [ "string" ]
               },
               "not": "Expression",
               "or": [ 
                  "Expression"
               ],
               "tags": { 
                  "key": "string",
                  "matchOptions": [ "string" ],
                  "values": [ "string" ]
               }
            },
            "location": "string",
            "operation": "string",
            "serviceCode": "string",
            "usageAccountId": "string",
            "usageType": "string"
         },
         "key": "string",
         "operation": "string",
         "serviceCode": "string",
         "usageAccountId": "string",
         "usageType": "string"
      }
   ]
}
    
      Request Parameters
For information about the parameters that are common to all actions, see Common Parameters.
The request accepts the following data in JSON format.
- billScenarioId
 - 
               
The ID of the Bill Scenario for which you want to create the modeled usage.
Type: String
Length Constraints: Fixed length of 36.
Pattern:
[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}Required: Yes
 - clientToken
 - 
               
A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 64.
Pattern:
[\u0021-\u007E]+Required: No
 - usageModifications
 - 
               
List of usage that you want to model in the Bill Scenario.
Type: Array of BatchCreateBillScenarioUsageModificationEntry objects
Array Members: Minimum number of 1 item. Maximum number of 25 items.
Required: Yes
 
Response Syntax
{
   "errors": [ 
      { 
         "errorCode": "string",
         "errorMessage": "string",
         "key": "string"
      }
   ],
   "items": [ 
      { 
         "availabilityZone": "string",
         "group": "string",
         "historicalUsage": { 
            "billInterval": { 
               "end": number,
               "start": number
            },
            "filterExpression": { 
               "and": [ 
                  "Expression"
               ],
               "costCategories": { 
                  "key": "string",
                  "matchOptions": [ "string" ],
                  "values": [ "string" ]
               },
               "dimensions": { 
                  "key": "string",
                  "matchOptions": [ "string" ],
                  "values": [ "string" ]
               },
               "not": "Expression",
               "or": [ 
                  "Expression"
               ],
               "tags": { 
                  "key": "string",
                  "matchOptions": [ "string" ],
                  "values": [ "string" ]
               }
            },
            "location": "string",
            "operation": "string",
            "serviceCode": "string",
            "usageAccountId": "string",
            "usageType": "string"
         },
         "id": "string",
         "key": "string",
         "location": "string",
         "operation": "string",
         "quantities": [ 
            { 
               "amount": number,
               "startHour": number,
               "unit": "string"
            }
         ],
         "serviceCode": "string",
         "usageAccountId": "string",
         "usageType": "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.
- errors
 - 
               
Returns the list of errors reason and the usage item keys that cannot be created in the Bill Scenario.
Type: Array of BatchCreateBillScenarioUsageModificationError objects
 - items
 - 
               
Returns the list of successful usage line items that were created for the Bill Scenario.
Type: Array of BatchCreateBillScenarioUsageModificationItem objects
 
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: 400
 - ConflictException
 - 
               
The request could not be processed because of conflict in the current state of the resource.
- resourceId
 - 
                        
The identifier of the resource that was not found.
 - resourceType
 - 
                        
The type of the resource that was not found.
 
HTTP Status Code: 400
 - DataUnavailableException
 - 
               
The requested data is currently unavailable.
HTTP Status Code: 400
 - InternalServerException
 - 
               
An internal error has occurred. Retry your request, but if the problem persists, contact Amazon support.
- retryAfterSeconds
 - 
                        
An internal error has occurred. Retry your request, but if the problem persists, contact Amazon support.
 
HTTP Status Code: 500
 - ResourceNotFoundException
 - 
               
The specified resource was not found.
- resourceId
 - 
                        
The identifier of the resource that was not found.
 - resourceType
 - 
                        
The type of the resource that was not found.
 
HTTP Status Code: 400
 - ServiceQuotaExceededException
 - 
               
The request would cause you to exceed your service quota.
- quotaCode
 - 
                        
The quota code that was exceeded.
 - resourceId
 - 
                        
The identifier of the resource that exceeded quota.
 - resourceType
 - 
                        
The type of the resource that exceeded quota.
 - serviceCode
 - 
                        
The service code that exceeded quota.
 
HTTP Status Code: 400
 - ThrottlingException
 - 
               
The request was denied due to request throttling.
- quotaCode
 - 
                        
The quota code that exceeded the throttling limit.
 - retryAfterSeconds
 - 
                        
The service code that exceeded the throttling limit. Retry your request, but if the problem persists, contact Amazon support.
 - serviceCode
 - 
                        
The service code that exceeded the throttling limit.
 
HTTP Status Code: 400
 - ValidationException
 - 
               
The input provided fails to satisfy the constraints specified by an Amazon service.
- fieldList
 - 
                        
The list of fields that are invalid.
 - reason
 - 
                        
The reason for the validation exception.
 
HTTP Status Code: 400
 
See Also
For more information about using this API in one of the language-specific Amazon SDKs, see the following: