:doc:`Budgets <../../budgets>` / Client / update_subscriber

*****************
update_subscriber
*****************



.. py:method:: Budgets.Client.update_subscriber(**kwargs)

  

  Updates a subscriber.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/budgets-2016-10-20/UpdateSubscriber>`_  


  **Request Syntax**
  ::

    response = 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',
            'NotificationState': 'OK'|'ALARM'
        },
        OldSubscriber={
            'SubscriptionType': 'SNS'|'EMAIL',
            'Address': 'string'
        },
        NewSubscriber={
            'SubscriptionType': 'SNS'|'EMAIL',
            'Address': 'string'
        }
    )
    
  :type AccountId: string
  :param AccountId: **[REQUIRED]** 

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

    

  
  :type BudgetName: string
  :param BudgetName: **[REQUIRED]** 

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

    

  
  :type Notification: dict
  :param Notification: **[REQUIRED]** 

    The notification whose subscriber you want to update.

    

  
    - **NotificationType** *(string) --* **[REQUIRED]** 

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

      

    
    - **ComparisonOperator** *(string) --* **[REQUIRED]** 

      The comparison that's used for this notification.

      

    
    - **Threshold** *(float) --* **[REQUIRED]** 

      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** *(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.

      

    
    - **NotificationState** *(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.

      

    
  
  :type OldSubscriber: dict
  :param OldSubscriber: **[REQUIRED]** 

    The previous subscriber that is associated with a budget notification.

    

  
    - **SubscriptionType** *(string) --* **[REQUIRED]** 

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

      

    
    - **Address** *(string) --* **[REQUIRED]** 

      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.

      

    
  
  :type NewSubscriber: dict
  :param NewSubscriber: **[REQUIRED]** 

    The updated subscriber that is associated with a budget notification.

    

  
    - **SubscriptionType** *(string) --* **[REQUIRED]** 

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

      

    
    - **Address** *(string) --* **[REQUIRED]** 

      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.

      

    
  
  
  :rtype: dict
  :returns: 
    
    **Response Syntax**

    
    ::

      {}
      
    **Response Structure**

    

    - *(dict) --* 

      Response of UpdateSubscriber

      
  
  **Exceptions**
  
  *   :py:class:`Budgets.Client.exceptions.InternalErrorException`

  
  *   :py:class:`Budgets.Client.exceptions.InvalidParameterException`

  
  *   :py:class:`Budgets.Client.exceptions.NotFoundException`

  
  *   :py:class:`Budgets.Client.exceptions.DuplicateRecordException`

  
  *   :py:class:`Budgets.Client.exceptions.AccessDeniedException`

  
  *   :py:class:`Budgets.Client.exceptions.ThrottlingException`

  