Snapshot Copy Grant
    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
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const test = new aws.redshift.SnapshotCopyGrant("test", {snapshotCopyGrantName: "my-grant"});
const testCluster = new aws.redshift.Cluster("test", {snapshotCopy: {
    destinationRegion: "us-east-2",
    grantName: test.snapshotCopyGrantName,
}});Content copied to clipboard
import pulumi
import pulumi_aws as aws
test = aws.redshift.SnapshotCopyGrant("test", snapshot_copy_grant_name="my-grant")
test_cluster = aws.redshift.Cluster("test", snapshot_copy=aws.redshift.ClusterSnapshotCopyArgs(
    destination_region="us-east-2",
    grant_name=test.snapshot_copy_grant_name,
))Content copied to clipboard
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
    var test = new Aws.RedShift.SnapshotCopyGrant("test", new()
    {
        SnapshotCopyGrantName = "my-grant",
    });
    var testCluster = new Aws.RedShift.Cluster("test", new()
    {
        SnapshotCopy = new Aws.RedShift.Inputs.ClusterSnapshotCopyArgs
        {
            DestinationRegion = "us-east-2",
            GrantName = test.SnapshotCopyGrantName,
        },
    });
});Content copied to clipboard
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
	})
}Content copied to clipboard
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.redshift.SnapshotCopyGrant;
import com.pulumi.aws.redshift.SnapshotCopyGrantArgs;
import com.pulumi.aws.redshift.Cluster;
import com.pulumi.aws.redshift.ClusterArgs;
import com.pulumi.aws.redshift.inputs.ClusterSnapshotCopyArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        var test = new SnapshotCopyGrant("test", SnapshotCopyGrantArgs.builder()
            .snapshotCopyGrantName("my-grant")
            .build());
        var testCluster = new Cluster("testCluster", ClusterArgs.builder()
            .snapshotCopy(ClusterSnapshotCopyArgs.builder()
                .destinationRegion("us-east-2")
                .grantName(test.snapshotCopyGrantName())
                .build())
            .build());
    }
}Content copied to clipboard
resources:
  test:
    type: aws:redshift:SnapshotCopyGrant
    properties:
      snapshotCopyGrantName: my-grant
  testCluster:
    type: aws:redshift:Cluster
    name: test
    properties:
      snapshotCopy:
        destinationRegion: us-east-2
        grantName: ${test.snapshotCopyGrantName}Content copied to clipboard
Import
Using pulumi import, import Redshift Snapshot Copy Grants by name. For example:
$ pulumi import aws:redshift/snapshotCopyGrant:SnapshotCopyGrant test my-grantContent copied to clipboard