2017/09/06 - AWS Budgets - 9 updated api methods
Changes Update budgets client to latest version
{'NotificationsWithSubscribers': {'Notification': {'ThresholdType': 'PERCENTAGE '
                                                                    '| '
                                                                    'ABSOLUTE_VALUE'}}}
      Create a new budget
See also: AWS API Documentation
Request Syntax
client.create_budget(
    AccountId='string',
    Budget={
        'BudgetName': 'string',
        'BudgetLimit': {
            'Amount': 'string',
            'Unit': 'string'
        },
        'CostFilters': {
            'string': [
                'string',
            ]
        },
        'CostTypes': {
            'IncludeTax': True|False,
            'IncludeSubscription': True|False,
            'UseBlended': True|False
        },
        'TimeUnit': 'DAILY'|'MONTHLY'|'QUARTERLY'|'ANNUALLY',
        'TimePeriod': {
            'Start': datetime(2015, 1, 1),
            'End': datetime(2015, 1, 1)
        },
        'CalculatedSpend': {
            'ActualSpend': {
                'Amount': 'string',
                'Unit': 'string'
            },
            'ForecastedSpend': {
                'Amount': 'string',
                'Unit': 'string'
            }
        },
        'BudgetType': 'USAGE'|'COST'|'RI_UTILIZATION'
    },
    NotificationsWithSubscribers=[
        {
            'Notification': {
                'NotificationType': 'ACTUAL'|'FORECASTED',
                'ComparisonOperator': 'GREATER_THAN'|'LESS_THAN'|'EQUAL_TO',
                'Threshold': 123.0,
                'ThresholdType': 'PERCENTAGE'|'ABSOLUTE_VALUE'
            },
            'Subscribers': [
                {
                    'SubscriptionType': 'SNS'|'EMAIL',
                    'Address': 'string'
                },
            ]
        },
    ]
)
string
[REQUIRED] Account Id of the customer. It should be a 12 digit number.
dict
[REQUIRED] AWS Budget model
BudgetName (string) -- [REQUIRED] A string represents the budget name. No ":" and "" character is allowed.
BudgetLimit (dict) -- [REQUIRED] A structure that represents either a cost spend or usage spend. Contains an amount and a unit.
Amount (string) -- [REQUIRED] A string to represent NumericValue.
Unit (string) -- [REQUIRED] A string to represent budget spend unit. It should be not null and not empty.
CostFilters (dict) -- A map that represents the cost filters applied to the budget.
(string) -- A generic String.
(list) --
(string) -- A generic String.
CostTypes (dict) -- [REQUIRED] This includes the options for getting the cost of a budget.
IncludeTax (boolean) -- [REQUIRED] A generic boolean value.
IncludeSubscription (boolean) -- [REQUIRED] A generic boolean value.
UseBlended (boolean) -- [REQUIRED] A generic boolean value.
TimeUnit (string) -- [REQUIRED] The time unit of the budget. e.g. MONTHLY, QUARTERLY, etc.
TimePeriod (dict) -- [REQUIRED] A time period indicating the start date and end date of a budget.
Start (datetime) -- [REQUIRED] A generic timestamp. In Java it is transformed to a Date object.
End (datetime) -- [REQUIRED] A generic timestamp. In Java it is transformed to a Date object.
CalculatedSpend (dict) -- A structure that holds the actual and forecasted spend for a budget.
ActualSpend (dict) -- [REQUIRED] A structure that represents either a cost spend or usage spend. Contains an amount and a unit.
Amount (string) -- [REQUIRED] A string to represent NumericValue.
Unit (string) -- [REQUIRED] A string to represent budget spend unit. It should be not null and not empty.
ForecastedSpend (dict) -- A structure that represents either a cost spend or usage spend. Contains an amount and a unit.
Amount (string) -- [REQUIRED] A string to represent NumericValue.
Unit (string) -- [REQUIRED] A string to represent budget spend unit. It should be not null and not empty.
BudgetType (string) -- [REQUIRED] The type of a budget. It should be COST, USAGE, or RI_UTILIZATION.
list
A list of Notifications, each with a list of subscribers.
(dict) -- A structure to relate notification and a list of subscribers who belong to the notification.
Notification (dict) -- [REQUIRED] Notification model. Each budget may contain multiple notifications with different settings.
NotificationType (string) -- [REQUIRED] The type of a notification. It should be ACTUAL or FORECASTED.
ComparisonOperator (string) -- [REQUIRED] The comparison operator of a notification. Currently we support less than, equal to and greater than.
Threshold (float) -- [REQUIRED] The threshold of a notification. It should be a number between 0 and 1,000,000,000.
ThresholdType (string) -- The type of threshold for a notification. It can be PERCENTAGE or ABSOLUTE_VALUE.
Subscribers (list) -- [REQUIRED] A list of subscribers.
(dict) -- Subscriber model. Each notification may contain multiple subscribers with different addresses.
SubscriptionType (string) -- [REQUIRED] The subscription type of the subscriber. It can be SMS or EMAIL.
Address (string) -- [REQUIRED] A generic String.
dict
Response Syntax
{}
Response Structure
(dict) -- Response of CreateBudget
{'Notification': {'ThresholdType': 'PERCENTAGE | ABSOLUTE_VALUE'}}
      Create a new Notification with subscribers for a budget
