SDK for PHP 3.x

Client: Aws\Budgets\BudgetsClient
Service ID: budgets
Version: 2016-10-20

This page describes the parameters and results for the operations of the AWS Budgets (2016-10-20), and shows how to use the Aws\Budgets\BudgetsClient object to call the described operations. This documentation is specific to the 2016-10-20 API version of the service.

Operation Summary

Each of the following operations can be created from a client using $client->getCommand('CommandName'), where "CommandName" is the name of one of the following operations. Note: a command is a value that encapsulates an operation and the parameters used to create an HTTP request.

You can also create and send a command immediately using the magic methods available on a client object: $client->commandName(/* parameters */). You can send the command asynchronously (returning a promise) by appending the word "Async" to the operation name: $client->commandNameAsync(/* parameters */).

CreateBudget ( array $params = [] )
Creates a budget and, if included, notifications and subscribers.
CreateBudgetAction ( array $params = [] )
Creates a budget action.
CreateNotification ( array $params = [] )
Creates a notification.
CreateSubscriber ( array $params = [] )
Creates a subscriber.
DeleteBudget ( array $params = [] )
Deletes a budget.
DeleteBudgetAction ( array $params = [] )
Deletes a budget action.
DeleteNotification ( array $params = [] )
Deletes a notification.
DeleteSubscriber ( array $params = [] )
Deletes a subscriber.
DescribeBudget ( array $params = [] )
Describes a budget.
DescribeBudgetAction ( array $params = [] )
Describes a budget action detail.
DescribeBudgetActionHistories ( array $params = [] )
Describes a budget action history detail.
DescribeBudgetActionsForAccount ( array $params = [] )
Describes all of the budget actions for an account.
DescribeBudgetActionsForBudget ( array $params = [] )
Describes all of the budget actions for a budget.
DescribeBudgetNotificationsForAccount ( array $params = [] )
Lists the budget names and notifications that are associated with an account.
DescribeBudgetPerformanceHistory ( array $params = [] )
Describes the history for DAILY, MONTHLY, and QUARTERLY budgets.
DescribeBudgets ( array $params = [] )
Lists the budgets that are associated with an account.
DescribeNotificationsForBudget ( array $params = [] )
Lists the notifications that are associated with a budget.
DescribeSubscribersForNotification ( array $params = [] )
Lists the subscribers that are associated with a notification.
ExecuteBudgetAction ( array $params = [] )
Executes a budget action.
ListTagsForResource ( array $params = [] )
Lists tags associated with a budget or budget action resource.
TagResource ( array $params = [] )
Creates tags for a budget or budget action resource.
UntagResource ( array $params = [] )
Deletes tags associated with a budget or budget action resource.
UpdateBudget ( array $params = [] )
Updates a budget.
UpdateBudgetAction ( array $params = [] )
Updates a budget action.
UpdateNotification ( array $params = [] )
Updates a notification.
UpdateSubscriber ( array $params = [] )
Updates a subscriber.

Paginators

Paginators handle automatically iterating over paginated API results. Paginators are associated with specific API operations, and they accept the parameters that the corresponding API operation accepts. You can get a paginator from a client class using getPaginator($paginatorName, $operationParameters). This client supports the following paginators:

DescribeBudgetActionHistories
DescribeBudgetActionsForAccount
DescribeBudgetActionsForBudget
DescribeBudgetNotificationsForAccount
DescribeBudgetPerformanceHistory
DescribeBudgets
DescribeNotificationsForBudget
DescribeSubscribersForNotification

Operations

CreateBudget

$result = $client->createBudget([/* ... */]);
$promise = $client->createBudgetAsync([/* ... */]);

Creates a budget and, if included, notifications and subscribers.

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.

Parameter Syntax

$result = $client->createBudget([
    'AccountId' => '<string>', // REQUIRED
    'Budget' => [ // REQUIRED
        'AutoAdjustData' => [
            'AutoAdjustType' => 'HISTORICAL|FORECAST', // REQUIRED
            'HistoricalOptions' => [
                'BudgetAdjustmentPeriod' => <integer>, // REQUIRED
                'LookBackAvailablePeriods' => <integer>,
            ],
            'LastAutoAdjustTime' => <integer || string || DateTime>,
        ],
        'BudgetLimit' => [
            'Amount' => '<string>', // REQUIRED
            'Unit' => '<string>', // REQUIRED
        ],
        'BudgetName' => '<string>', // REQUIRED
        'BudgetType' => 'USAGE|COST|RI_UTILIZATION|RI_COVERAGE|SAVINGS_PLANS_UTILIZATION|SAVINGS_PLANS_COVERAGE', // REQUIRED
        'CalculatedSpend' => [
            'ActualSpend' => [ // REQUIRED
                'Amount' => '<string>', // REQUIRED
                'Unit' => '<string>', // REQUIRED
            ],
            'ForecastedSpend' => [
                'Amount' => '<string>', // REQUIRED
                'Unit' => '<string>', // REQUIRED
            ],
        ],
        'CostFilters' => [
            '<GenericString>' => ['<string>', ...],
            // ...
        ],
        'CostTypes' => [
            'IncludeCredit' => true || false,
            'IncludeDiscount' => true || false,
            'IncludeOtherSubscription' => true || false,
            'IncludeRecurring' => true || false,
            'IncludeRefund' => true || false,
            'IncludeSubscription' => true || false,
            'IncludeSupport' => true || false,
            'IncludeTax' => true || false,
            'IncludeUpfront' => true || false,
            'UseAmortized' => true || false,
            'UseBlended' => true || false,
        ],
        'LastUpdatedTime' => <integer || string || DateTime>,
        'PlannedBudgetLimits' => [
            '<GenericString>' => [
                'Amount' => '<string>', // REQUIRED
                'Unit' => '<string>', // REQUIRED
            ],
            // ...
        ],
        'TimePeriod' => [
            'End' => <integer || string || DateTime>,
            'Start' => <integer || string || DateTime>,
        ],
        'TimeUnit' => 'DAILY|MONTHLY|QUARTERLY|ANNUALLY', // REQUIRED
    ],
    'NotificationsWithSubscribers' => [
        [
            'Notification' => [ // REQUIRED
                'ComparisonOperator' => 'GREATER_THAN|LESS_THAN|EQUAL_TO', // REQUIRED
                'NotificationState' => 'OK|ALARM',
                'NotificationType' => 'ACTUAL|FORECASTED', // REQUIRED
                'Threshold' => <float>, // REQUIRED
                'ThresholdType' => 'PERCENTAGE|ABSOLUTE_VALUE',
            ],
            'Subscribers' => [ // REQUIRED
                [
                    'Address' => '<string>', // REQUIRED
                    'SubscriptionType' => 'SNS|EMAIL', // REQUIRED
                ],
                // ...
            ],
        ],
        // ...
    ],
    'ResourceTags' => [
        [
            'Key' => '<string>', // REQUIRED
            'Value' => '<string>', // REQUIRED
        ],
        // ...
    ],
]);

Parameter Details

Members
AccountId
Required: Yes
Type: string

The accountId that is associated with the budget.

Budget
Required: Yes
Type: Budget structure

The budget object that you want to create.

NotificationsWithSubscribers
Type: Array of NotificationWithSubscribers structures

A notification that you want to associate with a budget. A budget can have up to five notifications, and each notification can have one SNS subscriber and up to 10 email subscribers. If you include notifications and subscribers in your CreateBudget call, Amazon Web Services creates the notifications and subscribers for you.

ResourceTags
Type: Array of ResourceTag structures

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

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InvalidParameterException:

An error on the client occurred. Typically, the cause is an invalid input value.

InternalErrorException:

An error on the server occurred during the processing of your request. Try again later.

CreationLimitExceededException:

You've exceeded the notification or subscriber limit.

DuplicateRecordException:

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

AccessDeniedException:

You are not authorized to use this operation with the given parameters.

ThrottlingException:

The number of API requests has exceeded the maximum allowed API request throttling limit for the account.

ServiceQuotaExceededException:

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

CreateBudgetAction

$result = $client->createBudgetAction([/* ... */]);
$promise = $client->createBudgetActionAsync([/* ... */]);

Creates a budget action.

Parameter Syntax

$result = $client->createBudgetAction([
    'AccountId' => '<string>', // REQUIRED
    'ActionThreshold' => [ // REQUIRED
        'ActionThresholdType' => 'PERCENTAGE|ABSOLUTE_VALUE', // REQUIRED
        'ActionThresholdValue' => <float>, // REQUIRED
    ],
    'ActionType' => 'APPLY_IAM_POLICY|APPLY_SCP_POLICY|RUN_SSM_DOCUMENTS', // REQUIRED
    'ApprovalModel' => 'AUTOMATIC|MANUAL', // REQUIRED
    'BudgetName' => '<string>', // REQUIRED
    'Definition' => [ // REQUIRED
        'IamActionDefinition' => [
            'Groups' => ['<string>', ...],
            'PolicyArn' => '<string>', // REQUIRED
            'Roles' => ['<string>', ...],
            'Users' => ['<string>', ...],
        ],
        'ScpActionDefinition' => [
            'PolicyId' => '<string>', // REQUIRED
            'TargetIds' => ['<string>', ...], // REQUIRED
        ],
        'SsmActionDefinition' => [
            'ActionSubType' => 'STOP_EC2_INSTANCES|STOP_RDS_INSTANCES', // REQUIRED
            'InstanceIds' => ['<string>', ...], // REQUIRED
            'Region' => '<string>', // REQUIRED
        ],
    ],
    'ExecutionRoleArn' => '<string>', // REQUIRED
    'NotificationType' => 'ACTUAL|FORECASTED', // REQUIRED
    'ResourceTags' => [
        [
            'Key' => '<string>', // REQUIRED
            'Value' => '<string>', // REQUIRED
        ],
        // ...
    ],
    'Subscribers' => [ // REQUIRED
        [
            'Address' => '<string>', // REQUIRED
            'SubscriptionType' => 'SNS|EMAIL', // REQUIRED
        ],
        // ...
    ],
]);

Parameter Details

Members
AccountId
Required: Yes
Type: string

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

ActionThreshold
Required: Yes
Type: ActionThreshold structure

The trigger threshold of the action.

ActionType
Required: Yes
Type: string

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.

ApprovalModel
Required: Yes
Type: string

This specifies if the action needs manual or automatic approval.

BudgetName
Required: Yes
Type: string

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

Definition
Required: Yes
Type: Definition structure

Specifies all of the type-specific parameters.

ExecutionRoleArn
Required: Yes
Type: string

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

NotificationType
Required: Yes
Type: string

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

ResourceTags
Type: Array of ResourceTag structures

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.

Subscribers
Required: Yes
Type: Array of Subscriber structures

A list of subscribers.

Result Syntax

[
    'AccountId' => '<string>',
    'ActionId' => '<string>',
    'BudgetName' => '<string>',
]

Result Details

Members
AccountId
Required: Yes
Type: string

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

ActionId
Required: Yes
Type: string

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

