UNPKG

@cdklabs/cdk-appflow

Version:

*Note:* this library is currently in technical preview.

50 lines (49 loc) 2.23 kB
import { ICluster } from "@aws-cdk/aws-redshift-alpha"; import { SecretValue } from "aws-cdk-lib"; import { CfnConnectorProfile } from "aws-cdk-lib/aws-appflow"; import { IRole } from "aws-cdk-lib/aws-iam"; import { Construct } from "constructs"; import { S3Location } from "../core"; import { ConnectorProfileBase, ConnectorProfileProps } from "../core/connectors/connector-profile"; export interface RedshiftConnectorBasicCredentials { readonly username?: string; readonly password?: SecretValue; } export interface RedshiftConnectorProfileProps extends ConnectorProfileProps { readonly basicAuth: RedshiftConnectorBasicCredentials; /** * An intermediate location for the data retrieved from the flow source that will be further transferred to the Redshfit database */ readonly intermediateLocation: S3Location; /** * The Redshift cluster to use this connector profile with */ readonly cluster: ICluster; /** * An IAM Role that AppFlow will assume to interact with the Redshift cluster's Data API * * @default autogenerated IAM role */ readonly dataApiRole?: IRole; /** * The name of the database which the RedshiftConnectorProfile will be working with */ readonly databaseName: string; /** * An IAM Role that the Redshift cluster will assume to get data from the intermiediate S3 Bucket */ readonly bucketAccessRole?: IRole; } export declare class RedshiftConnectorProfile extends ConnectorProfileBase { static fromConnectionProfileArn(scope: Construct, id: string, arn: string): RedshiftConnectorProfile; static fromConnectionProfileName(scope: Construct, id: string, name: string): RedshiftConnectorProfile; /** * @internal */ readonly _location: S3Location; constructor(scope: Construct, id: string, props: RedshiftConnectorProfileProps); protected buildConnectorProfileProperties(props: ConnectorProfileProps): CfnConnectorProfile.ConnectorProfilePropertiesProperty; protected buildConnectorProfileCredentials(props: ConnectorProfileProps): CfnConnectorProfile.ConnectorProfileCredentialsProperty; private buildRedshiftAccessRole; private buildAppFlowDataApiRole; }