See also: AWS API Documentation
Request Syntax
client.create_notification(
    AccountId='string',
    BudgetName='string',
    Notification={
        'NotificationType': 'ACTUAL'|'FORECASTED',
        'ComparisonOperator': 'GREATER_THAN'|'LESS_THAN'|'EQUAL_TO',
        'Threshold': 123.0,
        'ThresholdType': 'PERCENTAGE'|'ABSOLUTE_VALUE'
    },
    Subscribers=[
        {
            'SubscriptionType': 'SNS'|'EMAIL',
            'Address': 'string'
        },
    ]
)
string
[REQUIRED] Account Id of the customer. It should be a 12 digit number.
string
[REQUIRED] A string represents the budget name. No ":" and "" character is allowed.
dict
[REQUIRED] Notification model. Each budget may contain multiple notifications with different settings.
NotificationType (string) -- [REQUIRED] The type of a notification. It should be ACTUAL or FORECASTED.
ComparisonOperator (string) -- [REQUIRED] The comparison operator of a notification. Currently we support less than, equal to and greater than.
Threshold (float) -- [REQUIRED] The threshold of a notification. It should be a number between 0 and 1,000,000,000.
ThresholdType (string) -- The type of threshold for a notification. It can be PERCENTAGE or ABSOLUTE_VALUE.
list
[REQUIRED] A list of subscribers.
(dict) -- Subscriber model. Each notification may contain multiple subscribers with different addresses.
SubscriptionType (string) -- [REQUIRED] The subscription type of the subscriber. It can be SMS or EMAIL.
Address (string) -- [REQUIRED] A generic String.
dict
Response Syntax
{}
Response Structure
(dict) -- Response of CreateNotification
{'Notification': {'ThresholdType': 'PERCENTAGE | ABSOLUTE_VALUE'}}
      Create a new Subscriber for a notification
See also: AWS API Documentation
Request Syntax
client.create_subscriber(
    AccountId='string',
    BudgetName='string',
    Notification={
        'NotificationType': 'ACTUAL'|'FORECASTED',
        'ComparisonOperator': 'GREATER_THAN'|'LESS_THAN'|'EQUAL_TO',
        'Threshold': 123.0,
        'ThresholdType': 'PERCENTAGE'|'ABSOLUTE_VALUE'
    },
    Subscriber={
        'SubscriptionType': 'SNS'|'EMAIL',
        'Address': 'string'
    }
)
string
[REQUIRED] Account Id of the customer. It should be a 12 digit number.
string
[REQUIRED] A string represents the budget name. No ":" and "" character is allowed.
dict
[REQUIRED] Notification model. Each budget may contain multiple notifications with different settings.
NotificationType (string) -- [REQUIRED] The type of a notification. It should be ACTUAL or FORECASTED.
ComparisonOperator (string) -- [REQUIRED] The comparison operator of a notification. Currently we support less than, equal to and greater than.
Threshold (float) -- [REQUIRED] The threshold of a notification. It should be a number between 0 and 1,000,000,000.
ThresholdType (string) -- The type of threshold for a notification. It can be PERCENTAGE or ABSOLUTE_VALUE.
dict
[REQUIRED] Subscriber model. Each notification may contain multiple subscribers with different addresses.
SubscriptionType (string) -- [REQUIRED] The subscription type of the subscriber. It can be SMS or EMAIL.
Address (string) -- [REQUIRED] A generic String.
dict
Response Syntax
{}
Response Structure
(dict) -- Response of CreateSubscriber
{'Notification': {'ThresholdType': 'PERCENTAGE | ABSOLUTE_VALUE'}}
      Delete a notification and related subscribers