BudgetName
Required: Yes
Type: string

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

Errors

InvalidParameterException:

An error on the client occurred. Typically, the cause is an invalid input value.

InternalErrorException:

An error on the server occurred during the processing of your request. Try again later.

CreationLimitExceededException:

You've exceeded the notification or subscriber limit.

DuplicateRecordException:

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

NotFoundException:

We can’t locate the resource that you specified.

AccessDeniedException:

You are not authorized to use this operation with the given parameters.

ThrottlingException:

The number of API requests has exceeded the maximum allowed API request throttling limit for the account.

ServiceQuotaExceededException:

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

CreateNotification

$result = $client->createNotification([/* ... */]);
$promise = $client->createNotificationAsync([/* ... */]);

Creates a notification. You must create the budget before you create the associated notification.

Parameter Syntax

$result = $client->createNotification([
    'AccountId' => '<string>', // REQUIRED
    'BudgetName' => '<string>', // REQUIRED
    'Notification' => [ // REQUIRED
        'ComparisonOperator' => 'GREATER_THAN|LESS_THAN|EQUAL_TO', // REQUIRED
        'NotificationState' => 'OK|ALARM',
        'NotificationType' => 'ACTUAL|FORECASTED', // REQUIRED
        'Threshold' => <float>, // REQUIRED
        'ThresholdType' => 'PERCENTAGE|ABSOLUTE_VALUE',
    ],
    'Subscribers' => [ // REQUIRED
        [
            'Address' => '<string>', // REQUIRED
            'SubscriptionType' => 'SNS|EMAIL', // REQUIRED
        ],
        // ...
    ],
]);

Parameter Details

Members
AccountId
Required: Yes
Type: string

The accountId that is associated with the budget that you want to create a notification for.

BudgetName
Required: Yes
Type: string

The name of the budget that you want Amazon Web Services to notify you about. Budget names must be unique within an account.

Notification
Required: Yes
Type: Notification structure

The notification that you want to create.

Subscribers
Required: Yes
Type: Array of Subscriber structures

A list of subscribers that you want to associate with the notification. Each notification can have one SNS subscriber and up to 10 email subscribers.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InternalErrorException:

An error on the server occurred during the processing of your request. Try again later.

InvalidParameterException:

An error on the client occurred. Typically, the cause is an invalid input value.

NotFoundException:

We can’t locate the resource that you specified.

CreationLimitExceededException:

You've exceeded the notification or subscriber limit.

DuplicateRecordException:

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

AccessDeniedException:

You are not authorized to use this operation with the given parameters.

ThrottlingException:

The number of API requests has exceeded the maximum allowed API request throttling limit for the account.

CreateSubscriber

$result = $client->createSubscriber([/* ... */]);
$promise = $client->createSubscriberAsync([/* ... */]);

Creates a subscriber. You must create the associated budget and notification before you create the subscriber.

Parameter Syntax

$result = $client->createSubscriber([
    'AccountId' => '<string>', // REQUIRED
    'BudgetName' => '<string>', // REQUIRED
    'Notification' => [ // REQUIRED
        'ComparisonOperator' => 'GREATER_THAN|LESS_THAN|EQUAL_TO', // REQUIRED
        'NotificationState' => 'OK|ALARM',
        'NotificationType' => 'ACTUAL|FORECASTED', // REQUIRED
        'Threshold' => <float>, // REQUIRED
        'ThresholdType' => 'PERCENTAGE|ABSOLUTE_VALUE',
    ],
    'Subscriber' => [ // REQUIRED
        'Address' => '<string>', // REQUIRED
        'SubscriptionType' => 'SNS|EMAIL', // REQUIRED
    ],
]);

Parameter Details

Members
AccountId
Required: Yes
Type: string

The accountId that is associated with the budget that you want to create a subscriber for.

BudgetName
Required: Yes
Type: string

The name of the budget that you want to subscribe to. Budget names must be unique within an account.

Notification
Required: Yes
Type: Notification structure

The notification that you want to create a subscriber for.

Subscriber
Required: Yes
Type: Subscriber structure

The subscriber that you want to associate with a budget notification.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InternalErrorException:

An error on the server occurred during the processing of your request. Try again later.

InvalidParameterException:

An error on the client occurred. Typically, the cause is an invalid input value.

CreationLimitExceededException:

You've exceeded the notification or subscriber limit.

DuplicateRecordException:

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

NotFoundException:

We can’t locate the resource that you specified.

AccessDeniedException:

You are not authorized to use this operation with the given parameters.

ThrottlingException:

The number of API requests has exceeded the maximum allowed API request throttling limit for the account.

DeleteBudget

$result = $client->deleteBudget([/* ... */]);
$promise = $client->deleteBudgetAsync([/* ... */]);

Deletes a budget. You can delete your budget at any time.

Deleting a budget also deletes the notifications and subscribers that are associated with that budget.

Parameter Syntax

$result = $client->deleteBudget([
    'AccountId' => '<string>', // REQUIRED
    'BudgetName' => '<string>', // REQUIRED
]);

Parameter Details

Members
AccountId
Required: Yes
Type: string

The accountId that is associated with the budget that you want to delete.

BudgetName
Required: Yes
Type: string

The name of the budget that you want to delete.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InternalErrorException:

An error on the server occurred during the processing of your request. Try again later.

InvalidParameterException:

An error on the client occurred. Typically, the cause is an invalid input value.

NotFoundException:

We can’t locate the resource that you specified.

AccessDeniedException:

You are not authorized to use this operation with the given parameters.

ThrottlingException:

The number of API requests has exceeded the maximum allowed API request throttling limit for the account.

DeleteBudgetAction

$result = $client->deleteBudgetAction([/* ... */]);
$promise = $client->deleteBudgetActionAsync([/* ... */]);

Deletes a budget action.

Parameter Syntax

$result = $client->deleteBudgetAction([
    'AccountId' => '<string>', // REQUIRED
    'ActionId' => '<string>', // REQUIRED
    'BudgetName' => '<string>', // REQUIRED
]);

Parameter Details

Members
AccountId
Required: Yes
Type: string

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

ActionId
Required: Yes
Type: string

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

BudgetName
Required: Yes
Type: string

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

Result Syntax

[
    'AccountId' => '<string>',
    'Action' => [
        'ActionId' => '<string>',
        'ActionThreshold' => [
            'ActionThresholdType' => 'PERCENTAGE|ABSOLUTE_VALUE',
            'ActionThresholdValue' => <float>,
        ],
        'ActionType' => 'APPLY_IAM_POLICY|APPLY_SCP_POLICY|RUN_SSM_DOCUMENTS',
        'ApprovalModel' => 'AUTOMATIC|MANUAL',
        'BudgetName' => '<string>',
        'Definition' => [
            'IamActionDefinition' => [
                'Groups' => ['<string>', ...],
                'PolicyArn' => '<string>',
                'Roles' => ['<string>', ...],
                'Users' => ['<string>', ...],
            ],
            'ScpActionDefinition' => [
                'PolicyId' => '<string>',
                'TargetIds' => ['<string>', ...],
            ],
            'SsmActionDefinition' => [
                'ActionSubType' => 'STOP_EC2_INSTANCES|STOP_RDS_INSTANCES',
                'InstanceIds' => ['<string>', ...],
                'Region' => '<string>',
            ],
        ],
        'ExecutionRoleArn' => '<string>',
        'NotificationType' => 'ACTUAL|FORECASTED',
        'Status' => 'STANDBY|PENDING|EXECUTION_IN_PROGRESS|EXECUTION_SUCCESS|EXECUTION_FAILURE|REVERSE_IN_PROGRESS|REVERSE_SUCCESS|REVERSE_FAILURE|RESET_IN_PROGRESS|RESET_FAILURE',
        'Subscribers' => [
            [
                'Address' => '<string>',
                'SubscriptionType' => 'SNS|EMAIL',
            ],
            // ...
        ],
    ],
    'BudgetName' => '<string>',
]

Result Details

Members
AccountId
Required: Yes
Type: string

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

Action
Required: Yes
Type: Action structure

A budget action resource.

BudgetName
Required: Yes
Type: string

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

Errors

InternalErrorException:

An error on the server occurred during the processing of your request. Try again later.

InvalidParameterException:

An error on the client occurred. Typically, the cause is an invalid input value.

NotFoundException:

We can’t locate the resource that you specified.

AccessDeniedException:

You are not authorized to use this operation with the given parameters.

ResourceLockedException:

The request was received and recognized by the server, but the server rejected that particular method for the requested resource.

ThrottlingException:

The number of API requests has exceeded the maximum allowed API request throttling limit for the account.

DeleteNotification

$result = $client->deleteNotification([/* ... */]);
$promise = $client->deleteNotificationAsync([/* ... */]);

Deletes a notification.

Deleting a notification also deletes the subscribers that are associated with the notification.

Parameter Syntax

$result = $client->deleteNotification([
    'AccountId' => '<string>', // REQUIRED
    'BudgetName' => '<string>', // REQUIRED
    'Notification' => [ // REQUIRED
        'ComparisonOperator' => 'GREATER_THAN|LESS_THAN|EQUAL_TO', // REQUIRED
        'NotificationState' => 'OK|ALARM',
        'NotificationType' => 'ACTUAL|FORECASTED', // REQUIRED
        'Threshold' => <float>, // REQUIRED
        'ThresholdType' => 'PERCENTAGE|ABSOLUTE_VALUE',
    ],
]);

Parameter Details

Members
AccountId
Required: Yes
Type: string

The accountId that is associated with the budget whose notification you want to delete.

BudgetName
Required: Yes
Type: string

The name of the budget whose notification you want to delete.

Notification
Required: Yes
Type: Notification structure

The notification that you want to delete.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InvalidParameterException:

An error on the client occurred. Typically, the cause is an invalid input value.

InternalErrorException:

An error on the server occurred during the processing of your request. Try again later.

NotFoundException:

We can’t locate the resource that you specified.

AccessDeniedException:

You are not authorized to use this operation with the given parameters.

ThrottlingException:

The number of API requests has exceeded the maximum allowed API request throttling limit for the account.

DeleteSubscriber

$result = $client->deleteSubscriber([/* ... */]);
$promise = $client->deleteSubscriberAsync([/* ... */]);

Deletes a subscriber.

Deleting the last subscriber to a notification also deletes the notification.

Parameter Syntax

$result = $client->deleteSubscriber([
    'AccountId' => '<string>', // REQUIRED
    'BudgetName' => '<string>', // REQUIRED
    'Notification' => [ // REQUIRED
        'ComparisonOperator' => 'GREATER_THAN|LESS_THAN|EQUAL_TO', // REQUIRED
        'NotificationState' => 'OK|ALARM',
        'NotificationType' => 'ACTUAL|FORECASTED', // REQUIRED
        'Threshold' => <float>, // REQUIRED
        'ThresholdType' => 'PERCENTAGE|ABSOLUTE_VALUE',
    ],
    'Subscriber' => [ // REQUIRED
        'Address' => '<string>', // REQUIRED
        'SubscriptionType' => 'SNS|EMAIL', // REQUIRED
    ],
]);

