def create_budget(AccountId=None, Budget=None, NotificationsWithSubscribers
    =None):
    """
    Create a new budget
    See also: AWS API Documentation
    
    
    :example: response = 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': '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'
        },
        NotificationsWithSubscribers=[
            {
                'Notification': {
                    'NotificationType': 'ACTUAL'|'FORECASTED',
                    'ComparisonOperator': 'GREATER_THAN'|'LESS_THAN'|'EQUAL_TO',
                    'Threshold': 123.0
                },
                'Subscribers': [
                    {
                        'SubscriptionType': 'SNS'|'EMAIL',
                        'Address': 'string'
                    },
                ]
            },
        ]
    )
    
    
    :type AccountId: string
    :param AccountId: [REQUIRED] Account Id of the customer. It should be a 12 digit number.

    :type Budget: dict
    :param Budget: [REQUIRED] AWS Budget model
            BudgetName (string) -- [REQUIRED] A string represents the budget name. No ':' character is allowed.
            BudgetLimit (dict) -- [REQUIRED] A structure represent 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 generic String.
            CostFilters (dict) -- A map 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. weekly, monthly, etc.
            TimePeriod (dict) -- [REQUIRED] A time period indicated 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 holds the actual and forecasted spend for a budget.
            ActualSpend (dict) -- [REQUIRED] A structure represent 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 generic String.
            ForecastedSpend (dict) -- A structure represent 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 generic String.
            
            BudgetType (string) -- [REQUIRED] The type of a budget. Can be COST or USAGE.
            

    :type NotificationsWithSubscribers: list
    :param NotificationsWithSubscribers: 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 the a notification. It should be a number between 0 and 100.
            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.
            
            

    :rtype: dict
    :return: {}
    
    
    :returns: 
    (dict) -- Response of CreateBudget
    
    """
    pass
