redshift

package
v6.32.0 Latest Latest
Warning

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

Go to latest
Published: Apr 19, 2024 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

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

<!--Start PulumiCodeChooser --> ```go package main

import (

"encoding/json"

"github.com/pulumi/pulumi-aws/sdk/v6/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
	})
}

``` <!--End PulumiCodeChooser -->

## Import

Using `pulumi import`, import Redshift Authentication by `authentication_profile_name`. For example:

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

func GetAuthenticationProfile

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

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

func (*AuthenticationProfile) ElementType() reflect.Type

func (*AuthenticationProfile) ToAuthenticationProfileOutput

func (i *AuthenticationProfile) ToAuthenticationProfileOutput() AuthenticationProfileOutput

func (*AuthenticationProfile) ToAuthenticationProfileOutputWithContext

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

type AuthenticationProfileArgs

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

func (AuthenticationProfileArgs) ElementType() reflect.Type

type AuthenticationProfileArray

type AuthenticationProfileArray []AuthenticationProfileInput

func (AuthenticationProfileArray) ElementType

func (AuthenticationProfileArray) ElementType() reflect.Type

func (AuthenticationProfileArray) ToAuthenticationProfileArrayOutput

func (i AuthenticationProfileArray) ToAuthenticationProfileArrayOutput() AuthenticationProfileArrayOutput

func (AuthenticationProfileArray) ToAuthenticationProfileArrayOutputWithContext

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

type AuthenticationProfileArrayInput

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

type AuthenticationProfileArrayOutput struct{ *pulumi.OutputState }

func (AuthenticationProfileArrayOutput) ElementType

func (AuthenticationProfileArrayOutput) Index

func (AuthenticationProfileArrayOutput) ToAuthenticationProfileArrayOutput

func (o AuthenticationProfileArrayOutput) ToAuthenticationProfileArrayOutput() AuthenticationProfileArrayOutput

func (AuthenticationProfileArrayOutput) ToAuthenticationProfileArrayOutputWithContext

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

type AuthenticationProfileInput

