:doc:`RDS <../../rds>` / Client / modify_event_subscription

*************************
modify_event_subscription
*************************



.. py:method:: RDS.Client.modify_event_subscription(**kwargs)

  

  Modifies an existing RDS event notification subscription. You can't modify the source identifiers using this call. To change source identifiers for a subscription, use the ``AddSourceIdentifierToSubscription`` and ``RemoveSourceIdentifierFromSubscription`` calls.

   

  You can see a list of the event categories for a given source type ( ``SourceType``) in `Events <https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.html>`__ in the *Amazon RDS User Guide* or by using the ``DescribeEventCategories`` operation.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyEventSubscription>`_  


  **Request Syntax**
  ::

    response = client.modify_event_subscription(
        SubscriptionName='string',
        SnsTopicArn='string',
        SourceType='string',
        EventCategories=[
            'string',
        ],
        Enabled=True|False
    )
    
  :type SubscriptionName: string
  :param SubscriptionName: **[REQUIRED]** 

    The name of the RDS event notification subscription.

    

  
  :type SnsTopicArn: string
  :param SnsTopicArn: 

    The Amazon Resource Name (ARN) of the SNS topic created for event notification. The ARN is created by Amazon SNS when you create a topic and subscribe to it.

    

  
  :type SourceType: string
  :param SourceType: 

    The type of source that is generating the events. For example, if you want to be notified of events generated by a DB instance, you would set this parameter to db-instance. For RDS Proxy events, specify ``db-proxy``. If this value isn't specified, all events are returned.

     

    Valid Values: `` db-instance | db-cluster | db-parameter-group | db-security-group | db-snapshot | db-cluster-snapshot | db-proxy | zero-etl | custom-engine-version | blue-green-deployment``

    

  
  :type EventCategories: list
  :param EventCategories: 

    A list of event categories for a source type ( ``SourceType``) that you want to subscribe to. You can see a list of the categories for a given source type in `Events <https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.html>`__ in the *Amazon RDS User Guide* or by using the ``DescribeEventCategories`` operation.

    

  
    - *(string) --* 

    

  :type Enabled: boolean
  :param Enabled: 

    Specifies whether to activate the subscription.

    

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

    
    ::

      {
          'EventSubscription': {
              'CustomerAwsId': 'string',
              'CustSubscriptionId': 'string',
              'SnsTopicArn': 'string',
              'Status': 'string',
              'SubscriptionCreationTime': 'string',
              'SourceType': 'string',
              'SourceIdsList': [
                  'string',
              ],
              'EventCategoriesList': [
                  'string',
              ],
              'Enabled': True|False,
              'EventSubscriptionArn': 'string'
          }
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **EventSubscription** *(dict) --* 

        Contains the results of a successful invocation of the ``DescribeEventSubscriptions`` action.

        
        

        - **CustomerAwsId** *(string) --* 

          The Amazon Web Services customer account associated with the RDS event notification subscription.

          
        

        - **CustSubscriptionId** *(string) --* 

          The RDS event notification subscription Id.

          
        

        - **SnsTopicArn** *(string) --* 

          The topic ARN of the RDS event notification subscription.

          
        

        - **Status** *(string) --* 

          The status of the RDS event notification subscription.

           

          Constraints:

           

          Can be one of the following: creating | modifying | deleting | active | no-permission | topic-not-exist

           

          The status "no-permission" indicates that RDS no longer has permission to post to the SNS topic. The status "topic-not-exist" indicates that the topic was deleted after the subscription was created.

          
        

        - **SubscriptionCreationTime** *(string) --* 

          The time the RDS event notification subscription was created.

          
        

        - **SourceType** *(string) --* 

          The source type for the RDS event notification subscription.

          
        

        - **SourceIdsList** *(list) --* 

          A list of source IDs for the RDS event notification subscription.

          
          

          - *(string) --* 
      
        

        - **EventCategoriesList** *(list) --* 

          A list of event categories for the RDS event notification subscription.

          
          

          - *(string) --* 
      
        

        - **Enabled** *(boolean) --* 

          Specifies whether the subscription is enabled. True indicates the subscription is enabled.

          
        

        - **EventSubscriptionArn** *(string) --* 

          The Amazon Resource Name (ARN) for the event subscription.

          
    
  
  **Exceptions**
  
  *   :py:class:`RDS.Client.exceptions.SNSTopicArnNotFoundFault`

  
  *   :py:class:`RDS.Client.exceptions.SNSInvalidTopicFault`

  
  *   :py:class:`RDS.Client.exceptions.SubscriptionCategoryNotFoundFault`

  
  *   :py:class:`RDS.Client.exceptions.SubscriptionNotFoundFault`

  
  *   :py:class:`RDS.Client.exceptions.EventSubscriptionQuotaExceededFault`

  
  *   :py:class:`RDS.Client.exceptions.SNSNoAuthorizationFault`

  

  **Examples**

  This example changes the specified setting for the specified event notification subscription.
  ::

    response = client.modify_event_subscription(
        Enabled=True,
        EventCategories=[
            'deletion',
            'low storage',
        ],
        SourceType='db-instance',
        SubscriptionName='mymysqleventsubscription',
    )
    
    print(response)

  
  Expected Output:
  ::

    {
        'EventSubscription': {
        },
        'ResponseMetadata': {
            '...': '...',
        },
    }

  