Parameter Details

Members
AccountId
Required: Yes
Type: string

The accountId that is associated with the budget whose subscriber you want to delete.

BudgetName
Required: Yes
Type: string

The name of the budget whose subscriber you want to delete.

Notification
Required: Yes
Type: Notification structure

The notification whose subscriber you want to delete.

Subscriber
Required: Yes
Type: Subscriber structure

The subscriber that you want to delete.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InternalErrorException:

An error on the server occurred during the processing of your request. Try again later.

InvalidParameterException:

An error on the client occurred. Typically, the cause is an invalid input value.

NotFoundException:

We can’t locate the resource that you specified.

AccessDeniedException:

You are not authorized to use this operation with the given parameters.

ThrottlingException:

The number of API requests has exceeded the maximum allowed API request throttling limit for the account.

DescribeBudget

$result = $client->describeBudget([/* ... */]);
$promise = $client->describeBudgetAsync([/* ... */]);

Describes a budget.

The Request Syntax section shows the BudgetLimit syntax. For PlannedBudgetLimits, see the Examples section.

Parameter Syntax

$result = $client->describeBudget([
    'AccountId' => '<string>', // REQUIRED
    'BudgetName' => '<string>', // REQUIRED
]);

Parameter Details

Members
AccountId
Required: Yes
Type: string

The accountId that is associated with the budget that you want a description of.

BudgetName
Required: Yes
Type: string

The name of the budget that you want a description of.

Result Syntax

[
    'Budget' => [
        'AutoAdjustData' => [
            'AutoAdjustType' => 'HISTORICAL|FORECAST',
            'HistoricalOptions' => [
                'BudgetAdjustmentPeriod' => <integer>,
                'LookBackAvailablePeriods' => <integer>,
            ],
            'LastAutoAdjustTime' => <DateTime>,
        ],
        'BudgetLimit' => [
            'Amount' => '<string>',
            'Unit' => '<string>',
        ],
        'BudgetName' => '<string>',
        'BudgetType' => 'USAGE|COST|RI_UTILIZATION|RI_COVERAGE|SAVINGS_PLANS_UTILIZATION|SAVINGS_PLANS_COVERAGE',
        'CalculatedSpend' => [
            'ActualSpend' => [
                'Amount' => '<string>',
                'Unit' => '<string>',
            ],
            'ForecastedSpend' => [
                'Amount' => '<string>',
                'Unit' => '<string>',
            ],
        ],
        'CostFilters' => [
            '<GenericString>' => ['<string>', ...],
            // ...
        ],
        'CostTypes' => [
            'IncludeCredit' => true || false,
            'IncludeDiscount' => true || false,
            'IncludeOtherSubscription' => true || false,
            'IncludeRecurring' => true || false,
            'IncludeRefund' => true || false,
            'IncludeSubscription' => true || false,
            'IncludeSupport' => true || false,
            'IncludeTax' => true || false,
            'IncludeUpfront' => true || false,
            'UseAmortized' => true || false,
            'UseBlended' => true || false,
        ],
        'LastUpdatedTime' => <DateTime>,
        'PlannedBudgetLimits' => [
            '<GenericString>' => [
                'Amount' => '<string>',
                'Unit' => '<string>',
            ],
            // ...
        ],
        'TimePeriod' => [
            'End' => <DateTime>,
            'Start' => <DateTime>,
        ],
        'TimeUnit' => 'DAILY|MONTHLY|QUARTERLY|ANNUALLY',
    ],
]

Result Details

Members
Budget
Type: Budget structure

The description of the budget.

Errors

InternalErrorException:

An error on the server occurred during the processing of your request. Try again later.

InvalidParameterException:

An error on the client occurred. Typically, the cause is an invalid input value.

NotFoundException:

We can’t locate the resource that you specified.

AccessDeniedException:

You are not authorized to use this operation with the given parameters.

ThrottlingException:

The number of API requests has exceeded the maximum allowed API request throttling limit for the account.

DescribeBudgetAction

$result = $client->describeBudgetAction([/* ... */]);
$promise = $client->describeBudgetActionAsync([/* ... */]);

Describes a budget action detail.

Parameter Syntax

$result = $client->describeBudgetAction([
    'AccountId' => '<string>', // REQUIRED
    'ActionId' => '<string>', // REQUIRED
    'BudgetName' => '<string>', // REQUIRED
]);

Parameter Details

Members
AccountId
Required: Yes
Type: string

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

ActionId
Required: Yes
Type: string

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

BudgetName
Required: Yes
Type: string

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

Result Syntax

[
    'AccountId' => '<string>',
    'Action' => [
        'ActionId' => '<string>',
        'ActionThreshold' => [
            'ActionThresholdType' => 'PERCENTAGE|ABSOLUTE_VALUE',
            'ActionThresholdValue' => <float>,
        ],
        'ActionType' => 'APPLY_IAM_POLICY|APPLY_SCP_POLICY|RUN_SSM_DOCUMENTS',
        'ApprovalModel' => 'AUTOMATIC|MANUAL',
        'BudgetName' => '<string>',
        'Definition' => [
            'IamActionDefinition' => [
                'Groups' => ['<string>', ...],
                'PolicyArn' => '<string>',
                'Roles' => ['<string>', ...],
                'Users' => ['<string>', ...],
            ],
            'ScpActionDefinition' => [
                'PolicyId' => '<string>',
                'TargetIds' => ['<string>', ...],
            ],
            'SsmActionDefinition' => [
                'ActionSubType' => 'STOP_EC2_INSTANCES|STOP_RDS_INSTANCES',
                'InstanceIds' => ['<string>', ...],
                'Region' => '<string>',
            ],
        ],
        'ExecutionRoleArn' => '<string>',
        'NotificationType' => 'ACTUAL|FORECASTED',
        'Status' => 'STANDBY|PENDING|EXECUTION_IN_PROGRESS|EXECUTION_SUCCESS|EXECUTION_FAILURE|REVERSE_IN_PROGRESS|REVERSE_SUCCESS|REVERSE_FAILURE|RESET_IN_PROGRESS|RESET_FAILURE',
        'Subscribers' => [
            [
                'Address' => '<string>',
                'SubscriptionType' => 'SNS|EMAIL',
            ],
            // ...
        ],
    ],
    'BudgetName' => '<string>',
]

Result Details

Members
AccountId
Required: Yes
Type: string

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

Action
Required: Yes
Type: Action structure

A budget action resource.

BudgetName
Required: Yes
Type: string

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

Errors

InternalErrorException:

An error on the server occurred during the processing of your request. Try again later.

InvalidParameterException:

An error on the client occurred. Typically, the cause is an invalid input value.

NotFoundException:

We can’t locate the resource that you specified.

AccessDeniedException:

You are not authorized to use this operation with the given parameters.

ThrottlingException:

The number of API requests has exceeded the maximum allowed API request throttling limit for the account.

DescribeBudgetActionHistories

$result = $client->describeBudgetActionHistories([/* ... */]);
$promise = $client->describeBudgetActionHistoriesAsync([/* ... */]);

Describes a budget action history detail.

Parameter Syntax

$result = $client->describeBudgetActionHistories([
    'AccountId' => '<string>', // REQUIRED
    'ActionId' => '<string>', // REQUIRED
    'BudgetName' => '<string>', // REQUIRED
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'TimePeriod' => [
        'End' => <integer || string || DateTime>,
        'Start' => <integer || string || DateTime>,
    ],
]);

Parameter Details

Members
AccountId
Required: Yes
Type: string

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

ActionId
Required: Yes
Type: string

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

BudgetName
Required: Yes
Type: string

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

MaxResults
Type: int

An integer that represents how many entries a paginated response contains. The maximum is 100.

NextToken
Type: string

A generic string.

TimePeriod
Type: TimePeriod structure

The period of time that's covered by a budget. The period has a start date and an end date. The start date must come before the end date. There are no restrictions on the end date.

Result Syntax

[
    'ActionHistories' => [
        [
            'ActionHistoryDetails' => [
                'Action' => [
                    'ActionId' => '<string>',
                    'ActionThreshold' => [
                        'ActionThresholdType' => 'PERCENTAGE|ABSOLUTE_VALUE',
                        'ActionThresholdValue' => <float>,
                    ],
                    'ActionType' => 'APPLY_IAM_POLICY|APPLY_SCP_POLICY|RUN_SSM_DOCUMENTS',
                    'ApprovalModel' => 'AUTOMATIC|MANUAL',
                    'BudgetName' => '<string>',
                    'Definition' => [
                        'IamActionDefinition' => [
                            'Groups' => ['<string>', ...],
                            'PolicyArn' => '<string>',
                            'Roles' => ['<string>', ...],
                            'Users' => ['<string>', ...],
                        ],
                        'ScpActionDefinition' => [
                            'PolicyId' => '<string>',
                            'TargetIds' => ['<string>', ...],
                        ],
                        'SsmActionDefinition' => [
                            'ActionSubType' => 'STOP_EC2_INSTANCES|STOP_RDS_INSTANCES',
                            'InstanceIds' => ['<string>', ...],
                            'Region' => '<string>',
                        ],
                    ],
                    'ExecutionRoleArn' => '<string>',
                    'NotificationType' => 'ACTUAL|FORECASTED',
                    'Status' => 'STANDBY|PENDING|EXECUTION_IN_PROGRESS|EXECUTION_SUCCESS|EXECUTION_FAILURE|REVERSE_IN_PROGRESS|REVERSE_SUCCESS|REVERSE_FAILURE|RESET_IN_PROGRESS|RESET_FAILURE',
                    'Subscribers' => [
                        [
                            'Address' => '<string>',
                            'SubscriptionType' => 'SNS|EMAIL',
                        ],
                        // ...
                    ],
                ],
                'Message' => '<string>',
            ],
            'EventType' => 'SYSTEM|CREATE_ACTION|DELETE_ACTION|UPDATE_ACTION|EXECUTE_ACTION',
            'Status' => 'STANDBY|PENDING|EXECUTION_IN_PROGRESS|EXECUTION_SUCCESS|EXECUTION_FAILURE|REVERSE_IN_PROGRESS|REVERSE_SUCCESS|REVERSE_FAILURE|RESET_IN_PROGRESS|RESET_FAILURE',
            'Timestamp' => <DateTime>,
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
ActionHistories
Required: Yes
Type: Array of ActionHistory structures

The historical record of the budget action resource.

NextToken
Type: string

A generic string.

Errors

InternalErrorException:

An error on the server occurred during the processing of your request. Try again later.

InvalidParameterException:

An error on the client occurred. Typically, the cause is an invalid input value.

NotFoundException:

We can’t locate the resource that you specified.

AccessDeniedException:

You are not authorized to use this operation with the given parameters.

InvalidNextTokenException:

The pagination token is invalid.

ThrottlingException:

The number of API requests has exceeded the maximum allowed API request throttling limit for the account.

DescribeBudgetActionsForAccount

$result = $client->describeBudgetActionsForAccount([/* ... */]);
$promise = $client->describeBudgetActionsForAccountAsync([/* ... */]);

Describes all of the budget actions for an account.

Parameter Syntax

$result = $client->describeBudgetActionsForAccount([
    'AccountId' => '<string>', // REQUIRED
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
]);

Parameter Details

Members
AccountId
Required: Yes
Type: string

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

MaxResults
Type: int

An integer that represents how many entries a paginated response contains. The maximum is 100.

NextToken
Type: string

A generic string.

Result Syntax

[
    'Actions' => [
        [
            'ActionId' => '<string>',
            'ActionThreshold' => [
                'ActionThresholdType' => 'PERCENTAGE|ABSOLUTE_VALUE',
                'ActionThresholdValue' => <float>,
            ],
            'ActionType' => 'APPLY_IAM_POLICY|APPLY_SCP_POLICY|RUN_SSM_DOCUMENTS',
            'ApprovalModel' => 'AUTOMATIC|MANUAL',
            'BudgetName' => '<string>',
            'Definition' => [
                'IamActionDefinition' => [
                    'Groups' => ['<string>', ...],
                    'PolicyArn' => '<string>',
                    'Roles' => ['<string>', ...],
                    'Users' => ['<string>', ...],
                ],
                'ScpActionDefinition' => [
                    'PolicyId' => '<string>',
                    'TargetIds' => ['<string>', ...],
                ],
                'SsmActionDefinition' => [
                    'ActionSubType' => 'STOP_EC2_INSTANCES|STOP_RDS_INSTANCES',
                    'InstanceIds' => ['<string>', ...],
                    'Region' => '<string>',
                ],
            ],
            'ExecutionRoleArn' => '<string>',
            'NotificationType' => 'ACTUAL|FORECASTED',
            'Status' => 'STANDBY|PENDING|EXECUTION_IN_PROGRESS|EXECUTION_SUCCESS|EXECUTION_FAILURE|REVERSE_IN_PROGRESS|REVERSE_SUCCESS|REVERSE_FAILURE|RESET_IN_PROGRESS|RESET_FAILURE',
            'Subscribers' => [
                [
                    'Address' => '<string>',
                    'SubscriptionType' => 'SNS|EMAIL',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
Actions
Required: Yes
Type: Array of Action structures

A list of the budget action resources information.

NextToken
Type: string

A generic string.

Errors

InternalErrorException:

An error on the server occurred during the processing of your request. Try again later.

InvalidParameterException:

An error on the client occurred. Typically, the cause is an invalid input value.

AccessDeniedException:

You are not authorized to use this operation with the given parameters.

InvalidNextTokenException:

The pagination token is invalid.

ThrottlingException:

The number of API requests has exceeded the maximum allowed API request throttling limit for the account.

DescribeBudgetActionsForBudget

$result = $client->describeBudgetActionsForBudget([/* ... */]);
$promise = $client->describeBudgetActionsForBudgetAsync([/* ... */]);

Describes all of the budget actions for a budget.

Parameter Syntax

$result = $client->describeBudgetActionsForBudget([
    'AccountId' => '<string>', // REQUIRED
    'BudgetName' => '<string>', // REQUIRED
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
]);

Parameter Details

Members
AccountId
Required: Yes
Type: string

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

BudgetName
Required: Yes
Type: string

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

MaxResults
Type: int

An integer that represents how many entries a paginated response contains. The maximum is 100.

NextToken
Type: string

A generic string.

Result Syntax

[
    'Actions' => [
        [
            'ActionId' => '<string>',
            'ActionThreshold' => [
                'ActionThresholdType' => 'PERCENTAGE|ABSOLUTE_VALUE',
                'ActionThresholdValue' => <float>,
            ],
            'ActionType' => 'APPLY_IAM_POLICY|APPLY_SCP_POLICY|RUN_SSM_DOCUMENTS',
            'ApprovalModel' => 'AUTOMATIC|MANUAL',
            'BudgetName' => '<string>',
            'Definition' => [
                'IamActionDefinition' => [
                    'Groups' => ['<string>', ...],
                    'PolicyArn' => '<string>',
                    'Roles' => ['<string>', ...],
                    'Users' => ['<string>', ...],
                ],
                'ScpActionDefinition' => [
                    'PolicyId' => '<string>',
                    'TargetIds' => ['<string>', ...],
                ],
                'SsmActionDefinition' => [
                    'ActionSubType' => 'STOP_EC2_INSTANCES|STOP_RDS_INSTANCES',
                    'InstanceIds' => ['<string>', ...],
                    'Region' => '<string>',
                ],
            ],
            'ExecutionRoleArn' => '<string>',
            'NotificationType' => 'ACTUAL|FORECASTED',
            'Status' => 'STANDBY|PENDING|EXECUTION_IN_PROGRESS|EXECUTION_SUCCESS|EXECUTION_FAILURE|REVERSE_IN_PROGRESS|REVERSE_SUCCESS|REVERSE_FAILURE|RESET_IN_PROGRESS|RESET_FAILURE',
            'Subscribers' => [
                [
                    'Address' => '<string>',
                    'SubscriptionType' => 'SNS|EMAIL',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
Actions
Required: Yes
Type: Array of Action structures

A list of the budget action resources information.

NextToken
Type: string

A generic string.

Errors

InternalErrorException:

An error on the server occurred during the processing of your request. Try again later.

InvalidParameterException:

An error on the client occurred. Typically, the cause is an invalid input value.

NotFoundException:

We can’t locate the resource that you specified.

AccessDeniedException:

You are not authorized to use this operation with the given parameters.

InvalidNextTokenException:

The pagination token is invalid.

ThrottlingException:

The number of API requests has exceeded the maximum allowed API request throttling limit for the account.

DescribeBudgetNotificationsForAccount

$result = $client->describeBudgetNotificationsForAccount([/* ... */]);
$promise = $client->describeBudgetNotificationsForAccountAsync([/* ... */]);

Lists the budget names and notifications that are associated with an account.

Parameter Syntax

$result = $client->describeBudgetNotificationsForAccount([
    'AccountId' => '<string>', // REQUIRED
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
]);

Parameter Details

Members
AccountId
Required: Yes
Type: string

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

MaxResults
Type: int

An integer that represents how many budgets a paginated response contains. The default is 50.

NextToken
Type: string

A generic string.

Result Syntax

[
    'BudgetNotificationsForAccount' => [
        [
            'BudgetName' => '<string>',
            'Notifications' => [
                [
                    'ComparisonOperator' => 'GREATER_THAN|LESS_THAN|EQUAL_TO',
                    'NotificationState' => 'OK|ALARM',
                    'NotificationType' => 'ACTUAL|FORECASTED',
                    'Threshold' => <float>,
                    'ThresholdType' => 'PERCENTAGE|ABSOLUTE_VALUE',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
BudgetNotificationsForAccount
Type: Array of BudgetNotificationsForAccount structures

A list of budget names and associated notifications for an account.

NextToken
Type: string

A generic string.

Errors

InternalErrorException:

An error on the server occurred during the processing of your request. Try again later.

InvalidParameterException:

An error on the client occurred. Typically, the cause is an invalid input value.

NotFoundException:

We can’t locate the resource that you specified.

InvalidNextTokenException:

The pagination token is invalid.

ExpiredNextTokenException:

The pagination token expired.

AccessDeniedException:

You are not authorized to use this operation with the given parameters.

ThrottlingException:

The number of API requests has exceeded the maximum allowed API request throttling limit for the account.

DescribeBudgetPerformanceHistory

$result = $client->describeBudgetPerformanceHistory([/* ... */]);
$promise = $client->describeBudgetPerformanceHistoryAsync([/* ... */]);

Describes the history for DAILY, MONTHLY, and QUARTERLY budgets. Budget history isn't available for ANNUAL budgets.

Parameter Syntax

$result = $client->describeBudgetPerformanceHistory([
    'AccountId' => '<string>', // REQUIRED
    'BudgetName' => '<string>', // REQUIRED
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'TimePeriod' => [
        'End' => <integer || string || DateTime>,
        'Start' => <integer || string || DateTime>,
    ],
]);

Parameter Details

Members
AccountId
Required: Yes
Type: string

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

BudgetName
Required: Yes
Type: string

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

MaxResults
Type: int

An integer that represents how many entries a paginated response contains. The maximum is 100.

NextToken
Type: string

A generic string.

TimePeriod
Type: TimePeriod structure

Retrieves how often the budget went into an ALARM state for the specified time period.

Result Syntax

[
    'BudgetPerformanceHistory' => [
        'BudgetName' => '<string>',
        'BudgetType' => 'USAGE|COST|RI_UTILIZATION|RI_COVERAGE|SAVINGS_PLANS_UTILIZATION|SAVINGS_PLANS_COVERAGE',
        'BudgetedAndActualAmountsList' => [
            [
                'ActualAmount' => [
                    'Amount' => '<string>',
                    'Unit' => '<string>',
                ],
                'BudgetedAmount' => [
                    'Amount' => '<string>',
                    'Unit' => '<string>',
                ],
                'TimePeriod' => [
                    'End' => <DateTime>,
                    'Start' => <DateTime>,
                ],
            ],
            // ...
        ],
        'CostFilters' => [
            '<GenericString>' => ['<string>', ...],
            // ...
        ],
        'CostTypes' => [
            'IncludeCredit' => true || false,
            'IncludeDiscount' => true || false,
            'IncludeOtherSubscription' => true || false,
            'IncludeRecurring' => true || false,
            'IncludeRefund' => true || false,
            'IncludeSubscription' => true || false,
            'IncludeSupport' => true || false,
            'IncludeTax' => true || false,
            'IncludeUpfront' => true || false,
            'UseAmortized' => true || false,
            'UseBlended' => true || false,
        ],
        'TimeUnit' => 'DAILY|MONTHLY|QUARTERLY|ANNUALLY',
    ],
    'NextToken' => '<string>',
]

Result Details

Members
BudgetPerformanceHistory
Type: BudgetPerformanceHistory structure

The history of how often the budget has gone into an ALARM state.

For DAILY budgets, the history saves the state of the budget for the last 60 days. For MONTHLY budgets, the history saves the state of the budget for the current month plus the last 12 months. For QUARTERLY budgets, the history saves the state of the budget for the last four quarters.

NextToken
Type: string

A generic string.

Errors

InternalErrorException:

An error on the server occurred during the processing of your request. Try again later.

InvalidParameterException:

An error on the client occurred. Typically, the cause is an invalid input value.

NotFoundException:

We can’t locate the resource that you specified.

InvalidNextTokenException:

The pagination token is invalid.

ExpiredNextTokenException:

The pagination token expired.

AccessDeniedException:

You are not authorized to use this operation with the given parameters.

ThrottlingException:

The number of API requests has exceeded the maximum allowed API request throttling limit for the account.

DescribeBudgets

$result = $client->describeBudgets([/* ... */]);
$promise = $client->describeBudgetsAsync([/* ... */]);

Lists the budgets that are associated with an account.

The Request Syntax section shows the BudgetLimit syntax. For PlannedBudgetLimits, see the Examples section.

Parameter Syntax

$result = $client->describeBudgets([
    'AccountId' => '<string>', // REQUIRED
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
]);

Parameter Details

Members
AccountId
Required: Yes
Type: string

The accountId that is associated with the budgets that you want to describe.

MaxResults
Type: int

An integer that represents how many budgets a paginated response contains. The default is 100.

NextToken
Type: string

The pagination token that you include in your request to indicate the next set of results that you want to retrieve.

Result Syntax

[
    'Budgets' => [
        [
            'AutoAdjustData' => [
                'AutoAdjustType' => 'HISTORICAL|FORECAST',
                'HistoricalOptions' => [
                    'BudgetAdjustmentPeriod' => <integer>,
                    'LookBackAvailablePeriods' => <integer>,
                ],
                'LastAutoAdjustTime' => <DateTime>,
            ],
            'BudgetLimit' => [
                'Amount' => '<string>',
                'Unit' => '<string>',
            ],
            'BudgetName' => '<string>',
            'BudgetType' => 'USAGE|COST|RI_UTILIZATION|RI_COVERAGE|SAVINGS_PLANS_UTILIZATION|SAVINGS_PLANS_COVERAGE',
            'CalculatedSpend' => [
                'ActualSpend' => [
                    'Amount' => '<string>',
                    'Unit' => '<string>',
                ],
                'ForecastedSpend' => [
                    'Amount' => '<string>',
                    'Unit' => '<string>',
                ],
            ],
            'CostFilters' => [
                '<GenericString>' => ['<string>', ...],
                // ...
            ],
            'CostTypes' => [
                'IncludeCredit' => true || false,
                'IncludeDiscount' => true || false,
                'IncludeOtherSubscription' => true || false,
                'IncludeRecurring' => true || false,
                'IncludeRefund' => true || false,
                'IncludeSubscription' => true || false,
                'IncludeSupport' => true || false,
                'IncludeTax' => true || false,
                'IncludeUpfront' => true || false,
                'UseAmortized' => true || false,
                'UseBlended' => true || false,
            ],
            'LastUpdatedTime' => <DateTime>,
            'PlannedBudgetLimits' => [
                '<GenericString>' => [
                    'Amount' => '<string>',
                    'Unit' => '<string>',
                ],
                // ...
            ],
            'TimePeriod' => [
                'End' => <DateTime>,
                'Start' => <DateTime>,
            ],
            'TimeUnit' => 'DAILY|MONTHLY|QUARTERLY|ANNUALLY',
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
Budgets
Type: Array of Budget structures

A list of budgets.

NextToken
Type: string

The pagination token in the service response that indicates the next set of results that you can retrieve.

Errors

InternalErrorException:

An error on the server occurred during the processing of your request. Try again later.

InvalidParameterException:

An error on the client occurred. Typically, the cause is an invalid input value.

NotFoundException:

We can’t locate the resource that you specified.

InvalidNextTokenException:

The pagination token is invalid.

ExpiredNextTokenException:

The pagination token expired.

AccessDeniedException:

You are not authorized to use this operation with the given parameters.

ThrottlingException:

The number of API requests has exceeded the maximum allowed API request throttling limit for the account.

DescribeNotificationsForBudget

$result = $client->describeNotificationsForBudget([/* ... */]);
$promise = $client->describeNotificationsForBudgetAsync([/* ... */]);

Lists the notifications that are associated with a budget.

Parameter Syntax

$result = $client->describeNotificationsForBudget([
    'AccountId' => '<string>', // REQUIRED
    'BudgetName' => '<string>', // REQUIRED
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
]);

Parameter Details

Members
AccountId
Required: Yes
Type: string

The accountId that is associated with the budget whose notifications you want descriptions of.

BudgetName
Required: Yes
Type: string

The name of the budget whose notifications you want descriptions of.

MaxResults
Type: int

An optional integer that represents how many entries a paginated response contains.

NextToken
Type: string

The pagination token that you include in your request to indicate the next set of results that you want to retrieve.

Result Syntax

[
    'NextToken' => '<string>',
    'Notifications' => [
        [
            'ComparisonOperator' => 'GREATER_THAN|LESS_THAN|EQUAL_TO',
            'NotificationState' => 'OK|ALARM',
            'NotificationType' => 'ACTUAL|FORECASTED',
            'Threshold' => <float>,
            'ThresholdType' => 'PERCENTAGE|ABSOLUTE_VALUE',
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The pagination token in the service response that indicates the next set of results that you can retrieve.

Notifications
Type: Array of Notification structures

A list of notifications that are associated with a budget.

Errors

InternalErrorException:

An error on the server occurred during the processing of your request. Try again later.

InvalidParameterException:

An error on the client occurred. Typically, the cause is an invalid input value.

NotFoundException:

We can’t locate the resource that you specified.

InvalidNextTokenException:

The pagination token is invalid.

ExpiredNextTokenException:

The pagination token expired.

AccessDeniedException:

You are not authorized to use this operation with the given parameters.

ThrottlingException:

The number of API requests has exceeded the maximum allowed API request throttling limit for the account.

DescribeSubscribersForNotification

$result = $client->describeSubscribersForNotification([/* ... */]);
$promise = $client->describeSubscribersForNotificationAsync([/* ... */]);

Lists the subscribers that are associated with a notification.

Parameter Syntax

$result = $client->describeSubscribersForNotification([
    'AccountId' => '<string>', // REQUIRED
    'BudgetName' => '<string>', // REQUIRED
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'Notification' => [ // REQUIRED
        'ComparisonOperator' => 'GREATER_THAN|LESS_THAN|EQUAL_TO', // REQUIRED
        'NotificationState' => 'OK|ALARM',
        'NotificationType' => 'ACTUAL|FORECASTED', // REQUIRED
        'Threshold' => <float>, // REQUIRED
        'ThresholdType' => 'PERCENTAGE|ABSOLUTE_VALUE',
    ],
]);

Parameter Details

Members
AccountId
Required: Yes
Type: string

The accountId that is associated with the budget whose subscribers you want descriptions of.

BudgetName
Required: Yes
Type: string

The name of the budget whose subscribers you want descriptions of.

MaxResults
Type: int

An optional integer that represents how many entries a paginated response contains.

NextToken
Type: string

The pagination token that you include in your request to indicate the next set of results that you want to retrieve.

Notification
Required: Yes
Type: Notification structure

The notification whose subscribers you want to list.

Result Syntax

[
    'NextToken' => '<string>',
    'Subscribers' => [
        [
            'Address' => '<string>',
            'SubscriptionType' => 'SNS|EMAIL',
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The pagination token in the service response that indicates the next set of results that you can retrieve.

Subscribers
Type: Array of Subscriber structures

A list of subscribers that are associated with a notification.

Errors

InternalErrorException:

An error on the server occurred during the processing of your request. Try again later.

NotFoundException:

We can’t locate the resource that you specified.

InvalidParameterException:

An error on the client occurred. Typically, the cause is an invalid input value.

InvalidNextTokenException:

The pagination token is invalid.

ExpiredNextTokenException:

The pagination token expired.

AccessDeniedException:

You are not authorized to use this operation with the given parameters.

ThrottlingException:

The number of API requests has exceeded the maximum allowed API request throttling limit for the account.

ExecuteBudgetAction

$result = $client->executeBudgetAction([/* ... */]);
$promise = $client->executeBudgetActionAsync([/* ... */]);

Executes a budget action.

Parameter Syntax

$result = $client->executeBudgetAction([
    'AccountId' => '<string>', // REQUIRED
    'ActionId' => '<string>', // REQUIRED
    'BudgetName' => '<string>', // REQUIRED
    'ExecutionType' => 'APPROVE_BUDGET_ACTION|RETRY_BUDGET_ACTION|REVERSE_BUDGET_ACTION|RESET_BUDGET_ACTION', // REQUIRED
]);

Parameter Details

Members
AccountId
Required: Yes
Type: string

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

ActionId
Required: Yes
Type: string

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

BudgetName
Required: Yes
Type: string

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

ExecutionType
Required: Yes
Type: string

The type of execution.

Result Syntax

[
    'AccountId' => '<string>',
    'ActionId' => '<string>',
    'BudgetName' => '<string>',
    'ExecutionType' => 'APPROVE_BUDGET_ACTION|RETRY_BUDGET_ACTION|REVERSE_BUDGET_ACTION|RESET_BUDGET_ACTION',
]

Result Details

Members
AccountId
Required: Yes
Type: string

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

ActionId
Required: Yes
Type: string

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

BudgetName
Required: Yes
Type: string

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

ExecutionType
Required: Yes
Type: string

The type of execution.

Errors

InternalErrorException:

An error on the server occurred during the processing of your request. Try again later.

InvalidParameterException:

An error on the client occurred. Typically, the cause is an invalid input value.

NotFoundException:

We can’t locate the resource that you specified.

AccessDeniedException:

You are not authorized to use this operation with the given parameters.

ResourceLockedException:

The request was received and recognized by the server, but the server rejected that particular method for the requested resource.

ThrottlingException:

The number of API requests has exceeded the maximum allowed API request throttling limit for the account.

ListTagsForResource

$result = $client->listTagsForResource([/* ... */]);
$promise = $client->listTagsForResourceAsync([/* ... */]);

Lists tags associated with a budget or budget action resource.

Parameter Syntax

$result = $client->listTagsForResource([
    'ResourceARN' => '<string>', // REQUIRED
]);

Parameter Details

Members
ResourceARN
Required: Yes
Type: string

The unique identifier for the resource.

Result Syntax

[
    'ResourceTags' => [
        [
            'Key' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
ResourceTags
Type: Array of ResourceTag structures

The tags associated with the resource.

Errors

ThrottlingException:

The number of API requests has exceeded the maximum allowed API request throttling limit for the account.

NotFoundException:

We can’t locate the resource that you specified.

AccessDeniedException:

You are not authorized to use this operation with the given parameters.

InternalErrorException:

An error on the server occurred during the processing of your request. Try again later.

InvalidParameterException:

An error on the client occurred. Typically, the cause is an invalid input value.

TagResource

$result = $client->tagResource([/* ... */]);
$promise = $client->tagResourceAsync([/* ... */]);

Creates tags for a budget or budget action resource.

Parameter Syntax

$result = $client->tagResource([
    'ResourceARN' => '<string>', // REQUIRED
    'ResourceTags' => [ // REQUIRED
        [
            'Key' => '<string>', // REQUIRED
            'Value' => '<string>', // REQUIRED
        ],
        // ...
    ],
]);

Parameter Details

Members
ResourceARN
Required: Yes
Type: string

The unique identifier for the resource.

ResourceTags
Required: Yes
Type: Array of ResourceTag structures

The tags associated with the resource.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ThrottlingException:

The number of API requests has exceeded the maximum allowed API request throttling limit for the account.

ServiceQuotaExceededException:

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

NotFoundException:

We can’t locate the resource that you specified.

AccessDeniedException:

You are not authorized to use this operation with the given parameters.

InternalErrorException:

An error on the server occurred during the processing of your request. Try again later.

InvalidParameterException:

An error on the client occurred. Typically, the cause is an invalid input value.

UntagResource

$result = $client->untagResource([/* ... */]);
$promise = $client->untagResourceAsync([/* ... */]);

Deletes tags associated with a budget or budget action resource.

Parameter Syntax

$result = $client->untagResource([
    'ResourceARN' => '<string>', // REQUIRED
    'ResourceTagKeys' => ['<string>', ...], // REQUIRED
]);

Parameter Details

Members
ResourceARN
Required: Yes
Type: string

The unique identifier for the resource.

ResourceTagKeys
Required: Yes
Type: Array of strings

The key that's associated with the tag.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ThrottlingException:

The number of API requests has exceeded the maximum allowed API request throttling limit for the account.

NotFoundException:

We can’t locate the resource that you specified.

AccessDeniedException:

You are not authorized to use this operation with the given parameters.

InternalErrorException:

An error on the server occurred during the processing of your request. Try again later.

InvalidParameterException:

An error on the client occurred. Typically, the cause is an invalid input value.

UpdateBudget

$result = $client->updateBudget([/* ... */]);
$promise = $client->updateBudgetAsync([/* ... */]);

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 Web Services has new usage data to use for forecasting.

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.

Parameter Syntax

$result = $client->updateBudget([
    'AccountId' => '<string>', // REQUIRED
    'NewBudget' => [ // REQUIRED
        'AutoAdjustData' => [
            'AutoAdjustType' => 'HISTORICAL|FORECAST', // REQUIRED
            'HistoricalOptions' => [
                'BudgetAdjustmentPeriod' => <integer>, // REQUIRED
                'LookBackAvailablePeriods' => <integer>,
            ],
            'LastAutoAdjustTime' => <integer || string || DateTime>,
        ],
        'BudgetLimit' => [
            'Amount' => '<string>', // REQUIRED
            'Unit' => '<string>', // REQUIRED
        ],
        'BudgetName' => '<string>', // REQUIRED
        'BudgetType' => 'USAGE|COST|RI_UTILIZATION|RI_COVERAGE|SAVINGS_PLANS_UTILIZATION|SAVINGS_PLANS_COVERAGE', // REQUIRED
        'CalculatedSpend' => [
            'ActualSpend' => [ // REQUIRED
                'Amount' => '<string>', // REQUIRED
                'Unit' => '<string>', // REQUIRED
            ],
            'ForecastedSpend' => [
                'Amount' => '<string>', // REQUIRED
                'Unit' => '<string>', // REQUIRED
            ],
        ],
        'CostFilters' => [
            '<GenericString>' => ['<string>', ...],
            // ...
        ],
        'CostTypes' => [
            'IncludeCredit' => true || false,
            'IncludeDiscount' => true || false,
            'IncludeOtherSubscription' => true || false,
            'IncludeRecurring' => true || false,
            'IncludeRefund' => true || false,
            'IncludeSubscription' => true || false,
            'IncludeSupport' => true || false,
            'IncludeTax' => true || false,
            'IncludeUpfront' => true || false,
            'UseAmortized' => true || false,
            'UseBlended' => true || false,
        ],
        'LastUpdatedTime' => <integer || string || DateTime>,
        'PlannedBudgetLimits' => [
            '<GenericString>' => [
                'Amount' => '<string>', // REQUIRED
                'Unit' => '<string>', // REQUIRED
            ],
            // ...
        ],
        'TimePeriod' => [
            'End' => <integer || string || DateTime>,
            'Start' => <integer || string || DateTime>,
        ],
        'TimeUnit' => 'DAILY|MONTHLY|QUARTERLY|ANNUALLY', // REQUIRED
    ],
]);

Parameter Details

Members
AccountId
Required: Yes
Type: string

The accountId that is associated with the budget that you want to update.

NewBudget
Required: Yes
Type: Budget structure

The budget that you want to update your budget to.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InternalErrorException:

An error on the server occurred during the processing of your request. Try again later.

InvalidParameterException:

An error on the client occurred. Typically, the cause is an invalid input value.

NotFoundException:

We can’t locate the resource that you specified.

AccessDeniedException:

You are not authorized to use this operation with the given parameters.

ThrottlingException:

The number of API requests has exceeded the maximum allowed API request throttling limit for the account.

UpdateBudgetAction

$result = $client->updateBudgetAction([/* ... */]);
$promise = $client->updateBudgetActionAsync([/* ... */]);

Updates a budget action.

Parameter Syntax

$result = $client->updateBudgetAction([
    'AccountId' => '<string>', // REQUIRED
    'ActionId' => '<string>', // REQUIRED
    'ActionThreshold' => [
        'ActionThresholdType' => 'PERCENTAGE|ABSOLUTE_VALUE', // REQUIRED
        'ActionThresholdValue' => <float>, // REQUIRED
    ],
    'ApprovalModel' => 'AUTOMATIC|MANUAL',
    'BudgetName' => '<string>', // REQUIRED
    'Definition' => [
        'IamActionDefinition' => [
            'Groups' => ['<string>', ...],
            'PolicyArn' => '<string>', // REQUIRED
            'Roles' => ['<string>', ...],
            'Users' => ['<string>', ...],
        ],
        'ScpActionDefinition' => [
            'PolicyId' => '<string>', // REQUIRED
            'TargetIds' => ['<string>', ...], // REQUIRED
        ],
        'SsmActionDefinition' => [
            'ActionSubType' => 'STOP_EC2_INSTANCES|STOP_RDS_INSTANCES', // REQUIRED
            'InstanceIds' => ['<string>', ...], // REQUIRED
            'Region' => '<string>', // REQUIRED
        ],
    ],
    'ExecutionRoleArn' => '<string>',
    'NotificationType' => 'ACTUAL|FORECASTED',
    'Subscribers' => [
        [
            'Address' => '<string>', // REQUIRED
            'SubscriptionType' => 'SNS|EMAIL', // REQUIRED
        ],
        // ...
    ],
]);

Parameter Details

Members
AccountId
Required: Yes
Type: string

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

ActionId
Required: Yes
Type: string

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

ActionThreshold
Type: ActionThreshold structure

The trigger threshold of the action.

ApprovalModel
Type: string

This specifies if the action needs manual or automatic approval.

BudgetName
Required: Yes
Type: string

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

Definition
Type: Definition structure

Specifies all of the type-specific parameters.

ExecutionRoleArn
Type: string

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

NotificationType
Type: string

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

Subscribers
Type: Array of Subscriber structures

A list of subscribers.

Result Syntax

[
    'AccountId' => '<string>',
    'BudgetName' => '<string>',
    'NewAction' => [
        'ActionId' => '<string>',
        'ActionThreshold' => [
            'ActionThresholdType' => 'PERCENTAGE|ABSOLUTE_VALUE',
            'ActionThresholdValue' => <float>,
        ],
        'ActionType' => 'APPLY_IAM_POLICY|APPLY_SCP_POLICY|RUN_SSM_DOCUMENTS',
        'ApprovalModel' => 'AUTOMATIC|MANUAL',
        'BudgetName' => '<string>',
        'Definition' => [
            'IamActionDefinition' => [
                'Groups' => ['<string>', ...],
                'PolicyArn' => '<string>',
                'Roles' => ['<string>', ...],
                'Users' => ['<string>', ...],
            ],
            'ScpActionDefinition' => [
                'PolicyId' => '<string>',
                'TargetIds' => ['<string>', ...],
            ],
            'SsmActionDefinition' => [
                'ActionSubType' => 'STOP_EC2_INSTANCES|STOP_RDS_INSTANCES',
                'InstanceIds' => ['<string>', ...],
                'Region' => '<string>',
            ],
        ],
        'ExecutionRoleArn' => '<string>',
        'NotificationType' => 'ACTUAL|FORECASTED',
        'Status' => 'STANDBY|PENDING|EXECUTION_IN_PROGRESS|EXECUTION_SUCCESS|EXECUTION_FAILURE|REVERSE_IN_PROGRESS|REVERSE_SUCCESS|REVERSE_FAILURE|RESET_IN_PROGRESS|RESET_FAILURE',
        'Subscribers' => [
            [
                'Address' => '<string>',
                'SubscriptionType' => 'SNS|EMAIL',
            ],
            // ...
        ],
    ],
    'OldAction' => [
        'ActionId' => '<string>',
        'ActionThreshold' => [
            'ActionThresholdType' => 'PERCENTAGE|ABSOLUTE_VALUE',
            'ActionThresholdValue' => <float>,
        ],
        'ActionType' => 'APPLY_IAM_POLICY|APPLY_SCP_POLICY|RUN_SSM_DOCUMENTS',
        'ApprovalModel' => 'AUTOMATIC|MANUAL',
        'BudgetName' => '<string>',
        'Definition' => [
            'IamActionDefinition' => [
                'Groups' => ['<string>', ...],
                'PolicyArn' => '<string>',
                'Roles' => ['<string>', ...],
                'Users' => ['<string>', ...],
            ],
            'ScpActionDefinition' => [
                'PolicyId' => '<string>',
                'TargetIds' => ['<string>', ...],
            ],
            'SsmActionDefinition' => [
                'ActionSubType' => 'STOP_EC2_INSTANCES|STOP_RDS_INSTANCES',
                'InstanceIds' => ['<string>', ...],
                'Region' => '<string>',
            ],
        ],
        'ExecutionRoleArn' => '<string>',
        'NotificationType' => 'ACTUAL|FORECASTED',
        'Status' => 'STANDBY|PENDING|EXECUTION_IN_PROGRESS|EXECUTION_SUCCESS|EXECUTION_FAILURE|REVERSE_IN_PROGRESS|REVERSE_SUCCESS|REVERSE_FAILURE|RESET_IN_PROGRESS|RESET_FAILURE',
        'Subscribers' => [
            [
                'Address' => '<string>',
                'SubscriptionType' => 'SNS|EMAIL',
            ],
            // ...
        ],
    ],
]

Result Details

Members
AccountId
Required: Yes
Type: string

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

BudgetName
Required: Yes
Type: string

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

NewAction
Required: Yes
Type: Action structure

The updated action resource information.

OldAction
Required: Yes
Type: Action structure

The previous action resource information.

Errors

InternalErrorException:

An error on the server occurred during the processing of your request. Try again later.

InvalidParameterException:

An error on the client occurred. Typically, the cause is an invalid input value.

NotFoundException:

We can’t locate the resource that you specified.

AccessDeniedException:

You are not authorized to use this operation with the given parameters.

ResourceLockedException:

The request was received and recognized by the server, but the server rejected that particular method for the requested resource.

ThrottlingException:

The number of API requests has exceeded the maximum allowed API request throttling limit for the account.

UpdateNotification

$result = $client->updateNotification([/* ... */]);
$promise = $client->updateNotificationAsync([/* ... */]);

Updates a notification.

Parameter Syntax

$result = $client->updateNotification([
    'AccountId' => '<string>', // REQUIRED
    'BudgetName' => '<string>', // REQUIRED
    'NewNotification' => [ // REQUIRED
        'ComparisonOperator' => 'GREATER_THAN|LESS_THAN|EQUAL_TO', // REQUIRED
        'NotificationState' => 'OK|ALARM',
        'NotificationType' => 'ACTUAL|FORECASTED', // REQUIRED
        'Threshold' => <float>, // REQUIRED
        'ThresholdType' => 'PERCENTAGE|ABSOLUTE_VALUE',
    ],
    'OldNotification' => [ // REQUIRED
        'ComparisonOperator' => 'GREATER_THAN|LESS_THAN|EQUAL_TO', // REQUIRED
        'NotificationState' => 'OK|ALARM',
        'NotificationType' => 'ACTUAL|FORECASTED', // REQUIRED
        'Threshold' => <float>, // REQUIRED
        'ThresholdType' => 'PERCENTAGE|ABSOLUTE_VALUE',
    ],
]);

Parameter Details

Members
AccountId
Required: Yes
Type: string

The accountId that is associated with the budget whose notification you want to update.

BudgetName
Required: Yes
Type: string

The name of the budget whose notification you want to update.

NewNotification
Required: Yes
Type: Notification structure

The updated notification to be associated with a budget.

OldNotification
Required: Yes
Type: Notification structure

The previous notification that is associated with a budget.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InternalErrorException:

An error on the server occurred during the processing of your request. Try again later.

InvalidParameterException:

An error on the client occurred. Typically, the cause is an invalid input value.

NotFoundException:

We can’t locate the resource that you specified.

DuplicateRecordException:

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

AccessDeniedException:

You are not authorized to use this operation with the given parameters.

ThrottlingException:

The number of API requests has exceeded the maximum allowed API request throttling limit for the account.

UpdateSubscriber

$result = $client->updateSubscriber([/* ... */]);
$promise = $client->updateSubscriberAsync([/* ... */]);

Updates a subscriber.

Parameter Syntax

$result = $client->updateSubscriber([
    'AccountId' => '<string>', // REQUIRED
    'BudgetName' => '<string>', // REQUIRED
    'NewSubscriber' => [ // REQUIRED
        'Address' => '<string>', // REQUIRED
        'SubscriptionType' => 'SNS|EMAIL', // REQUIRED
    ],
    'Notification' => [ // REQUIRED
        'ComparisonOperator' => 'GREATER_THAN|LESS_THAN|EQUAL_TO', // REQUIRED
        'NotificationState' => 'OK|ALARM',
        'NotificationType' => 'ACTUAL|FORECASTED', // REQUIRED
        'Threshold' => <float>, // REQUIRED
        'ThresholdType' => 'PERCENTAGE|ABSOLUTE_VALUE',
    ],
    'OldSubscriber' => [ // REQUIRED
        'Address' => '<string>', // REQUIRED
        'SubscriptionType' => 'SNS|EMAIL', // REQUIRED
    ],
]);

Parameter Details

Members
AccountId
Required: Yes
Type: string

The accountId that is associated with the budget whose subscriber you want to update.

BudgetName
Required: Yes
Type: string

The name of the budget whose subscriber you want to update.

NewSubscriber
Required: Yes
Type: Subscriber structure

The updated subscriber that is associated with a budget notification.

Notification
Required: Yes
Type: Notification structure

The notification whose subscriber you want to update.

OldSubscriber
Required: Yes
Type: Subscriber structure

The previous subscriber that is associated with a budget notification.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InternalErrorException:

An error on the server occurred during the processing of your request. Try again later.

InvalidParameterException:

An error on the client occurred. Typically, the cause is an invalid input value.

NotFoundException:

We can’t locate the resource that you specified.

DuplicateRecordException:

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

AccessDeniedException:

You are not authorized to use this operation with the given parameters.

ThrottlingException:

The number of API requests has exceeded the maximum allowed API request throttling limit for the account.

Shapes

AccessDeniedException

Description

You are not authorized to use this operation with the given parameters.

Members
Message
Type: string

The error message the exception carries.

Action

Description

A budget action resource.

Members
ActionId
Required: Yes
Type: string

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

ActionThreshold
Required: Yes
Type: ActionThreshold structure

The trigger threshold of the action.

ActionType
Required: Yes
Type: string

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.

ApprovalModel
Required: Yes
Type: string

This specifies if the action needs manual or automatic approval.

BudgetName
Required: Yes
Type: string

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

Definition
Required: Yes
Type: Definition structure

Where you specify all of the type-specific parameters.

ExecutionRoleArn
Required: Yes
Type: string

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

NotificationType
Required: Yes
Type: string

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

Status
Required: Yes
Type: string

The status of the action.

Subscribers
Required: Yes
Type: Array of Subscriber structures

A list of subscribers.

ActionHistory

Description

The historical records for a budget action.

Members
ActionHistoryDetails
Required: Yes
Type: ActionHistoryDetails structure

The description of the details for the event.

EventType
Required: Yes
Type: string

This distinguishes between whether the events are triggered by the user or are generated by the system.

Status
Required: Yes
Type: string

The status of action at the time of the event.

Timestamp
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

A generic time stamp. In Java, it's transformed to a Date object.

ActionHistoryDetails

Description

The description of the details for the event.

Members
Action
Required: Yes
Type: Action structure

The budget action resource.

Message
Required: Yes
Type: string

A generic string.

ActionThreshold

Description

The trigger threshold of the action.

Members
ActionThresholdType
Required: Yes
Type: string

The type of threshold for a notification.

ActionThresholdValue
Required: Yes
Type: double

The threshold of a notification.

AutoAdjustData

Description

The parameters that determine the budget amount for an auto-adjusting budget.

Members
AutoAdjustType
Required: Yes
Type: string

The string that defines whether your budget auto-adjusts based on historical or forecasted data.

HistoricalOptions
Type: HistoricalOptions structure

The parameters that define or describe the historical data that your auto-adjusting budget is based on.

LastAutoAdjustTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The last time that your budget was auto-adjusted.

Budget

Description

Represents the output of the CreateBudget operation. The content consists of the detailed metadata and data file information, and the current status of the budget object.

This is the Amazon Resource Name (ARN) pattern for a budget:

arn:aws:budgets::AccountId:budget/budgetName

Members
AutoAdjustData
Type: AutoAdjustData structure

The parameters that determine the budget amount for an auto-adjusting budget.

BudgetLimit
Type: Spend structure

The total amount of cost, usage, RI utilization, RI coverage, Savings Plans utilization, or Savings Plans coverage that you want to track with your budget.

BudgetLimit is required for cost or usage budgets, but optional for RI or Savings Plans utilization or coverage budgets. RI and Savings Plans utilization or coverage budgets default to 100. This is the only valid value for RI or Savings Plans utilization or coverage budgets. You can't use BudgetLimit with PlannedBudgetLimits for CreateBudget and UpdateBudget actions.

BudgetName
Required: Yes
Type: string

The name of a budget. The name must be unique within an account. The : and \ characters, and the "/action/" substring, aren't allowed in BudgetName.

BudgetType
Required: Yes
Type: string

Specifies whether this budget tracks costs, usage, RI utilization, RI coverage, Savings Plans utilization, or Savings Plans coverage.

CalculatedSpend
Type: CalculatedSpend structure

The actual and forecasted cost or usage that the budget tracks.

CostFilters
Type: Associative array of custom strings keys (GenericString) to stringss

The cost filters, such as Region, Service, LinkedAccount, Tag, or CostCategory, that are applied to a budget.

Amazon Web Services Budgets supports the following services as a Service filter for RI budgets:

  • Amazon EC2

  • Amazon Redshift

  • Amazon Relational Database Service

  • Amazon ElastiCache

  • Amazon OpenSearch Service

CostTypes
Type: CostTypes structure

The types of costs that are included in this COST budget.

USAGE, RI_UTILIZATION, RI_COVERAGE, SAVINGS_PLANS_UTILIZATION, and SAVINGS_PLANS_COVERAGE budgets do not have CostTypes.

LastUpdatedTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The last time that you updated this budget.

PlannedBudgetLimits
Type: Associative array of custom strings keys (GenericString) to Spend structures

A map containing multiple BudgetLimit, including current or future limits.

PlannedBudgetLimits is available for cost or usage budget and supports both monthly and quarterly TimeUnit.

For monthly budgets, provide 12 months of PlannedBudgetLimits values. This must start from the current month and include the next 11 months. The key is the start of the month, UTC in epoch seconds.

For quarterly budgets, provide four quarters of PlannedBudgetLimits value entries in standard calendar quarter increments. This must start from the current quarter and include the next three quarters. The key is the start of the quarter, UTC in epoch seconds.

If the planned budget expires before 12 months for monthly or four quarters for quarterly, provide the PlannedBudgetLimits values only for the remaining periods.

If the budget begins at a date in the future, provide PlannedBudgetLimits values from the start date of the budget.

After all of the BudgetLimit values in PlannedBudgetLimits are used, the budget continues to use the last limit as the BudgetLimit. At that point, the planned budget provides the same experience as a fixed budget.

DescribeBudget and DescribeBudgets response along with PlannedBudgetLimits also contain BudgetLimit representing the current month or quarter limit present in PlannedBudgetLimits. This only applies to budgets that are created with PlannedBudgetLimits. Budgets that are created without PlannedBudgetLimits only contain BudgetLimit. They don't contain PlannedBudgetLimits.

TimePeriod
Type: TimePeriod structure

The period of time that's covered by a budget. You setthe start date and end date. The start date must come before the end date. The end date must come before 06/15/87 00:00 UTC.

If you create your budget and don't specify a start date, Amazon Web Services defaults to the start of your chosen time period (DAILY, MONTHLY, QUARTERLY, or ANNUALLY). For example, if you created your budget on January 24, 2018, chose DAILY, and didn't set a start date, Amazon Web Services set your start date to 01/24/18 00:00 UTC. If you chose MONTHLY, Amazon Web Services set your start date to 01/01/18 00:00 UTC. If you didn't specify an end date, Amazon Web Services set your end date to 06/15/87 00:00 UTC. The defaults are the same for the Billing and Cost Management console and the API.

You can change either date with the UpdateBudget operation.

After the end date, Amazon Web Services deletes the budget and all the associated notifications and subscribers.

TimeUnit
Required: Yes
Type: string

The length of time until a budget resets the actual and forecasted spend.

BudgetNotificationsForAccount

Description

The budget name and associated notifications for an account.

Members
BudgetName
Type: string

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

Notifications
Type: Array of Notification structures

A list of notifications.

BudgetPerformanceHistory

Description

A history of the state of a budget at the end of the budget's specified time period.

Members
BudgetName
Type: string

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

BudgetType
Type: string

The type of a budget. It must be one of the following types:

COST, USAGE, RI_UTILIZATION, RI_COVERAGE, SAVINGS_PLANS_UTILIZATION, or SAVINGS_PLANS_COVERAGE.

BudgetedAndActualAmountsList
Type: Array of BudgetedAndActualAmounts structures

A list of amounts of cost or usage that you created budgets for, which are compared to your actual costs or usage.

CostFilters
Type: Associative array of custom strings keys (GenericString) to stringss

The history of the cost filters for a budget during the specified time period.

CostTypes
Type: CostTypes structure

The history of the cost types for a budget during the specified time period.

TimeUnit
Type: string

The time unit of the budget, such as MONTHLY or QUARTERLY.

BudgetedAndActualAmounts

Description

The amount of cost or usage that you created the budget for, compared to your actual costs or usage.

Members
ActualAmount
Type: Spend structure

Your actual costs or usage for a budget period.

BudgetedAmount
Type: Spend structure

The amount of cost or usage that you created the budget for.

TimePeriod
Type: TimePeriod structure

The time period that's covered by this budget comparison.

CalculatedSpend

Description

The spend objects that are associated with this budget. The actualSpend tracks how much you've used, cost, usage, RI units, or Savings Plans units and the forecastedSpend tracks how much that you're predicted to spend based on your historical usage profile.

For example, if it's the 20th of the month and you have spent 50 dollars on Amazon EC2, your actualSpend is 50 USD, and your forecastedSpend is 75 USD.

Members
ActualSpend
Required: Yes
Type: Spend structure

The amount of cost, usage, RI units, or Savings Plans units that you used.

ForecastedSpend
Type: Spend structure

The amount of cost, usage, RI units, or Savings Plans units that you're forecasted to use.

CostTypes

Description

The types of cost that are included in a COST budget, such as tax and subscriptions.

USAGE, RI_UTILIZATION, RI_COVERAGE, SAVINGS_PLANS_UTILIZATION, and SAVINGS_PLANS_COVERAGE budgets don't have CostTypes.

Members
IncludeCredit
Type: boolean

Specifies whether a budget includes credits.

The default value is true.

IncludeDiscount
Type: boolean

Specifies whether a budget includes discounts.

The default value is true.

IncludeOtherSubscription
Type: boolean

Specifies whether a budget includes non-RI subscription costs.

The default value is true.

IncludeRecurring
Type: boolean

Specifies whether a budget includes recurring fees such as monthly RI fees.

The default value is true.

IncludeRefund
Type: boolean

Specifies whether a budget includes refunds.

The default value is true.

IncludeSubscription
Type: boolean

Specifies whether a budget includes subscriptions.

The default value is true.

IncludeSupport
Type: boolean

Specifies whether a budget includes support subscription fees.

The default value is true.

IncludeTax
Type: boolean

Specifies whether a budget includes taxes.

The default value is true.

IncludeUpfront
Type: boolean

Specifies whether a budget includes upfront RI costs.

The default value is true.

UseAmortized
Type: boolean

Specifies whether a budget uses the amortized rate.

The default value is false.

UseBlended
Type: boolean

Specifies whether a budget uses a blended rate.

The default value is false.

CreationLimitExceededException

Description

You've exceeded the notification or subscriber limit.

Members
Message
Type: string

The error message the exception carries.

Definition

Description

Specifies all of the type-specific parameters.

Members
IamActionDefinition
Type: IamActionDefinition structure

The Identity and Access Management (IAM) action definition details.

ScpActionDefinition
Type: ScpActionDefinition structure

The service control policies (SCPs) action definition details.

SsmActionDefinition
Type: SsmActionDefinition structure

The Amazon Web Services Systems Manager (SSM) action definition details.

DuplicateRecordException

Description

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

Members
Message
Type: string

The error message the exception carries.

ExpiredNextTokenException

Description

The pagination token expired.

Members
Message
Type: string

The error message the exception carries.

HistoricalOptions

Description

The parameters that define or describe the historical data that your auto-adjusting budget is based on.

Members
BudgetAdjustmentPeriod
Required: Yes
Type: int

The number of budget periods included in the moving-average calculation that determines your auto-adjusted budget amount. The maximum value depends on the TimeUnit granularity of the budget:

  • For the DAILY granularity, the maximum value is 60.

  • For the MONTHLY granularity, the maximum value is 12.

  • For the QUARTERLY granularity, the maximum value is 4.

  • For the ANNUALLY granularity, the maximum value is 1.

LookBackAvailablePeriods
Type: int

The integer that describes how many budget periods in your BudgetAdjustmentPeriod are included in the calculation of your current BudgetLimit. If the first budget period in your BudgetAdjustmentPeriod has no cost data, then that budget period isn’t included in the average that determines your budget limit.

For example, if you set BudgetAdjustmentPeriod as 4 quarters, but your account had no cost data in the first quarter, then only the last three quarters are included in the calculation. In this scenario, LookBackAvailablePeriods returns 3.

You can’t set your own LookBackAvailablePeriods. The value is automatically calculated from the BudgetAdjustmentPeriod and your historical cost data.

IamActionDefinition

Description

The Identity and Access Management (IAM) action definition details.

Members
Groups
Type: Array of strings

A list of groups to be attached. There must be at least one group.

PolicyArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the policy to be attached.

Roles
Type: Array of strings

A list of roles to be attached. There must be at least one role.

Users
Type: Array of strings

A list of users to be attached. There must be at least one user.

InternalErrorException

Description

An error on the server occurred during the processing of your request. Try again later.

Members
Message
Type: string

The error message the exception carries.

InvalidNextTokenException

Description

The pagination token is invalid.

Members
Message
Type: string

The error message the exception carries.

InvalidParameterException

Description

An error on the client occurred. Typically, the cause is an invalid input value.

Members
Message
Type: string

The error message the exception carries.

NotFoundException

Description

We can’t locate the resource that you specified.

Members
Message
Type: string

The error message the exception carries.

Notification

Description

A notification that's associated with a budget. A budget can have up to ten notifications.

Each notification must have at least one subscriber. A notification can have one SNS subscriber and up to 10 email subscribers, for a total of 11 subscribers.

For example, if you have a budget for 200 dollars and you want to be notified when you go over 160 dollars, create a notification with the following parameters:

  • A notificationType of ACTUAL

  • A thresholdType of PERCENTAGE

  • A comparisonOperator of GREATER_THAN

  • A notification threshold of 80

Members
ComparisonOperator
Required: Yes
Type: string

The comparison that's used for this notification.

NotificationState
Type: string

Specifies whether this notification is in alarm. If a budget notification is in the ALARM state, you passed the set threshold for the budget.

NotificationType
Required: Yes
Type: string

Specifies whether the notification is for how much you have spent (ACTUAL) or for how much that you're forecasted to spend (FORECASTED).

Threshold
Required: Yes
Type: double

The threshold that's associated with a notification. Thresholds are always a percentage, and many customers find value being alerted between 50% - 200% of the budgeted amount. The maximum limit for your threshold is 1,000,000% above the budgeted amount.

ThresholdType
Type: string

The type of threshold for a notification. For ABSOLUTE_VALUE thresholds, Amazon Web Services notifies you when you go over or are forecasted to go over your total cost threshold. For PERCENTAGE thresholds, Amazon Web Services notifies you when you go over or are forecasted to go over a certain percentage of your forecasted spend. For example, if you have a budget for 200 dollars and you have a PERCENTAGE threshold of 80%, Amazon Web Services notifies you when you go over 160 dollars.

NotificationWithSubscribers

Description

A notification with subscribers. A notification can have one SNS subscriber and up to 10 email subscribers, for a total of 11 subscribers.

Members
Notification
Required: Yes
Type: Notification structure

The notification that's associated with a budget.

Subscribers
Required: Yes
Type: Array of Subscriber structures

A list of subscribers who are subscribed to this notification.

ResourceLockedException

Description

The request was received and recognized by the server, but the server rejected that particular method for the requested resource.

Members
Message
Type: string

The error message the exception carries.

ResourceTag

Description

The tag structure that contains a tag key and value.

Members
Key
Required: Yes
Type: string

The key that's associated with the tag.

Value
Required: Yes
Type: string

The value that's associated with the tag.

ScpActionDefinition

Description

The service control policies (SCP) action definition details.

Members
PolicyId
Required: Yes
Type: string

The policy ID attached.

TargetIds
Required: Yes
Type: Array of strings

A list of target IDs.

ServiceQuotaExceededException

Description

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

Members
Message
Type: string

The error message the exception carries.

Spend

Description

The amount of cost or usage that's measured for a budget.

Cost example: A Spend for 3 USD of costs has the following parameters:

  • An Amount of 3

  • A Unit of USD

Usage example: A Spend for 3 GB of S3 usage has the following parameters:

  • An Amount of 3

  • A Unit of GB

Members
Amount
Required: Yes
Type: string

The cost or usage amount that's associated with a budget forecast, actual spend, or budget threshold.

Unit
Required: Yes
Type: string

The unit of measurement that's used for the budget forecast, actual spend, or budget threshold.

SsmActionDefinition

Description

The Amazon Web Services Systems Manager (SSM) action definition details.

Members
ActionSubType
Required: Yes
Type: string

The action subType.

InstanceIds
Required: Yes
Type: Array of strings

The EC2 and RDS instance IDs.

Region
Required: Yes
Type: string

The Region to run the SSM document.

Subscriber

Description

The subscriber to a budget notification. The subscriber consists of a subscription type and either an Amazon SNS topic or an email address.

For example, an email subscriber has the following parameters:

  • A subscriptionType of EMAIL

  • An address of example@example.com

Members
Address
Required: Yes
Type: string

The address that Amazon Web Services sends budget notifications to, either an SNS topic or an email.

When you create a subscriber, the value of Address can't contain line breaks.

SubscriptionType
Required: Yes
Type: string

The type of notification that Amazon Web Services sends to a subscriber.

ThrottlingException

Description

The number of API requests has exceeded the maximum allowed API request throttling limit for the account.

Members
Message
Type: string

The error message the exception carries.

TimePeriod

Description

The period of time that's covered by a budget. The period has a start date and an end date. The start date must come before the end date. There are no restrictions on the end date.

Members
End
Type: timestamp (string|DateTime or anything parsable by strtotime)

The end date for a budget. If you didn't specify an end date, Amazon Web Services set your end date to 06/15/87 00:00 UTC. The defaults are the same for the Billing and Cost Management console and the API.

After the end date, Amazon Web Services deletes the budget and all the associated notifications and subscribers. You can change your end date with the UpdateBudget operation.

Start
Type: timestamp (string|DateTime or anything parsable by strtotime)

The start date for a budget. If you created your budget and didn't specify a start date, Amazon Web Services defaults to the start of your chosen time period (DAILY, MONTHLY, QUARTERLY, or ANNUALLY). For example, if you created your budget on January 24, 2018, chose DAILY, and didn't set a start date, Amazon Web Services set your start date to 01/24/18 00:00 UTC. If you chose MONTHLY, Amazon Web Services set your start date to 01/01/18 00:00 UTC. The defaults are the same for the Billing and Cost Management console and the API.

You can change your start date with the UpdateBudget operation.