type AuthenticationProfileInput interface {
	pulumi.Input

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

type AuthenticationProfileMap

type AuthenticationProfileMap map[string]AuthenticationProfileInput

func (AuthenticationProfileMap) ElementType

func (AuthenticationProfileMap) ElementType() reflect.Type

func (AuthenticationProfileMap) ToAuthenticationProfileMapOutput

func (i AuthenticationProfileMap) ToAuthenticationProfileMapOutput() AuthenticationProfileMapOutput

func (AuthenticationProfileMap) ToAuthenticationProfileMapOutputWithContext

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

type AuthenticationProfileMapInput

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

type AuthenticationProfileMapOutput struct{ *pulumi.OutputState }

func (AuthenticationProfileMapOutput) ElementType

func (AuthenticationProfileMapOutput) MapIndex

func (AuthenticationProfileMapOutput) ToAuthenticationProfileMapOutput

func (o AuthenticationProfileMapOutput) ToAuthenticationProfileMapOutput() AuthenticationProfileMapOutput

func (AuthenticationProfileMapOutput) ToAuthenticationProfileMapOutputWithContext

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

type AuthenticationProfileOutput

type AuthenticationProfileOutput struct{ *pulumi.OutputState }

func (AuthenticationProfileOutput) AuthenticationProfileContent

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

func (o AuthenticationProfileOutput) AuthenticationProfileName() pulumi.StringOutput

The name of the authentication profile.

func (AuthenticationProfileOutput) ElementType

func (AuthenticationProfileOutput) ToAuthenticationProfileOutput

func (o AuthenticationProfileOutput) ToAuthenticationProfileOutput() AuthenticationProfileOutput

func (AuthenticationProfileOutput) ToAuthenticationProfileOutputWithContext

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

type AuthenticationProfileState

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

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.
	// No longer supported by the AWS API.
	// Always returns `auto`.
	//
	// Deprecated: This parameter is no longer supported by the AWS API. It will be removed in the next major version of the provider.
	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 namespace Amazon Resource Name (ARN) of the cluster
	ClusterNamespaceArn pulumi.StringOutput `pulumi:"clusterNamespaceArn"`
	// 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"`
	// 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.
	//
	// Deprecated: Use the redshift.Logging resource instead. This argument will be removed in a future major version.
	Logging ClusterLoggingOutput `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"`
	// Whether to use AWS SecretsManager to manage the cluster admin credentials.
	// Conflicts with `masterPassword`.
	// One of `masterPassword` or `manageMasterPassword` is required unless `snapshotIdentifier` is provided.
	ManageMasterPassword pulumi.BoolPtrOutput `pulumi:"manageMasterPassword"`
	// 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.
	// Conflicts with `manageMasterPassword`.
	// One of `masterPassword` or `manageMasterPassword` is required unless `snapshotIdentifier` is provided.
	// Note that this may show up in logs, and it will be stored in the state file.
	// Password must contain at least 8 characters and contain at least one uppercase letter, one lowercase letter, and one number.
	MasterPassword pulumi.StringPtrOutput `pulumi:"masterPassword"`
	// ARN of the cluster admin credentials secret
	MasterPasswordSecretArn pulumi.StringOutput `pulumi:"masterPasswordSecretArn"`
	// ID of the KMS key used to encrypt the cluster admin credentials secret.
	MasterPasswordSecretKmsKeyId pulumi.StringOutput `pulumi:"masterPasswordSecretKmsKeyId"`
	// Username for the master DB user.
	MasterUsername pulumi.StringPtrOutput `pulumi:"masterUsername"`
	// Specifies if the Redshift cluster is multi-AZ.
	MultiAz pulumi.BoolPtrOutput `pulumi:"multiAz"`
	// 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 ARN of the snapshot from which to create the new cluster. Conflicts with `snapshotIdentifier`.
	SnapshotArn pulumi.StringPtrOutput `pulumi:"snapshotArn"`
	// 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.
	//
	// Deprecated: Use the redshift.SnapshotCopy resource instead. This argument will be removed in a future major version.
	SnapshotCopy ClusterSnapshotCopyOutput `pulumi:"snapshotCopy"`
	// The name of the snapshot from which to create the new cluster.  Conflicts with `snapshotArn`.
	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.
	//
	// Deprecated: Please use `tags` instead.
	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

### Basic Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v6/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"),
			DatabaseName:      pulumi.String("mydb"),
			MasterUsername:    pulumi.String("exampleuser"),
			MasterPassword:    pulumi.String("Mustbe8characters"),
			NodeType:          pulumi.String("dc1.large"),
			ClusterType:       pulumi.String("single-node"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

### With Managed Credentials

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v6/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"),
			DatabaseName:         pulumi.String("mydb"),
			MasterUsername:       pulumi.String("exampleuser"),
			NodeType:             pulumi.String("dc1.large"),
			ClusterType:          pulumi.String("single-node"),
			ManageMasterPassword: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Import

Using `pulumi import`, import Redshift Clusters using the `cluster_identifier`. For example:

```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.
	// No longer supported by the AWS API.
	// Always returns `auto`.
	//
	// Deprecated: This parameter is no longer supported by the AWS API. It will be removed in the next major version of the provider.
	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
	// 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.
	//
	// Deprecated: Use the redshift.Logging resource instead. This argument will be removed in a future major version.
	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
	// Whether to use AWS SecretsManager to manage the cluster admin credentials.
	// Conflicts with `masterPassword`.
	// One of `masterPassword` or `manageMasterPassword` is required unless `snapshotIdentifier` is provided.
	ManageMasterPassword pulumi.BoolPtrInput
	// 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.
	// Conflicts with `manageMasterPassword`.
	// One of `masterPassword` or `manageMasterPassword` is required unless `snapshotIdentifier` is provided.
	// Note that this may show up in logs, and it will be stored in the state file.
	// Password must contain at least 8 characters and contain at least one uppercase letter, one lowercase letter, and one number.
	MasterPassword pulumi.StringPtrInput
	// ID of the KMS key used to encrypt the cluster admin credentials secret.
	MasterPasswordSecretKmsKeyId pulumi.StringPtrInput
	// Username for the master DB user.
	MasterUsername pulumi.StringPtrInput
	// Specifies if the Redshift cluster is multi-AZ.
	MultiAz pulumi.BoolPtrInput
	// 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 ARN of the snapshot from which to create the new cluster. Conflicts with `snapshotIdentifier`.
	SnapshotArn pulumi.StringPtrInput
	// 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.
	//
	// Deprecated: Use the redshift.SnapshotCopy resource instead. This argument will be removed in a future major version.
	SnapshotCopy ClusterSnapshotCopyPtrInput
	// The name of the snapshot from which to create the new cluster.  Conflicts with `snapshotArn`.
	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

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

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v6/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(exampleAwsRedshiftCluster.ClusterIdentifier),
			IamRoleArns: pulumi.StringArray{
				exampleAwsIamRole.Arn,
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Import

Using `pulumi import`, import Redshift Cluster IAM Roless using the `cluster_identifier`. For example:

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

func GetClusterIamRoles

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

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

func (*ClusterIamRoles) ElementType() reflect.Type

func (*ClusterIamRoles) ToClusterIamRolesOutput

func (i *ClusterIamRoles) ToClusterIamRolesOutput() ClusterIamRolesOutput

func (*ClusterIamRoles) ToClusterIamRolesOutputWithContext

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

type ClusterIamRolesArgs

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

func (ClusterIamRolesArgs) ElementType() reflect.Type

type ClusterIamRolesArray

type ClusterIamRolesArray []ClusterIamRolesInput

func (ClusterIamRolesArray) ElementType

func (ClusterIamRolesArray) ElementType() reflect.Type

func (ClusterIamRolesArray) ToClusterIamRolesArrayOutput

func (i ClusterIamRolesArray) ToClusterIamRolesArrayOutput() ClusterIamRolesArrayOutput

func (ClusterIamRolesArray) ToClusterIamRolesArrayOutputWithContext

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

type ClusterIamRolesArrayInput

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

type ClusterIamRolesArrayOutput struct{ *pulumi.OutputState }

func (ClusterIamRolesArrayOutput) ElementType

func (ClusterIamRolesArrayOutput) ElementType() reflect.Type

func (ClusterIamRolesArrayOutput) Index

func (ClusterIamRolesArrayOutput) ToClusterIamRolesArrayOutput

func (o ClusterIamRolesArrayOutput) ToClusterIamRolesArrayOutput() ClusterIamRolesArrayOutput

func (ClusterIamRolesArrayOutput) ToClusterIamRolesArrayOutputWithContext

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

type ClusterIamRolesInput

type ClusterIamRolesInput interface {
	pulumi.Input

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

type ClusterIamRolesMap

type ClusterIamRolesMap map[string]ClusterIamRolesInput

func (ClusterIamRolesMap) ElementType

func (ClusterIamRolesMap) ElementType() reflect.Type

func (ClusterIamRolesMap) ToClusterIamRolesMapOutput

func (i ClusterIamRolesMap) ToClusterIamRolesMapOutput() ClusterIamRolesMapOutput

func (ClusterIamRolesMap) ToClusterIamRolesMapOutputWithContext

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

type ClusterIamRolesMapInput

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

type ClusterIamRolesMapOutput struct{ *pulumi.OutputState }

func (ClusterIamRolesMapOutput) ElementType

func (ClusterIamRolesMapOutput) ElementType() reflect.Type

func (ClusterIamRolesMapOutput) MapIndex

func (ClusterIamRolesMapOutput) ToClusterIamRolesMapOutput

func (o ClusterIamRolesMapOutput) ToClusterIamRolesMapOutput() ClusterIamRolesMapOutput

func (ClusterIamRolesMapOutput) ToClusterIamRolesMapOutputWithContext

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

type ClusterIamRolesOutput

type ClusterIamRolesOutput struct{ *pulumi.OutputState }

func (ClusterIamRolesOutput) ClusterIdentifier

func (o ClusterIamRolesOutput) ClusterIdentifier() pulumi.StringOutput

The name of the Redshift Cluster IAM Roles.

func (ClusterIamRolesOutput) DefaultIamRoleArn

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

func (ClusterIamRolesOutput) ElementType() reflect.Type

func (ClusterIamRolesOutput) IamRoleArns

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

func (o ClusterIamRolesOutput) ToClusterIamRolesOutput() ClusterIamRolesOutput

func (ClusterIamRolesOutput) ToClusterIamRolesOutputWithContext

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

type ClusterIamRolesState

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

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

func (o ClusterLoggingOutput) LogDestinationType() pulumi.StringPtrOutput

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

func (ClusterLoggingOutput) LogExports

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

func (o ClusterLoggingPtrOutput) LogDestinationType() pulumi.StringPtrOutput

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

func (ClusterLoggingPtrOutput) LogExports

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

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

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 deprecated

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. No longer supported by the AWS API. Always returns `auto`.

Deprecated: This parameter is no longer supported by the AWS API. It will be removed in the next major version of the provider.

func (ClusterOutput) Arn

Amazon Resource Name (ARN) of cluster

func (ClusterOutput) AutomatedSnapshotRetentionPeriod

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

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

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

func (o ClusterOutput) ClusterIdentifier() pulumi.StringOutput

The Cluster Identifier. Must be a lower case string.

func (ClusterOutput) ClusterNamespaceArn

func (o ClusterOutput) ClusterNamespaceArn() pulumi.StringOutput

The namespace Amazon Resource Name (ARN) of the cluster

func (ClusterOutput) ClusterNodes

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

func (ClusterOutput) ClusterParameterGroupName

func (o ClusterOutput) ClusterParameterGroupName() pulumi.StringOutput

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

func (ClusterOutput) ClusterPublicKey

func (o ClusterOutput) ClusterPublicKey() pulumi.StringOutput

The public key for the cluster

func (ClusterOutput) ClusterRevisionNumber

func (o ClusterOutput) ClusterRevisionNumber() pulumi.StringOutput

The specific revision number of the database in the cluster

func (ClusterOutput) ClusterSubnetGroupName

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

func (o ClusterOutput) ClusterType() pulumi.StringOutput

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

func (ClusterOutput) ClusterVersion

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

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

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

func (o ClusterOutput) DnsName() pulumi.StringOutput

The DNS name of the cluster

func (ClusterOutput) ElasticIp

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

func (o ClusterOutput) Encrypted() pulumi.BoolPtrOutput

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

func (ClusterOutput) Endpoint

func (o ClusterOutput) Endpoint() pulumi.StringOutput

The connection endpoint

func (ClusterOutput) EnhancedVpcRouting

func (o ClusterOutput) EnhancedVpcRouting() pulumi.BoolOutput

If true , enhanced VPC routing is enabled.

func (ClusterOutput) FinalSnapshotIdentifier

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

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

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 deprecated

func (o ClusterOutput) Logging() ClusterLoggingOutput

Logging, documented below.

Deprecated: Use the redshift.Logging resource instead. This argument will be removed in a future major version.

func (ClusterOutput) MaintenanceTrackName

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) ManageMasterPassword added in v6.8.0

func (o ClusterOutput) ManageMasterPassword() pulumi.BoolPtrOutput

Whether to use AWS SecretsManager to manage the cluster admin credentials. Conflicts with `masterPassword`. One of `masterPassword` or `manageMasterPassword` is required unless `snapshotIdentifier` is provided.

func (ClusterOutput) ManualSnapshotRetentionPeriod

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

func (o ClusterOutput) MasterPassword() pulumi.StringPtrOutput

Password for the master DB user. Conflicts with `manageMasterPassword`. One of `masterPassword` or `manageMasterPassword` is required unless `snapshotIdentifier` is provided. Note that this may show up in logs, and it will be stored in the state file. Password must contain at least 8 characters and contain at least one uppercase letter, one lowercase letter, and one number.

func (ClusterOutput) MasterPasswordSecretArn added in v6.8.0

func (o ClusterOutput) MasterPasswordSecretArn() pulumi.StringOutput

ARN of the cluster admin credentials secret

func (ClusterOutput) MasterPasswordSecretKmsKeyId added in v6.8.0

func (o ClusterOutput) MasterPasswordSecretKmsKeyId() pulumi.StringOutput

ID of the KMS key used to encrypt the cluster admin credentials secret.

func (ClusterOutput) MasterUsername

func (o ClusterOutput) MasterUsername() pulumi.StringPtrOutput

Username for the master DB user.

func (ClusterOutput) MultiAz added in v6.21.0

func (o ClusterOutput) MultiAz() pulumi.BoolPtrOutput

Specifies if the Redshift cluster is multi-AZ.

func (ClusterOutput) NodeType

func (o ClusterOutput) NodeType() pulumi.StringOutput

The node type to be provisioned for the cluster.

func (ClusterOutput) NumberOfNodes

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

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

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

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

func (o ClusterOutput) PubliclyAccessible() pulumi.BoolPtrOutput

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

func (ClusterOutput) SkipFinalSnapshot

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) SnapshotArn added in v6.8.0

func (o ClusterOutput) SnapshotArn() pulumi.StringPtrOutput

The ARN of the snapshot from which to create the new cluster. Conflicts with `snapshotIdentifier`.

func (ClusterOutput) SnapshotClusterIdentifier

func (o ClusterOutput) SnapshotClusterIdentifier() pulumi.StringPtrOutput

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

func (ClusterOutput) SnapshotCopy deprecated

func (o ClusterOutput) SnapshotCopy() ClusterSnapshotCopyOutput

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

Deprecated: Use the redshift.SnapshotCopy resource instead. This argument will be removed in a future major version.

func (ClusterOutput) SnapshotIdentifier

func (o ClusterOutput) SnapshotIdentifier() pulumi.StringPtrOutput

The name of the snapshot from which to create the new cluster. Conflicts with `snapshotArn`.

func (ClusterOutput) Tags

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 deprecated

func (o ClusterOutput) TagsAll() pulumi.StringMapOutput

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

Deprecated: Please use `tags` instead.

func (ClusterOutput) ToClusterOutput

func (o ClusterOutput) ToClusterOutput() ClusterOutput

func (ClusterOutput) ToClusterOutputWithContext

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

func (ClusterOutput) VpcSecurityGroupIds

func (o ClusterOutput) VpcSecurityGroupIds() pulumi.StringArrayOutput

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

type ClusterSnapshot

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.
	//
	// Deprecated: Please use `tags` instead.
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
}

Creates a Redshift cluster snapshot

## Import

Using `pulumi import`, import Redshift Cluster Snapshots using `snapshot_identifier`. For example:

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

func GetClusterSnapshot

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

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

func (*ClusterSnapshot) ElementType() reflect.Type

func (*ClusterSnapshot) ToClusterSnapshotOutput

func (i *ClusterSnapshot) ToClusterSnapshotOutput() ClusterSnapshotOutput

func (*ClusterSnapshot) ToClusterSnapshotOutputWithContext

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

type ClusterSnapshotArgs

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

func (ClusterSnapshotArgs) ElementType() reflect.Type

type ClusterSnapshotArray

type ClusterSnapshotArray []ClusterSnapshotInput

func (ClusterSnapshotArray) ElementType

func (ClusterSnapshotArray) ElementType() reflect.Type

func (ClusterSnapshotArray) ToClusterSnapshotArrayOutput

func (i ClusterSnapshotArray) ToClusterSnapshotArrayOutput() ClusterSnapshotArrayOutput

func (ClusterSnapshotArray) ToClusterSnapshotArrayOutputWithContext

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

type ClusterSnapshotArrayInput

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

type ClusterSnapshotArrayOutput struct{ *pulumi.OutputState }

func (ClusterSnapshotArrayOutput) ElementType

func (ClusterSnapshotArrayOutput) ElementType() reflect.Type

func (ClusterSnapshotArrayOutput) Index

func (ClusterSnapshotArrayOutput) ToClusterSnapshotArrayOutput

func (o ClusterSnapshotArrayOutput) ToClusterSnapshotArrayOutput() ClusterSnapshotArrayOutput

func (ClusterSnapshotArrayOutput) ToClusterSnapshotArrayOutputWithContext

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

type ClusterSnapshotInput interface {
	pulumi.Input

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

type ClusterSnapshotMap

type ClusterSnapshotMap map[string]ClusterSnapshotInput

func (ClusterSnapshotMap) ElementType

func (ClusterSnapshotMap) ElementType() reflect.Type

func (ClusterSnapshotMap) ToClusterSnapshotMapOutput

func (i ClusterSnapshotMap) ToClusterSnapshotMapOutput() ClusterSnapshotMapOutput

func (ClusterSnapshotMap) ToClusterSnapshotMapOutputWithContext

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

type ClusterSnapshotMapInput

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

type ClusterSnapshotMapOutput struct{ *pulumi.OutputState }

func (ClusterSnapshotMapOutput) ElementType

func (ClusterSnapshotMapOutput) ElementType() reflect.Type

func (ClusterSnapshotMapOutput) MapIndex

func (ClusterSnapshotMapOutput) ToClusterSnapshotMapOutput

func (o ClusterSnapshotMapOutput) ToClusterSnapshotMapOutput() ClusterSnapshotMapOutput

func (ClusterSnapshotMapOutput) ToClusterSnapshotMapOutputWithContext

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

type ClusterSnapshotOutput

type ClusterSnapshotOutput struct{ *pulumi.OutputState }

func (ClusterSnapshotOutput) Arn

Amazon Resource Name (ARN) of the snapshot.

func (ClusterSnapshotOutput) ClusterIdentifier

func (o ClusterSnapshotOutput) ClusterIdentifier() pulumi.StringOutput

The cluster identifier for which you want a snapshot.

func (ClusterSnapshotOutput) ElementType

func (ClusterSnapshotOutput) ElementType() reflect.Type

func (ClusterSnapshotOutput) KmsKeyId

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

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

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

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

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 deprecated

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

Deprecated: Please use `tags` instead.

func (ClusterSnapshotOutput) ToClusterSnapshotOutput

func (o ClusterSnapshotOutput) ToClusterSnapshotOutput() ClusterSnapshotOutput

func (ClusterSnapshotOutput) ToClusterSnapshotOutputWithContext

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

type ClusterSnapshotState

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.
	//
	// Deprecated: Please use `tags` instead.
	TagsAll pulumi.StringMapInput
}

func (ClusterSnapshotState) ElementType

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.
	// No longer supported by the AWS API.
	// Always returns `auto`.
	//
	// Deprecated: This parameter is no longer supported by the AWS API. It will be removed in the next major version of the provider.
	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 namespace Amazon Resource Name (ARN) of the cluster
	ClusterNamespaceArn 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
	// 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.
	//
	// Deprecated: Use the redshift.Logging resource instead. This argument will be removed in a future major version.
	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
	// Whether to use AWS SecretsManager to manage the cluster admin credentials.
	// Conflicts with `masterPassword`.
	// One of `masterPassword` or `manageMasterPassword` is required unless `snapshotIdentifier` is provided.
	ManageMasterPassword pulumi.BoolPtrInput
	// 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.
	// Conflicts with `manageMasterPassword`.
	// One of `masterPassword` or `manageMasterPassword` is required unless `snapshotIdentifier` is provided.
	// Note that this may show up in logs, and it will be stored in the state file.
	// Password must contain at least 8 characters and contain at least one uppercase letter, one lowercase letter, and one number.
	MasterPassword pulumi.StringPtrInput
	// ARN of the cluster admin credentials secret
	MasterPasswordSecretArn pulumi.StringPtrInput
	// ID of the KMS key used to encrypt the cluster admin credentials secret.
	MasterPasswordSecretKmsKeyId pulumi.StringPtrInput
	// Username for the master DB user.
	MasterUsername pulumi.StringPtrInput
	// Specifies if the Redshift cluster is multi-AZ.
	MultiAz pulumi.BoolPtrInput
	// 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 ARN of the snapshot from which to create the new cluster. Conflicts with `snapshotIdentifier`.
	SnapshotArn pulumi.StringPtrInput
	// 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.
	//
	// Deprecated: Use the redshift.SnapshotCopy resource instead. This argument will be removed in a future major version.
	SnapshotCopy ClusterSnapshotCopyPtrInput
	// The name of the snapshot from which to create the new cluster.  Conflicts with `snapshotArn`.
	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.
	//
	// Deprecated: Please use `tags` instead.
	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 DataShareAuthorization added in v6.22.0

type DataShareAuthorization struct {
	pulumi.CustomResourceState

	// Whether to allow write operations for a datashare.
	AllowWrites pulumi.BoolPtrOutput `pulumi:"allowWrites"`
	// Identifier of the data consumer that is authorized to access the datashare. This identifier is an AWS account ID or a keyword, such as `ADX`.
	ConsumerIdentifier pulumi.StringOutput `pulumi:"consumerIdentifier"`
	// Amazon Resource Name (ARN) of the datashare that producers are to authorize sharing for.
	//
	// The following arguments are optional:
	DataShareArn pulumi.StringOutput `pulumi:"dataShareArn"`
	// Identifier of a datashare to show its managing entity.
	ManagedBy pulumi.StringOutput `pulumi:"managedBy"`
	// Amazon Resource Name (ARN) of the producer.
	ProducerArn pulumi.StringOutput `pulumi:"producerArn"`
}

Resource for managing an AWS Redshift Data Share Authorization.

## Example Usage

### Basic Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := redshift.NewDataShareAuthorization(ctx, "example", &redshift.DataShareAuthorizationArgs{
			ConsumerIdentifier: pulumi.String("012345678901"),
			DataShareArn:       pulumi.String("arn:aws:redshift:us-west-2:012345678901:datashare:3072dae5-022b-4d45-9cd3-01f010aae4b2/example_share"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Import

Using `pulumi import`, import Redshift Data Share Authorization using the `id`. For example:

```sh $ pulumi import aws:redshift/dataShareAuthorization:DataShareAuthorization example arn:aws:redshift:us-west-2:012345678901:datashare:3072dae5-022b-4d45-9cd3-01f010aae4b2/example_share,012345678901 ```

func GetDataShareAuthorization added in v6.22.0

func GetDataShareAuthorization(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *DataShareAuthorizationState, opts ...pulumi.ResourceOption) (*DataShareAuthorization, error)

GetDataShareAuthorization gets an existing DataShareAuthorization 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 NewDataShareAuthorization added in v6.22.0

func NewDataShareAuthorization(ctx *pulumi.Context,
	name string, args *DataShareAuthorizationArgs, opts ...pulumi.ResourceOption) (*DataShareAuthorization, error)

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

func (*DataShareAuthorization) ElementType added in v6.22.0

func (*DataShareAuthorization) ElementType() reflect.Type

func (*DataShareAuthorization) ToDataShareAuthorizationOutput added in v6.22.0

func (i *DataShareAuthorization) ToDataShareAuthorizationOutput() DataShareAuthorizationOutput

func (*DataShareAuthorization) ToDataShareAuthorizationOutputWithContext added in v6.22.0

func (i *DataShareAuthorization) ToDataShareAuthorizationOutputWithContext(ctx context.Context) DataShareAuthorizationOutput

type DataShareAuthorizationArgs added in v6.22.0

type DataShareAuthorizationArgs struct {
	// Whether to allow write operations for a datashare.
	AllowWrites pulumi.BoolPtrInput
	// Identifier of the data consumer that is authorized to access the datashare. This identifier is an AWS account ID or a keyword, such as `ADX`.
	ConsumerIdentifier pulumi.StringInput
	// Amazon Resource Name (ARN) of the datashare that producers are to authorize sharing for.
	//
	// The following arguments are optional:
	DataShareArn pulumi.StringInput
}

The set of arguments for constructing a DataShareAuthorization resource.

func (DataShareAuthorizationArgs) ElementType added in v6.22.0

func (DataShareAuthorizationArgs) ElementType() reflect.Type

type DataShareAuthorizationArray added in v6.22.0

type DataShareAuthorizationArray []DataShareAuthorizationInput

func (DataShareAuthorizationArray) ElementType added in v6.22.0

func (DataShareAuthorizationArray) ToDataShareAuthorizationArrayOutput added in v6.22.0

func (i DataShareAuthorizationArray) ToDataShareAuthorizationArrayOutput() DataShareAuthorizationArrayOutput

func (DataShareAuthorizationArray) ToDataShareAuthorizationArrayOutputWithContext added in v6.22.0

func (i DataShareAuthorizationArray) ToDataShareAuthorizationArrayOutputWithContext(ctx context.Context) DataShareAuthorizationArrayOutput

type DataShareAuthorizationArrayInput added in v6.22.0

type DataShareAuthorizationArrayInput interface {
	pulumi.Input

	ToDataShareAuthorizationArrayOutput() DataShareAuthorizationArrayOutput
	ToDataShareAuthorizationArrayOutputWithContext(context.Context) DataShareAuthorizationArrayOutput
}

DataShareAuthorizationArrayInput is an input type that accepts DataShareAuthorizationArray and DataShareAuthorizationArrayOutput values. You can construct a concrete instance of `DataShareAuthorizationArrayInput` via:

DataShareAuthorizationArray{ DataShareAuthorizationArgs{...} }

type DataShareAuthorizationArrayOutput added in v6.22.0

type DataShareAuthorizationArrayOutput struct{ *pulumi.OutputState }

func (DataShareAuthorizationArrayOutput) ElementType added in v6.22.0

func (DataShareAuthorizationArrayOutput) Index added in v6.22.0

func (DataShareAuthorizationArrayOutput) ToDataShareAuthorizationArrayOutput added in v6.22.0

func (o DataShareAuthorizationArrayOutput) ToDataShareAuthorizationArrayOutput() DataShareAuthorizationArrayOutput

func (DataShareAuthorizationArrayOutput) ToDataShareAuthorizationArrayOutputWithContext added in v6.22.0

func (o DataShareAuthorizationArrayOutput) ToDataShareAuthorizationArrayOutputWithContext(ctx context.Context) DataShareAuthorizationArrayOutput

type DataShareAuthorizationInput added in v6.22.0

type DataShareAuthorizationInput interface {
	pulumi.Input

	ToDataShareAuthorizationOutput() DataShareAuthorizationOutput
	ToDataShareAuthorizationOutputWithContext(ctx context.Context) DataShareAuthorizationOutput
}

type DataShareAuthorizationMap added in v6.22.0

type DataShareAuthorizationMap map[string]DataShareAuthorizationInput

func (DataShareAuthorizationMap) ElementType added in v6.22.0

func (DataShareAuthorizationMap) ElementType() reflect.Type

func (DataShareAuthorizationMap) ToDataShareAuthorizationMapOutput added in v6.22.0

func (i DataShareAuthorizationMap) ToDataShareAuthorizationMapOutput() DataShareAuthorizationMapOutput

func (DataShareAuthorizationMap) ToDataShareAuthorizationMapOutputWithContext added in v6.22.0

func (i DataShareAuthorizationMap) ToDataShareAuthorizationMapOutputWithContext(ctx context.Context) DataShareAuthorizationMapOutput

type DataShareAuthorizationMapInput added in v6.22.0

type DataShareAuthorizationMapInput interface {
	pulumi.Input

	ToDataShareAuthorizationMapOutput() DataShareAuthorizationMapOutput
	ToDataShareAuthorizationMapOutputWithContext(context.Context) DataShareAuthorizationMapOutput
}

DataShareAuthorizationMapInput is an input type that accepts DataShareAuthorizationMap and DataShareAuthorizationMapOutput values. You can construct a concrete instance of `DataShareAuthorizationMapInput` via:

DataShareAuthorizationMap{ "key": DataShareAuthorizationArgs{...} }

type DataShareAuthorizationMapOutput added in v6.22.0

type DataShareAuthorizationMapOutput struct{ *pulumi.OutputState }

func (DataShareAuthorizationMapOutput) ElementType added in v6.22.0

func (DataShareAuthorizationMapOutput) MapIndex added in v6.22.0

func (DataShareAuthorizationMapOutput) ToDataShareAuthorizationMapOutput added in v6.22.0

func (o DataShareAuthorizationMapOutput) ToDataShareAuthorizationMapOutput() DataShareAuthorizationMapOutput

func (DataShareAuthorizationMapOutput) ToDataShareAuthorizationMapOutputWithContext added in v6.22.0

func (o DataShareAuthorizationMapOutput) ToDataShareAuthorizationMapOutputWithContext(ctx context.Context) DataShareAuthorizationMapOutput

type DataShareAuthorizationOutput added in v6.22.0

type DataShareAuthorizationOutput struct{ *pulumi.OutputState }

func (DataShareAuthorizationOutput) AllowWrites added in v6.22.0

Whether to allow write operations for a datashare.

func (DataShareAuthorizationOutput) ConsumerIdentifier added in v6.22.0

func (o DataShareAuthorizationOutput) ConsumerIdentifier() pulumi.StringOutput

Identifier of the data consumer that is authorized to access the datashare. This identifier is an AWS account ID or a keyword, such as `ADX`.

func (DataShareAuthorizationOutput) DataShareArn added in v6.22.0

Amazon Resource Name (ARN) of the datashare that producers are to authorize sharing for.

The following arguments are optional:

func (DataShareAuthorizationOutput) ElementType added in v6.22.0

func (DataShareAuthorizationOutput) ManagedBy added in v6.22.0

Identifier of a datashare to show its managing entity.

func (DataShareAuthorizationOutput) ProducerArn added in v6.22.0

Amazon Resource Name (ARN) of the producer.

func (DataShareAuthorizationOutput) ToDataShareAuthorizationOutput added in v6.22.0

func (o DataShareAuthorizationOutput) ToDataShareAuthorizationOutput() DataShareAuthorizationOutput

func (DataShareAuthorizationOutput) ToDataShareAuthorizationOutputWithContext added in v6.22.0

func (o DataShareAuthorizationOutput) ToDataShareAuthorizationOutputWithContext(ctx context.Context) DataShareAuthorizationOutput

type DataShareAuthorizationState added in v6.22.0

type DataShareAuthorizationState struct {
	// Whether to allow write operations for a datashare.
	AllowWrites pulumi.BoolPtrInput
	// Identifier of the data consumer that is authorized to access the datashare. This identifier is an AWS account ID or a keyword, such as `ADX`.
	ConsumerIdentifier pulumi.StringPtrInput
	// Amazon Resource Name (ARN) of the datashare that producers are to authorize sharing for.
	//
	// The following arguments are optional:
	DataShareArn pulumi.StringPtrInput
	// Identifier of a datashare to show its managing entity.
	ManagedBy pulumi.StringPtrInput
	// Amazon Resource Name (ARN) of the producer.
	ProducerArn pulumi.StringPtrInput
}

func (DataShareAuthorizationState) ElementType added in v6.22.0

type DataShareConsumerAssociation added in v6.23.0

type DataShareConsumerAssociation struct {
	pulumi.CustomResourceState

	// Whether to allow write operations for a datashare.
	AllowWrites pulumi.BoolPtrOutput `pulumi:"allowWrites"`
	// Whether the datashare is associated with the entire account. Conflicts with `consumerArn` and `consumerRegion`.
	AssociateEntireAccount pulumi.BoolPtrOutput `pulumi:"associateEntireAccount"`
	// Amazon Resource Name (ARN) of the consumer that is associated with the datashare. Conflicts with `associateEntireAccount` and `consumerRegion`.
	ConsumerArn pulumi.StringPtrOutput `pulumi:"consumerArn"`
	// From a datashare consumer account, associates a datashare with all existing and future namespaces in the specified AWS Region. Conflicts with `associateEntireAccount` and `consumerArn`.
	ConsumerRegion pulumi.StringPtrOutput `pulumi:"consumerRegion"`
	// Amazon Resource Name (ARN) of the datashare that the consumer is to use with the account or the namespace.
	//
	// The following arguments are optional:
	DataShareArn pulumi.StringOutput `pulumi:"dataShareArn"`
	// Identifier of a datashare to show its managing entity.
	ManagedBy pulumi.StringOutput `pulumi:"managedBy"`
	// Amazon Resource Name (ARN) of the producer.
	ProducerArn pulumi.StringOutput `pulumi:"producerArn"`
}

Resource for managing an AWS Redshift Data Share Consumer Association.

## Example Usage

### Basic Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := redshift.NewDataShareConsumerAssociation(ctx, "example", &redshift.DataShareConsumerAssociationArgs{
			DataShareArn:           pulumi.String("arn:aws:redshift:us-west-2:012345678901:datashare:b3bfde75-73fd-408b-9086-d6fccfd6d588/example"),
			AssociateEntireAccount: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

### Consumer Region

<!--Start PulumiCodeChooser --> ```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := redshift.NewDataShareConsumerAssociation(ctx, "example", &redshift.DataShareConsumerAssociationArgs{
			DataShareArn:   pulumi.String("arn:aws:redshift:us-west-2:012345678901:datashare:b3bfde75-73fd-408b-9086-d6fccfd6d588/example"),
			ConsumerRegion: pulumi.String("us-west-2"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Import

Using `pulumi import`, import Redshift Data Share Consumer Association using the `id`. For example:

```sh $ pulumi import aws:redshift/dataShareConsumerAssociation:DataShareConsumerAssociation example arn:aws:redshift:us-west-2:012345678901:datashare:b3bfde75-73fd-408b-9086-d6fccfd6d588/example,,,us-west-2 ```

func GetDataShareConsumerAssociation added in v6.23.0

func GetDataShareConsumerAssociation(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *DataShareConsumerAssociationState, opts ...pulumi.ResourceOption) (*DataShareConsumerAssociation, error)

GetDataShareConsumerAssociation gets an existing DataShareConsumerAssociation 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 NewDataShareConsumerAssociation added in v6.23.0

func NewDataShareConsumerAssociation(ctx *pulumi.Context,
	name string, args *DataShareConsumerAssociationArgs, opts ...pulumi.ResourceOption) (*DataShareConsumerAssociation, error)

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

func (*DataShareConsumerAssociation) ElementType added in v6.23.0

func (*DataShareConsumerAssociation) ElementType() reflect.Type

func (*DataShareConsumerAssociation) ToDataShareConsumerAssociationOutput added in v6.23.0

func (i *DataShareConsumerAssociation) ToDataShareConsumerAssociationOutput() DataShareConsumerAssociationOutput

func (*DataShareConsumerAssociation) ToDataShareConsumerAssociationOutputWithContext added in v6.23.0

func (i *DataShareConsumerAssociation) ToDataShareConsumerAssociationOutputWithContext(ctx context.Context) DataShareConsumerAssociationOutput

type DataShareConsumerAssociationArgs added in v6.23.0

type DataShareConsumerAssociationArgs struct {
	// Whether to allow write operations for a datashare.
	AllowWrites pulumi.BoolPtrInput
	// Whether the datashare is associated with the entire account. Conflicts with `consumerArn` and `consumerRegion`.
	AssociateEntireAccount pulumi.BoolPtrInput
	// Amazon Resource Name (ARN) of the consumer that is associated with the datashare. Conflicts with `associateEntireAccount` and `consumerRegion`.
	ConsumerArn pulumi.StringPtrInput
	// From a datashare consumer account, associates a datashare with all existing and future namespaces in the specified AWS Region. Conflicts with `associateEntireAccount` and `consumerArn`.
	ConsumerRegion pulumi.StringPtrInput
	// Amazon Resource Name (ARN) of the datashare that the consumer is to use with the account or the namespace.
	//
	// The following arguments are optional:
	DataShareArn pulumi.StringInput
}

The set of arguments for constructing a DataShareConsumerAssociation resource.

func (DataShareConsumerAssociationArgs) ElementType added in v6.23.0

type DataShareConsumerAssociationArray added in v6.23.0

type DataShareConsumerAssociationArray []DataShareConsumerAssociationInput

func (DataShareConsumerAssociationArray) ElementType added in v6.23.0

func (DataShareConsumerAssociationArray) ToDataShareConsumerAssociationArrayOutput added in v6.23.0

func (i DataShareConsumerAssociationArray) ToDataShareConsumerAssociationArrayOutput() DataShareConsumerAssociationArrayOutput

func (DataShareConsumerAssociationArray) ToDataShareConsumerAssociationArrayOutputWithContext added in v6.23.0

func (i DataShareConsumerAssociationArray) ToDataShareConsumerAssociationArrayOutputWithContext(ctx context.Context) DataShareConsumerAssociationArrayOutput

type DataShareConsumerAssociationArrayInput added in v6.23.0

type DataShareConsumerAssociationArrayInput interface {
	pulumi.Input

	ToDataShareConsumerAssociationArrayOutput() DataShareConsumerAssociationArrayOutput
	ToDataShareConsumerAssociationArrayOutputWithContext(context.Context) DataShareConsumerAssociationArrayOutput
}

DataShareConsumerAssociationArrayInput is an input type that accepts DataShareConsumerAssociationArray and DataShareConsumerAssociationArrayOutput values. You can construct a concrete instance of `DataShareConsumerAssociationArrayInput` via:

DataShareConsumerAssociationArray{ DataShareConsumerAssociationArgs{...} }

type DataShareConsumerAssociationArrayOutput added in v6.23.0

type DataShareConsumerAssociationArrayOutput struct{ *pulumi.OutputState }

func (DataShareConsumerAssociationArrayOutput) ElementType added in v6.23.0

func (DataShareConsumerAssociationArrayOutput) Index added in v6.23.0

func (DataShareConsumerAssociationArrayOutput) ToDataShareConsumerAssociationArrayOutput added in v6.23.0

func (o DataShareConsumerAssociationArrayOutput) ToDataShareConsumerAssociationArrayOutput() DataShareConsumerAssociationArrayOutput

func (DataShareConsumerAssociationArrayOutput) ToDataShareConsumerAssociationArrayOutputWithContext added in v6.23.0

func (o DataShareConsumerAssociationArrayOutput) ToDataShareConsumerAssociationArrayOutputWithContext(ctx context.Context) DataShareConsumerAssociationArrayOutput

type DataShareConsumerAssociationInput added in v6.23.0

type DataShareConsumerAssociationInput interface {
	pulumi.Input

	ToDataShareConsumerAssociationOutput() DataShareConsumerAssociationOutput
	ToDataShareConsumerAssociationOutputWithContext(ctx context.Context) DataShareConsumerAssociationOutput
}

type DataShareConsumerAssociationMap added in v6.23.0

type DataShareConsumerAssociationMap map[string]DataShareConsumerAssociationInput

func (DataShareConsumerAssociationMap) ElementType added in v6.23.0

func (DataShareConsumerAssociationMap) ToDataShareConsumerAssociationMapOutput added in v6.23.0

func (i DataShareConsumerAssociationMap) ToDataShareConsumerAssociationMapOutput() DataShareConsumerAssociationMapOutput

func (DataShareConsumerAssociationMap) ToDataShareConsumerAssociationMapOutputWithContext added in v6.23.0

func (i DataShareConsumerAssociationMap) ToDataShareConsumerAssociationMapOutputWithContext(ctx context.Context) DataShareConsumerAssociationMapOutput

type DataShareConsumerAssociationMapInput added in v6.23.0

type DataShareConsumerAssociationMapInput interface {
	pulumi.Input

	ToDataShareConsumerAssociationMapOutput() DataShareConsumerAssociationMapOutput
	ToDataShareConsumerAssociationMapOutputWithContext(context.Context) DataShareConsumerAssociationMapOutput
}

DataShareConsumerAssociationMapInput is an input type that accepts DataShareConsumerAssociationMap and DataShareConsumerAssociationMapOutput values. You can construct a concrete instance of `DataShareConsumerAssociationMapInput` via:

DataShareConsumerAssociationMap{ "key": DataShareConsumerAssociationArgs{...} }

type DataShareConsumerAssociationMapOutput added in v6.23.0

type DataShareConsumerAssociationMapOutput struct{ *pulumi.OutputState }

func (DataShareConsumerAssociationMapOutput) ElementType added in v6.23.0

func (DataShareConsumerAssociationMapOutput) MapIndex added in v6.23.0

func (DataShareConsumerAssociationMapOutput) ToDataShareConsumerAssociationMapOutput added in v6.23.0

func (o DataShareConsumerAssociationMapOutput) ToDataShareConsumerAssociationMapOutput() DataShareConsumerAssociationMapOutput

func (DataShareConsumerAssociationMapOutput) ToDataShareConsumerAssociationMapOutputWithContext added in v6.23.0

func (o DataShareConsumerAssociationMapOutput) ToDataShareConsumerAssociationMapOutputWithContext(ctx context.Context) DataShareConsumerAssociationMapOutput

type DataShareConsumerAssociationOutput added in v6.23.0

type DataShareConsumerAssociationOutput struct{ *pulumi.OutputState }

func (DataShareConsumerAssociationOutput) AllowWrites added in v6.23.0

Whether to allow write operations for a datashare.

func (DataShareConsumerAssociationOutput) AssociateEntireAccount added in v6.23.0

func (o DataShareConsumerAssociationOutput) AssociateEntireAccount() pulumi.BoolPtrOutput

Whether the datashare is associated with the entire account. Conflicts with `consumerArn` and `consumerRegion`.

func (DataShareConsumerAssociationOutput) ConsumerArn added in v6.23.0

Amazon Resource Name (ARN) of the consumer that is associated with the datashare. Conflicts with `associateEntireAccount` and `consumerRegion`.

func (DataShareConsumerAssociationOutput) ConsumerRegion added in v6.23.0

From a datashare consumer account, associates a datashare with all existing and future namespaces in the specified AWS Region. Conflicts with `associateEntireAccount` and `consumerArn`.

func (DataShareConsumerAssociationOutput) DataShareArn added in v6.23.0

Amazon Resource Name (ARN) of the datashare that the consumer is to use with the account or the namespace.

The following arguments are optional:

func (DataShareConsumerAssociationOutput) ElementType added in v6.23.0

func (DataShareConsumerAssociationOutput) ManagedBy added in v6.23.0

Identifier of a datashare to show its managing entity.

func (DataShareConsumerAssociationOutput) ProducerArn added in v6.23.0

Amazon Resource Name (ARN) of the producer.

func (DataShareConsumerAssociationOutput) ToDataShareConsumerAssociationOutput added in v6.23.0

func (o DataShareConsumerAssociationOutput) ToDataShareConsumerAssociationOutput() DataShareConsumerAssociationOutput

func (DataShareConsumerAssociationOutput) ToDataShareConsumerAssociationOutputWithContext added in v6.23.0

func (o DataShareConsumerAssociationOutput) ToDataShareConsumerAssociationOutputWithContext(ctx context.Context) DataShareConsumerAssociationOutput

type DataShareConsumerAssociationState added in v6.23.0

type DataShareConsumerAssociationState struct {
	// Whether to allow write operations for a datashare.
	AllowWrites pulumi.BoolPtrInput
	// Whether the datashare is associated with the entire account. Conflicts with `consumerArn` and `consumerRegion`.
	AssociateEntireAccount pulumi.BoolPtrInput
	// Amazon Resource Name (ARN) of the consumer that is associated with the datashare. Conflicts with `associateEntireAccount` and `consumerRegion`.
	ConsumerArn pulumi.StringPtrInput
	// From a datashare consumer account, associates a datashare with all existing and future namespaces in the specified AWS Region. Conflicts with `associateEntireAccount` and `consumerArn`.
	ConsumerRegion pulumi.StringPtrInput
	// Amazon Resource Name (ARN) of the datashare that the consumer is to use with the account or the namespace.
	//
	// The following arguments are optional:
	DataShareArn pulumi.StringPtrInput
	// Identifier of a datashare to show its managing entity.
	ManagedBy pulumi.StringPtrInput
	// Amazon Resource Name (ARN) of the producer.
	ProducerArn pulumi.StringPtrInput
}

func (DataShareConsumerAssociationState) ElementType added in v6.23.0

type EndpointAccess

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

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v6/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(exampleAwsRedshiftSubnetGroup.Id),
			ClusterIdentifier: pulumi.Any(exampleAwsRedshiftCluster.ClusterIdentifier),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Import

Using `pulumi import`, import Redshift endpoint access using the `name`. For example:

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

func GetEndpointAccess

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

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

func (*EndpointAccess) ElementType() reflect.Type

func (*EndpointAccess) ToEndpointAccessOutput

func (i *EndpointAccess) ToEndpointAccessOutput() EndpointAccessOutput

func (*EndpointAccess) ToEndpointAccessOutputWithContext

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

type EndpointAccessArgs

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

func (EndpointAccessArgs) ElementType() reflect.Type

type EndpointAccessArray

type EndpointAccessArray []EndpointAccessInput

func (EndpointAccessArray) ElementType

func (EndpointAccessArray) ElementType() reflect.Type

func (EndpointAccessArray) ToEndpointAccessArrayOutput

func (i EndpointAccessArray) ToEndpointAccessArrayOutput() EndpointAccessArrayOutput

func (EndpointAccessArray) ToEndpointAccessArrayOutputWithContext

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

type EndpointAccessArrayInput

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

type EndpointAccessArrayOutput struct{ *pulumi.OutputState }

func (EndpointAccessArrayOutput) ElementType

func (EndpointAccessArrayOutput) ElementType() reflect.Type

func (EndpointAccessArrayOutput) Index

func (EndpointAccessArrayOutput) ToEndpointAccessArrayOutput

func (o EndpointAccessArrayOutput) ToEndpointAccessArrayOutput() EndpointAccessArrayOutput

func (EndpointAccessArrayOutput) ToEndpointAccessArrayOutputWithContext

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

type EndpointAccessInput

type EndpointAccessInput interface {
	pulumi.Input

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

type EndpointAccessMap

type EndpointAccessMap map[string]EndpointAccessInput

func (EndpointAccessMap) ElementType

func (EndpointAccessMap) ElementType() reflect.Type

func (EndpointAccessMap) ToEndpointAccessMapOutput

func (i EndpointAccessMap) ToEndpointAccessMapOutput() EndpointAccessMapOutput

func (EndpointAccessMap) ToEndpointAccessMapOutputWithContext

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

type EndpointAccessMapInput

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

type EndpointAccessMapOutput struct{ *pulumi.OutputState }

func (EndpointAccessMapOutput) ElementType

func (EndpointAccessMapOutput) ElementType() reflect.Type

func (EndpointAccessMapOutput) MapIndex

func (EndpointAccessMapOutput) ToEndpointAccessMapOutput

func (o EndpointAccessMapOutput) ToEndpointAccessMapOutput() EndpointAccessMapOutput

func (EndpointAccessMapOutput) ToEndpointAccessMapOutputWithContext

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

type EndpointAccessOutput

type EndpointAccessOutput struct{ *pulumi.OutputState }

func (EndpointAccessOutput) Address

The DNS address of the endpoint.

func (EndpointAccessOutput) ClusterIdentifier

func (o EndpointAccessOutput) ClusterIdentifier() pulumi.StringOutput

The cluster identifier of the cluster to access.

func (EndpointAccessOutput) ElementType

func (EndpointAccessOutput) ElementType() reflect.Type

func (EndpointAccessOutput) EndpointName

func (o EndpointAccessOutput) EndpointName() pulumi.StringOutput

The Redshift-managed VPC endpoint name.

func (EndpointAccessOutput) Port

The port number on which the cluster accepts incoming connections.

func (EndpointAccessOutput) ResourceOwner

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

func (o EndpointAccessOutput) SubnetGroupName() pulumi.StringOutput

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

func (EndpointAccessOutput) ToEndpointAccessOutput

func (o EndpointAccessOutput) ToEndpointAccessOutput() EndpointAccessOutput

func (EndpointAccessOutput) ToEndpointAccessOutputWithContext

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

func (EndpointAccessOutput) VpcEndpoints

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

func (EndpointAccessOutput) VpcSecurityGroupIds

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

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

func (EndpointAccessState) ElementType() reflect.Type

type EndpointAccessVpcEndpoint

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

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

func (EndpointAccessVpcEndpointArgs) ToEndpointAccessVpcEndpointOutput

func (i EndpointAccessVpcEndpointArgs) ToEndpointAccessVpcEndpointOutput() EndpointAccessVpcEndpointOutput

func (EndpointAccessVpcEndpointArgs) ToEndpointAccessVpcEndpointOutputWithContext

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

type EndpointAccessVpcEndpointArray

type EndpointAccessVpcEndpointArray []EndpointAccessVpcEndpointInput

func (EndpointAccessVpcEndpointArray) ElementType

func (EndpointAccessVpcEndpointArray) ToEndpointAccessVpcEndpointArrayOutput

func (i EndpointAccessVpcEndpointArray) ToEndpointAccessVpcEndpointArrayOutput() EndpointAccessVpcEndpointArrayOutput

func (EndpointAccessVpcEndpointArray) ToEndpointAccessVpcEndpointArrayOutputWithContext

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

type EndpointAccessVpcEndpointArrayInput

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

type EndpointAccessVpcEndpointArrayOutput struct{ *pulumi.OutputState }

func (EndpointAccessVpcEndpointArrayOutput) ElementType

func (EndpointAccessVpcEndpointArrayOutput) Index

func (EndpointAccessVpcEndpointArrayOutput) ToEndpointAccessVpcEndpointArrayOutput

func (o EndpointAccessVpcEndpointArrayOutput) ToEndpointAccessVpcEndpointArrayOutput() EndpointAccessVpcEndpointArrayOutput

func (EndpointAccessVpcEndpointArrayOutput) ToEndpointAccessVpcEndpointArrayOutputWithContext

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

type EndpointAccessVpcEndpointInput

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

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

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

func (EndpointAccessVpcEndpointNetworkInterfaceArgs) ToEndpointAccessVpcEndpointNetworkInterfaceOutput

func (i EndpointAccessVpcEndpointNetworkInterfaceArgs) ToEndpointAccessVpcEndpointNetworkInterfaceOutput() EndpointAccessVpcEndpointNetworkInterfaceOutput

func (EndpointAccessVpcEndpointNetworkInterfaceArgs) ToEndpointAccessVpcEndpointNetworkInterfaceOutputWithContext

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

type EndpointAccessVpcEndpointNetworkInterfaceArray

type EndpointAccessVpcEndpointNetworkInterfaceArray []EndpointAccessVpcEndpointNetworkInterfaceInput

func (EndpointAccessVpcEndpointNetworkInterfaceArray) ElementType

func (EndpointAccessVpcEndpointNetworkInterfaceArray) ToEndpointAccessVpcEndpointNetworkInterfaceArrayOutput

func (i EndpointAccessVpcEndpointNetworkInterfaceArray) ToEndpointAccessVpcEndpointNetworkInterfaceArrayOutput() EndpointAccessVpcEndpointNetworkInterfaceArrayOutput

func (EndpointAccessVpcEndpointNetworkInterfaceArray) ToEndpointAccessVpcEndpointNetworkInterfaceArrayOutputWithContext

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

type EndpointAccessVpcEndpointNetworkInterfaceArrayInput

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

type EndpointAccessVpcEndpointNetworkInterfaceArrayOutput struct{ *pulumi.OutputState }

func (EndpointAccessVpcEndpointNetworkInterfaceArrayOutput) ElementType

func (EndpointAccessVpcEndpointNetworkInterfaceArrayOutput) Index

func (EndpointAccessVpcEndpointNetworkInterfaceArrayOutput) ToEndpointAccessVpcEndpointNetworkInterfaceArrayOutput

func (EndpointAccessVpcEndpointNetworkInterfaceArrayOutput) ToEndpointAccessVpcEndpointNetworkInterfaceArrayOutputWithContext

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

type EndpointAccessVpcEndpointNetworkInterfaceInput

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

type EndpointAccessVpcEndpointNetworkInterfaceOutput struct{ *pulumi.OutputState }

func (EndpointAccessVpcEndpointNetworkInterfaceOutput) AvailabilityZone

The Availability Zone.

func (EndpointAccessVpcEndpointNetworkInterfaceOutput) ElementType

func (EndpointAccessVpcEndpointNetworkInterfaceOutput) NetworkInterfaceId

The network interface identifier.

func (EndpointAccessVpcEndpointNetworkInterfaceOutput) PrivateIpAddress

The IPv4 address of the network interface within the subnet.

func (EndpointAccessVpcEndpointNetworkInterfaceOutput) SubnetId

The subnet identifier.

func (EndpointAccessVpcEndpointNetworkInterfaceOutput) ToEndpointAccessVpcEndpointNetworkInterfaceOutput

func (o EndpointAccessVpcEndpointNetworkInterfaceOutput) ToEndpointAccessVpcEndpointNetworkInterfaceOutput() EndpointAccessVpcEndpointNetworkInterfaceOutput

func (EndpointAccessVpcEndpointNetworkInterfaceOutput) ToEndpointAccessVpcEndpointNetworkInterfaceOutputWithContext

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

type EndpointAccessVpcEndpointOutput

type EndpointAccessVpcEndpointOutput struct{ *pulumi.OutputState }

func (EndpointAccessVpcEndpointOutput) ElementType

func (EndpointAccessVpcEndpointOutput) NetworkInterfaces

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

func (EndpointAccessVpcEndpointOutput) ToEndpointAccessVpcEndpointOutput

func (o EndpointAccessVpcEndpointOutput) ToEndpointAccessVpcEndpointOutput() EndpointAccessVpcEndpointOutput

func (EndpointAccessVpcEndpointOutput) ToEndpointAccessVpcEndpointOutputWithContext

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

func (EndpointAccessVpcEndpointOutput) VpcEndpointId

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

func (EndpointAccessVpcEndpointOutput) VpcId

The VPC identifier that the endpoint is associated.

type EndpointAuthorization

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

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v6/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(exampleAwsRedshiftCluster.ClusterIdentifier),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Import

Using `pulumi import`, import Redshift endpoint authorization using the `id`. For example:

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

func GetEndpointAuthorization

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

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

func (*EndpointAuthorization) ElementType() reflect.Type

func (*EndpointAuthorization) ToEndpointAuthorizationOutput

func (i *EndpointAuthorization) ToEndpointAuthorizationOutput() EndpointAuthorizationOutput

func (*EndpointAuthorization) ToEndpointAuthorizationOutputWithContext

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

type EndpointAuthorizationArgs

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

func (EndpointAuthorizationArgs) ElementType() reflect.Type

type EndpointAuthorizationArray

type EndpointAuthorizationArray []EndpointAuthorizationInput

func (EndpointAuthorizationArray) ElementType

func (EndpointAuthorizationArray) ElementType() reflect.Type

func (EndpointAuthorizationArray) ToEndpointAuthorizationArrayOutput

func (i EndpointAuthorizationArray) ToEndpointAuthorizationArrayOutput() EndpointAuthorizationArrayOutput

func (EndpointAuthorizationArray) ToEndpointAuthorizationArrayOutputWithContext

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

type EndpointAuthorizationArrayInput

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

type EndpointAuthorizationArrayOutput struct{ *pulumi.OutputState }

func (EndpointAuthorizationArrayOutput) ElementType

func (EndpointAuthorizationArrayOutput) Index

func (EndpointAuthorizationArrayOutput) ToEndpointAuthorizationArrayOutput

func (o EndpointAuthorizationArrayOutput) ToEndpointAuthorizationArrayOutput() EndpointAuthorizationArrayOutput

func (EndpointAuthorizationArrayOutput) ToEndpointAuthorizationArrayOutputWithContext

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

type EndpointAuthorizationInput

type EndpointAuthorizationInput interface {
	pulumi.Input

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

type EndpointAuthorizationMap

type EndpointAuthorizationMap map[string]EndpointAuthorizationInput

func (EndpointAuthorizationMap) ElementType

func (EndpointAuthorizationMap) ElementType() reflect.Type

func (EndpointAuthorizationMap) ToEndpointAuthorizationMapOutput

func (i EndpointAuthorizationMap) ToEndpointAuthorizationMapOutput() EndpointAuthorizationMapOutput

func (EndpointAuthorizationMap) ToEndpointAuthorizationMapOutputWithContext

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

type EndpointAuthorizationMapInput

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

type EndpointAuthorizationMapOutput struct{ *pulumi.OutputState }

func (EndpointAuthorizationMapOutput) ElementType

func (EndpointAuthorizationMapOutput) MapIndex

func (EndpointAuthorizationMapOutput) ToEndpointAuthorizationMapOutput

func (o EndpointAuthorizationMapOutput) ToEndpointAuthorizationMapOutput() EndpointAuthorizationMapOutput

func (EndpointAuthorizationMapOutput) ToEndpointAuthorizationMapOutputWithContext

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

type EndpointAuthorizationOutput

type EndpointAuthorizationOutput struct{ *pulumi.OutputState }

func (EndpointAuthorizationOutput) Account

The Amazon Web Services account ID to grant access to.

func (EndpointAuthorizationOutput) AllowedAllVpcs

func (o EndpointAuthorizationOutput) AllowedAllVpcs() pulumi.BoolOutput

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

func (EndpointAuthorizationOutput) ClusterIdentifier

func (o EndpointAuthorizationOutput) ClusterIdentifier() pulumi.StringOutput

The cluster identifier of the cluster to grant access to.

func (EndpointAuthorizationOutput) ElementType

func (EndpointAuthorizationOutput) EndpointCount

func (o EndpointAuthorizationOutput) EndpointCount() pulumi.IntOutput

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

func (EndpointAuthorizationOutput) ForceDelete

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

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

func (EndpointAuthorizationOutput) Grantor

The Amazon Web Services account ID of the cluster owner.

func (EndpointAuthorizationOutput) ToEndpointAuthorizationOutput

func (o EndpointAuthorizationOutput) ToEndpointAuthorizationOutput() EndpointAuthorizationOutput

func (EndpointAuthorizationOutput) ToEndpointAuthorizationOutputWithContext

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

func (EndpointAuthorizationOutput) VpcIds

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

type EndpointAuthorizationState

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

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.
	//
	// Deprecated: Please use `tags` instead.
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
}

Provides a Redshift event subscription resource.

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := redshift.NewCluster(ctx, "default", &redshift.ClusterArgs{
			ClusterIdentifier: pulumi.String("default"),
			DatabaseName:      pulumi.String("default"),
		})
		if err != nil {
			return err
		}
		defaultTopic, err := sns.NewTopic(ctx, "default", &sns.TopicArgs{
			Name: pulumi.String("redshift-events"),
		})
		if err != nil {
			return err
		}
		_, err = redshift.NewEventSubscription(ctx, "default", &redshift.EventSubscriptionArgs{
			Name:        pulumi.String("redshift-event-sub"),
			SnsTopicArn: defaultTopic.Arn,
			SourceType:  pulumi.String("cluster"),
			SourceIds: pulumi.StringArray{
				_default.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
	})
}

``` <!--End PulumiCodeChooser -->

## Import

Using `pulumi import`, import Redshift Event Subscriptions using the `name`. For example:

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

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

func (EventSubscriptionOutput) CustomerAwsId

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

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

func (EventSubscriptionOutput) EventCategories

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

The name of the Redshift event subscription.

func (EventSubscriptionOutput) Severity

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

func (EventSubscriptionOutput) SnsTopicArn

The ARN of the SNS topic to send events to.

func (EventSubscriptionOutput) SourceIds

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

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

func (EventSubscriptionOutput) Tags

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 deprecated

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

Deprecated: Please use `tags` instead.

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.
	//
	// Deprecated: Please use `tags` instead.
	TagsAll pulumi.StringMapInput
}

func (EventSubscriptionState) ElementType

func (EventSubscriptionState) ElementType() reflect.Type

type GetClusterClusterNode

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

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

func (GetClusterClusterNodeArgs) ElementType() reflect.Type

func (GetClusterClusterNodeArgs) ToGetClusterClusterNodeOutput

func (i GetClusterClusterNodeArgs) ToGetClusterClusterNodeOutput() GetClusterClusterNodeOutput

func (GetClusterClusterNodeArgs) ToGetClusterClusterNodeOutputWithContext

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

type GetClusterClusterNodeArray

type GetClusterClusterNodeArray []GetClusterClusterNodeInput

func (GetClusterClusterNodeArray) ElementType

func (GetClusterClusterNodeArray) ElementType() reflect.Type

func (GetClusterClusterNodeArray) ToGetClusterClusterNodeArrayOutput

func (i GetClusterClusterNodeArray) ToGetClusterClusterNodeArrayOutput() GetClusterClusterNodeArrayOutput

func (GetClusterClusterNodeArray) ToGetClusterClusterNodeArrayOutputWithContext

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

type GetClusterClusterNodeArrayInput

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

type GetClusterClusterNodeArrayOutput struct{ *pulumi.OutputState }

func (GetClusterClusterNodeArrayOutput) ElementType

func (GetClusterClusterNodeArrayOutput) Index

func (GetClusterClusterNodeArrayOutput) ToGetClusterClusterNodeArrayOutput

func (o GetClusterClusterNodeArrayOutput) ToGetClusterClusterNodeArrayOutput() GetClusterClusterNodeArrayOutput

func (GetClusterClusterNodeArrayOutput) ToGetClusterClusterNodeArrayOutputWithContext

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

type GetClusterClusterNodeInput

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

type GetClusterClusterNodeOutput struct{ *pulumi.OutputState }

func (GetClusterClusterNodeOutput) ElementType

func (GetClusterClusterNodeOutput) NodeRole

Whether the node is a leader node or a compute node

func (GetClusterClusterNodeOutput) PrivateIpAddress

func (o GetClusterClusterNodeOutput) PrivateIpAddress() pulumi.StringOutput

Private IP address of a node within a cluster

func (GetClusterClusterNodeOutput) PublicIpAddress

func (o GetClusterClusterNodeOutput) PublicIpAddress() pulumi.StringOutput

Public IP address of a node within a cluster

func (GetClusterClusterNodeOutput) ToGetClusterClusterNodeOutput

func (o GetClusterClusterNodeOutput) ToGetClusterClusterNodeOutput() GetClusterClusterNodeOutput

func (GetClusterClusterNodeOutput) ToGetClusterClusterNodeOutputWithContext

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

type GetClusterCredentialsArgs

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

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

type GetClusterCredentialsResult

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

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

Provides redshift cluster temporary credentials.

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v6/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: exampleAwsRedshiftCluster.ClusterIdentifier,
			DbUser:            exampleAwsRedshiftCluster.MasterUsername,
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

type GetClusterCredentialsResultOutput

type GetClusterCredentialsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getClusterCredentials.

func (GetClusterCredentialsResultOutput) AutoCreate

func (GetClusterCredentialsResultOutput) ClusterIdentifier

func (GetClusterCredentialsResultOutput) DbGroups

func (GetClusterCredentialsResultOutput) DbName

func (GetClusterCredentialsResultOutput) DbPassword

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

func (GetClusterCredentialsResultOutput) DbUser

func (GetClusterCredentialsResultOutput) DurationSeconds

func (GetClusterCredentialsResultOutput) ElementType

func (GetClusterCredentialsResultOutput) Expiration

Date and time the password in `dbPassword` expires.

func (GetClusterCredentialsResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetClusterCredentialsResultOutput) ToGetClusterCredentialsResultOutput

func (o GetClusterCredentialsResultOutput) ToGetClusterCredentialsResultOutput() GetClusterCredentialsResultOutput

func (GetClusterCredentialsResultOutput) ToGetClusterCredentialsResultOutputWithContext

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

type GetDataSharesArgs added in v6.25.0

type GetDataSharesArgs struct {
	// An array of all data shares in the current region. See `dataShares` below.
	DataShares []GetDataSharesDataShare `pulumi:"dataShares"`
}

A collection of arguments for invoking getDataShares.

type GetDataSharesDataShare added in v6.25.0

type GetDataSharesDataShare struct {
	// ARN (Amazon Resource Name) of the data share.
	DataShareArn string `pulumi:"dataShareArn"`
	// Identifier of a datashare to show its managing entity.
	ManagedBy string `pulumi:"managedBy"`
	// ARN (Amazon Resource Name) of the producer.
	ProducerArn string `pulumi:"producerArn"`
}

type GetDataSharesDataShareArgs added in v6.25.0

type GetDataSharesDataShareArgs struct {
	// ARN (Amazon Resource Name) of the data share.
	DataShareArn pulumi.StringInput `pulumi:"dataShareArn"`
	// Identifier of a datashare to show its managing entity.
	ManagedBy pulumi.StringInput `pulumi:"managedBy"`
	// ARN (Amazon Resource Name) of the producer.
	ProducerArn pulumi.StringInput `pulumi:"producerArn"`
}

func (GetDataSharesDataShareArgs) ElementType added in v6.25.0

func (GetDataSharesDataShareArgs) ElementType() reflect.Type

func (GetDataSharesDataShareArgs) ToGetDataSharesDataShareOutput added in v6.25.0

func (i GetDataSharesDataShareArgs) ToGetDataSharesDataShareOutput() GetDataSharesDataShareOutput

func (GetDataSharesDataShareArgs) ToGetDataSharesDataShareOutputWithContext added in v6.25.0

func (i GetDataSharesDataShareArgs) ToGetDataSharesDataShareOutputWithContext(ctx context.Context) GetDataSharesDataShareOutput

type GetDataSharesDataShareArray added in v6.25.0

type GetDataSharesDataShareArray []GetDataSharesDataShareInput

func (GetDataSharesDataShareArray) ElementType added in v6.25.0

func (GetDataSharesDataShareArray) ToGetDataSharesDataShareArrayOutput added in v6.25.0

func (i GetDataSharesDataShareArray) ToGetDataSharesDataShareArrayOutput() GetDataSharesDataShareArrayOutput

func (GetDataSharesDataShareArray) ToGetDataSharesDataShareArrayOutputWithContext added in v6.25.0

func (i GetDataSharesDataShareArray) ToGetDataSharesDataShareArrayOutputWithContext(ctx context.Context) GetDataSharesDataShareArrayOutput

type GetDataSharesDataShareArrayInput added in v6.25.0

type GetDataSharesDataShareArrayInput interface {
	pulumi.Input

	ToGetDataSharesDataShareArrayOutput() GetDataSharesDataShareArrayOutput
	ToGetDataSharesDataShareArrayOutputWithContext(context.Context) GetDataSharesDataShareArrayOutput
}

GetDataSharesDataShareArrayInput is an input type that accepts GetDataSharesDataShareArray and GetDataSharesDataShareArrayOutput values. You can construct a concrete instance of `GetDataSharesDataShareArrayInput` via:

GetDataSharesDataShareArray{ GetDataSharesDataShareArgs{...} }

type GetDataSharesDataShareArrayOutput added in v6.25.0

type GetDataSharesDataShareArrayOutput struct{ *pulumi.OutputState }

func (GetDataSharesDataShareArrayOutput) ElementType added in v6.25.0

func (GetDataSharesDataShareArrayOutput) Index added in v6.25.0

func (GetDataSharesDataShareArrayOutput) ToGetDataSharesDataShareArrayOutput added in v6.25.0

func (o GetDataSharesDataShareArrayOutput) ToGetDataSharesDataShareArrayOutput() GetDataSharesDataShareArrayOutput

func (GetDataSharesDataShareArrayOutput) ToGetDataSharesDataShareArrayOutputWithContext added in v6.25.0

func (o GetDataSharesDataShareArrayOutput) ToGetDataSharesDataShareArrayOutputWithContext(ctx context.Context) GetDataSharesDataShareArrayOutput

type GetDataSharesDataShareInput added in v6.25.0

type GetDataSharesDataShareInput interface {
	pulumi.Input

	ToGetDataSharesDataShareOutput() GetDataSharesDataShareOutput
	ToGetDataSharesDataShareOutputWithContext(context.Context) GetDataSharesDataShareOutput
}

GetDataSharesDataShareInput is an input type that accepts GetDataSharesDataShareArgs and GetDataSharesDataShareOutput values. You can construct a concrete instance of `GetDataSharesDataShareInput` via:

GetDataSharesDataShareArgs{...}

type GetDataSharesDataShareOutput added in v6.25.0

type GetDataSharesDataShareOutput struct{ *pulumi.OutputState }

func (GetDataSharesDataShareOutput) DataShareArn added in v6.25.0

ARN (Amazon Resource Name) of the data share.

func (GetDataSharesDataShareOutput) ElementType added in v6.25.0

func (GetDataSharesDataShareOutput) ManagedBy added in v6.25.0

Identifier of a datashare to show its managing entity.

func (GetDataSharesDataShareOutput) ProducerArn added in v6.25.0

ARN (Amazon Resource Name) of the producer.

func (GetDataSharesDataShareOutput) ToGetDataSharesDataShareOutput added in v6.25.0

func (o GetDataSharesDataShareOutput) ToGetDataSharesDataShareOutput() GetDataSharesDataShareOutput

func (GetDataSharesDataShareOutput) ToGetDataSharesDataShareOutputWithContext added in v6.25.0

func (o GetDataSharesDataShareOutput) ToGetDataSharesDataShareOutputWithContext(ctx context.Context) GetDataSharesDataShareOutput

type GetDataSharesOutputArgs added in v6.25.0

type GetDataSharesOutputArgs struct {
	// An array of all data shares in the current region. See `dataShares` below.
	DataShares GetDataSharesDataShareArrayInput `pulumi:"dataShares"`
}

A collection of arguments for invoking getDataShares.

func (GetDataSharesOutputArgs) ElementType added in v6.25.0

func (GetDataSharesOutputArgs) ElementType() reflect.Type

type GetDataSharesResult added in v6.25.0

type GetDataSharesResult struct {
	// An array of all data shares in the current region. See `dataShares` below.
	DataShares []GetDataSharesDataShare `pulumi:"dataShares"`
	// AWS region.
	Id string `pulumi:"id"`
}

A collection of values returned by getDataShares.

func GetDataShares added in v6.25.0

func GetDataShares(ctx *pulumi.Context, args *GetDataSharesArgs, opts ...pulumi.InvokeOption) (*GetDataSharesResult, error)

Data source for managing AWS Redshift Data Shares.

## Example Usage

### Basic Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := redshift.GetDataShares(ctx, nil, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

type GetDataSharesResultOutput added in v6.25.0

type GetDataSharesResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getDataShares.

func GetDataSharesOutput added in v6.25.0

func GetDataSharesOutput(ctx *pulumi.Context, args GetDataSharesOutputArgs, opts ...pulumi.InvokeOption) GetDataSharesResultOutput

func (GetDataSharesResultOutput) DataShares added in v6.25.0

An array of all data shares in the current region. See `dataShares` below.

func (GetDataSharesResultOutput) ElementType added in v6.25.0

func (GetDataSharesResultOutput) ElementType() reflect.Type

func (GetDataSharesResultOutput) Id added in v6.25.0

AWS region.

func (GetDataSharesResultOutput) ToGetDataSharesResultOutput added in v6.25.0

func (o GetDataSharesResultOutput) ToGetDataSharesResultOutput() GetDataSharesResultOutput

func (GetDataSharesResultOutput) ToGetDataSharesResultOutputWithContext added in v6.25.0

func (o GetDataSharesResultOutput) ToGetDataSharesResultOutputWithContext(ctx context.Context) GetDataSharesResultOutput

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 Redshift 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

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v6/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
	})
}

``` <!--End PulumiCodeChooser -->

type GetOrderableClusterResultOutput

type GetOrderableClusterResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getOrderableCluster.

func (GetOrderableClusterResultOutput) AvailabilityZones

List of Availability Zone names where the Redshift 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 GetProducerDataSharesArgs added in v6.28.1

type GetProducerDataSharesArgs struct {
	// An array of all data shares in the producer. See `dataShares` below.
	DataShares []GetProducerDataSharesDataShare `pulumi:"dataShares"`
	// Amazon Resource Name (ARN) of the producer namespace that returns in the list of datashares.
	//
	// The following arguments are optional:
	ProducerArn string `pulumi:"producerArn"`
	// Status of a datashare in the producer. Valid values are `ACTIVE`, `AUTHORIZED`, `PENDING_AUTHORIZATION`, `DEAUTHORIZED`, and `REJECTED`. Omit this argument to return all statuses.
	Status *string `pulumi:"status"`
}

A collection of arguments for invoking getProducerDataShares.

type GetProducerDataSharesDataShare added in v6.28.1

type GetProducerDataSharesDataShare struct {
	// ARN (Amazon Resource Name) of the data share.
	DataShareArn string `pulumi:"dataShareArn"`
	// Identifier of a datashare to show its managing entity.
	ManagedBy string `pulumi:"managedBy"`
	// Amazon Resource Name (ARN) of the producer namespace that returns in the list of datashares.
	//
	// The following arguments are optional:
	ProducerArn string `pulumi:"producerArn"`
}

type GetProducerDataSharesDataShareArgs added in v6.28.1

type GetProducerDataSharesDataShareArgs struct {
	// ARN (Amazon Resource Name) of the data share.
	DataShareArn pulumi.StringInput `pulumi:"dataShareArn"`
	// Identifier of a datashare to show its managing entity.
	ManagedBy pulumi.StringInput `pulumi:"managedBy"`
	// Amazon Resource Name (ARN) of the producer namespace that returns in the list of datashares.
	//
	// The following arguments are optional:
	ProducerArn pulumi.StringInput `pulumi:"producerArn"`
}

func (GetProducerDataSharesDataShareArgs) ElementType added in v6.28.1

func (GetProducerDataSharesDataShareArgs) ToGetProducerDataSharesDataShareOutput added in v6.28.1

func (i GetProducerDataSharesDataShareArgs) ToGetProducerDataSharesDataShareOutput() GetProducerDataSharesDataShareOutput

func (GetProducerDataSharesDataShareArgs) ToGetProducerDataSharesDataShareOutputWithContext added in v6.28.1

func (i GetProducerDataSharesDataShareArgs) ToGetProducerDataSharesDataShareOutputWithContext(ctx context.Context) GetProducerDataSharesDataShareOutput

type GetProducerDataSharesDataShareArray added in v6.28.1

type GetProducerDataSharesDataShareArray []GetProducerDataSharesDataShareInput

func (GetProducerDataSharesDataShareArray) ElementType added in v6.28.1

func (GetProducerDataSharesDataShareArray) ToGetProducerDataSharesDataShareArrayOutput added in v6.28.1

func (i GetProducerDataSharesDataShareArray) ToGetProducerDataSharesDataShareArrayOutput() GetProducerDataSharesDataShareArrayOutput

func (GetProducerDataSharesDataShareArray) ToGetProducerDataSharesDataShareArrayOutputWithContext added in v6.28.1

func (i GetProducerDataSharesDataShareArray) ToGetProducerDataSharesDataShareArrayOutputWithContext(ctx context.Context) GetProducerDataSharesDataShareArrayOutput

type GetProducerDataSharesDataShareArrayInput added in v6.28.1

type GetProducerDataSharesDataShareArrayInput interface {
	pulumi.Input

	ToGetProducerDataSharesDataShareArrayOutput() GetProducerDataSharesDataShareArrayOutput
	ToGetProducerDataSharesDataShareArrayOutputWithContext(context.Context) GetProducerDataSharesDataShareArrayOutput
}

GetProducerDataSharesDataShareArrayInput is an input type that accepts GetProducerDataSharesDataShareArray and GetProducerDataSharesDataShareArrayOutput values. You can construct a concrete instance of `GetProducerDataSharesDataShareArrayInput` via:

GetProducerDataSharesDataShareArray{ GetProducerDataSharesDataShareArgs{...} }

type GetProducerDataSharesDataShareArrayOutput added in v6.28.1

type GetProducerDataSharesDataShareArrayOutput struct{ *pulumi.OutputState }

func (GetProducerDataSharesDataShareArrayOutput) ElementType added in v6.28.1

func (GetProducerDataSharesDataShareArrayOutput) Index added in v6.28.1

func (GetProducerDataSharesDataShareArrayOutput) ToGetProducerDataSharesDataShareArrayOutput added in v6.28.1

func (o GetProducerDataSharesDataShareArrayOutput) ToGetProducerDataSharesDataShareArrayOutput() GetProducerDataSharesDataShareArrayOutput

func (GetProducerDataSharesDataShareArrayOutput) ToGetProducerDataSharesDataShareArrayOutputWithContext added in v6.28.1

func (o GetProducerDataSharesDataShareArrayOutput) ToGetProducerDataSharesDataShareArrayOutputWithContext(ctx context.Context) GetProducerDataSharesDataShareArrayOutput

type GetProducerDataSharesDataShareInput added in v6.28.1

type GetProducerDataSharesDataShareInput interface {
	pulumi.Input

	ToGetProducerDataSharesDataShareOutput() GetProducerDataSharesDataShareOutput
	ToGetProducerDataSharesDataShareOutputWithContext(context.Context) GetProducerDataSharesDataShareOutput
}

GetProducerDataSharesDataShareInput is an input type that accepts GetProducerDataSharesDataShareArgs and GetProducerDataSharesDataShareOutput values. You can construct a concrete instance of `GetProducerDataSharesDataShareInput` via:

GetProducerDataSharesDataShareArgs{...}

type GetProducerDataSharesDataShareOutput added in v6.28.1

type GetProducerDataSharesDataShareOutput struct{ *pulumi.OutputState }

func (GetProducerDataSharesDataShareOutput) DataShareArn added in v6.28.1

ARN (Amazon Resource Name) of the data share.

func (GetProducerDataSharesDataShareOutput) ElementType added in v6.28.1

func (GetProducerDataSharesDataShareOutput) ManagedBy added in v6.28.1

Identifier of a datashare to show its managing entity.

func (GetProducerDataSharesDataShareOutput) ProducerArn added in v6.28.1

Amazon Resource Name (ARN) of the producer namespace that returns in the list of datashares.

The following arguments are optional:

func (GetProducerDataSharesDataShareOutput) ToGetProducerDataSharesDataShareOutput added in v6.28.1

func (o GetProducerDataSharesDataShareOutput) ToGetProducerDataSharesDataShareOutput() GetProducerDataSharesDataShareOutput

func (GetProducerDataSharesDataShareOutput) ToGetProducerDataSharesDataShareOutputWithContext added in v6.28.1

func (o GetProducerDataSharesDataShareOutput) ToGetProducerDataSharesDataShareOutputWithContext(ctx context.Context) GetProducerDataSharesDataShareOutput

type GetProducerDataSharesOutputArgs added in v6.28.1

type GetProducerDataSharesOutputArgs struct {
	// An array of all data shares in the producer. See `dataShares` below.
	DataShares GetProducerDataSharesDataShareArrayInput `pulumi:"dataShares"`
	// Amazon Resource Name (ARN) of the producer namespace that returns in the list of datashares.
	//
	// The following arguments are optional:
	ProducerArn pulumi.StringInput `pulumi:"producerArn"`
	// Status of a datashare in the producer. Valid values are `ACTIVE`, `AUTHORIZED`, `PENDING_AUTHORIZATION`, `DEAUTHORIZED`, and `REJECTED`. Omit this argument to return all statuses.
	Status pulumi.StringPtrInput `pulumi:"status"`
}

A collection of arguments for invoking getProducerDataShares.

func (GetProducerDataSharesOutputArgs) ElementType added in v6.28.1

type GetProducerDataSharesResult added in v6.28.1

type GetProducerDataSharesResult struct {
	// An array of all data shares in the producer. See `dataShares` below.
	DataShares []GetProducerDataSharesDataShare `pulumi:"dataShares"`
	// Producer ARN.
	Id string `pulumi:"id"`
	// ARN (Amazon Resource Name) of the producer.
	ProducerArn string  `pulumi:"producerArn"`
	Status      *string `pulumi:"status"`
}

A collection of values returned by getProducerDataShares.

func GetProducerDataShares added in v6.28.1

func GetProducerDataShares(ctx *pulumi.Context, args *GetProducerDataSharesArgs, opts ...pulumi.InvokeOption) (*GetProducerDataSharesResult, error)

Data source for managing AWS Redshift Producer Data Shares.

## Example Usage

### Basic Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := redshift.GetProducerDataShares(ctx, &redshift.GetProducerDataSharesArgs{
			ProducerArn: "",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

type GetProducerDataSharesResultOutput added in v6.28.1

type GetProducerDataSharesResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getProducerDataShares.

func GetProducerDataSharesOutput added in v6.28.1

func (GetProducerDataSharesResultOutput) DataShares added in v6.28.1

An array of all data shares in the producer. See `dataShares` below.

func (GetProducerDataSharesResultOutput) ElementType added in v6.28.1

func (GetProducerDataSharesResultOutput) Id added in v6.28.1

Producer ARN.

func (GetProducerDataSharesResultOutput) ProducerArn added in v6.28.1

ARN (Amazon Resource Name) of the producer.

func (GetProducerDataSharesResultOutput) Status added in v6.28.1

func (GetProducerDataSharesResultOutput) ToGetProducerDataSharesResultOutput added in v6.28.1

func (o GetProducerDataSharesResultOutput) ToGetProducerDataSharesResultOutput() GetProducerDataSharesResultOutput

func (GetProducerDataSharesResultOutput) ToGetProducerDataSharesResultOutputWithContext added in v6.28.1

func (o GetProducerDataSharesResultOutput) ToGetProducerDataSharesResultOutputWithContext(ctx context.Context) GetProducerDataSharesResultOutput

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 has been deprecated and will be removed in a future version.

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"fmt"

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

) func main() { pulumi.Run(func(ctx *pulumi.Context) error { main, err := redshift.GetServiceAccount(ctx, nil, nil); if err != nil { return err } bucket, err := s3.NewBucketV2(ctx, "bucket", &s3.BucketV2Args{ Bucket: pulumi.String("tf-redshift-logging-test-bucket"), ForceDestroy: pulumi.Bool(true), }) if err != nil { return err } allowAuditLogging := bucket.Arn.ApplyT(func(arn string) (iam.GetPolicyDocumentResult, error) { return iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{ Statements: []iam.GetPolicyDocumentStatement{ { Sid: "Put bucket policy needed for audit logging", Effect: "Allow", Principals: []iam.GetPolicyDocumentStatementPrincipal{ { Type: "AWS", Identifiers: interface{}{ main.Arn, }, }, }, Actions: []string{ "s3:PutObject", }, Resources: []string{ fmt.Sprintf("%v/*", arn), }, }, { Sid: "Get bucket policy needed for audit logging", Effect: "Allow", Principals: []iam.GetPolicyDocumentStatementPrincipal{ { Type: "AWS", Identifiers: interface{}{ main.Arn, }, }, }, Actions: []string{ "s3:GetBucketAcl", }, Resources: bucketAwsS3Bucket.Arn, }, }, }, nil), nil }).(iam.GetPolicyDocumentResultOutput) _, err = s3.NewBucketPolicy(ctx, "allow_audit_logging", &s3.BucketPolicyArgs{ Bucket: bucket.ID(), Policy: allowAuditLogging.ApplyT(func(allowAuditLogging iam.GetPolicyDocumentResult) (*string, error) { return &allowAuditLogging.Json, nil }).(pulumi.StringPtrOutput), }) if err != nil { return err } return nil }) } ``` <!--End PulumiCodeChooser -->

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

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.
	//
	// Deprecated: Please use `tags` instead.
	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

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v6/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
	})
}

``` <!--End PulumiCodeChooser -->

## Import

Using `pulumi import`, import Redshift HSM Client Certificates using `hsm_client_certificate_identifier`. For example:

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

func GetHsmClientCertificate

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

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

func (*HsmClientCertificate) ElementType() reflect.Type

func (*HsmClientCertificate) ToHsmClientCertificateOutput

func (i *HsmClientCertificate) ToHsmClientCertificateOutput() HsmClientCertificateOutput

func (*HsmClientCertificate) ToHsmClientCertificateOutputWithContext

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

type HsmClientCertificateArgs

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

func (HsmClientCertificateArgs) ElementType() reflect.Type

type HsmClientCertificateArray

type HsmClientCertificateArray []HsmClientCertificateInput

func (HsmClientCertificateArray) ElementType

func (HsmClientCertificateArray) ElementType() reflect.Type

func (HsmClientCertificateArray) ToHsmClientCertificateArrayOutput

func (i HsmClientCertificateArray) ToHsmClientCertificateArrayOutput() HsmClientCertificateArrayOutput

func (HsmClientCertificateArray) ToHsmClientCertificateArrayOutputWithContext

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

type HsmClientCertificateArrayInput

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

type HsmClientCertificateArrayOutput struct{ *pulumi.OutputState }

func (HsmClientCertificateArrayOutput) ElementType

func (HsmClientCertificateArrayOutput) Index

func (HsmClientCertificateArrayOutput) ToHsmClientCertificateArrayOutput

func (o HsmClientCertificateArrayOutput) ToHsmClientCertificateArrayOutput() HsmClientCertificateArrayOutput

func (HsmClientCertificateArrayOutput) ToHsmClientCertificateArrayOutputWithContext

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

type HsmClientCertificateInput

type HsmClientCertificateInput interface {
	pulumi.Input

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

type HsmClientCertificateMap

type HsmClientCertificateMap map[string]HsmClientCertificateInput

func (HsmClientCertificateMap) ElementType

func (HsmClientCertificateMap) ElementType() reflect.Type

func (HsmClientCertificateMap) ToHsmClientCertificateMapOutput

func (i HsmClientCertificateMap) ToHsmClientCertificateMapOutput() HsmClientCertificateMapOutput

func (HsmClientCertificateMap) ToHsmClientCertificateMapOutputWithContext

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

type HsmClientCertificateMapInput

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

type HsmClientCertificateMapOutput struct{ *pulumi.OutputState }

func (HsmClientCertificateMapOutput) ElementType

func (HsmClientCertificateMapOutput) MapIndex

func (HsmClientCertificateMapOutput) ToHsmClientCertificateMapOutput

func (o HsmClientCertificateMapOutput) ToHsmClientCertificateMapOutput() HsmClientCertificateMapOutput

func (HsmClientCertificateMapOutput) ToHsmClientCertificateMapOutputWithContext

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

type HsmClientCertificateOutput

type HsmClientCertificateOutput struct{ *pulumi.OutputState }

func (HsmClientCertificateOutput) Arn

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

func (HsmClientCertificateOutput) ElementType

func (HsmClientCertificateOutput) ElementType() reflect.Type

func (HsmClientCertificateOutput) HsmClientCertificateIdentifier

func (o HsmClientCertificateOutput) HsmClientCertificateIdentifier() pulumi.StringOutput

The identifier of the HSM client certificate.

func (HsmClientCertificateOutput) HsmClientCertificatePublicKey

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

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 deprecated

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

Deprecated: Please use `tags` instead.

func (HsmClientCertificateOutput) ToHsmClientCertificateOutput

func (o HsmClientCertificateOutput) ToHsmClientCertificateOutput() HsmClientCertificateOutput

func (HsmClientCertificateOutput) ToHsmClientCertificateOutputWithContext

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

type HsmClientCertificateState

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.
	//
	// Deprecated: Please use `tags` instead.
	TagsAll pulumi.StringMapInput
}

func (HsmClientCertificateState) ElementType

func (HsmClientCertificateState) ElementType() reflect.Type

type HsmConfiguration

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.
	//
	// Deprecated: Please use `tags` instead.
	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

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v6/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
	})
}

``` <!--End PulumiCodeChooser -->

## Import

Using `pulumi import`, import Redshift HSM Client Certificates using `hsm_configuration_identifier`. For example:

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

func GetHsmConfiguration

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

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

func (*HsmConfiguration) ElementType() reflect.Type

func (*HsmConfiguration) ToHsmConfigurationOutput

func (i *HsmConfiguration) ToHsmConfigurationOutput() HsmConfigurationOutput

func (*HsmConfiguration) ToHsmConfigurationOutputWithContext

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

type HsmConfigurationArgs

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

func (HsmConfigurationArgs) ElementType() reflect.Type

type HsmConfigurationArray

type HsmConfigurationArray []HsmConfigurationInput

func (HsmConfigurationArray) ElementType

func (HsmConfigurationArray) ElementType() reflect.Type

func (HsmConfigurationArray) ToHsmConfigurationArrayOutput

func (i HsmConfigurationArray) ToHsmConfigurationArrayOutput() HsmConfigurationArrayOutput

func (HsmConfigurationArray) ToHsmConfigurationArrayOutputWithContext

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

type HsmConfigurationArrayInput

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

type HsmConfigurationArrayOutput struct{ *pulumi.OutputState }

func (HsmConfigurationArrayOutput) ElementType

func (HsmConfigurationArrayOutput) Index

func (HsmConfigurationArrayOutput) ToHsmConfigurationArrayOutput

func (o HsmConfigurationArrayOutput) ToHsmConfigurationArrayOutput() HsmConfigurationArrayOutput

func (HsmConfigurationArrayOutput) ToHsmConfigurationArrayOutputWithContext

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

type HsmConfigurationInput

type HsmConfigurationInput interface {
	pulumi.Input

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

type HsmConfigurationMap

type HsmConfigurationMap map[string]HsmConfigurationInput

func (HsmConfigurationMap) ElementType

func (HsmConfigurationMap) ElementType() reflect.Type

func (HsmConfigurationMap) ToHsmConfigurationMapOutput

func (i HsmConfigurationMap) ToHsmConfigurationMapOutput() HsmConfigurationMapOutput

func (HsmConfigurationMap) ToHsmConfigurationMapOutputWithContext

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

type HsmConfigurationMapInput

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

type HsmConfigurationMapOutput struct{ *pulumi.OutputState }

func (HsmConfigurationMapOutput) ElementType

func (HsmConfigurationMapOutput) ElementType() reflect.Type

func (HsmConfigurationMapOutput) MapIndex

func (HsmConfigurationMapOutput) ToHsmConfigurationMapOutput

func (o HsmConfigurationMapOutput) ToHsmConfigurationMapOutput() HsmConfigurationMapOutput

func (HsmConfigurationMapOutput) ToHsmConfigurationMapOutputWithContext

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

type HsmConfigurationOutput

type HsmConfigurationOutput struct{ *pulumi.OutputState }

func (HsmConfigurationOutput) Arn

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

func (HsmConfigurationOutput) Description

func (o HsmConfigurationOutput) Description() pulumi.StringOutput

A text description of the HSM configuration to be created.

func (HsmConfigurationOutput) ElementType

func (HsmConfigurationOutput) ElementType() reflect.Type

func (HsmConfigurationOutput) HsmConfigurationIdentifier

func (o HsmConfigurationOutput) HsmConfigurationIdentifier() pulumi.StringOutput

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

func (HsmConfigurationOutput) HsmIpAddress

func (o HsmConfigurationOutput) HsmIpAddress() pulumi.StringOutput

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

func (HsmConfigurationOutput) HsmPartitionName

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

func (o HsmConfigurationOutput) HsmPartitionPassword() pulumi.StringOutput

The password required to access the HSM partition.

func (HsmConfigurationOutput) HsmServerPublicCertificate

func (o HsmConfigurationOutput) HsmServerPublicCertificate() pulumi.StringOutput

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

func (HsmConfigurationOutput) Tags

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 deprecated

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

Deprecated: Please use `tags` instead.

func (HsmConfigurationOutput) ToHsmConfigurationOutput

func (o HsmConfigurationOutput) ToHsmConfigurationOutput() HsmConfigurationOutput

func (HsmConfigurationOutput) ToHsmConfigurationOutputWithContext

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

type HsmConfigurationState

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.
	//
	// Deprecated: Please use `tags` instead.
	TagsAll pulumi.StringMapInput
}

func (HsmConfigurationState) ElementType

func (HsmConfigurationState) ElementType() reflect.Type

type Logging added in v6.31.0

type Logging struct {
	pulumi.CustomResourceState

	// Name of an existing S3 bucket where the log files are to be stored. Required when `logDestinationType` is `s3`. 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.StringPtrOutput `pulumi:"bucketName"`
	// Identifier of the source cluster.
	//
	// The following arguments are optional:
	ClusterIdentifier pulumi.StringOutput `pulumi:"clusterIdentifier"`
	// Log destination type. Valid values are `s3` and `cloudwatch`.
	LogDestinationType pulumi.StringPtrOutput `pulumi:"logDestinationType"`
	// Collection of exported log types. Required when `logDestinationType` is `cloudwatch`. Valid values are `connectionlog`, `useractivitylog`, and `userlog`.
	LogExports pulumi.StringArrayOutput `pulumi:"logExports"`
	// Prefix applied to the log file names.
	S3KeyPrefix pulumi.StringPtrOutput `pulumi:"s3KeyPrefix"`
}

Resource for managing an AWS Redshift Logging configuration.

## Example Usage

### Basic Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := redshift.NewLogging(ctx, "example", &redshift.LoggingArgs{
			ClusterIdentifier:  pulumi.Any(exampleAwsRedshiftCluster.Id),
			LogDestinationType: pulumi.String("cloudwatch"),
			LogExports: pulumi.StringArray{
				pulumi.String("connectionlog"),
				pulumi.String("userlog"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

### S3 Destination Type

<!--Start PulumiCodeChooser --> ```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := redshift.NewLogging(ctx, "example", &redshift.LoggingArgs{
			ClusterIdentifier:  pulumi.Any(exampleAwsRedshiftCluster.Id),
			LogDestinationType: pulumi.String("s3"),
			BucketName:         pulumi.Any(exampleAwsS3Bucket.Id),
			S3KeyPrefix:        pulumi.String("example-prefix/"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Import

Using `pulumi import`, import Redshift Logging using the `id`. For example:

```sh $ pulumi import aws:redshift/logging:Logging example cluster-id-12345678 ```

func GetLogging added in v6.31.0

func GetLogging(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *LoggingState, opts ...pulumi.ResourceOption) (*Logging, error)

GetLogging gets an existing Logging 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 NewLogging added in v6.31.0

func NewLogging(ctx *pulumi.Context,
	name string, args *LoggingArgs, opts ...pulumi.ResourceOption) (*Logging, error)

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

func (*Logging) ElementType added in v6.31.0

func (*Logging) ElementType() reflect.Type

func (*Logging) ToLoggingOutput added in v6.31.0

func (i *Logging) ToLoggingOutput() LoggingOutput

func (*Logging) ToLoggingOutputWithContext added in v6.31.0

func (i *Logging) ToLoggingOutputWithContext(ctx context.Context) LoggingOutput

type LoggingArgs added in v6.31.0

type LoggingArgs struct {
	// Name of an existing S3 bucket where the log files are to be stored. Required when `logDestinationType` is `s3`. 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
	// Identifier of the source cluster.
	//
	// The following arguments are optional:
	ClusterIdentifier pulumi.StringInput
	// Log destination type. Valid values are `s3` and `cloudwatch`.
	LogDestinationType pulumi.StringPtrInput
	// Collection of exported log types. Required when `logDestinationType` is `cloudwatch`. Valid values are `connectionlog`, `useractivitylog`, and `userlog`.
	LogExports pulumi.StringArrayInput
	// Prefix applied to the log file names.
	S3KeyPrefix pulumi.StringPtrInput
}

The set of arguments for constructing a Logging resource.

func (LoggingArgs) ElementType added in v6.31.0

func (LoggingArgs) ElementType() reflect.Type

type LoggingArray added in v6.31.0

type LoggingArray []LoggingInput

func (LoggingArray) ElementType added in v6.31.0

func (LoggingArray) ElementType() reflect.Type

func (LoggingArray) ToLoggingArrayOutput added in v6.31.0

func (i LoggingArray) ToLoggingArrayOutput() LoggingArrayOutput

func (LoggingArray) ToLoggingArrayOutputWithContext added in v6.31.0

func (i LoggingArray) ToLoggingArrayOutputWithContext(ctx context.Context) LoggingArrayOutput

type LoggingArrayInput added in v6.31.0

type LoggingArrayInput interface {
	pulumi.Input

	ToLoggingArrayOutput() LoggingArrayOutput
	ToLoggingArrayOutputWithContext(context.Context) LoggingArrayOutput
}

LoggingArrayInput is an input type that accepts LoggingArray and LoggingArrayOutput values. You can construct a concrete instance of `LoggingArrayInput` via:

LoggingArray{ LoggingArgs{...} }

type LoggingArrayOutput added in v6.31.0

type LoggingArrayOutput struct{ *pulumi.OutputState }

func (LoggingArrayOutput) ElementType added in v6.31.0

func (LoggingArrayOutput) ElementType() reflect.Type

func (LoggingArrayOutput) Index added in v6.31.0

func (LoggingArrayOutput) ToLoggingArrayOutput added in v6.31.0

func (o LoggingArrayOutput) ToLoggingArrayOutput() LoggingArrayOutput

func (LoggingArrayOutput) ToLoggingArrayOutputWithContext added in v6.31.0

func (o LoggingArrayOutput) ToLoggingArrayOutputWithContext(ctx context.Context) LoggingArrayOutput

type LoggingInput added in v6.31.0

type LoggingInput interface {
	pulumi.Input

	ToLoggingOutput() LoggingOutput
	ToLoggingOutputWithContext(ctx context.Context) LoggingOutput
}

type LoggingMap added in v6.31.0

type LoggingMap map[string]LoggingInput

func (LoggingMap) ElementType added in v6.31.0

func (LoggingMap) ElementType() reflect.Type

func (LoggingMap) ToLoggingMapOutput added in v6.31.0

func (i LoggingMap) ToLoggingMapOutput() LoggingMapOutput

func (LoggingMap) ToLoggingMapOutputWithContext added in v6.31.0

func (i LoggingMap) ToLoggingMapOutputWithContext(ctx context.Context) LoggingMapOutput

type LoggingMapInput added in v6.31.0

type LoggingMapInput interface {
	pulumi.Input

	ToLoggingMapOutput() LoggingMapOutput
	ToLoggingMapOutputWithContext(context.Context) LoggingMapOutput
}

LoggingMapInput is an input type that accepts LoggingMap and LoggingMapOutput values. You can construct a concrete instance of `LoggingMapInput` via:

LoggingMap{ "key": LoggingArgs{...} }

type LoggingMapOutput added in v6.31.0

type LoggingMapOutput struct{ *pulumi.OutputState }

func (LoggingMapOutput) ElementType added in v6.31.0

func (LoggingMapOutput) ElementType() reflect.Type

func (LoggingMapOutput) MapIndex added in v6.31.0

func (LoggingMapOutput) ToLoggingMapOutput added in v6.31.0

func (o LoggingMapOutput) ToLoggingMapOutput() LoggingMapOutput

func (LoggingMapOutput) ToLoggingMapOutputWithContext added in v6.31.0

func (o LoggingMapOutput) ToLoggingMapOutputWithContext(ctx context.Context) LoggingMapOutput

type LoggingOutput added in v6.31.0

type LoggingOutput struct{ *pulumi.OutputState }

func (LoggingOutput) BucketName added in v6.31.0

func (o LoggingOutput) BucketName() pulumi.StringPtrOutput

Name of an existing S3 bucket where the log files are to be stored. Required when `logDestinationType` is `s3`. 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 (LoggingOutput) ClusterIdentifier added in v6.31.0

func (o LoggingOutput) ClusterIdentifier() pulumi.StringOutput

Identifier of the source cluster.

The following arguments are optional:

func (LoggingOutput) ElementType added in v6.31.0

func (LoggingOutput) ElementType() reflect.Type

func (LoggingOutput) LogDestinationType added in v6.31.0

func (o LoggingOutput) LogDestinationType() pulumi.StringPtrOutput

Log destination type. Valid values are `s3` and `cloudwatch`.

func (LoggingOutput) LogExports added in v6.31.0

func (o LoggingOutput) LogExports() pulumi.StringArrayOutput

Collection of exported log types. Required when `logDestinationType` is `cloudwatch`. Valid values are `connectionlog`, `useractivitylog`, and `userlog`.

func (LoggingOutput) S3KeyPrefix added in v6.31.0

func (o LoggingOutput) S3KeyPrefix() pulumi.StringPtrOutput

Prefix applied to the log file names.

func (LoggingOutput) ToLoggingOutput added in v6.31.0

func (o LoggingOutput) ToLoggingOutput() LoggingOutput

func (LoggingOutput) ToLoggingOutputWithContext added in v6.31.0

func (o LoggingOutput) ToLoggingOutputWithContext(ctx context.Context) LoggingOutput

type LoggingState added in v6.31.0

type LoggingState struct {
	// Name of an existing S3 bucket where the log files are to be stored. Required when `logDestinationType` is `s3`. 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
	// Identifier of the source cluster.
	//
	// The following arguments are optional:
	ClusterIdentifier pulumi.StringPtrInput
	// Log destination type. Valid values are `s3` and `cloudwatch`.
	LogDestinationType pulumi.StringPtrInput
	// Collection of exported log types. Required when `logDestinationType` is `cloudwatch`. Valid values are `connectionlog`, `useractivitylog`, and `userlog`.
	LogExports pulumi.StringArrayInput
	// Prefix applied to the log file names.
	S3KeyPrefix pulumi.StringPtrInput
}

func (LoggingState) ElementType added in v6.31.0

func (LoggingState) 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"`
	// The namespace Amazon Resource Name (ARN) of the cluster
	ClusterNamespaceArn string `pulumi:"clusterNamespaceArn"`
	// 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 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"`
	// If the cluster is a Multi-AZ deployment
	MultiAz bool `pulumi:"multiAz"`
	// 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.

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

func (o LookupClusterResultOutput) AquaConfigurationStatus() pulumi.StringOutput

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

func (LookupClusterResultOutput) Arn

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

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

func (o LookupClusterResultOutput) ClusterNamespaceArn() pulumi.StringOutput

The namespace Amazon Resource Name (ARN) of the cluster

func (LookupClusterResultOutput) ClusterNodes

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

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

func (o LookupClusterResultOutput) LogDestinationType() pulumi.StringOutput

The log destination type.

func (LookupClusterResultOutput) LogExports

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

func (LookupClusterResultOutput) MaintenanceTrackName

func (o LookupClusterResultOutput) MaintenanceTrackName() pulumi.StringOutput

The name of the maintenance track for the restored cluster.

func (LookupClusterResultOutput) ManualSnapshotRetentionPeriod

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) MultiAz added in v6.21.0

If the cluster is a Multi-AZ deployment

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

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

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

type LookupSubnetGroupResult

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

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

Provides details about a specific redshift subnet group.

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v6/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: exampleAwsRedshiftSubnetGroup.Name,
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

type LookupSubnetGroupResultOutput

type LookupSubnetGroupResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getSubnetGroup.

func (LookupSubnetGroupResultOutput) Arn

ARN of the Redshift Subnet Group name.

func (LookupSubnetGroupResultOutput) Description

Description of the Redshift Subnet group.

func (LookupSubnetGroupResultOutput) ElementType

func (LookupSubnetGroupResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupSubnetGroupResultOutput) Name

func (LookupSubnetGroupResultOutput) SubnetIds

An array of VPC subnet IDs.

func (LookupSubnetGroupResultOutput) Tags

Tags associated to the Subnet Group

func (LookupSubnetGroupResultOutput) ToLookupSubnetGroupResultOutput

func (o LookupSubnetGroupResultOutput) ToLookupSubnetGroupResultOutput() LookupSubnetGroupResultOutput

func (LookupSubnetGroupResultOutput) ToLookupSubnetGroupResultOutputWithContext

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.
	//
	// Deprecated: Please use `tags` instead.
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
}

Provides a Redshift Cluster parameter group resource.

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v6/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{
			Name:   pulumi.String("parameter-group-test"),
			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
	})
}

