

# CreateEventSubscription
<a name="API_CreateEventSubscription"></a>

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 AWS 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 AWS account. You must specify a source type if you specify a source ID.

## Request Parameters
<a name="API_CreateEventSubscription_RequestParameters"></a>

 For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

 ** SnsTopicArn **   
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: String  
Length Constraints: Maximum length of 2147483647.  
Required: Yes

 ** SubscriptionName **   
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: String  
Length Constraints: Maximum length of 2147483647.  
Required: Yes

 ** Enabled **   
A boolean value; set to `true` to activate the subscription, and set to `false` to create the subscription but not activate it.   
Type: Boolean  
Required: No

 **EventCategories.EventCategory.N**   
Specifies the Amazon Redshift event categories to be published by the event notification subscription.  
Values: configuration, management, monitoring, security, pending  
Type: Array of strings  
Length Constraints: Maximum length of 2147483647.  
Required: No

 ** Severity **   
Specifies the Amazon Redshift event severity to be published by the event notification subscription.  
Values: ERROR, INFO  
Type: String  
Length Constraints: Maximum length of 2147483647.  
Required: No

 **SourceIds.SourceId.N**   
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  
Type: Array of strings  
Length Constraints: Maximum length of 2147483647.  
Required: No

 ** 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 AWS 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: String  
Length Constraints: Maximum length of 2147483647.  
Required: No

 **Tags.Tag.N**   
A list of tag instances.  
Type: Array of [Tag](API_Tag.md) objects  
Required: No

## Response Elements
<a name="API_CreateEventSubscription_ResponseElements"></a>

The following element is returned by the service.

 ** EventSubscription **   
Describes event subscriptions.  
Type: [EventSubscription](API_EventSubscription.md) object

## Errors
<a name="API_CreateEventSubscription_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** EventSubscriptionQuotaExceeded **   
The request would exceed the allowed number of event subscriptions for this account. For information about increasing your quota, go to [Limits in Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/amazon-redshift-limits.html) in the *Amazon Redshift Cluster Management Guide*.   
HTTP Status Code: 400

 ** InvalidTagFault **   
The tag is invalid.  
HTTP Status Code: 400

 ** SNSInvalidTopic **   
Amazon SNS has responded that there is a problem with the specified Amazon SNS topic.  
HTTP Status Code: 400

 ** SNSNoAuthorization **   
You do not have permission to publish to the specified Amazon SNS topic.  
HTTP Status Code: 400

 ** SNSTopicArnNotFound **   
An Amazon SNS topic with the specified Amazon Resource Name (ARN) does not exist.  
HTTP Status Code: 404

 ** SourceNotFound **   
The specified Amazon Redshift event source could not be found.  
HTTP Status Code: 404

 ** SubscriptionAlreadyExist **   
There is already an existing event notification subscription with the specified name.  
HTTP Status Code: 400

 ** SubscriptionCategoryNotFound **   
The value specified for the event category was not one of the allowed values, or it specified a category that does not apply to the specified source type. The allowed values are Configuration, Management, Monitoring, and Security.  
HTTP Status Code: 404

 ** SubscriptionEventIdNotFound **   
An Amazon Redshift event with the specified event ID does not exist.  
HTTP Status Code: 404

 ** SubscriptionSeverityNotFound **   
The value specified for the event severity was not one of the allowed values, or it specified a severity that does not apply to the specified source type. The allowed values are ERROR and INFO.  
HTTP Status Code: 404

 ** TagLimitExceededFault **   
You have exceeded the number of tags allowed.  
HTTP Status Code: 400

## Examples
<a name="API_CreateEventSubscription_Examples"></a>

### Example
<a name="API_CreateEventSubscription_Example_1"></a>

This example illustrates one usage of CreateEventSubscription.

#### Sample Request
<a name="API_CreateEventSubscription_Example_1_Request"></a>

```
https://redshift.us-east-2.amazonaws.com/
       ?Action=CreateEventSubscription
&SubscriptionName=mysubscription
&SnsTopicArn=arn%3Aaws%3Asns%3Aus-east-2%3A123456789012%3AMySNStopic
&SourceType=cluster
&SourceIds.SourceId.1=mycluster
&SignatureMethod=HmacSHA256&SignatureVersion=4
&Version=2012-12-01
&X-Amz-Algorithm=AWS4-HMAC-SHA256
&X-Amz-Credential=AKIAIOSFODNN7EXAMPLE/20190817/us-east-2/redshift/aws4_request
&X-Amz-Date=20190825T160000Z
&X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date
&X-Amz-Signature=0aa1234bb5cc678ddddd901ee2ff3aa45678b90c12d345e6ff789012345a6b7b
```

#### Sample Response
<a name="API_CreateEventSubscription_Example_1_Response"></a>

```
<CreateEventSubscriptionResponse xmlns="http://redshift.amazonaws.com/doc/2012-12-01/">
  <CreateEventSubscriptionResult>
    <EventSubscription>
      <Severity>INFO</Severity>
      <CustSubscriptionId>mysubscription</CustSubscriptionId>
      <SourceType>cluster</SourceType>
      <SnsTopicArn>arn:aws:sns:us-east-2:123456789012:MySNStopic</SnsTopicArn>
      <SourceIdsList>
        <SourceId>mycluster</SourceId>
      </SourceIdsList>
      <EventCategoriesList/>
      <SubscriptionCreationTime>2019-12-26T22:58:57.382Z</SubscriptionCreationTime>
      <Enabled>true</Enabled>
      <Tags/>
      <Status>active</Status>
      <CustomerAwsId>123456789012</CustomerAwsId>
    </EventSubscription>
  </CreateEventSubscriptionResult>
  <ResponseMetadata>
    <RequestId>4c096ab5-2833-11ea-a940-1b28a85fd753</RequestId>
  </ResponseMetadata>
</CreateEventSubscriptionResponse>
```

## See Also
<a name="API_CreateEventSubscription_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/redshift-2012-12-01/CreateEventSubscription) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/redshift-2012-12-01/CreateEventSubscription) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/redshift-2012-12-01/CreateEventSubscription) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/redshift-2012-12-01/CreateEventSubscription) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/redshift-2012-12-01/CreateEventSubscription) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/redshift-2012-12-01/CreateEventSubscription) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/redshift-2012-12-01/CreateEventSubscription) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/redshift-2012-12-01/CreateEventSubscription) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/redshift-2012-12-01/CreateEventSubscription) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/redshift-2012-12-01/CreateEventSubscription) 