

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

 Creates an AWS DMS event notification subscription. 

You can specify the type of source (`SourceType`) you want to be notified of, provide a list of AWS DMS source IDs (`SourceIds`) that triggers the events, and provide a list of event categories (`EventCategories`) for events you want to be notified of. If you specify both the `SourceType` and `SourceIds`, such as `SourceType = replication-instance` and `SourceIdentifier = my-replinstance`, you will be notified of all the replication instance events for the specified source. If you specify a `SourceType` but don't specify a `SourceIdentifier`, you receive notice of the events for that source type for all your AWS DMS sources. If you don't specify either `SourceType` nor `SourceIdentifier`, you will be notified of events generated from all AWS DMS sources belonging to your customer account.

For more information about AWS DMS events, see [Working with Events and Notifications](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Events.html) in the * AWS Database Migration Service User Guide.* 

## Request Syntax
<a name="API_CreateEventSubscription_RequestSyntax"></a>

```
{
   "Enabled": boolean,
   "EventCategories": [ "string" ],
   "SnsTopicArn": "string",
   "SourceIds": [ "string" ],
   "SourceType": "string",
   "SubscriptionName": "string",
   "Tags": [ 
      { 
         "Key": "string",
         "ResourceArn": "string",
         "Value": "string"
      }
   ]
}
```

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

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

The request accepts the following data in JSON format.

 ** [Enabled](#API_CreateEventSubscription_RequestSyntax) **   <a name="DMS-CreateEventSubscription-request-Enabled"></a>
 A Boolean value; set to `true` to activate the subscription, or set to `false` to create the subscription but not activate it.   
Type: Boolean  
Required: No

 ** [EventCategories](#API_CreateEventSubscription_RequestSyntax) **   <a name="DMS-CreateEventSubscription-request-EventCategories"></a>
A list of event categories for a source type that you want to subscribe to. For more information, see [Working with Events and Notifications](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Events.html) in the * AWS Database Migration Service User Guide.*   
Type: Array of strings  
Required: No

 ** [SnsTopicArn](#API_CreateEventSubscription_RequestSyntax) **   <a name="DMS-CreateEventSubscription-request-SnsTopicArn"></a>
 The Amazon Resource Name (ARN) of the Amazon SNS topic created for event notification. The ARN is created by Amazon SNS when you create a topic and subscribe to it.   
Type: String  
Required: Yes

 ** [SourceIds](#API_CreateEventSubscription_RequestSyntax) **   <a name="DMS-CreateEventSubscription-request-SourceIds"></a>
A list of identifiers for which AWS DMS provides notification events.  
If you don't specify a value, notifications are provided for all sources.  
If you specify multiple values, they must be of the same type. For example, if you specify a database instance ID, then all of the other values must be database instance IDs.  
Type: Array of strings  
Required: No

 ** [SourceType](#API_CreateEventSubscription_RequestSyntax) **   <a name="DMS-CreateEventSubscription-request-SourceType"></a>
 The type of AWS DMS resource that generates the events. For example, if you want to be notified of events generated by a replication instance, you set this parameter to `replication-instance`. If this value isn't specified, all events are returned.   
Valid values: `replication-instance` \$1 `replication-task`   
Type: String  
Required: No

 ** [SubscriptionName](#API_CreateEventSubscription_RequestSyntax) **   <a name="DMS-CreateEventSubscription-request-SubscriptionName"></a>
The name of the AWS DMS event notification subscription. This name must be less than 255 characters.  
Type: String  
Required: Yes

 ** [Tags](#API_CreateEventSubscription_RequestSyntax) **   <a name="DMS-CreateEventSubscription-request-Tags"></a>
One or more tags to be assigned to the event subscription.  
Type: Array of [Tag](API_Tag.md) objects  
Required: No

## Response Syntax
<a name="API_CreateEventSubscription_ResponseSyntax"></a>

```
{
   "EventSubscription": { 
      "CustomerAwsId": "string",
      "CustSubscriptionId": "string",
      "Enabled": boolean,
      "EventCategoriesList": [ "string" ],
      "SnsTopicArn": "string",
      "SourceIdsList": [ "string" ],
      "SourceType": "string",
      "Status": "string",
      "SubscriptionCreationTime": "string"
   }
}
```

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

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [EventSubscription](#API_CreateEventSubscription_ResponseSyntax) **   <a name="DMS-CreateEventSubscription-response-EventSubscription"></a>
The event subscription that was created.  
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).

 ** KMSAccessDeniedFault **   
The ciphertext references a key that doesn't exist or that the DMS account doesn't have access to.  
HTTP Status Code: 400

 ** KMSDisabledFault **   
The specified KMS key isn't enabled.  
HTTP Status Code: 400

 ** KMSInvalidStateFault **   
The state of the specified AWS KMS resource isn't valid for this request.  
HTTP Status Code: 400

 ** KMSNotFoundFault **   
The specified AWS KMS entity or resource can't be found.  
HTTP Status Code: 400

 ** KMSThrottlingFault **   
This request triggered AWS KMS request throttling.  
HTTP Status Code: 400

 ** ResourceAlreadyExistsFault **   
The resource you are attempting to create already exists.    
 ** message **   
  
 ** resourceArn **   

HTTP Status Code: 400

 ** ResourceNotFoundFault **   
The resource could not be found.    
 ** message **   

HTTP Status Code: 400

 ** ResourceQuotaExceededFault **   
The quota for this resource quota has been exceeded.    
 ** message **   

HTTP Status Code: 400

 ** SNSInvalidTopicFault **   
The SNS topic is invalid.    
 ** message **   

HTTP Status Code: 400

 ** SNSNoAuthorizationFault **   
You are not authorized for the SNS subscription.    
 ** message **   

HTTP Status Code: 400

## 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/dms-2016-01-01/CreateEventSubscription) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/dms-2016-01-01/CreateEventSubscription) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/dms-2016-01-01/CreateEventSubscription) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/dms-2016-01-01/CreateEventSubscription) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/dms-2016-01-01/CreateEventSubscription) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/dms-2016-01-01/CreateEventSubscription) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/dms-2016-01-01/CreateEventSubscription) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/dms-2016-01-01/CreateEventSubscription) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/dms-2016-01-01/CreateEventSubscription) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/dms-2016-01-01/CreateEventSubscription) 