``` <!--End PulumiCodeChooser -->

## Import

Using `pulumi import`, import Redshift Parameter Groups using the `name`. For example:

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

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

Amazon Resource Name (ARN) of parameter group

func (ParameterGroupOutput) Description

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

The family of the Redshift parameter group.

func (ParameterGroupOutput) Name

The name of the Redshift parameter.

func (ParameterGroupOutput) Parameters

A list of Redshift parameters to apply.

func (ParameterGroupOutput) Tags

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 deprecated

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

Deprecated: Please use `tags` instead.

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.
	//
	// Deprecated: Please use `tags` instead.
	TagsAll pulumi.StringMapInput
}

func (ParameterGroupState) ElementType

func (ParameterGroupState) ElementType() reflect.Type

type Partner

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

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v6/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(exampleAwsRedshiftCluster.Id),
			AccountId:         pulumi.String("1234567910"),
			DatabaseName:      pulumi.Any(exampleAwsRedshiftCluster.DatabaseName),
			PartnerName:       pulumi.String("example"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Import

Using `pulumi import`, import Redshift usage limits using the `id`. For example:

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

func GetPartner

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

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

func (*Partner) ElementType() reflect.Type

func (*Partner) ToPartnerOutput

func (i *Partner) ToPartnerOutput() PartnerOutput

func (*Partner) ToPartnerOutputWithContext

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

type PartnerArgs

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

func (PartnerArgs) ElementType() reflect.Type

type PartnerArray

type PartnerArray []PartnerInput

func (PartnerArray) ElementType

func (PartnerArray) ElementType() reflect.Type

func (PartnerArray) ToPartnerArrayOutput

func (i PartnerArray) ToPartnerArrayOutput() PartnerArrayOutput

func (PartnerArray) ToPartnerArrayOutputWithContext

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

type PartnerArrayInput

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

type PartnerArrayOutput struct{ *pulumi.OutputState }

func (PartnerArrayOutput) ElementType

func (PartnerArrayOutput) ElementType() reflect.Type

func (PartnerArrayOutput) Index

func (PartnerArrayOutput) ToPartnerArrayOutput

func (o PartnerArrayOutput) ToPartnerArrayOutput() PartnerArrayOutput

func (PartnerArrayOutput) ToPartnerArrayOutputWithContext

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

type PartnerInput

type PartnerInput interface {
	pulumi.Input

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

type PartnerMap

type PartnerMap map[string]PartnerInput

func (PartnerMap) ElementType

func (PartnerMap) ElementType() reflect.Type

func (PartnerMap) ToPartnerMapOutput

func (i PartnerMap) ToPartnerMapOutput() PartnerMapOutput

func (PartnerMap) ToPartnerMapOutputWithContext

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

type PartnerMapInput

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

type PartnerMapOutput struct{ *pulumi.OutputState }

func (PartnerMapOutput) ElementType

func (PartnerMapOutput) ElementType() reflect.Type

func (PartnerMapOutput) MapIndex

func (PartnerMapOutput) ToPartnerMapOutput

func (o PartnerMapOutput) ToPartnerMapOutput() PartnerMapOutput

func (PartnerMapOutput) ToPartnerMapOutputWithContext

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

type PartnerOutput

type PartnerOutput struct{ *pulumi.OutputState }

func (PartnerOutput) AccountId

func (o PartnerOutput) AccountId() pulumi.StringOutput

The Amazon Web Services account ID that owns the cluster.

func (PartnerOutput) ClusterIdentifier

func (o PartnerOutput) ClusterIdentifier() pulumi.StringOutput

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

func (PartnerOutput) DatabaseName

func (o PartnerOutput) DatabaseName() pulumi.StringOutput

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

func (PartnerOutput) ElementType

func (PartnerOutput) ElementType() reflect.Type

func (PartnerOutput) PartnerName

func (o PartnerOutput) PartnerName() pulumi.StringOutput

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

func (PartnerOutput) Status

func (o PartnerOutput) Status() pulumi.StringOutput

(Optional) The partner integration status.

func (PartnerOutput) StatusMessage

func (o PartnerOutput) StatusMessage() pulumi.StringOutput

(Optional) The status message provided by the partner.

func (PartnerOutput) ToPartnerOutput

func (o PartnerOutput) ToPartnerOutput() PartnerOutput

func (PartnerOutput) ToPartnerOutputWithContext

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

type PartnerState

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

func (PartnerState) ElementType() reflect.Type

type ResourcePolicy added in v6.8.0

type ResourcePolicy struct {
	pulumi.CustomResourceState

	// The content of the resource policy being updated.
	Policy pulumi.StringOutput `pulumi:"policy"`
	// The Amazon Resource Name (ARN) of the account to create or update a resource policy for.
	ResourceArn pulumi.StringOutput `pulumi:"resourceArn"`
}

Creates a new Amazon Redshift Resource Policy.

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"encoding/json"

"github.com/pulumi/pulumi-aws/sdk/v6/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{}{
			"Version": "2012-10-17",
			"Statement": []map[string]interface{}{
				map[string]interface{}{
					"Effect": "Allow",
					"Principal": map[string]interface{}{
						"AWS": "arn:aws:iam::12345678901:root",
					},
					"Action":   "redshift:CreateInboundIntegration",
					"Resource": exampleAwsRedshiftCluster.ClusterNamespaceArn,
					"Sid":      "",
				},
			},
		})
		if err != nil {
			return err
		}
		json0 := string(tmpJSON0)
		_, err = redshift.NewResourcePolicy(ctx, "example", &redshift.ResourcePolicyArgs{
			ResourceArn: pulumi.Any(exampleAwsRedshiftCluster.ClusterNamespaceArn),
			Policy:      pulumi.String(json0),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Import

Using `pulumi import`, import Redshift Resource Policies using the `resource_arn`. For example:

```sh $ pulumi import aws:redshift/resourcePolicy:ResourcePolicy example example ```

func GetResourcePolicy added in v6.8.0

func GetResourcePolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ResourcePolicyState, opts ...pulumi.ResourceOption) (*ResourcePolicy, error)

GetResourcePolicy gets an existing ResourcePolicy 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 NewResourcePolicy added in v6.8.0

func NewResourcePolicy(ctx *pulumi.Context,
	name string, args *ResourcePolicyArgs, opts ...pulumi.ResourceOption) (*ResourcePolicy, error)

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

func (*ResourcePolicy) ElementType added in v6.8.0

func (*ResourcePolicy) ElementType() reflect.Type

func (*ResourcePolicy) ToResourcePolicyOutput added in v6.8.0

func (i *ResourcePolicy) ToResourcePolicyOutput() ResourcePolicyOutput

func (*ResourcePolicy) ToResourcePolicyOutputWithContext added in v6.8.0

func (i *ResourcePolicy) ToResourcePolicyOutputWithContext(ctx context.Context) ResourcePolicyOutput

type ResourcePolicyArgs added in v6.8.0

type ResourcePolicyArgs struct {
	// The content of the resource policy being updated.
	Policy pulumi.StringInput
	// The Amazon Resource Name (ARN) of the account to create or update a resource policy for.
	ResourceArn pulumi.StringInput
}

The set of arguments for constructing a ResourcePolicy resource.

func (ResourcePolicyArgs) ElementType added in v6.8.0

func (ResourcePolicyArgs) ElementType() reflect.Type

type ResourcePolicyArray added in v6.8.0

type ResourcePolicyArray []ResourcePolicyInput

func (ResourcePolicyArray) ElementType added in v6.8.0

func (ResourcePolicyArray) ElementType() reflect.Type

func (ResourcePolicyArray) ToResourcePolicyArrayOutput added in v6.8.0

func (i ResourcePolicyArray) ToResourcePolicyArrayOutput() ResourcePolicyArrayOutput

func (ResourcePolicyArray) ToResourcePolicyArrayOutputWithContext added in v6.8.0

func (i ResourcePolicyArray) ToResourcePolicyArrayOutputWithContext(ctx context.Context) ResourcePolicyArrayOutput

type ResourcePolicyArrayInput added in v6.8.0

type ResourcePolicyArrayInput interface {
	pulumi.Input

	ToResourcePolicyArrayOutput() ResourcePolicyArrayOutput
	ToResourcePolicyArrayOutputWithContext(context.Context) ResourcePolicyArrayOutput
}

ResourcePolicyArrayInput is an input type that accepts ResourcePolicyArray and ResourcePolicyArrayOutput values. You can construct a concrete instance of `ResourcePolicyArrayInput` via:

ResourcePolicyArray{ ResourcePolicyArgs{...} }

type ResourcePolicyArrayOutput added in v6.8.0

type ResourcePolicyArrayOutput struct{ *pulumi.OutputState }

func (ResourcePolicyArrayOutput) ElementType added in v6.8.0

func (ResourcePolicyArrayOutput) ElementType() reflect.Type

func (ResourcePolicyArrayOutput) Index added in v6.8.0

func (ResourcePolicyArrayOutput) ToResourcePolicyArrayOutput added in v6.8.0

func (o ResourcePolicyArrayOutput) ToResourcePolicyArrayOutput() ResourcePolicyArrayOutput

func (ResourcePolicyArrayOutput) ToResourcePolicyArrayOutputWithContext added in v6.8.0

func (o ResourcePolicyArrayOutput) ToResourcePolicyArrayOutputWithContext(ctx context.Context) ResourcePolicyArrayOutput

type ResourcePolicyInput added in v6.8.0

type ResourcePolicyInput interface {
	pulumi.Input

	ToResourcePolicyOutput() ResourcePolicyOutput
	ToResourcePolicyOutputWithContext(ctx context.Context) ResourcePolicyOutput
}

type ResourcePolicyMap added in v6.8.0

type ResourcePolicyMap map[string]ResourcePolicyInput

func (ResourcePolicyMap) ElementType added in v6.8.0

func (ResourcePolicyMap) ElementType() reflect.Type

func (ResourcePolicyMap) ToResourcePolicyMapOutput added in v6.8.0

func (i ResourcePolicyMap) ToResourcePolicyMapOutput() ResourcePolicyMapOutput

func (ResourcePolicyMap) ToResourcePolicyMapOutputWithContext added in v6.8.0

func (i ResourcePolicyMap) ToResourcePolicyMapOutputWithContext(ctx context.Context) ResourcePolicyMapOutput

type ResourcePolicyMapInput added in v6.8.0

type ResourcePolicyMapInput interface {
	pulumi.Input

	ToResourcePolicyMapOutput() ResourcePolicyMapOutput
	ToResourcePolicyMapOutputWithContext(context.Context) ResourcePolicyMapOutput
}

ResourcePolicyMapInput is an input type that accepts ResourcePolicyMap and ResourcePolicyMapOutput values. You can construct a concrete instance of `ResourcePolicyMapInput` via:

ResourcePolicyMap{ "key": ResourcePolicyArgs{...} }

type ResourcePolicyMapOutput added in v6.8.0

type ResourcePolicyMapOutput struct{ *pulumi.OutputState }

func (ResourcePolicyMapOutput) ElementType added in v6.8.0

func (ResourcePolicyMapOutput) ElementType() reflect.Type

func (ResourcePolicyMapOutput) MapIndex added in v6.8.0

func (ResourcePolicyMapOutput) ToResourcePolicyMapOutput added in v6.8.0

func (o ResourcePolicyMapOutput) ToResourcePolicyMapOutput() ResourcePolicyMapOutput

func (ResourcePolicyMapOutput) ToResourcePolicyMapOutputWithContext added in v6.8.0

func (o ResourcePolicyMapOutput) ToResourcePolicyMapOutputWithContext(ctx context.Context) ResourcePolicyMapOutput

type ResourcePolicyOutput added in v6.8.0

type ResourcePolicyOutput struct{ *pulumi.OutputState }

func (ResourcePolicyOutput) ElementType added in v6.8.0

func (ResourcePolicyOutput) ElementType() reflect.Type

func (ResourcePolicyOutput) Policy added in v6.8.0

The content of the resource policy being updated.

func (ResourcePolicyOutput) ResourceArn added in v6.8.0

func (o ResourcePolicyOutput) ResourceArn() pulumi.StringOutput

The Amazon Resource Name (ARN) of the account to create or update a resource policy for.

func (ResourcePolicyOutput) ToResourcePolicyOutput added in v6.8.0

func (o ResourcePolicyOutput) ToResourcePolicyOutput() ResourcePolicyOutput

func (ResourcePolicyOutput) ToResourcePolicyOutputWithContext added in v6.8.0

func (o ResourcePolicyOutput) ToResourcePolicyOutputWithContext(ctx context.Context) ResourcePolicyOutput

type ResourcePolicyState added in v6.8.0

type ResourcePolicyState struct {
	// The content of the resource policy being updated.
	Policy pulumi.StringPtrInput
	// The Amazon Resource Name (ARN) of the account to create or update a resource policy for.
	ResourceArn pulumi.StringPtrInput
}

func (ResourcePolicyState) ElementType added in v6.8.0

func (ResourcePolicyState) 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

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam"
"github.com/pulumi/pulumi-aws/sdk/v6/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, "example", &iam.RoleArgs{
			Name:             pulumi.String("redshift_scheduled_action"),
			AssumeRolePolicy: pulumi.String(assumeRole.Json),
		})
		if err != nil {
			return err
		}
		example, 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, "example", &iam.PolicyArgs{
			Name:   pulumi.String("redshift_scheduled_action"),
			Policy: pulumi.String(example.Json),
		})
		if err != nil {
			return err
		}
		_, err = iam.NewRolePolicyAttachment(ctx, "example", &iam.RolePolicyAttachmentArgs{
			PolicyArn: examplePolicy.Arn,
			Role:      exampleRole.Name,
		})
		if err != nil {
			return err
		}
		_, err = redshift.NewScheduledAction(ctx, "example", &redshift.ScheduledActionArgs{
			Name:     pulumi.String("tf-redshift-scheduled-action"),
			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
	})
}

``` <!--End PulumiCodeChooser -->

