:doc:`Redshift <../../redshift>` / Client / create_event_subscription

*************************
create_event_subscription
*************************



.. py:method:: Redshift.Client.create_event_subscription(**kwargs)

  

  Creates an Amazon Redshift event notification subscription. This action requires an ARN (Amazon Resource Name) of an Amazon SNS topic created by either the Amazon Redshift console, the Amazon SNS console, or the Amazon SNS API. To obtain an ARN with Amazon SNS, you must create a topic in Amazon SNS and subscribe to the topic. The ARN is displayed in the SNS console.

   

  You can specify the source type, and lists of Amazon Redshift source IDs, event categories, and event severities. Notifications will be sent for all events you want that match those criteria. For example, you can specify source type = cluster, source ID = my-cluster-1 and mycluster2, event categories = Availability, Backup, and severity = ERROR. The subscription will only send notifications for those ERROR events in the Availability and Backup categories for the specified clusters.

   

  If you specify both the source type and source IDs, such as source type = cluster and source identifier = my-cluster-1, notifications will be sent for all the cluster events for my-cluster-1. If you specify a source type but do not specify a source identifier, you will receive notice of the events for the objects of that type in your Amazon Web Services account. If you do not specify either the SourceType nor the SourceIdentifier, you will be notified of events generated from all Amazon Redshift sources belonging to your Amazon Web Services account. You must specify a source type if you specify a source ID.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/CreateEventSubscription>`_  


  **Request Syntax**
  ::

    response = client.create_event_subscription(
        SubscriptionName='string',
        SnsTopicArn='string',
        SourceType='string',
        SourceIds=[
            'string',
        ],
        EventCategories=[
            'string',
        ],
        Severity='string',
        Enabled=True|False,
        Tags=[
            {
                'Key': 'string',
                'Value': 'string'
            },
        ]
    )
    
  :type SubscriptionName: string
  :param SubscriptionName: **[REQUIRED]** 

    The name of the event subscription to be created.

     

    Constraints:

     

    
    * Cannot be null, empty, or blank.
     
    * Must contain from 1 to 255 alphanumeric characters or hyphens.
     
    * First character must be a letter.
     
    * Cannot end with a hyphen or contain two consecutive hyphens.
    

    

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

    The Amazon Resource Name (ARN) of the Amazon SNS topic used to transmit the event notifications. 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 will be generating the events. For example, if you want to be notified of events generated by a cluster, you would set this parameter to cluster. If this value is not specified, events are returned for all Amazon Redshift objects in your Amazon Web Services account. You must specify a source type in order to specify source IDs.

     

    Valid values: cluster, cluster-parameter-group, cluster-security-group, cluster-snapshot, and scheduled-action.

    

  
  :type SourceIds: list
  :param SourceIds: 

    A list of one or more identifiers of Amazon Redshift source objects. All of the objects must be of the same type as was specified in the source type parameter. The event subscription will return only events generated by the specified objects. If not specified, then events are returned for all objects within the source type specified.

     

    Example: my-cluster-1, my-cluster-2

     

    Example: my-snapshot-20131010

    

  
    - *(string) --* 

    

  :type EventCategories: list
  :param EventCategories: 

    Specifies the Amazon Redshift event categories to be published by the event notification subscription.

     

    Values: configuration, management, monitoring, security, pending

    

  
    - *(string) --* 

    

  :type Severity: string
  :param Severity: 

    Specifies the Amazon Redshift event severity to be published by the event notification subscription.

     

    Values: ERROR, INFO

    

  
  :type Enabled: boolean
  :param Enabled: 

    A boolean value; set to ``true`` to activate the subscription, and set to ``false`` to create the subscription but not activate it.

    

  
  :type Tags: list
  :param Tags: 

    A list of tag instances.

    

  
    - *(dict) --* 

      A tag consisting of a name/value pair for a resource.

      

    
      - **Key** *(string) --* 

        The key, or name, for the resource tag.

        

      
      - **Value** *(string) --* 

        The value for the resource tag.

        

      
    

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

    
    ::

      {
          'EventSubscription': {
              'CustomerAwsId': 'string',
              'CustSubscriptionId': 'string',
              'SnsTopicArn': 'string',
              'Status': 'string',
              'SubscriptionCreationTime': datetime(2015, 1, 1),
              'SourceType': 'string',
              'SourceIdsList': [
                  'string',
              ],
              'EventCategoriesList': [
                  'string',
              ],
              'Severity': 'string',
              'Enabled': True|False,
              'Tags': [
                  {
                      'Key': 'string',
                      'Value': 'string'
                  },
              ]
          }
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

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

        Describes event subscriptions.

        
        

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

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

          
        

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

          The name of the Amazon Redshift event notification subscription.

          
        

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

          The Amazon Resource Name (ARN) of the Amazon SNS topic used by the event notification subscription.

          
        

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

          The status of the Amazon Redshift event notification subscription.

           

          Constraints:

           

          
          * Can be one of the following: active | no-permission | topic-not-exist
           
          * The status "no-permission" indicates that Amazon Redshift no longer has permission to post to the Amazon SNS topic. The status "topic-not-exist" indicates that the topic was deleted after the subscription was created.
          

          
        

        - **SubscriptionCreationTime** *(datetime) --* 

          The date and time the Amazon Redshift event notification subscription was created.

          
        

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

          The source type of the events returned by the Amazon Redshift event notification, such as cluster, cluster-snapshot, cluster-parameter-group, cluster-security-group, or scheduled-action.

          
        

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

          A list of the sources that publish events to the Amazon Redshift event notification subscription.

          
          

          - *(string) --* 
      
        

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

          The list of Amazon Redshift event categories specified in the event notification subscription.

           

          Values: Configuration, Management, Monitoring, Security, Pending

          
          

          - *(string) --* 
      
        

        - **Severity** *(string) --* 

          The event severity specified in the Amazon Redshift event notification subscription.

           

          Values: ERROR, INFO

          
        

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

          A boolean value indicating whether the subscription is enabled; ``true`` indicates that the subscription is enabled.

          
        

        - **Tags** *(list) --* 

          The list of tags for the event subscription.

          
          

          - *(dict) --* 

            A tag consisting of a name/value pair for a resource.

            
            

            - **Key** *(string) --* 

              The key, or name, for the resource tag.

              
            

            - **Value** *(string) --* 

              The value for the resource tag.

              
        
      
    
  
  **Exceptions**
  
  *   :py:class:`Redshift.Client.exceptions.EventSubscriptionQuotaExceededFault`

  
  *   :py:class:`Redshift.Client.exceptions.SubscriptionAlreadyExistFault`

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

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

  
  *   :py:class:`Redshift.Client.exceptions.SNSTopicArnNotFoundFault`

  
  *   :py:class:`Redshift.Client.exceptions.SubscriptionEventIdNotFoundFault`

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

  
  *   :py:class:`Redshift.Client.exceptions.SubscriptionSeverityNotFoundFault`

  
  *   :py:class:`Redshift.Client.exceptions.SourceNotFoundFault`

  
  *   :py:class:`Redshift.Client.exceptions.TagLimitExceededFault`

  
  *   :py:class:`Redshift.Client.exceptions.InvalidTagFault`

  