aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
943 lines • 255 kB
TypeScript
import * as cdk from "../../core";
import * as constructs from "constructs";
import * as cfn_parse from "../../core/lib/helpers-internal";
/**
* The `AWS::Glue::Classifier` resource creates an AWS Glue classifier that categorizes data sources and specifies schemas.
*
* For more information, see [Adding Classifiers to a Crawler](https://docs.aws.amazon.com/glue/latest/dg/add-classifier.html) and [Classifier Structure](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-crawler-classifiers.html#aws-glue-api-crawler-classifiers-Classifier) in the *AWS Glue Developer Guide* .
*
* @cloudformationResource AWS::Glue::Classifier
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-classifier.html
*/
export declare class CfnClassifier extends cdk.CfnResource implements cdk.IInspectable {
/**
* The CloudFormation resource type name for this resource class.
*/
static readonly CFN_RESOURCE_TYPE_NAME: string;
/**
* Build a CfnClassifier from CloudFormation properties
*
* A factory method that creates a new instance of this class from an object
* containing the CloudFormation properties of this resource.
* Used in the @aws-cdk/cloudformation-include module.
*
* @internal
*/
static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnClassifier;
/**
* @cloudformationAttribute Id
*/
readonly attrId: string;
/**
* A classifier for comma-separated values (CSV).
*/
csvClassifier?: CfnClassifier.CsvClassifierProperty | cdk.IResolvable;
/**
* A classifier that uses `grok` .
*/
grokClassifier?: CfnClassifier.GrokClassifierProperty | cdk.IResolvable;
/**
* A classifier for JSON content.
*/
jsonClassifier?: cdk.IResolvable | CfnClassifier.JsonClassifierProperty;
/**
* A classifier for XML content.
*/
xmlClassifier?: cdk.IResolvable | CfnClassifier.XMLClassifierProperty;
/**
* @param scope Scope in which this resource is defined
* @param id Construct identifier for this resource (unique in its scope)
* @param props Resource properties
*/
constructor(scope: constructs.Construct, id: string, props?: CfnClassifierProps);
protected get cfnProperties(): Record<string, any>;
/**
* Examines the CloudFormation resource and discloses attributes
*
* @param inspector tree inspector to collect and process attributes
*/
inspect(inspector: cdk.TreeInspector): void;
protected renderProperties(props: Record<string, any>): Record<string, any>;
}
export declare namespace CfnClassifier {
/**
* A classifier for `XML` content.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-xmlclassifier.html
*/
interface XMLClassifierProperty {
/**
* An identifier of the data format that the classifier matches.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-xmlclassifier.html#cfn-glue-classifier-xmlclassifier-classification
*/
readonly classification: string;
/**
* The name of the classifier.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-xmlclassifier.html#cfn-glue-classifier-xmlclassifier-name
*/
readonly name?: string;
/**
* The XML tag designating the element that contains each record in an XML document being parsed.
*
* This can't identify a self-closing element (closed by `/>` ). An empty row element that contains only attributes can be parsed as long as it ends with a closing tag (for example, `<row item_a="A" item_b="B"></row>` is okay, but `<row item_a="A" item_b="B" />` is not).
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-xmlclassifier.html#cfn-glue-classifier-xmlclassifier-rowtag
*/
readonly rowTag: string;
}
/**
* A classifier for `JSON` content.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-jsonclassifier.html
*/
interface JsonClassifierProperty {
/**
* A `JsonPath` string defining the JSON data for the classifier to classify.
*
* AWS Glue supports a subset of `JsonPath` , as described in [Writing JsonPath Custom Classifiers](https://docs.aws.amazon.com/glue/latest/dg/custom-classifier.html#custom-classifier-json) .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-jsonclassifier.html#cfn-glue-classifier-jsonclassifier-jsonpath
*/
readonly jsonPath: string;
/**
* The name of the classifier.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-jsonclassifier.html#cfn-glue-classifier-jsonclassifier-name
*/
readonly name?: string;
}
/**
* A classifier for custom `CSV` content.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-csvclassifier.html
*/
interface CsvClassifierProperty {
/**
* Enables the processing of files that contain only one column.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-csvclassifier.html#cfn-glue-classifier-csvclassifier-allowsinglecolumn
*/
readonly allowSingleColumn?: boolean | cdk.IResolvable;
/**
* Indicates whether the CSV file contains custom data types.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-csvclassifier.html#cfn-glue-classifier-csvclassifier-containscustomdatatype
*/
readonly containsCustomDatatype?: Array<string>;
/**
* Indicates whether the CSV file contains a header.
*
* A value of `UNKNOWN` specifies that the classifier will detect whether the CSV file contains headings.
*
* A value of `PRESENT` specifies that the CSV file contains headings.
*
* A value of `ABSENT` specifies that the CSV file does not contain headings.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-csvclassifier.html#cfn-glue-classifier-csvclassifier-containsheader
*/
readonly containsHeader?: string;
/**
* Enables the configuration of custom data types.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-csvclassifier.html#cfn-glue-classifier-csvclassifier-customdatatypeconfigured
*/
readonly customDatatypeConfigured?: boolean | cdk.IResolvable;
/**
* A custom symbol to denote what separates each column entry in the row.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-csvclassifier.html#cfn-glue-classifier-csvclassifier-delimiter
*/
readonly delimiter?: string;
/**
* Specifies not to trim values before identifying the type of column values.
*
* The default value is `true` .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-csvclassifier.html#cfn-glue-classifier-csvclassifier-disablevaluetrimming
*/
readonly disableValueTrimming?: boolean | cdk.IResolvable;
/**
* A list of strings representing column names.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-csvclassifier.html#cfn-glue-classifier-csvclassifier-header
*/
readonly header?: Array<string>;
/**
* The name of the classifier.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-csvclassifier.html#cfn-glue-classifier-csvclassifier-name
*/
readonly name?: string;
/**
* A custom symbol to denote what combines content into a single column value.
*
* It must be different from the column delimiter.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-csvclassifier.html#cfn-glue-classifier-csvclassifier-quotesymbol
*/
readonly quoteSymbol?: string;
}
/**
* A classifier that uses `grok` patterns.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-grokclassifier.html
*/
interface GrokClassifierProperty {
/**
* An identifier of the data format that the classifier matches, such as Twitter, JSON, Omniture logs, and so on.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-grokclassifier.html#cfn-glue-classifier-grokclassifier-classification
*/
readonly classification: string;
/**
* Optional custom grok patterns defined by this classifier.
*
* For more information, see custom patterns in [Writing Custom Classifiers](https://docs.aws.amazon.com/glue/latest/dg/custom-classifier.html) .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-grokclassifier.html#cfn-glue-classifier-grokclassifier-custompatterns
*/
readonly customPatterns?: string;
/**
* The grok pattern applied to a data store by this classifier.
*
* For more information, see built-in patterns in [Writing Custom Classifiers](https://docs.aws.amazon.com/glue/latest/dg/custom-classifier.html) .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-grokclassifier.html#cfn-glue-classifier-grokclassifier-grokpattern
*/
readonly grokPattern: string;
/**
* The name of the classifier.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-grokclassifier.html#cfn-glue-classifier-grokclassifier-name
*/
readonly name?: string;
}
}
/**
* Properties for defining a `CfnClassifier`
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-classifier.html
*/
export interface CfnClassifierProps {
/**
* A classifier for comma-separated values (CSV).
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-classifier.html#cfn-glue-classifier-csvclassifier
*/
readonly csvClassifier?: CfnClassifier.CsvClassifierProperty | cdk.IResolvable;
/**
* A classifier that uses `grok` .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-classifier.html#cfn-glue-classifier-grokclassifier
*/
readonly grokClassifier?: CfnClassifier.GrokClassifierProperty | cdk.IResolvable;
/**
* A classifier for JSON content.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-classifier.html#cfn-glue-classifier-jsonclassifier
*/
readonly jsonClassifier?: cdk.IResolvable | CfnClassifier.JsonClassifierProperty;
/**
* A classifier for XML content.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-classifier.html#cfn-glue-classifier-xmlclassifier
*/
readonly xmlClassifier?: cdk.IResolvable | CfnClassifier.XMLClassifierProperty;
}
/**
* The `AWS::Glue::Connection` resource specifies an AWS Glue connection to a data source.
*
* For more information, see [Adding a Connection to Your Data Store](https://docs.aws.amazon.com/glue/latest/dg/populate-add-connection.html) and [Connection Structure](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-catalog-connections.html#aws-glue-api-catalog-connections-Connection) in the *AWS Glue Developer Guide* .
*
* @cloudformationResource AWS::Glue::Connection
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-connection.html
*/
export declare class CfnConnection extends cdk.CfnResource implements cdk.IInspectable {
/**
* The CloudFormation resource type name for this resource class.
*/
static readonly CFN_RESOURCE_TYPE_NAME: string;
/**
* Build a CfnConnection from CloudFormation properties
*
* A factory method that creates a new instance of this class from an object
* containing the CloudFormation properties of this resource.
* Used in the @aws-cdk/cloudformation-include module.
*
* @internal
*/
static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnConnection;
/**
* @cloudformationAttribute Id
*/
readonly attrId: string;
/**
* The ID of the data catalog to create the catalog object in.
*/
catalogId: string;
/**
* The connection that you want to create.
*/
connectionInput: CfnConnection.ConnectionInputProperty | cdk.IResolvable;
/**
* @param scope Scope in which this resource is defined
* @param id Construct identifier for this resource (unique in its scope)
* @param props Resource properties
*/
constructor(scope: constructs.Construct, id: string, props: CfnConnectionProps);
protected get cfnProperties(): Record<string, any>;
/**
* Examines the CloudFormation resource and discloses attributes
*
* @param inspector tree inspector to collect and process attributes
*/
inspect(inspector: cdk.TreeInspector): void;
protected renderProperties(props: Record<string, any>): Record<string, any>;
}
export declare namespace CfnConnection {
/**
* A structure that is used to specify a connection to create or update.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-connectioninput.html
*/
interface ConnectionInputProperty {
/**
* Connection properties specific to the Athena compute environment.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-connectioninput.html#cfn-glue-connection-connectioninput-athenaproperties
*/
readonly athenaProperties?: any | cdk.IResolvable;
/**
* The authentication properties of the connection.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-connectioninput.html#cfn-glue-connection-connectioninput-authenticationconfiguration
*/
readonly authenticationConfiguration?: CfnConnection.AuthenticationConfigurationInputProperty | cdk.IResolvable;
/**
* These key-value pairs define parameters for the connection.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-connectioninput.html#cfn-glue-connection-connectioninput-connectionproperties
*/
readonly connectionProperties?: any | cdk.IResolvable;
/**
* The type of the connection. Currently, these types are supported:.
*
* - `JDBC` - Designates a connection to a database through Java Database Connectivity (JDBC).
*
* `JDBC` Connections use the following ConnectionParameters.
*
* - Required: All of ( `HOST` , `PORT` , `JDBC_ENGINE` ) or `JDBC_CONNECTION_URL` .
* - Required: All of ( `USERNAME` , `PASSWORD` ) or `SECRET_ID` .
* - Optional: `JDBC_ENFORCE_SSL` , `CUSTOM_JDBC_CERT` , `CUSTOM_JDBC_CERT_STRING` , `SKIP_CUSTOM_JDBC_CERT_VALIDATION` . These parameters are used to configure SSL with JDBC.
* - `KAFKA` - Designates a connection to an Apache Kafka streaming platform.
*
* `KAFKA` Connections use the following ConnectionParameters.
*
* - Required: `KAFKA_BOOTSTRAP_SERVERS` .
* - Optional: `KAFKA_SSL_ENABLED` , `KAFKA_CUSTOM_CERT` , `KAFKA_SKIP_CUSTOM_CERT_VALIDATION` . These parameters are used to configure SSL with `KAFKA` .
* - Optional: `KAFKA_CLIENT_KEYSTORE` , `KAFKA_CLIENT_KEYSTORE_PASSWORD` , `KAFKA_CLIENT_KEY_PASSWORD` , `ENCRYPTED_KAFKA_CLIENT_KEYSTORE_PASSWORD` , `ENCRYPTED_KAFKA_CLIENT_KEY_PASSWORD` . These parameters are used to configure TLS client configuration with SSL in `KAFKA` .
* - Optional: `KAFKA_SASL_MECHANISM` . Can be specified as `SCRAM-SHA-512` , `GSSAPI` , or `AWS_MSK_IAM` .
* - Optional: `KAFKA_SASL_SCRAM_USERNAME` , `KAFKA_SASL_SCRAM_PASSWORD` , `ENCRYPTED_KAFKA_SASL_SCRAM_PASSWORD` . These parameters are used to configure SASL/SCRAM-SHA-512 authentication with `KAFKA` .
* - Optional: `KAFKA_SASL_GSSAPI_KEYTAB` , `KAFKA_SASL_GSSAPI_KRB5_CONF` , `KAFKA_SASL_GSSAPI_SERVICE` , `KAFKA_SASL_GSSAPI_PRINCIPAL` . These parameters are used to configure SASL/GSSAPI authentication with `KAFKA` .
* - `MONGODB` - Designates a connection to a MongoDB document database.
*
* `MONGODB` Connections use the following ConnectionParameters.
*
* - Required: `CONNECTION_URL` .
* - Required: All of ( `USERNAME` , `PASSWORD` ) or `SECRET_ID` .
* - `VIEW_VALIDATION_REDSHIFT` - Designates a connection used for view validation by Amazon Redshift.
* - `VIEW_VALIDATION_ATHENA` - Designates a connection used for view validation by Amazon Athena.
* - `NETWORK` - Designates a network connection to a data source within an Amazon Virtual Private Cloud environment (Amazon VPC).
*
* `NETWORK` Connections do not require ConnectionParameters. Instead, provide a PhysicalConnectionRequirements.
* - `MARKETPLACE` - 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 .
*
* `MARKETPLACE` Connections use the following ConnectionParameters.
*
* - Required: `CONNECTOR_TYPE` , `CONNECTOR_URL` , `CONNECTOR_CLASS_NAME` , `CONNECTION_URL` .
* - Required for `JDBC` `CONNECTOR_TYPE` connections: All of ( `USERNAME` , `PASSWORD` ) or `SECRET_ID` .
* - `CUSTOM` - Uses configuration settings contained in a custom connector to read from and write to data stores that are not natively supported by AWS Glue .
*
* Additionally, a `ConnectionType` for the following SaaS connectors is supported:
*
* - `FACEBOOKADS` - Designates a connection to Facebook Ads.
* - `GOOGLEADS` - Designates a connection to Google Ads.
* - `GOOGLESHEETS` - Designates a connection to Google Sheets.
* - `GOOGLEANALYTICS4` - Designates a connection to Google Analytics 4.
* - `HUBSPOT` - Designates a connection to HubSpot.
* - `INSTAGRAMADS` - Designates a connection to Instagram Ads.
* - `INTERCOM` - Designates a connection to Intercom.
* - `JIRACLOUD` - Designates a connection to Jira Cloud.
* - `MARKETO` - Designates a connection to Adobe Marketo Engage.
* - `NETSUITEERP` - Designates a connection to Oracle NetSuite.
* - `SALESFORCE` - Designates a connection to Salesforce using OAuth authentication.
* - `SALESFORCEMARKETINGCLOUD` - Designates a connection to Salesforce Marketing Cloud.
* - `SALESFORCEPARDOT` - Designates a connection to Salesforce Marketing Cloud Account Engagement (MCAE).
* - `SAPODATA` - Designates a connection to SAP OData.
* - `SERVICENOW` - Designates a connection to ServiceNow.
* - `SLACK` - Designates a connection to Slack.
* - `SNAPCHATADS` - Designates a connection to Snapchat Ads.
* - `STRIPE` - Designates a connection to Stripe.
* - `ZENDESK` - Designates a connection to Zendesk.
* - `ZOHOCRM` - Designates a connection to Zoho CRM.
*
* For more information on the connection parameters needed for a particular connector, see the documentation for the connector in [Adding an AWS Glue connection](https://docs.aws.amazon.com/glue/latest/dg/console-connections.html) in the AWS Glue User Guide.
*
* `SFTP` is not supported.
*
* For more information about how optional ConnectionProperties are used to configure features in AWS Glue , consult [AWS Glue connection properties](https://docs.aws.amazon.com/glue/latest/dg/connection-defining.html) .
*
* For more information about how optional ConnectionProperties are used to configure features in AWS Glue Studio, consult [Using connectors and connections](https://docs.aws.amazon.com/glue/latest/ug/connectors-chapter.html) .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-connectioninput.html#cfn-glue-connection-connectioninput-connectiontype
*/
readonly connectionType: string;
/**
* The description of the connection.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-connectioninput.html#cfn-glue-connection-connectioninput-description
*/
readonly description?: string;
/**
* A list of criteria that can be used in selecting this connection.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-connectioninput.html#cfn-glue-connection-connectioninput-matchcriteria
*/
readonly matchCriteria?: Array<string>;
/**
* The name of the connection.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-connectioninput.html#cfn-glue-connection-connectioninput-name
*/
readonly name?: string;
/**
* The physical connection requirements, such as virtual private cloud (VPC) and `SecurityGroup` , that are needed to successfully make this connection.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-connectioninput.html#cfn-glue-connection-connectioninput-physicalconnectionrequirements
*/
readonly physicalConnectionRequirements?: cdk.IResolvable | CfnConnection.PhysicalConnectionRequirementsProperty;
/**
* Connection properties specific to the Python compute environment.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-connectioninput.html#cfn-glue-connection-connectioninput-pythonproperties
*/
readonly pythonProperties?: any | cdk.IResolvable;
/**
* Connection properties specific to the Spark compute environment.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-connectioninput.html#cfn-glue-connection-connectioninput-sparkproperties
*/
readonly sparkProperties?: any | cdk.IResolvable;
/**
* A flag to validate the credentials during create connection.
*
* Default is true.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-connectioninput.html#cfn-glue-connection-connectioninput-validatecredentials
*/
readonly validateCredentials?: boolean | cdk.IResolvable;
/**
* The compute environments that the specified connection properties are validated against.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-connectioninput.html#cfn-glue-connection-connectioninput-validateforcomputeenvironments
*/
readonly validateForComputeEnvironments?: Array<string>;
}
/**
* The OAuth client app in GetConnection response.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-physicalconnectionrequirements.html
*/
interface PhysicalConnectionRequirementsProperty {
/**
* The connection's Availability Zone.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-physicalconnectionrequirements.html#cfn-glue-connection-physicalconnectionrequirements-availabilityzone
*/
readonly availabilityZone?: string;
/**
* The security group ID list used by the connection.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-physicalconnectionrequirements.html#cfn-glue-connection-physicalconnectionrequirements-securitygroupidlist
*/
readonly securityGroupIdList?: Array<string>;
/**
* The subnet ID used by the connection.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-physicalconnectionrequirements.html#cfn-glue-connection-physicalconnectionrequirements-subnetid
*/
readonly subnetId?: string;
}
/**
* A structure containing the authentication configuration in the CreateConnection request.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-authenticationconfigurationinput.html
*/
interface AuthenticationConfigurationInputProperty {
/**
* A structure containing the authentication configuration in the CreateConnection request.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-authenticationconfigurationinput.html#cfn-glue-connection-authenticationconfigurationinput-authenticationtype
*/
readonly authenticationType: string;
/**
* The credentials used when the authentication type is basic authentication.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-authenticationconfigurationinput.html#cfn-glue-connection-authenticationconfigurationinput-basicauthenticationcredentials
*/
readonly basicAuthenticationCredentials?: CfnConnection.BasicAuthenticationCredentialsProperty | cdk.IResolvable;
/**
* The credentials used when the authentication type is custom authentication.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-authenticationconfigurationinput.html#cfn-glue-connection-authenticationconfigurationinput-customauthenticationcredentials
*/
readonly customAuthenticationCredentials?: any | cdk.IResolvable;
/**
* The ARN of the KMS key used to encrypt the connection.
*
* Only taken an as input in the request and stored in the Secret Manager.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-authenticationconfigurationinput.html#cfn-glue-connection-authenticationconfigurationinput-kmskeyarn
*/
readonly kmsKeyArn?: string;
/**
* The properties for OAuth2 authentication in the CreateConnection request.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-authenticationconfigurationinput.html#cfn-glue-connection-authenticationconfigurationinput-oauth2properties
*/
readonly oAuth2Properties?: cdk.IResolvable | CfnConnection.OAuth2PropertiesInputProperty;
/**
* The secret manager ARN to store credentials in the CreateConnection request.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-authenticationconfigurationinput.html#cfn-glue-connection-authenticationconfigurationinput-secretarn
*/
readonly secretArn?: string;
}
/**
* A structure containing properties for OAuth2 in the CreateConnection request.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-oauth2propertiesinput.html
*/
interface OAuth2PropertiesInputProperty {
/**
* The set of properties required for the the OAuth2 `AUTHORIZATION_CODE` grant type.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-oauth2propertiesinput.html#cfn-glue-connection-oauth2propertiesinput-authorizationcodeproperties
*/
readonly authorizationCodeProperties?: CfnConnection.AuthorizationCodePropertiesProperty | cdk.IResolvable;
/**
* The client application type in the CreateConnection request.
*
* For example, `AWS_MANAGED` or `USER_MANAGED` .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-oauth2propertiesinput.html#cfn-glue-connection-oauth2propertiesinput-oauth2clientapplication
*/
readonly oAuth2ClientApplication?: cdk.IResolvable | CfnConnection.OAuth2ClientApplicationProperty;
/**
* The credentials used when the authentication type is OAuth2 authentication.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-oauth2propertiesinput.html#cfn-glue-connection-oauth2propertiesinput-oauth2credentials
*/
readonly oAuth2Credentials?: cdk.IResolvable | CfnConnection.OAuth2CredentialsProperty;
/**
* The OAuth2 grant type in the CreateConnection request.
*
* For example, `AUTHORIZATION_CODE` , `JWT_BEARER` , or `CLIENT_CREDENTIALS` .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-oauth2propertiesinput.html#cfn-glue-connection-oauth2propertiesinput-oauth2granttype
*/
readonly oAuth2GrantType?: string;
/**
* The URL of the provider's authentication server, to exchange an authorization code for an access token.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-oauth2propertiesinput.html#cfn-glue-connection-oauth2propertiesinput-tokenurl
*/
readonly tokenUrl?: string;
/**
* A map of parameters that are added to the token `GET` request.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-oauth2propertiesinput.html#cfn-glue-connection-oauth2propertiesinput-tokenurlparametersmap
*/
readonly tokenUrlParametersMap?: any | cdk.IResolvable;
}
/**
* The set of properties required for the the OAuth2 `AUTHORIZATION_CODE` grant type workflow.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-authorizationcodeproperties.html
*/
interface AuthorizationCodePropertiesProperty {
/**
* An authorization code to be used in the third leg of the `AUTHORIZATION_CODE` grant workflow.
*
* This is a single-use code which becomes invalid once exchanged for an access token, thus it is acceptable to have this value as a request parameter.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-authorizationcodeproperties.html#cfn-glue-connection-authorizationcodeproperties-authorizationcode
*/
readonly authorizationCode?: string;
/**
* The redirect URI where the user gets redirected to by authorization server when issuing an authorization code.
*
* The URI is subsequently used when the authorization code is exchanged for an access token.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-authorizationcodeproperties.html#cfn-glue-connection-authorizationcodeproperties-redirecturi
*/
readonly redirectUri?: string;
}
/**
* The OAuth2 client app used for the connection.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-oauth2clientapplication.html
*/
interface OAuth2ClientApplicationProperty {
/**
* The reference to the SaaS-side client app that is AWS managed.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-oauth2clientapplication.html#cfn-glue-connection-oauth2clientapplication-awsmanagedclientapplicationreference
*/
readonly awsManagedClientApplicationReference?: string;
/**
* The client application clientID if the ClientAppType is `USER_MANAGED` .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-oauth2clientapplication.html#cfn-glue-connection-oauth2clientapplication-usermanagedclientapplicationclientid
*/
readonly userManagedClientApplicationClientId?: string;
}
/**
* The credentials used when the authentication type is OAuth2 authentication.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-oauth2credentials.html
*/
interface OAuth2CredentialsProperty {
/**
* The access token used when the authentication type is OAuth2.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-oauth2credentials.html#cfn-glue-connection-oauth2credentials-accesstoken
*/
readonly accessToken?: string;
/**
* The JSON Web Token (JWT) used when the authentication type is OAuth2.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-oauth2credentials.html#cfn-glue-connection-oauth2credentials-jwttoken
*/
readonly jwtToken?: string;
/**
* The refresh token used when the authentication type is OAuth2.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-oauth2credentials.html#cfn-glue-connection-oauth2credentials-refreshtoken
*/
readonly refreshToken?: string;
/**
* The client application client secret if the client application is user managed.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-oauth2credentials.html#cfn-glue-connection-oauth2credentials-usermanagedclientapplicationclientsecret
*/
readonly userManagedClientApplicationClientSecret?: string;
}
/**
* For supplying basic auth credentials when not providing a `SecretArn` value.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-basicauthenticationcredentials.html
*/
interface BasicAuthenticationCredentialsProperty {
/**
* The password to connect to the data source.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-basicauthenticationcredentials.html#cfn-glue-connection-basicauthenticationcredentials-password
*/
readonly password?: string;
/**
* The username to connect to the data source.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-basicauthenticationcredentials.html#cfn-glue-connection-basicauthenticationcredentials-username
*/
readonly username?: string;
}
}
/**
* Properties for defining a `CfnConnection`
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-connection.html
*/
export interface CfnConnectionProps {
/**
* The ID of the data catalog to create the catalog object in.
*
* Currently, this should be the AWS account ID.
*
* > To specify the account ID, you can use the `Ref` intrinsic function with the `AWS::AccountId` pseudo parameter. For example: `!Ref AWS::AccountId` .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-connection.html#cfn-glue-connection-catalogid
*/
readonly catalogId: string;
/**
* The connection that you want to create.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-connection.html#cfn-glue-connection-connectioninput
*/
readonly connectionInput: CfnConnection.ConnectionInputProperty | cdk.IResolvable;
}
/**
* The `AWS::Glue::Crawler` resource specifies an AWS Glue crawler.
*
* For more information, see [Cataloging Tables with a Crawler](https://docs.aws.amazon.com/glue/latest/dg/add-crawler.html) and [Crawler Structure](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-crawler-crawling.html#aws-glue-api-crawler-crawling-Crawler) in the *AWS Glue Developer Guide* .
*
* @cloudformationResource AWS::Glue::Crawler
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-crawler.html
*/
export declare class CfnCrawler extends cdk.CfnResource implements cdk.IInspectable, cdk.ITaggable {
/**
* The CloudFormation resource type name for this resource class.
*/
static readonly CFN_RESOURCE_TYPE_NAME: string;
/**
* Build a CfnCrawler from CloudFormation properties
*
* A factory method that creates a new instance of this class from an object
* containing the CloudFormation properties of this resource.
* Used in the @aws-cdk/cloudformation-include module.
*
* @internal
*/
static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnCrawler;
/**
* A list of UTF-8 strings that specify the names of custom classifiers that are associated with the crawler.
*/
classifiers?: Array<string>;
/**
* Crawler configuration information.
*/
configuration?: string;
/**
* The name of the `SecurityConfiguration` structure to be used by this crawler.
*/
crawlerSecurityConfiguration?: string;
/**
* The name of the database in which the crawler's output is stored.
*/
databaseName?: string;
/**
* A description of the crawler.
*/
description?: string;
/**
* Specifies whether the crawler should use AWS Lake Formation credentials for the crawler instead of the IAM role credentials.
*/
lakeFormationConfiguration?: cdk.IResolvable | CfnCrawler.LakeFormationConfigurationProperty;
/**
* The name of the crawler.
*/
name?: string;
/**
* A policy that specifies whether to crawl the entire dataset again, or to crawl only folders that were added since the last crawler run.
*/
recrawlPolicy?: cdk.IResolvable | CfnCrawler.RecrawlPolicyProperty;
/**
* The Amazon Resource Name (ARN) of an IAM role that's used to access customer resources, such as Amazon Simple Storage Service (Amazon S3) data.
*/
role: string;
/**
* For scheduled crawlers, the schedule when the crawler runs.
*/
schedule?: cdk.IResolvable | CfnCrawler.ScheduleProperty;
/**
* The policy that specifies update and delete behaviors for the crawler.
*/
schemaChangePolicy?: cdk.IResolvable | CfnCrawler.SchemaChangePolicyProperty;
/**
* The prefix added to the names of tables that are created.
*/
tablePrefix?: string;
/**
* Tag Manager which manages the tags for this resource
*/
readonly tags: cdk.TagManager;
/**
* The tags to use with this crawler.
*/
tagsRaw?: any;
/**
* A collection of targets to crawl.
*/
targets: cdk.IResolvable | CfnCrawler.TargetsProperty;
/**
* @param scope Scope in which this resource is defined
* @param id Construct identifier for this resource (unique in its scope)
* @param props Resource properties
*/
constructor(scope: constructs.Construct, id: string, props: CfnCrawlerProps);
protected get cfnProperties(): Record<string, any>;
/**
* Examines the CloudFormation resource and discloses attributes
*
* @param inspector tree inspector to collect and process attributes
*/
inspect(inspector: cdk.TreeInspector): void;
protected renderProperties(props: Record<string, any>): Record<string, any>;
}
export declare namespace CfnCrawler {
/**
* The policy that specifies update and delete behaviors for the crawler.
*
* The policy tells the crawler what to do in the event that it detects a change in a table that already exists in the customer's database at the time of the crawl. The `SchemaChangePolicy` does not affect whether or how new tables and partitions are added. New tables and partitions are always created regardless of the `SchemaChangePolicy` on a crawler.
*
* The SchemaChangePolicy consists of two components, `UpdateBehavior` and `DeleteBehavior` .
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-schemachangepolicy.html
*/
interface SchemaChangePolicyProperty {
/**
* The deletion behavior when the crawler finds a deleted object.
*
* A value of `LOG` specifies that if a table or partition is found to no longer exist, do not delete it, only log that it was found to no longer exist.
*
* A value of `DELETE_FROM_DATABASE` specifies that if a table or partition is found to have been removed, delete it from the database.
*
* A value of `DEPRECATE_IN_DATABASE` specifies that if a table has been found to no longer exist, to add a property to the table that says "DEPRECATED" and includes a timestamp with the time of deprecation.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-schemachangepolicy.html#cfn-glue-crawler-schemachangepolicy-deletebehavior
*/
readonly deleteBehavior?: string;
/**
* The update behavior when the crawler finds a changed schema.
*
* A value of `LOG` specifies that if a table or a partition already exists, and a change is detected, do not update it, only log that a change was detected. Add new tables and new partitions (including on existing tables).
*
* A value of `UPDATE_IN_DATABASE` specifies that if a table or partition already exists, and a change is detected, update it. Add new tables and partitions.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-schemachangepolicy.html#cfn-glue-crawler-schemachangepolicy-updatebehavior
*/
readonly updateBehavior?: string;
}
/**
* When crawling an Amazon S3 data source after the first crawl is complete, specifies whether to crawl the entire dataset again or to crawl only folders that were added since the last crawler run.
*
* For more information, see [Incremental Crawls in AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/incremental-crawls.html) in the developer guide.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-recrawlpolicy.html
*/
interface RecrawlPolicyProperty {
/**
* Specifies whether to crawl the entire dataset again or to crawl only folders that were added since the last crawler run.
*
* A value of `CRAWL_EVERYTHING` specifies crawling the entire dataset again.
*
* A value of `CRAWL_NEW_FOLDERS_ONLY` specifies crawling only folders that were added since the last crawler run.
*
* A value of `CRAWL_EVENT_MODE` specifies crawling only the changes identified by Amazon S3 events.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-recrawlpolicy.html#cfn-glue-crawler-recrawlpolicy-recrawlbehavior
*/
readonly recrawlBehavior?: string;
}
/**
* Specifies data stores to crawl.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-targets.html
*/
interface TargetsProperty {
/**
* Specifies AWS Glue Data Catalog targets.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-targets.html#cfn-glue-crawler-targets-catalogtargets
*/
readonly catalogTargets?: Array<CfnCrawler.CatalogTargetProperty | cdk.IResolvable> | cdk.IResolvable;
/**
* Specifies an array of Delta data store targets.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-targets.html#cfn-glue-crawler-targets-deltatargets
*/
readonly deltaTargets?: Array<CfnCrawler.DeltaTargetProperty | cdk.IResolvable> | cdk.IResolvable;
/**
* Specifies Amazon DynamoDB targets.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-targets.html#cfn-glue-crawler-targets-dynamodbtargets
*/
readonly dynamoDbTargets?: Array<CfnCrawler.DynamoDBTargetProperty | cdk.IResolvable> | cdk.IResolvable;
/**
* Specifies Apache Hudi data store targets.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-targets.html#cfn-glue-crawler-targets-huditargets
*/
readonly hudiTargets?: Array<CfnCrawler.HudiTargetProperty | cdk.IResolvable> | cdk.IResolvable;
/**
* Specifies Apache Iceberg data store targets.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-targets.html#cfn-glue-crawler-targets-icebergtargets
*/
readonly icebergTargets?: Array<CfnCrawler.IcebergTargetProperty | cdk.IResolvable> | cdk.IResolvable;
/**
* Specifies JDBC targets.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-targets.html#cfn-glue-crawler-targets-jdbctargets
*/
readonly jdbcTargets?: Array<cdk.IResolvable | CfnCrawler.JdbcTargetProperty> | cdk.IResolvable;
/**
* A list of Mongo DB targets.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-targets.html#cfn-glue-crawler-targets-mongodbtargets
*/
readonly mongoDbTargets?: Array<cdk.IResolvable | CfnCrawler.MongoDBTargetProperty> | cdk.IResolvable;
/**
* Specifies Amazon Simple Storage Service (Amazon S3) targets.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-targets.html#cfn-glue-crawler-targets-s3targets
*/
readonly s3Targets?: Array<cdk.IResolvable | CfnCrawler.S3TargetProperty> | cdk.IResolvable;
}
/**
* Specifies a data store in Amazon Simple Storage Service (Amazon S3).
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-s3target.html
*/
interface S3TargetProperty {
/**
* The name of a connection which allows a job or crawler to access data in Amazon S3 within an Amazon Virtual Private Cloud environment (Amazon VPC).
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-s3target.html#cfn-glue-crawler-s3target-connectionname
*/
readonly connectionName?: string;
/**
* A valid Amazon dead-letter SQS ARN.
*
* For ex