redshift

package
v3.38.1 Latest Latest
Warning

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

Go to latest
Published: Apr 13, 2021 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

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 map of tags to assign to the resource.
	Tags pulumi.StringMapOutput `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.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/redshift"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := redshift.NewCluster(ctx, "_default", &redshift.ClusterArgs{
			ClusterIdentifier: pulumi.String("tf-redshift-cluster"),
			ClusterType:       pulumi.String("single-node"),
			DatabaseName:      pulumi.String("mydb"),
			MasterPassword:    pulumi.String("Mustbe8characters"),
			MasterUsername:    pulumi.String("foo"),
			NodeType:          pulumi.String("dc1.large"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Redshift Clusters can be imported using the `cluster_identifier`, e.g.

```sh

$ pulumi import aws:redshift/cluster:Cluster myprodcluster tf-redshift-cluster-12345

```

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.

func (*Cluster) ElementType added in v3.13.0

func (*Cluster) ElementType() reflect.Type

func (*Cluster) ToClusterOutput added in v3.13.0

func (i *Cluster) ToClusterOutput() ClusterOutput

func (*Cluster) ToClusterOutputWithContext added in v3.13.0

func (i *Cluster) ToClusterOutputWithContext(ctx context.Context) ClusterOutput

func (*Cluster) ToClusterPtrOutput added in v3.25.0

func (i *Cluster) ToClusterPtrOutput() ClusterPtrOutput

func (*Cluster) ToClusterPtrOutputWithContext added in v3.25.0

func (i *Cluster) ToClusterPtrOutputWithContext(ctx context.Context) ClusterPtrOutput

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 map of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// 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 ClusterArray added in v3.25.0

type ClusterArray []ClusterInput

func (ClusterArray) ElementType added in v3.25.0

func (ClusterArray) ElementType() reflect.Type

func (ClusterArray) ToClusterArrayOutput added in v3.25.0

func (i ClusterArray) ToClusterArrayOutput() ClusterArrayOutput

func (ClusterArray) ToClusterArrayOutputWithContext added in v3.25.0

func (i ClusterArray) ToClusterArrayOutputWithContext(ctx context.Context) ClusterArrayOutput

type ClusterArrayInput added in v3.25.0

type ClusterArrayInput interface {
	pulumi.Input

	ToClusterArrayOutput() ClusterArrayOutput
	ToClusterArrayOutputWithContext(context.Context) ClusterArrayOutput
}

ClusterArrayInput is an input type that accepts ClusterArray and ClusterArrayOutput values. You can construct a concrete instance of `ClusterArrayInput` via:

ClusterArray{ ClusterArgs{...} }

type ClusterArrayOutput added in v3.25.0

type ClusterArrayOutput struct{ *pulumi.OutputState }

func (ClusterArrayOutput) ElementType added in v3.25.0

func (ClusterArrayOutput) ElementType() reflect.Type

func (ClusterArrayOutput) Index added in v3.25.0

func (ClusterArrayOutput) ToClusterArrayOutput added in v3.25.0

func (o ClusterArrayOutput) ToClusterArrayOutput() ClusterArrayOutput

func (ClusterArrayOutput) ToClusterArrayOutputWithContext added in v3.25.0

func (o ClusterArrayOutput) ToClusterArrayOutputWithContext(ctx context.Context) ClusterArrayOutput

type ClusterInput added in v3.13.0

type ClusterInput interface {
	pulumi.Input

	ToClusterOutput() ClusterOutput
	ToClusterOutputWithContext(ctx context.Context) ClusterOutput
}

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
}

ClusterLoggingInput is an input type that accepts ClusterLoggingArgs and ClusterLoggingOutput values. You can construct a concrete instance of `ClusterLoggingInput` via:

ClusterLoggingArgs{...}

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
}

ClusterLoggingPtrInput is an input type that accepts ClusterLoggingArgs, ClusterLoggingPtr and ClusterLoggingPtrOutput values. You can construct a concrete instance of `ClusterLoggingPtrInput` via:

        ClusterLoggingArgs{...}

or:

        nil

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 ClusterMap added in v3.25.0

type ClusterMap map[string]ClusterInput

func (ClusterMap) ElementType added in v3.25.0

func (ClusterMap) ElementType() reflect.Type

func (ClusterMap) ToClusterMapOutput added in v3.25.0

func (i ClusterMap) ToClusterMapOutput() ClusterMapOutput

func (ClusterMap) ToClusterMapOutputWithContext added in v3.25.0

func (i ClusterMap) ToClusterMapOutputWithContext(ctx context.Context) ClusterMapOutput

type ClusterMapInput added in v3.25.0

type ClusterMapInput interface {
	pulumi.Input

	ToClusterMapOutput() ClusterMapOutput
	ToClusterMapOutputWithContext(context.Context) ClusterMapOutput
}

ClusterMapInput is an input type that accepts ClusterMap and ClusterMapOutput values. You can construct a concrete instance of `ClusterMapInput` via:

ClusterMap{ "key": ClusterArgs{...} }

type ClusterMapOutput added in v3.25.0

type ClusterMapOutput struct{ *pulumi.OutputState }

func (ClusterMapOutput) ElementType added in v3.25.0

func (ClusterMapOutput) ElementType() reflect.Type

func (ClusterMapOutput) MapIndex added in v3.25.0

func (ClusterMapOutput) ToClusterMapOutput added in v3.25.0

func (o ClusterMapOutput) ToClusterMapOutput() ClusterMapOutput

func (ClusterMapOutput) ToClusterMapOutputWithContext added in v3.25.0

func (o ClusterMapOutput) ToClusterMapOutputWithContext(ctx context.Context) ClusterMapOutput

type ClusterOutput added in v3.13.0

type ClusterOutput struct {
	*pulumi.OutputState
}

func (ClusterOutput) ElementType added in v3.13.0

func (ClusterOutput) ElementType() reflect.Type

func (ClusterOutput) ToClusterOutput added in v3.13.0

func (o ClusterOutput) ToClusterOutput() ClusterOutput

func (ClusterOutput) ToClusterOutputWithContext added in v3.13.0

func (o ClusterOutput) ToClusterOutputWithContext(ctx context.Context) ClusterOutput

func (ClusterOutput) ToClusterPtrOutput added in v3.25.0

func (o ClusterOutput) ToClusterPtrOutput() ClusterPtrOutput

func (ClusterOutput) ToClusterPtrOutputWithContext added in v3.25.0

func (o ClusterOutput) ToClusterPtrOutputWithContext(ctx context.Context) ClusterPtrOutput

type ClusterPtrInput added in v3.25.0

type ClusterPtrInput interface {
	pulumi.Input

	ToClusterPtrOutput() ClusterPtrOutput
	ToClusterPtrOutputWithContext(ctx context.Context) ClusterPtrOutput
}

type ClusterPtrOutput added in v3.25.0

type ClusterPtrOutput struct {
	*pulumi.OutputState
}

func (ClusterPtrOutput) ElementType added in v3.25.0

func (ClusterPtrOutput) ElementType() reflect.Type

func (ClusterPtrOutput) ToClusterPtrOutput added in v3.25.0

func (o ClusterPtrOutput) ToClusterPtrOutput() ClusterPtrOutput

func (ClusterPtrOutput) ToClusterPtrOutputWithContext added in v3.25.0

func (o ClusterPtrOutput) ToClusterPtrOutputWithContext(ctx context.Context) ClusterPtrOutput

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
}

ClusterSnapshotCopyInput is an input type that accepts ClusterSnapshotCopyArgs and ClusterSnapshotCopyOutput values. You can construct a concrete instance of `ClusterSnapshotCopyInput` via:

ClusterSnapshotCopyArgs{...}

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
}

ClusterSnapshotCopyPtrInput is an input type that accepts ClusterSnapshotCopyArgs, ClusterSnapshotCopyPtr and ClusterSnapshotCopyPtrOutput values. You can construct a concrete instance of `ClusterSnapshotCopyPtrInput` via:

        ClusterSnapshotCopyArgs{...}

or:

        nil

type ClusterSnapshotCopyPtrOutput

type ClusterSnapshotCopyPtrOutput struct{ *pulumi.OutputState }

func (ClusterSnapshotCopyPtrOutput) DestinationRegion

func (o ClusterSnapshotCopyPtrOutput) DestinationRegion() pulumi.StringPtrOutput

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 map of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// 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

	// Amazon Resource Name (ARN) of the Redshift event notification subscription
	Arn pulumi.StringOutput `pulumi:"arn"`
	// The AWS customer account associated with the Redshift event notification subscription
	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 map of tags to assign to the resource.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
}

Provides a Redshift event subscription resource.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/redshift"
"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/sns"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		defaultCluster, err := redshift.NewCluster(ctx, "defaultCluster", &redshift.ClusterArgs{
			ClusterIdentifier: pulumi.String("default"),
			DatabaseName:      pulumi.String("default"),
		})
		if err != nil {
			return err
		}
		defaultTopic, err := sns.NewTopic(ctx, "defaultTopic", nil)
		if err != nil {
			return err
		}
		_, err = redshift.NewEventSubscription(ctx, "defaultEventSubscription", &redshift.EventSubscriptionArgs{
			SnsTopicArn: defaultTopic.Arn,
			SourceType:  pulumi.String("cluster"),
			SourceIds: pulumi.StringArray{
				defaultCluster.ID(),
			},
			Severity: pulumi.String("INFO"),
			EventCategories: pulumi.StringArray{
				pulumi.String("configuration"),
				pulumi.String("management"),
				pulumi.String("monitoring"),
				pulumi.String("security"),
			},
			Tags: pulumi.StringMap{
				"Name": pulumi.String("default"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Redshift Event Subscriptions can be imported using the `name`, e.g.

```sh

$ pulumi import aws:redshift/eventSubscription:EventSubscription default redshift-event-sub