See also: AWS API Documentation
Request Syntax
client.delete_notification(
    AccountId='string',
    BudgetName='string',
    Notification={
        'NotificationType': 'ACTUAL'|'FORECASTED',
        'ComparisonOperator': 'GREATER_THAN'|'LESS_THAN'|'EQUAL_TO',
        'Threshold': 123.0,
        'ThresholdType': 'PERCENTAGE'|'ABSOLUTE_VALUE'
    }
)
string
[REQUIRED] Account Id of the customer. It should be a 12 digit number.
string
[REQUIRED] A string represents the budget name. No ":" and "" character is allowed.
dict
[REQUIRED] Notification model. Each budget may contain multiple notifications with different settings.
NotificationType (string) -- [REQUIRED] The type of a notification. It should be ACTUAL or FORECASTED.
ComparisonOperator (string) -- [REQUIRED] The comparison operator of a notification. Currently we support less than, equal to and greater than.
Threshold (float) -- [REQUIRED] The threshold of a notification. It should be a number between 0 and 1,000,000,000.
ThresholdType (string) -- The type of threshold for a notification. It can be PERCENTAGE or ABSOLUTE_VALUE.
dict
Response Syntax
{}
Response Structure
(dict) -- Response of DeleteNotification
{'Notification': {'ThresholdType': 'PERCENTAGE | ABSOLUTE_VALUE'}}
      Delete a Subscriber for a notification
See also: AWS API Documentation
Request Syntax
client.delete_subscriber(
    AccountId='string',
    BudgetName='string',
    Notification={
        'NotificationType': 'ACTUAL'|'FORECASTED',
        'ComparisonOperator': 'GREATER_THAN'|'LESS_THAN'|'EQUAL_TO',
        'Threshold': 123.0,
        'ThresholdType': 'PERCENTAGE'|'ABSOLUTE_VALUE'
    },
    Subscriber={
        'SubscriptionType': 'SNS'|'EMAIL',
        'Address': 'string'
    }
)
string
[REQUIRED] Account Id of the customer. It should be a 12 digit number.
string
[REQUIRED] A string represents the budget name. No ":" and "" character is allowed.
dict
[REQUIRED] Notification model. Each budget may contain multiple notifications with different settings.
NotificationType (string) -- [REQUIRED] The type of a notification. It should be ACTUAL or FORECASTED.
ComparisonOperator (string) -- [REQUIRED] The comparison operator of a notification. Currently we support less than, equal to and greater than.
Threshold (float) -- [REQUIRED] The threshold of a notification. It should be a number between 0 and 1,000,000,000.
ThresholdType (string) -- The type of threshold for a notification. It can be PERCENTAGE or ABSOLUTE_VALUE.
dict
[REQUIRED] Subscriber model. Each notification may contain multiple subscribers with different addresses.
SubscriptionType (string) -- [REQUIRED] The subscription type of the subscriber. It can be SMS or EMAIL.
Address (string) -- [REQUIRED] A generic String.
dict
Response Syntax
{}
Response Structure
(dict) -- Response of DeleteSubscriber
{'Notifications': {'ThresholdType': 'PERCENTAGE | ABSOLUTE_VALUE'}}
      Get notifications of a budget
