redshift

package
v5.43.0 Latest Latest
Warning

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

Go to latest
Published: Nov 21, 2023 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 AuthenticationProfile added in v5.6.0

type AuthenticationProfile struct {
	pulumi.CustomResourceState

	// The content of the authentication profile in JSON format. The maximum length of the JSON string is determined by a quota for your account.
	AuthenticationProfileContent pulumi.StringOutput `pulumi:"authenticationProfileContent"`
	// The name of the authentication profile.
	AuthenticationProfileName pulumi.StringOutput `pulumi:"authenticationProfileName"`
}

Creates a Redshift authentication profile

## Example Usage

```go package main

import (

"encoding/json"

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		tmpJSON0, err := json.Marshal(map[string]interface{}{
			"AllowDBUserOverride": "1",
			"Client_ID":           "ExampleClientID",
			"App_ID":              "example",
		})
		if err != nil {
			return err
		}
		json0 := string(tmpJSON0)
		_, err = redshift.NewAuthenticationProfile(ctx, "example", &redshift.AuthenticationProfileArgs{
			AuthenticationProfileName:    pulumi.String("example"),
			AuthenticationProfileContent: pulumi.String(json0),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Redshift Authentication Profiles support import by `authentication_profile_name`, e.g., console

```sh

$ pulumi import aws:redshift/authenticationProfile:AuthenticationProfile test example

```

func GetAuthenticationProfile added in v5.6.0

func GetAuthenticationProfile(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *AuthenticationProfileState, opts ...pulumi.ResourceOption) (*AuthenticationProfile, error)

GetAuthenticationProfile gets an existing AuthenticationProfile 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 NewAuthenticationProfile added in v5.6.0

func NewAuthenticationProfile(ctx *pulumi.Context,
	name string, args *AuthenticationProfileArgs, opts ...pulumi.ResourceOption) (*AuthenticationProfile, error)

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

func (*AuthenticationProfile) ElementType added in v5.6.0

func (*AuthenticationProfile) ElementType() reflect.Type

func (*AuthenticationProfile) ToAuthenticationProfileOutput added in v5.6.0

func (i *AuthenticationProfile) ToAuthenticationProfileOutput() AuthenticationProfileOutput

func (*AuthenticationProfile) ToAuthenticationProfileOutputWithContext added in v5.6.0

func (i *AuthenticationProfile) ToAuthenticationProfileOutputWithContext(ctx context.Context) AuthenticationProfileOutput

type AuthenticationProfileArgs added in v5.6.0

type AuthenticationProfileArgs struct {
	// The content of the authentication profile in JSON format. The maximum length of the JSON string is determined by a quota for your account.
	AuthenticationProfileContent pulumi.StringInput
	// The name of the authentication profile.
	AuthenticationProfileName pulumi.StringInput
}

The set of arguments for constructing a AuthenticationProfile resource.

func (AuthenticationProfileArgs) ElementType added in v5.6.0

func (AuthenticationProfileArgs) ElementType() reflect.Type

type AuthenticationProfileArray added in v5.6.0

type AuthenticationProfileArray []AuthenticationProfileInput

func (AuthenticationProfileArray) ElementType added in v5.6.0

func (AuthenticationProfileArray) ElementType() reflect.Type

func (AuthenticationProfileArray) ToAuthenticationProfileArrayOutput added in v5.6.0

func (i AuthenticationProfileArray) ToAuthenticationProfileArrayOutput() AuthenticationProfileArrayOutput

func (AuthenticationProfileArray) ToAuthenticationProfileArrayOutputWithContext added in v5.6.0

func (i AuthenticationProfileArray) ToAuthenticationProfileArrayOutputWithContext(ctx context.Context) AuthenticationProfileArrayOutput

type AuthenticationProfileArrayInput added in v5.6.0

type AuthenticationProfileArrayInput interface {
	pulumi.Input

	ToAuthenticationProfileArrayOutput() AuthenticationProfileArrayOutput
	ToAuthenticationProfileArrayOutputWithContext(context.Context) AuthenticationProfileArrayOutput
}

AuthenticationProfileArrayInput is an input type that accepts AuthenticationProfileArray and AuthenticationProfileArrayOutput values. You can construct a concrete instance of `AuthenticationProfileArrayInput` via:

AuthenticationProfileArray{ AuthenticationProfileArgs{...} }

type AuthenticationProfileArrayOutput added in v5.6.0

type AuthenticationProfileArrayOutput struct{ *pulumi.OutputState }

func (AuthenticationProfileArrayOutput) ElementType added in v5.6.0

func (AuthenticationProfileArrayOutput) Index added in v5.6.0

func (AuthenticationProfileArrayOutput) ToAuthenticationProfileArrayOutput added in v5.6.0

func (o AuthenticationProfileArrayOutput) ToAuthenticationProfileArrayOutput() AuthenticationProfileArrayOutput

func (AuthenticationProfileArrayOutput) ToAuthenticationProfileArrayOutputWithContext added in v5.6.0

func (o AuthenticationProfileArrayOutput) ToAuthenticationProfileArrayOutputWithContext(ctx context.Context) AuthenticationProfileArrayOutput

type AuthenticationProfileInput added in v5.6.0

type AuthenticationProfileInput interface {
	pulumi.Input

	ToAuthenticationProfileOutput() AuthenticationProfileOutput
	ToAuthenticationProfileOutputWithContext(ctx context.Context) AuthenticationProfileOutput
}

type AuthenticationProfileMap added in v5.6.0

type AuthenticationProfileMap map[string]AuthenticationProfileInput

func (AuthenticationProfileMap) ElementType added in v5.6.0

func (AuthenticationProfileMap) ElementType() reflect.Type

func (AuthenticationProfileMap) ToAuthenticationProfileMapOutput added in v5.6.0

func (i AuthenticationProfileMap) ToAuthenticationProfileMapOutput() AuthenticationProfileMapOutput

func (AuthenticationProfileMap) ToAuthenticationProfileMapOutputWithContext added in v5.6.0

func (i AuthenticationProfileMap) ToAuthenticationProfileMapOutputWithContext(ctx context.Context) AuthenticationProfileMapOutput

type AuthenticationProfileMapInput added in v5.6.0

type AuthenticationProfileMapInput interface {
	pulumi.Input

	ToAuthenticationProfileMapOutput() AuthenticationProfileMapOutput
	ToAuthenticationProfileMapOutputWithContext(context.Context) AuthenticationProfileMapOutput
}

AuthenticationProfileMapInput is an input type that accepts AuthenticationProfileMap and AuthenticationProfileMapOutput values. You can construct a concrete instance of `AuthenticationProfileMapInput` via:

AuthenticationProfileMap{ "key": AuthenticationProfileArgs{...} }

type AuthenticationProfileMapOutput added in v5.6.0

type AuthenticationProfileMapOutput struct{ *pulumi.OutputState }

func (AuthenticationProfileMapOutput) ElementType added in v5.6.0

func (AuthenticationProfileMapOutput) MapIndex added in v5.6.0

func (AuthenticationProfileMapOutput) ToAuthenticationProfileMapOutput added in v5.6.0

func (o AuthenticationProfileMapOutput) ToAuthenticationProfileMapOutput() AuthenticationProfileMapOutput

func (AuthenticationProfileMapOutput) ToAuthenticationProfileMapOutputWithContext added in v5.6.0

func (o AuthenticationProfileMapOutput) ToAuthenticationProfileMapOutputWithContext(ctx context.Context) AuthenticationProfileMapOutput

type AuthenticationProfileOutput added in v5.6.0

type AuthenticationProfileOutput struct{ *pulumi.OutputState }

func (AuthenticationProfileOutput) AuthenticationProfileContent added in v5.6.0

func (o AuthenticationProfileOutput) AuthenticationProfileContent() pulumi.StringOutput

The content of the authentication profile in JSON format. The maximum length of the JSON string is determined by a quota for your account.

func (AuthenticationProfileOutput) AuthenticationProfileName added in v5.6.0

func (o AuthenticationProfileOutput) AuthenticationProfileName() pulumi.StringOutput

The name of the authentication profile.

func (AuthenticationProfileOutput) ElementType added in v5.6.0

func (AuthenticationProfileOutput) ToAuthenticationProfileOutput added in v5.6.0

func (o AuthenticationProfileOutput) ToAuthenticationProfileOutput() AuthenticationProfileOutput

func (AuthenticationProfileOutput) ToAuthenticationProfileOutputWithContext added in v5.6.0

func (o AuthenticationProfileOutput) ToAuthenticationProfileOutputWithContext(ctx context.Context) AuthenticationProfileOutput

type AuthenticationProfileState added in v5.6.0

type AuthenticationProfileState struct {
	// The content of the authentication profile in JSON format. The maximum length of the JSON string is determined by a quota for your account.
	AuthenticationProfileContent pulumi.StringPtrInput
	// The name of the authentication profile.
	AuthenticationProfileName pulumi.StringPtrInput
}

func (AuthenticationProfileState) ElementType added in v5.6.0

func (AuthenticationProfileState) ElementType() reflect.Type

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"`
	// Specifies whether any cluster modifications are applied immediately, or during the next maintenance window. Default is `false`.
	ApplyImmediately pulumi.BoolPtrOutput `pulumi:"applyImmediately"`
	// The value represents how the cluster is configured to use AQUA (Advanced Query Accelerator) after the cluster is restored. Possible values are `enabled`, `disabled`, and `auto`. Requires Cluster reboot.
	AquaConfigurationStatus pulumi.StringOutput `pulumi:"aquaConfigurationStatus"`
	// 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. Can only be changed if `availabilityZoneRelocationEnabled` is `true`.
	AvailabilityZone pulumi.StringOutput `pulumi:"availabilityZone"`
	// If true, the cluster can be relocated to another availabity zone, either automatically by AWS or when requested. Default is `false`. Available for use on clusters from the RA3 instance family.
	AvailabilityZoneRelocationEnabled pulumi.BoolPtrOutput `pulumi:"availabilityZoneRelocationEnabled"`
	// The Cluster Identifier. Must be a lower case string.
	ClusterIdentifier pulumi.StringOutput `pulumi:"clusterIdentifier"`
	// The nodes in the cluster. Cluster node blocks are documented below
	ClusterNodes ClusterClusterNodeArrayOutput `pulumi:"clusterNodes"`
	// 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.
	//
	// Deprecated: With the retirement of EC2-Classic the cluster_security_groups attribute has been deprecated and will be removed in a future version.
	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 Amazon Resource Name (ARN) for the IAM role that was set as default for the cluster when the cluster was created.
	DefaultIamRoleArn pulumi.StringOutput `pulumi:"defaultIamRoleArn"`
	// 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"`
	// The name of the maintenance track for the restored cluster. When you take a snapshot, the snapshot inherits the MaintenanceTrack value from the cluster. The snapshot might be on a different track than the cluster that was the source for the snapshot. For example, suppose that you take a snapshot of  a cluster that is on the current track and then change the cluster to be on the trailing track. In this case, the snapshot and the source cluster are on different tracks. Default value is `current`.
	MaintenanceTrackName pulumi.StringPtrOutput `pulumi:"maintenanceTrackName"`
	// The default number of days to retain a manual snapshot. If the value is -1, the snapshot is retained indefinitely. This setting doesn't change the retention period of existing snapshots. Valid values are between `-1` and `3653`. Default value is `-1`.
	ManualSnapshotRetentionPeriod pulumi.IntPtrOutput `pulumi:"manualSnapshotRetentionPeriod"`
	// 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. Valid values are between `1115` and `65535`.
	// 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. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
	// A list of Virtual Private Cloud (VPC) security groups to be associated with the cluster.
	VpcSecurityGroupIds pulumi.StringArrayOutput `pulumi:"vpcSecurityGroupIds"`
}

Provides a Redshift Cluster Resource.

> **NOTE:** A Redshift cluster's default IAM role can be managed both by this resource's `defaultIamRoleArn` argument and the `redshift.ClusterIamRoles` resource's `defaultIamRoleArn` argument. Do not configure different values for both arguments. Doing so will cause a conflict of default IAM roles.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := redshift.NewCluster(ctx, "example", &redshift.ClusterArgs{
			ClusterIdentifier: pulumi.String("tf-redshift-cluster"),
			ClusterType:       pulumi.String("single-node"),
			DatabaseName:      pulumi.String("mydb"),
			MasterPassword:    pulumi.String("Mustbe8characters"),
			MasterUsername:    pulumi.String("exampleuser"),
			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

func (*Cluster) ElementType() reflect.Type

func (*Cluster) ToClusterOutput

func (i *Cluster) ToClusterOutput() ClusterOutput

func (*Cluster) ToClusterOutputWithContext

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

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
	// Specifies whether any cluster modifications are applied immediately, or during the next maintenance window. Default is `false`.
	ApplyImmediately pulumi.BoolPtrInput
	// The value represents how the cluster is configured to use AQUA (Advanced Query Accelerator) after the cluster is restored. Possible values are `enabled`, `disabled`, and `auto`. Requires Cluster reboot.
	AquaConfigurationStatus 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. Can only be changed if `availabilityZoneRelocationEnabled` is `true`.
	AvailabilityZone pulumi.StringPtrInput
	// If true, the cluster can be relocated to another availabity zone, either automatically by AWS or when requested. Default is `false`. Available for use on clusters from the RA3 instance family.
	AvailabilityZoneRelocationEnabled pulumi.BoolPtrInput
	// 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.
	//
	// Deprecated: With the retirement of EC2-Classic the cluster_security_groups attribute has been deprecated and will be removed in a future version.
	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 Amazon Resource Name (ARN) for the IAM role that was set as default for the cluster when the cluster was created.
	DefaultIamRoleArn 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
	// The name of the maintenance track for the restored cluster. When you take a snapshot, the snapshot inherits the MaintenanceTrack value from the cluster. The snapshot might be on a different track than the cluster that was the source for the snapshot. For example, suppose that you take a snapshot of  a cluster that is on the current track and then change the cluster to be on the trailing track. In this case, the snapshot and the source cluster are on different tracks. Default value is `current`.
	MaintenanceTrackName pulumi.StringPtrInput
	// The default number of days to retain a manual snapshot. If the value is -1, the snapshot is retained indefinitely. This setting doesn't change the retention period of existing snapshots. Valid values are between `-1` and `3653`. Default value is `-1`.
	ManualSnapshotRetentionPeriod pulumi.IntPtrInput
	// 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. Valid values are between `1115` and `65535`.
	// 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. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	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

type ClusterArray []ClusterInput

func (ClusterArray) ElementType

func (ClusterArray) ElementType() reflect.Type

func (ClusterArray) ToClusterArrayOutput

func (i ClusterArray) ToClusterArrayOutput() ClusterArrayOutput

func (ClusterArray) ToClusterArrayOutputWithContext

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

type ClusterArrayInput

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

type ClusterArrayOutput struct{ *pulumi.OutputState }

func (ClusterArrayOutput) ElementType

func (ClusterArrayOutput) ElementType() reflect.Type

func (ClusterArrayOutput) Index

func (ClusterArrayOutput) ToClusterArrayOutput

func (o ClusterArrayOutput) ToClusterArrayOutput() ClusterArrayOutput

func (ClusterArrayOutput) ToClusterArrayOutputWithContext

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

type ClusterClusterNode

type ClusterClusterNode struct {
	// Whether the node is a leader node or a compute node
	NodeRole *string `pulumi:"nodeRole"`
	// The private IP address of a node within a cluster
	PrivateIpAddress *string `pulumi:"privateIpAddress"`
	// The public IP address of a node within a cluster
	PublicIpAddress *string `pulumi:"publicIpAddress"`
}

type ClusterClusterNodeArgs

type ClusterClusterNodeArgs struct {
	// Whether the node is a leader node or a compute node
	NodeRole pulumi.StringPtrInput `pulumi:"nodeRole"`
	// The private IP address of a node within a cluster
	PrivateIpAddress pulumi.StringPtrInput `pulumi:"privateIpAddress"`
	// The public IP address of a node within a cluster
	PublicIpAddress pulumi.StringPtrInput `pulumi:"publicIpAddress"`
}

func (ClusterClusterNodeArgs) ElementType

func (ClusterClusterNodeArgs) ElementType() reflect.Type

func (ClusterClusterNodeArgs) ToClusterClusterNodeOutput

func (i ClusterClusterNodeArgs) ToClusterClusterNodeOutput() ClusterClusterNodeOutput

func (ClusterClusterNodeArgs) ToClusterClusterNodeOutputWithContext

func (i ClusterClusterNodeArgs) ToClusterClusterNodeOutputWithContext(ctx context.Context) ClusterClusterNodeOutput

type ClusterClusterNodeArray

type ClusterClusterNodeArray []ClusterClusterNodeInput

func (ClusterClusterNodeArray) ElementType

func (ClusterClusterNodeArray) ElementType() reflect.Type

func (ClusterClusterNodeArray) ToClusterClusterNodeArrayOutput

func (i ClusterClusterNodeArray) ToClusterClusterNodeArrayOutput() ClusterClusterNodeArrayOutput

func (ClusterClusterNodeArray) ToClusterClusterNodeArrayOutputWithContext

func (i ClusterClusterNodeArray) ToClusterClusterNodeArrayOutputWithContext(ctx context.Context) ClusterClusterNodeArrayOutput

type ClusterClusterNodeArrayInput

type ClusterClusterNodeArrayInput interface {
	pulumi.Input

	ToClusterClusterNodeArrayOutput() ClusterClusterNodeArrayOutput
	ToClusterClusterNodeArrayOutputWithContext(context.Context) ClusterClusterNodeArrayOutput
}

ClusterClusterNodeArrayInput is an input type that accepts ClusterClusterNodeArray and ClusterClusterNodeArrayOutput values. You can construct a concrete instance of `ClusterClusterNodeArrayInput` via:

ClusterClusterNodeArray{ ClusterClusterNodeArgs{...} }

type ClusterClusterNodeArrayOutput

type ClusterClusterNodeArrayOutput struct{ *pulumi.OutputState }

func (ClusterClusterNodeArrayOutput) ElementType

func (ClusterClusterNodeArrayOutput) Index

func (ClusterClusterNodeArrayOutput) ToClusterClusterNodeArrayOutput

func (o ClusterClusterNodeArrayOutput) ToClusterClusterNodeArrayOutput() ClusterClusterNodeArrayOutput

func (ClusterClusterNodeArrayOutput) ToClusterClusterNodeArrayOutputWithContext

func (o ClusterClusterNodeArrayOutput) ToClusterClusterNodeArrayOutputWithContext(ctx context.Context) ClusterClusterNodeArrayOutput

type ClusterClusterNodeInput

type ClusterClusterNodeInput interface {
	pulumi.Input

	ToClusterClusterNodeOutput() ClusterClusterNodeOutput
	ToClusterClusterNodeOutputWithContext(context.Context) ClusterClusterNodeOutput
}

ClusterClusterNodeInput is an input type that accepts ClusterClusterNodeArgs and ClusterClusterNodeOutput values. You can construct a concrete instance of `ClusterClusterNodeInput` via:

ClusterClusterNodeArgs{...}

type ClusterClusterNodeOutput

type ClusterClusterNodeOutput struct{ *pulumi.OutputState }

func (ClusterClusterNodeOutput) ElementType

func (ClusterClusterNodeOutput) ElementType() reflect.Type

func (ClusterClusterNodeOutput) NodeRole

Whether the node is a leader node or a compute node

func (ClusterClusterNodeOutput) PrivateIpAddress

func (o ClusterClusterNodeOutput) PrivateIpAddress() pulumi.StringPtrOutput

The private IP address of a node within a cluster

func (ClusterClusterNodeOutput) PublicIpAddress

func (o ClusterClusterNodeOutput) PublicIpAddress() pulumi.StringPtrOutput

The public IP address of a node within a cluster

func (ClusterClusterNodeOutput) ToClusterClusterNodeOutput

func (o ClusterClusterNodeOutput) ToClusterClusterNodeOutput() ClusterClusterNodeOutput

func (ClusterClusterNodeOutput) ToClusterClusterNodeOutputWithContext

func (o ClusterClusterNodeOutput) ToClusterClusterNodeOutputWithContext(ctx context.Context) ClusterClusterNodeOutput

type ClusterIamRoles added in v5.7.0

type ClusterIamRoles struct {
	pulumi.CustomResourceState

	// The name of the Redshift Cluster IAM Roles.
	ClusterIdentifier pulumi.StringOutput `pulumi:"clusterIdentifier"`
	// The Amazon Resource Name (ARN) for the IAM role that was set as default for the cluster when the cluster was created.
	DefaultIamRoleArn pulumi.StringOutput `pulumi:"defaultIamRoleArn"`
	// A list of IAM Role ARNs to associate with the cluster. A Maximum of 10 can be associated to the cluster at any time.
	IamRoleArns pulumi.StringArrayOutput `pulumi:"iamRoleArns"`
}

Provides a Redshift Cluster IAM Roles resource.

> **NOTE:** A Redshift cluster's default IAM role can be managed both by this resource's `defaultIamRoleArn` argument and the `redshift.Cluster` resource's `defaultIamRoleArn` argument. Do not configure different values for both arguments. Doing so will cause a conflict of default IAM roles.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := redshift.NewClusterIamRoles(ctx, "example", &redshift.ClusterIamRolesArgs{
			ClusterIdentifier: pulumi.Any(aws_redshift_cluster.Example.Cluster_identifier),
			IamRoleArns: pulumi.StringArray{
				aws_iam_role.Example.Arn,
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Redshift Cluster IAM Roless can be imported using the `cluster_identifier`, e.g.,

```sh

$ pulumi import aws:redshift/clusterIamRoles:ClusterIamRoles examplegroup1 example

```

func GetClusterIamRoles added in v5.7.0

func GetClusterIamRoles(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ClusterIamRolesState, opts ...pulumi.ResourceOption) (*ClusterIamRoles, error)

GetClusterIamRoles gets an existing ClusterIamRoles 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 NewClusterIamRoles added in v5.7.0

func NewClusterIamRoles(ctx *pulumi.Context,
	name string, args *ClusterIamRolesArgs, opts ...pulumi.ResourceOption) (*ClusterIamRoles, error)

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

func (*ClusterIamRoles) ElementType added in v5.7.0

func (*ClusterIamRoles) ElementType() reflect.Type

func (*ClusterIamRoles) ToClusterIamRolesOutput added in v5.7.0

func (i *ClusterIamRoles) ToClusterIamRolesOutput() ClusterIamRolesOutput

func (*ClusterIamRoles) ToClusterIamRolesOutputWithContext added in v5.7.0

func (i *ClusterIamRoles) ToClusterIamRolesOutputWithContext(ctx context.Context) ClusterIamRolesOutput

type ClusterIamRolesArgs added in v5.7.0

type ClusterIamRolesArgs struct {
	// The name of the Redshift Cluster IAM Roles.
	ClusterIdentifier pulumi.StringInput
	// The Amazon Resource Name (ARN) for the IAM role that was set as default for the cluster when the cluster was created.
	DefaultIamRoleArn 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.
	IamRoleArns pulumi.StringArrayInput
}

The set of arguments for constructing a ClusterIamRoles resource.

func (ClusterIamRolesArgs) ElementType added in v5.7.0

func (ClusterIamRolesArgs) ElementType() reflect.Type

type ClusterIamRolesArray added in v5.7.0

type ClusterIamRolesArray []ClusterIamRolesInput

func (ClusterIamRolesArray) ElementType added in v5.7.0

func (ClusterIamRolesArray) ElementType() reflect.Type

func (ClusterIamRolesArray) ToClusterIamRolesArrayOutput added in v5.7.0

func (i ClusterIamRolesArray) ToClusterIamRolesArrayOutput() ClusterIamRolesArrayOutput

func (ClusterIamRolesArray) ToClusterIamRolesArrayOutputWithContext added in v5.7.0

func (i ClusterIamRolesArray) ToClusterIamRolesArrayOutputWithContext(ctx context.Context) ClusterIamRolesArrayOutput

type ClusterIamRolesArrayInput added in v5.7.0

type ClusterIamRolesArrayInput interface {
	pulumi.Input

	ToClusterIamRolesArrayOutput() ClusterIamRolesArrayOutput
	ToClusterIamRolesArrayOutputWithContext(context.Context) ClusterIamRolesArrayOutput
}

ClusterIamRolesArrayInput is an input type that accepts ClusterIamRolesArray and ClusterIamRolesArrayOutput values. You can construct a concrete instance of `ClusterIamRolesArrayInput` via:

ClusterIamRolesArray{ ClusterIamRolesArgs{...} }

type ClusterIamRolesArrayOutput added in v5.7.0

type ClusterIamRolesArrayOutput struct{ *pulumi.OutputState }

func (ClusterIamRolesArrayOutput) ElementType added in v5.7.0

func (ClusterIamRolesArrayOutput) ElementType() reflect.Type

func (ClusterIamRolesArrayOutput) Index added in v5.7.0

func (ClusterIamRolesArrayOutput) ToClusterIamRolesArrayOutput added in v5.7.0

func (o ClusterIamRolesArrayOutput) ToClusterIamRolesArrayOutput() ClusterIamRolesArrayOutput

func (ClusterIamRolesArrayOutput) ToClusterIamRolesArrayOutputWithContext added in v5.7.0

func (o ClusterIamRolesArrayOutput) ToClusterIamRolesArrayOutputWithContext(ctx context.Context) ClusterIamRolesArrayOutput

type ClusterIamRolesInput added in v5.7.0

type ClusterIamRolesInput interface {
	pulumi.Input

	ToClusterIamRolesOutput() ClusterIamRolesOutput
	ToClusterIamRolesOutputWithContext(ctx context.Context) ClusterIamRolesOutput
}

type ClusterIamRolesMap added in v5.7.0

type ClusterIamRolesMap map[string]ClusterIamRolesInput

func (ClusterIamRolesMap) ElementType added in v5.7.0

func (ClusterIamRolesMap) ElementType() reflect.Type

func (ClusterIamRolesMap) ToClusterIamRolesMapOutput added in v5.7.0

func (i ClusterIamRolesMap) ToClusterIamRolesMapOutput() ClusterIamRolesMapOutput

func (ClusterIamRolesMap) ToClusterIamRolesMapOutputWithContext added in v5.7.0

func (i ClusterIamRolesMap) ToClusterIamRolesMapOutputWithContext(ctx context.Context) ClusterIamRolesMapOutput

type ClusterIamRolesMapInput added in v5.7.0

type ClusterIamRolesMapInput interface {
	pulumi.Input

	ToClusterIamRolesMapOutput() ClusterIamRolesMapOutput
	ToClusterIamRolesMapOutputWithContext(context.Context) ClusterIamRolesMapOutput
}

ClusterIamRolesMapInput is an input type that accepts ClusterIamRolesMap and ClusterIamRolesMapOutput values. You can construct a concrete instance of `ClusterIamRolesMapInput` via:

ClusterIamRolesMap{ "key": ClusterIamRolesArgs{...} }

type ClusterIamRolesMapOutput added in v5.7.0

type ClusterIamRolesMapOutput struct{ *pulumi.OutputState }

func (ClusterIamRolesMapOutput) ElementType added in v5.7.0

func (ClusterIamRolesMapOutput) ElementType() reflect.Type

func (ClusterIamRolesMapOutput) MapIndex added in v5.7.0

func (ClusterIamRolesMapOutput) ToClusterIamRolesMapOutput added in v5.7.0

func (o ClusterIamRolesMapOutput) ToClusterIamRolesMapOutput() ClusterIamRolesMapOutput

func (ClusterIamRolesMapOutput) ToClusterIamRolesMapOutputWithContext added in v5.7.0

func (o ClusterIamRolesMapOutput) ToClusterIamRolesMapOutputWithContext(ctx context.Context) ClusterIamRolesMapOutput

type ClusterIamRolesOutput added in v5.7.0

type ClusterIamRolesOutput struct{ *pulumi.OutputState }

func (ClusterIamRolesOutput) ClusterIdentifier added in v5.7.0

func (o ClusterIamRolesOutput) ClusterIdentifier() pulumi.StringOutput

The name of the Redshift Cluster IAM Roles.

func (ClusterIamRolesOutput) DefaultIamRoleArn added in v5.7.0

func (o ClusterIamRolesOutput) DefaultIamRoleArn() pulumi.StringOutput

The Amazon Resource Name (ARN) for the IAM role that was set as default for the cluster when the cluster was created.

func (ClusterIamRolesOutput) ElementType added in v5.7.0

func (ClusterIamRolesOutput) ElementType() reflect.Type

func (ClusterIamRolesOutput) IamRoleArns added in v5.7.0

A list of IAM Role ARNs to associate with the cluster. A Maximum of 10 can be associated to the cluster at any time.

func (ClusterIamRolesOutput) ToClusterIamRolesOutput added in v5.7.0

func (o ClusterIamRolesOutput) ToClusterIamRolesOutput() ClusterIamRolesOutput

func (ClusterIamRolesOutput) ToClusterIamRolesOutputWithContext added in v5.7.0

func (o ClusterIamRolesOutput) ToClusterIamRolesOutputWithContext(ctx context.Context) ClusterIamRolesOutput

type ClusterIamRolesState added in v5.7.0

type ClusterIamRolesState struct {
	// The name of the Redshift Cluster IAM Roles.
	ClusterIdentifier pulumi.StringPtrInput
	// The Amazon Resource Name (ARN) for the IAM role that was set as default for the cluster when the cluster was created.
	DefaultIamRoleArn 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.
	IamRoleArns pulumi.StringArrayInput
}

func (ClusterIamRolesState) ElementType added in v5.7.0

func (ClusterIamRolesState) ElementType() reflect.Type

type ClusterInput

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 log destination type. An enum with possible values of `s3` and `cloudwatch`.
	LogDestinationType *string `pulumi:"logDestinationType"`
	// The collection of exported log types. Log types include the connection log, user log and user activity log. Required when `logDestinationType` is `cloudwatch`. Valid log types are `connectionlog`, `userlog`, and `useractivitylog`.
	LogExports []string `pulumi:"logExports"`
	// 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 log destination type. An enum with possible values of `s3` and `cloudwatch`.
	LogDestinationType pulumi.StringPtrInput `pulumi:"logDestinationType"`
	// The collection of exported log types. Log types include the connection log, user log and user activity log. Required when `logDestinationType` is `cloudwatch`. Valid log types are `connectionlog`, `userlog`, and `useractivitylog`.
	LogExports pulumi.StringArrayInput `pulumi:"logExports"`
	// 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) LogDestinationType added in v5.6.0

func (o ClusterLoggingOutput) LogDestinationType() pulumi.StringPtrOutput

The log destination type. An enum with possible values of `s3` and `cloudwatch`.

func (ClusterLoggingOutput) LogExports added in v5.6.0

The collection of exported log types. Log types include the connection log, user log and user activity log. Required when `logDestinationType` is `cloudwatch`. Valid log types are `connectionlog`, `userlog`, and `useractivitylog`.

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) LogDestinationType added in v5.6.0

