redshift

package
v2.0.0-beta.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 1, 2020 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation ¶

Overview ¶

nolint: lll

nolint: lll

nolint: lll

nolint: lll

nolint: lll

nolint: lll

nolint: lll

nolint: lll

nolint: lll

nolint: lll

nolint: lll

Index ¶

Constants ¶

This section is empty.

Variables ¶

This section is empty.

Functions ¶

This section is empty.

Types ¶

type Cluster ¶

type Cluster struct {
	pulumi.CustomResourceState

	// If true , major version upgrades can be applied during the maintenance window to the Amazon Redshift engine that is running on the cluster. Default is true
	AllowVersionUpgrade pulumi.BoolPtrOutput `pulumi:"allowVersionUpgrade"`
	// Amazon Resource Name (ARN) of cluster
	Arn pulumi.StringOutput `pulumi:"arn"`
	// The number of days that automated snapshots are retained. If the value is 0, automated snapshots are disabled. Even if automated snapshots are disabled, you can still create manual snapshots when you want with create-cluster-snapshot. Default is 1.
	AutomatedSnapshotRetentionPeriod pulumi.IntPtrOutput `pulumi:"automatedSnapshotRetentionPeriod"`
	// The EC2 Availability Zone (AZ) in which you want Amazon Redshift to provision the cluster. For example, if you have several EC2 instances running in a specific Availability Zone, then you might want the cluster to be provisioned in the same zone in order to decrease network latency.
	AvailabilityZone pulumi.StringOutput `pulumi:"availabilityZone"`
	// The Cluster Identifier. Must be a lower case
	// string.
	ClusterIdentifier pulumi.StringOutput `pulumi:"clusterIdentifier"`
	// The name of the parameter group to be associated with this cluster.
	ClusterParameterGroupName pulumi.StringOutput `pulumi:"clusterParameterGroupName"`
	// The public key for the cluster
	ClusterPublicKey pulumi.StringOutput `pulumi:"clusterPublicKey"`
	// The specific revision number of the database in the cluster
	ClusterRevisionNumber pulumi.StringOutput `pulumi:"clusterRevisionNumber"`
	// A list of security groups to be associated with this cluster.
	ClusterSecurityGroups pulumi.StringArrayOutput `pulumi:"clusterSecurityGroups"`
	// The name of a cluster subnet group to be associated with this cluster. If this parameter is not provided the resulting cluster will be deployed outside virtual private cloud (VPC).
	ClusterSubnetGroupName pulumi.StringOutput `pulumi:"clusterSubnetGroupName"`
	// The cluster type to use. Either `single-node` or `multi-node`.
	ClusterType pulumi.StringOutput `pulumi:"clusterType"`
	// The version of the Amazon Redshift engine software that you want to deploy on the cluster.
	// The version selected runs on all the nodes in the cluster.
	ClusterVersion pulumi.StringPtrOutput `pulumi:"clusterVersion"`
	// The name of the first database to be created when the cluster is created.
	// If you do not provide a name, Amazon Redshift will create a default database called `dev`.
	DatabaseName pulumi.StringOutput `pulumi:"databaseName"`
	// The DNS name of the cluster
	DnsName pulumi.StringOutput `pulumi:"dnsName"`
	// The Elastic IP (EIP) address for the cluster.
	ElasticIp pulumi.StringPtrOutput `pulumi:"elasticIp"`
	// If true , the data in the cluster is encrypted at rest.
	Encrypted pulumi.BoolPtrOutput `pulumi:"encrypted"`
	// The connection endpoint
	Endpoint pulumi.StringOutput `pulumi:"endpoint"`
	// If true , enhanced VPC routing is enabled.
	EnhancedVpcRouting pulumi.BoolOutput `pulumi:"enhancedVpcRouting"`
	// The identifier of the final snapshot that is to be created immediately before deleting the cluster. If this parameter is provided, `skipFinalSnapshot` must be false.
	FinalSnapshotIdentifier pulumi.StringPtrOutput `pulumi:"finalSnapshotIdentifier"`
	// A list of IAM Role ARNs to associate with the cluster. A Maximum of 10 can be associated to the cluster at any time.
	IamRoles pulumi.StringArrayOutput `pulumi:"iamRoles"`
	// The ARN for the KMS encryption key. When specifying `kmsKeyId`, `encrypted` needs to be set to true.
	KmsKeyId pulumi.StringOutput `pulumi:"kmsKeyId"`
	// Logging, documented below.
	Logging ClusterLoggingPtrOutput `pulumi:"logging"`
	// Password for the master DB user.
	// Note that this may show up in logs, and it will be stored in the state file. Password must contain at least 8 chars and
	// contain at least one uppercase letter, one lowercase letter, and one number.
	MasterPassword pulumi.StringPtrOutput `pulumi:"masterPassword"`
	// Username for the master DB user.
	MasterUsername pulumi.StringPtrOutput `pulumi:"masterUsername"`
	// The node type to be provisioned for the cluster.
	NodeType pulumi.StringOutput `pulumi:"nodeType"`
	// The number of compute nodes in the cluster. This parameter is required when the ClusterType parameter is specified as multi-node. Default is 1.
	NumberOfNodes pulumi.IntPtrOutput `pulumi:"numberOfNodes"`
	// The AWS customer account used to create or copy the snapshot. Required if you are restoring a snapshot you do not own, optional if you own the snapshot.
	OwnerAccount pulumi.StringPtrOutput `pulumi:"ownerAccount"`
	// The port number on which the cluster accepts incoming connections.
	// The cluster is accessible only via the JDBC and ODBC connection strings. Part of the connection string requires the port on which the cluster will listen for incoming connections. Default port is 5439.
	Port pulumi.IntPtrOutput `pulumi:"port"`
	// The weekly time range (in UTC) during which automated cluster maintenance can occur.
	// Format: ddd:hh24:mi-ddd:hh24:mi
	PreferredMaintenanceWindow pulumi.StringOutput `pulumi:"preferredMaintenanceWindow"`
	// If true, the cluster can be accessed from a public network. Default is `true`.
	PubliclyAccessible pulumi.BoolPtrOutput `pulumi:"publiclyAccessible"`
	// Determines whether a final snapshot of the cluster is created before Amazon Redshift deletes the cluster. If true , a final cluster snapshot is not created. If false , a final cluster snapshot is created before the cluster is deleted. Default is false.
	SkipFinalSnapshot pulumi.BoolPtrOutput `pulumi:"skipFinalSnapshot"`
	// The name of the cluster the source snapshot was created from.
	SnapshotClusterIdentifier pulumi.StringPtrOutput `pulumi:"snapshotClusterIdentifier"`
	// Configuration of automatic copy of snapshots from one region to another. Documented below.
	SnapshotCopy ClusterSnapshotCopyPtrOutput `pulumi:"snapshotCopy"`
	// The name of the snapshot from which to create the new cluster.
	SnapshotIdentifier pulumi.StringPtrOutput `pulumi:"snapshotIdentifier"`
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapOutput `pulumi:"tags"`
	// A list of Virtual Private Cloud (VPC) security groups to be associated with the cluster.
	VpcSecurityGroupIds pulumi.StringArrayOutput `pulumi:"vpcSecurityGroupIds"`
}

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](https://www.terraform.io/docs/state/sensitive-data.html).

> This content is derived from https://github.com/terraform-providers/terraform-provider-aws/blob/master/website/docs/r/redshift_cluster.html.markdown.

func GetCluster ¶

func GetCluster(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ClusterState, opts ...pulumi.ResourceOption) (*Cluster, error)

GetCluster gets an existing Cluster resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewCluster ¶

func NewCluster(ctx *pulumi.Context,
	name string, args *ClusterArgs, opts ...pulumi.ResourceOption) (*Cluster, error)

NewCluster registers a new resource with the given unique name, arguments, and options.

type ClusterArgs ¶

type ClusterArgs struct {
	// If true , major version upgrades can be applied during the maintenance window to the Amazon Redshift engine that is running on the cluster. Default is true
	AllowVersionUpgrade pulumi.BoolPtrInput
	// The number of days that automated snapshots are retained. If the value is 0, automated snapshots are disabled. Even if automated snapshots are disabled, you can still create manual snapshots when you want with create-cluster-snapshot. Default is 1.
	AutomatedSnapshotRetentionPeriod pulumi.IntPtrInput
	// The EC2 Availability Zone (AZ) in which you want Amazon Redshift to provision the cluster. For example, if you have several EC2 instances running in a specific Availability Zone, then you might want the cluster to be provisioned in the same zone in order to decrease network latency.
	AvailabilityZone pulumi.StringPtrInput
	// The Cluster Identifier. Must be a lower case
	// string.
	ClusterIdentifier pulumi.StringInput
	// The name of the parameter group to be associated with this cluster.
	ClusterParameterGroupName pulumi.StringPtrInput
	// The public key for the cluster
	ClusterPublicKey pulumi.StringPtrInput
	// The specific revision number of the database in the cluster
	ClusterRevisionNumber pulumi.StringPtrInput
	// A list of security groups to be associated with this cluster.
	ClusterSecurityGroups pulumi.StringArrayInput
	// The name of a cluster subnet group to be associated with this cluster. If this parameter is not provided the resulting cluster will be deployed outside virtual private cloud (VPC).
	ClusterSubnetGroupName pulumi.StringPtrInput
	// The cluster type to use. Either `single-node` or `multi-node`.
	ClusterType pulumi.StringPtrInput
	// The version of the Amazon Redshift engine software that you want to deploy on the cluster.
	// The version selected runs on all the nodes in the cluster.
	ClusterVersion pulumi.StringPtrInput
	// The name of the first database to be created when the cluster is created.
	// If you do not provide a name, Amazon Redshift will create a default database called `dev`.
	DatabaseName pulumi.StringPtrInput
	// The Elastic IP (EIP) address for the cluster.
	ElasticIp pulumi.StringPtrInput
	// If true , the data in the cluster is encrypted at rest.
	Encrypted pulumi.BoolPtrInput
	// The connection endpoint
	Endpoint pulumi.StringPtrInput
	// If true , enhanced VPC routing is enabled.
	EnhancedVpcRouting pulumi.BoolPtrInput
	// The identifier of the final snapshot that is to be created immediately before deleting the cluster. If this parameter is provided, `skipFinalSnapshot` must be false.
	FinalSnapshotIdentifier pulumi.StringPtrInput
	// A list of IAM Role ARNs to associate with the cluster. A Maximum of 10 can be associated to the cluster at any time.
	IamRoles pulumi.StringArrayInput
	// The ARN for the KMS encryption key. When specifying `kmsKeyId`, `encrypted` needs to be set to true.
	KmsKeyId pulumi.StringPtrInput
	// Logging, documented below.
	Logging ClusterLoggingPtrInput
	// Password for the master DB user.
	// Note that this may show up in logs, and it will be stored in the state file. Password must contain at least 8 chars and
	// contain at least one uppercase letter, one lowercase letter, and one number.
	MasterPassword pulumi.StringPtrInput
	// Username for the master DB user.
	MasterUsername pulumi.StringPtrInput
	// The node type to be provisioned for the cluster.
	NodeType pulumi.StringInput
	// The number of compute nodes in the cluster. This parameter is required when the ClusterType parameter is specified as multi-node. Default is 1.
	NumberOfNodes pulumi.IntPtrInput
	// The AWS customer account used to create or copy the snapshot. Required if you are restoring a snapshot you do not own, optional if you own the snapshot.
	OwnerAccount pulumi.StringPtrInput
	// The port number on which the cluster accepts incoming connections.
	// The cluster is accessible only via the JDBC and ODBC connection strings. Part of the connection string requires the port on which the cluster will listen for incoming connections. Default port is 5439.
	Port pulumi.IntPtrInput
	// The weekly time range (in UTC) during which automated cluster maintenance can occur.
	// Format: ddd:hh24:mi-ddd:hh24:mi
	PreferredMaintenanceWindow pulumi.StringPtrInput
	// If true, the cluster can be accessed from a public network. Default is `true`.
	PubliclyAccessible pulumi.BoolPtrInput
	// Determines whether a final snapshot of the cluster is created before Amazon Redshift deletes the cluster. If true , a final cluster snapshot is not created. If false , a final cluster snapshot is created before the cluster is deleted. Default is false.
	SkipFinalSnapshot pulumi.BoolPtrInput
	// The name of the cluster the source snapshot was created from.
	SnapshotClusterIdentifier pulumi.StringPtrInput
	// Configuration of automatic copy of snapshots from one region to another. Documented below.
	SnapshotCopy ClusterSnapshotCopyPtrInput
	// The name of the snapshot from which to create the new cluster.
	SnapshotIdentifier pulumi.StringPtrInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapInput
	// A list of Virtual Private Cloud (VPC) security groups to be associated with the cluster.
	VpcSecurityGroupIds pulumi.StringArrayInput
}

The set of arguments for constructing a Cluster resource.

func (ClusterArgs) ElementType ¶

func (ClusterArgs) ElementType() reflect.Type

type ClusterLogging ¶

type ClusterLogging struct {
	// The name of an existing S3 bucket where the log files are to be stored. Must be in the same region as the cluster and the cluster must have read bucket and put object permissions.
	// For more information on the permissions required for the bucket, please read the AWS [documentation](http://docs.aws.amazon.com/redshift/latest/mgmt/db-auditing.html#db-auditing-enable-logging)
	BucketName *string `pulumi:"bucketName"`
	// Enables logging information such as queries and connection attempts, for the specified Amazon Redshift cluster.
	Enable bool `pulumi:"enable"`
	// The prefix applied to the log file names.
	S3KeyPrefix *string `pulumi:"s3KeyPrefix"`
}

type ClusterLoggingArgs ¶

type ClusterLoggingArgs struct {
	// The name of an existing S3 bucket where the log files are to be stored. Must be in the same region as the cluster and the cluster must have read bucket and put object permissions.
	// For more information on the permissions required for the bucket, please read the AWS [documentation](http://docs.aws.amazon.com/redshift/latest/mgmt/db-auditing.html#db-auditing-enable-logging)
	BucketName pulumi.StringPtrInput `pulumi:"bucketName"`
	// Enables logging information such as queries and connection attempts, for the specified Amazon Redshift cluster.
	Enable pulumi.BoolInput `pulumi:"enable"`
	// The prefix applied to the log file names.
	S3KeyPrefix pulumi.StringPtrInput `pulumi:"s3KeyPrefix"`
}

func (ClusterLoggingArgs) ElementType ¶

func (ClusterLoggingArgs) ElementType() reflect.Type

func (ClusterLoggingArgs) ToClusterLoggingOutput ¶

func (i ClusterLoggingArgs) ToClusterLoggingOutput() ClusterLoggingOutput

func (ClusterLoggingArgs) ToClusterLoggingOutputWithContext ¶

func (i ClusterLoggingArgs) ToClusterLoggingOutputWithContext(ctx context.Context) ClusterLoggingOutput

func (ClusterLoggingArgs) ToClusterLoggingPtrOutput ¶

func (i ClusterLoggingArgs) ToClusterLoggingPtrOutput() ClusterLoggingPtrOutput

func (ClusterLoggingArgs) ToClusterLoggingPtrOutputWithContext ¶

func (i ClusterLoggingArgs) ToClusterLoggingPtrOutputWithContext(ctx context.Context) ClusterLoggingPtrOutput

type ClusterLoggingInput ¶

type ClusterLoggingInput interface {
	pulumi.Input

	ToClusterLoggingOutput() ClusterLoggingOutput
	ToClusterLoggingOutputWithContext(context.Context) ClusterLoggingOutput
}

type ClusterLoggingOutput ¶

type ClusterLoggingOutput struct{ *pulumi.OutputState }

func (ClusterLoggingOutput) BucketName ¶

The name of an existing S3 bucket where the log files are to be stored. Must be in the same region as the cluster and the cluster must have read bucket and put object permissions. For more information on the permissions required for the bucket, please read the AWS [documentation](http://docs.aws.amazon.com/redshift/latest/mgmt/db-auditing.html#db-auditing-enable-logging)

func (ClusterLoggingOutput) ElementType ¶

func (ClusterLoggingOutput) ElementType() reflect.Type

func (ClusterLoggingOutput) Enable ¶

Enables logging information such as queries and connection attempts, for the specified Amazon Redshift cluster.

func (ClusterLoggingOutput) S3KeyPrefix ¶

The prefix applied to the log file names.

func (ClusterLoggingOutput) ToClusterLoggingOutput ¶

func (o ClusterLoggingOutput) ToClusterLoggingOutput() ClusterLoggingOutput

func (ClusterLoggingOutput) ToClusterLoggingOutputWithContext ¶

func (o ClusterLoggingOutput) ToClusterLoggingOutputWithContext(ctx context.Context) ClusterLoggingOutput

func (ClusterLoggingOutput) ToClusterLoggingPtrOutput ¶

func (o ClusterLoggingOutput) ToClusterLoggingPtrOutput() ClusterLoggingPtrOutput

func (ClusterLoggingOutput) ToClusterLoggingPtrOutputWithContext ¶

func (o ClusterLoggingOutput) ToClusterLoggingPtrOutputWithContext(ctx context.Context) ClusterLoggingPtrOutput

type ClusterLoggingPtrInput ¶

type ClusterLoggingPtrInput interface {
	pulumi.Input

	ToClusterLoggingPtrOutput() ClusterLoggingPtrOutput
	ToClusterLoggingPtrOutputWithContext(context.Context) ClusterLoggingPtrOutput
}

type ClusterLoggingPtrOutput ¶

type ClusterLoggingPtrOutput struct{ *pulumi.OutputState }

func (ClusterLoggingPtrOutput) BucketName ¶

The name of an existing S3 bucket where the log files are to be stored. Must be in the same region as the cluster and the cluster must have read bucket and put object permissions. For more information on the permissions required for the bucket, please read the AWS [documentation](http://docs.aws.amazon.com/redshift/latest/mgmt/db-auditing.html#db-auditing-enable-logging)

func (ClusterLoggingPtrOutput) Elem ¶

func (ClusterLoggingPtrOutput) ElementType ¶

func (ClusterLoggingPtrOutput) ElementType() reflect.Type

func (ClusterLoggingPtrOutput) Enable ¶

Enables logging information such as queries and connection attempts, for the specified Amazon Redshift cluster.

func (ClusterLoggingPtrOutput) S3KeyPrefix ¶

The prefix applied to the log file names.

func (ClusterLoggingPtrOutput) ToClusterLoggingPtrOutput ¶

func (o ClusterLoggingPtrOutput) ToClusterLoggingPtrOutput() ClusterLoggingPtrOutput

func (ClusterLoggingPtrOutput) ToClusterLoggingPtrOutputWithContext ¶

func (o ClusterLoggingPtrOutput) ToClusterLoggingPtrOutputWithContext(ctx context.Context) ClusterLoggingPtrOutput

type ClusterSnapshotCopy ¶

type ClusterSnapshotCopy struct {
	// The destination region that you want to copy snapshots to.
	DestinationRegion string `pulumi:"destinationRegion"`
	// The name of the snapshot copy grant to use when snapshots of an AWS KMS-encrypted cluster are copied to the destination region.
	GrantName *string `pulumi:"grantName"`
	// The number of days to retain automated snapshots in the destination region after they are copied from the source region. Defaults to `7`.
	RetentionPeriod *int `pulumi:"retentionPeriod"`
}

type ClusterSnapshotCopyArgs ¶

type ClusterSnapshotCopyArgs struct {
	// The destination region that you want to copy snapshots to.
	DestinationRegion pulumi.StringInput `pulumi:"destinationRegion"`
	// The name of the snapshot copy grant to use when snapshots of an AWS KMS-encrypted cluster are copied to the destination region.
	GrantName pulumi.StringPtrInput `pulumi:"grantName"`
	// The number of days to retain automated snapshots in the destination region after they are copied from the source region. Defaults to `7`.
	RetentionPeriod pulumi.IntPtrInput `pulumi:"retentionPeriod"`
}

func (ClusterSnapshotCopyArgs) ElementType ¶

func (ClusterSnapshotCopyArgs) ElementType() reflect.Type

func (ClusterSnapshotCopyArgs) ToClusterSnapshotCopyOutput ¶

func (i ClusterSnapshotCopyArgs) ToClusterSnapshotCopyOutput() ClusterSnapshotCopyOutput

func (ClusterSnapshotCopyArgs) ToClusterSnapshotCopyOutputWithContext ¶

func (i ClusterSnapshotCopyArgs) ToClusterSnapshotCopyOutputWithContext(ctx context.Context) ClusterSnapshotCopyOutput

func (ClusterSnapshotCopyArgs) ToClusterSnapshotCopyPtrOutput ¶

func (i ClusterSnapshotCopyArgs) ToClusterSnapshotCopyPtrOutput() ClusterSnapshotCopyPtrOutput

func (ClusterSnapshotCopyArgs) ToClusterSnapshotCopyPtrOutputWithContext ¶

func (i ClusterSnapshotCopyArgs) ToClusterSnapshotCopyPtrOutputWithContext(ctx context.Context) ClusterSnapshotCopyPtrOutput

type ClusterSnapshotCopyInput ¶

type ClusterSnapshotCopyInput interface {
	pulumi.Input

	ToClusterSnapshotCopyOutput() ClusterSnapshotCopyOutput
	ToClusterSnapshotCopyOutputWithContext(context.Context) ClusterSnapshotCopyOutput
}

type ClusterSnapshotCopyOutput ¶

type ClusterSnapshotCopyOutput struct{ *pulumi.OutputState }

func (ClusterSnapshotCopyOutput) DestinationRegion ¶

func (o ClusterSnapshotCopyOutput) DestinationRegion() pulumi.StringOutput

The destination region that you want to copy snapshots to.

func (ClusterSnapshotCopyOutput) ElementType ¶

func (ClusterSnapshotCopyOutput) ElementType() reflect.Type

func (ClusterSnapshotCopyOutput) GrantName ¶

The name of the snapshot copy grant to use when snapshots of an AWS KMS-encrypted cluster are copied to the destination region.

func (ClusterSnapshotCopyOutput) RetentionPeriod ¶

func (o ClusterSnapshotCopyOutput) RetentionPeriod() pulumi.IntPtrOutput

The number of days to retain automated snapshots in the destination region after they are copied from the source region. Defaults to `7`.

func (ClusterSnapshotCopyOutput) ToClusterSnapshotCopyOutput ¶

func (o ClusterSnapshotCopyOutput) ToClusterSnapshotCopyOutput() ClusterSnapshotCopyOutput

func (ClusterSnapshotCopyOutput) ToClusterSnapshotCopyOutputWithContext ¶

func (o ClusterSnapshotCopyOutput) ToClusterSnapshotCopyOutputWithContext(ctx context.Context) ClusterSnapshotCopyOutput

func (ClusterSnapshotCopyOutput) ToClusterSnapshotCopyPtrOutput ¶

func (o ClusterSnapshotCopyOutput) ToClusterSnapshotCopyPtrOutput() ClusterSnapshotCopyPtrOutput

func (ClusterSnapshotCopyOutput) ToClusterSnapshotCopyPtrOutputWithContext ¶

func (o ClusterSnapshotCopyOutput) ToClusterSnapshotCopyPtrOutputWithContext(ctx context.Context) ClusterSnapshotCopyPtrOutput

type ClusterSnapshotCopyPtrInput ¶

type ClusterSnapshotCopyPtrInput interface {
	pulumi.Input

	ToClusterSnapshotCopyPtrOutput() ClusterSnapshotCopyPtrOutput
	ToClusterSnapshotCopyPtrOutputWithContext(context.Context) ClusterSnapshotCopyPtrOutput
}

type ClusterSnapshotCopyPtrOutput ¶

type ClusterSnapshotCopyPtrOutput struct{ *pulumi.OutputState }

func (ClusterSnapshotCopyPtrOutput) DestinationRegion ¶

func (o ClusterSnapshotCopyPtrOutput) DestinationRegion() pulumi.StringOutput

The destination region that you want to copy snapshots to.

func (ClusterSnapshotCopyPtrOutput) Elem ¶

func (ClusterSnapshotCopyPtrOutput) ElementType ¶

func (ClusterSnapshotCopyPtrOutput) GrantName ¶

The name of the snapshot copy grant to use when snapshots of an AWS KMS-encrypted cluster are copied to the destination region.

func (ClusterSnapshotCopyPtrOutput) RetentionPeriod ¶

func (o ClusterSnapshotCopyPtrOutput) RetentionPeriod() pulumi.IntPtrOutput

The number of days to retain automated snapshots in the destination region after they are copied from the source region. Defaults to `7`.

func (ClusterSnapshotCopyPtrOutput) ToClusterSnapshotCopyPtrOutput ¶

func (o ClusterSnapshotCopyPtrOutput) ToClusterSnapshotCopyPtrOutput() ClusterSnapshotCopyPtrOutput

func (ClusterSnapshotCopyPtrOutput) ToClusterSnapshotCopyPtrOutputWithContext ¶

func (o ClusterSnapshotCopyPtrOutput) ToClusterSnapshotCopyPtrOutputWithContext(ctx context.Context) ClusterSnapshotCopyPtrOutput

type ClusterState ¶

type ClusterState struct {
	// If true , major version upgrades can be applied during the maintenance window to the Amazon Redshift engine that is running on the cluster. Default is true
	AllowVersionUpgrade pulumi.BoolPtrInput
	// Amazon Resource Name (ARN) of cluster
	Arn pulumi.StringPtrInput
	// The number of days that automated snapshots are retained. If the value is 0, automated snapshots are disabled. Even if automated snapshots are disabled, you can still create manual snapshots when you want with create-cluster-snapshot. Default is 1.
	AutomatedSnapshotRetentionPeriod pulumi.IntPtrInput
	// The EC2 Availability Zone (AZ) in which you want Amazon Redshift to provision the cluster. For example, if you have several EC2 instances running in a specific Availability Zone, then you might want the cluster to be provisioned in the same zone in order to decrease network latency.
	AvailabilityZone pulumi.StringPtrInput
	// The Cluster Identifier. Must be a lower case
	// string.
	ClusterIdentifier pulumi.StringPtrInput
	// The name of the parameter group to be associated with this cluster.
	ClusterParameterGroupName pulumi.StringPtrInput
	// The public key for the cluster
	ClusterPublicKey pulumi.StringPtrInput
	// The specific revision number of the database in the cluster
	ClusterRevisionNumber pulumi.StringPtrInput
	// A list of security groups to be associated with this cluster.
	ClusterSecurityGroups pulumi.StringArrayInput
	// The name of a cluster subnet group to be associated with this cluster. If this parameter is not provided the resulting cluster will be deployed outside virtual private cloud (VPC).
	ClusterSubnetGroupName pulumi.StringPtrInput
	// The cluster type to use. Either `single-node` or `multi-node`.
	ClusterType pulumi.StringPtrInput
	// The version of the Amazon Redshift engine software that you want to deploy on the cluster.
	// The version selected runs on all the nodes in the cluster.
	ClusterVersion pulumi.StringPtrInput
	// The name of the first database to be created when the cluster is created.
	// If you do not provide a name, Amazon Redshift will create a default database called `dev`.
	DatabaseName pulumi.StringPtrInput
	// The DNS name of the cluster
	DnsName pulumi.StringPtrInput
	// The Elastic IP (EIP) address for the cluster.
	ElasticIp pulumi.StringPtrInput
	// If true , the data in the cluster is encrypted at rest.
	Encrypted pulumi.BoolPtrInput
	// The connection endpoint
	Endpoint pulumi.StringPtrInput
	// If true , enhanced VPC routing is enabled.
	EnhancedVpcRouting pulumi.BoolPtrInput
	// The identifier of the final snapshot that is to be created immediately before deleting the cluster. If this parameter is provided, `skipFinalSnapshot` must be false.
	FinalSnapshotIdentifier pulumi.StringPtrInput
	// A list of IAM Role ARNs to associate with the cluster. A Maximum of 10 can be associated to the cluster at any time.
	IamRoles pulumi.StringArrayInput
	// The ARN for the KMS encryption key. When specifying `kmsKeyId`, `encrypted` needs to be set to true.
	KmsKeyId pulumi.StringPtrInput
	// Logging, documented below.
	Logging ClusterLoggingPtrInput
	// Password for the master DB user.
	// Note that this may show up in logs, and it will be stored in the state file. Password must contain at least 8 chars and
	// contain at least one uppercase letter, one lowercase letter, and one number.
	MasterPassword pulumi.StringPtrInput
	// Username for the master DB user.
	MasterUsername pulumi.StringPtrInput
	// The node type to be provisioned for the cluster.
	NodeType pulumi.StringPtrInput
	// The number of compute nodes in the cluster. This parameter is required when the ClusterType parameter is specified as multi-node. Default is 1.
	NumberOfNodes pulumi.IntPtrInput
	// The AWS customer account used to create or copy the snapshot. Required if you are restoring a snapshot you do not own, optional if you own the snapshot.
	OwnerAccount pulumi.StringPtrInput
	// The port number on which the cluster accepts incoming connections.
	// The cluster is accessible only via the JDBC and ODBC connection strings. Part of the connection string requires the port on which the cluster will listen for incoming connections. Default port is 5439.
	Port pulumi.IntPtrInput
	// The weekly time range (in UTC) during which automated cluster maintenance can occur.
	// Format: ddd:hh24:mi-ddd:hh24:mi
	PreferredMaintenanceWindow pulumi.StringPtrInput
	// If true, the cluster can be accessed from a public network. Default is `true`.
	PubliclyAccessible pulumi.BoolPtrInput
	// Determines whether a final snapshot of the cluster is created before Amazon Redshift deletes the cluster. If true , a final cluster snapshot is not created. If false , a final cluster snapshot is created before the cluster is deleted. Default is false.
	SkipFinalSnapshot pulumi.BoolPtrInput
	// The name of the cluster the source snapshot was created from.
	SnapshotClusterIdentifier pulumi.StringPtrInput
	// Configuration of automatic copy of snapshots from one region to another. Documented below.
	SnapshotCopy ClusterSnapshotCopyPtrInput
	// The name of the snapshot from which to create the new cluster.
	SnapshotIdentifier pulumi.StringPtrInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapInput
	// A list of Virtual Private Cloud (VPC) security groups to be associated with the cluster.
	VpcSecurityGroupIds pulumi.StringArrayInput
}

func (ClusterState) ElementType ¶

func (ClusterState) ElementType() reflect.Type

type EventSubscription ¶

type EventSubscription struct {
	pulumi.CustomResourceState

	Arn           pulumi.StringOutput `pulumi:"arn"`
	CustomerAwsId pulumi.StringOutput `pulumi:"customerAwsId"`
	// A boolean flag to enable/disable the subscription. Defaults to true.
	Enabled pulumi.BoolPtrOutput `pulumi:"enabled"`
	// A list of event categories for a SourceType that you want to subscribe to. See https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-event-notifications.html or run `aws redshift describe-event-categories`.
	EventCategories pulumi.StringArrayOutput `pulumi:"eventCategories"`
	// The name of the Redshift event subscription.
	Name pulumi.StringOutput `pulumi:"name"`
	// The event severity to be published by the notification subscription. Valid options are `INFO` or `ERROR`.
	Severity pulumi.StringPtrOutput `pulumi:"severity"`
	// The ARN of the SNS topic to send events to.
	SnsTopicArn pulumi.StringOutput `pulumi:"snsTopicArn"`
	// A list of identifiers of the event sources for which events will be returned. If not specified, then all sources are included in the response. If specified, a sourceType must also be specified.
	SourceIds pulumi.StringArrayOutput `pulumi:"sourceIds"`
	// The type of source that will be generating the events. Valid options are `cluster`, `cluster-parameter-group`, `cluster-security-group`, or `cluster-snapshot`. If not set, all sources will be subscribed to.
	SourceType pulumi.StringPtrOutput `pulumi:"sourceType"`
	Status     pulumi.StringOutput    `pulumi:"status"`
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapOutput `pulumi:"tags"`
}

Provides a Redshift event subscription resource.

## 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 * `customerAwsId` - The AWS customer account associated with the Redshift event notification subscription

> This content is derived from https://github.com/terraform-providers/terraform-provider-aws/blob/master/website/docs/r/redshift_event_subscription.html.markdown.

func GetEventSubscription ¶

func GetEventSubscription(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *EventSubscriptionState, opts ...pulumi.ResourceOption) (*EventSubscription, error)

GetEventSubscription gets an existing EventSubscription resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewEventSubscription ¶

func NewEventSubscription(ctx *pulumi.Context,
	name string, args *EventSubscriptionArgs, opts ...pulumi.ResourceOption) (*EventSubscription, error)

NewEventSubscription registers a new resource with the given unique name, arguments, and options.

type EventSubscriptionArgs ¶

type EventSubscriptionArgs struct {
	// A boolean flag to enable/disable the subscription. Defaults to true.
	Enabled pulumi.BoolPtrInput
	// A list of event categories for a SourceType that you want to subscribe to. See https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-event-notifications.html or run `aws redshift describe-event-categories`.
	EventCategories pulumi.StringArrayInput
	// The name of the Redshift event subscription.
	Name pulumi.StringPtrInput
	// The event severity to be published by the notification subscription. Valid options are `INFO` or `ERROR`.
	Severity pulumi.StringPtrInput
	// The ARN of the SNS topic to send events to.
	SnsTopicArn pulumi.StringInput
	// A list of identifiers of the event sources for which events will be returned. If not specified, then all sources are included in the response. If specified, a sourceType must also be specified.
	SourceIds pulumi.StringArrayInput
	// The type of source that will be generating the events. Valid options are `cluster`, `cluster-parameter-group`, `cluster-security-group`, or `cluster-snapshot`. If not set, all sources will be subscribed to.
	SourceType pulumi.StringPtrInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapInput
}

The set of arguments for constructing a EventSubscription resource.

func (EventSubscriptionArgs) ElementType ¶

func (EventSubscriptionArgs) ElementType() reflect.Type

type EventSubscriptionState ¶

type EventSubscriptionState struct {
	Arn           pulumi.StringPtrInput
	CustomerAwsId pulumi.StringPtrInput
	// A boolean flag to enable/disable the subscription. Defaults to true.
	Enabled pulumi.BoolPtrInput
	// A list of event categories for a SourceType that you want to subscribe to. See https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-event-notifications.html or run `aws redshift describe-event-categories`.
	EventCategories pulumi.StringArrayInput
	// The name of the Redshift event subscription.
	Name pulumi.StringPtrInput
	// The event severity to be published by the notification subscription. Valid options are `INFO` or `ERROR`.
	Severity pulumi.StringPtrInput
	// The ARN of the SNS topic to send events to.
	SnsTopicArn pulumi.StringPtrInput
	// A list of identifiers of the event sources for which events will be returned. If not specified, then all sources are included in the response. If specified, a sourceType must also be specified.
	SourceIds pulumi.StringArrayInput
	// The type of source that will be generating the events. Valid options are `cluster`, `cluster-parameter-group`, `cluster-security-group`, or `cluster-snapshot`. If not set, all sources will be subscribed to.
	SourceType pulumi.StringPtrInput
	Status     pulumi.StringPtrInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapInput
}

func (EventSubscriptionState) ElementType ¶

func (EventSubscriptionState) ElementType() reflect.Type

type GetServiceAccountArgs ¶

type GetServiceAccountArgs struct {
	// Name of the region whose AWS Redshift account ID is desired.
	// Defaults to the region from the AWS provider configuration.
	Region *string `pulumi:"region"`
}

A collection of arguments for invoking getServiceAccount.

type GetServiceAccountResult ¶

type GetServiceAccountResult struct {
	// The ARN of the AWS Redshift service account in the selected region.
	Arn string `pulumi:"arn"`
	// id is the provider-assigned unique ID for this managed resource.
	Id     string  `pulumi:"id"`
	Region *string `pulumi:"region"`
}

A collection of values returned by getServiceAccount.

func GetServiceAccount ¶

func GetServiceAccount(ctx *pulumi.Context, args *GetServiceAccountArgs, opts ...pulumi.InvokeOption) (*GetServiceAccountResult, error)

Use this data source to get the Account ID of the [AWS Redshift Service Account](http://docs.aws.amazon.com/redshift/latest/mgmt/db-auditing.html#db-auditing-enable-logging) in a given region for the purpose of allowing Redshift to store audit data in S3.

> This content is derived from https://github.com/terraform-providers/terraform-provider-aws/blob/master/website/docs/d/redshift_service_account.html.markdown.

type LookupClusterArgs ¶

type LookupClusterArgs struct {
	// The cluster identifier
	ClusterIdentifier string `pulumi:"clusterIdentifier"`
	// The tags associated to the cluster
	Tags map[string]interface{} `pulumi:"tags"`
}

A collection of arguments for invoking getCluster.

type LookupClusterResult ¶

type LookupClusterResult struct {
	// Whether major version upgrades can be applied during maintenance period
	AllowVersionUpgrade bool `pulumi:"allowVersionUpgrade"`
	// The backup retention period
	AutomatedSnapshotRetentionPeriod int `pulumi:"automatedSnapshotRetentionPeriod"`
	// The availability zone of the cluster
	AvailabilityZone string `pulumi:"availabilityZone"`
	// The name of the S3 bucket where the log files are to be stored
	BucketName string `pulumi:"bucketName"`
	// The cluster identifier
	ClusterIdentifier string `pulumi:"clusterIdentifier"`
	// The name of the parameter group to be associated with this cluster
	ClusterParameterGroupName string `pulumi:"clusterParameterGroupName"`
	// The public key for the cluster
	ClusterPublicKey string `pulumi:"clusterPublicKey"`
	// The cluster revision number
	ClusterRevisionNumber string `pulumi:"clusterRevisionNumber"`
	// The security groups associated with the cluster
	ClusterSecurityGroups []string `pulumi:"clusterSecurityGroups"`
	// The name of a cluster subnet group to be associated with this cluster
	ClusterSubnetGroupName string `pulumi:"clusterSubnetGroupName"`
	// The cluster type
	ClusterType    string `pulumi:"clusterType"`
	ClusterVersion string `pulumi:"clusterVersion"`
	// The name of the default database in the cluster
	DatabaseName string `pulumi:"databaseName"`
	// The Elastic IP of the cluster
	ElasticIp string `pulumi:"elasticIp"`
	// Whether cluster logging is enabled
	EnableLogging bool `pulumi:"enableLogging"`
	// Whether the cluster data is encrypted
	Encrypted bool `pulumi:"encrypted"`
	// The cluster endpoint
	Endpoint string `pulumi:"endpoint"`
	// Whether enhanced VPC routing is enabled
	EnhancedVpcRouting bool `pulumi:"enhancedVpcRouting"`
	// The IAM roles associated to the cluster
	IamRoles []string `pulumi:"iamRoles"`
	// id is the provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// The KMS encryption key associated to the cluster
	KmsKeyId string `pulumi:"kmsKeyId"`
	// Username for the master DB user
	MasterUsername string `pulumi:"masterUsername"`
	// The cluster node type
	NodeType string `pulumi:"nodeType"`
	// The number of nodes in the cluster
	NumberOfNodes int `pulumi:"numberOfNodes"`
	// The port the cluster responds on
	Port int `pulumi:"port"`
	// The maintenance window
	PreferredMaintenanceWindow string `pulumi:"preferredMaintenanceWindow"`
	// Whether the cluster is publicly accessible
	PubliclyAccessible bool `pulumi:"publiclyAccessible"`
	// The folder inside the S3 bucket where the log files are stored
	S3KeyPrefix string `pulumi:"s3KeyPrefix"`
	// The tags associated to the cluster
	Tags map[string]interface{} `pulumi:"tags"`
	// The VPC Id associated with the cluster
	VpcId string `pulumi:"vpcId"`
	// The VPC security group Ids associated with the cluster
	VpcSecurityGroupIds []string `pulumi:"vpcSecurityGroupIds"`
}

A collection of values returned by getCluster.

func LookupCluster ¶

func LookupCluster(ctx *pulumi.Context, args *LookupClusterArgs, opts ...pulumi.InvokeOption) (*LookupClusterResult, error)

Provides details about a specific redshift cluster.

> This content is derived from https://github.com/terraform-providers/terraform-provider-aws/blob/master/website/docs/d/redshift_cluster.html.markdown.

type ParameterGroup ¶

type ParameterGroup struct {
	pulumi.CustomResourceState

	// Amazon Resource Name (ARN) of parameter group
	Arn pulumi.StringOutput `pulumi:"arn"`
	// The description of the Redshift parameter group. Defaults to "Managed by Pulumi".
	Description pulumi.StringOutput `pulumi:"description"`
	// The family of the Redshift parameter group.
	Family pulumi.StringOutput `pulumi:"family"`
	// The name of the Redshift parameter.
	Name pulumi.StringOutput `pulumi:"name"`
	// A list of Redshift parameters to apply.
	Parameters ParameterGroupParameterArrayOutput `pulumi:"parameters"`
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapOutput `pulumi:"tags"`
}

Provides a Redshift Cluster parameter group resource.

> This content is derived from https://github.com/terraform-providers/terraform-provider-aws/blob/master/website/docs/r/redshift_parameter_group.html.markdown.

func GetParameterGroup ¶

func GetParameterGroup(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ParameterGroupState, opts ...pulumi.ResourceOption) (*ParameterGroup, error)

GetParameterGroup gets an existing ParameterGroup resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewParameterGroup ¶

func NewParameterGroup(ctx *pulumi.Context,
	name string, args *ParameterGroupArgs, opts ...pulumi.ResourceOption) (*ParameterGroup, error)

NewParameterGroup registers a new resource with the given unique name, arguments, and options.

type ParameterGroupArgs ¶

type ParameterGroupArgs struct {
	// The description of the Redshift parameter group. Defaults to "Managed by Pulumi".
	Description pulumi.StringPtrInput
	// The family of the Redshift parameter group.
	Family pulumi.StringInput
	// The name of the Redshift parameter.
	Name pulumi.StringPtrInput
	// A list of Redshift parameters to apply.
	Parameters ParameterGroupParameterArrayInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapInput
}

The set of arguments for constructing a ParameterGroup resource.

func (ParameterGroupArgs) ElementType ¶

func (ParameterGroupArgs) ElementType() reflect.Type

type ParameterGroupParameter ¶

type ParameterGroupParameter struct {
	// The name of the Redshift parameter.
	Name string `pulumi:"name"`
	// The value of the Redshift parameter.
	Value string `pulumi:"value"`
}

type ParameterGroupParameterArgs ¶

type ParameterGroupParameterArgs struct {
	// The name of the Redshift parameter.
	Name pulumi.StringInput `pulumi:"name"`
	// The value of the Redshift parameter.
	Value pulumi.StringInput `pulumi:"value"`
}

func (ParameterGroupParameterArgs) ElementType ¶

func (ParameterGroupParameterArgs) ToParameterGroupParameterOutput ¶

func (i ParameterGroupParameterArgs) ToParameterGroupParameterOutput() ParameterGroupParameterOutput

func (ParameterGroupParameterArgs) ToParameterGroupParameterOutputWithContext ¶

func (i ParameterGroupParameterArgs) ToParameterGroupParameterOutputWithContext(ctx context.Context) ParameterGroupParameterOutput

type ParameterGroupParameterArray ¶

type ParameterGroupParameterArray []ParameterGroupParameterInput

func (ParameterGroupParameterArray) ElementType ¶

func (ParameterGroupParameterArray) ToParameterGroupParameterArrayOutput ¶

func (i ParameterGroupParameterArray) ToParameterGroupParameterArrayOutput() ParameterGroupParameterArrayOutput

func (ParameterGroupParameterArray) ToParameterGroupParameterArrayOutputWithContext ¶

func (i ParameterGroupParameterArray) ToParameterGroupParameterArrayOutputWithContext(ctx context.Context) ParameterGroupParameterArrayOutput

type ParameterGroupParameterArrayInput ¶

type ParameterGroupParameterArrayInput interface {
	pulumi.Input

	ToParameterGroupParameterArrayOutput() ParameterGroupParameterArrayOutput
	ToParameterGroupParameterArrayOutputWithContext(context.Context) ParameterGroupParameterArrayOutput
}

type ParameterGroupParameterArrayOutput ¶

type ParameterGroupParameterArrayOutput struct{ *pulumi.OutputState }

func (ParameterGroupParameterArrayOutput) ElementType ¶

func (ParameterGroupParameterArrayOutput) Index ¶

func (ParameterGroupParameterArrayOutput) ToParameterGroupParameterArrayOutput ¶

func (o ParameterGroupParameterArrayOutput) ToParameterGroupParameterArrayOutput() ParameterGroupParameterArrayOutput

func (ParameterGroupParameterArrayOutput) ToParameterGroupParameterArrayOutputWithContext ¶

func (o ParameterGroupParameterArrayOutput) ToParameterGroupParameterArrayOutputWithContext(ctx context.Context) ParameterGroupParameterArrayOutput

type ParameterGroupParameterInput ¶

type ParameterGroupParameterInput interface {
	pulumi.Input

	ToParameterGroupParameterOutput() ParameterGroupParameterOutput
	ToParameterGroupParameterOutputWithContext(context.Context) ParameterGroupParameterOutput
}

type ParameterGroupParameterOutput ¶

type ParameterGroupParameterOutput struct{ *pulumi.OutputState }

func (ParameterGroupParameterOutput) ElementType ¶

func (ParameterGroupParameterOutput) Name ¶

The name of the Redshift parameter.

func (ParameterGroupParameterOutput) ToParameterGroupParameterOutput ¶

func (o ParameterGroupParameterOutput) ToParameterGroupParameterOutput() ParameterGroupParameterOutput

func (ParameterGroupParameterOutput) ToParameterGroupParameterOutputWithContext ¶

func (o ParameterGroupParameterOutput) ToParameterGroupParameterOutputWithContext(ctx context.Context) ParameterGroupParameterOutput

func (ParameterGroupParameterOutput) Value ¶

The value of the Redshift parameter.

type ParameterGroupState ¶

type ParameterGroupState struct {
	// Amazon Resource Name (ARN) of parameter group
	Arn pulumi.StringPtrInput
	// The description of the Redshift parameter group. Defaults to "Managed by Pulumi".
	Description pulumi.StringPtrInput
	// The family of the Redshift parameter group.
	Family pulumi.StringPtrInput
	// The name of the Redshift parameter.
	Name pulumi.StringPtrInput
	// A list of Redshift parameters to apply.
	Parameters ParameterGroupParameterArrayInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapInput
}

func (ParameterGroupState) ElementType ¶

func (ParameterGroupState) ElementType() reflect.Type

type SecurityGroup ¶

type SecurityGroup struct {
	pulumi.CustomResourceState

	// The description of the Redshift security group. Defaults to "Managed by Pulumi".
	Description pulumi.StringOutput `pulumi:"description"`
	// A list of ingress rules.
	Ingress SecurityGroupIngressArrayOutput `pulumi:"ingress"`
	// The name of the Redshift security group.
	Name pulumi.StringOutput `pulumi:"name"`
}

Creates a new Amazon Redshift security group. You use security groups to control access to non-VPC clusters

> This content is derived from https://github.com/terraform-providers/terraform-provider-aws/blob/master/website/docs/r/redshift_security_group.html.markdown.

func GetSecurityGroup ¶

func GetSecurityGroup(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *SecurityGroupState, opts ...pulumi.ResourceOption) (*SecurityGroup, error)

GetSecurityGroup gets an existing SecurityGroup resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewSecurityGroup ¶

func NewSecurityGroup(ctx *pulumi.Context,
	name string, args *SecurityGroupArgs, opts ...pulumi.ResourceOption) (*SecurityGroup, error)

NewSecurityGroup registers a new resource with the given unique name, arguments, and options.

type SecurityGroupArgs ¶

type SecurityGroupArgs struct {
	// The description of the Redshift security group. Defaults to "Managed by Pulumi".
	Description pulumi.StringPtrInput
	// A list of ingress rules.
	Ingress SecurityGroupIngressArrayInput
	// The name of the Redshift security group.
	Name pulumi.StringPtrInput
}

The set of arguments for constructing a SecurityGroup resource.

func (SecurityGroupArgs) ElementType ¶

func (SecurityGroupArgs) ElementType() reflect.Type

type SecurityGroupIngress ¶

type SecurityGroupIngress struct {
	// The CIDR block to accept
	Cidr *string `pulumi:"cidr"`
	// The name of the security group to authorize
	SecurityGroupName *string `pulumi:"securityGroupName"`
	// The owner Id of the security group provided
	// by `securityGroupName`.
	SecurityGroupOwnerId *string `pulumi:"securityGroupOwnerId"`
}

type SecurityGroupIngressArgs ¶

type SecurityGroupIngressArgs struct {
	// The CIDR block to accept
	Cidr pulumi.StringPtrInput `pulumi:"cidr"`
	// The name of the security group to authorize
	SecurityGroupName pulumi.StringPtrInput `pulumi:"securityGroupName"`
	// The owner Id of the security group provided
	// by `securityGroupName`.
	SecurityGroupOwnerId pulumi.StringPtrInput `pulumi:"securityGroupOwnerId"`
}

func (SecurityGroupIngressArgs) ElementType ¶

func (SecurityGroupIngressArgs) ElementType() reflect.Type

func (SecurityGroupIngressArgs) ToSecurityGroupIngressOutput ¶

func (i SecurityGroupIngressArgs) ToSecurityGroupIngressOutput() SecurityGroupIngressOutput

func (SecurityGroupIngressArgs) ToSecurityGroupIngressOutputWithContext ¶

func (i SecurityGroupIngressArgs) ToSecurityGroupIngressOutputWithContext(ctx context.Context) SecurityGroupIngressOutput

type SecurityGroupIngressArray ¶

type SecurityGroupIngressArray []SecurityGroupIngressInput

func (SecurityGroupIngressArray) ElementType ¶

func (SecurityGroupIngressArray) ElementType() reflect.Type

func (SecurityGroupIngressArray) ToSecurityGroupIngressArrayOutput ¶

func (i SecurityGroupIngressArray) ToSecurityGroupIngressArrayOutput() SecurityGroupIngressArrayOutput

func (SecurityGroupIngressArray) ToSecurityGroupIngressArrayOutputWithContext ¶

func (i SecurityGroupIngressArray) ToSecurityGroupIngressArrayOutputWithContext(ctx context.Context) SecurityGroupIngressArrayOutput

type SecurityGroupIngressArrayInput ¶

type SecurityGroupIngressArrayInput interface {
	pulumi.Input

	ToSecurityGroupIngressArrayOutput() SecurityGroupIngressArrayOutput
	ToSecurityGroupIngressArrayOutputWithContext(context.Context) SecurityGroupIngressArrayOutput
}

type SecurityGroupIngressArrayOutput ¶

type SecurityGroupIngressArrayOutput struct{ *pulumi.OutputState }

func (SecurityGroupIngressArrayOutput) ElementType ¶

func (SecurityGroupIngressArrayOutput) Index ¶

func (SecurityGroupIngressArrayOutput) ToSecurityGroupIngressArrayOutput ¶

func (o SecurityGroupIngressArrayOutput) ToSecurityGroupIngressArrayOutput() SecurityGroupIngressArrayOutput

func (SecurityGroupIngressArrayOutput) ToSecurityGroupIngressArrayOutputWithContext ¶

func (o SecurityGroupIngressArrayOutput) ToSecurityGroupIngressArrayOutputWithContext(ctx context.Context) SecurityGroupIngressArrayOutput

type SecurityGroupIngressInput ¶

type SecurityGroupIngressInput interface {
	pulumi.Input

	ToSecurityGroupIngressOutput() SecurityGroupIngressOutput
	ToSecurityGroupIngressOutputWithContext(context.Context) SecurityGroupIngressOutput
}

type SecurityGroupIngressOutput ¶

type SecurityGroupIngressOutput struct{ *pulumi.OutputState }

func (SecurityGroupIngressOutput) Cidr ¶

The CIDR block to accept

func (SecurityGroupIngressOutput) ElementType ¶

func (SecurityGroupIngressOutput) ElementType() reflect.Type

func (SecurityGroupIngressOutput) SecurityGroupName ¶

func (o SecurityGroupIngressOutput) SecurityGroupName() pulumi.StringPtrOutput

The name of the security group to authorize

func (SecurityGroupIngressOutput) SecurityGroupOwnerId ¶

func (o SecurityGroupIngressOutput) SecurityGroupOwnerId() pulumi.StringPtrOutput

The owner Id of the security group provided by `securityGroupName`.

func (SecurityGroupIngressOutput) ToSecurityGroupIngressOutput ¶

func (o SecurityGroupIngressOutput) ToSecurityGroupIngressOutput() SecurityGroupIngressOutput

func (SecurityGroupIngressOutput) ToSecurityGroupIngressOutputWithContext ¶

func (o SecurityGroupIngressOutput) ToSecurityGroupIngressOutputWithContext(ctx context.Context) SecurityGroupIngressOutput

type SecurityGroupState ¶

type SecurityGroupState struct {
	// The description of the Redshift security group. Defaults to "Managed by Pulumi".
	Description pulumi.StringPtrInput
	// A list of ingress rules.
	Ingress SecurityGroupIngressArrayInput
	// The name of the Redshift security group.
	Name pulumi.StringPtrInput
}

func (SecurityGroupState) ElementType ¶

func (SecurityGroupState) ElementType() reflect.Type

type SnapshotCopyGrant ¶

type SnapshotCopyGrant struct {
	pulumi.CustomResourceState

	// Amazon Resource Name (ARN) of snapshot copy grant
	Arn pulumi.StringOutput `pulumi:"arn"`
	// The unique identifier for the customer master key (CMK) that the grant applies to. Specify the key ID or the Amazon Resource Name (ARN) of the CMK. To specify a CMK in a different AWS account, you must use the key ARN. If not specified, the default key is used.
	KmsKeyId pulumi.StringOutput `pulumi:"kmsKeyId"`
	// A friendly name for identifying the grant.
	SnapshotCopyGrantName pulumi.StringOutput `pulumi:"snapshotCopyGrantName"`
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapOutput `pulumi:"tags"`
}

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.

> This content is derived from https://github.com/terraform-providers/terraform-provider-aws/blob/master/website/docs/r/redshift_snapshot_copy_grant.html.markdown.

func GetSnapshotCopyGrant ¶

func GetSnapshotCopyGrant(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *SnapshotCopyGrantState, opts ...pulumi.ResourceOption) (*SnapshotCopyGrant, error)

GetSnapshotCopyGrant gets an existing SnapshotCopyGrant resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewSnapshotCopyGrant ¶

func NewSnapshotCopyGrant(ctx *pulumi.Context,
	name string, args *SnapshotCopyGrantArgs, opts ...pulumi.ResourceOption) (*SnapshotCopyGrant, error)

NewSnapshotCopyGrant registers a new resource with the given unique name, arguments, and options.

type SnapshotCopyGrantArgs ¶

type SnapshotCopyGrantArgs struct {
	// The unique identifier for the customer master key (CMK) that the grant applies to. Specify the key ID or the Amazon Resource Name (ARN) of the CMK. To specify a CMK in a different AWS account, you must use the key ARN. If not specified, the default key is used.
	KmsKeyId pulumi.StringPtrInput
	// A friendly name for identifying the grant.
	SnapshotCopyGrantName pulumi.StringInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapInput
}

The set of arguments for constructing a SnapshotCopyGrant resource.

func (SnapshotCopyGrantArgs) ElementType ¶

func (SnapshotCopyGrantArgs) ElementType() reflect.Type

type SnapshotCopyGrantState ¶

type SnapshotCopyGrantState struct {
	// Amazon Resource Name (ARN) of snapshot copy grant
	Arn pulumi.StringPtrInput
	// The unique identifier for the customer master key (CMK) that the grant applies to. Specify the key ID or the Amazon Resource Name (ARN) of the CMK. To specify a CMK in a different AWS account, you must use the key ARN. If not specified, the default key is used.
	KmsKeyId pulumi.StringPtrInput
	// A friendly name for identifying the grant.
	SnapshotCopyGrantName pulumi.StringPtrInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapInput
}

func (SnapshotCopyGrantState) ElementType ¶

func (SnapshotCopyGrantState) ElementType() reflect.Type

type SnapshotSchedule ¶

type SnapshotSchedule struct {
	pulumi.CustomResourceState

	Arn pulumi.StringOutput `pulumi:"arn"`
	// The definition of the snapshot schedule. The definition is made up of schedule expressions, for example `cron(30 12 *)` or `rate(12 hours)`.
	Definitions pulumi.StringArrayOutput `pulumi:"definitions"`
	// The description of the snapshot schedule.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// Whether to destroy all associated clusters with this snapshot schedule on deletion. Must be enabled and applied before attempting deletion.
	ForceDestroy pulumi.BoolPtrOutput `pulumi:"forceDestroy"`
	// The snapshot schedule identifier. If omitted, this provider will assign a random, unique identifier.
	Identifier pulumi.StringOutput `pulumi:"identifier"`
	// Creates a unique
	// identifier beginning with the specified prefix. Conflicts with `identifier`.
	IdentifierPrefix pulumi.StringOutput `pulumi:"identifierPrefix"`
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapOutput `pulumi:"tags"`
}

> This content is derived from https://github.com/terraform-providers/terraform-provider-aws/blob/master/website/docs/r/redshift_snapshot_schedule.html.markdown.

func GetSnapshotSchedule ¶

func GetSnapshotSchedule(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *SnapshotScheduleState, opts ...pulumi.ResourceOption) (*SnapshotSchedule, error)

GetSnapshotSchedule gets an existing SnapshotSchedule resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewSnapshotSchedule ¶

func NewSnapshotSchedule(ctx *pulumi.Context,
	name string, args *SnapshotScheduleArgs, opts ...pulumi.ResourceOption) (*SnapshotSchedule, error)

NewSnapshotSchedule registers a new resource with the given unique name, arguments, and options.

type SnapshotScheduleArgs ¶

type SnapshotScheduleArgs struct {
	// The definition of the snapshot schedule. The definition is made up of schedule expressions, for example `cron(30 12 *)` or `rate(12 hours)`.
	Definitions pulumi.StringArrayInput
	// The description of the snapshot schedule.
	Description pulumi.StringPtrInput
	// Whether to destroy all associated clusters with this snapshot schedule on deletion. Must be enabled and applied before attempting deletion.
	ForceDestroy pulumi.BoolPtrInput
	// The snapshot schedule identifier. If omitted, this provider will assign a random, unique identifier.
	Identifier pulumi.StringPtrInput
	// Creates a unique
	// identifier beginning with the specified prefix. Conflicts with `identifier`.
	IdentifierPrefix pulumi.StringPtrInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapInput
}

The set of arguments for constructing a SnapshotSchedule resource.

func (SnapshotScheduleArgs) ElementType ¶

func (SnapshotScheduleArgs) ElementType() reflect.Type

type SnapshotScheduleAssociation ¶

type SnapshotScheduleAssociation struct {
	pulumi.CustomResourceState

	// The cluster identifier.
	ClusterIdentifier pulumi.StringOutput `pulumi:"clusterIdentifier"`
	// The snapshot schedule identifier.
	ScheduleIdentifier pulumi.StringOutput `pulumi:"scheduleIdentifier"`
}

> This content is derived from https://github.com/terraform-providers/terraform-provider-aws/blob/master/website/docs/r/redshift_snapshot_schedule_association.html.markdown.

func GetSnapshotScheduleAssociation ¶

func GetSnapshotScheduleAssociation(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *SnapshotScheduleAssociationState, opts ...pulumi.ResourceOption) (*SnapshotScheduleAssociation, error)

GetSnapshotScheduleAssociation gets an existing SnapshotScheduleAssociation resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewSnapshotScheduleAssociation ¶

func NewSnapshotScheduleAssociation(ctx *pulumi.Context,
	name string, args *SnapshotScheduleAssociationArgs, opts ...pulumi.ResourceOption) (*SnapshotScheduleAssociation, error)

NewSnapshotScheduleAssociation registers a new resource with the given unique name, arguments, and options.

type SnapshotScheduleAssociationArgs ¶

type SnapshotScheduleAssociationArgs struct {
	// The cluster identifier.
	ClusterIdentifier pulumi.StringInput
	// The snapshot schedule identifier.
	ScheduleIdentifier pulumi.StringInput
}

The set of arguments for constructing a SnapshotScheduleAssociation resource.

func (SnapshotScheduleAssociationArgs) ElementType ¶

type SnapshotScheduleAssociationState ¶

type SnapshotScheduleAssociationState struct {
	// The cluster identifier.
	ClusterIdentifier pulumi.StringPtrInput
	// The snapshot schedule identifier.
	ScheduleIdentifier pulumi.StringPtrInput
}

func (SnapshotScheduleAssociationState) ElementType ¶

type SnapshotScheduleState ¶

type SnapshotScheduleState struct {
	Arn pulumi.StringPtrInput
	// The definition of the snapshot schedule. The definition is made up of schedule expressions, for example `cron(30 12 *)` or `rate(12 hours)`.
	Definitions pulumi.StringArrayInput
	// The description of the snapshot schedule.
	Description pulumi.StringPtrInput
	// Whether to destroy all associated clusters with this snapshot schedule on deletion. Must be enabled and applied before attempting deletion.
	ForceDestroy pulumi.BoolPtrInput
	// The snapshot schedule identifier. If omitted, this provider will assign a random, unique identifier.
	Identifier pulumi.StringPtrInput
	// Creates a unique
	// identifier beginning with the specified prefix. Conflicts with `identifier`.
	IdentifierPrefix pulumi.StringPtrInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapInput
}

func (SnapshotScheduleState) ElementType ¶

func (SnapshotScheduleState) ElementType() reflect.Type

type SubnetGroup ¶

type SubnetGroup struct {
	pulumi.CustomResourceState

	// Amazon Resource Name (ARN) of the Redshift Subnet group name
	Arn pulumi.StringOutput `pulumi:"arn"`
	// The description of the Redshift Subnet group. Defaults to "Managed by Pulumi".
	Description pulumi.StringOutput `pulumi:"description"`
	// The name of the Redshift Subnet group.
	Name pulumi.StringOutput `pulumi:"name"`
	// An array of VPC subnet IDs.
	SubnetIds pulumi.StringArrayOutput `pulumi:"subnetIds"`
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapOutput `pulumi:"tags"`
}

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.

> This content is derived from https://github.com/terraform-providers/terraform-provider-aws/blob/master/website/docs/r/redshift_subnet_group.html.markdown.

func GetSubnetGroup ¶

func GetSubnetGroup(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *SubnetGroupState, opts ...pulumi.ResourceOption) (*SubnetGroup, error)

GetSubnetGroup gets an existing SubnetGroup resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewSubnetGroup ¶

func NewSubnetGroup(ctx *pulumi.Context,
	name string, args *SubnetGroupArgs, opts ...pulumi.ResourceOption) (*SubnetGroup, error)

NewSubnetGroup registers a new resource with the given unique name, arguments, and options.

type SubnetGroupArgs ¶

type SubnetGroupArgs struct {
	// The description of the Redshift Subnet group. Defaults to "Managed by Pulumi".
	Description pulumi.StringPtrInput
	// The name of the Redshift Subnet group.
	Name pulumi.StringPtrInput
	// An array of VPC subnet IDs.
	SubnetIds pulumi.StringArrayInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapInput
}

The set of arguments for constructing a SubnetGroup resource.

func (SubnetGroupArgs) ElementType ¶

func (SubnetGroupArgs) ElementType() reflect.Type

type SubnetGroupState ¶

type SubnetGroupState struct {
	// Amazon Resource Name (ARN) of the Redshift Subnet group name
	Arn pulumi.StringPtrInput
	// The description of the Redshift Subnet group. Defaults to "Managed by Pulumi".
	Description pulumi.StringPtrInput
	// The name of the Redshift Subnet group.
	Name pulumi.StringPtrInput
	// An array of VPC subnet IDs.
	SubnetIds pulumi.StringArrayInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapInput
}

func (SubnetGroupState) ElementType ¶

func (SubnetGroupState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL