Namespace Pulumi.Aws.RedShift
Classes
Cluster
Provides a Redshift Cluster Resource.
Note: All arguments including the username and password will be stored in the raw state as plain-text. Read more about sensitive data in state.
Example Usage
using Pulumi;
using Aws = Pulumi.Aws;
class MyStack : Stack
{
public MyStack()
{
var @default = new Aws.RedShift.Cluster("default", new Aws.RedShift.ClusterArgs
{
ClusterIdentifier = "tf-redshift-cluster",
ClusterType = "single-node",
DatabaseName = "mydb",
MasterPassword = "Mustbe8characters",
MasterUsername = "foo",
NodeType = "dc1.large",
});
}
}
ClusterArgs
ClusterState
EventSubscription
Provides a Redshift event subscription resource.
Example Usage
using Pulumi;
using Aws = Pulumi.Aws;
class MyStack : Stack
{
public MyStack()
{
var defaultCluster = new Aws.RedShift.Cluster("defaultCluster", new Aws.RedShift.ClusterArgs
{
ClusterIdentifier = "default",
DatabaseName = "default",
});
var defaultTopic = new Aws.Sns.Topic("defaultTopic", new Aws.Sns.TopicArgs
{
});
var defaultEventSubscription = new Aws.RedShift.EventSubscription("defaultEventSubscription", new Aws.RedShift.EventSubscriptionArgs
{
EventCategories =
{
"configuration",
"management",
"monitoring",
"security",
},
Severity = "INFO",
SnsTopicArn = defaultTopic.Arn,
SourceIds =
{
defaultCluster.Id,
},
SourceType = "cluster",
Tags =
{
{ "Name", "default" },
},
});
}
}
Attributes
The following additional atttributes are provided:
arn- Amazon Resource Name (ARN) of the Redshift event notification subscriptionid- The name of the Redshift event notification subscriptioncustomer_aws_id- The AWS customer account associated with the Redshift event notification subscription
EventSubscriptionArgs
EventSubscriptionState
GetCluster
GetClusterArgs
GetClusterResult
GetServiceAccount
GetServiceAccountArgs
GetServiceAccountResult
ParameterGroup
Provides a Redshift Cluster parameter group resource.
Example Usage
using Pulumi;
using Aws = Pulumi.Aws;
class MyStack : Stack
{
public MyStack()
{
var bar = new Aws.RedShift.ParameterGroup("bar", new Aws.RedShift.ParameterGroupArgs
{
Family = "redshift-1.0",
Parameters =
{
new Aws.RedShift.Inputs.ParameterGroupParameterArgs
{
Name = "require_ssl",
Value = "true",
},
new Aws.RedShift.Inputs.ParameterGroupParameterArgs
{
Name = "query_group",
Value = "example",
},
new Aws.RedShift.Inputs.ParameterGroupParameterArgs
{
Name = "enable_user_activity_logging",
Value = "true",
},
},
});
}
}
ParameterGroupArgs
ParameterGroupState
SecurityGroup
Creates a new Amazon Redshift security group. You use security groups to control access to non-VPC clusters
Example Usage
using Pulumi;
using Aws = Pulumi.Aws;
class MyStack : Stack
{
public MyStack()
{
var @default = new Aws.RedShift.SecurityGroup("default", new Aws.RedShift.SecurityGroupArgs
{
Ingress =
{
new Aws.RedShift.Inputs.SecurityGroupIngressArgs
{
Cidr = "10.0.0.0/24",
},
},
});
}
}
SecurityGroupArgs
SecurityGroupState
SnapshotCopyGrant
Creates a snapshot copy grant that allows AWS Redshift to encrypt copied snapshots with a customer master key from AWS KMS in a destination region.
Note that the grant must exist in the destination region, and not in the region of the cluster.
Example Usage
using Pulumi;
using Aws = Pulumi.Aws;
class MyStack : Stack
{
public MyStack()
{
var testSnapshotCopyGrant = new Aws.RedShift.SnapshotCopyGrant("testSnapshotCopyGrant", new Aws.RedShift.SnapshotCopyGrantArgs
{
SnapshotCopyGrantName = "my-grant",
});
var testCluster = new Aws.RedShift.Cluster("testCluster", new Aws.RedShift.ClusterArgs
{
SnapshotCopy = new Aws.RedShift.Inputs.ClusterSnapshotCopyArgs
{
DestinationRegion = "us-east-2",
GrantName = testSnapshotCopyGrant.SnapshotCopyGrantName,
},
});
}
}
SnapshotCopyGrantArgs
SnapshotCopyGrantState
SnapshotSchedule
Example Usage
using Pulumi;
using Aws = Pulumi.Aws;
class MyStack : Stack
{
public MyStack()
{
var @default = new Aws.RedShift.SnapshotSchedule("default", new Aws.RedShift.SnapshotScheduleArgs
{
Definitions =
{
"rate(12 hours)",
},
Identifier = "tf-redshift-snapshot-schedule",
});
}
}
SnapshotScheduleArgs
SnapshotScheduleAssociation
Example Usage
using Pulumi;
using Aws = Pulumi.Aws;
class MyStack : Stack
{
public MyStack()
{
var defaultCluster = new Aws.RedShift.Cluster("defaultCluster", new Aws.RedShift.ClusterArgs
{
ClusterIdentifier = "tf-redshift-cluster",
ClusterType = "single-node",
DatabaseName = "mydb",
MasterPassword = "Mustbe8characters",
MasterUsername = "foo",
NodeType = "dc1.large",
});
var defaultSnapshotSchedule = new Aws.RedShift.SnapshotSchedule("defaultSnapshotSchedule", new Aws.RedShift.SnapshotScheduleArgs
{
Definitions =
{
"rate(12 hours)",
},
Identifier = "tf-redshift-snapshot-schedule",
});
var defaultSnapshotScheduleAssociation = new Aws.RedShift.SnapshotScheduleAssociation("defaultSnapshotScheduleAssociation", new Aws.RedShift.SnapshotScheduleAssociationArgs
{
ClusterIdentifier = defaultCluster.Id,
ScheduleIdentifier = defaultSnapshotSchedule.Id,
});
}
}
SnapshotScheduleAssociationArgs
SnapshotScheduleAssociationState
SnapshotScheduleState
SubnetGroup
Creates a new Amazon Redshift subnet group. You must provide a list of one or more subnets in your existing Amazon Virtual Private Cloud (Amazon VPC) when creating Amazon Redshift subnet group.
Example Usage
using Pulumi;
using Aws = Pulumi.Aws;
class MyStack : Stack
{
public MyStack()
{
var fooVpc = new Aws.Ec2.Vpc("fooVpc", new Aws.Ec2.VpcArgs
{
CidrBlock = "10.1.0.0/16",
});
var fooSubnet = new Aws.Ec2.Subnet("fooSubnet", new Aws.Ec2.SubnetArgs
{
AvailabilityZone = "us-west-2a",
CidrBlock = "10.1.1.0/24",
Tags =
{
{ "Name", "tf-dbsubnet-test-1" },
},
VpcId = fooVpc.Id,
});
var bar = new Aws.Ec2.Subnet("bar", new Aws.Ec2.SubnetArgs
{
AvailabilityZone = "us-west-2b",
CidrBlock = "10.1.2.0/24",
Tags =
{
{ "Name", "tf-dbsubnet-test-2" },
},
VpcId = fooVpc.Id,
});
var fooSubnetGroup = new Aws.RedShift.SubnetGroup("fooSubnetGroup", new Aws.RedShift.SubnetGroupArgs
{
SubnetIds =
{
fooSubnet.Id,
bar.Id,
},
Tags =
{
{ "environment", "Production" },
},
});
}
}