func (o ClusterLoggingPtrOutput) LogDestinationType() pulumi.StringPtrOutput

The log destination type. An enum with possible values of `s3` and `cloudwatch`.

func (ClusterLoggingPtrOutput) LogExports added in v5.6.0

The collection of exported log types. Log types include the connection log, user log and user activity log. Required when `logDestinationType` is `cloudwatch`. Valid log types are `connectionlog`, `userlog`, and `useractivitylog`.

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

type ClusterMap map[string]ClusterInput

func (ClusterMap) ElementType

func (ClusterMap) ElementType() reflect.Type

func (ClusterMap) ToClusterMapOutput

func (i ClusterMap) ToClusterMapOutput() ClusterMapOutput

func (ClusterMap) ToClusterMapOutputWithContext

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

type ClusterMapInput

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

type ClusterMapOutput struct{ *pulumi.OutputState }

func (ClusterMapOutput) ElementType

func (ClusterMapOutput) ElementType() reflect.Type

func (ClusterMapOutput) MapIndex

func (ClusterMapOutput) ToClusterMapOutput

func (o ClusterMapOutput) ToClusterMapOutput() ClusterMapOutput

func (ClusterMapOutput) ToClusterMapOutputWithContext

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

type ClusterOutput

type ClusterOutput struct{ *pulumi.OutputState }

func (ClusterOutput) AllowVersionUpgrade added in v5.4.0

func (o ClusterOutput) AllowVersionUpgrade() pulumi.BoolPtrOutput

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

func (ClusterOutput) ApplyImmediately added in v5.6.0

func (o ClusterOutput) ApplyImmediately() pulumi.BoolPtrOutput

Specifies whether any cluster modifications are applied immediately, or during the next maintenance window. Default is `false`.

func (ClusterOutput) AquaConfigurationStatus added in v5.6.0

func (o ClusterOutput) AquaConfigurationStatus() pulumi.StringOutput

The value represents how the cluster is configured to use AQUA (Advanced Query Accelerator) after the cluster is restored. Possible values are `enabled`, `disabled`, and `auto`. Requires Cluster reboot.

func (ClusterOutput) Arn added in v5.4.0

Amazon Resource Name (ARN) of cluster

func (ClusterOutput) AutomatedSnapshotRetentionPeriod added in v5.4.0

func (o ClusterOutput) AutomatedSnapshotRetentionPeriod() pulumi.IntPtrOutput

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.

func (ClusterOutput) AvailabilityZone added in v5.4.0

func (o ClusterOutput) AvailabilityZone() pulumi.StringOutput

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. Can only be changed if `availabilityZoneRelocationEnabled` is `true`.

func (ClusterOutput) AvailabilityZoneRelocationEnabled added in v5.4.0

func (o ClusterOutput) AvailabilityZoneRelocationEnabled() pulumi.BoolPtrOutput

If true, the cluster can be relocated to another availabity zone, either automatically by AWS or when requested. Default is `false`. Available for use on clusters from the RA3 instance family.

func (ClusterOutput) ClusterIdentifier added in v5.4.0

func (o ClusterOutput) ClusterIdentifier() pulumi.StringOutput

The Cluster Identifier. Must be a lower case string.

func (ClusterOutput) ClusterNodes added in v5.4.0

The nodes in the cluster. Cluster node blocks are documented below

func (ClusterOutput) ClusterParameterGroupName added in v5.4.0

func (o ClusterOutput) ClusterParameterGroupName() pulumi.StringOutput

The name of the parameter group to be associated with this cluster.

func (ClusterOutput) ClusterPublicKey added in v5.4.0

func (o ClusterOutput) ClusterPublicKey() pulumi.StringOutput

The public key for the cluster

func (ClusterOutput) ClusterRevisionNumber added in v5.4.0

func (o ClusterOutput) ClusterRevisionNumber() pulumi.StringOutput

The specific revision number of the database in the cluster

func (ClusterOutput) ClusterSecurityGroups deprecated added in v5.4.0

func (o ClusterOutput) ClusterSecurityGroups() pulumi.StringArrayOutput

A list of security groups to be associated with this cluster.

Deprecated: With the retirement of EC2-Classic the cluster_security_groups attribute has been deprecated and will be removed in a future version.

func (ClusterOutput) ClusterSubnetGroupName added in v5.4.0

func (o ClusterOutput) ClusterSubnetGroupName() pulumi.StringOutput

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).

func (ClusterOutput) ClusterType added in v5.4.0

func (o ClusterOutput) ClusterType() pulumi.StringOutput

The cluster type to use. Either `single-node` or `multi-node`.

func (ClusterOutput) ClusterVersion added in v5.4.0

func (o ClusterOutput) ClusterVersion() pulumi.StringPtrOutput

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.

func (ClusterOutput) DatabaseName added in v5.4.0

func (o ClusterOutput) DatabaseName() pulumi.StringOutput

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

func (ClusterOutput) DefaultIamRoleArn added in v5.6.0

func (o ClusterOutput) DefaultIamRoleArn() pulumi.StringOutput

The Amazon Resource Name (ARN) for the IAM role that was set as default for the cluster when the cluster was created.

func (ClusterOutput) DnsName added in v5.4.0

func (o ClusterOutput) DnsName() pulumi.StringOutput

The DNS name of the cluster

func (ClusterOutput) ElasticIp added in v5.4.0

func (o ClusterOutput) ElasticIp() pulumi.StringPtrOutput

The Elastic IP (EIP) address for the cluster.

func (ClusterOutput) ElementType

func (ClusterOutput) ElementType() reflect.Type

func (ClusterOutput) Encrypted added in v5.4.0

func (o ClusterOutput) Encrypted() pulumi.BoolPtrOutput

If true , the data in the cluster is encrypted at rest.

func (ClusterOutput) Endpoint added in v5.4.0

func (o ClusterOutput) Endpoint() pulumi.StringOutput

The connection endpoint

func (ClusterOutput) EnhancedVpcRouting added in v5.4.0

func (o ClusterOutput) EnhancedVpcRouting() pulumi.BoolOutput

If true , enhanced VPC routing is enabled.

func (ClusterOutput) FinalSnapshotIdentifier added in v5.4.0

func (o ClusterOutput) FinalSnapshotIdentifier() pulumi.StringPtrOutput

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.

func (ClusterOutput) IamRoles added in v5.4.0

func (o ClusterOutput) IamRoles() pulumi.StringArrayOutput

A list of IAM Role ARNs to associate with the cluster. A Maximum of 10 can be associated to the cluster at any time.

func (ClusterOutput) KmsKeyId added in v5.4.0

func (o ClusterOutput) KmsKeyId() pulumi.StringOutput

The ARN for the KMS encryption key. When specifying `kmsKeyId`, `encrypted` needs to be set to true.

func (ClusterOutput) Logging added in v5.4.0

Logging, documented below.

func (ClusterOutput) MaintenanceTrackName added in v5.6.0

func (o ClusterOutput) MaintenanceTrackName() pulumi.StringPtrOutput

The name of the maintenance track for the restored cluster. When you take a snapshot, the snapshot inherits the MaintenanceTrack value from the cluster. The snapshot might be on a different track than the cluster that was the source for the snapshot. For example, suppose that you take a snapshot of a cluster that is on the current track and then change the cluster to be on the trailing track. In this case, the snapshot and the source cluster are on different tracks. Default value is `current`.

func (ClusterOutput) ManualSnapshotRetentionPeriod added in v5.6.0

func (o ClusterOutput) ManualSnapshotRetentionPeriod() pulumi.IntPtrOutput

The default number of days to retain a manual snapshot. If the value is -1, the snapshot is retained indefinitely. This setting doesn't change the retention period of existing snapshots. Valid values are between `-1` and `3653`. Default value is `-1`.

func (ClusterOutput) MasterPassword added in v5.4.0

func (o ClusterOutput) MasterPassword() pulumi.StringPtrOutput

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.

func (ClusterOutput) MasterUsername added in v5.4.0

func (o ClusterOutput) MasterUsername() pulumi.StringPtrOutput

Username for the master DB user.

func (ClusterOutput) NodeType added in v5.4.0

func (o ClusterOutput) NodeType() pulumi.StringOutput

The node type to be provisioned for the cluster.

func (ClusterOutput) NumberOfNodes added in v5.4.0

func (o ClusterOutput) NumberOfNodes() pulumi.IntPtrOutput

The number of compute nodes in the cluster. This parameter is required when the ClusterType parameter is specified as multi-node. Default is 1.

func (ClusterOutput) OwnerAccount added in v5.4.0

func (o ClusterOutput) OwnerAccount() pulumi.StringPtrOutput

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.

func (ClusterOutput) Port added in v5.4.0

The port number on which the cluster accepts incoming connections. Valid values are between `1115` and `65535`. 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`.

func (ClusterOutput) PreferredMaintenanceWindow added in v5.4.0

func (o ClusterOutput) PreferredMaintenanceWindow() pulumi.StringOutput

The weekly time range (in UTC) during which automated cluster maintenance can occur. Format: ddd:hh24:mi-ddd:hh24:mi

func (ClusterOutput) PubliclyAccessible added in v5.4.0

func (o ClusterOutput) PubliclyAccessible() pulumi.BoolPtrOutput

If true, the cluster can be accessed from a public network. Default is `true`.

func (ClusterOutput) SkipFinalSnapshot added in v5.4.0

func (o ClusterOutput) SkipFinalSnapshot() pulumi.BoolPtrOutput

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.

func (ClusterOutput) SnapshotClusterIdentifier added in v5.4.0

func (o ClusterOutput) SnapshotClusterIdentifier() pulumi.StringPtrOutput

The name of the cluster the source snapshot was created from.

func (ClusterOutput) SnapshotCopy added in v5.4.0

Configuration of automatic copy of snapshots from one region to another. Documented below.

func (ClusterOutput) SnapshotIdentifier added in v5.4.0

func (o ClusterOutput) SnapshotIdentifier() pulumi.StringPtrOutput

The name of the snapshot from which to create the new cluster.

func (ClusterOutput) Tags added in v5.4.0

A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.

func (ClusterOutput) TagsAll added in v5.4.0

func (o ClusterOutput) TagsAll() pulumi.StringMapOutput

A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.

func (ClusterOutput) ToClusterOutput

func (o ClusterOutput) ToClusterOutput() ClusterOutput

func (ClusterOutput) ToClusterOutputWithContext

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

func (ClusterOutput) VpcSecurityGroupIds added in v5.4.0

func (o ClusterOutput) VpcSecurityGroupIds() pulumi.StringArrayOutput

A list of Virtual Private Cloud (VPC) security groups to be associated with the cluster.

type ClusterSnapshot added in v5.32.0

type ClusterSnapshot struct {
	pulumi.CustomResourceState

	// Amazon Resource Name (ARN) of the snapshot.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// The cluster identifier for which you want a snapshot.
	ClusterIdentifier pulumi.StringOutput `pulumi:"clusterIdentifier"`
	// The Key Management Service (KMS) key ID of the encryption key that was used to encrypt data in the cluster from which the snapshot was taken.
	KmsKeyId pulumi.StringOutput `pulumi:"kmsKeyId"`
	// The number of days that a manual snapshot is retained. If the value is `-1`, the manual snapshot is retained indefinitely. Valid values are -1 and between `1` and `3653`.
	ManualSnapshotRetentionPeriod pulumi.IntPtrOutput `pulumi:"manualSnapshotRetentionPeriod"`
	// For manual snapshots, the Amazon Web Services account used to create or copy the snapshot. For automatic snapshots, the owner of the cluster. The owner can perform all snapshot actions, such as sharing a manual snapshot.
	OwnerAccount pulumi.StringOutput `pulumi:"ownerAccount"`
	// A unique identifier for the snapshot that you are requesting. This identifier must be unique for all snapshots within the Amazon Web Services account.
	SnapshotIdentifier pulumi.StringOutput `pulumi:"snapshotIdentifier"`
	// A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
}

Creates a Redshift cluster snapshot

## Import

Redshift Cluster Snapshots support import by `snapshot_identifier`, e.g., console

```sh

$ pulumi import aws:redshift/clusterSnapshot:ClusterSnapshot test example

```

func GetClusterSnapshot added in v5.32.0

func GetClusterSnapshot(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ClusterSnapshotState, opts ...pulumi.ResourceOption) (*ClusterSnapshot, error)

GetClusterSnapshot gets an existing ClusterSnapshot 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 NewClusterSnapshot added in v5.32.0

func NewClusterSnapshot(ctx *pulumi.Context,
	name string, args *ClusterSnapshotArgs, opts ...pulumi.ResourceOption) (*ClusterSnapshot, error)

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

func (*ClusterSnapshot) ElementType added in v5.32.0

func (*ClusterSnapshot) ElementType() reflect.Type

func (*ClusterSnapshot) ToClusterSnapshotOutput added in v5.32.0

func (i *ClusterSnapshot) ToClusterSnapshotOutput() ClusterSnapshotOutput

func (*ClusterSnapshot) ToClusterSnapshotOutputWithContext added in v5.32.0

func (i *ClusterSnapshot) ToClusterSnapshotOutputWithContext(ctx context.Context) ClusterSnapshotOutput

type ClusterSnapshotArgs added in v5.32.0

type ClusterSnapshotArgs struct {
	// The cluster identifier for which you want a snapshot.
	ClusterIdentifier pulumi.StringInput
	// The number of days that a manual snapshot is retained. If the value is `-1`, the manual snapshot is retained indefinitely. Valid values are -1 and between `1` and `3653`.
	ManualSnapshotRetentionPeriod pulumi.IntPtrInput
	// A unique identifier for the snapshot that you are requesting. This identifier must be unique for all snapshots within the Amazon Web Services account.
	SnapshotIdentifier pulumi.StringInput
	// A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
}

The set of arguments for constructing a ClusterSnapshot resource.

func (ClusterSnapshotArgs) ElementType added in v5.32.0

func (ClusterSnapshotArgs) ElementType() reflect.Type

type ClusterSnapshotArray added in v5.32.0

type ClusterSnapshotArray []ClusterSnapshotInput

func (ClusterSnapshotArray) ElementType added in v5.32.0

func (ClusterSnapshotArray) ElementType() reflect.Type

func (ClusterSnapshotArray) ToClusterSnapshotArrayOutput added in v5.32.0

func (i ClusterSnapshotArray) ToClusterSnapshotArrayOutput() ClusterSnapshotArrayOutput

func (ClusterSnapshotArray) ToClusterSnapshotArrayOutputWithContext added in v5.32.0

func (i ClusterSnapshotArray) ToClusterSnapshotArrayOutputWithContext(ctx context.Context) ClusterSnapshotArrayOutput

type ClusterSnapshotArrayInput added in v5.32.0

type ClusterSnapshotArrayInput interface {
	pulumi.Input

	ToClusterSnapshotArrayOutput() ClusterSnapshotArrayOutput
	ToClusterSnapshotArrayOutputWithContext(context.Context) ClusterSnapshotArrayOutput
}

ClusterSnapshotArrayInput is an input type that accepts ClusterSnapshotArray and ClusterSnapshotArrayOutput values. You can construct a concrete instance of `ClusterSnapshotArrayInput` via:

ClusterSnapshotArray{ ClusterSnapshotArgs{...} }

type ClusterSnapshotArrayOutput added in v5.32.0

type ClusterSnapshotArrayOutput struct{ *pulumi.OutputState }

func (ClusterSnapshotArrayOutput) ElementType added in v5.32.0

func (ClusterSnapshotArrayOutput) ElementType() reflect.Type

func (ClusterSnapshotArrayOutput) Index added in v5.32.0

func (ClusterSnapshotArrayOutput) ToClusterSnapshotArrayOutput added in v5.32.0

func (o ClusterSnapshotArrayOutput) ToClusterSnapshotArrayOutput() ClusterSnapshotArrayOutput

func (ClusterSnapshotArrayOutput) ToClusterSnapshotArrayOutputWithContext added in v5.32.0

func (o ClusterSnapshotArrayOutput) ToClusterSnapshotArrayOutputWithContext(ctx context.Context) ClusterSnapshotArrayOutput

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 ClusterSnapshotInput added in v5.32.0

type ClusterSnapshotInput interface {
	pulumi.Input

	ToClusterSnapshotOutput() ClusterSnapshotOutput
	ToClusterSnapshotOutputWithContext(ctx context.Context) ClusterSnapshotOutput
}

type ClusterSnapshotMap added in v5.32.0

type ClusterSnapshotMap map[string]ClusterSnapshotInput

func (ClusterSnapshotMap) ElementType added in v5.32.0

func (ClusterSnapshotMap) ElementType() reflect.Type

func (ClusterSnapshotMap) ToClusterSnapshotMapOutput added in v5.32.0

func (i ClusterSnapshotMap) ToClusterSnapshotMapOutput() ClusterSnapshotMapOutput

func (ClusterSnapshotMap) ToClusterSnapshotMapOutputWithContext added in v5.32.0

func (i ClusterSnapshotMap) ToClusterSnapshotMapOutputWithContext(ctx context.Context) ClusterSnapshotMapOutput

type ClusterSnapshotMapInput added in v5.32.0

type ClusterSnapshotMapInput interface {
	pulumi.Input

	ToClusterSnapshotMapOutput() ClusterSnapshotMapOutput
	ToClusterSnapshotMapOutputWithContext(context.Context) ClusterSnapshotMapOutput
}

ClusterSnapshotMapInput is an input type that accepts ClusterSnapshotMap and ClusterSnapshotMapOutput values. You can construct a concrete instance of `ClusterSnapshotMapInput` via:

ClusterSnapshotMap{ "key": ClusterSnapshotArgs{...} }

type ClusterSnapshotMapOutput added in v5.32.0

type ClusterSnapshotMapOutput struct{ *pulumi.OutputState }

func (ClusterSnapshotMapOutput) ElementType added in v5.32.0

func (ClusterSnapshotMapOutput) ElementType() reflect.Type

func (ClusterSnapshotMapOutput) MapIndex added in v5.32.0

func (ClusterSnapshotMapOutput) ToClusterSnapshotMapOutput added in v5.32.0

func (o ClusterSnapshotMapOutput) ToClusterSnapshotMapOutput() ClusterSnapshotMapOutput

func (ClusterSnapshotMapOutput) ToClusterSnapshotMapOutputWithContext added in v5.32.0

func (o ClusterSnapshotMapOutput) ToClusterSnapshotMapOutputWithContext(ctx context.Context) ClusterSnapshotMapOutput

type ClusterSnapshotOutput added in v5.32.0

type ClusterSnapshotOutput struct{ *pulumi.OutputState }

func (ClusterSnapshotOutput) Arn added in v5.32.0

Amazon Resource Name (ARN) of the snapshot.

func (ClusterSnapshotOutput) ClusterIdentifier added in v5.32.0

func (o ClusterSnapshotOutput) ClusterIdentifier() pulumi.StringOutput

The cluster identifier for which you want a snapshot.

func (ClusterSnapshotOutput) ElementType added in v5.32.0

func (ClusterSnapshotOutput) ElementType() reflect.Type

func (ClusterSnapshotOutput) KmsKeyId added in v5.32.0

The Key Management Service (KMS) key ID of the encryption key that was used to encrypt data in the cluster from which the snapshot was taken.

func (ClusterSnapshotOutput) ManualSnapshotRetentionPeriod added in v5.32.0

func (o ClusterSnapshotOutput) ManualSnapshotRetentionPeriod() pulumi.IntPtrOutput

The number of days that a manual snapshot is retained. If the value is `-1`, the manual snapshot is retained indefinitely. Valid values are -1 and between `1` and `3653`.

func (ClusterSnapshotOutput) OwnerAccount added in v5.32.0

func (o ClusterSnapshotOutput) OwnerAccount() pulumi.StringOutput

For manual snapshots, the Amazon Web Services account used to create or copy the snapshot. For automatic snapshots, the owner of the cluster. The owner can perform all snapshot actions, such as sharing a manual snapshot.

func (ClusterSnapshotOutput) SnapshotIdentifier added in v5.32.0

func (o ClusterSnapshotOutput) SnapshotIdentifier() pulumi.StringOutput

A unique identifier for the snapshot that you are requesting. This identifier must be unique for all snapshots within the Amazon Web Services account.

func (ClusterSnapshotOutput) Tags added in v5.32.0

A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.

func (ClusterSnapshotOutput) TagsAll added in v5.32.0

A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.

func (ClusterSnapshotOutput) ToClusterSnapshotOutput added in v5.32.0

func (o ClusterSnapshotOutput) ToClusterSnapshotOutput() ClusterSnapshotOutput

func (ClusterSnapshotOutput) ToClusterSnapshotOutputWithContext added in v5.32.0

func (o ClusterSnapshotOutput) ToClusterSnapshotOutputWithContext(ctx context.Context) ClusterSnapshotOutput

type ClusterSnapshotState added in v5.32.0

type ClusterSnapshotState struct {
	// Amazon Resource Name (ARN) of the snapshot.
	Arn pulumi.StringPtrInput
	// The cluster identifier for which you want a snapshot.
	ClusterIdentifier pulumi.StringPtrInput
	// The Key Management Service (KMS) key ID of the encryption key that was used to encrypt data in the cluster from which the snapshot was taken.
	KmsKeyId pulumi.StringPtrInput
	// The number of days that a manual snapshot is retained. If the value is `-1`, the manual snapshot is retained indefinitely. Valid values are -1 and between `1` and `3653`.
	ManualSnapshotRetentionPeriod pulumi.IntPtrInput
	// For manual snapshots, the Amazon Web Services account used to create or copy the snapshot. For automatic snapshots, the owner of the cluster. The owner can perform all snapshot actions, such as sharing a manual snapshot.
	OwnerAccount pulumi.StringPtrInput
	// A unique identifier for the snapshot that you are requesting. This identifier must be unique for all snapshots within the Amazon Web Services account.
	SnapshotIdentifier pulumi.StringPtrInput
	// A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapInput
}

func (ClusterSnapshotState) ElementType added in v5.32.0

func (ClusterSnapshotState) ElementType() reflect.Type

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
	// Specifies whether any cluster modifications are applied immediately, or during the next maintenance window. Default is `false`.
	ApplyImmediately pulumi.BoolPtrInput
	// The value represents how the cluster is configured to use AQUA (Advanced Query Accelerator) after the cluster is restored. Possible values are `enabled`, `disabled`, and `auto`. Requires Cluster reboot.
	AquaConfigurationStatus pulumi.StringPtrInput
	// 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. Can only be changed if `availabilityZoneRelocationEnabled` is `true`.
	AvailabilityZone pulumi.StringPtrInput
	// If true, the cluster can be relocated to another availabity zone, either automatically by AWS or when requested. Default is `false`. Available for use on clusters from the RA3 instance family.
	AvailabilityZoneRelocationEnabled pulumi.BoolPtrInput
	// The Cluster Identifier. Must be a lower case string.
	ClusterIdentifier pulumi.StringPtrInput
	// The nodes in the cluster. Cluster node blocks are documented below
	ClusterNodes ClusterClusterNodeArrayInput
	// 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.
	//
	// Deprecated: With the retirement of EC2-Classic the cluster_security_groups attribute has been deprecated and will be removed in a future version.
	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 Amazon Resource Name (ARN) for the IAM role that was set as default for the cluster when the cluster was created.
	DefaultIamRoleArn 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
	// The name of the maintenance track for the restored cluster. When you take a snapshot, the snapshot inherits the MaintenanceTrack value from the cluster. The snapshot might be on a different track than the cluster that was the source for the snapshot. For example, suppose that you take a snapshot of  a cluster that is on the current track and then change the cluster to be on the trailing track. In this case, the snapshot and the source cluster are on different tracks. Default value is `current`.
	MaintenanceTrackName pulumi.StringPtrInput
	// The default number of days to retain a manual snapshot. If the value is -1, the snapshot is retained indefinitely. This setting doesn't change the retention period of existing snapshots. Valid values are between `-1` and `3653`. Default value is `-1`.
	ManualSnapshotRetentionPeriod pulumi.IntPtrInput
	// 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. Valid values are between `1115` and `65535`.
	// 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. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll 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 EndpointAccess added in v5.6.0

type EndpointAccess struct {
	pulumi.CustomResourceState

	// The DNS address of the endpoint.
	Address pulumi.StringOutput `pulumi:"address"`
	// The cluster identifier of the cluster to access.
	ClusterIdentifier pulumi.StringOutput `pulumi:"clusterIdentifier"`
	// The Redshift-managed VPC endpoint name.
	EndpointName pulumi.StringOutput `pulumi:"endpointName"`
	// The port number on which the cluster accepts incoming connections.
	Port pulumi.IntOutput `pulumi:"port"`
	// The Amazon Web Services account ID of the owner of the cluster. This is only required if the cluster is in another Amazon Web Services account.
	ResourceOwner pulumi.StringOutput `pulumi:"resourceOwner"`
	// The subnet group from which Amazon Redshift chooses the subnet to deploy the endpoint.
	SubnetGroupName pulumi.StringOutput `pulumi:"subnetGroupName"`
	// The connection endpoint for connecting to an Amazon Redshift cluster through the proxy. See details below.
	VpcEndpoints EndpointAccessVpcEndpointArrayOutput `pulumi:"vpcEndpoints"`
	// The security group that defines the ports, protocols, and sources for inbound traffic that you are authorizing into your endpoint.
	VpcSecurityGroupIds pulumi.StringArrayOutput `pulumi:"vpcSecurityGroupIds"`
}

Creates a new Amazon Redshift endpoint access.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := redshift.NewEndpointAccess(ctx, "example", &redshift.EndpointAccessArgs{
			EndpointName:      pulumi.String("example"),
			SubnetGroupName:   pulumi.Any(aws_redshift_subnet_group.Example.Id),
			ClusterIdentifier: pulumi.Any(aws_redshift_cluster.Example.Cluster_identifier),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Redshift endpoint access can be imported using the `name`, e.g.,

```sh

$ pulumi import aws:redshift/endpointAccess:EndpointAccess example example

```

func GetEndpointAccess added in v5.6.0

func GetEndpointAccess(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *EndpointAccessState, opts ...pulumi.ResourceOption) (*EndpointAccess, error)

GetEndpointAccess gets an existing EndpointAccess 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 NewEndpointAccess added in v5.6.0

func NewEndpointAccess(ctx *pulumi.Context,
	name string, args *EndpointAccessArgs, opts ...pulumi.ResourceOption) (*EndpointAccess, error)

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

func (*EndpointAccess) ElementType added in v5.6.0

func (*EndpointAccess) ElementType() reflect.Type

func (*EndpointAccess) ToEndpointAccessOutput added in v5.6.0

func (i *EndpointAccess) ToEndpointAccessOutput() EndpointAccessOutput

func (*EndpointAccess) ToEndpointAccessOutputWithContext added in v5.6.0

func (i *EndpointAccess) ToEndpointAccessOutputWithContext(ctx context.Context) EndpointAccessOutput

type EndpointAccessArgs added in v5.6.0

type EndpointAccessArgs struct {
	// The cluster identifier of the cluster to access.
	ClusterIdentifier pulumi.StringInput
	// The Redshift-managed VPC endpoint name.
	EndpointName pulumi.StringInput
	// The Amazon Web Services account ID of the owner of the cluster. This is only required if the cluster is in another Amazon Web Services account.
	ResourceOwner pulumi.StringPtrInput
	// The subnet group from which Amazon Redshift chooses the subnet to deploy the endpoint.
	SubnetGroupName pulumi.StringInput
	// The security group that defines the ports, protocols, and sources for inbound traffic that you are authorizing into your endpoint.
	VpcSecurityGroupIds pulumi.StringArrayInput
}

The set of arguments for constructing a EndpointAccess resource.

func (EndpointAccessArgs) ElementType added in v5.6.0

func (EndpointAccessArgs) ElementType() reflect.Type

type EndpointAccessArray added in v5.6.0

type EndpointAccessArray []EndpointAccessInput

func (EndpointAccessArray) ElementType added in v5.6.0

func (EndpointAccessArray) ElementType() reflect.Type

func (EndpointAccessArray) ToEndpointAccessArrayOutput added in v5.6.0

func (i EndpointAccessArray) ToEndpointAccessArrayOutput() EndpointAccessArrayOutput

func (EndpointAccessArray) ToEndpointAccessArrayOutputWithContext added in v5.6.0

func (i EndpointAccessArray) ToEndpointAccessArrayOutputWithContext(ctx context.Context) EndpointAccessArrayOutput

type EndpointAccessArrayInput added in v5.6.0

type EndpointAccessArrayInput interface {
	pulumi.Input

	ToEndpointAccessArrayOutput() EndpointAccessArrayOutput
	ToEndpointAccessArrayOutputWithContext(context.Context) EndpointAccessArrayOutput
}

EndpointAccessArrayInput is an input type that accepts EndpointAccessArray and EndpointAccessArrayOutput values. You can construct a concrete instance of `EndpointAccessArrayInput` via:

EndpointAccessArray{ EndpointAccessArgs{...} }

type EndpointAccessArrayOutput added in v5.6.0

type EndpointAccessArrayOutput struct{ *pulumi.OutputState }

func (EndpointAccessArrayOutput) ElementType added in v5.6.0

func (EndpointAccessArrayOutput) ElementType() reflect.Type

func (EndpointAccessArrayOutput) Index added in v5.6.0

func (EndpointAccessArrayOutput) ToEndpointAccessArrayOutput added in v5.6.0

func (o EndpointAccessArrayOutput) ToEndpointAccessArrayOutput() EndpointAccessArrayOutput

func (EndpointAccessArrayOutput) ToEndpointAccessArrayOutputWithContext added in v5.6.0

func (o EndpointAccessArrayOutput) ToEndpointAccessArrayOutputWithContext(ctx context.Context) EndpointAccessArrayOutput

type EndpointAccessInput added in v5.6.0

type EndpointAccessInput interface {
	pulumi.Input

	ToEndpointAccessOutput() EndpointAccessOutput
	ToEndpointAccessOutputWithContext(ctx context.Context) EndpointAccessOutput
}

type EndpointAccessMap added in v5.6.0

type EndpointAccessMap map[string]EndpointAccessInput

func (EndpointAccessMap) ElementType added in v5.6.0

func (EndpointAccessMap) ElementType() reflect.Type

func (EndpointAccessMap) ToEndpointAccessMapOutput added in v5.6.0

func (i EndpointAccessMap) ToEndpointAccessMapOutput() EndpointAccessMapOutput

func (EndpointAccessMap) ToEndpointAccessMapOutputWithContext added in v5.6.0

func (i EndpointAccessMap) ToEndpointAccessMapOutputWithContext(ctx context.Context) EndpointAccessMapOutput

type EndpointAccessMapInput added in v5.6.0

type EndpointAccessMapInput interface {
	pulumi.Input

	ToEndpointAccessMapOutput() EndpointAccessMapOutput
	ToEndpointAccessMapOutputWithContext(context.Context) EndpointAccessMapOutput
}

EndpointAccessMapInput is an input type that accepts EndpointAccessMap and EndpointAccessMapOutput values. You can construct a concrete instance of `EndpointAccessMapInput` via:

EndpointAccessMap{ "key": EndpointAccessArgs{...} }

type EndpointAccessMapOutput added in v5.6.0

type EndpointAccessMapOutput struct{ *pulumi.OutputState }

func (EndpointAccessMapOutput) ElementType added in v5.6.0

func (EndpointAccessMapOutput) ElementType() reflect.Type

func (EndpointAccessMapOutput) MapIndex added in v5.6.0

func (EndpointAccessMapOutput) ToEndpointAccessMapOutput added in v5.6.0

func (o EndpointAccessMapOutput) ToEndpointAccessMapOutput() EndpointAccessMapOutput

func (EndpointAccessMapOutput) ToEndpointAccessMapOutputWithContext added in v5.6.0

func (o EndpointAccessMapOutput) ToEndpointAccessMapOutputWithContext(ctx context.Context) EndpointAccessMapOutput

type EndpointAccessOutput added in v5.6.0

type EndpointAccessOutput struct{ *pulumi.OutputState }

func (EndpointAccessOutput) Address added in v5.6.0

The DNS address of the endpoint.

func (EndpointAccessOutput) ClusterIdentifier added in v5.6.0

func (o EndpointAccessOutput) ClusterIdentifier() pulumi.StringOutput

The cluster identifier of the cluster to access.

func (EndpointAccessOutput) ElementType added in v5.6.0

func (EndpointAccessOutput) ElementType() reflect.Type

func (EndpointAccessOutput) EndpointName added in v5.6.0

func (o EndpointAccessOutput) EndpointName() pulumi.StringOutput

The Redshift-managed VPC endpoint name.

func (EndpointAccessOutput) Port added in v5.6.0

The port number on which the cluster accepts incoming connections.

func (EndpointAccessOutput) ResourceOwner added in v5.6.0

func (o EndpointAccessOutput) ResourceOwner() pulumi.StringOutput

The Amazon Web Services account ID of the owner of the cluster. This is only required if the cluster is in another Amazon Web Services account.

func (EndpointAccessOutput) SubnetGroupName added in v5.6.0

func (o EndpointAccessOutput) SubnetGroupName() pulumi.StringOutput

The subnet group from which Amazon Redshift chooses the subnet to deploy the endpoint.

func (EndpointAccessOutput) ToEndpointAccessOutput added in v5.6.0

func (o EndpointAccessOutput) ToEndpointAccessOutput() EndpointAccessOutput

func (EndpointAccessOutput) ToEndpointAccessOutputWithContext added in v5.6.0

func (o EndpointAccessOutput) ToEndpointAccessOutputWithContext(ctx context.Context) EndpointAccessOutput

func (EndpointAccessOutput) VpcEndpoints added in v5.6.0

The connection endpoint for connecting to an Amazon Redshift cluster through the proxy. See details below.

func (EndpointAccessOutput) VpcSecurityGroupIds added in v5.6.0

func (o EndpointAccessOutput) VpcSecurityGroupIds() pulumi.StringArrayOutput

The security group that defines the ports, protocols, and sources for inbound traffic that you are authorizing into your endpoint.

type EndpointAccessState added in v5.6.0

type EndpointAccessState struct {
	// The DNS address of the endpoint.
	Address pulumi.StringPtrInput
	// The cluster identifier of the cluster to access.
	ClusterIdentifier pulumi.StringPtrInput
	// The Redshift-managed VPC endpoint name.
	EndpointName pulumi.StringPtrInput
	// The port number on which the cluster accepts incoming connections.
	Port pulumi.IntPtrInput
	// The Amazon Web Services account ID of the owner of the cluster. This is only required if the cluster is in another Amazon Web Services account.
	ResourceOwner pulumi.StringPtrInput
	// The subnet group from which Amazon Redshift chooses the subnet to deploy the endpoint.
	SubnetGroupName pulumi.StringPtrInput
	// The connection endpoint for connecting to an Amazon Redshift cluster through the proxy. See details below.
	VpcEndpoints EndpointAccessVpcEndpointArrayInput
	// The security group that defines the ports, protocols, and sources for inbound traffic that you are authorizing into your endpoint.
	VpcSecurityGroupIds pulumi.StringArrayInput
}

func (EndpointAccessState) ElementType added in v5.6.0

func (EndpointAccessState) ElementType() reflect.Type

type EndpointAccessVpcEndpoint added in v5.6.0

type EndpointAccessVpcEndpoint struct {
	// One or more network interfaces of the endpoint. Also known as an interface endpoint. See details below.
	NetworkInterfaces []EndpointAccessVpcEndpointNetworkInterface `pulumi:"networkInterfaces"`
	// The connection endpoint ID for connecting an Amazon Redshift cluster through the proxy.
	VpcEndpointId *string `pulumi:"vpcEndpointId"`
	// The VPC identifier that the endpoint is associated.
	VpcId *string `pulumi:"vpcId"`
}

type EndpointAccessVpcEndpointArgs added in v5.6.0

type EndpointAccessVpcEndpointArgs struct {
	// One or more network interfaces of the endpoint. Also known as an interface endpoint. See details below.
	NetworkInterfaces EndpointAccessVpcEndpointNetworkInterfaceArrayInput `pulumi:"networkInterfaces"`
	// The connection endpoint ID for connecting an Amazon Redshift cluster through the proxy.
	VpcEndpointId pulumi.StringPtrInput `pulumi:"vpcEndpointId"`
	// The VPC identifier that the endpoint is associated.
	VpcId pulumi.StringPtrInput `pulumi:"vpcId"`
}

func (EndpointAccessVpcEndpointArgs) ElementType added in v5.6.0

func (EndpointAccessVpcEndpointArgs) ToEndpointAccessVpcEndpointOutput added in v5.6.0

func (i EndpointAccessVpcEndpointArgs) ToEndpointAccessVpcEndpointOutput() EndpointAccessVpcEndpointOutput

func (EndpointAccessVpcEndpointArgs) ToEndpointAccessVpcEndpointOutputWithContext added in v5.6.0

func (i EndpointAccessVpcEndpointArgs) ToEndpointAccessVpcEndpointOutputWithContext(ctx context.Context) EndpointAccessVpcEndpointOutput

type EndpointAccessVpcEndpointArray added in v5.6.0

type EndpointAccessVpcEndpointArray []EndpointAccessVpcEndpointInput

func (EndpointAccessVpcEndpointArray) ElementType added in v5.6.0

func (EndpointAccessVpcEndpointArray) ToEndpointAccessVpcEndpointArrayOutput added in v5.6.0

func (i EndpointAccessVpcEndpointArray) ToEndpointAccessVpcEndpointArrayOutput() EndpointAccessVpcEndpointArrayOutput

func (EndpointAccessVpcEndpointArray) ToEndpointAccessVpcEndpointArrayOutputWithContext added in v5.6.0

func (i EndpointAccessVpcEndpointArray) ToEndpointAccessVpcEndpointArrayOutputWithContext(ctx context.Context) EndpointAccessVpcEndpointArrayOutput

type EndpointAccessVpcEndpointArrayInput added in v5.6.0

type EndpointAccessVpcEndpointArrayInput interface {
	pulumi.Input

	ToEndpointAccessVpcEndpointArrayOutput() EndpointAccessVpcEndpointArrayOutput
	ToEndpointAccessVpcEndpointArrayOutputWithContext(context.Context) EndpointAccessVpcEndpointArrayOutput
}

EndpointAccessVpcEndpointArrayInput is an input type that accepts EndpointAccessVpcEndpointArray and EndpointAccessVpcEndpointArrayOutput values. You can construct a concrete instance of `EndpointAccessVpcEndpointArrayInput` via:

EndpointAccessVpcEndpointArray{ EndpointAccessVpcEndpointArgs{...} }

type EndpointAccessVpcEndpointArrayOutput added in v5.6.0

type EndpointAccessVpcEndpointArrayOutput struct{ *pulumi.OutputState }

func (EndpointAccessVpcEndpointArrayOutput) ElementType added in v5.6.0

func (EndpointAccessVpcEndpointArrayOutput) Index added in v5.6.0

func (EndpointAccessVpcEndpointArrayOutput) ToEndpointAccessVpcEndpointArrayOutput added in v5.6.0

func (o EndpointAccessVpcEndpointArrayOutput) ToEndpointAccessVpcEndpointArrayOutput() EndpointAccessVpcEndpointArrayOutput

func (EndpointAccessVpcEndpointArrayOutput) ToEndpointAccessVpcEndpointArrayOutputWithContext added in v5.6.0

func (o EndpointAccessVpcEndpointArrayOutput) ToEndpointAccessVpcEndpointArrayOutputWithContext(ctx context.Context) EndpointAccessVpcEndpointArrayOutput

type EndpointAccessVpcEndpointInput added in v5.6.0

type EndpointAccessVpcEndpointInput interface {
	pulumi.Input

	ToEndpointAccessVpcEndpointOutput() EndpointAccessVpcEndpointOutput
	ToEndpointAccessVpcEndpointOutputWithContext(context.Context) EndpointAccessVpcEndpointOutput
}

EndpointAccessVpcEndpointInput is an input type that accepts EndpointAccessVpcEndpointArgs and EndpointAccessVpcEndpointOutput values. You can construct a concrete instance of `EndpointAccessVpcEndpointInput` via:

EndpointAccessVpcEndpointArgs{...}

type EndpointAccessVpcEndpointNetworkInterface added in v5.6.0

type EndpointAccessVpcEndpointNetworkInterface struct {
	// The Availability Zone.
	AvailabilityZone *string `pulumi:"availabilityZone"`
	// The network interface identifier.
	NetworkInterfaceId *string `pulumi:"networkInterfaceId"`
	// The IPv4 address of the network interface within the subnet.
	PrivateIpAddress *string `pulumi:"privateIpAddress"`
	// The subnet identifier.
	SubnetId *string `pulumi:"subnetId"`
}

type EndpointAccessVpcEndpointNetworkInterfaceArgs added in v5.6.0

type EndpointAccessVpcEndpointNetworkInterfaceArgs struct {
	// The Availability Zone.
	AvailabilityZone pulumi.StringPtrInput `pulumi:"availabilityZone"`
	// The network interface identifier.
	NetworkInterfaceId pulumi.StringPtrInput `pulumi:"networkInterfaceId"`
	// The IPv4 address of the network interface within the subnet.
	PrivateIpAddress pulumi.StringPtrInput `pulumi:"privateIpAddress"`
	// The subnet identifier.
	SubnetId pulumi.StringPtrInput `pulumi:"subnetId"`
}

func (EndpointAccessVpcEndpointNetworkInterfaceArgs) ElementType added in v5.6.0

func (EndpointAccessVpcEndpointNetworkInterfaceArgs) ToEndpointAccessVpcEndpointNetworkInterfaceOutput added in v5.6.0

func (i EndpointAccessVpcEndpointNetworkInterfaceArgs) ToEndpointAccessVpcEndpointNetworkInterfaceOutput() EndpointAccessVpcEndpointNetworkInterfaceOutput

func (EndpointAccessVpcEndpointNetworkInterfaceArgs) ToEndpointAccessVpcEndpointNetworkInterfaceOutputWithContext added in v5.6.0

func (i EndpointAccessVpcEndpointNetworkInterfaceArgs) ToEndpointAccessVpcEndpointNetworkInterfaceOutputWithContext(ctx context.Context) EndpointAccessVpcEndpointNetworkInterfaceOutput

type EndpointAccessVpcEndpointNetworkInterfaceArray added in v5.6.0

type EndpointAccessVpcEndpointNetworkInterfaceArray []EndpointAccessVpcEndpointNetworkInterfaceInput

func (EndpointAccessVpcEndpointNetworkInterfaceArray) ElementType added in v5.6.0

func (EndpointAccessVpcEndpointNetworkInterfaceArray) ToEndpointAccessVpcEndpointNetworkInterfaceArrayOutput added in v5.6.0

func (i EndpointAccessVpcEndpointNetworkInterfaceArray) ToEndpointAccessVpcEndpointNetworkInterfaceArrayOutput() EndpointAccessVpcEndpointNetworkInterfaceArrayOutput

func (EndpointAccessVpcEndpointNetworkInterfaceArray) ToEndpointAccessVpcEndpointNetworkInterfaceArrayOutputWithContext added in v5.6.0

func (i EndpointAccessVpcEndpointNetworkInterfaceArray) ToEndpointAccessVpcEndpointNetworkInterfaceArrayOutputWithContext(ctx context.Context) EndpointAccessVpcEndpointNetworkInterfaceArrayOutput

type EndpointAccessVpcEndpointNetworkInterfaceArrayInput added in v5.6.0

type EndpointAccessVpcEndpointNetworkInterfaceArrayInput interface {
	pulumi.Input

	ToEndpointAccessVpcEndpointNetworkInterfaceArrayOutput() EndpointAccessVpcEndpointNetworkInterfaceArrayOutput
	ToEndpointAccessVpcEndpointNetworkInterfaceArrayOutputWithContext(context.Context) EndpointAccessVpcEndpointNetworkInterfaceArrayOutput
}

EndpointAccessVpcEndpointNetworkInterfaceArrayInput is an input type that accepts EndpointAccessVpcEndpointNetworkInterfaceArray and EndpointAccessVpcEndpointNetworkInterfaceArrayOutput values. You can construct a concrete instance of `EndpointAccessVpcEndpointNetworkInterfaceArrayInput` via:

EndpointAccessVpcEndpointNetworkInterfaceArray{ EndpointAccessVpcEndpointNetworkInterfaceArgs{...} }

type EndpointAccessVpcEndpointNetworkInterfaceArrayOutput added in v5.6.0

type EndpointAccessVpcEndpointNetworkInterfaceArrayOutput struct{ *pulumi.OutputState }

func (EndpointAccessVpcEndpointNetworkInterfaceArrayOutput) ElementType added in v5.6.0

func (EndpointAccessVpcEndpointNetworkInterfaceArrayOutput) Index added in v5.6.0

func (EndpointAccessVpcEndpointNetworkInterfaceArrayOutput) ToEndpointAccessVpcEndpointNetworkInterfaceArrayOutput added in v5.6.0

func (EndpointAccessVpcEndpointNetworkInterfaceArrayOutput) ToEndpointAccessVpcEndpointNetworkInterfaceArrayOutputWithContext added in v5.6.0

func (o EndpointAccessVpcEndpointNetworkInterfaceArrayOutput) ToEndpointAccessVpcEndpointNetworkInterfaceArrayOutputWithContext(ctx context.Context) EndpointAccessVpcEndpointNetworkInterfaceArrayOutput

type EndpointAccessVpcEndpointNetworkInterfaceInput added in v5.6.0

type EndpointAccessVpcEndpointNetworkInterfaceInput interface {
	pulumi.Input

	ToEndpointAccessVpcEndpointNetworkInterfaceOutput() EndpointAccessVpcEndpointNetworkInterfaceOutput
	ToEndpointAccessVpcEndpointNetworkInterfaceOutputWithContext(context.Context) EndpointAccessVpcEndpointNetworkInterfaceOutput
}

EndpointAccessVpcEndpointNetworkInterfaceInput is an input type that accepts EndpointAccessVpcEndpointNetworkInterfaceArgs and EndpointAccessVpcEndpointNetworkInterfaceOutput values. You can construct a concrete instance of `EndpointAccessVpcEndpointNetworkInterfaceInput` via:

EndpointAccessVpcEndpointNetworkInterfaceArgs{...}

type EndpointAccessVpcEndpointNetworkInterfaceOutput added in v5.6.0

type EndpointAccessVpcEndpointNetworkInterfaceOutput struct{ *pulumi.OutputState }

func (EndpointAccessVpcEndpointNetworkInterfaceOutput) AvailabilityZone added in v5.6.0

The Availability Zone.

func (EndpointAccessVpcEndpointNetworkInterfaceOutput) ElementType added in v5.6.0

func (EndpointAccessVpcEndpointNetworkInterfaceOutput) NetworkInterfaceId added in v5.6.0

The network interface identifier.

func (EndpointAccessVpcEndpointNetworkInterfaceOutput) PrivateIpAddress added in v5.6.0

The IPv4 address of the network interface within the subnet.

func (EndpointAccessVpcEndpointNetworkInterfaceOutput) SubnetId added in v5.6.0

The subnet identifier.

func (EndpointAccessVpcEndpointNetworkInterfaceOutput) ToEndpointAccessVpcEndpointNetworkInterfaceOutput added in v5.6.0

func (o EndpointAccessVpcEndpointNetworkInterfaceOutput) ToEndpointAccessVpcEndpointNetworkInterfaceOutput() EndpointAccessVpcEndpointNetworkInterfaceOutput

func (EndpointAccessVpcEndpointNetworkInterfaceOutput) ToEndpointAccessVpcEndpointNetworkInterfaceOutputWithContext added in v5.6.0

func (o EndpointAccessVpcEndpointNetworkInterfaceOutput) ToEndpointAccessVpcEndpointNetworkInterfaceOutputWithContext(ctx context.Context) EndpointAccessVpcEndpointNetworkInterfaceOutput

type EndpointAccessVpcEndpointOutput added in v5.6.0

type EndpointAccessVpcEndpointOutput struct{ *pulumi.OutputState }

func (EndpointAccessVpcEndpointOutput) ElementType added in v5.6.0

func (EndpointAccessVpcEndpointOutput) NetworkInterfaces added in v5.6.0

One or more network interfaces of the endpoint. Also known as an interface endpoint. See details below.

func (EndpointAccessVpcEndpointOutput) ToEndpointAccessVpcEndpointOutput added in v5.6.0

func (o EndpointAccessVpcEndpointOutput) ToEndpointAccessVpcEndpointOutput() EndpointAccessVpcEndpointOutput

func (EndpointAccessVpcEndpointOutput) ToEndpointAccessVpcEndpointOutputWithContext added in v5.6.0

func (o EndpointAccessVpcEndpointOutput) ToEndpointAccessVpcEndpointOutputWithContext(ctx context.Context) EndpointAccessVpcEndpointOutput

func (EndpointAccessVpcEndpointOutput) VpcEndpointId added in v5.6.0

The connection endpoint ID for connecting an Amazon Redshift cluster through the proxy.

func (EndpointAccessVpcEndpointOutput) VpcId added in v5.6.0

The VPC identifier that the endpoint is associated.

type EndpointAuthorization added in v5.21.0

type EndpointAuthorization struct {
	pulumi.CustomResourceState

	// The Amazon Web Services account ID to grant access to.
	Account pulumi.StringOutput `pulumi:"account"`
	// Indicates whether all VPCs in the grantee account are allowed access to the cluster.
	AllowedAllVpcs pulumi.BoolOutput `pulumi:"allowedAllVpcs"`
	// The cluster identifier of the cluster to grant access to.
	ClusterIdentifier pulumi.StringOutput `pulumi:"clusterIdentifier"`
	// The number of Redshift-managed VPC endpoints created for the authorization.
	EndpointCount pulumi.IntOutput `pulumi:"endpointCount"`
	// Indicates whether to force the revoke action. If true, the Redshift-managed VPC endpoints associated with the endpoint authorization are also deleted. Default value is `false`.
	ForceDelete pulumi.BoolPtrOutput `pulumi:"forceDelete"`
	// The Amazon Web Services account ID of the grantee of the cluster.
	Grantee pulumi.StringOutput `pulumi:"grantee"`
	// The Amazon Web Services account ID of the cluster owner.
	Grantor pulumi.StringOutput `pulumi:"grantor"`
	// The virtual private cloud (VPC) identifiers to grant access to. If none are specified all VPCs in shared account are allowed.
	VpcIds pulumi.StringArrayOutput `pulumi:"vpcIds"`
}

Creates a new Amazon Redshift endpoint authorization.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := redshift.NewEndpointAuthorization(ctx, "example", &redshift.EndpointAuthorizationArgs{
			Account:           pulumi.String("01234567910"),
			ClusterIdentifier: pulumi.Any(aws_redshift_cluster.Example.Cluster_identifier),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Redshift endpoint authorization can be imported using the `id`, e.g.,

```sh

$ pulumi import aws:redshift/endpointAuthorization:EndpointAuthorization example 01234567910:cluster-example-id

```

func GetEndpointAuthorization added in v5.21.0

func GetEndpointAuthorization(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *EndpointAuthorizationState, opts ...pulumi.ResourceOption) (*EndpointAuthorization, error)

GetEndpointAuthorization gets an existing EndpointAuthorization 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 NewEndpointAuthorization added in v5.21.0

func NewEndpointAuthorization(ctx *pulumi.Context,
	name string, args *EndpointAuthorizationArgs, opts ...pulumi.ResourceOption) (*EndpointAuthorization, error)

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

func (*EndpointAuthorization) ElementType added in v5.21.0

func (*EndpointAuthorization) ElementType() reflect.Type

func (*EndpointAuthorization) ToEndpointAuthorizationOutput added in v5.21.0

func (i *EndpointAuthorization) ToEndpointAuthorizationOutput() EndpointAuthorizationOutput

func (*EndpointAuthorization) ToEndpointAuthorizationOutputWithContext added in v5.21.0

func (i *EndpointAuthorization) ToEndpointAuthorizationOutputWithContext(ctx context.Context) EndpointAuthorizationOutput

type EndpointAuthorizationArgs added in v5.21.0

type EndpointAuthorizationArgs struct {
	// The Amazon Web Services account ID to grant access to.
	Account pulumi.StringInput
	// The cluster identifier of the cluster to grant access to.
	ClusterIdentifier pulumi.StringInput
	// Indicates whether to force the revoke action. If true, the Redshift-managed VPC endpoints associated with the endpoint authorization are also deleted. Default value is `false`.
	ForceDelete pulumi.BoolPtrInput
	// The virtual private cloud (VPC) identifiers to grant access to. If none are specified all VPCs in shared account are allowed.
	VpcIds pulumi.StringArrayInput
}

The set of arguments for constructing a EndpointAuthorization resource.

func (EndpointAuthorizationArgs) ElementType added in v5.21.0

func (EndpointAuthorizationArgs) ElementType() reflect.Type

type EndpointAuthorizationArray added in v5.21.0

type EndpointAuthorizationArray []EndpointAuthorizationInput

func (EndpointAuthorizationArray) ElementType added in v5.21.0

func (EndpointAuthorizationArray) ElementType() reflect.Type

func (EndpointAuthorizationArray) ToEndpointAuthorizationArrayOutput added in v5.21.0

func (i EndpointAuthorizationArray) ToEndpointAuthorizationArrayOutput() EndpointAuthorizationArrayOutput

func (EndpointAuthorizationArray) ToEndpointAuthorizationArrayOutputWithContext added in v5.21.0

func (i EndpointAuthorizationArray) ToEndpointAuthorizationArrayOutputWithContext(ctx context.Context) EndpointAuthorizationArrayOutput

type EndpointAuthorizationArrayInput added in v5.21.0

type EndpointAuthorizationArrayInput interface {
	pulumi.Input

	ToEndpointAuthorizationArrayOutput() EndpointAuthorizationArrayOutput
	ToEndpointAuthorizationArrayOutputWithContext(context.Context) EndpointAuthorizationArrayOutput
}

EndpointAuthorizationArrayInput is an input type that accepts EndpointAuthorizationArray and EndpointAuthorizationArrayOutput values. You can construct a concrete instance of `EndpointAuthorizationArrayInput` via:

EndpointAuthorizationArray{ EndpointAuthorizationArgs{...} }

type EndpointAuthorizationArrayOutput added in v5.21.0

type EndpointAuthorizationArrayOutput struct{ *pulumi.OutputState }

func (EndpointAuthorizationArrayOutput) ElementType added in v5.21.0

func (EndpointAuthorizationArrayOutput) Index added in v5.21.0

func (EndpointAuthorizationArrayOutput) ToEndpointAuthorizationArrayOutput added in v5.21.0

func (o EndpointAuthorizationArrayOutput) ToEndpointAuthorizationArrayOutput() EndpointAuthorizationArrayOutput

func (EndpointAuthorizationArrayOutput) ToEndpointAuthorizationArrayOutputWithContext added in v5.21.0

func (o EndpointAuthorizationArrayOutput) ToEndpointAuthorizationArrayOutputWithContext(ctx context.Context) EndpointAuthorizationArrayOutput

type EndpointAuthorizationInput added in v5.21.0

type EndpointAuthorizationInput interface {
	pulumi.Input

	ToEndpointAuthorizationOutput() EndpointAuthorizationOutput
	ToEndpointAuthorizationOutputWithContext(ctx context.Context) EndpointAuthorizationOutput
}

type EndpointAuthorizationMap added in v5.21.0

type EndpointAuthorizationMap map[string]EndpointAuthorizationInput

func (EndpointAuthorizationMap) ElementType added in v5.21.0

func (EndpointAuthorizationMap) ElementType() reflect.Type

func (EndpointAuthorizationMap) ToEndpointAuthorizationMapOutput added in v5.21.0

func (i EndpointAuthorizationMap) ToEndpointAuthorizationMapOutput() EndpointAuthorizationMapOutput

func (EndpointAuthorizationMap) ToEndpointAuthorizationMapOutputWithContext added in v5.21.0

func (i EndpointAuthorizationMap) ToEndpointAuthorizationMapOutputWithContext(ctx context.Context) EndpointAuthorizationMapOutput

type EndpointAuthorizationMapInput added in v5.21.0

type EndpointAuthorizationMapInput interface {
	pulumi.Input

	ToEndpointAuthorizationMapOutput() EndpointAuthorizationMapOutput
	ToEndpointAuthorizationMapOutputWithContext(context.Context) EndpointAuthorizationMapOutput
}

EndpointAuthorizationMapInput is an input type that accepts EndpointAuthorizationMap and EndpointAuthorizationMapOutput values. You can construct a concrete instance of `EndpointAuthorizationMapInput` via:

EndpointAuthorizationMap{ "key": EndpointAuthorizationArgs{...} }

type EndpointAuthorizationMapOutput added in v5.21.0

type EndpointAuthorizationMapOutput struct{ *pulumi.OutputState }

func (EndpointAuthorizationMapOutput) ElementType added in v5.21.0

func (EndpointAuthorizationMapOutput) MapIndex added in v5.21.0

func (EndpointAuthorizationMapOutput) ToEndpointAuthorizationMapOutput added in v5.21.0

func (o EndpointAuthorizationMapOutput) ToEndpointAuthorizationMapOutput() EndpointAuthorizationMapOutput

func (EndpointAuthorizationMapOutput) ToEndpointAuthorizationMapOutputWithContext added in v5.21.0

func (o EndpointAuthorizationMapOutput) ToEndpointAuthorizationMapOutputWithContext(ctx context.Context) EndpointAuthorizationMapOutput

type EndpointAuthorizationOutput added in v5.21.0

type EndpointAuthorizationOutput struct{ *pulumi.OutputState }

func (EndpointAuthorizationOutput) Account added in v5.21.0

The Amazon Web Services account ID to grant access to.

func (EndpointAuthorizationOutput) AllowedAllVpcs added in v5.21.0

func (o EndpointAuthorizationOutput) AllowedAllVpcs() pulumi.BoolOutput

Indicates whether all VPCs in the grantee account are allowed access to the cluster.

func (EndpointAuthorizationOutput) ClusterIdentifier added in v5.21.0

func (o EndpointAuthorizationOutput) ClusterIdentifier() pulumi.StringOutput

The cluster identifier of the cluster to grant access to.

func (EndpointAuthorizationOutput) ElementType added in v5.21.0

func (EndpointAuthorizationOutput) EndpointCount added in v5.21.0

func (o EndpointAuthorizationOutput) EndpointCount() pulumi.IntOutput

The number of Redshift-managed VPC endpoints created for the authorization.

func (EndpointAuthorizationOutput) ForceDelete added in v5.21.0

Indicates whether to force the revoke action. If true, the Redshift-managed VPC endpoints associated with the endpoint authorization are also deleted. Default value is `false`.

func (EndpointAuthorizationOutput) Grantee added in v5.21.0

The Amazon Web Services account ID of the grantee of the cluster.

func (EndpointAuthorizationOutput) Grantor added in v5.21.0

The Amazon Web Services account ID of the cluster owner.

func (EndpointAuthorizationOutput) ToEndpointAuthorizationOutput added in v5.21.0

func (o EndpointAuthorizationOutput) ToEndpointAuthorizationOutput() EndpointAuthorizationOutput

func (EndpointAuthorizationOutput) ToEndpointAuthorizationOutputWithContext added in v5.21.0

func (o EndpointAuthorizationOutput) ToEndpointAuthorizationOutputWithContext(ctx context.Context) EndpointAuthorizationOutput

func (EndpointAuthorizationOutput) VpcIds added in v5.21.0

The virtual private cloud (VPC) identifiers to grant access to. If none are specified all VPCs in shared account are allowed.

type EndpointAuthorizationState added in v5.21.0

type EndpointAuthorizationState struct {
	// The Amazon Web Services account ID to grant access to.
	Account pulumi.StringPtrInput
	// Indicates whether all VPCs in the grantee account are allowed access to the cluster.
	AllowedAllVpcs pulumi.BoolPtrInput
	// The cluster identifier of the cluster to grant access to.
	ClusterIdentifier pulumi.StringPtrInput
	// The number of Redshift-managed VPC endpoints created for the authorization.
	EndpointCount pulumi.IntPtrInput
	// Indicates whether to force the revoke action. If true, the Redshift-managed VPC endpoints associated with the endpoint authorization are also deleted. Default value is `false`.
	ForceDelete pulumi.BoolPtrInput
	// The Amazon Web Services account ID of the grantee of the cluster.
	Grantee pulumi.StringPtrInput
	// The Amazon Web Services account ID of the cluster owner.
	Grantor pulumi.StringPtrInput
	// The virtual private cloud (VPC) identifiers to grant access to. If none are specified all VPCs in shared account are allowed.
	VpcIds pulumi.StringArrayInput
}

func (EndpointAuthorizationState) ElementType added in v5.21.0

func (EndpointAuthorizationState) 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`. Default value of `INFO`.
	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`, `cluster-snapshot`, or `scheduled-action`. 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. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
}

Provides a Redshift event subscription resource.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/redshift"
"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/sns"
"github.com/pulumi/pulumi/sdk/v3/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

func (*EventSubscription) ElementType() reflect.Type

func (*EventSubscription) ToEventSubscriptionOutput

func (i *EventSubscription) ToEventSubscriptionOutput() EventSubscriptionOutput

func (*EventSubscription) ToEventSubscriptionOutputWithContext

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

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`. Default value of `INFO`.
	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`, `cluster-snapshot`, or `scheduled-action`. If not set, all sources will be subscribed to.
	SourceType pulumi.StringPtrInput
	// A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
}

The set of arguments for constructing a EventSubscription resource.

func (EventSubscriptionArgs) ElementType

func (EventSubscriptionArgs) ElementType() reflect.Type

type EventSubscriptionArray

type EventSubscriptionArray []EventSubscriptionInput

func (EventSubscriptionArray) ElementType

func (EventSubscriptionArray) ElementType() reflect.Type

func (EventSubscriptionArray) ToEventSubscriptionArrayOutput

func (i EventSubscriptionArray) ToEventSubscriptionArrayOutput() EventSubscriptionArrayOutput

func (EventSubscriptionArray) ToEventSubscriptionArrayOutputWithContext

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

type EventSubscriptionArrayInput

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

type EventSubscriptionArrayOutput struct{ *pulumi.OutputState }

func (EventSubscriptionArrayOutput) ElementType

func (EventSubscriptionArrayOutput) Index

func (EventSubscriptionArrayOutput) ToEventSubscriptionArrayOutput

func (o EventSubscriptionArrayOutput) ToEventSubscriptionArrayOutput() EventSubscriptionArrayOutput

func (EventSubscriptionArrayOutput) ToEventSubscriptionArrayOutputWithContext

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

type EventSubscriptionInput

type EventSubscriptionInput interface {
	pulumi.Input

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

type EventSubscriptionMap

type EventSubscriptionMap map[string]EventSubscriptionInput

func (EventSubscriptionMap) ElementType

func (EventSubscriptionMap) ElementType() reflect.Type

func (EventSubscriptionMap) ToEventSubscriptionMapOutput

func (i EventSubscriptionMap) ToEventSubscriptionMapOutput() EventSubscriptionMapOutput

func (EventSubscriptionMap) ToEventSubscriptionMapOutputWithContext

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

type EventSubscriptionMapInput

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

type EventSubscriptionMapOutput struct{ *pulumi.OutputState }

func (EventSubscriptionMapOutput) ElementType

func (EventSubscriptionMapOutput) ElementType() reflect.Type

func (EventSubscriptionMapOutput) MapIndex

func (EventSubscriptionMapOutput) ToEventSubscriptionMapOutput

func (o EventSubscriptionMapOutput) ToEventSubscriptionMapOutput() EventSubscriptionMapOutput

func (EventSubscriptionMapOutput) ToEventSubscriptionMapOutputWithContext

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

type EventSubscriptionOutput

type EventSubscriptionOutput struct{ *pulumi.OutputState }

func (EventSubscriptionOutput) Arn added in v5.4.0

Amazon Resource Name (ARN) of the Redshift event notification subscription

func (EventSubscriptionOutput) CustomerAwsId added in v5.4.0

func (o EventSubscriptionOutput) CustomerAwsId() pulumi.StringOutput

The AWS customer account associated with the Redshift event notification subscription

func (EventSubscriptionOutput) ElementType

func (EventSubscriptionOutput) ElementType() reflect.Type

func (EventSubscriptionOutput) Enabled added in v5.4.0

A boolean flag to enable/disable the subscription. Defaults to `true`.

func (EventSubscriptionOutput) EventCategories added in v5.4.0

func (o EventSubscriptionOutput) EventCategories() pulumi.StringArrayOutput

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

func (EventSubscriptionOutput) Name added in v5.4.0

The name of the Redshift event subscription.

func (EventSubscriptionOutput) Severity added in v5.4.0

The event severity to be published by the notification subscription. Valid options are `INFO` or `ERROR`. Default value of `INFO`.

func (EventSubscriptionOutput) SnsTopicArn added in v5.4.0

The ARN of the SNS topic to send events to.

func (EventSubscriptionOutput) SourceIds added in v5.4.0

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.

func (EventSubscriptionOutput) SourceType added in v5.4.0

The type of source that will be generating the events. Valid options are `cluster`, `cluster-parameter-group`, `cluster-security-group`, `cluster-snapshot`, or `scheduled-action`. If not set, all sources will be subscribed to.

func (EventSubscriptionOutput) Status added in v5.4.0

func (EventSubscriptionOutput) Tags added in v5.4.0

A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.

func (EventSubscriptionOutput) TagsAll added in v5.4.0

A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.

func (EventSubscriptionOutput) ToEventSubscriptionOutput

func (o EventSubscriptionOutput) ToEventSubscriptionOutput() EventSubscriptionOutput

func (EventSubscriptionOutput) ToEventSubscriptionOutputWithContext

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

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`. Default value of `INFO`.
	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`, `cluster-snapshot`, or `scheduled-action`. If not set, all sources will be subscribed to.
	SourceType pulumi.StringPtrInput
	Status     pulumi.StringPtrInput
	// A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapInput
}

func (EventSubscriptionState) ElementType

func (EventSubscriptionState) ElementType() reflect.Type

type GetClusterClusterNode added in v5.6.0

type GetClusterClusterNode struct {
	// Whether the node is a leader node or a compute node
	NodeRole string `pulumi:"nodeRole"`
	// Private IP address of a node within a cluster
	PrivateIpAddress string `pulumi:"privateIpAddress"`
	// Public IP address of a node within a cluster
	PublicIpAddress string `pulumi:"publicIpAddress"`
}

type GetClusterClusterNodeArgs added in v5.6.0

type GetClusterClusterNodeArgs struct {
	// Whether the node is a leader node or a compute node
	NodeRole pulumi.StringInput `pulumi:"nodeRole"`
	// Private IP address of a node within a cluster
	PrivateIpAddress pulumi.StringInput `pulumi:"privateIpAddress"`
	// Public IP address of a node within a cluster
	PublicIpAddress pulumi.StringInput `pulumi:"publicIpAddress"`
}

func (GetClusterClusterNodeArgs) ElementType added in v5.6.0

func (GetClusterClusterNodeArgs) ElementType() reflect.Type

func (GetClusterClusterNodeArgs) ToGetClusterClusterNodeOutput added in v5.6.0

func (i GetClusterClusterNodeArgs) ToGetClusterClusterNodeOutput() GetClusterClusterNodeOutput

func (GetClusterClusterNodeArgs) ToGetClusterClusterNodeOutputWithContext added in v5.6.0

func (i GetClusterClusterNodeArgs) ToGetClusterClusterNodeOutputWithContext(ctx context.Context) GetClusterClusterNodeOutput

type GetClusterClusterNodeArray added in v5.6.0

type GetClusterClusterNodeArray []GetClusterClusterNodeInput

func (GetClusterClusterNodeArray) ElementType added in v5.6.0

func (GetClusterClusterNodeArray) ElementType() reflect.Type

func (GetClusterClusterNodeArray) ToGetClusterClusterNodeArrayOutput added in v5.6.0

func (i GetClusterClusterNodeArray) ToGetClusterClusterNodeArrayOutput() GetClusterClusterNodeArrayOutput

func (GetClusterClusterNodeArray) ToGetClusterClusterNodeArrayOutputWithContext added in v5.6.0

func (i GetClusterClusterNodeArray) ToGetClusterClusterNodeArrayOutputWithContext(ctx context.Context) GetClusterClusterNodeArrayOutput

type GetClusterClusterNodeArrayInput added in v5.6.0

type GetClusterClusterNodeArrayInput interface {
	pulumi.Input

	ToGetClusterClusterNodeArrayOutput() GetClusterClusterNodeArrayOutput
	ToGetClusterClusterNodeArrayOutputWithContext(context.Context) GetClusterClusterNodeArrayOutput
}

GetClusterClusterNodeArrayInput is an input type that accepts GetClusterClusterNodeArray and GetClusterClusterNodeArrayOutput values. You can construct a concrete instance of `GetClusterClusterNodeArrayInput` via:

GetClusterClusterNodeArray{ GetClusterClusterNodeArgs{...} }

type GetClusterClusterNodeArrayOutput added in v5.6.0

type GetClusterClusterNodeArrayOutput struct{ *pulumi.OutputState }

func (GetClusterClusterNodeArrayOutput) ElementType added in v5.6.0

func (GetClusterClusterNodeArrayOutput) Index added in v5.6.0

func (GetClusterClusterNodeArrayOutput) ToGetClusterClusterNodeArrayOutput added in v5.6.0

func (o GetClusterClusterNodeArrayOutput) ToGetClusterClusterNodeArrayOutput() GetClusterClusterNodeArrayOutput

func (GetClusterClusterNodeArrayOutput) ToGetClusterClusterNodeArrayOutputWithContext added in v5.6.0

func (o GetClusterClusterNodeArrayOutput) ToGetClusterClusterNodeArrayOutputWithContext(ctx context.Context) GetClusterClusterNodeArrayOutput

type GetClusterClusterNodeInput added in v5.6.0

type GetClusterClusterNodeInput interface {
	pulumi.Input

	ToGetClusterClusterNodeOutput() GetClusterClusterNodeOutput
	ToGetClusterClusterNodeOutputWithContext(context.Context) GetClusterClusterNodeOutput
}

GetClusterClusterNodeInput is an input type that accepts GetClusterClusterNodeArgs and GetClusterClusterNodeOutput values. You can construct a concrete instance of `GetClusterClusterNodeInput` via:

GetClusterClusterNodeArgs{...}

type GetClusterClusterNodeOutput added in v5.6.0

type GetClusterClusterNodeOutput struct{ *pulumi.OutputState }

func (GetClusterClusterNodeOutput) ElementType added in v5.6.0

func (GetClusterClusterNodeOutput) NodeRole added in v5.6.0

Whether the node is a leader node or a compute node

func (GetClusterClusterNodeOutput) PrivateIpAddress added in v5.6.0

func (o GetClusterClusterNodeOutput) PrivateIpAddress() pulumi.StringOutput

Private IP address of a node within a cluster

func (GetClusterClusterNodeOutput) PublicIpAddress added in v5.6.0

func (o GetClusterClusterNodeOutput) PublicIpAddress() pulumi.StringOutput

Public IP address of a node within a cluster

func (GetClusterClusterNodeOutput) ToGetClusterClusterNodeOutput added in v5.6.0

func (o GetClusterClusterNodeOutput) ToGetClusterClusterNodeOutput() GetClusterClusterNodeOutput

func (GetClusterClusterNodeOutput) ToGetClusterClusterNodeOutputWithContext added in v5.6.0

func (o GetClusterClusterNodeOutput) ToGetClusterClusterNodeOutputWithContext(ctx context.Context) GetClusterClusterNodeOutput

type GetClusterCredentialsArgs added in v5.7.0

type GetClusterCredentialsArgs struct {
	// Create a database user with the name specified for the user named in `dbUser` if one does not exist.
	AutoCreate *bool `pulumi:"autoCreate"`
	// Unique identifier of the cluster that contains the database for which your are requesting credentials.
	ClusterIdentifier string `pulumi:"clusterIdentifier"`
	// List of the names of existing database groups that the user named in `dbUser` will join for the current session, in addition to any group memberships for an existing user. If not specified, a new user is added only to `PUBLIC`.
	DbGroups []string `pulumi:"dbGroups"`
	// Name of a database that DbUser is authorized to log on to. If `dbName` is not specified, `dbUser` can log on to any existing database.
	DbName *string `pulumi:"dbName"`
	// Name of a database user. If a user name matching `dbUser` exists in the database, the temporary user credentials have the same permissions as the  existing user. If `dbUser` doesn't exist in the database and `autoCreate` is `True`, a new user is created using the value for `dbUser` with `PUBLIC` permissions.  If a database user matching the value for `dbUser` doesn't exist and `not` is `False`, then the command succeeds but the connection attempt will fail because the user doesn't exist in the database.
	DbUser string `pulumi:"dbUser"`
	// The number of seconds until the returned temporary password expires. Valid values are between `900` and `3600`. Default value is `900`.
	DurationSeconds *int `pulumi:"durationSeconds"`
}

A collection of arguments for invoking getClusterCredentials.

type GetClusterCredentialsOutputArgs added in v5.7.0

type GetClusterCredentialsOutputArgs struct {
	// Create a database user with the name specified for the user named in `dbUser` if one does not exist.
	AutoCreate pulumi.BoolPtrInput `pulumi:"autoCreate"`
	// Unique identifier of the cluster that contains the database for which your are requesting credentials.
	ClusterIdentifier pulumi.StringInput `pulumi:"clusterIdentifier"`
	// List of the names of existing database groups that the user named in `dbUser` will join for the current session, in addition to any group memberships for an existing user. If not specified, a new user is added only to `PUBLIC`.
	DbGroups pulumi.StringArrayInput `pulumi:"dbGroups"`
	// Name of a database that DbUser is authorized to log on to. If `dbName` is not specified, `dbUser` can log on to any existing database.
	DbName pulumi.StringPtrInput `pulumi:"dbName"`
	// Name of a database user. If a user name matching `dbUser` exists in the database, the temporary user credentials have the same permissions as the  existing user. If `dbUser` doesn't exist in the database and `autoCreate` is `True`, a new user is created using the value for `dbUser` with `PUBLIC` permissions.  If a database user matching the value for `dbUser` doesn't exist and `not` is `False`, then the command succeeds but the connection attempt will fail because the user doesn't exist in the database.
	DbUser pulumi.StringInput `pulumi:"dbUser"`
	// The number of seconds until the returned temporary password expires. Valid values are between `900` and `3600`. Default value is `900`.
	DurationSeconds pulumi.IntPtrInput `pulumi:"durationSeconds"`
}

A collection of arguments for invoking getClusterCredentials.

func (GetClusterCredentialsOutputArgs) ElementType added in v5.7.0

type GetClusterCredentialsResult added in v5.7.0

type GetClusterCredentialsResult struct {
	AutoCreate        *bool    `pulumi:"autoCreate"`
	ClusterIdentifier string   `pulumi:"clusterIdentifier"`
	DbGroups          []string `pulumi:"dbGroups"`
	DbName            *string  `pulumi:"dbName"`
	// Temporary password that authorizes the user name returned by `dbUser` to log on to the database `dbName`.
	DbPassword      string `pulumi:"dbPassword"`
	DbUser          string `pulumi:"dbUser"`
	DurationSeconds *int   `pulumi:"durationSeconds"`
	// Date and time the password in `dbPassword` expires.
	Expiration string `pulumi:"expiration"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
}

A collection of values returned by getClusterCredentials.

func GetClusterCredentials added in v5.7.0

func GetClusterCredentials(ctx *pulumi.Context, args *GetClusterCredentialsArgs, opts ...pulumi.InvokeOption) (*GetClusterCredentialsResult, error)

