Ctrl + k

or run

tessl search
Log in

Version

Workspace
tessl
Visibility
Public
Created
Last updated
Describes
mavenpkg:maven/com.pulumi/aws@7.16.x

docs

common-patterns.mdgetting-started.mdindex.mdprovider.md
tile.json

tessl/maven-com-pulumi--aws

tessl install tessl/maven-com-pulumi--aws@7.16.0

Pulumi Java SDK for AWS providing strongly-typed Infrastructure-as-Code for 227 AWS service packages including compute, storage, databases, networking, security, analytics, machine learning, and more.

redshift.mddocs/services/databases/

Redshift

Amazon Redshift provides data warehousing service.

Core Imports

import com.pulumi.aws.redshift.Cluster;
import com.pulumi.aws.redshift.ClusterArgs;
import com.pulumi.aws.redshift.SubnetGroup;
import com.pulumi.aws.redshift.SubnetGroupArgs;
import com.pulumi.aws.redshift.ParameterGroup;
import com.pulumi.aws.redshift.ParameterGroupArgs;

Cluster Resource

@ResourceType(type="aws:redshift/cluster:Cluster")
public class Cluster extends com.pulumi.resources.CustomResource {
    public Cluster(String name, ClusterArgs args);

    public Output<String> id();
    public Output<String> arn();
    public Output<String> clusterIdentifier();
    public Output<String> databaseName();
    public Output<String> masterUsername();
    public Output<String> nodeType();
    public Output<Integer> numberOfNodes();
    public Output<String> endpoint();
    public Output<Integer> port();
}

public class ClusterArgs extends com.pulumi.resources.ResourceArgs {
    public static Builder builder() { return new Builder(); }

    public static final class Builder {
        public Builder clusterIdentifier(Output<String> clusterIdentifier);
        public Builder databaseName(Output<String> databaseName);
        public Builder masterUsername(Output<String> masterUsername);
        public Builder masterPassword(Output<String> masterPassword);
        public Builder nodeType(Output<String> nodeType);
        public Builder numberOfNodes(Output<Integer> numberOfNodes);
        public Builder clusterType(Output<String> clusterType);
        public Builder clusterSubnetGroupName(Output<String> clusterSubnetGroupName);
        public Builder vpcSecurityGroupIds(Output<List<String>> vpcSecurityGroupIds);
        public Builder encrypted(Output<Boolean> encrypted);
        public Builder kmsKeyId(Output<String> kmsKeyId);
        public Builder publiclyAccessible(Output<Boolean> publiclyAccessible);
        public Builder tags(Output<Map<String, String>> tags);

        public ClusterArgs build();
    }
}

Usage Example

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.aws.redshift.*;
import java.util.Map;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        // Create subnet group
        var subnetGroup = new SubnetGroup("redshift-subnet-group",
            SubnetGroupArgs.builder()
                .name("my-redshift-subnet-group")
                .subnetIds(privateSubnetIds)
                .build());

        // Create Redshift cluster
        var cluster = new Cluster("data-warehouse", ClusterArgs.builder()
            .clusterIdentifier("my-data-warehouse")
            .databaseName("analytics")
            .masterUsername("admin")
            .masterPassword(dbPassword)
            .nodeType("ra3.xlplus")
            .numberOfNodes(2)
            .clusterType("multi-node")
            .clusterSubnetGroupName(subnetGroup.name())
            .vpcSecurityGroupIds(redshiftSecurityGroup.id().applyValue(List::of))
            .encrypted(true)
            .publiclyAccessible(false)
            .tags(Map.of("Environment", "Production"))
            .build());

        ctx.export("redshiftEndpoint", cluster.endpoint());
    }
}