Show / Hide Table of Contents

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 subscription
  • id - The name of the Redshift event notification subscription
  • customer_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" },
        },
    });
}

}

SubnetGroupArgs

SubnetGroupState

Back to top Copyright 2016-2020, Pulumi Corporation.