Provides redshift cluster temporary credentials.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := redshift.GetClusterCredentials(ctx, &redshift.GetClusterCredentialsArgs{
			ClusterIdentifier: aws_redshift_cluster.Example.Cluster_identifier,
			DbUser:            aws_redshift_cluster.Example.Master_username,
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetClusterCredentialsResultOutput added in v5.7.0

type GetClusterCredentialsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getClusterCredentials.

func GetClusterCredentialsOutput added in v5.7.0

func (GetClusterCredentialsResultOutput) AutoCreate added in v5.7.0

func (GetClusterCredentialsResultOutput) ClusterIdentifier added in v5.7.0

func (GetClusterCredentialsResultOutput) DbGroups added in v5.7.0

func (GetClusterCredentialsResultOutput) DbName added in v5.7.0

func (GetClusterCredentialsResultOutput) DbPassword added in v5.7.0

Temporary password that authorizes the user name returned by `dbUser` to log on to the database `dbName`.

func (GetClusterCredentialsResultOutput) DbUser added in v5.7.0

func (GetClusterCredentialsResultOutput) DurationSeconds added in v5.7.0

func (GetClusterCredentialsResultOutput) ElementType added in v5.7.0

func (GetClusterCredentialsResultOutput) Expiration added in v5.7.0

Date and time the password in `dbPassword` expires.

func (GetClusterCredentialsResultOutput) Id added in v5.7.0

The provider-assigned unique ID for this managed resource.

func (GetClusterCredentialsResultOutput) ToGetClusterCredentialsResultOutput added in v5.7.0

func (o GetClusterCredentialsResultOutput) ToGetClusterCredentialsResultOutput() GetClusterCredentialsResultOutput

func (GetClusterCredentialsResultOutput) ToGetClusterCredentialsResultOutputWithContext added in v5.7.0

func (o GetClusterCredentialsResultOutput) ToGetClusterCredentialsResultOutputWithContext(ctx context.Context) GetClusterCredentialsResultOutput

type GetOrderableClusterArgs

type GetOrderableClusterArgs struct {
	// Reshift Cluster typeE.g., `multi-node` or `single-node`
	ClusterType *string `pulumi:"clusterType"`
	// Redshift Cluster versionE.g., `1.0`
	ClusterVersion *string `pulumi:"clusterVersion"`
	// Redshift Cluster node typeE.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 GetOrderableClusterOutputArgs

type GetOrderableClusterOutputArgs struct {
	// Reshift Cluster typeE.g., `multi-node` or `single-node`
	ClusterType pulumi.StringPtrInput `pulumi:"clusterType"`
	// Redshift Cluster versionE.g., `1.0`
	ClusterVersion pulumi.StringPtrInput `pulumi:"clusterVersion"`
	// Redshift Cluster node typeE.g., `dc2.8xlarge`
	NodeType pulumi.StringPtrInput `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 pulumi.StringArrayInput `pulumi:"preferredNodeTypes"`
}

A collection of arguments for invoking getOrderableCluster.

func (GetOrderableClusterOutputArgs) ElementType

type GetOrderableClusterResult

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

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/v5/go/aws/redshift"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

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

```

type GetOrderableClusterResultOutput

type GetOrderableClusterResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getOrderableCluster.

func (GetOrderableClusterResultOutput) AvailabilityZones

List of Availability Zone names where the Redshit Cluster is available.

func (GetOrderableClusterResultOutput) ClusterType

func (GetOrderableClusterResultOutput) ClusterVersion

func (GetOrderableClusterResultOutput) ElementType

func (GetOrderableClusterResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetOrderableClusterResultOutput) NodeType

func (GetOrderableClusterResultOutput) PreferredNodeTypes

func (GetOrderableClusterResultOutput) ToGetOrderableClusterResultOutput

func (o GetOrderableClusterResultOutput) ToGetOrderableClusterResultOutput() GetOrderableClusterResultOutput

func (GetOrderableClusterResultOutput) ToGetOrderableClusterResultOutputWithContext

func (o GetOrderableClusterResultOutput) ToGetOrderableClusterResultOutputWithContext(ctx context.Context) GetOrderableClusterResultOutput

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 GetServiceAccountOutputArgs

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

A collection of arguments for invoking getServiceAccount.

func (GetServiceAccountOutputArgs) ElementType

type GetServiceAccountResult

type GetServiceAccountResult struct {
	// 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.

> **Note:** AWS documentation [states that](https://docs.aws.amazon.com/redshift/latest/mgmt/db-auditing.html#db-auditing-bucket-permissions) a [service principal name](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html#principal-services) should be used instead of an AWS account ID in any relevant IAM policy. The `redshift.getServiceAccount` data source should now be considered deprecated and will be removed in a future version.

type GetServiceAccountResultOutput

type GetServiceAccountResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getServiceAccount.

func (GetServiceAccountResultOutput) Arn

ARN of the AWS Redshift service account in the selected region.

func (GetServiceAccountResultOutput) ElementType

func (GetServiceAccountResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetServiceAccountResultOutput) Region

func (GetServiceAccountResultOutput) ToGetServiceAccountResultOutput

func (o GetServiceAccountResultOutput) ToGetServiceAccountResultOutput() GetServiceAccountResultOutput

func (GetServiceAccountResultOutput) ToGetServiceAccountResultOutputWithContext

func (o GetServiceAccountResultOutput) ToGetServiceAccountResultOutputWithContext(ctx context.Context) GetServiceAccountResultOutput

type HsmClientCertificate added in v5.6.0

type HsmClientCertificate struct {
	pulumi.CustomResourceState

	// Amazon Resource Name (ARN) of the Hsm Client Certificate.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// The identifier of the HSM client certificate.
	HsmClientCertificateIdentifier pulumi.StringOutput `pulumi:"hsmClientCertificateIdentifier"`
	// The public key that the Amazon Redshift cluster will use to connect to the HSM. You must register the public key in the HSM.
	HsmClientCertificatePublicKey pulumi.StringOutput `pulumi:"hsmClientCertificatePublicKey"`
	// A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
}

Creates an HSM client certificate that an Amazon Redshift cluster will use to connect to the client's HSM in order to store and retrieve the keys used to encrypt the cluster databases.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := redshift.NewHsmClientCertificate(ctx, "example", &redshift.HsmClientCertificateArgs{
			HsmClientCertificateIdentifier: pulumi.String("example"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Redshift Hsm Client Certificates support import by `hsm_client_certificate_identifier`, e.g., console

```sh

$ pulumi import aws:redshift/hsmClientCertificate:HsmClientCertificate test example

```

func GetHsmClientCertificate added in v5.6.0

func GetHsmClientCertificate(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *HsmClientCertificateState, opts ...pulumi.ResourceOption) (*HsmClientCertificate, error)

GetHsmClientCertificate gets an existing HsmClientCertificate 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 NewHsmClientCertificate added in v5.6.0

func NewHsmClientCertificate(ctx *pulumi.Context,
	name string, args *HsmClientCertificateArgs, opts ...pulumi.ResourceOption) (*HsmClientCertificate, error)

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

func (*HsmClientCertificate) ElementType added in v5.6.0

func (*HsmClientCertificate) ElementType() reflect.Type

func (*HsmClientCertificate) ToHsmClientCertificateOutput added in v5.6.0

func (i *HsmClientCertificate) ToHsmClientCertificateOutput() HsmClientCertificateOutput

func (*HsmClientCertificate) ToHsmClientCertificateOutputWithContext added in v5.6.0

func (i *HsmClientCertificate) ToHsmClientCertificateOutputWithContext(ctx context.Context) HsmClientCertificateOutput

type HsmClientCertificateArgs added in v5.6.0

type HsmClientCertificateArgs struct {
	// The identifier of the HSM client certificate.
	HsmClientCertificateIdentifier pulumi.StringInput
	// A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
}

The set of arguments for constructing a HsmClientCertificate resource.

func (HsmClientCertificateArgs) ElementType added in v5.6.0

func (HsmClientCertificateArgs) ElementType() reflect.Type

type HsmClientCertificateArray added in v5.6.0

type HsmClientCertificateArray []HsmClientCertificateInput

func (HsmClientCertificateArray) ElementType added in v5.6.0

func (HsmClientCertificateArray) ElementType() reflect.Type

func (HsmClientCertificateArray) ToHsmClientCertificateArrayOutput added in v5.6.0

func (i HsmClientCertificateArray) ToHsmClientCertificateArrayOutput() HsmClientCertificateArrayOutput

func (HsmClientCertificateArray) ToHsmClientCertificateArrayOutputWithContext added in v5.6.0

func (i HsmClientCertificateArray) ToHsmClientCertificateArrayOutputWithContext(ctx context.Context) HsmClientCertificateArrayOutput

type HsmClientCertificateArrayInput added in v5.6.0

type HsmClientCertificateArrayInput interface {
	pulumi.Input

	ToHsmClientCertificateArrayOutput() HsmClientCertificateArrayOutput
	ToHsmClientCertificateArrayOutputWithContext(context.Context) HsmClientCertificateArrayOutput
}

HsmClientCertificateArrayInput is an input type that accepts HsmClientCertificateArray and HsmClientCertificateArrayOutput values. You can construct a concrete instance of `HsmClientCertificateArrayInput` via:

HsmClientCertificateArray{ HsmClientCertificateArgs{...} }

type HsmClientCertificateArrayOutput added in v5.6.0

type HsmClientCertificateArrayOutput struct{ *pulumi.OutputState }

func (HsmClientCertificateArrayOutput) ElementType added in v5.6.0

func (HsmClientCertificateArrayOutput) Index added in v5.6.0

func (HsmClientCertificateArrayOutput) ToHsmClientCertificateArrayOutput added in v5.6.0

func (o HsmClientCertificateArrayOutput) ToHsmClientCertificateArrayOutput() HsmClientCertificateArrayOutput

func (HsmClientCertificateArrayOutput) ToHsmClientCertificateArrayOutputWithContext added in v5.6.0

func (o HsmClientCertificateArrayOutput) ToHsmClientCertificateArrayOutputWithContext(ctx context.Context) HsmClientCertificateArrayOutput

type HsmClientCertificateInput added in v5.6.0

type HsmClientCertificateInput interface {
	pulumi.Input

	ToHsmClientCertificateOutput() HsmClientCertificateOutput
	ToHsmClientCertificateOutputWithContext(ctx context.Context) HsmClientCertificateOutput
}

type HsmClientCertificateMap added in v5.6.0

type HsmClientCertificateMap map[string]HsmClientCertificateInput

func (HsmClientCertificateMap) ElementType added in v5.6.0

func (HsmClientCertificateMap) ElementType() reflect.Type

func (HsmClientCertificateMap) ToHsmClientCertificateMapOutput added in v5.6.0

func (i HsmClientCertificateMap) ToHsmClientCertificateMapOutput() HsmClientCertificateMapOutput

func (HsmClientCertificateMap) ToHsmClientCertificateMapOutputWithContext added in v5.6.0

func (i HsmClientCertificateMap) ToHsmClientCertificateMapOutputWithContext(ctx context.Context) HsmClientCertificateMapOutput

type HsmClientCertificateMapInput added in v5.6.0

type HsmClientCertificateMapInput interface {
	pulumi.Input

	ToHsmClientCertificateMapOutput() HsmClientCertificateMapOutput
	ToHsmClientCertificateMapOutputWithContext(context.Context) HsmClientCertificateMapOutput
}

HsmClientCertificateMapInput is an input type that accepts HsmClientCertificateMap and HsmClientCertificateMapOutput values. You can construct a concrete instance of `HsmClientCertificateMapInput` via:

HsmClientCertificateMap{ "key": HsmClientCertificateArgs{...} }

type HsmClientCertificateMapOutput added in v5.6.0

type HsmClientCertificateMapOutput struct{ *pulumi.OutputState }

func (HsmClientCertificateMapOutput) ElementType added in v5.6.0

func (HsmClientCertificateMapOutput) MapIndex added in v5.6.0

func (HsmClientCertificateMapOutput) ToHsmClientCertificateMapOutput added in v5.6.0

func (o HsmClientCertificateMapOutput) ToHsmClientCertificateMapOutput() HsmClientCertificateMapOutput

func (HsmClientCertificateMapOutput) ToHsmClientCertificateMapOutputWithContext added in v5.6.0

func (o HsmClientCertificateMapOutput) ToHsmClientCertificateMapOutputWithContext(ctx context.Context) HsmClientCertificateMapOutput

type HsmClientCertificateOutput added in v5.6.0

type HsmClientCertificateOutput struct{ *pulumi.OutputState }

func (HsmClientCertificateOutput) Arn added in v5.6.0

Amazon Resource Name (ARN) of the Hsm Client Certificate.

func (HsmClientCertificateOutput) ElementType added in v5.6.0

func (HsmClientCertificateOutput) ElementType() reflect.Type

func (HsmClientCertificateOutput) HsmClientCertificateIdentifier added in v5.6.0

func (o HsmClientCertificateOutput) HsmClientCertificateIdentifier() pulumi.StringOutput

The identifier of the HSM client certificate.

func (HsmClientCertificateOutput) HsmClientCertificatePublicKey added in v5.6.0

func (o HsmClientCertificateOutput) HsmClientCertificatePublicKey() pulumi.StringOutput

The public key that the Amazon Redshift cluster will use to connect to the HSM. You must register the public key in the HSM.

func (HsmClientCertificateOutput) Tags added in v5.6.0

A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.

func (HsmClientCertificateOutput) TagsAll added in v5.6.0

A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.

func (HsmClientCertificateOutput) ToHsmClientCertificateOutput added in v5.6.0

func (o HsmClientCertificateOutput) ToHsmClientCertificateOutput() HsmClientCertificateOutput

func (HsmClientCertificateOutput) ToHsmClientCertificateOutputWithContext added in v5.6.0

func (o HsmClientCertificateOutput) ToHsmClientCertificateOutputWithContext(ctx context.Context) HsmClientCertificateOutput

type HsmClientCertificateState added in v5.6.0

type HsmClientCertificateState struct {
	// Amazon Resource Name (ARN) of the Hsm Client Certificate.
	Arn pulumi.StringPtrInput
	// The identifier of the HSM client certificate.
	HsmClientCertificateIdentifier pulumi.StringPtrInput
	// The public key that the Amazon Redshift cluster will use to connect to the HSM. You must register the public key in the HSM.
	HsmClientCertificatePublicKey pulumi.StringPtrInput
	// A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapInput
}

func (HsmClientCertificateState) ElementType added in v5.6.0

func (HsmClientCertificateState) ElementType() reflect.Type

type HsmConfiguration added in v5.7.0

type HsmConfiguration struct {
	pulumi.CustomResourceState

	// Amazon Resource Name (ARN) of the Hsm Client Certificate.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// A text description of the HSM configuration to be created.
	Description pulumi.StringOutput `pulumi:"description"`
	// The identifier to be assigned to the new Amazon Redshift HSM configuration.
	HsmConfigurationIdentifier pulumi.StringOutput `pulumi:"hsmConfigurationIdentifier"`
	// The IP address that the Amazon Redshift cluster must use to access the HSM.
	HsmIpAddress pulumi.StringOutput `pulumi:"hsmIpAddress"`
	// The name of the partition in the HSM where the Amazon Redshift clusters will store their database encryption keys.
	HsmPartitionName pulumi.StringOutput `pulumi:"hsmPartitionName"`
	// The password required to access the HSM partition.
	HsmPartitionPassword pulumi.StringOutput `pulumi:"hsmPartitionPassword"`
	// The HSMs public certificate file. When using Cloud HSM, the file name is server.pem.
	HsmServerPublicCertificate pulumi.StringOutput `pulumi:"hsmServerPublicCertificate"`
	// A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
}

Creates an HSM configuration that contains the information required by an Amazon Redshift cluster to store and use database encryption keys in a Hardware Security Module (HSM).

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := redshift.NewHsmConfiguration(ctx, "example", &redshift.HsmConfigurationArgs{
			Description:                pulumi.String("example"),
			HsmConfigurationIdentifier: pulumi.String("example"),
			HsmIpAddress:               pulumi.String("10.0.0.1"),
			HsmPartitionName:           pulumi.String("aws"),
			HsmPartitionPassword:       pulumi.String("example"),
			HsmServerPublicCertificate: pulumi.String("example"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Redshift Hsm Client Certificates support import by `hsm_configuration_identifier`, e.g., console

```sh

$ pulumi import aws:redshift/hsmConfiguration:HsmConfiguration example example

```

func GetHsmConfiguration added in v5.7.0

func GetHsmConfiguration(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *HsmConfigurationState, opts ...pulumi.ResourceOption) (*HsmConfiguration, error)

GetHsmConfiguration gets an existing HsmConfiguration 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 NewHsmConfiguration added in v5.7.0

func NewHsmConfiguration(ctx *pulumi.Context,
	name string, args *HsmConfigurationArgs, opts ...pulumi.ResourceOption) (*HsmConfiguration, error)

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

func (*HsmConfiguration) ElementType added in v5.7.0

func (*HsmConfiguration) ElementType() reflect.Type

func (*HsmConfiguration) ToHsmConfigurationOutput added in v5.7.0

func (i *HsmConfiguration) ToHsmConfigurationOutput() HsmConfigurationOutput

func (*HsmConfiguration) ToHsmConfigurationOutputWithContext added in v5.7.0

func (i *HsmConfiguration) ToHsmConfigurationOutputWithContext(ctx context.Context) HsmConfigurationOutput

type HsmConfigurationArgs added in v5.7.0

type HsmConfigurationArgs struct {
	// A text description of the HSM configuration to be created.
	Description pulumi.StringInput
	// The identifier to be assigned to the new Amazon Redshift HSM configuration.
	HsmConfigurationIdentifier pulumi.StringInput
	// The IP address that the Amazon Redshift cluster must use to access the HSM.
	HsmIpAddress pulumi.StringInput
	// The name of the partition in the HSM where the Amazon Redshift clusters will store their database encryption keys.
	HsmPartitionName pulumi.StringInput
	// The password required to access the HSM partition.
	HsmPartitionPassword pulumi.StringInput
	// The HSMs public certificate file. When using Cloud HSM, the file name is server.pem.
	HsmServerPublicCertificate pulumi.StringInput
	// A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
}

The set of arguments for constructing a HsmConfiguration resource.

func (HsmConfigurationArgs) ElementType added in v5.7.0

func (HsmConfigurationArgs) ElementType() reflect.Type

type HsmConfigurationArray added in v5.7.0

type HsmConfigurationArray []HsmConfigurationInput

func (HsmConfigurationArray) ElementType added in v5.7.0

func (HsmConfigurationArray) ElementType() reflect.Type

func (HsmConfigurationArray) ToHsmConfigurationArrayOutput added in v5.7.0

func (i HsmConfigurationArray) ToHsmConfigurationArrayOutput() HsmConfigurationArrayOutput

func (HsmConfigurationArray) ToHsmConfigurationArrayOutputWithContext added in v5.7.0

func (i HsmConfigurationArray) ToHsmConfigurationArrayOutputWithContext(ctx context.Context) HsmConfigurationArrayOutput

type HsmConfigurationArrayInput added in v5.7.0

type HsmConfigurationArrayInput interface {
	pulumi.Input

	ToHsmConfigurationArrayOutput() HsmConfigurationArrayOutput
	ToHsmConfigurationArrayOutputWithContext(context.Context) HsmConfigurationArrayOutput
}

HsmConfigurationArrayInput is an input type that accepts HsmConfigurationArray and HsmConfigurationArrayOutput values. You can construct a concrete instance of `HsmConfigurationArrayInput` via:

HsmConfigurationArray{ HsmConfigurationArgs{...} }

type HsmConfigurationArrayOutput added in v5.7.0

type HsmConfigurationArrayOutput struct{ *pulumi.OutputState }

func (HsmConfigurationArrayOutput) ElementType added in v5.7.0

func (HsmConfigurationArrayOutput) Index added in v5.7.0

func (HsmConfigurationArrayOutput) ToHsmConfigurationArrayOutput added in v5.7.0

func (o HsmConfigurationArrayOutput) ToHsmConfigurationArrayOutput() HsmConfigurationArrayOutput

func (HsmConfigurationArrayOutput) ToHsmConfigurationArrayOutputWithContext added in v5.7.0

func (o HsmConfigurationArrayOutput) ToHsmConfigurationArrayOutputWithContext(ctx context.Context) HsmConfigurationArrayOutput

type HsmConfigurationInput added in v5.7.0

type HsmConfigurationInput interface {
	pulumi.Input

	ToHsmConfigurationOutput() HsmConfigurationOutput
	ToHsmConfigurationOutputWithContext(ctx context.Context) HsmConfigurationOutput
}

type HsmConfigurationMap added in v5.7.0

type HsmConfigurationMap map[string]HsmConfigurationInput

func (HsmConfigurationMap) ElementType added in v5.7.0

func (HsmConfigurationMap) ElementType() reflect.Type

func (HsmConfigurationMap) ToHsmConfigurationMapOutput added in v5.7.0

func (i HsmConfigurationMap) ToHsmConfigurationMapOutput() HsmConfigurationMapOutput

func (HsmConfigurationMap) ToHsmConfigurationMapOutputWithContext added in v5.7.0

func (i HsmConfigurationMap) ToHsmConfigurationMapOutputWithContext(ctx context.Context) HsmConfigurationMapOutput

type HsmConfigurationMapInput added in v5.7.0

type HsmConfigurationMapInput interface {
	pulumi.Input

	ToHsmConfigurationMapOutput() HsmConfigurationMapOutput
	ToHsmConfigurationMapOutputWithContext(context.Context) HsmConfigurationMapOutput
}

HsmConfigurationMapInput is an input type that accepts HsmConfigurationMap and HsmConfigurationMapOutput values. You can construct a concrete instance of `HsmConfigurationMapInput` via:

HsmConfigurationMap{ "key": HsmConfigurationArgs{...} }

type HsmConfigurationMapOutput added in v5.7.0

type HsmConfigurationMapOutput struct{ *pulumi.OutputState }

func (HsmConfigurationMapOutput) ElementType added in v5.7.0

func (HsmConfigurationMapOutput) ElementType() reflect.Type

func (HsmConfigurationMapOutput) MapIndex added in v5.7.0

func (HsmConfigurationMapOutput) ToHsmConfigurationMapOutput added in v5.7.0

func (o HsmConfigurationMapOutput) ToHsmConfigurationMapOutput() HsmConfigurationMapOutput

func (HsmConfigurationMapOutput) ToHsmConfigurationMapOutputWithContext added in v5.7.0

func (o HsmConfigurationMapOutput) ToHsmConfigurationMapOutputWithContext(ctx context.Context) HsmConfigurationMapOutput

type HsmConfigurationOutput added in v5.7.0

type HsmConfigurationOutput struct{ *pulumi.OutputState }

func (HsmConfigurationOutput) Arn added in v5.7.0

Amazon Resource Name (ARN) of the Hsm Client Certificate.

func (HsmConfigurationOutput) Description added in v5.7.0

func (o HsmConfigurationOutput) Description() pulumi.StringOutput

A text description of the HSM configuration to be created.

func (HsmConfigurationOutput) ElementType added in v5.7.0

func (HsmConfigurationOutput) ElementType() reflect.Type

func (HsmConfigurationOutput) HsmConfigurationIdentifier added in v5.7.0

func (o HsmConfigurationOutput) HsmConfigurationIdentifier() pulumi.StringOutput

The identifier to be assigned to the new Amazon Redshift HSM configuration.

func (HsmConfigurationOutput) HsmIpAddress added in v5.7.0

func (o HsmConfigurationOutput) HsmIpAddress() pulumi.StringOutput

The IP address that the Amazon Redshift cluster must use to access the HSM.

func (HsmConfigurationOutput) HsmPartitionName added in v5.7.0

func (o HsmConfigurationOutput) HsmPartitionName() pulumi.StringOutput

The name of the partition in the HSM where the Amazon Redshift clusters will store their database encryption keys.

func (HsmConfigurationOutput) HsmPartitionPassword added in v5.7.0

func (o HsmConfigurationOutput) HsmPartitionPassword() pulumi.StringOutput

The password required to access the HSM partition.

func (HsmConfigurationOutput) HsmServerPublicCertificate added in v5.7.0

func (o HsmConfigurationOutput) HsmServerPublicCertificate() pulumi.StringOutput

The HSMs public certificate file. When using Cloud HSM, the file name is server.pem.

func (HsmConfigurationOutput) Tags added in v5.7.0

A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.

func (HsmConfigurationOutput) TagsAll added in v5.7.0

A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.

func (HsmConfigurationOutput) ToHsmConfigurationOutput added in v5.7.0

func (o HsmConfigurationOutput) ToHsmConfigurationOutput() HsmConfigurationOutput

func (HsmConfigurationOutput) ToHsmConfigurationOutputWithContext added in v5.7.0

func (o HsmConfigurationOutput) ToHsmConfigurationOutputWithContext(ctx context.Context) HsmConfigurationOutput

type HsmConfigurationState added in v5.7.0

type HsmConfigurationState struct {
	// Amazon Resource Name (ARN) of the Hsm Client Certificate.
	Arn pulumi.StringPtrInput
	// A text description of the HSM configuration to be created.
	Description pulumi.StringPtrInput
	// The identifier to be assigned to the new Amazon Redshift HSM configuration.
	HsmConfigurationIdentifier pulumi.StringPtrInput
	// The IP address that the Amazon Redshift cluster must use to access the HSM.
	HsmIpAddress pulumi.StringPtrInput
	// The name of the partition in the HSM where the Amazon Redshift clusters will store their database encryption keys.
	HsmPartitionName pulumi.StringPtrInput
	// The password required to access the HSM partition.
	HsmPartitionPassword pulumi.StringPtrInput
	// The HSMs public certificate file. When using Cloud HSM, the file name is server.pem.
	HsmServerPublicCertificate pulumi.StringPtrInput
	// A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapInput
}

func (HsmConfigurationState) ElementType added in v5.7.0

func (HsmConfigurationState) ElementType() reflect.Type

type LookupClusterArgs

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

A collection of arguments for invoking getCluster.

type LookupClusterOutputArgs

type LookupClusterOutputArgs struct {
	// Cluster identifier
	ClusterIdentifier pulumi.StringInput `pulumi:"clusterIdentifier"`
	// Tags associated to the cluster
	Tags pulumi.StringMapInput `pulumi:"tags"`
}

A collection of arguments for invoking getCluster.

func (LookupClusterOutputArgs) ElementType

func (LookupClusterOutputArgs) ElementType() reflect.Type

type LookupClusterResult

type LookupClusterResult struct {
	// Whether major version upgrades can be applied during maintenance period
	AllowVersionUpgrade bool `pulumi:"allowVersionUpgrade"`
	// The value represents how the cluster is configured to use AQUA.
	AquaConfigurationStatus string `pulumi:"aquaConfigurationStatus"`
	// ARN of cluster.
	Arn string `pulumi:"arn"`
	// The backup retention period
	AutomatedSnapshotRetentionPeriod int `pulumi:"automatedSnapshotRetentionPeriod"`
	// Availability zone of the cluster
	AvailabilityZone string `pulumi:"availabilityZone"`
	// Indicates whether the cluster is able to be relocated to another availability zone.
	AvailabilityZoneRelocationEnabled bool `pulumi:"availabilityZoneRelocationEnabled"`
	// Name of the S3 bucket where the log files are to be stored
	BucketName string `pulumi:"bucketName"`
	// Cluster identifier
	ClusterIdentifier string `pulumi:"clusterIdentifier"`
	// Nodes in the cluster. Cluster node blocks are documented below
	ClusterNodes []GetClusterClusterNode `pulumi:"clusterNodes"`
	// The name of the parameter group to be associated with this cluster
	ClusterParameterGroupName string `pulumi:"clusterParameterGroupName"`
	// Public key for the cluster
	ClusterPublicKey string `pulumi:"clusterPublicKey"`
	// The cluster revision number
	ClusterRevisionNumber string `pulumi:"clusterRevisionNumber"`
	// The security groups associated with the cluster
	//
	// Deprecated: With the retirement of EC2-Classic the cluster_security_groups attribute has been deprecated and will be removed in a future version.
	ClusterSecurityGroups []string `pulumi:"clusterSecurityGroups"`
	// The name of a cluster subnet group to be associated with this cluster
	ClusterSubnetGroupName string `pulumi:"clusterSubnetGroupName"`
	// Cluster type
	ClusterType    string `pulumi:"clusterType"`
	ClusterVersion string `pulumi:"clusterVersion"`
	// Name of the default database in the cluster
	DatabaseName string `pulumi:"databaseName"`
	// ∂The ARN for the IAM role that was set as default for the cluster when the cluster was created.
	DefaultIamRoleArn string `pulumi:"defaultIamRoleArn"`
	// 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"`
	// Cluster endpoint
	Endpoint string `pulumi:"endpoint"`
	// Whether enhanced VPC routing is enabled
	EnhancedVpcRouting bool `pulumi:"enhancedVpcRouting"`
	// IAM roles associated to the cluster
	IamRoles []string `pulumi:"iamRoles"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// KMS encryption key associated to the cluster
	KmsKeyId string `pulumi:"kmsKeyId"`
	// The log destination type.
	LogDestinationType string `pulumi:"logDestinationType"`
	// Collection of exported log types. Log types include the connection log, user log and user activity log.
	LogExports []string `pulumi:"logExports"`
	// The name of the maintenance track for the restored cluster.
	MaintenanceTrackName string `pulumi:"maintenanceTrackName"`
	// (Optional)  The default number of days to retain a manual snapshot.
	ManualSnapshotRetentionPeriod int `pulumi:"manualSnapshotRetentionPeriod"`
	// Username for the master DB user
	MasterUsername string `pulumi:"masterUsername"`
	// Cluster node type
	NodeType string `pulumi:"nodeType"`
	// Number of nodes in the cluster
	NumberOfNodes int `pulumi:"numberOfNodes"`
	// 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"`
	// Folder inside the S3 bucket where the log files are stored
	S3KeyPrefix string `pulumi:"s3KeyPrefix"`
	// Tags associated to the cluster
	Tags map[string]string `pulumi:"tags"`
	// 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/v5/go/aws/kinesis"
"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/redshift"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := redshift.LookupCluster(ctx, &redshift.LookupClusterArgs{
			ClusterIdentifier: "example-cluster",
		}, nil)
		if err != nil {
			return err
		}
		_, err = kinesis.NewFirehoseDeliveryStream(ctx, "exampleStream", &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("jdbc:redshift://%v/%v", example.Endpoint, example.DatabaseName)),
				Username:         pulumi.String("exampleuser"),
				Password:         pulumi.String("Exampl3Pass"),
				DataTableName:    pulumi.String("example-table"),
				CopyOptions:      pulumi.String("delimiter '|'"),
				DataTableColumns: pulumi.String("example-col"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupClusterResultOutput

type LookupClusterResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getCluster.

func (LookupClusterResultOutput) AllowVersionUpgrade

func (o LookupClusterResultOutput) AllowVersionUpgrade() pulumi.BoolOutput

Whether major version upgrades can be applied during maintenance period

func (LookupClusterResultOutput) AquaConfigurationStatus added in v5.6.0

func (o LookupClusterResultOutput) AquaConfigurationStatus() pulumi.StringOutput

The value represents how the cluster is configured to use AQUA.

func (LookupClusterResultOutput) Arn added in v5.6.0

ARN of cluster.

func (LookupClusterResultOutput) AutomatedSnapshotRetentionPeriod

func (o LookupClusterResultOutput) AutomatedSnapshotRetentionPeriod() pulumi.IntOutput

The backup retention period

func (LookupClusterResultOutput) AvailabilityZone

func (o LookupClusterResultOutput) AvailabilityZone() pulumi.StringOutput

Availability zone of the cluster

func (LookupClusterResultOutput) AvailabilityZoneRelocationEnabled added in v5.1.0

func (o LookupClusterResultOutput) AvailabilityZoneRelocationEnabled() pulumi.BoolOutput

Indicates whether the cluster is able to be relocated to another availability zone.

func (LookupClusterResultOutput) BucketName

Name of the S3 bucket where the log files are to be stored

func (LookupClusterResultOutput) ClusterIdentifier

func (o LookupClusterResultOutput) ClusterIdentifier() pulumi.StringOutput

Cluster identifier

func (LookupClusterResultOutput) ClusterNodes added in v5.6.0

Nodes in the cluster. Cluster node blocks are documented below

func (LookupClusterResultOutput) ClusterParameterGroupName

func (o LookupClusterResultOutput) ClusterParameterGroupName() pulumi.StringOutput

The name of the parameter group to be associated with this cluster

func (LookupClusterResultOutput) ClusterPublicKey

func (o LookupClusterResultOutput) ClusterPublicKey() pulumi.StringOutput

Public key for the cluster

func (LookupClusterResultOutput) ClusterRevisionNumber

func (o LookupClusterResultOutput) ClusterRevisionNumber() pulumi.StringOutput

The cluster revision number

func (LookupClusterResultOutput) ClusterSecurityGroups deprecated

func (o LookupClusterResultOutput) ClusterSecurityGroups() pulumi.StringArrayOutput

The security groups associated with the cluster

Deprecated: With the retirement of EC2-Classic the cluster_security_groups attribute has been deprecated and will be removed in a future version.

func (LookupClusterResultOutput) ClusterSubnetGroupName

func (o LookupClusterResultOutput) ClusterSubnetGroupName() pulumi.StringOutput

The name of a cluster subnet group to be associated with this cluster

func (LookupClusterResultOutput) ClusterType

Cluster type

func (LookupClusterResultOutput) ClusterVersion

func (o LookupClusterResultOutput) ClusterVersion() pulumi.StringOutput

func (LookupClusterResultOutput) DatabaseName

Name of the default database in the cluster

func (LookupClusterResultOutput) DefaultIamRoleArn added in v5.6.0

func (o LookupClusterResultOutput) DefaultIamRoleArn() pulumi.StringOutput

∂The ARN for the IAM role that was set as default for the cluster when the cluster was created.

func (LookupClusterResultOutput) ElasticIp

Elastic IP of the cluster

func (LookupClusterResultOutput) ElementType

func (LookupClusterResultOutput) ElementType() reflect.Type

func (LookupClusterResultOutput) EnableLogging

func (o LookupClusterResultOutput) EnableLogging() pulumi.BoolOutput

Whether cluster logging is enabled

func (LookupClusterResultOutput) Encrypted

Whether the cluster data is encrypted

func (LookupClusterResultOutput) Endpoint

Cluster endpoint

func (LookupClusterResultOutput) EnhancedVpcRouting

func (o LookupClusterResultOutput) EnhancedVpcRouting() pulumi.BoolOutput

Whether enhanced VPC routing is enabled

func (LookupClusterResultOutput) IamRoles

IAM roles associated to the cluster

func (LookupClusterResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupClusterResultOutput) KmsKeyId

KMS encryption key associated to the cluster

func (LookupClusterResultOutput) LogDestinationType added in v5.6.0

func (o LookupClusterResultOutput) LogDestinationType() pulumi.StringOutput

The log destination type.

func (LookupClusterResultOutput) LogExports added in v5.6.0

Collection of exported log types. Log types include the connection log, user log and user activity log.

func (LookupClusterResultOutput) MaintenanceTrackName added in v5.6.0

func (o LookupClusterResultOutput) MaintenanceTrackName() pulumi.StringOutput

The name of the maintenance track for the restored cluster.

func (LookupClusterResultOutput) ManualSnapshotRetentionPeriod added in v5.6.0

func (o LookupClusterResultOutput) ManualSnapshotRetentionPeriod() pulumi.IntOutput

(Optional) The default number of days to retain a manual snapshot.

func (LookupClusterResultOutput) MasterUsername

func (o LookupClusterResultOutput) MasterUsername() pulumi.StringOutput

Username for the master DB user

func (LookupClusterResultOutput) NodeType

Cluster node type

func (LookupClusterResultOutput) NumberOfNodes

func (o LookupClusterResultOutput) NumberOfNodes() pulumi.IntOutput

Number of nodes in the cluster

func (LookupClusterResultOutput) Port

Port the cluster responds on

func (LookupClusterResultOutput) PreferredMaintenanceWindow

func (o LookupClusterResultOutput) PreferredMaintenanceWindow() pulumi.StringOutput

The maintenance window

func (LookupClusterResultOutput) PubliclyAccessible

func (o LookupClusterResultOutput) PubliclyAccessible() pulumi.BoolOutput

Whether the cluster is publicly accessible

func (LookupClusterResultOutput) S3KeyPrefix

Folder inside the S3 bucket where the log files are stored

func (LookupClusterResultOutput) Tags

Tags associated to the cluster

func (LookupClusterResultOutput) ToLookupClusterResultOutput

func (o LookupClusterResultOutput) ToLookupClusterResultOutput() LookupClusterResultOutput

func (LookupClusterResultOutput) ToLookupClusterResultOutputWithContext

func (o LookupClusterResultOutput) ToLookupClusterResultOutputWithContext(ctx context.Context) LookupClusterResultOutput

func (LookupClusterResultOutput) VpcId

VPC Id associated with the cluster

func (LookupClusterResultOutput) VpcSecurityGroupIds

func (o LookupClusterResultOutput) VpcSecurityGroupIds() pulumi.StringArrayOutput

The VPC security group Ids associated with the cluster

type LookupSubnetGroupArgs added in v5.6.0

type LookupSubnetGroupArgs struct {
	// Name of the cluster subnet group for which information is requested.
	Name string `pulumi:"name"`
	// Tags associated to the Subnet Group
	Tags map[string]string `pulumi:"tags"`
}

A collection of arguments for invoking getSubnetGroup.

type LookupSubnetGroupOutputArgs added in v5.6.0

type LookupSubnetGroupOutputArgs struct {
	// Name of the cluster subnet group for which information is requested.
	Name pulumi.StringInput `pulumi:"name"`
	// Tags associated to the Subnet Group
	Tags pulumi.StringMapInput `pulumi:"tags"`
}

A collection of arguments for invoking getSubnetGroup.

func (LookupSubnetGroupOutputArgs) ElementType added in v5.6.0

type LookupSubnetGroupResult added in v5.6.0

type LookupSubnetGroupResult struct {
	// ARN of the Redshift Subnet Group name.
	Arn string `pulumi:"arn"`
	// Description of the Redshift Subnet group.
	Description string `pulumi:"description"`
	// The provider-assigned unique ID for this managed resource.
	Id   string `pulumi:"id"`
	Name string `pulumi:"name"`
	// An array of VPC subnet IDs.
	SubnetIds []string `pulumi:"subnetIds"`
	// Tags associated to the Subnet Group
	Tags map[string]string `pulumi:"tags"`
}

A collection of values returned by getSubnetGroup.

func LookupSubnetGroup added in v5.6.0

func LookupSubnetGroup(ctx *pulumi.Context, args *LookupSubnetGroupArgs, opts ...pulumi.InvokeOption) (*LookupSubnetGroupResult, error)

Provides details about a specific redshift subnet group.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := redshift.LookupSubnetGroup(ctx, &redshift.LookupSubnetGroupArgs{
			Name: aws_redshift_subnet_group.Example.Name,
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupSubnetGroupResultOutput added in v5.6.0

type LookupSubnetGroupResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getSubnetGroup.

func LookupSubnetGroupOutput added in v5.6.0

func (LookupSubnetGroupResultOutput) Arn added in v5.6.0

ARN of the Redshift Subnet Group name.

func (LookupSubnetGroupResultOutput) Description added in v5.6.0

Description of the Redshift Subnet group.

func (LookupSubnetGroupResultOutput) ElementType added in v5.6.0

func (LookupSubnetGroupResultOutput) Id added in v5.6.0

The provider-assigned unique ID for this managed resource.

func (LookupSubnetGroupResultOutput) Name added in v5.6.0

func (LookupSubnetGroupResultOutput) SubnetIds added in v5.6.0

An array of VPC subnet IDs.

func (LookupSubnetGroupResultOutput) Tags added in v5.6.0

Tags associated to the Subnet Group

func (LookupSubnetGroupResultOutput) ToLookupSubnetGroupResultOutput added in v5.6.0

func (o LookupSubnetGroupResultOutput) ToLookupSubnetGroupResultOutput() LookupSubnetGroupResultOutput

func (LookupSubnetGroupResultOutput) ToLookupSubnetGroupResultOutputWithContext added in v5.6.0

func (o LookupSubnetGroupResultOutput) ToLookupSubnetGroupResultOutputWithContext(ctx context.Context) LookupSubnetGroupResultOutput

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. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	//
	// You can read more about the parameters that Redshift supports in the [documentation](http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html)
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
}

Provides a Redshift Cluster parameter group resource.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/redshift"
"github.com/pulumi/pulumi/sdk/v3/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

func (*ParameterGroup) ElementType() reflect.Type

func (*ParameterGroup) ToParameterGroupOutput

func (i *ParameterGroup) ToParameterGroupOutput() ParameterGroupOutput

func (*ParameterGroup) ToParameterGroupOutputWithContext

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

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. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	//
	// You can read more about the parameters that Redshift supports in the [documentation](http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html)
	Tags pulumi.StringMapInput
}

The set of arguments for constructing a ParameterGroup resource.

func (ParameterGroupArgs) ElementType

func (ParameterGroupArgs) ElementType() reflect.Type

type ParameterGroupArray

type ParameterGroupArray []ParameterGroupInput

func (ParameterGroupArray) ElementType

func (ParameterGroupArray) ElementType() reflect.Type

func (ParameterGroupArray) ToParameterGroupArrayOutput

func (i ParameterGroupArray) ToParameterGroupArrayOutput() ParameterGroupArrayOutput

func (ParameterGroupArray) ToParameterGroupArrayOutputWithContext

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

type ParameterGroupArrayInput

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

type ParameterGroupArrayOutput struct{ *pulumi.OutputState }

func (ParameterGroupArrayOutput) ElementType

func (ParameterGroupArrayOutput) ElementType() reflect.Type

func (ParameterGroupArrayOutput) Index

func (ParameterGroupArrayOutput) ToParameterGroupArrayOutput

func (o ParameterGroupArrayOutput) ToParameterGroupArrayOutput() ParameterGroupArrayOutput

func (ParameterGroupArrayOutput) ToParameterGroupArrayOutputWithContext

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

type ParameterGroupInput

type ParameterGroupInput interface {
	pulumi.Input

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

type ParameterGroupMap

type ParameterGroupMap map[string]ParameterGroupInput

func (ParameterGroupMap) ElementType

func (ParameterGroupMap) ElementType() reflect.Type

func (ParameterGroupMap) ToParameterGroupMapOutput

func (i ParameterGroupMap) ToParameterGroupMapOutput() ParameterGroupMapOutput

func (ParameterGroupMap) ToParameterGroupMapOutputWithContext

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

type ParameterGroupMapInput

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

type ParameterGroupMapOutput struct{ *pulumi.OutputState }

func (ParameterGroupMapOutput) ElementType

func (ParameterGroupMapOutput) ElementType() reflect.Type

func (ParameterGroupMapOutput) MapIndex

func (ParameterGroupMapOutput) ToParameterGroupMapOutput

func (o ParameterGroupMapOutput) ToParameterGroupMapOutput() ParameterGroupMapOutput

func (ParameterGroupMapOutput) ToParameterGroupMapOutputWithContext

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

type ParameterGroupOutput

type ParameterGroupOutput struct{ *pulumi.OutputState }

func (ParameterGroupOutput) Arn added in v5.4.0

Amazon Resource Name (ARN) of parameter group

func (ParameterGroupOutput) Description added in v5.4.0

func (o ParameterGroupOutput) Description() pulumi.StringOutput

The description of the Redshift parameter group. Defaults to "Managed by Pulumi".

func (ParameterGroupOutput) ElementType

func (ParameterGroupOutput) ElementType() reflect.Type

func (ParameterGroupOutput) Family added in v5.4.0

The family of the Redshift parameter group.

func (ParameterGroupOutput) Name added in v5.4.0

The name of the Redshift parameter.

func (ParameterGroupOutput) Parameters added in v5.4.0

A list of Redshift parameters to apply.

func (ParameterGroupOutput) Tags added in v5.4.0

A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.

You can read more about the parameters that Redshift supports in the [documentation](http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html)

func (ParameterGroupOutput) TagsAll added in v5.4.0

A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.

func (ParameterGroupOutput) ToParameterGroupOutput

func (o ParameterGroupOutput) ToParameterGroupOutput() ParameterGroupOutput

func (ParameterGroupOutput) ToParameterGroupOutputWithContext

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

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 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. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	//
	// You can read more about the parameters that Redshift supports in the [documentation](http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html)
	Tags pulumi.StringMapInput
	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapInput
}

func (ParameterGroupState) ElementType

func (ParameterGroupState) ElementType() reflect.Type

type Partner added in v5.21.0

type Partner struct {
	pulumi.CustomResourceState

	// The Amazon Web Services account ID that owns the cluster.
	AccountId pulumi.StringOutput `pulumi:"accountId"`
	// The cluster identifier of the cluster that receives data from the partner.
	ClusterIdentifier pulumi.StringOutput `pulumi:"clusterIdentifier"`
	// The name of the database that receives data from the partner.
	DatabaseName pulumi.StringOutput `pulumi:"databaseName"`
	// The name of the partner that is authorized to send data.
	PartnerName pulumi.StringOutput `pulumi:"partnerName"`
	// (Optional) The partner integration status.
	Status pulumi.StringOutput `pulumi:"status"`
	// (Optional) The status message provided by the partner.
	StatusMessage pulumi.StringOutput `pulumi:"statusMessage"`
}

Creates a new Amazon Redshift Partner Integration.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := redshift.NewPartner(ctx, "example", &redshift.PartnerArgs{
			ClusterIdentifier: pulumi.Any(aws_redshift_cluster.Example.Id),
			AccountId:         pulumi.String("1234567910"),
			DatabaseName:      pulumi.Any(aws_redshift_cluster.Example.Database_name),
			PartnerName:       pulumi.String("example"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Redshift usage limits can be imported using the `id`, e.g.,

```sh

$ pulumi import aws:redshift/partner:Partner example 01234567910:cluster-example-id:example:example

```

func GetPartner added in v5.21.0

func GetPartner(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *PartnerState, opts ...pulumi.ResourceOption) (*Partner, error)

GetPartner gets an existing Partner 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 NewPartner added in v5.21.0

func NewPartner(ctx *pulumi.Context,
	name string, args *PartnerArgs, opts ...pulumi.ResourceOption) (*Partner, error)

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

func (*Partner) ElementType added in v5.21.0

func (*Partner) ElementType() reflect.Type

func (*Partner) ToPartnerOutput added in v5.21.0

func (i *Partner) ToPartnerOutput() PartnerOutput

func (*Partner) ToPartnerOutputWithContext added in v5.21.0

func (i *Partner) ToPartnerOutputWithContext(ctx context.Context) PartnerOutput

type PartnerArgs added in v5.21.0

type PartnerArgs struct {
	// The Amazon Web Services account ID that owns the cluster.
	AccountId pulumi.StringInput
	// The cluster identifier of the cluster that receives data from the partner.
	ClusterIdentifier pulumi.StringInput
	// The name of the database that receives data from the partner.
	DatabaseName pulumi.StringInput
	// The name of the partner that is authorized to send data.
	PartnerName pulumi.StringInput
}

The set of arguments for constructing a Partner resource.

func (PartnerArgs) ElementType added in v5.21.0

func (PartnerArgs) ElementType() reflect.Type

type PartnerArray added in v5.21.0

type PartnerArray []PartnerInput

func (PartnerArray) ElementType added in v5.21.0

func (PartnerArray) ElementType() reflect.Type

func (PartnerArray) ToPartnerArrayOutput added in v5.21.0

func (i PartnerArray) ToPartnerArrayOutput() PartnerArrayOutput

func (PartnerArray) ToPartnerArrayOutputWithContext added in v5.21.0

func (i PartnerArray) ToPartnerArrayOutputWithContext(ctx context.Context) PartnerArrayOutput

type PartnerArrayInput added in v5.21.0

type PartnerArrayInput interface {
	pulumi.Input

	ToPartnerArrayOutput() PartnerArrayOutput
	ToPartnerArrayOutputWithContext(context.Context) PartnerArrayOutput
}

PartnerArrayInput is an input type that accepts PartnerArray and PartnerArrayOutput values. You can construct a concrete instance of `PartnerArrayInput` via:

PartnerArray{ PartnerArgs{...} }

type PartnerArrayOutput added in v5.21.0

type PartnerArrayOutput struct{ *pulumi.OutputState }

func (PartnerArrayOutput) ElementType added in v5.21.0

func (PartnerArrayOutput) ElementType() reflect.Type

func (PartnerArrayOutput) Index added in v5.21.0

func (PartnerArrayOutput) ToPartnerArrayOutput added in v5.21.0

func (o PartnerArrayOutput) ToPartnerArrayOutput() PartnerArrayOutput

func (PartnerArrayOutput) ToPartnerArrayOutputWithContext added in v5.21.0

func (o PartnerArrayOutput) ToPartnerArrayOutputWithContext(ctx context.Context) PartnerArrayOutput

type PartnerInput added in v5.21.0

type PartnerInput interface {
	pulumi.Input

	ToPartnerOutput() PartnerOutput
	ToPartnerOutputWithContext(ctx context.Context) PartnerOutput
}

type PartnerMap added in v5.21.0

type PartnerMap map[string]PartnerInput

func (PartnerMap) ElementType added in v5.21.0

func (PartnerMap) ElementType() reflect.Type

func (PartnerMap) ToPartnerMapOutput added in v5.21.0

func (i PartnerMap) ToPartnerMapOutput() PartnerMapOutput

func (PartnerMap) ToPartnerMapOutputWithContext added in v5.21.0

func (i PartnerMap) ToPartnerMapOutputWithContext(ctx context.Context) PartnerMapOutput

type PartnerMapInput added in v5.21.0

type PartnerMapInput interface {
	pulumi.Input

	ToPartnerMapOutput() PartnerMapOutput
	ToPartnerMapOutputWithContext(context.Context) PartnerMapOutput
}

PartnerMapInput is an input type that accepts PartnerMap and PartnerMapOutput values. You can construct a concrete instance of `PartnerMapInput` via:

PartnerMap{ "key": PartnerArgs{...} }

type PartnerMapOutput added in v5.21.0

type PartnerMapOutput struct{ *pulumi.OutputState }

func (PartnerMapOutput) ElementType added in v5.21.0

func (PartnerMapOutput) ElementType() reflect.Type

func (PartnerMapOutput) MapIndex added in v5.21.0

func (PartnerMapOutput) ToPartnerMapOutput added in v5.21.0

func (o PartnerMapOutput) ToPartnerMapOutput() PartnerMapOutput

func (PartnerMapOutput) ToPartnerMapOutputWithContext added in v5.21.0

func (o PartnerMapOutput) ToPartnerMapOutputWithContext(ctx context.Context) PartnerMapOutput

type PartnerOutput added in v5.21.0

type PartnerOutput struct{ *pulumi.OutputState }

func (PartnerOutput) AccountId added in v5.21.0

func (o PartnerOutput) AccountId() pulumi.StringOutput

The Amazon Web Services account ID that owns the cluster.

func (PartnerOutput) ClusterIdentifier added in v5.21.0

func (o PartnerOutput) ClusterIdentifier() pulumi.StringOutput

The cluster identifier of the cluster that receives data from the partner.

func (PartnerOutput) DatabaseName added in v5.21.0

func (o PartnerOutput) DatabaseName() pulumi.StringOutput

The name of the database that receives data from the partner.

func (PartnerOutput) ElementType added in v5.21.0

func (PartnerOutput) ElementType() reflect.Type

func (PartnerOutput) PartnerName added in v5.21.0

func (o PartnerOutput) PartnerName() pulumi.StringOutput

The name of the partner that is authorized to send data.

func (PartnerOutput) Status added in v5.21.0

func (o PartnerOutput) Status() pulumi.StringOutput

(Optional) The partner integration status.

func (PartnerOutput) StatusMessage added in v5.21.0

func (o PartnerOutput) StatusMessage() pulumi.StringOutput

(Optional) The status message provided by the partner.

func (PartnerOutput) ToPartnerOutput added in v5.21.0

func (o PartnerOutput) ToPartnerOutput() PartnerOutput

func (PartnerOutput) ToPartnerOutputWithContext added in v5.21.0

func (o PartnerOutput) ToPartnerOutputWithContext(ctx context.Context) PartnerOutput

type PartnerState added in v5.21.0

type PartnerState struct {
	// The Amazon Web Services account ID that owns the cluster.
	AccountId pulumi.StringPtrInput
	// The cluster identifier of the cluster that receives data from the partner.
	ClusterIdentifier pulumi.StringPtrInput
	// The name of the database that receives data from the partner.
	DatabaseName pulumi.StringPtrInput
	// The name of the partner that is authorized to send data.
	PartnerName pulumi.StringPtrInput
	// (Optional) The partner integration status.
	Status pulumi.StringPtrInput
	// (Optional) The status message provided by the partner.
	StatusMessage pulumi.StringPtrInput
}

func (PartnerState) ElementType added in v5.21.0

func (PartnerState) ElementType() reflect.Type

type ScheduledAction

type ScheduledAction struct {
	pulumi.CustomResourceState

	// The description of the scheduled action.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// Whether to enable the scheduled action. Default is `true` .
	Enable pulumi.BoolPtrOutput `pulumi:"enable"`
	// The end time in UTC when the schedule is active, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ).
	EndTime pulumi.StringPtrOutput `pulumi:"endTime"`
	// The IAM role to assume to run the scheduled action.
	IamRole pulumi.StringOutput `pulumi:"iamRole"`
	// The scheduled action name.
	Name pulumi.StringOutput `pulumi:"name"`
	// The schedule of action. The schedule is defined format of "at expression" or "cron expression", for example `at(2016-03-04T17:27:00)` or `cron(0 10 ? * MON *)`. See [Scheduled Action](https://docs.aws.amazon.com/redshift/latest/APIReference/API_ScheduledAction.html) for more information.
	Schedule pulumi.StringOutput `pulumi:"schedule"`
	// The start time in UTC when the schedule is active, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ).
	StartTime pulumi.StringPtrOutput `pulumi:"startTime"`
	// Target action. Documented below.
	TargetAction ScheduledActionTargetActionOutput `pulumi:"targetAction"`
}

## Example Usage ### Pause Cluster Action

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		assumeRole, err := iam.GetPolicyDocument(ctx, &iam.GetPolicyDocumentArgs{
			Statements: []iam.GetPolicyDocumentStatement{
				{
					Effect: pulumi.StringRef("Allow"),
					Principals: []iam.GetPolicyDocumentStatementPrincipal{
						{
							Type: "Service",
							Identifiers: []string{
								"scheduler.redshift.amazonaws.com",
							},
						},
					},
					Actions: []string{
						"sts:AssumeRole",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		exampleRole, err := iam.NewRole(ctx, "exampleRole", &iam.RoleArgs{
			AssumeRolePolicy: *pulumi.String(assumeRole.Json),
		})
		if err != nil {
			return err
		}
		examplePolicyDocument, err := iam.GetPolicyDocument(ctx, &iam.GetPolicyDocumentArgs{
			Statements: []iam.GetPolicyDocumentStatement{
				{
					Effect: pulumi.StringRef("Allow"),
					Actions: []string{
						"redshift:PauseCluster",
						"redshift:ResumeCluster",
						"redshift:ResizeCluster",
					},
					Resources: []string{
						"*",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		examplePolicy, err := iam.NewPolicy(ctx, "examplePolicy", &iam.PolicyArgs{
			Policy: *pulumi.String(examplePolicyDocument.Json),
		})
		if err != nil {
			return err
		}
		_, err = iam.NewRolePolicyAttachment(ctx, "exampleRolePolicyAttachment", &iam.RolePolicyAttachmentArgs{
			PolicyArn: examplePolicy.Arn,
			Role:      exampleRole.Name,
		})
		if err != nil {
			return err
		}
		_, err = redshift.NewScheduledAction(ctx, "exampleScheduledAction", &redshift.ScheduledActionArgs{
			Schedule: pulumi.String("cron(00 23 * * ? *)"),
			IamRole:  exampleRole.Arn,
			TargetAction: &redshift.ScheduledActionTargetActionArgs{
				PauseCluster: &redshift.ScheduledActionTargetActionPauseClusterArgs{
					ClusterIdentifier: pulumi.String("tf-redshift001"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Resize Cluster Action

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := redshift.NewScheduledAction(ctx, "example", &redshift.ScheduledActionArgs{
			Schedule: pulumi.String("cron(00 23 * * ? *)"),
			IamRole:  pulumi.Any(aws_iam_role.Example.Arn),
			TargetAction: &redshift.ScheduledActionTargetActionArgs{
				ResizeCluster: &redshift.ScheduledActionTargetActionResizeClusterArgs{
					ClusterIdentifier: pulumi.String("tf-redshift001"),
					ClusterType:       pulumi.String("multi-node"),
					NodeType:          pulumi.String("dc1.large"),
					NumberOfNodes:     pulumi.Int(2),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Redshift Scheduled Action can be imported using the `name`, e.g.,

```sh

$ pulumi import aws:redshift/scheduledAction:ScheduledAction example tf-redshift-scheduled-action

```

func GetScheduledAction

func GetScheduledAction(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ScheduledActionState, opts ...pulumi.ResourceOption) (*ScheduledAction, error)

GetScheduledAction gets an existing ScheduledAction 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 NewScheduledAction

func NewScheduledAction(ctx *pulumi.Context,
	name string, args *ScheduledActionArgs, opts ...pulumi.ResourceOption) (*ScheduledAction, error)

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

func (*ScheduledAction) ElementType

func (*ScheduledAction) ElementType() reflect.Type

func (*ScheduledAction) ToScheduledActionOutput

func (i *ScheduledAction) ToScheduledActionOutput() ScheduledActionOutput

func (*ScheduledAction) ToScheduledActionOutputWithContext

func (i *ScheduledAction) ToScheduledActionOutputWithContext(ctx context.Context) ScheduledActionOutput

type ScheduledActionArgs

type ScheduledActionArgs struct {
	// The description of the scheduled action.
	Description pulumi.StringPtrInput
	// Whether to enable the scheduled action. Default is `true` .
	Enable pulumi.BoolPtrInput
	// The end time in UTC when the schedule is active, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ).
	EndTime pulumi.StringPtrInput
	// The IAM role to assume to run the scheduled action.
	IamRole pulumi.StringInput
	// The scheduled action name.
	Name pulumi.StringPtrInput
	// The schedule of action. The schedule is defined format of "at expression" or "cron expression", for example `at(2016-03-04T17:27:00)` or `cron(0 10 ? * MON *)`. See [Scheduled Action](https://docs.aws.amazon.com/redshift/latest/APIReference/API_ScheduledAction.html) for more information.
	Schedule pulumi.StringInput
	// The start time in UTC when the schedule is active, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ).
	StartTime pulumi.StringPtrInput
	// Target action. Documented below.
	TargetAction ScheduledActionTargetActionInput
}

The set of arguments for constructing a ScheduledAction resource.

func (ScheduledActionArgs) ElementType

func (ScheduledActionArgs) ElementType() reflect.Type

type ScheduledActionArray

type ScheduledActionArray []ScheduledActionInput

func (ScheduledActionArray) ElementType

func (ScheduledActionArray) ElementType() reflect.Type

func (ScheduledActionArray) ToScheduledActionArrayOutput

func (i ScheduledActionArray) ToScheduledActionArrayOutput() ScheduledActionArrayOutput

func (ScheduledActionArray) ToScheduledActionArrayOutputWithContext

func (i ScheduledActionArray) ToScheduledActionArrayOutputWithContext(ctx context.Context) ScheduledActionArrayOutput

type ScheduledActionArrayInput

type ScheduledActionArrayInput interface {
	pulumi.Input

	ToScheduledActionArrayOutput() ScheduledActionArrayOutput
	ToScheduledActionArrayOutputWithContext(context.Context) ScheduledActionArrayOutput
}

ScheduledActionArrayInput is an input type that accepts ScheduledActionArray and ScheduledActionArrayOutput values. You can construct a concrete instance of `ScheduledActionArrayInput` via:

ScheduledActionArray{ ScheduledActionArgs{...} }

type ScheduledActionArrayOutput

type ScheduledActionArrayOutput struct{ *pulumi.OutputState }

func (ScheduledActionArrayOutput) ElementType

func (ScheduledActionArrayOutput) ElementType() reflect.Type

func (ScheduledActionArrayOutput) Index

func (ScheduledActionArrayOutput) ToScheduledActionArrayOutput

func (o ScheduledActionArrayOutput) ToScheduledActionArrayOutput() ScheduledActionArrayOutput

func (ScheduledActionArrayOutput) ToScheduledActionArrayOutputWithContext

func (o ScheduledActionArrayOutput) ToScheduledActionArrayOutputWithContext(ctx context.Context) ScheduledActionArrayOutput

type ScheduledActionInput

type ScheduledActionInput interface {
	pulumi.Input

	ToScheduledActionOutput() ScheduledActionOutput
	ToScheduledActionOutputWithContext(ctx context.Context) ScheduledActionOutput
}

type ScheduledActionMap

type ScheduledActionMap map[string]ScheduledActionInput

func (ScheduledActionMap) ElementType

func (ScheduledActionMap) ElementType() reflect.Type

func (ScheduledActionMap) ToScheduledActionMapOutput

func (i ScheduledActionMap) ToScheduledActionMapOutput() ScheduledActionMapOutput

func (ScheduledActionMap) ToScheduledActionMapOutputWithContext

func (i ScheduledActionMap) ToScheduledActionMapOutputWithContext(ctx context.Context) ScheduledActionMapOutput

type ScheduledActionMapInput

type ScheduledActionMapInput interface {
	pulumi.Input

	ToScheduledActionMapOutput() ScheduledActionMapOutput
	ToScheduledActionMapOutputWithContext(context.Context) ScheduledActionMapOutput
}

ScheduledActionMapInput is an input type that accepts ScheduledActionMap and ScheduledActionMapOutput values. You can construct a concrete instance of `ScheduledActionMapInput` via:

ScheduledActionMap{ "key": ScheduledActionArgs{...} }

type ScheduledActionMapOutput

type ScheduledActionMapOutput struct{ *pulumi.OutputState }

func (ScheduledActionMapOutput) ElementType

func (ScheduledActionMapOutput) ElementType() reflect.Type

func (ScheduledActionMapOutput) MapIndex

func (ScheduledActionMapOutput) ToScheduledActionMapOutput

func (o ScheduledActionMapOutput) ToScheduledActionMapOutput() ScheduledActionMapOutput

func (ScheduledActionMapOutput) ToScheduledActionMapOutputWithContext

func (o ScheduledActionMapOutput) ToScheduledActionMapOutputWithContext(ctx context.Context) ScheduledActionMapOutput

type ScheduledActionOutput

type ScheduledActionOutput struct{ *pulumi.OutputState }

func (ScheduledActionOutput) Description added in v5.4.0

The description of the scheduled action.

func (ScheduledActionOutput) ElementType

func (ScheduledActionOutput) ElementType() reflect.Type

func (ScheduledActionOutput) Enable added in v5.4.0

Whether to enable the scheduled action. Default is `true` .

func (ScheduledActionOutput) EndTime added in v5.4.0

The end time in UTC when the schedule is active, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ).

func (ScheduledActionOutput) IamRole added in v5.4.0

The IAM role to assume to run the scheduled action.

func (ScheduledActionOutput) Name added in v5.4.0

The scheduled action name.

func (ScheduledActionOutput) Schedule added in v5.4.0

The schedule of action. The schedule is defined format of "at expression" or "cron expression", for example `at(2016-03-04T17:27:00)` or `cron(0 10 ? * MON *)`. See [Scheduled Action](https://docs.aws.amazon.com/redshift/latest/APIReference/API_ScheduledAction.html) for more information.

func (ScheduledActionOutput) StartTime added in v5.4.0

The start time in UTC when the schedule is active, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ).

func (ScheduledActionOutput) TargetAction added in v5.4.0

Target action. Documented below.

func (ScheduledActionOutput) ToScheduledActionOutput

func (o ScheduledActionOutput) ToScheduledActionOutput() ScheduledActionOutput

func (ScheduledActionOutput) ToScheduledActionOutputWithContext

func (o ScheduledActionOutput) ToScheduledActionOutputWithContext(ctx context.Context) ScheduledActionOutput

type ScheduledActionState

type ScheduledActionState struct {
	// The description of the scheduled action.
	Description pulumi.StringPtrInput
	// Whether to enable the scheduled action. Default is `true` .
	Enable pulumi.BoolPtrInput
	// The end time in UTC when the schedule is active, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ).
	EndTime pulumi.StringPtrInput
	// The IAM role to assume to run the scheduled action.
	IamRole pulumi.StringPtrInput
	// The scheduled action name.
	Name pulumi.StringPtrInput
	// The schedule of action. The schedule is defined format of "at expression" or "cron expression", for example `at(2016-03-04T17:27:00)` or `cron(0 10 ? * MON *)`. See [Scheduled Action](https://docs.aws.amazon.com/redshift/latest/APIReference/API_ScheduledAction.html) for more information.
	Schedule pulumi.StringPtrInput
	// The start time in UTC when the schedule is active, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ).
	StartTime pulumi.StringPtrInput
	// Target action. Documented below.
	TargetAction ScheduledActionTargetActionPtrInput
}

func (ScheduledActionState) ElementType

func (ScheduledActionState) ElementType() reflect.Type

type ScheduledActionTargetAction

type ScheduledActionTargetAction struct {
	// An action that runs a `PauseCluster` API operation. Documented below.
	PauseCluster *ScheduledActionTargetActionPauseCluster `pulumi:"pauseCluster"`
	// An action that runs a `ResizeCluster` API operation. Documented below.
	ResizeCluster *ScheduledActionTargetActionResizeCluster `pulumi:"resizeCluster"`
	// An action that runs a `ResumeCluster` API operation. Documented below.
	ResumeCluster *ScheduledActionTargetActionResumeCluster `pulumi:"resumeCluster"`
}

type ScheduledActionTargetActionArgs

type ScheduledActionTargetActionArgs struct {
	// An action that runs a `PauseCluster` API operation. Documented below.
	PauseCluster ScheduledActionTargetActionPauseClusterPtrInput `pulumi:"pauseCluster"`
	// An action that runs a `ResizeCluster` API operation. Documented below.
	ResizeCluster ScheduledActionTargetActionResizeClusterPtrInput `pulumi:"resizeCluster"`
	// An action that runs a `ResumeCluster` API operation. Documented below.
	ResumeCluster ScheduledActionTargetActionResumeClusterPtrInput `pulumi:"resumeCluster"`
}

func (ScheduledActionTargetActionArgs) ElementType

func (ScheduledActionTargetActionArgs) ToScheduledActionTargetActionOutput

func (i ScheduledActionTargetActionArgs) ToScheduledActionTargetActionOutput() ScheduledActionTargetActionOutput

func (ScheduledActionTargetActionArgs) ToScheduledActionTargetActionOutputWithContext

func (i ScheduledActionTargetActionArgs) ToScheduledActionTargetActionOutputWithContext(ctx context.Context) ScheduledActionTargetActionOutput

func (ScheduledActionTargetActionArgs) ToScheduledActionTargetActionPtrOutput

func (i ScheduledActionTargetActionArgs) ToScheduledActionTargetActionPtrOutput() ScheduledActionTargetActionPtrOutput

func (ScheduledActionTargetActionArgs) ToScheduledActionTargetActionPtrOutputWithContext

func (i ScheduledActionTargetActionArgs) ToScheduledActionTargetActionPtrOutputWithContext(ctx context.Context) ScheduledActionTargetActionPtrOutput

type ScheduledActionTargetActionInput

type ScheduledActionTargetActionInput interface {
	pulumi.Input

	ToScheduledActionTargetActionOutput() ScheduledActionTargetActionOutput
	ToScheduledActionTargetActionOutputWithContext(context.Context) ScheduledActionTargetActionOutput
}

ScheduledActionTargetActionInput is an input type that accepts ScheduledActionTargetActionArgs and ScheduledActionTargetActionOutput values. You can construct a concrete instance of `ScheduledActionTargetActionInput` via:

ScheduledActionTargetActionArgs{...}

type ScheduledActionTargetActionOutput

type ScheduledActionTargetActionOutput struct{ *pulumi.OutputState }

func (ScheduledActionTargetActionOutput) ElementType

func (ScheduledActionTargetActionOutput) PauseCluster

An action that runs a `PauseCluster` API operation. Documented below.

func (ScheduledActionTargetActionOutput) ResizeCluster

An action that runs a `ResizeCluster` API operation. Documented below.

func (ScheduledActionTargetActionOutput) ResumeCluster

An action that runs a `ResumeCluster` API operation. Documented below.

func (ScheduledActionTargetActionOutput) ToScheduledActionTargetActionOutput

func (o ScheduledActionTargetActionOutput) ToScheduledActionTargetActionOutput() ScheduledActionTargetActionOutput

func (ScheduledActionTargetActionOutput) ToScheduledActionTargetActionOutputWithContext

func (o ScheduledActionTargetActionOutput) ToScheduledActionTargetActionOutputWithContext(ctx context.Context) ScheduledActionTargetActionOutput

func (ScheduledActionTargetActionOutput) ToScheduledActionTargetActionPtrOutput

func (o ScheduledActionTargetActionOutput) ToScheduledActionTargetActionPtrOutput() ScheduledActionTargetActionPtrOutput

func (ScheduledActionTargetActionOutput) ToScheduledActionTargetActionPtrOutputWithContext

func (o ScheduledActionTargetActionOutput) ToScheduledActionTargetActionPtrOutputWithContext(ctx context.Context) ScheduledActionTargetActionPtrOutput

type ScheduledActionTargetActionPauseCluster

type ScheduledActionTargetActionPauseCluster struct {
	// The identifier of the cluster to be paused.
	ClusterIdentifier string `pulumi:"clusterIdentifier"`
}

type ScheduledActionTargetActionPauseClusterArgs

type ScheduledActionTargetActionPauseClusterArgs struct {
	// The identifier of the cluster to be paused.
	ClusterIdentifier pulumi.StringInput `pulumi:"clusterIdentifier"`
}

func (ScheduledActionTargetActionPauseClusterArgs) ElementType

func (ScheduledActionTargetActionPauseClusterArgs) ToScheduledActionTargetActionPauseClusterOutput

func (i ScheduledActionTargetActionPauseClusterArgs) ToScheduledActionTargetActionPauseClusterOutput() ScheduledActionTargetActionPauseClusterOutput

func (ScheduledActionTargetActionPauseClusterArgs) ToScheduledActionTargetActionPauseClusterOutputWithContext

func (i ScheduledActionTargetActionPauseClusterArgs) ToScheduledActionTargetActionPauseClusterOutputWithContext(ctx context.Context) ScheduledActionTargetActionPauseClusterOutput

func (ScheduledActionTargetActionPauseClusterArgs) ToScheduledActionTargetActionPauseClusterPtrOutput

func (i ScheduledActionTargetActionPauseClusterArgs) ToScheduledActionTargetActionPauseClusterPtrOutput() ScheduledActionTargetActionPauseClusterPtrOutput

func (ScheduledActionTargetActionPauseClusterArgs) ToScheduledActionTargetActionPauseClusterPtrOutputWithContext

func (i ScheduledActionTargetActionPauseClusterArgs) ToScheduledActionTargetActionPauseClusterPtrOutputWithContext(ctx context.Context) ScheduledActionTargetActionPauseClusterPtrOutput

type ScheduledActionTargetActionPauseClusterInput

type ScheduledActionTargetActionPauseClusterInput interface {
	pulumi.Input

	ToScheduledActionTargetActionPauseClusterOutput() ScheduledActionTargetActionPauseClusterOutput
	ToScheduledActionTargetActionPauseClusterOutputWithContext(context.Context) ScheduledActionTargetActionPauseClusterOutput
}

ScheduledActionTargetActionPauseClusterInput is an input type that accepts ScheduledActionTargetActionPauseClusterArgs and ScheduledActionTargetActionPauseClusterOutput values. You can construct a concrete instance of `ScheduledActionTargetActionPauseClusterInput` via:

ScheduledActionTargetActionPauseClusterArgs{...}

type ScheduledActionTargetActionPauseClusterOutput

type ScheduledActionTargetActionPauseClusterOutput struct{ *pulumi.OutputState }

func (ScheduledActionTargetActionPauseClusterOutput) ClusterIdentifier

The identifier of the cluster to be paused.

func (ScheduledActionTargetActionPauseClusterOutput) ElementType

func (ScheduledActionTargetActionPauseClusterOutput) ToScheduledActionTargetActionPauseClusterOutput

func (o ScheduledActionTargetActionPauseClusterOutput) ToScheduledActionTargetActionPauseClusterOutput() ScheduledActionTargetActionPauseClusterOutput

func (ScheduledActionTargetActionPauseClusterOutput) ToScheduledActionTargetActionPauseClusterOutputWithContext

func (o ScheduledActionTargetActionPauseClusterOutput) ToScheduledActionTargetActionPauseClusterOutputWithContext(ctx context.Context) ScheduledActionTargetActionPauseClusterOutput

func (ScheduledActionTargetActionPauseClusterOutput) ToScheduledActionTargetActionPauseClusterPtrOutput

func (o ScheduledActionTargetActionPauseClusterOutput) ToScheduledActionTargetActionPauseClusterPtrOutput() ScheduledActionTargetActionPauseClusterPtrOutput

func (ScheduledActionTargetActionPauseClusterOutput) ToScheduledActionTargetActionPauseClusterPtrOutputWithContext

func (o ScheduledActionTargetActionPauseClusterOutput) ToScheduledActionTargetActionPauseClusterPtrOutputWithContext(ctx context.Context) ScheduledActionTargetActionPauseClusterPtrOutput

type ScheduledActionTargetActionPauseClusterPtrInput

type ScheduledActionTargetActionPauseClusterPtrInput interface {
	pulumi.Input

	ToScheduledActionTargetActionPauseClusterPtrOutput() ScheduledActionTargetActionPauseClusterPtrOutput
	ToScheduledActionTargetActionPauseClusterPtrOutputWithContext(context.Context) ScheduledActionTargetActionPauseClusterPtrOutput
}

ScheduledActionTargetActionPauseClusterPtrInput is an input type that accepts ScheduledActionTargetActionPauseClusterArgs, ScheduledActionTargetActionPauseClusterPtr and ScheduledActionTargetActionPauseClusterPtrOutput values. You can construct a concrete instance of `ScheduledActionTargetActionPauseClusterPtrInput` via:

        ScheduledActionTargetActionPauseClusterArgs{...}

or:

        nil

type ScheduledActionTargetActionPauseClusterPtrOutput

type ScheduledActionTargetActionPauseClusterPtrOutput struct{ *pulumi.OutputState }

func (ScheduledActionTargetActionPauseClusterPtrOutput) ClusterIdentifier

The identifier of the cluster to be paused.

func (ScheduledActionTargetActionPauseClusterPtrOutput) Elem

func (ScheduledActionTargetActionPauseClusterPtrOutput) ElementType

func (ScheduledActionTargetActionPauseClusterPtrOutput) ToScheduledActionTargetActionPauseClusterPtrOutput

func (o ScheduledActionTargetActionPauseClusterPtrOutput) ToScheduledActionTargetActionPauseClusterPtrOutput() ScheduledActionTargetActionPauseClusterPtrOutput

func (ScheduledActionTargetActionPauseClusterPtrOutput) ToScheduledActionTargetActionPauseClusterPtrOutputWithContext

func (o ScheduledActionTargetActionPauseClusterPtrOutput) ToScheduledActionTargetActionPauseClusterPtrOutputWithContext(ctx context.Context) ScheduledActionTargetActionPauseClusterPtrOutput

type ScheduledActionTargetActionPtrInput

type ScheduledActionTargetActionPtrInput interface {
	pulumi.Input

	ToScheduledActionTargetActionPtrOutput() ScheduledActionTargetActionPtrOutput
	ToScheduledActionTargetActionPtrOutputWithContext(context.Context) ScheduledActionTargetActionPtrOutput
}

ScheduledActionTargetActionPtrInput is an input type that accepts ScheduledActionTargetActionArgs, ScheduledActionTargetActionPtr and ScheduledActionTargetActionPtrOutput values. You can construct a concrete instance of `ScheduledActionTargetActionPtrInput` via:

        ScheduledActionTargetActionArgs{...}

or:

        nil

type ScheduledActionTargetActionPtrOutput

type ScheduledActionTargetActionPtrOutput struct{ *pulumi.OutputState }

func (ScheduledActionTargetActionPtrOutput) Elem

func (ScheduledActionTargetActionPtrOutput) ElementType

func (ScheduledActionTargetActionPtrOutput) PauseCluster

An action that runs a `PauseCluster` API operation. Documented below.

func (ScheduledActionTargetActionPtrOutput) ResizeCluster

An action that runs a `ResizeCluster` API operation. Documented below.

func (ScheduledActionTargetActionPtrOutput) ResumeCluster

An action that runs a `ResumeCluster` API operation. Documented below.

func (ScheduledActionTargetActionPtrOutput) ToScheduledActionTargetActionPtrOutput

func (o ScheduledActionTargetActionPtrOutput) ToScheduledActionTargetActionPtrOutput() ScheduledActionTargetActionPtrOutput

func (ScheduledActionTargetActionPtrOutput) ToScheduledActionTargetActionPtrOutputWithContext

func (o ScheduledActionTargetActionPtrOutput) ToScheduledActionTargetActionPtrOutputWithContext(ctx context.Context) ScheduledActionTargetActionPtrOutput

type ScheduledActionTargetActionResizeCluster

type ScheduledActionTargetActionResizeCluster struct {
	// A boolean value indicating whether the resize operation is using the classic resize process. Default: `false`.
	Classic *bool `pulumi:"classic"`
	// The unique identifier for the cluster to resize.
	ClusterIdentifier string `pulumi:"clusterIdentifier"`
	// The new cluster type for the specified cluster.
	ClusterType *string `pulumi:"clusterType"`
	// The new node type for the nodes you are adding.
	NodeType *string `pulumi:"nodeType"`
	// The new number of nodes for the cluster.
	NumberOfNodes *int `pulumi:"numberOfNodes"`
}

type ScheduledActionTargetActionResizeClusterArgs

type ScheduledActionTargetActionResizeClusterArgs struct {
	// A boolean value indicating whether the resize operation is using the classic resize process. Default: `false`.
	Classic pulumi.BoolPtrInput `pulumi:"classic"`
	// The unique identifier for the cluster to resize.
	ClusterIdentifier pulumi.StringInput `pulumi:"clusterIdentifier"`
	// The new cluster type for the specified cluster.
	ClusterType pulumi.StringPtrInput `pulumi:"clusterType"`
	// The new node type for the nodes you are adding.
	NodeType pulumi.StringPtrInput `pulumi:"nodeType"`
	// The new number of nodes for the cluster.
	NumberOfNodes pulumi.IntPtrInput `pulumi:"numberOfNodes"`
}

func (ScheduledActionTargetActionResizeClusterArgs) ElementType

func (ScheduledActionTargetActionResizeClusterArgs) ToScheduledActionTargetActionResizeClusterOutput

func (i ScheduledActionTargetActionResizeClusterArgs) ToScheduledActionTargetActionResizeClusterOutput() ScheduledActionTargetActionResizeClusterOutput

func (ScheduledActionTargetActionResizeClusterArgs) ToScheduledActionTargetActionResizeClusterOutputWithContext

func (i ScheduledActionTargetActionResizeClusterArgs) ToScheduledActionTargetActionResizeClusterOutputWithContext(ctx context.Context) ScheduledActionTargetActionResizeClusterOutput

func (ScheduledActionTargetActionResizeClusterArgs) ToScheduledActionTargetActionResizeClusterPtrOutput

func (i ScheduledActionTargetActionResizeClusterArgs) ToScheduledActionTargetActionResizeClusterPtrOutput() ScheduledActionTargetActionResizeClusterPtrOutput

func (ScheduledActionTargetActionResizeClusterArgs) ToScheduledActionTargetActionResizeClusterPtrOutputWithContext

func (i ScheduledActionTargetActionResizeClusterArgs) ToScheduledActionTargetActionResizeClusterPtrOutputWithContext(ctx context.Context) ScheduledActionTargetActionResizeClusterPtrOutput

type ScheduledActionTargetActionResizeClusterInput

type ScheduledActionTargetActionResizeClusterInput interface {
	pulumi.Input

	ToScheduledActionTargetActionResizeClusterOutput() ScheduledActionTargetActionResizeClusterOutput
	ToScheduledActionTargetActionResizeClusterOutputWithContext(context.Context) ScheduledActionTargetActionResizeClusterOutput
}

ScheduledActionTargetActionResizeClusterInput is an input type that accepts ScheduledActionTargetActionResizeClusterArgs and ScheduledActionTargetActionResizeClusterOutput values. You can construct a concrete instance of `ScheduledActionTargetActionResizeClusterInput` via:

ScheduledActionTargetActionResizeClusterArgs{...}

type ScheduledActionTargetActionResizeClusterOutput

type ScheduledActionTargetActionResizeClusterOutput struct{ *pulumi.OutputState }

func (ScheduledActionTargetActionResizeClusterOutput) Classic

A boolean value indicating whether the resize operation is using the classic resize process. Default: `false`.

func (ScheduledActionTargetActionResizeClusterOutput) ClusterIdentifier

The unique identifier for the cluster to resize.

func (ScheduledActionTargetActionResizeClusterOutput) ClusterType

The new cluster type for the specified cluster.

func (ScheduledActionTargetActionResizeClusterOutput) ElementType

func (ScheduledActionTargetActionResizeClusterOutput) NodeType

The new node type for the nodes you are adding.

func (ScheduledActionTargetActionResizeClusterOutput) NumberOfNodes

The new number of nodes for the cluster.

func (ScheduledActionTargetActionResizeClusterOutput) ToScheduledActionTargetActionResizeClusterOutput

func (o ScheduledActionTargetActionResizeClusterOutput) ToScheduledActionTargetActionResizeClusterOutput() ScheduledActionTargetActionResizeClusterOutput

func (ScheduledActionTargetActionResizeClusterOutput) ToScheduledActionTargetActionResizeClusterOutputWithContext

func (o ScheduledActionTargetActionResizeClusterOutput) ToScheduledActionTargetActionResizeClusterOutputWithContext(ctx context.Context) ScheduledActionTargetActionResizeClusterOutput

func (ScheduledActionTargetActionResizeClusterOutput) ToScheduledActionTargetActionResizeClusterPtrOutput

func (o ScheduledActionTargetActionResizeClusterOutput) ToScheduledActionTargetActionResizeClusterPtrOutput() ScheduledActionTargetActionResizeClusterPtrOutput

func (ScheduledActionTargetActionResizeClusterOutput) ToScheduledActionTargetActionResizeClusterPtrOutputWithContext

func (o ScheduledActionTargetActionResizeClusterOutput) ToScheduledActionTargetActionResizeClusterPtrOutputWithContext(ctx context.Context) ScheduledActionTargetActionResizeClusterPtrOutput

type ScheduledActionTargetActionResizeClusterPtrInput

type ScheduledActionTargetActionResizeClusterPtrInput interface {
	pulumi.Input

	ToScheduledActionTargetActionResizeClusterPtrOutput() ScheduledActionTargetActionResizeClusterPtrOutput
	ToScheduledActionTargetActionResizeClusterPtrOutputWithContext(context.Context) ScheduledActionTargetActionResizeClusterPtrOutput
}

ScheduledActionTargetActionResizeClusterPtrInput is an input type that accepts ScheduledActionTargetActionResizeClusterArgs, ScheduledActionTargetActionResizeClusterPtr and ScheduledActionTargetActionResizeClusterPtrOutput values. You can construct a concrete instance of `ScheduledActionTargetActionResizeClusterPtrInput` via:

        ScheduledActionTargetActionResizeClusterArgs{...}

or:

        nil

type ScheduledActionTargetActionResizeClusterPtrOutput

type ScheduledActionTargetActionResizeClusterPtrOutput struct{ *pulumi.OutputState }

func (ScheduledActionTargetActionResizeClusterPtrOutput) Classic

A boolean value indicating whether the resize operation is using the classic resize process. Default: `false`.

func (ScheduledActionTargetActionResizeClusterPtrOutput) ClusterIdentifier

The unique identifier for the cluster to resize.

func (ScheduledActionTargetActionResizeClusterPtrOutput) ClusterType

The new cluster type for the specified cluster.

func (ScheduledActionTargetActionResizeClusterPtrOutput) Elem

func (ScheduledActionTargetActionResizeClusterPtrOutput) ElementType

func (ScheduledActionTargetActionResizeClusterPtrOutput) NodeType

The new node type for the nodes you are adding.

func (ScheduledActionTargetActionResizeClusterPtrOutput) NumberOfNodes

The new number of nodes for the cluster.

func (ScheduledActionTargetActionResizeClusterPtrOutput) ToScheduledActionTargetActionResizeClusterPtrOutput

func (o ScheduledActionTargetActionResizeClusterPtrOutput) ToScheduledActionTargetActionResizeClusterPtrOutput() ScheduledActionTargetActionResizeClusterPtrOutput

func (ScheduledActionTargetActionResizeClusterPtrOutput) ToScheduledActionTargetActionResizeClusterPtrOutputWithContext

func (o ScheduledActionTargetActionResizeClusterPtrOutput) ToScheduledActionTargetActionResizeClusterPtrOutputWithContext(ctx context.Context) ScheduledActionTargetActionResizeClusterPtrOutput

type ScheduledActionTargetActionResumeCluster

type ScheduledActionTargetActionResumeCluster struct {
	// The identifier of the cluster to be resumed.
	ClusterIdentifier string `pulumi:"clusterIdentifier"`
}

type ScheduledActionTargetActionResumeClusterArgs

type ScheduledActionTargetActionResumeClusterArgs struct {
	// The identifier of the cluster to be resumed.
	ClusterIdentifier pulumi.StringInput `pulumi:"clusterIdentifier"`
}

func (ScheduledActionTargetActionResumeClusterArgs) ElementType

func (ScheduledActionTargetActionResumeClusterArgs) ToScheduledActionTargetActionResumeClusterOutput

func (i ScheduledActionTargetActionResumeClusterArgs) ToScheduledActionTargetActionResumeClusterOutput() ScheduledActionTargetActionResumeClusterOutput

func (ScheduledActionTargetActionResumeClusterArgs) ToScheduledActionTargetActionResumeClusterOutputWithContext

func (i ScheduledActionTargetActionResumeClusterArgs) ToScheduledActionTargetActionResumeClusterOutputWithContext(ctx context.Context) ScheduledActionTargetActionResumeClusterOutput

func (ScheduledActionTargetActionResumeClusterArgs) ToScheduledActionTargetActionResumeClusterPtrOutput

func (i ScheduledActionTargetActionResumeClusterArgs) ToScheduledActionTargetActionResumeClusterPtrOutput() ScheduledActionTargetActionResumeClusterPtrOutput

func (ScheduledActionTargetActionResumeClusterArgs) ToScheduledActionTargetActionResumeClusterPtrOutputWithContext

func (i ScheduledActionTargetActionResumeClusterArgs) ToScheduledActionTargetActionResumeClusterPtrOutputWithContext(ctx context.Context) ScheduledActionTargetActionResumeClusterPtrOutput

type ScheduledActionTargetActionResumeClusterInput

type ScheduledActionTargetActionResumeClusterInput interface {
	pulumi.Input

	ToScheduledActionTargetActionResumeClusterOutput() ScheduledActionTargetActionResumeClusterOutput
	ToScheduledActionTargetActionResumeClusterOutputWithContext(context.Context) ScheduledActionTargetActionResumeClusterOutput
}

ScheduledActionTargetActionResumeClusterInput is an input type that accepts ScheduledActionTargetActionResumeClusterArgs and ScheduledActionTargetActionResumeClusterOutput values. You can construct a concrete instance of `ScheduledActionTargetActionResumeClusterInput` via:

ScheduledActionTargetActionResumeClusterArgs{...}

type ScheduledActionTargetActionResumeClusterOutput

type ScheduledActionTargetActionResumeClusterOutput struct{ *pulumi.OutputState }

func (ScheduledActionTargetActionResumeClusterOutput) ClusterIdentifier

The identifier of the cluster to be resumed.

func (ScheduledActionTargetActionResumeClusterOutput) ElementType

func (ScheduledActionTargetActionResumeClusterOutput) ToScheduledActionTargetActionResumeClusterOutput

func (o ScheduledActionTargetActionResumeClusterOutput) ToScheduledActionTargetActionResumeClusterOutput() ScheduledActionTargetActionResumeClusterOutput

func (ScheduledActionTargetActionResumeClusterOutput) ToScheduledActionTargetActionResumeClusterOutputWithContext

func (o ScheduledActionTargetActionResumeClusterOutput) ToScheduledActionTargetActionResumeClusterOutputWithContext(ctx context.Context) ScheduledActionTargetActionResumeClusterOutput

func (ScheduledActionTargetActionResumeClusterOutput) ToScheduledActionTargetActionResumeClusterPtrOutput

func (o ScheduledActionTargetActionResumeClusterOutput) ToScheduledActionTargetActionResumeClusterPtrOutput() ScheduledActionTargetActionResumeClusterPtrOutput

func (ScheduledActionTargetActionResumeClusterOutput) ToScheduledActionTargetActionResumeClusterPtrOutputWithContext

func (o ScheduledActionTargetActionResumeClusterOutput) ToScheduledActionTargetActionResumeClusterPtrOutputWithContext(ctx context.Context) ScheduledActionTargetActionResumeClusterPtrOutput

type ScheduledActionTargetActionResumeClusterPtrInput

type ScheduledActionTargetActionResumeClusterPtrInput interface {
	pulumi.Input

	ToScheduledActionTargetActionResumeClusterPtrOutput() ScheduledActionTargetActionResumeClusterPtrOutput
	ToScheduledActionTargetActionResumeClusterPtrOutputWithContext(context.Context) ScheduledActionTargetActionResumeClusterPtrOutput
}

ScheduledActionTargetActionResumeClusterPtrInput is an input type that accepts ScheduledActionTargetActionResumeClusterArgs, ScheduledActionTargetActionResumeClusterPtr and ScheduledActionTargetActionResumeClusterPtrOutput values. You can construct a concrete instance of `ScheduledActionTargetActionResumeClusterPtrInput` via:

        ScheduledActionTargetActionResumeClusterArgs{...}

or:

        nil

type ScheduledActionTargetActionResumeClusterPtrOutput

type ScheduledActionTargetActionResumeClusterPtrOutput struct{ *pulumi.OutputState }

func (ScheduledActionTargetActionResumeClusterPtrOutput) ClusterIdentifier

The identifier of the cluster to be resumed.

func (ScheduledActionTargetActionResumeClusterPtrOutput) Elem

func (ScheduledActionTargetActionResumeClusterPtrOutput) ElementType

func (ScheduledActionTargetActionResumeClusterPtrOutput) ToScheduledActionTargetActionResumeClusterPtrOutput

func (o ScheduledActionTargetActionResumeClusterPtrOutput) ToScheduledActionTargetActionResumeClusterPtrOutput() ScheduledActionTargetActionResumeClusterPtrOutput

func (ScheduledActionTargetActionResumeClusterPtrOutput) ToScheduledActionTargetActionResumeClusterPtrOutputWithContext

func (o ScheduledActionTargetActionResumeClusterPtrOutput) ToScheduledActionTargetActionResumeClusterPtrOutputWithContext(ctx context.Context) ScheduledActionTargetActionResumeClusterPtrOutput

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.

!> **WARNING:** With the retirement of EC2-Classic the `redshift.SecurityGroup` resource has been deprecated and will be removed in a future version. Any existing resources can be removed from state manually.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/redshift"
"github.com/pulumi/pulumi/sdk/v3/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

func (*SecurityGroup) ElementType() reflect.Type

func (*SecurityGroup) ToSecurityGroupOutput

func (i *SecurityGroup) ToSecurityGroupOutput() SecurityGroupOutput

func (*SecurityGroup) ToSecurityGroupOutputWithContext

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

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

type SecurityGroupArray []SecurityGroupInput

func (SecurityGroupArray) ElementType

func (SecurityGroupArray) ElementType() reflect.Type

func (SecurityGroupArray) ToSecurityGroupArrayOutput

func (i SecurityGroupArray) ToSecurityGroupArrayOutput() SecurityGroupArrayOutput

func (SecurityGroupArray) ToSecurityGroupArrayOutputWithContext

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

type SecurityGroupArrayInput

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

type SecurityGroupArrayOutput struct{ *pulumi.OutputState }

func (SecurityGroupArrayOutput) ElementType

func (SecurityGroupArrayOutput) ElementType() reflect.Type

func (SecurityGroupArrayOutput) Index

func (SecurityGroupArrayOutput) ToSecurityGroupArrayOutput

func (o SecurityGroupArrayOutput) ToSecurityGroupArrayOutput() SecurityGroupArrayOutput

func (SecurityGroupArrayOutput) ToSecurityGroupArrayOutputWithContext

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

type SecurityGroupInput interface {
	pulumi.Input

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

type SecurityGroupMap

type SecurityGroupMap map[string]SecurityGroupInput

func (SecurityGroupMap) ElementType

func (SecurityGroupMap) ElementType() reflect.Type

func (SecurityGroupMap) ToSecurityGroupMapOutput

func (i SecurityGroupMap) ToSecurityGroupMapOutput() SecurityGroupMapOutput

func (SecurityGroupMap) ToSecurityGroupMapOutputWithContext

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

type SecurityGroupMapInput

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

type SecurityGroupMapOutput struct{ *pulumi.OutputState }

func (SecurityGroupMapOutput) ElementType

func (SecurityGroupMapOutput) ElementType() reflect.Type

func (SecurityGroupMapOutput) MapIndex

func (SecurityGroupMapOutput) ToSecurityGroupMapOutput

func (o SecurityGroupMapOutput) ToSecurityGroupMapOutput() SecurityGroupMapOutput

func (SecurityGroupMapOutput) ToSecurityGroupMapOutputWithContext

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

type SecurityGroupOutput

type SecurityGroupOutput struct{ *pulumi.OutputState }

func (SecurityGroupOutput) Description added in v5.4.0

func (o SecurityGroupOutput) Description() pulumi.StringOutput

The description of the Redshift security group. Defaults to "Managed by Pulumi".

func (SecurityGroupOutput) ElementType

func (SecurityGroupOutput) ElementType() reflect.Type

func (SecurityGroupOutput) Ingress added in v5.4.0

A list of ingress rules.

func (SecurityGroupOutput) Name added in v5.4.0

The name of the Redshift security group.

func (SecurityGroupOutput) ToSecurityGroupOutput

func (o SecurityGroupOutput) ToSecurityGroupOutput() SecurityGroupOutput

func (SecurityGroupOutput) ToSecurityGroupOutputWithContext

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

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. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
}

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/v5/go/aws/redshift"
"github.com/pulumi/pulumi/sdk/v3/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

func (*SnapshotCopyGrant) ElementType() reflect.Type

func (*SnapshotCopyGrant) ToSnapshotCopyGrantOutput

func (i *SnapshotCopyGrant) ToSnapshotCopyGrantOutput() SnapshotCopyGrantOutput

func (*SnapshotCopyGrant) ToSnapshotCopyGrantOutputWithContext

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

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. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
}

The set of arguments for constructing a SnapshotCopyGrant resource.

func (SnapshotCopyGrantArgs) ElementType

func (SnapshotCopyGrantArgs) ElementType() reflect.Type

type SnapshotCopyGrantArray

type SnapshotCopyGrantArray []SnapshotCopyGrantInput

func (SnapshotCopyGrantArray) ElementType

func (SnapshotCopyGrantArray) ElementType() reflect.Type

func (SnapshotCopyGrantArray) ToSnapshotCopyGrantArrayOutput

func (i SnapshotCopyGrantArray) ToSnapshotCopyGrantArrayOutput() SnapshotCopyGrantArrayOutput

func (SnapshotCopyGrantArray) ToSnapshotCopyGrantArrayOutputWithContext

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

type SnapshotCopyGrantArrayInput

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

type SnapshotCopyGrantArrayOutput struct{ *pulumi.OutputState }

func (SnapshotCopyGrantArrayOutput) ElementType

func (SnapshotCopyGrantArrayOutput) Index

func (SnapshotCopyGrantArrayOutput) ToSnapshotCopyGrantArrayOutput

func (o SnapshotCopyGrantArrayOutput) ToSnapshotCopyGrantArrayOutput() SnapshotCopyGrantArrayOutput

func (SnapshotCopyGrantArrayOutput) ToSnapshotCopyGrantArrayOutputWithContext

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

type SnapshotCopyGrantInput

type SnapshotCopyGrantInput interface {
	pulumi.Input

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

type SnapshotCopyGrantMap

type SnapshotCopyGrantMap map[string]SnapshotCopyGrantInput

func (SnapshotCopyGrantMap) ElementType

func (SnapshotCopyGrantMap) ElementType() reflect.Type

func (SnapshotCopyGrantMap) ToSnapshotCopyGrantMapOutput

func (i SnapshotCopyGrantMap) ToSnapshotCopyGrantMapOutput() SnapshotCopyGrantMapOutput

func (SnapshotCopyGrantMap) ToSnapshotCopyGrantMapOutputWithContext

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

type SnapshotCopyGrantMapInput

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

type SnapshotCopyGrantMapOutput struct{ *pulumi.OutputState }

func (SnapshotCopyGrantMapOutput) ElementType

func (SnapshotCopyGrantMapOutput) ElementType() reflect.Type

func (SnapshotCopyGrantMapOutput) MapIndex

func (SnapshotCopyGrantMapOutput) ToSnapshotCopyGrantMapOutput

func (o SnapshotCopyGrantMapOutput) ToSnapshotCopyGrantMapOutput() SnapshotCopyGrantMapOutput

func (SnapshotCopyGrantMapOutput) ToSnapshotCopyGrantMapOutputWithContext

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

type SnapshotCopyGrantOutput

type SnapshotCopyGrantOutput struct{ *pulumi.OutputState }

func (SnapshotCopyGrantOutput) Arn added in v5.4.0

Amazon Resource Name (ARN) of snapshot copy grant

func (SnapshotCopyGrantOutput) ElementType

func (SnapshotCopyGrantOutput) ElementType() reflect.Type

func (SnapshotCopyGrantOutput) KmsKeyId added in v5.4.0

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.

func (SnapshotCopyGrantOutput) SnapshotCopyGrantName added in v5.4.0

func (o SnapshotCopyGrantOutput) SnapshotCopyGrantName() pulumi.StringOutput

A friendly name for identifying the grant.

func (SnapshotCopyGrantOutput) Tags added in v5.4.0

A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.

func (SnapshotCopyGrantOutput) TagsAll added in v5.4.0

A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.

func (SnapshotCopyGrantOutput) ToSnapshotCopyGrantOutput

func (o SnapshotCopyGrantOutput) ToSnapshotCopyGrantOutput() SnapshotCopyGrantOutput

func (SnapshotCopyGrantOutput) ToSnapshotCopyGrantOutputWithContext

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

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. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll 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. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
}

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/redshift"
"github.com/pulumi/pulumi/sdk/v3/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

func (*SnapshotSchedule) ElementType() reflect.Type

func (*SnapshotSchedule) ToSnapshotScheduleOutput

func (i *SnapshotSchedule) ToSnapshotScheduleOutput() SnapshotScheduleOutput

func (*SnapshotSchedule) ToSnapshotScheduleOutputWithContext

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

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. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
}

The set of arguments for constructing a SnapshotSchedule resource.

func (SnapshotScheduleArgs) ElementType

func (SnapshotScheduleArgs) ElementType() reflect.Type

type SnapshotScheduleArray

type SnapshotScheduleArray []SnapshotScheduleInput

func (SnapshotScheduleArray) ElementType

func (SnapshotScheduleArray) ElementType() reflect.Type

func (SnapshotScheduleArray) ToSnapshotScheduleArrayOutput

func (i SnapshotScheduleArray) ToSnapshotScheduleArrayOutput() SnapshotScheduleArrayOutput

func (SnapshotScheduleArray) ToSnapshotScheduleArrayOutputWithContext

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

type SnapshotScheduleArrayInput

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

type SnapshotScheduleArrayOutput struct{ *pulumi.OutputState }

func (SnapshotScheduleArrayOutput) ElementType

func (SnapshotScheduleArrayOutput) Index

func (SnapshotScheduleArrayOutput) ToSnapshotScheduleArrayOutput

func (o SnapshotScheduleArrayOutput) ToSnapshotScheduleArrayOutput() SnapshotScheduleArrayOutput

func (SnapshotScheduleArrayOutput) ToSnapshotScheduleArrayOutputWithContext

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/v5/go/aws/redshift"
"github.com/pulumi/pulumi/sdk/v3/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

func (*SnapshotScheduleAssociation) ElementType() reflect.Type

func (*SnapshotScheduleAssociation) ToSnapshotScheduleAssociationOutput

func (i *SnapshotScheduleAssociation) ToSnapshotScheduleAssociationOutput() SnapshotScheduleAssociationOutput

func (*SnapshotScheduleAssociation) ToSnapshotScheduleAssociationOutputWithContext

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

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

type SnapshotScheduleAssociationArray []SnapshotScheduleAssociationInput

func (SnapshotScheduleAssociationArray) ElementType

func (SnapshotScheduleAssociationArray) ToSnapshotScheduleAssociationArrayOutput

func (i SnapshotScheduleAssociationArray) ToSnapshotScheduleAssociationArrayOutput() SnapshotScheduleAssociationArrayOutput

func (SnapshotScheduleAssociationArray) ToSnapshotScheduleAssociationArrayOutputWithContext

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

type SnapshotScheduleAssociationArrayInput

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

type SnapshotScheduleAssociationArrayOutput struct{ *pulumi.OutputState }

func (SnapshotScheduleAssociationArrayOutput) ElementType

func (SnapshotScheduleAssociationArrayOutput) Index

func (SnapshotScheduleAssociationArrayOutput) ToSnapshotScheduleAssociationArrayOutput

func (o SnapshotScheduleAssociationArrayOutput) ToSnapshotScheduleAssociationArrayOutput() SnapshotScheduleAssociationArrayOutput

func (SnapshotScheduleAssociationArrayOutput) ToSnapshotScheduleAssociationArrayOutputWithContext

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

type SnapshotScheduleAssociationInput

type SnapshotScheduleAssociationInput interface {
	pulumi.Input

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

type SnapshotScheduleAssociationMap

type SnapshotScheduleAssociationMap map[string]SnapshotScheduleAssociationInput

func (SnapshotScheduleAssociationMap) ElementType

func (SnapshotScheduleAssociationMap) ToSnapshotScheduleAssociationMapOutput

func (i SnapshotScheduleAssociationMap) ToSnapshotScheduleAssociationMapOutput() SnapshotScheduleAssociationMapOutput

func (SnapshotScheduleAssociationMap) ToSnapshotScheduleAssociationMapOutputWithContext

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

type SnapshotScheduleAssociationMapInput

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

type SnapshotScheduleAssociationMapOutput struct{ *pulumi.OutputState }

func (SnapshotScheduleAssociationMapOutput) ElementType

func (SnapshotScheduleAssociationMapOutput) MapIndex

func (SnapshotScheduleAssociationMapOutput) ToSnapshotScheduleAssociationMapOutput

func (o SnapshotScheduleAssociationMapOutput) ToSnapshotScheduleAssociationMapOutput() SnapshotScheduleAssociationMapOutput

func (SnapshotScheduleAssociationMapOutput) ToSnapshotScheduleAssociationMapOutputWithContext

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

type SnapshotScheduleAssociationOutput

type SnapshotScheduleAssociationOutput struct{ *pulumi.OutputState }

func (SnapshotScheduleAssociationOutput) ClusterIdentifier added in v5.4.0

The cluster identifier.

func (SnapshotScheduleAssociationOutput) ElementType

func (SnapshotScheduleAssociationOutput) ScheduleIdentifier added in v5.4.0

func (o SnapshotScheduleAssociationOutput) ScheduleIdentifier() pulumi.StringOutput

The snapshot schedule identifier.

func (SnapshotScheduleAssociationOutput) ToSnapshotScheduleAssociationOutput

func (o SnapshotScheduleAssociationOutput) ToSnapshotScheduleAssociationOutput() SnapshotScheduleAssociationOutput

func (SnapshotScheduleAssociationOutput) ToSnapshotScheduleAssociationOutputWithContext

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

type SnapshotScheduleAssociationState

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

func (SnapshotScheduleAssociationState) ElementType

type SnapshotScheduleInput

type SnapshotScheduleInput interface {
	pulumi.Input

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

type SnapshotScheduleMap

type SnapshotScheduleMap map[string]SnapshotScheduleInput

func (SnapshotScheduleMap) ElementType

func (SnapshotScheduleMap) ElementType() reflect.Type

func (SnapshotScheduleMap) ToSnapshotScheduleMapOutput

func (i SnapshotScheduleMap) ToSnapshotScheduleMapOutput() SnapshotScheduleMapOutput

func (SnapshotScheduleMap) ToSnapshotScheduleMapOutputWithContext

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

type SnapshotScheduleMapInput

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

type SnapshotScheduleMapOutput struct{ *pulumi.OutputState }

func (SnapshotScheduleMapOutput) ElementType

func (SnapshotScheduleMapOutput) ElementType() reflect.Type

func (SnapshotScheduleMapOutput) MapIndex

func (SnapshotScheduleMapOutput) ToSnapshotScheduleMapOutput

func (o SnapshotScheduleMapOutput) ToSnapshotScheduleMapOutput() SnapshotScheduleMapOutput

func (SnapshotScheduleMapOutput) ToSnapshotScheduleMapOutputWithContext

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

type SnapshotScheduleOutput

type SnapshotScheduleOutput struct{ *pulumi.OutputState }

func (SnapshotScheduleOutput) Arn added in v5.4.0

Amazon Resource Name (ARN) of the Redshift Snapshot Schedule.

func (SnapshotScheduleOutput) Definitions added in v5.4.0

The definition of the snapshot schedule. The definition is made up of schedule expressions, for example `cron(30 12 *)` or `rate(12 hours)`.

func (SnapshotScheduleOutput) Description added in v5.4.0

The description of the snapshot schedule.

func (SnapshotScheduleOutput) ElementType

func (SnapshotScheduleOutput) ElementType() reflect.Type

func (SnapshotScheduleOutput) ForceDestroy added in v5.4.0

func (o SnapshotScheduleOutput) ForceDestroy() pulumi.BoolPtrOutput

Whether to destroy all associated clusters with this snapshot schedule on deletion. Must be enabled and applied before attempting deletion.

func (SnapshotScheduleOutput) Identifier added in v5.4.0

The snapshot schedule identifier. If omitted, this provider will assign a random, unique identifier.

func (SnapshotScheduleOutput) IdentifierPrefix added in v5.4.0

func (o SnapshotScheduleOutput) IdentifierPrefix() pulumi.StringOutput

Creates a unique identifier beginning with the specified prefix. Conflicts with `identifier`.

func (SnapshotScheduleOutput) Tags added in v5.4.0

A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.

func (SnapshotScheduleOutput) TagsAll added in v5.4.0

A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.

func (SnapshotScheduleOutput) ToSnapshotScheduleOutput

func (o SnapshotScheduleOutput) ToSnapshotScheduleOutput() SnapshotScheduleOutput

func (SnapshotScheduleOutput) ToSnapshotScheduleOutputWithContext

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

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. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll 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. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
}

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/v5/go/aws/ec2"
"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/redshift"
"github.com/pulumi/pulumi/sdk/v3/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

func (*SubnetGroup) ElementType() reflect.Type

func (*SubnetGroup) ToSubnetGroupOutput

func (i *SubnetGroup) ToSubnetGroupOutput() SubnetGroupOutput

func (*SubnetGroup) ToSubnetGroupOutputWithContext

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

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. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
}

The set of arguments for constructing a SubnetGroup resource.

func (SubnetGroupArgs) ElementType

func (SubnetGroupArgs) ElementType() reflect.Type

type SubnetGroupArray

type SubnetGroupArray []SubnetGroupInput

func (SubnetGroupArray) ElementType

func (SubnetGroupArray) ElementType() reflect.Type

func (SubnetGroupArray) ToSubnetGroupArrayOutput

func (i SubnetGroupArray) ToSubnetGroupArrayOutput() SubnetGroupArrayOutput

func (SubnetGroupArray) ToSubnetGroupArrayOutputWithContext

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

type SubnetGroupArrayInput

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

type SubnetGroupArrayOutput struct{ *pulumi.OutputState }

func (SubnetGroupArrayOutput) ElementType

func (SubnetGroupArrayOutput) ElementType() reflect.Type

func (SubnetGroupArrayOutput) Index

func (SubnetGroupArrayOutput) ToSubnetGroupArrayOutput

func (o SubnetGroupArrayOutput) ToSubnetGroupArrayOutput() SubnetGroupArrayOutput

func (SubnetGroupArrayOutput) ToSubnetGroupArrayOutputWithContext

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

type SubnetGroupInput

type SubnetGroupInput interface {
	pulumi.Input

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

type SubnetGroupMap

type SubnetGroupMap map[string]SubnetGroupInput

func (SubnetGroupMap) ElementType

func (SubnetGroupMap) ElementType() reflect.Type

func (SubnetGroupMap) ToSubnetGroupMapOutput

func (i SubnetGroupMap) ToSubnetGroupMapOutput() SubnetGroupMapOutput

func (SubnetGroupMap) ToSubnetGroupMapOutputWithContext

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

type SubnetGroupMapInput

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

type SubnetGroupMapOutput struct{ *pulumi.OutputState }

func (SubnetGroupMapOutput) ElementType

func (SubnetGroupMapOutput) ElementType() reflect.Type

func (SubnetGroupMapOutput) MapIndex

func (SubnetGroupMapOutput) ToSubnetGroupMapOutput

func (o SubnetGroupMapOutput) ToSubnetGroupMapOutput() SubnetGroupMapOutput

func (SubnetGroupMapOutput) ToSubnetGroupMapOutputWithContext

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

type SubnetGroupOutput

type SubnetGroupOutput struct{ *pulumi.OutputState }

func (SubnetGroupOutput) Arn added in v5.4.0

Amazon Resource Name (ARN) of the Redshift Subnet group name

func (SubnetGroupOutput) Description added in v5.4.0

func (o SubnetGroupOutput) Description() pulumi.StringOutput

The description of the Redshift Subnet group. Defaults to "Managed by Pulumi".

func (SubnetGroupOutput) ElementType

func (SubnetGroupOutput) ElementType() reflect.Type

func (SubnetGroupOutput) Name added in v5.4.0

The name of the Redshift Subnet group.

func (SubnetGroupOutput) SubnetIds added in v5.4.0

An array of VPC subnet IDs.

func (SubnetGroupOutput) Tags added in v5.4.0

A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.

func (SubnetGroupOutput) TagsAll added in v5.4.0

A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.

func (SubnetGroupOutput) ToSubnetGroupOutput

func (o SubnetGroupOutput) ToSubnetGroupOutput() SubnetGroupOutput

func (SubnetGroupOutput) ToSubnetGroupOutputWithContext

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

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. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapInput
}

func (SubnetGroupState) ElementType

func (SubnetGroupState) ElementType() reflect.Type

type UsageLimit added in v5.6.0

type UsageLimit struct {
	pulumi.CustomResourceState

	// The limit amount. If time-based, this amount is in minutes. If data-based, this amount is in terabytes (TB). The value must be a positive number.
	Amount pulumi.IntOutput `pulumi:"amount"`
	// Amazon Resource Name (ARN) of the Redshift Usage Limit.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// The action that Amazon Redshift takes when the limit is reached. The default is `log`. Valid values are `log`, `emit-metric`, and `disable`.
	BreachAction pulumi.StringPtrOutput `pulumi:"breachAction"`
	// The identifier of the cluster that you want to limit usage.
	ClusterIdentifier pulumi.StringOutput `pulumi:"clusterIdentifier"`
	// The Amazon Redshift feature that you want to limit. Valid values are `spectrum`, `concurrency-scaling`, and `cross-region-datasharing`.
	FeatureType pulumi.StringOutput `pulumi:"featureType"`
	// The type of limit. Depending on the feature type, this can be based on a time duration or data size. If FeatureType is `spectrum`, then LimitType must be `data-scanned`. If FeatureType is `concurrency-scaling`, then LimitType must be `time`. If FeatureType is `cross-region-datasharing`, then LimitType must be `data-scanned`. Valid values are `data-scanned`, and `time`.
	LimitType pulumi.StringOutput `pulumi:"limitType"`
	// The time period that the amount applies to. A weekly period begins on Sunday. The default is `monthly`. Valid values are `daily`, `weekly`, and `monthly`.
	Period pulumi.StringPtrOutput `pulumi:"period"`
	// A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
}

Creates a new Amazon Redshift Usage Limit.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := redshift.NewUsageLimit(ctx, "example", &redshift.UsageLimitArgs{
			ClusterIdentifier: pulumi.Any(aws_redshift_cluster.Example.Id),
			FeatureType:       pulumi.String("concurrency-scaling"),
			LimitType:         pulumi.String("time"),
			Amount:            pulumi.Int(60),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Redshift usage limits can be imported using the `id`, e.g.,

```sh

$ pulumi import aws:redshift/usageLimit:UsageLimit example example-id

```

func GetUsageLimit added in v5.6.0

func GetUsageLimit(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *UsageLimitState, opts ...pulumi.ResourceOption) (*UsageLimit, error)

GetUsageLimit gets an existing UsageLimit 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 NewUsageLimit added in v5.6.0

func NewUsageLimit(ctx *pulumi.Context,
	name string, args *UsageLimitArgs, opts ...pulumi.ResourceOption) (*UsageLimit, error)

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

func (*UsageLimit) ElementType added in v5.6.0

func (*UsageLimit) ElementType() reflect.Type

func (*UsageLimit) ToUsageLimitOutput added in v5.6.0

func (i *UsageLimit) ToUsageLimitOutput() UsageLimitOutput

func (*UsageLimit) ToUsageLimitOutputWithContext added in v5.6.0

func (i *UsageLimit) ToUsageLimitOutputWithContext(ctx context.Context) UsageLimitOutput

type UsageLimitArgs added in v5.6.0

type UsageLimitArgs struct {
	// The limit amount. If time-based, this amount is in minutes. If data-based, this amount is in terabytes (TB). The value must be a positive number.
	Amount pulumi.IntInput
	// The action that Amazon Redshift takes when the limit is reached. The default is `log`. Valid values are `log`, `emit-metric`, and `disable`.
	BreachAction pulumi.StringPtrInput
	// The identifier of the cluster that you want to limit usage.
	ClusterIdentifier pulumi.StringInput
	// The Amazon Redshift feature that you want to limit. Valid values are `spectrum`, `concurrency-scaling`, and `cross-region-datasharing`.
	FeatureType pulumi.StringInput
	// The type of limit. Depending on the feature type, this can be based on a time duration or data size. If FeatureType is `spectrum`, then LimitType must be `data-scanned`. If FeatureType is `concurrency-scaling`, then LimitType must be `time`. If FeatureType is `cross-region-datasharing`, then LimitType must be `data-scanned`. Valid values are `data-scanned`, and `time`.
	LimitType pulumi.StringInput
	// The time period that the amount applies to. A weekly period begins on Sunday. The default is `monthly`. Valid values are `daily`, `weekly`, and `monthly`.
	Period pulumi.StringPtrInput
	// A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
}

The set of arguments for constructing a UsageLimit resource.

func (UsageLimitArgs) ElementType added in v5.6.0

func (UsageLimitArgs) ElementType() reflect.Type

type UsageLimitArray added in v5.6.0

type UsageLimitArray []UsageLimitInput

func (UsageLimitArray) ElementType added in v5.6.0

func (UsageLimitArray) ElementType() reflect.Type

func (UsageLimitArray) ToUsageLimitArrayOutput added in v5.6.0

func (i UsageLimitArray) ToUsageLimitArrayOutput() UsageLimitArrayOutput

func (UsageLimitArray) ToUsageLimitArrayOutputWithContext added in v5.6.0

func (i UsageLimitArray) ToUsageLimitArrayOutputWithContext(ctx context.Context) UsageLimitArrayOutput

type UsageLimitArrayInput added in v5.6.0

type UsageLimitArrayInput interface {
	pulumi.Input

	ToUsageLimitArrayOutput() UsageLimitArrayOutput
	ToUsageLimitArrayOutputWithContext(context.Context) UsageLimitArrayOutput
}

UsageLimitArrayInput is an input type that accepts UsageLimitArray and UsageLimitArrayOutput values. You can construct a concrete instance of `UsageLimitArrayInput` via:

UsageLimitArray{ UsageLimitArgs{...} }

type UsageLimitArrayOutput added in v5.6.0

type UsageLimitArrayOutput struct{ *pulumi.OutputState }

func (UsageLimitArrayOutput) ElementType added in v5.6.0

func (UsageLimitArrayOutput) ElementType() reflect.Type

func (UsageLimitArrayOutput) Index added in v5.6.0

func (UsageLimitArrayOutput) ToUsageLimitArrayOutput added in v5.6.0

func (o UsageLimitArrayOutput) ToUsageLimitArrayOutput() UsageLimitArrayOutput

func (UsageLimitArrayOutput) ToUsageLimitArrayOutputWithContext added in v5.6.0

func (o UsageLimitArrayOutput) ToUsageLimitArrayOutputWithContext(ctx context.Context) UsageLimitArrayOutput

type UsageLimitInput added in v5.6.0

type UsageLimitInput interface {
	pulumi.Input

	ToUsageLimitOutput() UsageLimitOutput
	ToUsageLimitOutputWithContext(ctx context.Context) UsageLimitOutput
}

type UsageLimitMap added in v5.6.0

type UsageLimitMap map[string]UsageLimitInput

func (UsageLimitMap) ElementType added in v5.6.0

func (UsageLimitMap) ElementType() reflect.Type

func (UsageLimitMap) ToUsageLimitMapOutput added in v5.6.0

func (i UsageLimitMap) ToUsageLimitMapOutput() UsageLimitMapOutput

func (UsageLimitMap) ToUsageLimitMapOutputWithContext added in v5.6.0

func (i UsageLimitMap) ToUsageLimitMapOutputWithContext(ctx context.Context) UsageLimitMapOutput

type UsageLimitMapInput added in v5.6.0

type UsageLimitMapInput interface {
	pulumi.Input

	ToUsageLimitMapOutput() UsageLimitMapOutput
	ToUsageLimitMapOutputWithContext(context.Context) UsageLimitMapOutput
}

UsageLimitMapInput is an input type that accepts UsageLimitMap and UsageLimitMapOutput values. You can construct a concrete instance of `UsageLimitMapInput` via:

UsageLimitMap{ "key": UsageLimitArgs{...} }

type UsageLimitMapOutput added in v5.6.0

type UsageLimitMapOutput struct{ *pulumi.OutputState }

func (UsageLimitMapOutput) ElementType added in v5.6.0

func (UsageLimitMapOutput) ElementType() reflect.Type

func (UsageLimitMapOutput) MapIndex added in v5.6.0

func (UsageLimitMapOutput) ToUsageLimitMapOutput added in v5.6.0

func (o UsageLimitMapOutput) ToUsageLimitMapOutput() UsageLimitMapOutput

func (UsageLimitMapOutput) ToUsageLimitMapOutputWithContext added in v5.6.0

func (o UsageLimitMapOutput) ToUsageLimitMapOutputWithContext(ctx context.Context) UsageLimitMapOutput

type UsageLimitOutput added in v5.6.0

type UsageLimitOutput struct{ *pulumi.OutputState }

func (UsageLimitOutput) Amount added in v5.6.0

func (o UsageLimitOutput) Amount() pulumi.IntOutput

The limit amount. If time-based, this amount is in minutes. If data-based, this amount is in terabytes (TB). The value must be a positive number.

func (UsageLimitOutput) Arn added in v5.6.0

Amazon Resource Name (ARN) of the Redshift Usage Limit.

func (UsageLimitOutput) BreachAction added in v5.6.0

func (o UsageLimitOutput) BreachAction() pulumi.StringPtrOutput

The action that Amazon Redshift takes when the limit is reached. The default is `log`. Valid values are `log`, `emit-metric`, and `disable`.

func (UsageLimitOutput) ClusterIdentifier added in v5.6.0

func (o UsageLimitOutput) ClusterIdentifier() pulumi.StringOutput

The identifier of the cluster that you want to limit usage.

func (UsageLimitOutput) ElementType added in v5.6.0

func (UsageLimitOutput) ElementType() reflect.Type

func (UsageLimitOutput) FeatureType added in v5.6.0

func (o UsageLimitOutput) FeatureType() pulumi.StringOutput

The Amazon Redshift feature that you want to limit. Valid values are `spectrum`, `concurrency-scaling`, and `cross-region-datasharing`.

func (UsageLimitOutput) LimitType added in v5.6.0

func (o UsageLimitOutput) LimitType() pulumi.StringOutput

The type of limit. Depending on the feature type, this can be based on a time duration or data size. If FeatureType is `spectrum`, then LimitType must be `data-scanned`. If FeatureType is `concurrency-scaling`, then LimitType must be `time`. If FeatureType is `cross-region-datasharing`, then LimitType must be `data-scanned`. Valid values are `data-scanned`, and `time`.

func (UsageLimitOutput) Period added in v5.6.0

The time period that the amount applies to. A weekly period begins on Sunday. The default is `monthly`. Valid values are `daily`, `weekly`, and `monthly`.

func (UsageLimitOutput) Tags added in v5.6.0

A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.

func (UsageLimitOutput) TagsAll added in v5.6.0

A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.

func (UsageLimitOutput) ToUsageLimitOutput added in v5.6.0

func (o UsageLimitOutput) ToUsageLimitOutput() UsageLimitOutput

func (UsageLimitOutput) ToUsageLimitOutputWithContext added in v5.6.0

func (o UsageLimitOutput) ToUsageLimitOutputWithContext(ctx context.Context) UsageLimitOutput

type UsageLimitState added in v5.6.0

type UsageLimitState struct {
	// The limit amount. If time-based, this amount is in minutes. If data-based, this amount is in terabytes (TB). The value must be a positive number.
	Amount pulumi.IntPtrInput
	// Amazon Resource Name (ARN) of the Redshift Usage Limit.
	Arn pulumi.StringPtrInput
	// The action that Amazon Redshift takes when the limit is reached. The default is `log`. Valid values are `log`, `emit-metric`, and `disable`.
	BreachAction pulumi.StringPtrInput
	// The identifier of the cluster that you want to limit usage.
	ClusterIdentifier pulumi.StringPtrInput
	// The Amazon Redshift feature that you want to limit. Valid values are `spectrum`, `concurrency-scaling`, and `cross-region-datasharing`.
	FeatureType pulumi.StringPtrInput
	// The type of limit. Depending on the feature type, this can be based on a time duration or data size. If FeatureType is `spectrum`, then LimitType must be `data-scanned`. If FeatureType is `concurrency-scaling`, then LimitType must be `time`. If FeatureType is `cross-region-datasharing`, then LimitType must be `data-scanned`. Valid values are `data-scanned`, and `time`.
	LimitType pulumi.StringPtrInput
	// The time period that the amount applies to. A weekly period begins on Sunday. The default is `monthly`. Valid values are `daily`, `weekly`, and `monthly`.
	Period pulumi.StringPtrInput
	// A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapInput
}

func (UsageLimitState) ElementType added in v5.6.0

func (UsageLimitState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

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