Event Subscription Args
data class EventSubscriptionArgs(val enabled: Output<Boolean>? = null, val eventCategories: Output<List<String>>? = null, val name: Output<String>? = null, val namePrefix: Output<String>? = null, val snsTopic: Output<String>? = null, val sourceIds: Output<List<String>>? = null, val sourceType: Output<String>? = null, val tags: Output<Map<String, String>>? = null) : ConvertibleToJava<EventSubscriptionArgs>
Provides a DB event subscription resource.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const _default = new aws.rds.Instance("default", {
allocatedStorage: 10,
engine: "mysql",
engineVersion: "5.6.17",
instanceClass: aws.rds.InstanceType.T2_Micro,
dbName: "mydb",
username: "foo",
password: "bar",
dbSubnetGroupName: "my_database_subnet_group",
parameterGroupName: "default.mysql5.6",
});
const defaultTopic = new aws.sns.Topic("default", {name: "rds-events"});
const defaultEventSubscription = new aws.rds.EventSubscription("default", {
name: "rds-event-sub",
snsTopic: defaultTopic.arn,
sourceType: "db-instance",
sourceIds: [_default.identifier],
eventCategories: [
"availability",
"deletion",
"failover",
"failure",
"low storage",
"maintenance",
"notification",
"read replica",
"recovery",
"restoration",
],
});
Content copied to clipboard
import pulumi
import pulumi_aws as aws
default = aws.rds.Instance("default",
allocated_storage=10,
engine="mysql",
engine_version="5.6.17",
instance_class=aws.rds.InstanceType.T2_MICRO,
db_name="mydb",
username="foo",
password="bar",
db_subnet_group_name="my_database_subnet_group",
parameter_group_name="default.mysql5.6")
default_topic = aws.sns.Topic("default", name="rds-events")
default_event_subscription = aws.rds.EventSubscription("default",
name="rds-event-sub",
sns_topic=default_topic.arn,
source_type="db-instance",
source_ids=[default.identifier],
event_categories=[
"availability",
"deletion",
"failover",
"failure",
"low storage",
"maintenance",
"notification",
"read replica",
"recovery",
"restoration",
])
Content copied to clipboard
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var @default = new Aws.Rds.Instance("default", new()
{
AllocatedStorage = 10,
Engine = "mysql",
EngineVersion = "5.6.17",
InstanceClass = Aws.Rds.InstanceType.T2_Micro,
DbName = "mydb",
Username = "foo",
Password = "bar",
DbSubnetGroupName = "my_database_subnet_group",
ParameterGroupName = "default.mysql5.6",
});
var defaultTopic = new Aws.Sns.Topic("default", new()
{
Name = "rds-events",
});
var defaultEventSubscription = new Aws.Rds.EventSubscription("default", new()
{
Name = "rds-event-sub",
SnsTopic = defaultTopic.Arn,
SourceType = "db-instance",
SourceIds = new[]
{
@default.Identifier,
},
EventCategories = new[]
{
"availability",
"deletion",
"failover",
"failure",
"low storage",
"maintenance",
"notification",
"read replica",
"recovery",
"restoration",
},
});
});
Content copied to clipboard
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds"
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_default, err := rds.NewInstance(ctx, "default", &rds.InstanceArgs{
AllocatedStorage: pulumi.Int(10),
Engine: pulumi.String("mysql"),
EngineVersion: pulumi.String("5.6.17"),
InstanceClass: pulumi.String(rds.InstanceType_T2_Micro),
DbName: pulumi.String("mydb"),
Username: pulumi.String("foo"),
Password: pulumi.String("bar"),
DbSubnetGroupName: pulumi.String("my_database_subnet_group"),
ParameterGroupName: pulumi.String("default.mysql5.6"),
})
if err != nil {
return err
}
defaultTopic, err := sns.NewTopic(ctx, "default", &sns.TopicArgs{
Name: pulumi.String("rds-events"),
})
if err != nil {
return err
}
_, err = rds.NewEventSubscription(ctx, "default", &rds.EventSubscriptionArgs{
Name: pulumi.String("rds-event-sub"),
SnsTopic: defaultTopic.Arn,
SourceType: pulumi.String("db-instance"),
SourceIds: pulumi.StringArray{
_default.Identifier,
},
EventCategories: pulumi.StringArray{
pulumi.String("availability"),
pulumi.String("deletion"),
pulumi.String("failover"),
pulumi.String("failure"),
pulumi.String("low storage"),
pulumi.String("maintenance"),
pulumi.String("notification"),
pulumi.String("read replica"),
pulumi.String("recovery"),
pulumi.String("restoration"),
},
})
if err != nil {
return err
}
return nil
})
}
Content copied to clipboard
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.rds.Instance;
import com.pulumi.aws.rds.InstanceArgs;
import com.pulumi.aws.sns.Topic;
import com.pulumi.aws.sns.TopicArgs;
import com.pulumi.aws.rds.EventSubscription;
import com.pulumi.aws.rds.EventSubscriptionArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var default_ = new Instance("default", InstanceArgs.builder()
.allocatedStorage(10)
.engine("mysql")
.engineVersion("5.6.17")
.instanceClass("db.t2.micro")
.dbName("mydb")
.username("foo")
.password("bar")
.dbSubnetGroupName("my_database_subnet_group")
.parameterGroupName("default.mysql5.6")
.build());
var defaultTopic = new Topic("defaultTopic", TopicArgs.builder()
.name("rds-events")
.build());
var defaultEventSubscription = new EventSubscription("defaultEventSubscription", EventSubscriptionArgs.builder()
.name("rds-event-sub")
.snsTopic(defaultTopic.arn())
.sourceType("db-instance")
.sourceIds(default_.identifier())
.eventCategories(
"availability",
"deletion",
"failover",
"failure",
"low storage",
"maintenance",
"notification",
"read replica",
"recovery",
"restoration")
.build());
}
}
Content copied to clipboard
resources:
default:
type: aws:rds:Instance
properties:
allocatedStorage: 10
engine: mysql
engineVersion: 5.6.17
instanceClass: db.t2.micro
dbName: mydb
username: foo
password: bar
dbSubnetGroupName: my_database_subnet_group
parameterGroupName: default.mysql5.6
defaultTopic:
type: aws:sns:Topic
name: default
properties:
name: rds-events
defaultEventSubscription:
type: aws:rds:EventSubscription
name: default
properties:
name: rds-event-sub
snsTopic: ${defaultTopic.arn}
sourceType: db-instance
sourceIds:
- ${default.identifier}
eventCategories:
- availability
- deletion
- failover
- failure
- low storage
- maintenance
- notification
- read replica
- recovery
- restoration
Content copied to clipboard
Import
Using pulumi import
, import DB Event Subscriptions using the name
. For example:
$ pulumi import aws:rds/eventSubscription:EventSubscription default rds-event-sub
Content copied to clipboard
Constructors
Link copied to clipboard
constructor(enabled: Output<Boolean>? = null, eventCategories: Output<List<String>>? = null, name: Output<String>? = null, namePrefix: Output<String>? = null, snsTopic: Output<String>? = null, sourceIds: Output<List<String>>? = null, sourceType: Output<String>? = null, tags: Output<Map<String, String>>? = null)
Properties
Link copied to clipboard
A list of event categories for a SourceType that you want to subscribe to. See http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.html or run aws rds describe-event-categories
.
Link copied to clipboard
The name of the DB event subscription. Conflicts with name
.
Link copied to clipboard
The type of source that will be generating the events. Valid options are db-instance
, db-security-group
, db-parameter-group
, db-snapshot
, db-cluster
, db-cluster-snapshot
, or db-proxy
. If not set, all sources will be subscribed to.