CreateBudgetAction - AWS Billing and Cost Management

CreateBudgetAction

Creates a budget action.

Request Syntax

{ "AccountId": "string", "ActionThreshold": { "ActionThresholdType": "string", "ActionThresholdValue": number }, "ActionType": "string", "ApprovalModel": "string", "BudgetName": "string", "Definition": { "IamActionDefinition": { "Groups": [ "string" ], "PolicyArn": "string", "Roles": [ "string" ], "Users": [ "string" ] }, "ScpActionDefinition": { "PolicyId": "string", "TargetIds": [ "string" ] }, "SsmActionDefinition": { "ActionSubType": "string", "InstanceIds": [ "string" ], "Region": "string" } }, "ExecutionRoleArn": "string", "NotificationType": "string", "ResourceTags": [ { "Key": "string", "Value": "string" } ], "Subscribers": [ { "Address": "string", "SubscriptionType": "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.

AccountId

The account ID of the user. It's a 12-digit number.

Type: String

Length Constraints: Fixed length of 12.

Pattern: \d{12}

Required: Yes

ActionThreshold

The trigger threshold of the action.

Type: ActionThreshold object

Required: Yes

ActionType

The type of action. This defines the type of tasks that can be carried out by this action. This field also determines the format for definition.

Type: String

Valid Values: APPLY_IAM_POLICY | APPLY_SCP_POLICY | RUN_SSM_DOCUMENTS

Required: Yes

ApprovalModel

This specifies if the action needs manual or automatic approval.

Type: String

Valid Values: AUTOMATIC | MANUAL

Required: Yes

BudgetName

A string that represents the budget name. The ":" and "\" characters, and the "/action/" substring, aren't allowed.

Type: String

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

Pattern: ^(?![^:\\]*/action/|(?i).*<script>.*</script>.*)[^:\\]+$

Required: Yes

Definition

Specifies all of the type-specific parameters.

Type: Definition object

Required: Yes

ExecutionRoleArn

The role passed for action execution and reversion. Roles and actions must be in the same account.

Type: String

Length Constraints: Minimum length of 32. Maximum length of 618.

Pattern: ^arn:(aws|aws-cn|aws-us-gov|us-iso-east-1|us-isob-east-1):iam::\d{12}:role(\u002F[\u0021-\u007F]+\u002F|\u002F)[\w+=,.@-]+$

Required: Yes

NotificationType

The type of a notification. It must be ACTUAL or FORECASTED.

Type: String

Valid Values: ACTUAL | FORECASTED

Required: Yes

ResourceTags

An optional list of tags to associate with the specified budget action. Each tag consists of a key and a value, and each key must be unique for the resource.

Type: Array of ResourceTag objects

Array Members: Minimum number of 0 items. Maximum number of 200 items.

Required: No

Subscribers

A list of subscribers.

Type: Array of Subscriber objects

Array Members: Minimum number of 1 item. Maximum number of 11 items.

Required: Yes

Response Syntax

{ "AccountId": "string", "ActionId": "string", "BudgetName": "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.

AccountId

The account ID of the user. It's a 12-digit number.

Type: String

Length Constraints: Fixed length of 12.

Pattern: \d{12}

ActionId

A system-generated universally unique identifier (UUID) for the action.

Type: String

Length Constraints: Fixed length of 36.

Pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$

BudgetName

A string that represents the budget name. The ":" and "\" characters, and the "/action/" substring, aren't allowed.

Type: String

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

Pattern: ^(?![^:\\]*/action/|(?i).*<script>.*</script>.*)[^:\\]+$

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

CreationLimitExceededException

You've exceeded the notification or subscriber limit.

HTTP Status Code: 400

DuplicateRecordException

The budget name already exists. Budget names must be unique within an account.

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

ServiceQuotaExceededException

You've reached the limit on the number of tags you can associate with a resource.

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

See Also

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