### Resize Cluster Action

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v6/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{
			Name:     pulumi.String("tf-redshift-scheduled-action"),
			Schedule: pulumi.String("cron(00 23 * * ? *)"),
			IamRole:  pulumi.Any(exampleAwsIamRole.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
	})
}

``` <!--End PulumiCodeChooser -->

## Import

Using `pulumi import`, import Redshift Scheduled Action using the `name`. For example:

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

The description of the scheduled action.

func (ScheduledActionOutput) ElementType

func (ScheduledActionOutput) ElementType() reflect.Type

func (ScheduledActionOutput) Enable

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

func (ScheduledActionOutput) EndTime

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

func (ScheduledActionOutput) IamRole

The IAM role to assume to run the scheduled action.

func (ScheduledActionOutput) Name

The scheduled action name.

func (ScheduledActionOutput) Schedule

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

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

func (ScheduledActionOutput) TargetAction

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 SnapshotCopy added in v6.31.0

type SnapshotCopy struct {
	pulumi.CustomResourceState

	// Identifier of the source cluster.
	ClusterIdentifier pulumi.StringOutput `pulumi:"clusterIdentifier"`
	// AWS Region to copy snapshots to.
	//
	// The following arguments are optional:
	DestinationRegion pulumi.StringOutput `pulumi:"destinationRegion"`
	// Number of days to retain newly copied snapshots in the destination AWS Region after they are copied from the source AWS Region. If the value is `-1`, the manual snapshot is retained indefinitely.
	ManualSnapshotRetentionPeriod pulumi.IntOutput `pulumi:"manualSnapshotRetentionPeriod"`
	// Number of days to retain automated snapshots in the destination region after they are copied from the source region.
	RetentionPeriod pulumi.IntOutput `pulumi:"retentionPeriod"`
	// Name of the snapshot copy grant to use when snapshots of an AWS KMS-encrypted cluster are copied to the destination region.
	SnapshotCopyGrantName pulumi.StringPtrOutput `pulumi:"snapshotCopyGrantName"`
}

Resource for managing an AWS Redshift Snapshot Copy.

## Example Usage

### Basic Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := redshift.NewSnapshotCopy(ctx, "example", &redshift.SnapshotCopyArgs{
			ClusterIdentifier: pulumi.Any(exampleAwsRedshiftCluster.Id),
			DestinationRegion: pulumi.String("us-east-1"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Import

Using `pulumi import`, import Redshift Snapshot Copy using the `id`. For example:

```sh $ pulumi import aws:redshift/snapshotCopy:SnapshotCopy example cluster-id-12345678 ```

func GetSnapshotCopy added in v6.31.0

func GetSnapshotCopy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *SnapshotCopyState, opts ...pulumi.ResourceOption) (*SnapshotCopy, error)

GetSnapshotCopy gets an existing SnapshotCopy 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 NewSnapshotCopy added in v6.31.0

func NewSnapshotCopy(ctx *pulumi.Context,
	name string, args *SnapshotCopyArgs, opts ...pulumi.ResourceOption) (*SnapshotCopy, error)

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

func (*SnapshotCopy) ElementType added in v6.31.0

func (*SnapshotCopy) ElementType() reflect.Type

func (*SnapshotCopy) ToSnapshotCopyOutput added in v6.31.0

func (i *SnapshotCopy) ToSnapshotCopyOutput() SnapshotCopyOutput

func (*SnapshotCopy) ToSnapshotCopyOutputWithContext added in v6.31.0

func (i *SnapshotCopy) ToSnapshotCopyOutputWithContext(ctx context.Context) SnapshotCopyOutput

type SnapshotCopyArgs added in v6.31.0

type SnapshotCopyArgs struct {
	// Identifier of the source cluster.
	ClusterIdentifier pulumi.StringInput
	// AWS Region to copy snapshots to.
	//
	// The following arguments are optional:
	DestinationRegion pulumi.StringInput
	// Number of days to retain newly copied snapshots in the destination AWS Region after they are copied from the source AWS Region. If the value is `-1`, the manual snapshot is retained indefinitely.
	ManualSnapshotRetentionPeriod pulumi.IntPtrInput
	// Number of days to retain automated snapshots in the destination region after they are copied from the source region.
	RetentionPeriod pulumi.IntPtrInput
	// Name of the snapshot copy grant to use when snapshots of an AWS KMS-encrypted cluster are copied to the destination region.
	SnapshotCopyGrantName pulumi.StringPtrInput
}

The set of arguments for constructing a SnapshotCopy resource.

func (SnapshotCopyArgs) ElementType added in v6.31.0

func (SnapshotCopyArgs) ElementType() reflect.Type

type SnapshotCopyArray added in v6.31.0

type SnapshotCopyArray []SnapshotCopyInput

func (SnapshotCopyArray) ElementType added in v6.31.0

func (SnapshotCopyArray) ElementType() reflect.Type

func (SnapshotCopyArray) ToSnapshotCopyArrayOutput added in v6.31.0

func (i SnapshotCopyArray) ToSnapshotCopyArrayOutput() SnapshotCopyArrayOutput

func (SnapshotCopyArray) ToSnapshotCopyArrayOutputWithContext added in v6.31.0

func (i SnapshotCopyArray) ToSnapshotCopyArrayOutputWithContext(ctx context.Context) SnapshotCopyArrayOutput

type SnapshotCopyArrayInput added in v6.31.0

type SnapshotCopyArrayInput interface {
	pulumi.Input

	ToSnapshotCopyArrayOutput() SnapshotCopyArrayOutput
	ToSnapshotCopyArrayOutputWithContext(context.Context) SnapshotCopyArrayOutput
}

SnapshotCopyArrayInput is an input type that accepts SnapshotCopyArray and SnapshotCopyArrayOutput values. You can construct a concrete instance of `SnapshotCopyArrayInput` via:

SnapshotCopyArray{ SnapshotCopyArgs{...} }

type SnapshotCopyArrayOutput added in v6.31.0

type SnapshotCopyArrayOutput struct{ *pulumi.OutputState }

func (SnapshotCopyArrayOutput) ElementType added in v6.31.0

func (SnapshotCopyArrayOutput) ElementType() reflect.Type

func (SnapshotCopyArrayOutput) Index added in v6.31.0

func (SnapshotCopyArrayOutput) ToSnapshotCopyArrayOutput added in v6.31.0

func (o SnapshotCopyArrayOutput) ToSnapshotCopyArrayOutput() SnapshotCopyArrayOutput

func (SnapshotCopyArrayOutput) ToSnapshotCopyArrayOutputWithContext added in v6.31.0

func (o SnapshotCopyArrayOutput) ToSnapshotCopyArrayOutputWithContext(ctx context.Context) SnapshotCopyArrayOutput

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.
	//
	// Deprecated: Please use `tags` instead.
	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

<!--Start PulumiCodeChooser --> ```go package main

