UNPKG

@aws-cdk/aws-glue-alpha

Version:

The CDK Construct Library for AWS::Glue

240 lines (239 loc) 7.82 kB
import * as ec2 from 'aws-cdk-lib/aws-ec2'; import * as cdk from 'aws-cdk-lib/core'; import * as constructs from 'constructs'; /** * The type of the glue connection * * If you need to use a connection type that doesn't exist as a static member, you * can instantiate a `ConnectionType` object, e.g: `new ConnectionType('NEW_TYPE')`. * * @see https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-connectioninput.html#cfn-glue-connection-connectioninput-connectiontype */ export declare class ConnectionType { /** * Designates a connection to a database through Java Database Connectivity (JDBC). */ static readonly JDBC: ConnectionType; /** * Designates a connection to an Apache Kafka streaming platform. */ static readonly KAFKA: ConnectionType; /** * Designates a connection to a MongoDB document database. */ static readonly MONGODB: ConnectionType; /** * Designates a connection used for view validation by Amazon Redshift. */ static readonly VIEW_VALIDATION_REDSHIFT: ConnectionType; /** * Designates a connection used for view validation by Amazon Athena. */ static readonly VIEW_VALIDATION_ATHENA: ConnectionType; /** * Designates a network connection to a data source within an Amazon Virtual Private Cloud environment (Amazon VPC). */ static readonly NETWORK: ConnectionType; /** * Uses configuration settings contained in a connector purchased from AWS Marketplace * to read from and write to data stores that are not natively supported by AWS Glue. */ static readonly MARKETPLACE: ConnectionType; /** * Uses configuration settings contained in a custom connector to read from and write to data stores * that are not natively supported by AWS Glue. */ static readonly CUSTOM: ConnectionType; /** * Designates a connection to Facebook Ads. */ static readonly FACEBOOKADS: ConnectionType; /** * Designates a connection to Google Ads. */ static readonly GOOGLEADS: ConnectionType; /** * Designates a connection to Google Sheets. */ static readonly GOOGLESHEETS: ConnectionType; /** * Designates a connection to Google Analytics 4. */ static readonly GOOGLEANALYTICS4: ConnectionType; /** * Designates a connection to HubSpot. */ static readonly HUBSPOT: ConnectionType; /** * Designates a connection to Instagram Ads. */ static readonly INSTAGRAMADS: ConnectionType; /** * Designates a connection to Intercom. */ static readonly INTERCOM: ConnectionType; /** * Designates a connection to Jira Cloud. */ static readonly JIRACLOUD: ConnectionType; /** * Designates a connection to Adobe Marketo Engage. */ static readonly MARKETO: ConnectionType; /** * Designates a connection to Oracle NetSuite. */ static readonly NETSUITEERP: ConnectionType; /** * Designates a connection to Salesforce using OAuth authentication. */ static readonly SALESFORCE: ConnectionType; /** * Designates a connection to Salesforce Marketing Cloud. */ static readonly SALESFORCEMARKETINGCLOUD: ConnectionType; /** * Designates a connection to Salesforce Marketing Cloud Account Engagement (MCAE). */ static readonly SALESFORCEPARDOT: ConnectionType; /** * Designates a connection to SAP OData. */ static readonly SAPODATA: ConnectionType; /** * Designates a connection to ServiceNow. */ static readonly SERVICENOW: ConnectionType; /** * Designates a connection to Slack. */ static readonly SLACK: ConnectionType; /** * Designates a connection to Snapchat Ads. */ static readonly SNAPCHATADS: ConnectionType; /** * Designates a connection to Stripe. */ static readonly STRIPE: ConnectionType; /** * Designates a connection to Zendesk. */ static readonly ZENDESK: ConnectionType; /** * Designates a connection to Zoho CRM. */ static readonly ZOHOCRM: ConnectionType; /** * The name of this ConnectionType, as expected by Connection resource. */ readonly name: string; constructor(name: string); /** * The connection type name as expected by Connection resource. */ toString(): string; } /** * Interface representing a created or an imported `Connection` */ export interface IConnection extends cdk.IResource { /** * The name of the connection * @attribute */ readonly connectionName: string; /** * The ARN of the connection * @attribute */ readonly connectionArn: string; } /** * Base Connection Options */ export interface ConnectionOptions { /** * The name of the connection * @default cloudformation generated name */ readonly connectionName?: string; /** * The description of the connection. * @default no description */ readonly description?: string; /** * Key-Value pairs that define parameters for the connection. * @default empty properties * @see https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-connect.html */ readonly properties?: { [key: string]: string; }; /** * A list of criteria that can be used in selecting this connection. * This is useful for filtering the results of https://awscli.amazonaws.com/v2/documentation/api/latest/reference/glue/get-connections.html * @default no match criteria */ readonly matchCriteria?: string[]; /** * The list of security groups needed to successfully make this connection e.g. to successfully connect to VPC. * @default no security group */ readonly securityGroups?: ec2.ISecurityGroup[]; /** * The VPC subnet to connect to resources within a VPC. See more at https://docs.aws.amazon.com/glue/latest/dg/start-connecting.html. * @default no subnet */ readonly subnet?: ec2.ISubnet; } /** * Construction properties for `Connection` */ export interface ConnectionProps extends ConnectionOptions { /** * The type of the connection */ readonly type: ConnectionType; } /** * An AWS Glue connection to a data source. */ export declare class Connection extends cdk.Resource implements IConnection { /** Uniquely identifies this class. */ static readonly PROPERTY_INJECTION_ID: string; /** * Creates a Connection construct that represents an external connection. * * @param scope The scope creating construct (usually `this`). * @param id The construct's id. * @param connectionArn arn of external connection. */ static fromConnectionArn(scope: constructs.Construct, id: string, connectionArn: string): IConnection; /** * Creates a Connection construct that represents an external connection. * * @param scope The scope creating construct (usually `this`). * @param id The construct's id. * @param connectionName name of external connection. */ static fromConnectionName(scope: constructs.Construct, id: string, connectionName: string): IConnection; private static buildConnectionArn; /** * The ARN of the connection */ readonly connectionArn: string; /** * The name of the connection */ readonly connectionName: string; private readonly properties; constructor(scope: constructs.Construct, id: string, props: ConnectionProps); /** * Add additional connection parameters * @param key parameter key * @param value parameter value */ addProperty(key: string, value: string): void; }