See also: AWS API Documentation
Request Syntax
client.describe_notifications_for_budget(
    AccountId='string',
    BudgetName='string',
    MaxResults=123,
    NextToken='string'
)
string
[REQUIRED] Account Id of the customer. It should be a 12 digit number.
string
[REQUIRED] A string represents the budget name. No ":" and "" character is allowed.
integer
An integer to represent how many entries a paginated response contains. Maximum is set to 100.
string
A generic String.
dict
Response Syntax
{
    'Notifications': [
        {
            'NotificationType': 'ACTUAL'|'FORECASTED',
            'ComparisonOperator': 'GREATER_THAN'|'LESS_THAN'|'EQUAL_TO',
            'Threshold': 123.0,
            'ThresholdType': 'PERCENTAGE'|'ABSOLUTE_VALUE'
        },
    ],
    'NextToken': 'string'
}
Response Structure
(dict) -- Response of GetNotificationsForBudget
Notifications (list) -- A list of notifications.
(dict) -- Notification model. Each budget may contain multiple notifications with different settings.
NotificationType (string) -- The type of a notification. It should be ACTUAL or FORECASTED.
ComparisonOperator (string) -- The comparison operator of a notification. Currently we support less than, equal to and greater than.
Threshold (float) -- The threshold of a notification. It should be a number between 0 and 1,000,000,000.
ThresholdType (string) -- The type of threshold for a notification. It can be PERCENTAGE or ABSOLUTE_VALUE.
NextToken (string) -- A generic String.
{'Notification': {'ThresholdType': 'PERCENTAGE | ABSOLUTE_VALUE'}}
      Get subscribers of a notification
See also: AWS API Documentation
Request Syntax
client.describe_subscribers_for_notification(
    AccountId='string',
    BudgetName='string',
    Notification={
        'NotificationType': 'ACTUAL'|'FORECASTED',
        'ComparisonOperator': 'GREATER_THAN'|'LESS_THAN'|'EQUAL_TO',
        'Threshold': 123.0,
        'ThresholdType': 'PERCENTAGE'|'ABSOLUTE_VALUE'
    },
    MaxResults=123,
    NextToken='string'
)
string
[REQUIRED] Account Id of the customer. It should be a 12 digit number.
string
[REQUIRED] A string represents the budget name. No ":" and "" character is allowed.
dict
[REQUIRED] Notification model. Each budget may contain multiple notifications with different settings.
NotificationType (string) -- [REQUIRED] The type of a notification. It should be ACTUAL or FORECASTED.
ComparisonOperator (string) -- [REQUIRED] The comparison operator of a notification. Currently we support less than, equal to and greater than.
Threshold (float) -- [REQUIRED] The threshold of a notification. It should be a number between 0 and 1,000,000,000.
ThresholdType (string) -- The type of threshold for a notification. It can be PERCENTAGE or ABSOLUTE_VALUE.
integer
An integer to represent how many entries a paginated response contains. Maximum is set to 100.
string
A generic String.
dict
Response Syntax
{
    'Subscribers': [
        {
            'SubscriptionType': 'SNS'|'EMAIL',
            'Address': 'string'
        },
    ],
    'NextToken': 'string'
}
Response Structure
(dict) -- Response of DescribeSubscribersForNotification
Subscribers (list) -- A list of subscribers.
(dict) -- Subscriber model. Each notification may contain multiple subscribers with different addresses.
SubscriptionType (string) -- The subscription type of the subscriber. It can be SMS or EMAIL.
Address (string) -- A generic String.
NextToken (string) -- A generic String.
{'NewNotification': {'ThresholdType': 'PERCENTAGE | ABSOLUTE_VALUE'},
 'OldNotification': {'ThresholdType': 'PERCENTAGE | ABSOLUTE_VALUE'}}
      Update the information about a notification already created