import (

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

)

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

``` <!--End PulumiCodeChooser -->

## Import

Using `pulumi import`, import Redshift Snapshot Copy Grants by name. For example:

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

Amazon Resource Name (ARN) of snapshot copy grant

func (SnapshotCopyGrantOutput) ElementType

func (SnapshotCopyGrantOutput) ElementType() reflect.Type

func (SnapshotCopyGrantOutput) KmsKeyId

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

func (o SnapshotCopyGrantOutput) SnapshotCopyGrantName() pulumi.StringOutput

A friendly name for identifying the grant.

func (SnapshotCopyGrantOutput) Tags

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 deprecated

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

Deprecated: Please use `tags` instead.

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.
	//
	// Deprecated: Please use `tags` instead.
	TagsAll pulumi.StringMapInput
}

func (SnapshotCopyGrantState) ElementType

func (SnapshotCopyGrantState) ElementType() reflect.Type

type SnapshotCopyInput added in v6.31.0

type SnapshotCopyInput interface {
	pulumi.Input

	ToSnapshotCopyOutput() SnapshotCopyOutput
	ToSnapshotCopyOutputWithContext(ctx context.Context) SnapshotCopyOutput
}

type SnapshotCopyMap added in v6.31.0

type SnapshotCopyMap map[string]SnapshotCopyInput

func (SnapshotCopyMap) ElementType added in v6.31.0

func (SnapshotCopyMap) ElementType() reflect.Type

func (SnapshotCopyMap) ToSnapshotCopyMapOutput added in v6.31.0

func (i SnapshotCopyMap) ToSnapshotCopyMapOutput() SnapshotCopyMapOutput

func (SnapshotCopyMap) ToSnapshotCopyMapOutputWithContext added in v6.31.0

func (i SnapshotCopyMap) ToSnapshotCopyMapOutputWithContext(ctx context.Context) SnapshotCopyMapOutput

type SnapshotCopyMapInput added in v6.31.0

type SnapshotCopyMapInput interface {
	pulumi.Input

	ToSnapshotCopyMapOutput() SnapshotCopyMapOutput
	ToSnapshotCopyMapOutputWithContext(context.Context) SnapshotCopyMapOutput
}

SnapshotCopyMapInput is an input type that accepts SnapshotCopyMap and SnapshotCopyMapOutput values. You can construct a concrete instance of `SnapshotCopyMapInput` via:

SnapshotCopyMap{ "key": SnapshotCopyArgs{...} }

type SnapshotCopyMapOutput added in v6.31.0

type SnapshotCopyMapOutput struct{ *pulumi.OutputState }

func (SnapshotCopyMapOutput) ElementType added in v6.31.0

func (SnapshotCopyMapOutput) ElementType() reflect.Type

func (SnapshotCopyMapOutput) MapIndex added in v6.31.0

func (SnapshotCopyMapOutput) ToSnapshotCopyMapOutput added in v6.31.0

func (o SnapshotCopyMapOutput) ToSnapshotCopyMapOutput() SnapshotCopyMapOutput

func (SnapshotCopyMapOutput) ToSnapshotCopyMapOutputWithContext added in v6.31.0

func (o SnapshotCopyMapOutput) ToSnapshotCopyMapOutputWithContext(ctx context.Context) SnapshotCopyMapOutput

type SnapshotCopyOutput added in v6.31.0

type SnapshotCopyOutput struct{ *pulumi.OutputState }

func (SnapshotCopyOutput) ClusterIdentifier added in v6.31.0

func (o SnapshotCopyOutput) ClusterIdentifier() pulumi.StringOutput

Identifier of the source cluster.

func (SnapshotCopyOutput) DestinationRegion added in v6.31.0

func (o SnapshotCopyOutput) DestinationRegion() pulumi.StringOutput

AWS Region to copy snapshots to.

The following arguments are optional:

func (SnapshotCopyOutput) ElementType added in v6.31.0

func (SnapshotCopyOutput) ElementType() reflect.Type

func (SnapshotCopyOutput) ManualSnapshotRetentionPeriod added in v6.31.0

func (o SnapshotCopyOutput) ManualSnapshotRetentionPeriod() pulumi.IntOutput

Number of days to retain newly copied snapshots in the destination AWS Region after they are copied from the source AWS Region. If the value is `-1`, the manual snapshot is retained indefinitely.

func (SnapshotCopyOutput) RetentionPeriod added in v6.31.0

func (o SnapshotCopyOutput) RetentionPeriod() pulumi.IntOutput

Number of days to retain automated snapshots in the destination region after they are copied from the source region.

func (SnapshotCopyOutput) SnapshotCopyGrantName added in v6.31.0

func (o SnapshotCopyOutput) SnapshotCopyGrantName() pulumi.StringPtrOutput

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

func (SnapshotCopyOutput) ToSnapshotCopyOutput added in v6.31.0

func (o SnapshotCopyOutput) ToSnapshotCopyOutput() SnapshotCopyOutput

func (SnapshotCopyOutput) ToSnapshotCopyOutputWithContext added in v6.31.0

func (o SnapshotCopyOutput) ToSnapshotCopyOutputWithContext(ctx context.Context) SnapshotCopyOutput

type SnapshotCopyState added in v6.31.0

type SnapshotCopyState struct {
	// Identifier of the source cluster.
	ClusterIdentifier pulumi.StringPtrInput
	// AWS Region to copy snapshots to.
	//
	// The following arguments are optional:
	DestinationRegion pulumi.StringPtrInput
	// Number of days to retain newly copied snapshots in the destination AWS Region after they are copied from the source AWS Region. If the value is `-1`, the manual snapshot is retained indefinitely.
	ManualSnapshotRetentionPeriod pulumi.IntPtrInput
	// Number of days to retain automated snapshots in the destination region after they are copied from the source region.
	RetentionPeriod pulumi.IntPtrInput
	// Name of the snapshot copy grant to use when snapshots of an AWS KMS-encrypted cluster are copied to the destination region.
	SnapshotCopyGrantName pulumi.StringPtrInput
}

func (SnapshotCopyState) ElementType added in v6.31.0

func (SnapshotCopyState) 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.
	//
	// Deprecated: Please use `tags` instead.
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
}

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v6/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{
			Identifier: pulumi.String("tf-redshift-snapshot-schedule"),
			Definitions: pulumi.StringArray{
				pulumi.String("rate(12 hours)"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Import

Using `pulumi import`, import Redshift Snapshot Schedule using the `identifier`. For example:

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

<!--Start PulumiCodeChooser --> ```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := redshift.NewCluster(ctx, "default", &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, "default", &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, "default", &redshift.SnapshotScheduleAssociationArgs{
			ClusterIdentifier:  _default.ID(),
			ScheduleIdentifier: defaultSnapshotSchedule.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Import

Using `pulumi import`, import Redshift Snapshot Schedule Association using the `<cluster-identifier>/<schedule-identifier>`. For example:

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

The cluster identifier.

func (SnapshotScheduleAssociationOutput) ElementType

func (SnapshotScheduleAssociationOutput) ScheduleIdentifier

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

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

func (SnapshotScheduleOutput) Definitions

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

The description of the snapshot schedule.

func (SnapshotScheduleOutput) ElementType

func (SnapshotScheduleOutput) ElementType() reflect.Type

func (SnapshotScheduleOutput) ForceDestroy

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

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

func (SnapshotScheduleOutput) IdentifierPrefix

func (o SnapshotScheduleOutput) IdentifierPrefix() pulumi.StringOutput

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

func (SnapshotScheduleOutput) Tags

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 deprecated

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

Deprecated: Please use `tags` instead.

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.
	//
	// Deprecated: Please use `tags` instead.
	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.
	//
	// Deprecated: Please use `tags` instead.
	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

<!--Start PulumiCodeChooser --> ```go package main

import (

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

)

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

``` <!--End PulumiCodeChooser -->

## Import

Using `pulumi import`, import Redshift subnet groups using the `name`. For example:

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

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

func (SubnetGroupOutput) Description

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

The name of the Redshift Subnet group.

func (SubnetGroupOutput) SubnetIds

An array of VPC subnet IDs.

func (SubnetGroupOutput) Tags

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 deprecated

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

Deprecated: Please use `tags` instead.

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.
	//
	// Deprecated: Please use `tags` instead.
	TagsAll pulumi.StringMapInput
}

func (SubnetGroupState) ElementType

func (SubnetGroupState) ElementType() reflect.Type

type UsageLimit

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.
	//
	// Deprecated: Please use `tags` instead.
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
}