```

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.

func (*EventSubscription) ElementType added in v3.13.0

func (*EventSubscription) ElementType() reflect.Type

func (*EventSubscription) ToEventSubscriptionOutput added in v3.13.0

func (i *EventSubscription) ToEventSubscriptionOutput() EventSubscriptionOutput

func (*EventSubscription) ToEventSubscriptionOutputWithContext added in v3.13.0

func (i *EventSubscription) ToEventSubscriptionOutputWithContext(ctx context.Context) EventSubscriptionOutput

func (*EventSubscription) ToEventSubscriptionPtrOutput added in v3.25.0

func (i *EventSubscription) ToEventSubscriptionPtrOutput() EventSubscriptionPtrOutput

func (*EventSubscription) ToEventSubscriptionPtrOutputWithContext added in v3.25.0

func (i *EventSubscription) ToEventSubscriptionPtrOutputWithContext(ctx context.Context) EventSubscriptionPtrOutput

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 map of tags to assign to the resource.
	Tags pulumi.StringMapInput
}

The set of arguments for constructing a EventSubscription resource.

func (EventSubscriptionArgs) ElementType

func (EventSubscriptionArgs) ElementType() reflect.Type

type EventSubscriptionArray added in v3.25.0

type EventSubscriptionArray []EventSubscriptionInput

func (EventSubscriptionArray) ElementType added in v3.25.0

func (EventSubscriptionArray) ElementType() reflect.Type

func (EventSubscriptionArray) ToEventSubscriptionArrayOutput added in v3.25.0

func (i EventSubscriptionArray) ToEventSubscriptionArrayOutput() EventSubscriptionArrayOutput

func (EventSubscriptionArray) ToEventSubscriptionArrayOutputWithContext added in v3.25.0

func (i EventSubscriptionArray) ToEventSubscriptionArrayOutputWithContext(ctx context.Context) EventSubscriptionArrayOutput

type EventSubscriptionArrayInput added in v3.25.0

type EventSubscriptionArrayInput interface {
	pulumi.Input

	ToEventSubscriptionArrayOutput() EventSubscriptionArrayOutput
	ToEventSubscriptionArrayOutputWithContext(context.Context) EventSubscriptionArrayOutput
}

EventSubscriptionArrayInput is an input type that accepts EventSubscriptionArray and EventSubscriptionArrayOutput values. You can construct a concrete instance of `EventSubscriptionArrayInput` via:

EventSubscriptionArray{ EventSubscriptionArgs{...} }

type EventSubscriptionArrayOutput added in v3.25.0

type EventSubscriptionArrayOutput struct{ *pulumi.OutputState }

func (EventSubscriptionArrayOutput) ElementType added in v3.25.0

func (EventSubscriptionArrayOutput) Index added in v3.25.0

func (EventSubscriptionArrayOutput) ToEventSubscriptionArrayOutput added in v3.25.0

func (o EventSubscriptionArrayOutput) ToEventSubscriptionArrayOutput() EventSubscriptionArrayOutput

func (EventSubscriptionArrayOutput) ToEventSubscriptionArrayOutputWithContext added in v3.25.0

func (o EventSubscriptionArrayOutput) ToEventSubscriptionArrayOutputWithContext(ctx context.Context) EventSubscriptionArrayOutput

type EventSubscriptionInput added in v3.13.0

type EventSubscriptionInput interface {
	pulumi.Input

	ToEventSubscriptionOutput() EventSubscriptionOutput
	ToEventSubscriptionOutputWithContext(ctx context.Context) EventSubscriptionOutput
}

type EventSubscriptionMap added in v3.25.0

type EventSubscriptionMap map[string]EventSubscriptionInput

func (EventSubscriptionMap) ElementType added in v3.25.0

func (EventSubscriptionMap) ElementType() reflect.Type

func (EventSubscriptionMap) ToEventSubscriptionMapOutput added in v3.25.0

func (i EventSubscriptionMap) ToEventSubscriptionMapOutput() EventSubscriptionMapOutput

func (EventSubscriptionMap) ToEventSubscriptionMapOutputWithContext added in v3.25.0

func (i EventSubscriptionMap) ToEventSubscriptionMapOutputWithContext(ctx context.Context) EventSubscriptionMapOutput

type EventSubscriptionMapInput added in v3.25.0

type EventSubscriptionMapInput interface {
	pulumi.Input

	ToEventSubscriptionMapOutput() EventSubscriptionMapOutput
	ToEventSubscriptionMapOutputWithContext(context.Context) EventSubscriptionMapOutput
}

EventSubscriptionMapInput is an input type that accepts EventSubscriptionMap and EventSubscriptionMapOutput values. You can construct a concrete instance of `EventSubscriptionMapInput` via:

EventSubscriptionMap{ "key": EventSubscriptionArgs{...} }

type EventSubscriptionMapOutput added in v3.25.0

type EventSubscriptionMapOutput struct{ *pulumi.OutputState }

func (EventSubscriptionMapOutput) ElementType added in v3.25.0

func (EventSubscriptionMapOutput) ElementType() reflect.Type

func (EventSubscriptionMapOutput) MapIndex added in v3.25.0

func (EventSubscriptionMapOutput) ToEventSubscriptionMapOutput added in v3.25.0

func (o EventSubscriptionMapOutput) ToEventSubscriptionMapOutput() EventSubscriptionMapOutput

func (EventSubscriptionMapOutput) ToEventSubscriptionMapOutputWithContext added in v3.25.0

func (o EventSubscriptionMapOutput) ToEventSubscriptionMapOutputWithContext(ctx context.Context) EventSubscriptionMapOutput

type EventSubscriptionOutput added in v3.13.0

type EventSubscriptionOutput struct {
	*pulumi.OutputState
}

func (EventSubscriptionOutput) ElementType added in v3.13.0

func (EventSubscriptionOutput) ElementType() reflect.Type

func (EventSubscriptionOutput) ToEventSubscriptionOutput added in v3.13.0

func (o EventSubscriptionOutput) ToEventSubscriptionOutput() EventSubscriptionOutput

func (EventSubscriptionOutput) ToEventSubscriptionOutputWithContext added in v3.13.0

func (o EventSubscriptionOutput) ToEventSubscriptionOutputWithContext(ctx context.Context) EventSubscriptionOutput

func (EventSubscriptionOutput) ToEventSubscriptionPtrOutput added in v3.25.0

func (o EventSubscriptionOutput) ToEventSubscriptionPtrOutput() EventSubscriptionPtrOutput

func (EventSubscriptionOutput) ToEventSubscriptionPtrOutputWithContext added in v3.25.0

func (o EventSubscriptionOutput) ToEventSubscriptionPtrOutputWithContext(ctx context.Context) EventSubscriptionPtrOutput

type EventSubscriptionPtrInput added in v3.25.0

type EventSubscriptionPtrInput interface {
	pulumi.Input

	ToEventSubscriptionPtrOutput() EventSubscriptionPtrOutput
	ToEventSubscriptionPtrOutputWithContext(ctx context.Context) EventSubscriptionPtrOutput
}

type EventSubscriptionPtrOutput added in v3.25.0

type EventSubscriptionPtrOutput struct {
	*pulumi.OutputState
}

func (EventSubscriptionPtrOutput) ElementType added in v3.25.0

func (EventSubscriptionPtrOutput) ElementType() reflect.Type

func (EventSubscriptionPtrOutput) ToEventSubscriptionPtrOutput added in v3.25.0

func (o EventSubscriptionPtrOutput) ToEventSubscriptionPtrOutput() EventSubscriptionPtrOutput

func (EventSubscriptionPtrOutput) ToEventSubscriptionPtrOutputWithContext added in v3.25.0

func (o EventSubscriptionPtrOutput) ToEventSubscriptionPtrOutputWithContext(ctx context.Context) EventSubscriptionPtrOutput

type EventSubscriptionState

type EventSubscriptionState struct {
	// Amazon Resource Name (ARN) of the Redshift event notification subscription
	Arn pulumi.StringPtrInput
	// The AWS customer account associated with the Redshift event notification subscription
	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 map of tags to assign to the resource.
	Tags pulumi.StringMapInput
}

func (EventSubscriptionState) ElementType

func (EventSubscriptionState) ElementType() reflect.Type

type GetOrderableClusterArgs added in v3.7.0

type GetOrderableClusterArgs struct {
	// Reshift Cluster type. e.g. `multi-node` or `single-node`
	ClusterType *string `pulumi:"clusterType"`
	// Redshift Cluster version. e.g. `1.0`
	ClusterVersion *string `pulumi:"clusterVersion"`
	// Redshift Cluster node type. e.g. `dc2.8xlarge`
	NodeType *string `pulumi:"nodeType"`
	// Ordered list of preferred Redshift Cluster node types. The first match in this list will be returned. If no preferred matches are found and the original search returned more than one result, an error is returned.
	PreferredNodeTypes []string `pulumi:"preferredNodeTypes"`
}

A collection of arguments for invoking getOrderableCluster.

type GetOrderableClusterResult added in v3.7.0

type GetOrderableClusterResult struct {
	// List of Availability Zone names where the Redshit Cluster is available.
	AvailabilityZones []string `pulumi:"availabilityZones"`
	ClusterType       string   `pulumi:"clusterType"`
	ClusterVersion    string   `pulumi:"clusterVersion"`
	// The provider-assigned unique ID for this managed resource.
	Id                 string   `pulumi:"id"`
	NodeType           string   `pulumi:"nodeType"`
	PreferredNodeTypes []string `pulumi:"preferredNodeTypes"`
}

A collection of values returned by getOrderableCluster.

func GetOrderableCluster added in v3.7.0

func GetOrderableCluster(ctx *pulumi.Context, args *GetOrderableClusterArgs, opts ...pulumi.InvokeOption) (*GetOrderableClusterResult, error)

Information about Redshift Orderable Clusters and valid parameter combinations.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/redshift"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		opt0 := "multi-node"
		_, err := redshift.GetOrderableCluster(ctx, &redshift.GetOrderableClusterArgs{
			ClusterType: &opt0,
			PreferredNodeTypes: []string{
				"dc2.large",
				"ds2.xlarge",
			},
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

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"`
	// 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.