See also: AWS API Documentation
Request Syntax
client.update_notification(
    AccountId='string',
    BudgetName='string',
    OldNotification={
        'NotificationType': 'ACTUAL'|'FORECASTED',
        'ComparisonOperator': 'GREATER_THAN'|'LESS_THAN'|'EQUAL_TO',
        'Threshold': 123.0,
        'ThresholdType': 'PERCENTAGE'|'ABSOLUTE_VALUE'
    },
    NewNotification={
        'NotificationType': 'ACTUAL'|'FORECASTED',
        'ComparisonOperator': 'GREATER_THAN'|'LESS_THAN'|'EQUAL_TO',
        'Threshold': 123.0,
        'ThresholdType': 'PERCENTAGE'|'ABSOLUTE_VALUE'
    }
)
string
[REQUIRED] Account Id of the customer. It should be a 12 digit number.
string
[REQUIRED] A string represents the budget name. No ":" and "" character is allowed.
dict
[REQUIRED] Notification model. Each budget may contain multiple notifications with different settings.
NotificationType (string) -- [REQUIRED] The type of a notification. It should be ACTUAL or FORECASTED.
ComparisonOperator (string) -- [REQUIRED] The comparison operator of a notification. Currently we support less than, equal to and greater than.
Threshold (float) -- [REQUIRED] The threshold of a notification. It should be a number between 0 and 1,000,000,000.
ThresholdType (string) -- The type of threshold for a notification. It can be PERCENTAGE or ABSOLUTE_VALUE.
dict
[REQUIRED] Notification model. Each budget may contain multiple notifications with different settings.
NotificationType (string) -- [REQUIRED] The type of a notification. It should be ACTUAL or FORECASTED.
ComparisonOperator (string) -- [REQUIRED] The comparison operator of a notification. Currently we support less than, equal to and greater than.
Threshold (float) -- [REQUIRED] The threshold of a notification. It should be a number between 0 and 1,000,000,000.
ThresholdType (string) -- The type of threshold for a notification. It can be PERCENTAGE or ABSOLUTE_VALUE.
dict
Response Syntax
{}
Response Structure
(dict) -- Response of UpdateNotification
{'Notification': {'ThresholdType': 'PERCENTAGE | ABSOLUTE_VALUE'}}
      Update a subscriber
See also: AWS API Documentation
Request Syntax
client.update_subscriber(
    AccountId='string',
    BudgetName='string',
    Notification={
        'NotificationType': 'ACTUAL'|'FORECASTED',
        'ComparisonOperator': 'GREATER_THAN'|'LESS_THAN'|'EQUAL_TO',
        'Threshold': 123.0,
        'ThresholdType': 'PERCENTAGE'|'ABSOLUTE_VALUE'
    },
    OldSubscriber={
        'SubscriptionType': 'SNS'|'EMAIL',
        'Address': 'string'
    },
    NewSubscriber={
        'SubscriptionType': 'SNS'|'EMAIL',
        'Address': 'string'
    }
)
string
[REQUIRED] Account Id of the customer. It should be a 12 digit number.
string
[REQUIRED] A string represents the budget name. No ":" and "" character is allowed.
dict
[REQUIRED] Notification model. Each budget may contain multiple notifications with different settings.
NotificationType (string) -- [REQUIRED] The type of a notification. It should be ACTUAL or FORECASTED.
ComparisonOperator (string) -- [REQUIRED] The comparison operator of a notification. Currently we support less than, equal to and greater than.
Threshold (float) -- [REQUIRED] The threshold of a notification. It should be a number between 0 and 1,000,000,000.
ThresholdType (string) -- The type of threshold for a notification. It can be PERCENTAGE or ABSOLUTE_VALUE.
dict
[REQUIRED] Subscriber model. Each notification may contain multiple subscribers with different addresses.
SubscriptionType (string) -- [REQUIRED] The subscription type of the subscriber. It can be SMS or EMAIL.
Address (string) -- [REQUIRED] A generic String.
dict
[REQUIRED] Subscriber model. Each notification may contain multiple subscribers with different addresses.
SubscriptionType (string) -- [REQUIRED] The subscription type of the subscriber. It can be SMS or EMAIL.
Address (string) -- [REQUIRED] A generic String.
dict
Response Syntax
{}
Response Structure
(dict) -- Response of UpdateSubscriber