Skip to content
GitHubXDiscordRSS

Integration

Learn how to create, update, and manage AWS Redshift Integrations using Alchemy Cloud Control.

The Integration resource allows you to manage AWS Redshift Integrations for secure data sharing between AWS services and your Redshift cluster.

Create a basic Redshift integration with required properties and a common optional property.

import AWS from "alchemy/aws/control";
const redshiftIntegration = await AWS.Redshift.Integration("basicIntegration", {
SourceArn: "arn:aws:s3:::my-data-bucket",
TargetArn: "arn:aws:redshift:us-west-2:123456789012:cluster:my-cluster",
KMSKeyId: "arn:aws:kms:us-west-2:123456789012:key/my-key-id" // Optional
});

Configure a Redshift integration with additional encryption context and tags for better management.

const advancedIntegration = await AWS.Redshift.Integration("advancedIntegration", {
SourceArn: "arn:aws:s3:::my-secure-data-bucket",
TargetArn: "arn:aws:redshift:us-west-2:123456789012:cluster:my-cluster",
KMSKeyId: "arn:aws:kms:us-west-2:123456789012:key/my-key-id",
AdditionalEncryptionContext: {
"Project": "DataPipeline",
"Environment": "Production"
},
Tags: [
{ Key: "Owner", Value: "DataTeam" },
{ Key: "Environment", Value: "Production" }
]
});

If you want to adopt an existing Redshift integration rather than creating a new one, you can set the adopt flag to true.

const adoptIntegration = await AWS.Redshift.Integration("adoptedIntegration", {
SourceArn: "arn:aws:s3:::existing-bucket",
TargetArn: "arn:aws:redshift:us-west-2:123456789012:cluster:my-cluster",
adopt: true // This will adopt the existing resource if it exists
});