## Example Usage

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/redshift"
"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		main, err := redshift.GetServiceAccount(ctx, nil, nil)
		if err != nil {
			return err
		}
		_, err = s3.NewBucket(ctx, "bucket", &s3.BucketArgs{
			ForceDestroy: pulumi.Bool(true),
			Policy: pulumi.String(fmt.Sprintf("%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v", "{\n", "	\"Version\": \"2008-10-17\",\n", "	\"Statement\": [\n", "		{\n", "            \"Sid\": \"Put bucket policy needed for audit logging\",\n", "            \"Effect\": \"Allow\",\n", "            \"Principal\": {\n", "		        \"AWS\": \"", main.Arn, "\"\n", "            },\n", "            \"Action\": \"s3:PutObject\",\n", "            \"Resource\": \"arn:aws:s3:::tf-redshift-logging-test-bucket/*\"\n", "        },\n", "        {\n", "            \"Sid\": \"Get bucket policy needed for audit logging \",\n", "            \"Effect\": \"Allow\",\n", "            \"Principal\": {\n", "		        \"AWS\": \"", main.Arn, "\"\n", "            },\n", "            \"Action\": \"s3:GetBucketAcl\",\n", "            \"Resource\": \"arn:aws:s3:::tf-redshift-logging-test-bucket\"\n", "        }\n", "	]\n", "}\n", "\n")),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupClusterArgs

type LookupClusterArgs struct {
	// The cluster identifier
	ClusterIdentifier string `pulumi:"clusterIdentifier"`
	// The tags associated to the cluster
	Tags map[string]string `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"`
	// 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]string `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.

## Example Usage

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/kinesis"
"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/redshift"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		testCluster, err := redshift.LookupCluster(ctx, &redshift.LookupClusterArgs{
			ClusterIdentifier: "test-cluster",
		}, nil)
		if err != nil {
			return err
		}
		_, err = kinesis.NewFirehoseDeliveryStream(ctx, "testStream", &kinesis.FirehoseDeliveryStreamArgs{
			Destination: pulumi.String("redshift"),
			S3Configuration: &kinesis.FirehoseDeliveryStreamS3ConfigurationArgs{
				RoleArn:           pulumi.Any(aws_iam_role.Firehose_role.Arn),
				BucketArn:         pulumi.Any(aws_s3_bucket.Bucket.Arn),
				BufferSize:        pulumi.Int(10),
				BufferInterval:    pulumi.Int(400),
				CompressionFormat: pulumi.String("GZIP"),
			},
			RedshiftConfiguration: &kinesis.FirehoseDeliveryStreamRedshiftConfigurationArgs{
				RoleArn:          pulumi.Any(aws_iam_role.Firehose_role.Arn),
				ClusterJdbcurl:   pulumi.String(fmt.Sprintf("%v%v%v%v", "jdbc:redshift://", testCluster.Endpoint, "/", testCluster.DatabaseName)),
				Username:         pulumi.String("testuser"),
				Password:         pulumi.String("T3stPass"),
				DataTableName:    pulumi.String("test-table"),
				CopyOptions:      pulumi.String("delimiter '|'"),
				DataTableColumns: pulumi.String("test-col"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

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 map of tags to assign to the resource.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
}

Provides a Redshift Cluster parameter group resource.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/redshift"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := redshift.NewParameterGroup(ctx, "bar", &redshift.ParameterGroupArgs{
			Family: pulumi.String("redshift-1.0"),
			Parameters: redshift.ParameterGroupParameterArray{
				&redshift.ParameterGroupParameterArgs{
					Name:  pulumi.String("require_ssl"),
					Value: pulumi.String("true"),
				},
				&redshift.ParameterGroupParameterArgs{
					Name:  pulumi.String("query_group"),
					Value: pulumi.String("example"),
				},
				&redshift.ParameterGroupParameterArgs{
					Name:  pulumi.String("enable_user_activity_logging"),
					Value: pulumi.String("true"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Redshift Parameter Groups can be imported using the `name`, e.g.

```sh

$ pulumi import aws:redshift/parameterGroup:ParameterGroup paramgroup1 parameter-group-test

```

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.

func (*ParameterGroup) ElementType added in v3.13.0

func (*ParameterGroup) ElementType() reflect.Type

func (*ParameterGroup) ToParameterGroupOutput added in v3.13.0

func (i *ParameterGroup) ToParameterGroupOutput() ParameterGroupOutput

func (*ParameterGroup) ToParameterGroupOutputWithContext added in v3.13.0

func (i *ParameterGroup) ToParameterGroupOutputWithContext(ctx context.Context) ParameterGroupOutput

func (*ParameterGroup) ToParameterGroupPtrOutput added in v3.25.0

func (i *ParameterGroup) ToParameterGroupPtrOutput() ParameterGroupPtrOutput

func (*ParameterGroup) ToParameterGroupPtrOutputWithContext added in v3.25.0

func (i *ParameterGroup) ToParameterGroupPtrOutputWithContext(ctx context.Context) ParameterGroupPtrOutput

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 map of tags to assign to the resource.
	Tags pulumi.StringMapInput
}

The set of arguments for constructing a ParameterGroup resource.

func (ParameterGroupArgs) ElementType

func (ParameterGroupArgs) ElementType() reflect.Type

type ParameterGroupArray added in v3.25.0

type ParameterGroupArray []ParameterGroupInput

func (ParameterGroupArray) ElementType added in v3.25.0

func (ParameterGroupArray) ElementType() reflect.Type

func (ParameterGroupArray) ToParameterGroupArrayOutput added in v3.25.0

func (i ParameterGroupArray) ToParameterGroupArrayOutput() ParameterGroupArrayOutput

func (ParameterGroupArray) ToParameterGroupArrayOutputWithContext added in v3.25.0

func (i ParameterGroupArray) ToParameterGroupArrayOutputWithContext(ctx context.Context) ParameterGroupArrayOutput

type ParameterGroupArrayInput added in v3.25.0

type ParameterGroupArrayInput interface {
	pulumi.Input

	ToParameterGroupArrayOutput() ParameterGroupArrayOutput
	ToParameterGroupArrayOutputWithContext(context.Context) ParameterGroupArrayOutput
}

ParameterGroupArrayInput is an input type that accepts ParameterGroupArray and ParameterGroupArrayOutput values. You can construct a concrete instance of `ParameterGroupArrayInput` via:

ParameterGroupArray{ ParameterGroupArgs{...} }

type ParameterGroupArrayOutput added in v3.25.0

type ParameterGroupArrayOutput struct{ *pulumi.OutputState }

func (ParameterGroupArrayOutput) ElementType added in v3.25.0

func (ParameterGroupArrayOutput) ElementType() reflect.Type

func (ParameterGroupArrayOutput) Index added in v3.25.0

func (ParameterGroupArrayOutput) ToParameterGroupArrayOutput added in v3.25.0

func (o ParameterGroupArrayOutput) ToParameterGroupArrayOutput() ParameterGroupArrayOutput

func (ParameterGroupArrayOutput) ToParameterGroupArrayOutputWithContext added in v3.25.0

func (o ParameterGroupArrayOutput) ToParameterGroupArrayOutputWithContext(ctx context.Context) ParameterGroupArrayOutput

type ParameterGroupInput added in v3.13.0

type ParameterGroupInput interface {
	pulumi.Input

	ToParameterGroupOutput() ParameterGroupOutput
	ToParameterGroupOutputWithContext(ctx context.Context) ParameterGroupOutput
}

type ParameterGroupMap added in v3.25.0

type ParameterGroupMap map[string]ParameterGroupInput

func (ParameterGroupMap) ElementType added in v3.25.0

func (ParameterGroupMap) ElementType() reflect.Type

func (ParameterGroupMap) ToParameterGroupMapOutput added in v3.25.0

func (i ParameterGroupMap) ToParameterGroupMapOutput() ParameterGroupMapOutput

func (ParameterGroupMap) ToParameterGroupMapOutputWithContext added in v3.25.0

func (i ParameterGroupMap) ToParameterGroupMapOutputWithContext(ctx context.Context) ParameterGroupMapOutput

type ParameterGroupMapInput added in v3.25.0

type ParameterGroupMapInput interface {
	pulumi.Input

	ToParameterGroupMapOutput() ParameterGroupMapOutput
	ToParameterGroupMapOutputWithContext(context.Context) ParameterGroupMapOutput
}

ParameterGroupMapInput is an input type that accepts ParameterGroupMap and ParameterGroupMapOutput values. You can construct a concrete instance of `ParameterGroupMapInput` via:

ParameterGroupMap{ "key": ParameterGroupArgs{...} }

type ParameterGroupMapOutput added in v3.25.0

type ParameterGroupMapOutput struct{ *pulumi.OutputState }

func (ParameterGroupMapOutput) ElementType added in v3.25.0

func (ParameterGroupMapOutput) ElementType() reflect.Type

func (ParameterGroupMapOutput) MapIndex added in v3.25.0

func (ParameterGroupMapOutput) ToParameterGroupMapOutput added in v3.25.0

func (o ParameterGroupMapOutput) ToParameterGroupMapOutput() ParameterGroupMapOutput

func (ParameterGroupMapOutput) ToParameterGroupMapOutputWithContext added in v3.25.0

func (o ParameterGroupMapOutput) ToParameterGroupMapOutputWithContext(ctx context.Context) ParameterGroupMapOutput

type ParameterGroupOutput added in v3.13.0

type ParameterGroupOutput struct {
	*pulumi.OutputState
}

func (ParameterGroupOutput) ElementType added in v3.13.0

func (ParameterGroupOutput) ElementType() reflect.Type

func (ParameterGroupOutput) ToParameterGroupOutput added in v3.13.0

func (o ParameterGroupOutput) ToParameterGroupOutput() ParameterGroupOutput

func (ParameterGroupOutput) ToParameterGroupOutputWithContext added in v3.13.0

func (o ParameterGroupOutput) ToParameterGroupOutputWithContext(ctx context.Context) ParameterGroupOutput

func (ParameterGroupOutput) ToParameterGroupPtrOutput added in v3.25.0

func (o ParameterGroupOutput) ToParameterGroupPtrOutput() ParameterGroupPtrOutput

func (ParameterGroupOutput) ToParameterGroupPtrOutputWithContext added in v3.25.0

func (o ParameterGroupOutput) ToParameterGroupPtrOutputWithContext(ctx context.Context) ParameterGroupPtrOutput

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
}

ParameterGroupParameterArrayInput is an input type that accepts ParameterGroupParameterArray and ParameterGroupParameterArrayOutput values. You can construct a concrete instance of `ParameterGroupParameterArrayInput` via:

ParameterGroupParameterArray{ ParameterGroupParameterArgs{...} }

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
}

ParameterGroupParameterInput is an input type that accepts ParameterGroupParameterArgs and ParameterGroupParameterOutput values. You can construct a concrete instance of `ParameterGroupParameterInput` via:

ParameterGroupParameterArgs{...}

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 ParameterGroupPtrInput added in v3.25.0

type ParameterGroupPtrInput interface {
	pulumi.Input

	ToParameterGroupPtrOutput() ParameterGroupPtrOutput
	ToParameterGroupPtrOutputWithContext(ctx context.Context) ParameterGroupPtrOutput
}

type ParameterGroupPtrOutput added in v3.25.0

type ParameterGroupPtrOutput struct {
	*pulumi.OutputState
}

func (ParameterGroupPtrOutput) ElementType added in v3.25.0

func (ParameterGroupPtrOutput) ElementType() reflect.Type

func (ParameterGroupPtrOutput) ToParameterGroupPtrOutput added in v3.25.0

func (o ParameterGroupPtrOutput) ToParameterGroupPtrOutput() ParameterGroupPtrOutput

func (ParameterGroupPtrOutput) ToParameterGroupPtrOutputWithContext added in v3.25.0

func (o ParameterGroupPtrOutput) ToParameterGroupPtrOutputWithContext(ctx context.Context) ParameterGroupPtrOutput

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 map of tags to assign to the resource.
	Tags pulumi.StringMapInput
}

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

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/redshift"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := redshift.NewSecurityGroup(ctx, "_default", &redshift.SecurityGroupArgs{
			Ingress: redshift.SecurityGroupIngressArray{
				&redshift.SecurityGroupIngressArgs{
					Cidr: pulumi.String("10.0.0.0/24"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Redshift security groups can be imported using the `name`, e.g.

```sh

$ pulumi import aws:redshift/securityGroup:SecurityGroup testgroup1 redshift_test_group

```

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.

func (*SecurityGroup) ElementType added in v3.13.0

func (*SecurityGroup) ElementType() reflect.Type

func (*SecurityGroup) ToSecurityGroupOutput added in v3.13.0

func (i *SecurityGroup) ToSecurityGroupOutput() SecurityGroupOutput

func (*SecurityGroup) ToSecurityGroupOutputWithContext added in v3.13.0

func (i *SecurityGroup) ToSecurityGroupOutputWithContext(ctx context.Context) SecurityGroupOutput

func (*SecurityGroup) ToSecurityGroupPtrOutput added in v3.25.0

func (i *SecurityGroup) ToSecurityGroupPtrOutput() SecurityGroupPtrOutput

func (*SecurityGroup) ToSecurityGroupPtrOutputWithContext added in v3.25.0

func (i *SecurityGroup) ToSecurityGroupPtrOutputWithContext(ctx context.Context) SecurityGroupPtrOutput

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 SecurityGroupArray added in v3.25.0

type SecurityGroupArray []SecurityGroupInput

func (SecurityGroupArray) ElementType added in v3.25.0

func (SecurityGroupArray) ElementType() reflect.Type

func (SecurityGroupArray) ToSecurityGroupArrayOutput added in v3.25.0

func (i SecurityGroupArray) ToSecurityGroupArrayOutput() SecurityGroupArrayOutput

func (SecurityGroupArray) ToSecurityGroupArrayOutputWithContext added in v3.25.0

func (i SecurityGroupArray) ToSecurityGroupArrayOutputWithContext(ctx context.Context) SecurityGroupArrayOutput

type SecurityGroupArrayInput added in v3.25.0

type SecurityGroupArrayInput interface {
	pulumi.Input

	ToSecurityGroupArrayOutput() SecurityGroupArrayOutput
	ToSecurityGroupArrayOutputWithContext(context.Context) SecurityGroupArrayOutput
}

SecurityGroupArrayInput is an input type that accepts SecurityGroupArray and SecurityGroupArrayOutput values. You can construct a concrete instance of `SecurityGroupArrayInput` via:

SecurityGroupArray{ SecurityGroupArgs{...} }

type SecurityGroupArrayOutput added in v3.25.0

type SecurityGroupArrayOutput struct{ *pulumi.OutputState }

func (SecurityGroupArrayOutput) ElementType added in v3.25.0

func (SecurityGroupArrayOutput) ElementType() reflect.Type

func (SecurityGroupArrayOutput) Index added in v3.25.0

func (SecurityGroupArrayOutput) ToSecurityGroupArrayOutput added in v3.25.0

func (o SecurityGroupArrayOutput) ToSecurityGroupArrayOutput() SecurityGroupArrayOutput

func (SecurityGroupArrayOutput) ToSecurityGroupArrayOutputWithContext added in v3.25.0

func (o SecurityGroupArrayOutput) ToSecurityGroupArrayOutputWithContext(ctx context.Context) SecurityGroupArrayOutput

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
}

SecurityGroupIngressArrayInput is an input type that accepts SecurityGroupIngressArray and SecurityGroupIngressArrayOutput values. You can construct a concrete instance of `SecurityGroupIngressArrayInput` via:

SecurityGroupIngressArray{ SecurityGroupIngressArgs{...} }

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
}

SecurityGroupIngressInput is an input type that accepts SecurityGroupIngressArgs and SecurityGroupIngressOutput values. You can construct a concrete instance of `SecurityGroupIngressInput` via:

SecurityGroupIngressArgs{...}

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 SecurityGroupInput added in v3.13.0

type SecurityGroupInput interface {
	pulumi.Input

	ToSecurityGroupOutput() SecurityGroupOutput
	ToSecurityGroupOutputWithContext(ctx context.Context) SecurityGroupOutput
}

type SecurityGroupMap added in v3.25.0

type SecurityGroupMap map[string]SecurityGroupInput

func (SecurityGroupMap) ElementType added in v3.25.0

func (SecurityGroupMap) ElementType() reflect.Type

func (SecurityGroupMap) ToSecurityGroupMapOutput added in v3.25.0

func (i SecurityGroupMap) ToSecurityGroupMapOutput() SecurityGroupMapOutput

func (SecurityGroupMap) ToSecurityGroupMapOutputWithContext added in v3.25.0

func (i SecurityGroupMap) ToSecurityGroupMapOutputWithContext(ctx context.Context) SecurityGroupMapOutput

type SecurityGroupMapInput added in v3.25.0

type SecurityGroupMapInput interface {
	pulumi.Input

	ToSecurityGroupMapOutput() SecurityGroupMapOutput
	ToSecurityGroupMapOutputWithContext(context.Context) SecurityGroupMapOutput
}

SecurityGroupMapInput is an input type that accepts SecurityGroupMap and SecurityGroupMapOutput values. You can construct a concrete instance of `SecurityGroupMapInput` via:

SecurityGroupMap{ "key": SecurityGroupArgs{...} }

type SecurityGroupMapOutput added in v3.25.0

type SecurityGroupMapOutput struct{ *pulumi.OutputState }

func (SecurityGroupMapOutput) ElementType added in v3.25.0

func (SecurityGroupMapOutput) ElementType() reflect.Type

func (SecurityGroupMapOutput) MapIndex added in v3.25.0

func (SecurityGroupMapOutput) ToSecurityGroupMapOutput added in v3.25.0

func (o SecurityGroupMapOutput) ToSecurityGroupMapOutput() SecurityGroupMapOutput

func (SecurityGroupMapOutput) ToSecurityGroupMapOutputWithContext added in v3.25.0

func (o SecurityGroupMapOutput) ToSecurityGroupMapOutputWithContext(ctx context.Context) SecurityGroupMapOutput

type SecurityGroupOutput added in v3.13.0

type SecurityGroupOutput struct {
	*pulumi.OutputState
}

func (SecurityGroupOutput) ElementType added in v3.13.0

func (SecurityGroupOutput) ElementType() reflect.Type

func (SecurityGroupOutput) ToSecurityGroupOutput added in v3.13.0

func (o SecurityGroupOutput) ToSecurityGroupOutput() SecurityGroupOutput

func (SecurityGroupOutput) ToSecurityGroupOutputWithContext added in v3.13.0

func (o SecurityGroupOutput) ToSecurityGroupOutputWithContext(ctx context.Context) SecurityGroupOutput

func (SecurityGroupOutput) ToSecurityGroupPtrOutput added in v3.25.0

func (o SecurityGroupOutput) ToSecurityGroupPtrOutput() SecurityGroupPtrOutput

func (SecurityGroupOutput) ToSecurityGroupPtrOutputWithContext added in v3.25.0

func (o SecurityGroupOutput) ToSecurityGroupPtrOutputWithContext(ctx context.Context) SecurityGroupPtrOutput

type SecurityGroupPtrInput added in v3.25.0

type SecurityGroupPtrInput interface {
	pulumi.Input

	ToSecurityGroupPtrOutput() SecurityGroupPtrOutput
	ToSecurityGroupPtrOutputWithContext(ctx context.Context) SecurityGroupPtrOutput
}

type SecurityGroupPtrOutput added in v3.25.0

type SecurityGroupPtrOutput struct {
	*pulumi.OutputState
}

func (SecurityGroupPtrOutput) ElementType added in v3.25.0

func (SecurityGroupPtrOutput) ElementType() reflect.Type

func (SecurityGroupPtrOutput) ToSecurityGroupPtrOutput added in v3.25.0

func (o SecurityGroupPtrOutput) ToSecurityGroupPtrOutput() SecurityGroupPtrOutput

func (SecurityGroupPtrOutput) ToSecurityGroupPtrOutputWithContext added in v3.25.0

func (o SecurityGroupPtrOutput) ToSecurityGroupPtrOutputWithContext(ctx context.Context) SecurityGroupPtrOutput

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 map of tags to assign to the resource.
	Tags pulumi.StringMapOutput `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.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/redshift"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		testSnapshotCopyGrant, err := redshift.NewSnapshotCopyGrant(ctx, "testSnapshotCopyGrant", &redshift.SnapshotCopyGrantArgs{
			SnapshotCopyGrantName: pulumi.String("my-grant"),
		})
		if err != nil {
			return err
		}
		_, err = redshift.NewCluster(ctx, "testCluster", &redshift.ClusterArgs{
			SnapshotCopy: &redshift.ClusterSnapshotCopyArgs{
				DestinationRegion: pulumi.String("us-east-2"),
				GrantName:         testSnapshotCopyGrant.SnapshotCopyGrantName,
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Redshift Snapshot Copy Grants support import by name, e.g. console

```sh

$ pulumi import aws:redshift/snapshotCopyGrant:SnapshotCopyGrant test my-grant

```

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.

func (*SnapshotCopyGrant) ElementType added in v3.13.0

func (*SnapshotCopyGrant) ElementType() reflect.Type

func (*SnapshotCopyGrant) ToSnapshotCopyGrantOutput added in v3.13.0

func (i *SnapshotCopyGrant) ToSnapshotCopyGrantOutput() SnapshotCopyGrantOutput

func (*SnapshotCopyGrant) ToSnapshotCopyGrantOutputWithContext added in v3.13.0

func (i *SnapshotCopyGrant) ToSnapshotCopyGrantOutputWithContext(ctx context.Context) SnapshotCopyGrantOutput

func (*SnapshotCopyGrant) ToSnapshotCopyGrantPtrOutput added in v3.25.0

func (i *SnapshotCopyGrant) ToSnapshotCopyGrantPtrOutput() SnapshotCopyGrantPtrOutput

func (*SnapshotCopyGrant) ToSnapshotCopyGrantPtrOutputWithContext added in v3.25.0

func (i *SnapshotCopyGrant) ToSnapshotCopyGrantPtrOutputWithContext(ctx context.Context) SnapshotCopyGrantPtrOutput

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 map of tags to assign to the resource.
	Tags pulumi.StringMapInput
}

The set of arguments for constructing a SnapshotCopyGrant resource.

func (SnapshotCopyGrantArgs) ElementType

func (SnapshotCopyGrantArgs) ElementType() reflect.Type

type SnapshotCopyGrantArray added in v3.25.0

type SnapshotCopyGrantArray []SnapshotCopyGrantInput

func (SnapshotCopyGrantArray) ElementType added in v3.25.0

func (SnapshotCopyGrantArray) ElementType() reflect.Type

func (SnapshotCopyGrantArray) ToSnapshotCopyGrantArrayOutput added in v3.25.0

func (i SnapshotCopyGrantArray) ToSnapshotCopyGrantArrayOutput() SnapshotCopyGrantArrayOutput

func (SnapshotCopyGrantArray) ToSnapshotCopyGrantArrayOutputWithContext added in v3.25.0

func (i SnapshotCopyGrantArray) ToSnapshotCopyGrantArrayOutputWithContext(ctx context.Context) SnapshotCopyGrantArrayOutput

type SnapshotCopyGrantArrayInput added in v3.25.0

type SnapshotCopyGrantArrayInput interface {
	pulumi.Input

	ToSnapshotCopyGrantArrayOutput() SnapshotCopyGrantArrayOutput
	ToSnapshotCopyGrantArrayOutputWithContext(context.Context) SnapshotCopyGrantArrayOutput
}

SnapshotCopyGrantArrayInput is an input type that accepts SnapshotCopyGrantArray and SnapshotCopyGrantArrayOutput values. You can construct a concrete instance of `SnapshotCopyGrantArrayInput` via:

SnapshotCopyGrantArray{ SnapshotCopyGrantArgs{...} }

type SnapshotCopyGrantArrayOutput added in v3.25.0

type SnapshotCopyGrantArrayOutput struct{ *pulumi.OutputState }

func (SnapshotCopyGrantArrayOutput) ElementType added in v3.25.0

func (SnapshotCopyGrantArrayOutput) Index added in v3.25.0

func (SnapshotCopyGrantArrayOutput) ToSnapshotCopyGrantArrayOutput added in v3.25.0

func (o SnapshotCopyGrantArrayOutput) ToSnapshotCopyGrantArrayOutput() SnapshotCopyGrantArrayOutput

func (SnapshotCopyGrantArrayOutput) ToSnapshotCopyGrantArrayOutputWithContext added in v3.25.0

func (o SnapshotCopyGrantArrayOutput) ToSnapshotCopyGrantArrayOutputWithContext(ctx context.Context) SnapshotCopyGrantArrayOutput

type SnapshotCopyGrantInput added in v3.13.0

type SnapshotCopyGrantInput interface {
	pulumi.Input

	ToSnapshotCopyGrantOutput() SnapshotCopyGrantOutput
	ToSnapshotCopyGrantOutputWithContext(ctx context.Context) SnapshotCopyGrantOutput
}

type SnapshotCopyGrantMap added in v3.25.0

type SnapshotCopyGrantMap map[string]SnapshotCopyGrantInput

func (SnapshotCopyGrantMap) ElementType added in v3.25.0

func (SnapshotCopyGrantMap) ElementType() reflect.Type

func (SnapshotCopyGrantMap) ToSnapshotCopyGrantMapOutput added in v3.25.0

func (i SnapshotCopyGrantMap) ToSnapshotCopyGrantMapOutput() SnapshotCopyGrantMapOutput

func (SnapshotCopyGrantMap) ToSnapshotCopyGrantMapOutputWithContext added in v3.25.0

func (i SnapshotCopyGrantMap) ToSnapshotCopyGrantMapOutputWithContext(ctx context.Context) SnapshotCopyGrantMapOutput

type SnapshotCopyGrantMapInput added in v3.25.0

type SnapshotCopyGrantMapInput interface {
	pulumi.Input

	ToSnapshotCopyGrantMapOutput() SnapshotCopyGrantMapOutput
	ToSnapshotCopyGrantMapOutputWithContext(context.Context) SnapshotCopyGrantMapOutput
}

SnapshotCopyGrantMapInput is an input type that accepts SnapshotCopyGrantMap and SnapshotCopyGrantMapOutput values. You can construct a concrete instance of `SnapshotCopyGrantMapInput` via:

SnapshotCopyGrantMap{ "key": SnapshotCopyGrantArgs{...} }

type SnapshotCopyGrantMapOutput added in v3.25.0

type SnapshotCopyGrantMapOutput struct{ *pulumi.OutputState }

func (SnapshotCopyGrantMapOutput) ElementType added in v3.25.0

func (SnapshotCopyGrantMapOutput) ElementType() reflect.Type

func (SnapshotCopyGrantMapOutput) MapIndex added in v3.25.0

func (SnapshotCopyGrantMapOutput) ToSnapshotCopyGrantMapOutput added in v3.25.0

func (o SnapshotCopyGrantMapOutput) ToSnapshotCopyGrantMapOutput() SnapshotCopyGrantMapOutput

func (SnapshotCopyGrantMapOutput) ToSnapshotCopyGrantMapOutputWithContext added in v3.25.0

func (o SnapshotCopyGrantMapOutput) ToSnapshotCopyGrantMapOutputWithContext(ctx context.Context) SnapshotCopyGrantMapOutput

type SnapshotCopyGrantOutput added in v3.13.0

type SnapshotCopyGrantOutput struct {
	*pulumi.OutputState
}

func (SnapshotCopyGrantOutput) ElementType added in v3.13.0

func (SnapshotCopyGrantOutput) ElementType() reflect.Type

func (SnapshotCopyGrantOutput) ToSnapshotCopyGrantOutput added in v3.13.0

func (o SnapshotCopyGrantOutput) ToSnapshotCopyGrantOutput() SnapshotCopyGrantOutput

func (SnapshotCopyGrantOutput) ToSnapshotCopyGrantOutputWithContext added in v3.13.0

func (o SnapshotCopyGrantOutput) ToSnapshotCopyGrantOutputWithContext(ctx context.Context) SnapshotCopyGrantOutput

func (SnapshotCopyGrantOutput) ToSnapshotCopyGrantPtrOutput added in v3.25.0

func (o SnapshotCopyGrantOutput) ToSnapshotCopyGrantPtrOutput() SnapshotCopyGrantPtrOutput

func (SnapshotCopyGrantOutput) ToSnapshotCopyGrantPtrOutputWithContext added in v3.25.0

func (o SnapshotCopyGrantOutput) ToSnapshotCopyGrantPtrOutputWithContext(ctx context.Context) SnapshotCopyGrantPtrOutput

type SnapshotCopyGrantPtrInput added in v3.25.0

type SnapshotCopyGrantPtrInput interface {
	pulumi.Input

	ToSnapshotCopyGrantPtrOutput() SnapshotCopyGrantPtrOutput
	ToSnapshotCopyGrantPtrOutputWithContext(ctx context.Context) SnapshotCopyGrantPtrOutput
}

type SnapshotCopyGrantPtrOutput added in v3.25.0

type SnapshotCopyGrantPtrOutput struct {
	*pulumi.OutputState
}

func (SnapshotCopyGrantPtrOutput) ElementType added in v3.25.0

func (SnapshotCopyGrantPtrOutput) ElementType() reflect.Type

func (SnapshotCopyGrantPtrOutput) ToSnapshotCopyGrantPtrOutput added in v3.25.0

func (o SnapshotCopyGrantPtrOutput) ToSnapshotCopyGrantPtrOutput() SnapshotCopyGrantPtrOutput

func (SnapshotCopyGrantPtrOutput) ToSnapshotCopyGrantPtrOutputWithContext added in v3.25.0

func (o SnapshotCopyGrantPtrOutput) ToSnapshotCopyGrantPtrOutputWithContext(ctx context.Context) SnapshotCopyGrantPtrOutput

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 map of tags to assign to the resource.
	Tags pulumi.StringMapInput
}

func (SnapshotCopyGrantState) ElementType

func (SnapshotCopyGrantState) ElementType() reflect.Type

type SnapshotSchedule

type SnapshotSchedule struct {
	pulumi.CustomResourceState

	// Amazon Resource Name (ARN) of the Redshift Snapshot Schedule.
	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 map of tags to assign to the resource.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
}

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/redshift"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := redshift.NewSnapshotSchedule(ctx, "_default", &redshift.SnapshotScheduleArgs{
			Definitions: pulumi.StringArray{
				pulumi.String("rate(12 hours)"),
			},
			Identifier: pulumi.String("tf-redshift-snapshot-schedule"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Redshift Snapshot Schedule can be imported using the `identifier`, e.g.

```sh

$ pulumi import aws:redshift/snapshotSchedule:SnapshotSchedule default tf-redshift-snapshot-schedule

```

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.

func (*SnapshotSchedule) ElementType added in v3.13.0

func (*SnapshotSchedule) ElementType() reflect.Type

func (*SnapshotSchedule) ToSnapshotScheduleOutput added in v3.13.0

func (i *SnapshotSchedule) ToSnapshotScheduleOutput() SnapshotScheduleOutput

func (*SnapshotSchedule) ToSnapshotScheduleOutputWithContext added in v3.13.0

func (i *SnapshotSchedule) ToSnapshotScheduleOutputWithContext(ctx context.Context) SnapshotScheduleOutput

func (*SnapshotSchedule) ToSnapshotSchedulePtrOutput added in v3.25.0

func (i *SnapshotSchedule) ToSnapshotSchedulePtrOutput() SnapshotSchedulePtrOutput

func (*SnapshotSchedule) ToSnapshotSchedulePtrOutputWithContext added in v3.25.0

func (i *SnapshotSchedule) ToSnapshotSchedulePtrOutputWithContext(ctx context.Context) SnapshotSchedulePtrOutput

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 map of tags to assign to the resource.
	Tags pulumi.StringMapInput
}

The set of arguments for constructing a SnapshotSchedule resource.

func (SnapshotScheduleArgs) ElementType

func (SnapshotScheduleArgs) ElementType() reflect.Type

type SnapshotScheduleArray added in v3.25.0

type SnapshotScheduleArray []SnapshotScheduleInput

func (SnapshotScheduleArray) ElementType added in v3.25.0

func (SnapshotScheduleArray) ElementType() reflect.Type

func (SnapshotScheduleArray) ToSnapshotScheduleArrayOutput added in v3.25.0

func (i SnapshotScheduleArray) ToSnapshotScheduleArrayOutput() SnapshotScheduleArrayOutput

func (SnapshotScheduleArray) ToSnapshotScheduleArrayOutputWithContext added in v3.25.0

func (i SnapshotScheduleArray) ToSnapshotScheduleArrayOutputWithContext(ctx context.Context) SnapshotScheduleArrayOutput

type SnapshotScheduleArrayInput added in v3.25.0

type SnapshotScheduleArrayInput interface {
	pulumi.Input

	ToSnapshotScheduleArrayOutput() SnapshotScheduleArrayOutput
	ToSnapshotScheduleArrayOutputWithContext(context.Context) SnapshotScheduleArrayOutput
}

SnapshotScheduleArrayInput is an input type that accepts SnapshotScheduleArray and SnapshotScheduleArrayOutput values. You can construct a concrete instance of `SnapshotScheduleArrayInput` via:

SnapshotScheduleArray{ SnapshotScheduleArgs{...} }

type SnapshotScheduleArrayOutput added in v3.25.0

type SnapshotScheduleArrayOutput struct{ *pulumi.OutputState }

func (SnapshotScheduleArrayOutput) ElementType added in v3.25.0

func (SnapshotScheduleArrayOutput) Index added in v3.25.0

func (SnapshotScheduleArrayOutput) ToSnapshotScheduleArrayOutput added in v3.25.0

func (o SnapshotScheduleArrayOutput) ToSnapshotScheduleArrayOutput() SnapshotScheduleArrayOutput

func (SnapshotScheduleArrayOutput) ToSnapshotScheduleArrayOutputWithContext added in v3.25.0

func (o SnapshotScheduleArrayOutput) ToSnapshotScheduleArrayOutputWithContext(ctx context.Context) SnapshotScheduleArrayOutput

type SnapshotScheduleAssociation

type SnapshotScheduleAssociation struct {
	pulumi.CustomResourceState

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

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/redshift"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		defaultCluster, err := redshift.NewCluster(ctx, "defaultCluster", &redshift.ClusterArgs{
			ClusterIdentifier: pulumi.String("tf-redshift-cluster"),
			DatabaseName:      pulumi.String("mydb"),
			MasterUsername:    pulumi.String("foo"),
			MasterPassword:    pulumi.String("Mustbe8characters"),
			NodeType:          pulumi.String("dc1.large"),
			ClusterType:       pulumi.String("single-node"),
		})
		if err != nil {
			return err
		}
		defaultSnapshotSchedule, err := redshift.NewSnapshotSchedule(ctx, "defaultSnapshotSchedule", &redshift.SnapshotScheduleArgs{
			Identifier: pulumi.String("tf-redshift-snapshot-schedule"),
			Definitions: pulumi.StringArray{
				pulumi.String("rate(12 hours)"),
			},
		})
		if err != nil {
			return err
		}
		_, err = redshift.NewSnapshotScheduleAssociation(ctx, "defaultSnapshotScheduleAssociation", &redshift.SnapshotScheduleAssociationArgs{
			ClusterIdentifier:  defaultCluster.ID(),
			ScheduleIdentifier: defaultSnapshotSchedule.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Redshift Snapshot Schedule Association can be imported using the `<cluster-identifier>/<schedule-identifier>`, e.g.

```sh

$ pulumi import aws:redshift/snapshotScheduleAssociation:SnapshotScheduleAssociation default tf-redshift-cluster/tf-redshift-snapshot-schedule

```

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.

func (*SnapshotScheduleAssociation) ElementType added in v3.13.0

func (*SnapshotScheduleAssociation) ElementType() reflect.Type

func (*SnapshotScheduleAssociation) ToSnapshotScheduleAssociationOutput added in v3.13.0

func (i *SnapshotScheduleAssociation) ToSnapshotScheduleAssociationOutput() SnapshotScheduleAssociationOutput

func (*SnapshotScheduleAssociation) ToSnapshotScheduleAssociationOutputWithContext added in v3.13.0

func (i *SnapshotScheduleAssociation) ToSnapshotScheduleAssociationOutputWithContext(ctx context.Context) SnapshotScheduleAssociationOutput

func (*SnapshotScheduleAssociation) ToSnapshotScheduleAssociationPtrOutput added in v3.25.0

func (i *SnapshotScheduleAssociation) ToSnapshotScheduleAssociationPtrOutput() SnapshotScheduleAssociationPtrOutput

func (*SnapshotScheduleAssociation) ToSnapshotScheduleAssociationPtrOutputWithContext added in v3.25.0

func (i *SnapshotScheduleAssociation) ToSnapshotScheduleAssociationPtrOutputWithContext(ctx context.Context) SnapshotScheduleAssociationPtrOutput

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 SnapshotScheduleAssociationArray added in v3.25.0

type SnapshotScheduleAssociationArray []SnapshotScheduleAssociationInput

func (SnapshotScheduleAssociationArray) ElementType added in v3.25.0

func (SnapshotScheduleAssociationArray) ToSnapshotScheduleAssociationArrayOutput added in v3.25.0

func (i SnapshotScheduleAssociationArray) ToSnapshotScheduleAssociationArrayOutput() SnapshotScheduleAssociationArrayOutput

func (SnapshotScheduleAssociationArray) ToSnapshotScheduleAssociationArrayOutputWithContext added in v3.25.0

func (i SnapshotScheduleAssociationArray) ToSnapshotScheduleAssociationArrayOutputWithContext(ctx context.Context) SnapshotScheduleAssociationArrayOutput

type SnapshotScheduleAssociationArrayInput added in v3.25.0

type SnapshotScheduleAssociationArrayInput interface {
	pulumi.Input

	ToSnapshotScheduleAssociationArrayOutput() SnapshotScheduleAssociationArrayOutput
	ToSnapshotScheduleAssociationArrayOutputWithContext(context.Context) SnapshotScheduleAssociationArrayOutput
}

SnapshotScheduleAssociationArrayInput is an input type that accepts SnapshotScheduleAssociationArray and SnapshotScheduleAssociationArrayOutput values. You can construct a concrete instance of `SnapshotScheduleAssociationArrayInput` via:

SnapshotScheduleAssociationArray{ SnapshotScheduleAssociationArgs{...} }

type SnapshotScheduleAssociationArrayOutput added in v3.25.0

type SnapshotScheduleAssociationArrayOutput struct{ *pulumi.OutputState }

func (SnapshotScheduleAssociationArrayOutput) ElementType added in v3.25.0

func (SnapshotScheduleAssociationArrayOutput) Index added in v3.25.0

func (SnapshotScheduleAssociationArrayOutput) ToSnapshotScheduleAssociationArrayOutput added in v3.25.0

func (o SnapshotScheduleAssociationArrayOutput) ToSnapshotScheduleAssociationArrayOutput() SnapshotScheduleAssociationArrayOutput

func (SnapshotScheduleAssociationArrayOutput) ToSnapshotScheduleAssociationArrayOutputWithContext added in v3.25.0

func (o SnapshotScheduleAssociationArrayOutput) ToSnapshotScheduleAssociationArrayOutputWithContext(ctx context.Context) SnapshotScheduleAssociationArrayOutput

type SnapshotScheduleAssociationInput added in v3.13.0

type SnapshotScheduleAssociationInput interface {
	pulumi.Input

	ToSnapshotScheduleAssociationOutput() SnapshotScheduleAssociationOutput
	ToSnapshotScheduleAssociationOutputWithContext(ctx context.Context) SnapshotScheduleAssociationOutput
}

type SnapshotScheduleAssociationMap added in v3.25.0

type SnapshotScheduleAssociationMap map[string]SnapshotScheduleAssociationInput

func (SnapshotScheduleAssociationMap) ElementType added in v3.25.0

func (SnapshotScheduleAssociationMap) ToSnapshotScheduleAssociationMapOutput added in v3.25.0

func (i SnapshotScheduleAssociationMap) ToSnapshotScheduleAssociationMapOutput() SnapshotScheduleAssociationMapOutput

func (SnapshotScheduleAssociationMap) ToSnapshotScheduleAssociationMapOutputWithContext added in v3.25.0

func (i SnapshotScheduleAssociationMap) ToSnapshotScheduleAssociationMapOutputWithContext(ctx context.Context) SnapshotScheduleAssociationMapOutput

type SnapshotScheduleAssociationMapInput added in v3.25.0

type SnapshotScheduleAssociationMapInput interface {
	pulumi.Input

	ToSnapshotScheduleAssociationMapOutput() SnapshotScheduleAssociationMapOutput
	ToSnapshotScheduleAssociationMapOutputWithContext(context.Context) SnapshotScheduleAssociationMapOutput
}

SnapshotScheduleAssociationMapInput is an input type that accepts SnapshotScheduleAssociationMap and SnapshotScheduleAssociationMapOutput values. You can construct a concrete instance of `SnapshotScheduleAssociationMapInput` via:

SnapshotScheduleAssociationMap{ "key": SnapshotScheduleAssociationArgs{...} }

type SnapshotScheduleAssociationMapOutput added in v3.25.0

type SnapshotScheduleAssociationMapOutput struct{ *pulumi.OutputState }

func (SnapshotScheduleAssociationMapOutput) ElementType added in v3.25.0

func (SnapshotScheduleAssociationMapOutput) MapIndex added in v3.25.0

func (SnapshotScheduleAssociationMapOutput) ToSnapshotScheduleAssociationMapOutput added in v3.25.0

func (o SnapshotScheduleAssociationMapOutput) ToSnapshotScheduleAssociationMapOutput() SnapshotScheduleAssociationMapOutput

func (SnapshotScheduleAssociationMapOutput) ToSnapshotScheduleAssociationMapOutputWithContext added in v3.25.0

func (o SnapshotScheduleAssociationMapOutput) ToSnapshotScheduleAssociationMapOutputWithContext(ctx context.Context) SnapshotScheduleAssociationMapOutput

type SnapshotScheduleAssociationOutput added in v3.13.0

type SnapshotScheduleAssociationOutput struct {
	*pulumi.OutputState
}

func (SnapshotScheduleAssociationOutput) ElementType added in v3.13.0

func (SnapshotScheduleAssociationOutput) ToSnapshotScheduleAssociationOutput added in v3.13.0

func (o SnapshotScheduleAssociationOutput) ToSnapshotScheduleAssociationOutput() SnapshotScheduleAssociationOutput

func (SnapshotScheduleAssociationOutput) ToSnapshotScheduleAssociationOutputWithContext added in v3.13.0

func (o SnapshotScheduleAssociationOutput) ToSnapshotScheduleAssociationOutputWithContext(ctx context.Context) SnapshotScheduleAssociationOutput

func (SnapshotScheduleAssociationOutput) ToSnapshotScheduleAssociationPtrOutput added in v3.25.0

func (o SnapshotScheduleAssociationOutput) ToSnapshotScheduleAssociationPtrOutput() SnapshotScheduleAssociationPtrOutput

func (SnapshotScheduleAssociationOutput) ToSnapshotScheduleAssociationPtrOutputWithContext added in v3.25.0

func (o SnapshotScheduleAssociationOutput) ToSnapshotScheduleAssociationPtrOutputWithContext(ctx context.Context) SnapshotScheduleAssociationPtrOutput

type SnapshotScheduleAssociationPtrInput added in v3.25.0

type SnapshotScheduleAssociationPtrInput interface {
	pulumi.Input

	ToSnapshotScheduleAssociationPtrOutput() SnapshotScheduleAssociationPtrOutput
	ToSnapshotScheduleAssociationPtrOutputWithContext(ctx context.Context) SnapshotScheduleAssociationPtrOutput
}

type SnapshotScheduleAssociationPtrOutput added in v3.25.0

type SnapshotScheduleAssociationPtrOutput struct {
	*pulumi.OutputState
}

func (SnapshotScheduleAssociationPtrOutput) ElementType added in v3.25.0

func (SnapshotScheduleAssociationPtrOutput) ToSnapshotScheduleAssociationPtrOutput added in v3.25.0

func (o SnapshotScheduleAssociationPtrOutput) ToSnapshotScheduleAssociationPtrOutput() SnapshotScheduleAssociationPtrOutput

func (SnapshotScheduleAssociationPtrOutput) ToSnapshotScheduleAssociationPtrOutputWithContext added in v3.25.0

func (o SnapshotScheduleAssociationPtrOutput) ToSnapshotScheduleAssociationPtrOutputWithContext(ctx context.Context) SnapshotScheduleAssociationPtrOutput

type SnapshotScheduleAssociationState

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

func (SnapshotScheduleAssociationState) ElementType

type SnapshotScheduleInput added in v3.13.0

type SnapshotScheduleInput interface {
	pulumi.Input

	ToSnapshotScheduleOutput() SnapshotScheduleOutput
	ToSnapshotScheduleOutputWithContext(ctx context.Context) SnapshotScheduleOutput
}

type SnapshotScheduleMap added in v3.25.0

type SnapshotScheduleMap map[string]SnapshotScheduleInput

func (SnapshotScheduleMap) ElementType added in v3.25.0

func (SnapshotScheduleMap) ElementType() reflect.Type

func (SnapshotScheduleMap) ToSnapshotScheduleMapOutput added in v3.25.0

func (i SnapshotScheduleMap) ToSnapshotScheduleMapOutput() SnapshotScheduleMapOutput

func (SnapshotScheduleMap) ToSnapshotScheduleMapOutputWithContext added in v3.25.0

func (i SnapshotScheduleMap) ToSnapshotScheduleMapOutputWithContext(ctx context.Context) SnapshotScheduleMapOutput

type SnapshotScheduleMapInput added in v3.25.0

type SnapshotScheduleMapInput interface {
	pulumi.Input

	ToSnapshotScheduleMapOutput() SnapshotScheduleMapOutput
	ToSnapshotScheduleMapOutputWithContext(context.Context) SnapshotScheduleMapOutput
}

SnapshotScheduleMapInput is an input type that accepts SnapshotScheduleMap and SnapshotScheduleMapOutput values. You can construct a concrete instance of `SnapshotScheduleMapInput` via:

SnapshotScheduleMap{ "key": SnapshotScheduleArgs{...} }

type SnapshotScheduleMapOutput added in v3.25.0

type SnapshotScheduleMapOutput struct{ *pulumi.OutputState }

func (SnapshotScheduleMapOutput) ElementType added in v3.25.0

func (SnapshotScheduleMapOutput) ElementType() reflect.Type

func (SnapshotScheduleMapOutput) MapIndex added in v3.25.0

func (SnapshotScheduleMapOutput) ToSnapshotScheduleMapOutput added in v3.25.0

func (o SnapshotScheduleMapOutput) ToSnapshotScheduleMapOutput() SnapshotScheduleMapOutput

func (SnapshotScheduleMapOutput) ToSnapshotScheduleMapOutputWithContext added in v3.25.0

func (o SnapshotScheduleMapOutput) ToSnapshotScheduleMapOutputWithContext(ctx context.Context) SnapshotScheduleMapOutput

type SnapshotScheduleOutput added in v3.13.0

type SnapshotScheduleOutput struct {
	*pulumi.OutputState
}

func (SnapshotScheduleOutput) ElementType added in v3.13.0

func (SnapshotScheduleOutput) ElementType() reflect.Type

func (SnapshotScheduleOutput) ToSnapshotScheduleOutput added in v3.13.0

func (o SnapshotScheduleOutput) ToSnapshotScheduleOutput() SnapshotScheduleOutput

func (SnapshotScheduleOutput) ToSnapshotScheduleOutputWithContext added in v3.13.0

func (o SnapshotScheduleOutput) ToSnapshotScheduleOutputWithContext(ctx context.Context) SnapshotScheduleOutput

func (SnapshotScheduleOutput) ToSnapshotSchedulePtrOutput added in v3.25.0

func (o SnapshotScheduleOutput) ToSnapshotSchedulePtrOutput() SnapshotSchedulePtrOutput

func (SnapshotScheduleOutput) ToSnapshotSchedulePtrOutputWithContext added in v3.25.0

func (o SnapshotScheduleOutput) ToSnapshotSchedulePtrOutputWithContext(ctx context.Context) SnapshotSchedulePtrOutput

type SnapshotSchedulePtrInput added in v3.25.0

type SnapshotSchedulePtrInput interface {
	pulumi.Input

	ToSnapshotSchedulePtrOutput() SnapshotSchedulePtrOutput
	ToSnapshotSchedulePtrOutputWithContext(ctx context.Context) SnapshotSchedulePtrOutput
}

type SnapshotSchedulePtrOutput added in v3.25.0

type SnapshotSchedulePtrOutput struct {
	*pulumi.OutputState
}

func (SnapshotSchedulePtrOutput) ElementType added in v3.25.0

func (SnapshotSchedulePtrOutput) ElementType() reflect.Type

func (SnapshotSchedulePtrOutput) ToSnapshotSchedulePtrOutput added in v3.25.0

func (o SnapshotSchedulePtrOutput) ToSnapshotSchedulePtrOutput() SnapshotSchedulePtrOutput

func (SnapshotSchedulePtrOutput) ToSnapshotSchedulePtrOutputWithContext added in v3.25.0

func (o SnapshotSchedulePtrOutput) ToSnapshotSchedulePtrOutputWithContext(ctx context.Context) SnapshotSchedulePtrOutput

type SnapshotScheduleState

type SnapshotScheduleState struct {
	// Amazon Resource Name (ARN) of the Redshift Snapshot Schedule.
	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 map of tags to assign to the resource.
	Tags pulumi.StringMapInput
}

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 map of tags to assign to the resource.
	Tags pulumi.StringMapOutput `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.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/ec2"
"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/redshift"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		fooVpc, err := ec2.NewVpc(ctx, "fooVpc", &ec2.VpcArgs{
			CidrBlock: pulumi.String("10.1.0.0/16"),
		})
		if err != nil {
			return err
		}
		fooSubnet, err := ec2.NewSubnet(ctx, "fooSubnet", &ec2.SubnetArgs{
			CidrBlock:        pulumi.String("10.1.1.0/24"),
			AvailabilityZone: pulumi.String("us-west-2a"),
			VpcId:            fooVpc.ID(),
			Tags: pulumi.StringMap{
				"Name": pulumi.String("tf-dbsubnet-test-1"),
			},
		})
		if err != nil {
			return err
		}
		bar, err := ec2.NewSubnet(ctx, "bar", &ec2.SubnetArgs{
			CidrBlock:        pulumi.String("10.1.2.0/24"),
			AvailabilityZone: pulumi.String("us-west-2b"),
			VpcId:            fooVpc.ID(),
			Tags: pulumi.StringMap{
				"Name": pulumi.String("tf-dbsubnet-test-2"),
			},
		})
		if err != nil {
			return err
		}
		_, err = redshift.NewSubnetGroup(ctx, "fooSubnetGroup", &redshift.SubnetGroupArgs{
			SubnetIds: pulumi.StringArray{
				fooSubnet.ID(),
				bar.ID(),
			},
			Tags: pulumi.StringMap{
				"environment": pulumi.String("Production"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Redshift subnet groups can be imported using the `name`, e.g.

```sh

$ pulumi import aws:redshift/subnetGroup:SubnetGroup testgroup1 test-cluster-subnet-group

```

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.

func (*SubnetGroup) ElementType added in v3.13.0

func (*SubnetGroup) ElementType() reflect.Type

func (*SubnetGroup) ToSubnetGroupOutput added in v3.13.0

func (i *SubnetGroup) ToSubnetGroupOutput() SubnetGroupOutput

func (*SubnetGroup) ToSubnetGroupOutputWithContext added in v3.13.0

func (i *SubnetGroup) ToSubnetGroupOutputWithContext(ctx context.Context) SubnetGroupOutput

func (*SubnetGroup) ToSubnetGroupPtrOutput added in v3.25.0

func (i *SubnetGroup) ToSubnetGroupPtrOutput() SubnetGroupPtrOutput

func (*SubnetGroup) ToSubnetGroupPtrOutputWithContext added in v3.25.0

func (i *SubnetGroup) ToSubnetGroupPtrOutputWithContext(ctx context.Context) SubnetGroupPtrOutput

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 map of tags to assign to the resource.
	Tags pulumi.StringMapInput
}

The set of arguments for constructing a SubnetGroup resource.

func (SubnetGroupArgs) ElementType

func (SubnetGroupArgs) ElementType() reflect.Type

type SubnetGroupArray added in v3.25.0

type SubnetGroupArray []SubnetGroupInput

func (SubnetGroupArray) ElementType added in v3.25.0

func (SubnetGroupArray) ElementType() reflect.Type

func (SubnetGroupArray) ToSubnetGroupArrayOutput added in v3.25.0

func (i SubnetGroupArray) ToSubnetGroupArrayOutput() SubnetGroupArrayOutput

func (SubnetGroupArray) ToSubnetGroupArrayOutputWithContext added in v3.25.0

func (i SubnetGroupArray) ToSubnetGroupArrayOutputWithContext(ctx context.Context) SubnetGroupArrayOutput

type SubnetGroupArrayInput added in v3.25.0

type SubnetGroupArrayInput interface {
	pulumi.Input

	ToSubnetGroupArrayOutput() SubnetGroupArrayOutput
	ToSubnetGroupArrayOutputWithContext(context.Context) SubnetGroupArrayOutput
}

SubnetGroupArrayInput is an input type that accepts SubnetGroupArray and SubnetGroupArrayOutput values. You can construct a concrete instance of `SubnetGroupArrayInput` via:

SubnetGroupArray{ SubnetGroupArgs{...} }

type SubnetGroupArrayOutput added in v3.25.0

type SubnetGroupArrayOutput struct{ *pulumi.OutputState }

func (SubnetGroupArrayOutput) ElementType added in v3.25.0

func (SubnetGroupArrayOutput) ElementType() reflect.Type

func (SubnetGroupArrayOutput) Index added in v3.25.0

func (SubnetGroupArrayOutput) ToSubnetGroupArrayOutput added in v3.25.0

func (o SubnetGroupArrayOutput) ToSubnetGroupArrayOutput() SubnetGroupArrayOutput

func (SubnetGroupArrayOutput) ToSubnetGroupArrayOutputWithContext added in v3.25.0

func (o SubnetGroupArrayOutput) ToSubnetGroupArrayOutputWithContext(ctx context.Context) SubnetGroupArrayOutput

type SubnetGroupInput added in v3.13.0

type SubnetGroupInput interface {
	pulumi.Input

	ToSubnetGroupOutput() SubnetGroupOutput
	ToSubnetGroupOutputWithContext(ctx context.Context) SubnetGroupOutput
}

type SubnetGroupMap added in v3.25.0

type SubnetGroupMap map[string]SubnetGroupInput

func (SubnetGroupMap) ElementType added in v3.25.0

func (SubnetGroupMap) ElementType() reflect.Type

func (SubnetGroupMap) ToSubnetGroupMapOutput added in v3.25.0

func (i SubnetGroupMap) ToSubnetGroupMapOutput() SubnetGroupMapOutput

func (SubnetGroupMap) ToSubnetGroupMapOutputWithContext added in v3.25.0

func (i SubnetGroupMap) ToSubnetGroupMapOutputWithContext(ctx context.Context) SubnetGroupMapOutput

type SubnetGroupMapInput added in v3.25.0

type SubnetGroupMapInput interface {
	pulumi.Input

	ToSubnetGroupMapOutput() SubnetGroupMapOutput
	ToSubnetGroupMapOutputWithContext(context.Context) SubnetGroupMapOutput
}

SubnetGroupMapInput is an input type that accepts SubnetGroupMap and SubnetGroupMapOutput values. You can construct a concrete instance of `SubnetGroupMapInput` via:

SubnetGroupMap{ "key": SubnetGroupArgs{...} }

type SubnetGroupMapOutput added in v3.25.0

type SubnetGroupMapOutput struct{ *pulumi.OutputState }

func (SubnetGroupMapOutput) ElementType added in v3.25.0

func (SubnetGroupMapOutput) ElementType() reflect.Type

func (SubnetGroupMapOutput) MapIndex added in v3.25.0

func (SubnetGroupMapOutput) ToSubnetGroupMapOutput added in v3.25.0

func (o SubnetGroupMapOutput) ToSubnetGroupMapOutput() SubnetGroupMapOutput

func (SubnetGroupMapOutput) ToSubnetGroupMapOutputWithContext added in v3.25.0

func (o SubnetGroupMapOutput) ToSubnetGroupMapOutputWithContext(ctx context.Context) SubnetGroupMapOutput

type SubnetGroupOutput added in v3.13.0

type SubnetGroupOutput struct {
	*pulumi.OutputState
}

func (SubnetGroupOutput) ElementType added in v3.13.0

func (SubnetGroupOutput) ElementType() reflect.Type

func (SubnetGroupOutput) ToSubnetGroupOutput added in v3.13.0

func (o SubnetGroupOutput) ToSubnetGroupOutput() SubnetGroupOutput

func (SubnetGroupOutput) ToSubnetGroupOutputWithContext added in v3.13.0

func (o SubnetGroupOutput) ToSubnetGroupOutputWithContext(ctx context.Context) SubnetGroupOutput

func (SubnetGroupOutput) ToSubnetGroupPtrOutput added in v3.25.0

func (o SubnetGroupOutput) ToSubnetGroupPtrOutput() SubnetGroupPtrOutput

func (SubnetGroupOutput) ToSubnetGroupPtrOutputWithContext added in v3.25.0

func (o SubnetGroupOutput) ToSubnetGroupPtrOutputWithContext(ctx context.Context) SubnetGroupPtrOutput

type SubnetGroupPtrInput added in v3.25.0

type SubnetGroupPtrInput interface {
	pulumi.Input

	ToSubnetGroupPtrOutput() SubnetGroupPtrOutput
	ToSubnetGroupPtrOutputWithContext(ctx context.Context) SubnetGroupPtrOutput
}

type SubnetGroupPtrOutput added in v3.25.0

type SubnetGroupPtrOutput struct {
	*pulumi.OutputState
}

func (SubnetGroupPtrOutput) ElementType added in v3.25.0

func (SubnetGroupPtrOutput) ElementType() reflect.Type

func (SubnetGroupPtrOutput) ToSubnetGroupPtrOutput added in v3.25.0

func (o SubnetGroupPtrOutput) ToSubnetGroupPtrOutput() SubnetGroupPtrOutput

func (SubnetGroupPtrOutput) ToSubnetGroupPtrOutputWithContext added in v3.25.0

func (o SubnetGroupPtrOutput) ToSubnetGroupPtrOutputWithContext(ctx context.Context) SubnetGroupPtrOutput

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 map of tags to assign to the resource.
	Tags pulumi.StringMapInput
}

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