<a id="cli-aws-rds-create-event-subscription"></a>

# create-event-subscription

## Description

Creates an RDS event notification subscription. This operation requires a topic Amazon Resource Name (ARN) created by either the RDS console, the SNS console, or the SNS API. To obtain an ARN with 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 type of source (`SourceType` ) that you want to be notified of and provide a list of RDS sources (`SourceIds` ) that triggers the events. You can also provide a list of event categories (`EventCategories` ) for events that you want to be notified of. For example, you can specify `SourceType` = `db-instance` , `SourceIds` = `mydbinstance1` , `mydbinstance2` and `EventCategories` = `Availability` , `Backup` .

If you specify both the `SourceType` and `SourceIds` , such as `SourceType` = `db-instance` and `SourceIds` = `myDBInstance1` , you are notified of all the `db-instance` events for the specified source. If you specify a `SourceType` but do not specify `SourceIds` , you receive notice of the events for that source type for all your RDS sources. If you don’t specify either the SourceType or the `SourceIds` , you are notified of events generated from all RDS sources belonging to your customer account.

For more information about subscribing to an event for RDS DB engines, see [Subscribing to Amazon RDS event notification](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.Subscribing.html) in the *Amazon RDS User Guide* .

For more information about subscribing to an event for Aurora DB engines, see [Subscribing to Amazon RDS event notification](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_Events.Subscribing.html) in the *Amazon Aurora User Guide* .

See also: [AWS API Documentation](https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateEventSubscription)

## Synopsis

```
  create-event-subscription
--subscription-name <value>
--sns-topic-arn <value>
[--source-type <value>]
[--event-categories <value>]
[--source-ids <value>]
[--enabled | --no-enabled]
[--tags <value>]
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]
[--debug]
[--endpoint-url <value>]
[--no-verify-ssl]
[--no-paginate]
[--output <value>]
[--query <value>]
[--profile <value>]
[--region <value>]
[--version <value>]
[--color <value>]
[--no-sign-request]
[--ca-bundle <value>]
[--cli-read-timeout <value>]
[--cli-connect-timeout <value>]
[--cli-binary-format <value>]
[--no-cli-pager]
[--cli-auto-prompt]
[--no-cli-auto-prompt]
[--cli-error-format <value>]
[--help]
```

## Options

`--subscription-name` (string) [required]

> The name of the subscription.

> Constraints: The name must be less than 255 characters.

`--sns-topic-arn` (string) [required]

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

> #### NOTE
> RDS doesn’t support FIFO (first in, first out) topics. For more information, see [Message ordering and deduplication (FIFO topics)](https://docs.aws.amazon.com/sns/latest/dg/sns-fifo-topics.html) in the *Amazon Simple Notification Service Developer Guide* .

`--source-type` (string)

> 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 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`

`--event-categories` (list)

> A list of event categories for a particular source type (`SourceType` ) that you want to subscribe to. You can see a list of the categories for a given source type in the “Amazon RDS event categories and event messages” section of the \` *Amazon RDS User Guide* [https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.Messages](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.Messages).html\`_\_ or the \` *Amazon Aurora User Guide* [https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_Events.Messages](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_Events.Messages).html\`_\_ . You can also see this list by using the `DescribeEventCategories` operation.

> (string)

Syntax:

```
"string" "string" ...
```

`--source-ids` (list)

> The list of identifiers of the event sources for which events are returned. If not specified, then all sources are included in the response. An identifier must begin with a letter and must contain only ASCII letters, digits, and hyphens. It can’t end with a hyphen or contain two consecutive hyphens.

> Constraints:

> * If `SourceIds` are supplied, `SourceType` must also be provided.
> * If the source type is a DB instance, a `DBInstanceIdentifier` value must be supplied.
> * If the source type is a DB cluster, a `DBClusterIdentifier` value must be supplied.
> * If the source type is a DB parameter group, a `DBParameterGroupName` value must be supplied.
> * If the source type is a DB security group, a `DBSecurityGroupName` value must be supplied.
> * If the source type is a DB snapshot, a `DBSnapshotIdentifier` value must be supplied.
> * If the source type is a DB cluster snapshot, a `DBClusterSnapshotIdentifier` value must be supplied.
> * If the source type is an RDS Proxy, a `DBProxyName` value must be supplied.

> (string)

Syntax:

```
"string" "string" ...
```

`--enabled` | `--no-enabled` (boolean)

> Specifies whether to activate the subscription. If the event notification subscription isn’t activated, the subscription is created but not active.

`--tags` (list)

> A list of tags.

> For more information, see [Tagging Amazon RDS resources](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html) in the *Amazon RDS User Guide* or [Tagging Amazon Aurora and Amazon RDS resources](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_Tagging.html) in the *Amazon Aurora User Guide* .

> (structure)

> > Metadata assigned to an Amazon RDS resource consisting of a key-value pair.

> > For more information, see [Tagging Amazon RDS resources](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html) in the *Amazon RDS User Guide* or [Tagging Amazon Aurora and Amazon RDS resources](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_Tagging.html) in the *Amazon Aurora User Guide* .

> > Key -> (string)

> > > A key is the required name of the tag. The string value can be from 1 to 128 Unicode characters in length and can’t be prefixed with `aws:` or `rds:` . The string can only contain only the set of Unicode letters, digits, white-space, ‘_’, ‘.’, ‘:’, ‘/’, ‘=’, ‘+’, ‘-’, ‘@’ (Java regex: “^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]\*)$”).

> > Value -> (string)

> > > A value is the optional value of the tag. The string value can be from 1 to 256 Unicode characters in length and can’t be prefixed with `aws:` or `rds:` . The string can only contain only the set of Unicode letters, digits, white-space, ‘_’, ‘.’, ‘:’, ‘/’, ‘=’, ‘+’, ‘-’, ‘@’ (Java regex: “^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]\*)$”).

Shorthand Syntax:

```
Key=string,Value=string ...
```

JSON Syntax:

```json
[
  {
    "Key": "string",
    "Value": "string"
  }
  ...
]
```

`--cli-input-json` | `--cli-input-yaml` (string)
Reads arguments from the JSON string provided. The JSON string follows the format provided by `--generate-cli-skeleton`. If other arguments are provided on the command line, those values will override the JSON-provided values. It is not possible to pass arbitrary binary values using a JSON-provided value as the string will be taken literally. This may not be specified along with `--cli-input-yaml`.

`--generate-cli-skeleton` (string)
Prints a JSON skeleton to standard output without sending an API request. If provided with no value or the value `input`, prints a sample input JSON that can be used as an argument for `--cli-input-json`. Similarly, if provided `yaml-input` it will print a sample input YAML that can be used with `--cli-input-yaml`. If provided with the value `output`, it validates the command inputs and returns a sample output JSON for that command. The generated JSON skeleton is not stable between versions of the AWS CLI and there are no backwards compatibility guarantees in the JSON skeleton generated.

## Global Options

`--debug` (boolean)

Turn on debug logging.

`--endpoint-url` (string)

Override command’s default URL with the given URL.

`--no-verify-ssl` (boolean)

By default, the AWS CLI uses SSL when communicating with AWS services. For each SSL connection, the AWS CLI will verify SSL certificates. This option overrides the default behavior of verifying SSL certificates.

`--no-paginate` (boolean)

Disable automatic pagination. If automatic pagination is disabled, the AWS CLI will only make one call, for the first page of results.

`--output` (string)

The formatting style for command output.

* json
* text
* table
* yaml
* yaml-stream
* off

`--query` (string)

A JMESPath query to use in filtering the response data.

`--profile` (string)

Use a specific profile from your credential file.

`--region` (string)

The region to use. Overrides config/env settings.

`--version` (string)

Display the version of this tool.

`--color` (string)

Turn on/off color output.

* on
* off
* auto

`--no-sign-request` (boolean)

Do not sign requests. Credentials will not be loaded if this argument is provided.

`--ca-bundle` (string)

The CA certificate bundle to use when verifying SSL certificates. Overrides config/env settings.

`--cli-read-timeout` (int)

The maximum socket read time in seconds. If the value is set to 0, the socket read will be blocking and not timeout. The default value is 60 seconds.

`--cli-connect-timeout` (int)

The maximum socket connect time in seconds. If the value is set to 0, the socket connect will be blocking and not timeout. The default value is 60 seconds.

`--cli-binary-format` (string)

The formatting style to be used for binary blobs. The default format is base64. The base64 format expects binary blobs to be provided as a base64 encoded string. The raw-in-base64-out format preserves compatibility with AWS CLI V1 behavior and binary values must be passed literally. When providing contents from a file that map to a binary blob `fileb://` will always be treated as binary and use the file contents directly regardless of the `cli-binary-format` setting. When using `file://` the file contents will need to properly formatted for the configured `cli-binary-format`.

* base64
* raw-in-base64-out

`--no-cli-pager` (boolean)

Disable cli pager for output.

`--cli-auto-prompt` (boolean)

Automatically prompt for CLI input parameters.

`--no-cli-auto-prompt` (boolean)

Disable automatically prompt for CLI input parameters.

`--cli-error-format` (string)

The formatting style for error output. By default, errors are displayed in enhanced format.

* legacy
* json
* yaml
* text
* table
* enhanced

`--help` (boolean)

Display help for the command/subcommand.

## Examples

#### NOTE
To use the following examples, you must have the AWS CLI installed and configured. See the [Getting started guide](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html) in the *AWS CLI User Guide* for more information.

Unless otherwise stated, all examples have unix-like quotation rules. These examples will need to be adapted to your terminal’s quoting rules. See [Using quotation marks with strings](https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-parameters-quoting-strings.html) in the *AWS CLI User Guide* .

**To create an event subscription**

The following `create-event-subscription` example creates a subscription for backup and recovery events for DB instances in the current AWS account. Notifications are sent to an Amazon Simple Notification Service topic, specified by `--sns-topic-arn`.

```bash
aws rds create-event-subscription \
    --subscription-name my-instance-events \
    --source-type db-instance \
    --event-categories '["backup","recovery"]' \
    --sns-topic-arn arn:aws:sns:us-west-2:123456789012:interesting-events
```

Output:

```json
{
    "EventSubscription": {
        "Status": "creating",
        "CustSubscriptionId": "my-instance-events",
        "SubscriptionCreationTime": "Tue Jul 31 23:22:01 UTC 2018",
        "EventCategoriesList": [
            "backup",
            "recovery"
        ],
        "SnsTopicArn": "arn:aws:sns:us-west-2:123456789012:interesting-events",
        "CustomerAwsId": "123456789012",
        "EventSubscriptionArn": "arn:aws:rds:us-west-2:123456789012:es:my-instance-events",
        "SourceType": "db-instance",
        "Enabled": true
    }
}
```

For more information, see [Subscribing to Amazon RDS event notification](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.Subscribing.html) in the *Amazon RDS User Guide*.

## Output

EventSubscription -> (structure)

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