Integration
The Integration resource allows you to manage AWS Redshift Integrations for secure data sharing between AWS services and your Redshift cluster.
Minimal Example
Section titled “Minimal Example”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});
Advanced Configuration
Section titled “Advanced Configuration”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" } ]});
Adoption of Existing Resources
Section titled “Adoption of Existing Resources”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});