Creates a new Amazon Redshift Usage Limit.

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v6/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(exampleAwsRedshiftCluster.Id),
			FeatureType:       pulumi.String("concurrency-scaling"),
			LimitType:         pulumi.String("time"),
			Amount:            pulumi.Int(60),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Import

Using `pulumi import`, import Redshift usage limits using the `id`. For example:

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

func GetUsageLimit

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

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

func (*UsageLimit) ElementType() reflect.Type

func (*UsageLimit) ToUsageLimitOutput

func (i *UsageLimit) ToUsageLimitOutput() UsageLimitOutput

func (*UsageLimit) ToUsageLimitOutputWithContext

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

type UsageLimitArgs

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

func (UsageLimitArgs) ElementType() reflect.Type

type UsageLimitArray

type UsageLimitArray []UsageLimitInput

func (UsageLimitArray) ElementType

func (UsageLimitArray) ElementType() reflect.Type

func (UsageLimitArray) ToUsageLimitArrayOutput

func (i UsageLimitArray) ToUsageLimitArrayOutput() UsageLimitArrayOutput

func (UsageLimitArray) ToUsageLimitArrayOutputWithContext

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

type UsageLimitArrayInput

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

type UsageLimitArrayOutput struct{ *pulumi.OutputState }

func (UsageLimitArrayOutput) ElementType

