UpdateBudget
Updates a budget. You can change every part of a budget except for the budgetName
and the calculatedSpend
. When you modify a budget, the calculatedSpend
drops to zero until Amazon has new usage data to use for forecasting.
Important
Only one of BudgetLimit
or PlannedBudgetLimits
can be present in the syntax at one time. Use the syntax that matches your case. The Request Syntax section shows the BudgetLimit
syntax. For PlannedBudgetLimits
, see the Examples section.
Request Syntax
{
"AccountId": "string
",
"NewBudget": {
"AutoAdjustData": {
"AutoAdjustType": "string
",
"HistoricalOptions": {
"BudgetAdjustmentPeriod": number
,
"LookBackAvailablePeriods": number
},
"LastAutoAdjustTime": number
},
"BudgetLimit": {
"Amount": "string
",
"Unit": "string
"
},
"BudgetName": "string
",
"BudgetType": "string
",
"CalculatedSpend": {
"ActualSpend": {
"Amount": "string
",
"Unit": "string
"
},
"ForecastedSpend": {
"Amount": "string
",
"Unit": "string
"
}
},
"CostFilters": {
"string
" : [ "string
" ]
},
"CostTypes": {
"IncludeCredit": boolean
,
"IncludeDiscount": boolean
,
"IncludeOtherSubscription": boolean
,
"IncludeRecurring": boolean
,
"IncludeRefund": boolean
,
"IncludeSubscription": boolean
,
"IncludeSupport": boolean
,
"IncludeTax": boolean
,
"IncludeUpfront": boolean
,
"UseAmortized": boolean
,
"UseBlended": boolean
},
"LastUpdatedTime": number
,
"PlannedBudgetLimits": {
"string
" : {
"Amount": "string
",
"Unit": "string
"
}
},
"TimePeriod": {
"End": number
,
"Start": number
},
"TimeUnit": "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.
Response Elements
If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.
Errors
For information about the errors that are common to all actions, see Common Errors.
- AccessDeniedException
-
You are not authorized to use this operation with the given parameters.
HTTP Status Code: 400
- InternalErrorException
-
An error on the server occurred during the processing of your request. Try again later.
HTTP Status Code: 400
- InvalidParameterException
-
An error on the client occurred. Typically, the cause is an invalid input value.
HTTP Status Code: 400
- NotFoundException
-
We can’t locate the resource that you specified.
HTTP Status Code: 400
- ThrottlingException
-
The number of API requests has exceeded the maximum allowed API request throttling limit for the account.
HTTP Status Code: 400
Examples
Example
The following is the PlannedBudgetLimits
syntax.
{ "AccountId": "string", "NewBudget": { "PlannedBudgetLimits": { “string": { "Amount": "string", "Unit": "string" }, }, "BudgetName": "string", "BudgetType": "string", "CalculatedSpend": { "ActualSpend": { "Amount": "string", "Unit": "string" }, "ForecastedSpend": { "Amount": "string", "Unit": "string" } }, "CostFilters": { "string" : [ "string" ] }, "CostTypes": { "IncludeCredit": boolean, "IncludeDiscount": boolean, "IncludeOtherSubscription": boolean, "IncludeRecurring": boolean, "IncludeRefund": boolean, "IncludeSubscription": boolean, "IncludeSupport": boolean, "IncludeTax": boolean, "IncludeUpfront": boolean, "UseAmortized": boolean, "UseBlended": boolean }, "LastUpdatedTime": number, "TimePeriod": { "End": number, "Start": number }, "TimeUnit": "string" } }
Example
The following is a sample request and response of the UpdateBudget
operation using BudgetLimit
.
Sample Request
POST / HTTP/1.1
Host: awsbudgets.<region>.<domain>
x-amz-Date: <Date>
Authorization: AWS4-HMAC-SHA256 Credential=<Credential>, SignedHeaders=contenttype;date;host;user-agent;x-amz-date;x-amz-target;x-amzn-requestid,Signature=<Signature>
User-Agent: <UserAgentString>
Content-Type: application/x-amz-json-1.1
Content-Length: <PayloadSizeBytes>
Connection: Keep-Alive
X-Amz-Target: AWSBudgetServiceGateway.UpdateBudget
{
"AccountId": "111122223333",
"NewBudget": {
"BudgetLimit": {
"Amount": "100",
"Unit": "USD"
},
"BudgetName": "Example Budget",
"BudgetType": "COST",
"CostFilters": {
"AZ" : [ "us-east-1" ]
},
"CostTypes": {
"IncludeCredit": true,
"IncludeDiscount": true,
"IncludeOtherSubscription": true,
"IncludeRecurring": true,
"IncludeRefund": true,
"IncludeSubscription": true,
"IncludeSupport": true,
"IncludeTax": true,
"IncludeUpfront": true,
"UseBlended": false
},
"TimePeriod": {
"Start": 1477353600,
"End": 1477958399
},
"TimeUnit": "MONTHLY"
}
}
Example
The following is a sample request and response of the UpdateBudget
operation using PlannedBudgetLimits
.
Sample Request
POST / HTTP/1.1
Host: awsbudgets.<region>.<domain>
x-amz-Date: <Date>
Authorization: AWS4-HMAC-SHA256 Credential=<Credential>, SignedHeaders=contenttype;date;host;user-agent;x-amz-date;x-amz-target;x-amzn-requestid,Signature=<Signature>
User-Agent: <UserAgentString>
Content-Type: application/x-amz-json-1.1
Content-Length: <PayloadSizeBytes>
Connection: Keep-Alive
X-Amz-Target: AWSBudgetServiceGateway.UpdateBudget
{
"AccountId": "111122223333",
"NewBudget": {
"PlannedBudgetLimits":{
"1583020800": {
"Amount": "100",
"Unit": "USD"
},
"1564617600": {
"Amount": "200",
"Unit": "USD"
},
"1569888000": {
"Amount": "300",
"Unit": "USD"
},
"1556668800": {
"Amount": "400",
"Unit": "USD"
},
"1575158400": {
"Amount": "500",
"Unit": "USD"
},
"1580515200": {
"Amount": "200",
"Unit": "USD"
},
"1567296000": {
"Amount": "300",
"Unit": "USD"
},
"1554076800": {
"Amount": "100",
"Unit": "USD"
},
"1577836800": {
"Amount": "200",
"Unit": "USD"
},
"1561939200": {
"Amount": "100",
"Unit": "USD"
},
"1572566400": {
"Amount": "110",
"Unit": "USD"
},
"1559347200": {
"Amount": "120",
"Unit": "USD"
}
},
"BudgetName": "Example Budget",
"BudgetType": "COST",
"CostFilters": {
"AZ" : [ "us-east-1" ]
},
"CostTypes": {
"IncludeCredit": true,
"IncludeDiscount": true,
"IncludeOtherSubscription": true,
"IncludeRecurring": true,
"IncludeRefund": true,
"IncludeSubscription": true,
"IncludeSupport": true,
"IncludeTax": true,
"IncludeUpfront": true,
"UseBlended": false
},
"TimePeriod": {
"Start": 1477353600,
"End": 1477958399
},
"TimeUnit": "MONTHLY"
}
}
Sample Response
{
"AccountId": "111122223333",
"NewBudget": {
"BudgetLimit": {
"Amount": "200",
"Unit": "USD"
},
"BudgetName": "Example Budget",
"BudgetType": "COST",
"CalculatedSpend": {
"ActualSpend": {
"Amount": "0",
"Unit": "USD"
},
"ForecastedSpend": {
"Amount": "0",
"Unit": "USD"
}
},
"CostFilters": {
"AZ" : [ "ap-south-1" ]
},
"CostTypes": {
"IncludeCredit": true,
"IncludeDiscount": false,
"IncludeOtherSubscription": true,
"IncludeRecurring": true,
"IncludeRefund": true,
"IncludeSubscription": true,
"IncludeSupport": true,
"IncludeTax": true,
"IncludeUpfront": true,
"UseBlended": false
},
"TimePeriod": {
"Start": 1477353600,
"End": 1477958399
},
"TimeUnit": "MONTHLY"
}
}
See Also
For more information about using this API in one of the language-specific Amazon SDKs, see the following: