event_subscriptions
Creates, updates, deletes or gets an event_subscription resource or lists event_subscriptions in a region
Overview
| Name | event_subscriptions |
| Type | Resource |
| Description | The AWS::RDS::EventSubscription resource allows you to receive notifications for Amazon Relational Database Service events through the Amazon Simple Notification Service (Amazon SNS). For more information, see Using Amazon RDS Event Notification in the Amazon RDS User Guide. |
| Id | awscc.rds.event_subscriptions |
Fields
- get (all properties)
- list (identifiers only)
| Name | Datatype | Description |
|---|---|---|
tags | array | An optional array of key-value pairs to apply to this subscription. |
subscription_name | string | The name of the subscription.Constraints: The name must be less than 255 characters. |
enabled | boolean | Specifies whether to activate the subscription. If the event notification subscription isn't activated, the subscription is created but not active. |
event_categories | array | 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 or the Amazon Aurora User Guide. You can also see this list by using the DescribeEventCategories operation. |
sns_topic_arn | string | 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.RDS doesn't support FIFO (first in, first out) topics. For more information, see Message ordering and deduplication (FIFO topics) in the Amazon Simple Notification Service Developer Guide. |
source_ids | array | 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. |
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 Valid Values: |
region | string | AWS region. |
| Name | Datatype | Description |
|---|---|---|
subscription_name | string | The name of the subscription.Constraints: The name must be less than 255 characters. |
region | string | AWS region. |
For more information, see AWS::RDS::EventSubscription.
Methods
| Name | Resource | Accessible by | Required Params |
|---|---|---|---|
create_resource | event_subscriptions | INSERT | SnsTopicArn, region |
delete_resource | event_subscriptions | DELETE | Identifier, region |
update_resource | event_subscriptions | UPDATE | Identifier, PatchDocument, region |
list_resources | event_subscriptions_list_only | SELECT | region |
get_resource | event_subscriptions | SELECT | Identifier, region |
SELECT examples
- get (all properties)
- list (identifiers only)
Gets all properties from an individual event_subscription.
SELECT
region,
tags,
subscription_name,
enabled,
event_categories,
sns_topic_arn,
source_ids,
source_type
FROM awscc.rds.event_subscriptions
WHERE
region = '{{ region }}' AND
Identifier = '{{ subscription_name }}';
Lists all event_subscriptions in a region.
SELECT
region,
subscription_name
FROM awscc.rds.event_subscriptions_list_only
WHERE
region = '{{ region }}';
INSERT example
Use the following StackQL query and manifest file to create a new event_subscription resource, using stack-deploy.
- Required Properties
- All Properties
- Manifest
/*+ create */
INSERT INTO awscc.rds.event_subscriptions (
SnsTopicArn,
region
)
SELECT
'{{ sns_topic_arn }}',
'{{ region }}'
RETURNING
ErrorCode,
EventTime,
Identifier,
Operation,
OperationStatus,
RequestToken,
ResourceModel,
RetryAfter,
StatusMessage,
TypeName
;
/*+ create */
INSERT INTO awscc.rds.event_subscriptions (
Tags,
SubscriptionName,
Enabled,
EventCategories,
SnsTopicArn,
SourceIds,
SourceType,
region
)
SELECT
'{{ tags }}',
'{{ subscription_name }}',
'{{ enabled }}',
'{{ event_categories }}',
'{{ sns_topic_arn }}',
'{{ source_ids }}',
'{{ source_type }}',
'{{ region }}'
RETURNING
ErrorCode,
EventTime,
Identifier,
Operation,
OperationStatus,
RequestToken,
ResourceModel,
RetryAfter,
StatusMessage,
TypeName
;
version: 1
name: stack name
description: stack description
providers:
- aws
globals:
- name: region
value: '{{ vars.AWS_REGION }}'
resources:
- name: event_subscription
props:
- name: tags
value:
- key: '{{ key }}'
value: '{{ value }}'
- name: subscription_name
value: '{{ subscription_name }}'
- name: enabled
value: '{{ enabled }}'
- name: event_categories
value:
- '{{ event_categories[0] }}'
- name: sns_topic_arn
value: '{{ sns_topic_arn }}'
- name: source_ids
value:
- '{{ source_ids[0] }}'
- name: source_type
value: '{{ source_type }}'
UPDATE example
Use the following StackQL query and manifest file to update a event_subscription resource, using stack-deploy.
/*+ update */
UPDATE awscc.rds.event_subscriptions
SET PatchDocument = string('{{ {
"Tags": tags,
"Enabled": enabled,
"EventCategories": event_categories,
"SourceIds": source_ids,
"SourceType": source_type
} | generate_patch_document }}')
WHERE
region = '{{ region }}' AND
Identifier = '{{ subscription_name }}'
RETURNING
ErrorCode,
EventTime,
Identifier,
Operation,
OperationStatus,
RequestToken,
ResourceModel,
RetryAfter,
StatusMessage,
TypeName
;
DELETE example
/*+ delete */
DELETE FROM awscc.rds.event_subscriptions
WHERE
Identifier = '{{ subscription_name }}' AND
region = '{{ region }}'
RETURNING
ErrorCode,
EventTime,
Identifier,
Operation,
OperationStatus,
RequestToken,
ResourceModel,
RetryAfter,
StatusMessage,
TypeName
;
Additional Parameters
Mutable resources in the Cloud Control provider support additional optional parameters which can be supplied with INSERT, UPDATE, or DELETE operations. These include:
| Parameter | Description |
|---|---|
ClientToken | A unique identifier to ensure the idempotency of the resource request.This allows the provider to accurately distinguish between retries and new requests.A client token is valid for 36 hours once used. After that, a resource request with the same client token is treated as a new request. If you do not specify a client token, one is generated for inclusion in the request. |
RoleArn | The ARN of the IAM role used to perform this resource operation.The role specified must have the permissions required for this operation.If you do not specify a role, a temporary session is created using your AWS user credentials. |
TypeVersionId | For private resource types, the type version to use in this resource operation.If you do not specify a resource version, the default version is used. |
Permissions
To operate on the event_subscriptions resource, the following permissions are required:
- Create
- Read
- Update
- Delete
- List
iam:CreateServiceLinkedRole,
rds:CreateEventSubscription,
rds:DescribeEventSubscriptions,
rds:ListTagsForResource,
rds:AddTagsToResource,
rds:RemoveTagsFromResource
rds:DescribeEventSubscriptions,
rds:ListTagsForResource
rds:ModifyEventSubscription,
rds:AddSourceIdentifierToSubscription,
rds:RemoveSourceIdentifierFromSubscription,
rds:DescribeEventSubscriptions,
rds:ListTagsForResource,
rds:AddTagsToResource,
rds:RemoveTagsFromResource
rds:DeleteEventSubscription,
rds:DescribeEventSubscriptions
rds:DescribeEventSubscriptions