func (UsageLimitArrayOutput) ElementType() reflect.Type

func (UsageLimitArrayOutput) Index

func (UsageLimitArrayOutput) ToUsageLimitArrayOutput

func (o UsageLimitArrayOutput) ToUsageLimitArrayOutput() UsageLimitArrayOutput

func (UsageLimitArrayOutput) ToUsageLimitArrayOutputWithContext

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

type UsageLimitInput

type UsageLimitInput interface {
	pulumi.Input

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

type UsageLimitMap

type UsageLimitMap map[string]UsageLimitInput

func (UsageLimitMap) ElementType

func (UsageLimitMap) ElementType() reflect.Type

func (UsageLimitMap) ToUsageLimitMapOutput

func (i UsageLimitMap) ToUsageLimitMapOutput() UsageLimitMapOutput

func (UsageLimitMap) ToUsageLimitMapOutputWithContext

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

type UsageLimitMapInput

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

type UsageLimitMapOutput struct{ *pulumi.OutputState }

func (UsageLimitMapOutput) ElementType

func (UsageLimitMapOutput) ElementType() reflect.Type

func (UsageLimitMapOutput) MapIndex

func (UsageLimitMapOutput) ToUsageLimitMapOutput

func (o UsageLimitMapOutput) ToUsageLimitMapOutput() UsageLimitMapOutput

func (UsageLimitMapOutput) ToUsageLimitMapOutputWithContext

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

type UsageLimitOutput

type UsageLimitOutput struct{ *pulumi.OutputState }

func (UsageLimitOutput) Amount

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

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

func (UsageLimitOutput) BreachAction

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

func (o UsageLimitOutput) ClusterIdentifier() pulumi.StringOutput

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

func (UsageLimitOutput) ElementType

func (UsageLimitOutput) ElementType() reflect.Type

func (UsageLimitOutput) FeatureType

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

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

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

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 deprecated

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

Deprecated: Please use `tags` instead.

func (UsageLimitOutput) ToUsageLimitOutput

func (o UsageLimitOutput) ToUsageLimitOutput() UsageLimitOutput

func (UsageLimitOutput) ToUsageLimitOutputWithContext

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

type UsageLimitState

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.
	//
	// Deprecated: Please use `tags` instead.
	TagsAll pulumi.StringMapInput
}

func (UsageLimitState) ElementType

func (UsageLimitState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

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