@pulumi/aws
Version:
A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.
280 lines (279 loc) • 8.13 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
* Provides details about a specific redshift cluster.
*
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as aws from "@pulumi/aws";
*
* const example = aws.redshift.getCluster({
* clusterIdentifier: "example-cluster",
* });
* const exampleStream = new aws.kinesis.FirehoseDeliveryStream("example_stream", {
* name: "kinesis-firehose-example-stream",
* destination: "redshift",
* redshiftConfiguration: {
* roleArn: firehoseRole.arn,
* clusterJdbcurl: Promise.all([example, example]).then(([example, example1]) => `jdbc:redshift://${example.endpoint}/${example1.databaseName}`),
* username: "exampleuser",
* password: "Exampl3Pass",
* dataTableName: "example-table",
* copyOptions: "delimiter '|'",
* dataTableColumns: "example-col",
* s3Configuration: {
* roleArn: firehoseRole.arn,
* bucketArn: bucket.arn,
* bufferSize: 10,
* bufferInterval: 400,
* compressionFormat: "GZIP",
* },
* },
* });
* ```
*/
export declare function getCluster(args: GetClusterArgs, opts?: pulumi.InvokeOptions): Promise<GetClusterResult>;
/**
* A collection of arguments for invoking getCluster.
*/
export interface GetClusterArgs {
/**
* Cluster identifier
*/
clusterIdentifier: string;
/**
* Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
*/
region?: string;
/**
* Tags associated to the cluster
*/
tags?: {
[key: string]: string;
};
}
/**
* A collection of values returned by getCluster.
*/
export interface GetClusterResult {
/**
* Whether major version upgrades can be applied during maintenance period
*/
readonly allowVersionUpgrade: boolean;
/**
* The value represents how the cluster is configured to use AQUA.
*/
readonly aquaConfigurationStatus: string;
/**
* ARN of cluster.
*/
readonly arn: string;
/**
* The backup retention period
*/
readonly automatedSnapshotRetentionPeriod: number;
/**
* Availability zone of the cluster
*/
readonly availabilityZone: string;
/**
* Indicates whether the cluster is able to be relocated to another availability zone.
*/
readonly availabilityZoneRelocationEnabled: boolean;
/**
* Name of the S3 bucket where the log files are to be stored
*/
readonly bucketName: string;
/**
* Cluster identifier
*/
readonly clusterIdentifier: string;
/**
* The namespace Amazon Resource Name (ARN) of the cluster
*/
readonly clusterNamespaceArn: string;
/**
* Nodes in the cluster. Cluster node blocks are documented below
*/
readonly clusterNodes: outputs.redshift.GetClusterClusterNode[];
/**
* The name of the parameter group to be associated with this cluster
*/
readonly clusterParameterGroupName: string;
/**
* Public key for the cluster
*/
readonly clusterPublicKey: string;
/**
* The cluster revision number
*/
readonly clusterRevisionNumber: string;
/**
* The name of a cluster subnet group to be associated with this cluster
*/
readonly clusterSubnetGroupName: string;
/**
* Cluster type
*/
readonly clusterType: string;
readonly clusterVersion: string;
/**
* Name of the default database in the cluster
*/
readonly databaseName: string;
/**
* The ARN for the IAM role that was set as default for the cluster when the cluster was created.
*/
readonly defaultIamRoleArn: string;
/**
* Elastic IP of the cluster
*/
readonly elasticIp: string;
/**
* Whether cluster logging is enabled
*/
readonly enableLogging: boolean;
/**
* Whether the cluster data is encrypted
*/
readonly encrypted: boolean;
/**
* Cluster endpoint
*/
readonly endpoint: string;
/**
* Whether enhanced VPC routing is enabled
*/
readonly enhancedVpcRouting: boolean;
/**
* IAM roles associated to the cluster
*/
readonly iamRoles: string[];
/**
* The provider-assigned unique ID for this managed resource.
*/
readonly id: string;
/**
* KMS encryption key associated to the cluster
*/
readonly kmsKeyId: string;
/**
* The log destination type.
*/
readonly logDestinationType: string;
/**
* Collection of exported log types. Log types include the connection log, user log and user activity log.
*/
readonly logExports: string[];
/**
* The name of the maintenance track for the restored cluster.
*/
readonly maintenanceTrackName: string;
/**
* (Optional) The default number of days to retain a manual snapshot.
*/
readonly manualSnapshotRetentionPeriod: number;
/**
* Username for the master DB user
*/
readonly masterUsername: string;
/**
* If the cluster is a Multi-AZ deployment
*/
readonly multiAz: boolean;
/**
* Cluster node type
*/
readonly nodeType: string;
/**
* Number of nodes in the cluster
*/
readonly numberOfNodes: number;
/**
* Port the cluster responds on
*/
readonly port: number;
/**
* The maintenance window
*/
readonly preferredMaintenanceWindow: string;
/**
* Whether the cluster is publicly accessible
*/
readonly publiclyAccessible: boolean;
readonly region: string;
/**
* Folder inside the S3 bucket where the log files are stored
*/
readonly s3KeyPrefix: string;
/**
* Tags associated to the cluster
*/
readonly tags: {
[key: string]: string;
};
/**
* VPC Id associated with the cluster
*/
readonly vpcId: string;
/**
* The VPC security group Ids associated with the cluster
*/
readonly vpcSecurityGroupIds: string[];
}
/**
* Provides details about a specific redshift cluster.
*
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as aws from "@pulumi/aws";
*
* const example = aws.redshift.getCluster({
* clusterIdentifier: "example-cluster",
* });
* const exampleStream = new aws.kinesis.FirehoseDeliveryStream("example_stream", {
* name: "kinesis-firehose-example-stream",
* destination: "redshift",
* redshiftConfiguration: {
* roleArn: firehoseRole.arn,
* clusterJdbcurl: Promise.all([example, example]).then(([example, example1]) => `jdbc:redshift://${example.endpoint}/${example1.databaseName}`),
* username: "exampleuser",
* password: "Exampl3Pass",
* dataTableName: "example-table",
* copyOptions: "delimiter '|'",
* dataTableColumns: "example-col",
* s3Configuration: {
* roleArn: firehoseRole.arn,
* bucketArn: bucket.arn,
* bufferSize: 10,
* bufferInterval: 400,
* compressionFormat: "GZIP",
* },
* },
* });
* ```
*/
export declare function getClusterOutput(args: GetClusterOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetClusterResult>;
/**
* A collection of arguments for invoking getCluster.
*/
export interface GetClusterOutputArgs {
/**
* Cluster identifier
*/
clusterIdentifier: pulumi.Input<string>;
/**
* Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
*/
region?: pulumi.Input<string>;
/**
* Tags associated to the cluster
*/
tags?: pulumi.Input<{
[key: string]: pulumi.Input<string>;
}>;
}