aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
1,001 lines • 227 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 {
/**
* 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` .
* - `SALESFORCE` - Designates a connection to Salesforce using OAuth authencation.
*
* - Requires the `AuthenticationConfiguration` member to be configured.
* - `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 .
*
* `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;
}
/**
* 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;
}
}
/**
* 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;
/**
* @cloudformationAttribute Id
*/
readonly attrId: string;
/**
* 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 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 example, `arn:aws:sqs:region:account:deadLetterQueue` .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-s3target.html#cfn-glue-crawler-s3target-dlqeventqueuearn
*/
readonly dlqEventQueueArn?: string;
/**
* A valid Amazon SQS ARN.
*
* For example, `arn:aws:sqs:region:account:sqs` .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-s3target.html#cfn-glue-crawler-s3target-eventqueuearn
*/
readonly eventQueueArn?: string;
/**
* A list of glob patterns used to exclude from the crawl.
*
* For more information, see [Catalog Tables with a Crawler](https://docs.aws.amazon.com/glue/latest/dg/add-crawler.html) .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-s3target.html#cfn-glue-crawler-s3target-exclusions
*/
readonly exclusions?: Array<string>;
/**
* The path to the Amazon S3 target.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-s3target.html#cfn-glue-crawler-s3target-path
*/
readonly path?: string;
/**
* Sets the number of files in each leaf folder to be crawled when crawling sample files in a dataset.
*
* If not set, all the files are crawled. A valid value is an integer between 1 and 249.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-s3target.html#cfn-glue-crawler-s3target-samplesize
*/
readonly sampleSize?: number;
}
/**
* Specifies an AWS Glue Data Catalog target.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-catalogtarget.html
*/
interface CatalogTargetProperty {
/**
* The name of the connection for an Amazon S3-backed Data Catalog table to be a target of the crawl when using a `Catalog` connection type paired with a `NETWORK` Connection type.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-catalogtarget.html#cfn-glue-crawler-catalogtarget-connectionname
*/
readonly connectionName?: string;
/**
* The name of the database to be synchronized.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-catalogtarget.html#cfn-glue-crawler-catalogtarget-databasename
*/
readonly databaseName?: string;
/**
* A valid Amazon dead-letter SQS ARN.
*
* For example, `arn:aws:sqs:region:account:deadLetterQueue` .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-catalogtarget.html#cfn-glue-crawler-catalogtarget-dlqeventqueuearn
*/
readonly dlqEventQueueArn?: string;
/**
* A valid Amazon SQS ARN.
*
* For example, `arn:aws:sqs:region:account:sqs` .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-catalogtarget.html#cfn-glue-crawler-catalogtarget-eventqueuearn
*/
readonly eventQueueArn?: string;
/**
* A list of the tables to be synchronized.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-catalogtarget.html#cfn-glue-crawler-catalogtarget-tables
*/
readonly tables?: Array<string>;
}
/**
* Specifies a Delta data store to crawl one or more Delta tables.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-deltatarget.html
*/
interface DeltaTargetProperty {
/**
* The name of the connection to use to connect to the Delta table target.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-deltatarget.html#cfn-glue-crawler-deltatarget-connectionname
*/
readonly connectionName?: string;
/**
* Specifies whether the crawler will create native tables, to allow integration with query engines that support querying of the Delta transaction log directly.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-deltatarget.html#cfn-glue-crawler-deltatarget-createnativedeltatable
*/
readonly createNativeDeltaTable?: boolean | cdk.IResolvable;
/**
* A list of the Amazon S3 paths to the Delta tables.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-deltatarget.html#cfn-glue-crawler-deltatarget-deltatables
*/
readonly deltaTables?: Array<string>;
/**
* Specifies whether to write the manifest files to the Delta table path.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-deltatarget.html#cfn-glue-crawler-deltatarget-writemanifest
*/
readonly writeManifest?: boolean | cdk.IResolvable;
}
/**
* Specifies an Amazon DocumentDB or MongoDB data store to crawl.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-mongodbtarget.html
*/
interface MongoDBTargetProperty {
/**
* The name of the connection to use to connect to the Amazon DocumentDB or MongoDB target.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-mongodbtarget.html#cfn-glue-crawler-mongodbtarget-connectionname
*/
readonly connectionName?: string;
/**
* The path of the Amazon DocumentDB or MongoDB target (database/collection).
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-mongodbtarget.html#cfn-glue-crawler-mongodbtarget-path
*/
readonly path?: string;
}
/**
* Specifies a JDBC data store to crawl.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-jdbctarget.html
*/
interface JdbcTargetProperty {
/**
* The name of the connection to use to connect to the JDBC target.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-jdbctarget.html#cfn-glue-crawler-jdbctarget-connectionname
*/
readonly connectionName?: string;
/**
* Specify a value of `RAWTYPES` or `COMMENTS` to enable additional metadata in table responses.
*
* `RAWTYPES` provides the native-level datatype. `COMMENTS` provides comments associated with a column or table in the database.
*
* If you do not need additional metadata, keep the field empty.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-jdbctarget.html#cfn-glue-crawler-jdbctarget-enableadditionalmetadata
*/
readonly enableAdditionalMetadata?: Array<string>;
/**
* A list of glob patterns used to exclude from the crawl.
*
* For more information, see [Catalog Tables with a Crawler](https://docs.aws.amazon.com/glue/latest/dg/add-crawler.html) .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-jdbctarget.html#cfn-glue-crawler-jdbctarget-exclusions
*/
readonly exclusions?: Array<string>;
/**
* The path of the JDBC target.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-jdbctarget.html#cfn-glue-crawler-jdbctarget-path
*/
readonly path?: string;
}
/**
* Specifies an Amazon DynamoDB table to crawl.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-dynamodbtarget.html
*/
interface DynamoDBTargetProperty {
/**
* The name of the DynamoDB table to crawl.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-dynamodbtarget.html#cfn-glue-crawler-dynamodbtarget-path
*/
readonly path?: string;
}
/**
* Specifies Apache Iceberg data store targets.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-icebergtarget.html
*/
interface IcebergTargetProperty {
/**
* The name of the connection to use to connect to the Iceberg target.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-icebergtarget.html#cfn-glue-crawler-icebergtarget-connectionname
*/
readonly connectionName?: string;
/**
* A list of global patterns used to exclude from the crawl.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-icebergtarget.html#cfn-glue-crawler-icebergtarget-exclusions
*/
readonly exclusions?: Array<string>;
/**
* The maximum depth of Amazon S3 paths that the crawler can traverse to discover the Iceberg metadata folder in your Amazon S3 path.
*
* Used to limit the crawler run time.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-icebergtarget.html#cfn-glue-crawler-icebergtarget-maximumtraversaldepth
*/
readonly maximumTraversalDepth?: number;
/**
* One or more Amazon S3 paths that contains Iceberg metadata folders as s3://bucket/prefix .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-icebergtarget.html#cfn-glue-crawler-icebergtarget-paths
*/
readonly paths?: Array<string>;
}
/**
* A scheduling object using a `cron` statement to schedule an event.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-schedule.html
*/
interface ScheduleProperty {
/**
* A `cron` expression used to specify the schedule.
*
* For more information, see [Time-Based Schedules for Jobs and Crawlers](https://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html) . For example, to run something every day at 12:15 UTC, specify `cron(15 12 * * ? *)` .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-schedule.html#cfn-glue-crawler-schedule-scheduleexpression
*/
readonly scheduleExpression?: string;
}
/**
* Specifies AWS Lake Formation configuration settings for the crawler.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-lakeformationconfiguration.html
*/
interface LakeFormationConfigurationProperty {
/**
* Required for cross account crawls.
*
* For same account crawls as the target data, this can be left as null.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-lakeformationconfiguration.html#cfn-glue-crawler-lakeformationconfiguration-accountid
*/
readonly accountId?: string;
/**
* Specifies whether to use AWS Lake Formation credentials for the crawler instead of the IAM role credentials.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-lakeformationconfiguration.html#cfn-glue-crawler-lakeformationconfiguration-uselakeformationcredentials
*/
readonly useLakeFormationCredentials?: boolean | cdk.IResolvable;
}
}
/**
* Properties for defining a `CfnCrawler`
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-crawler.html
*/
export interface CfnCrawlerProps {
/**
* A list of UTF-8 strings that specify the names of custom classifiers that are associated with the crawler.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-crawler.html#cfn-glue-crawler-classifiers
*/
readonly classifiers?: Array<string>;
/**
* Crawler configuration information.
*
* This versioned JSON string allows users to specify aspects of a crawler's behavior. For more information, see [Configuring a Crawler](https://docs.aws.amazon.com/glue/latest/dg/crawler-configuration.html) .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-crawler.html#cfn-glue-crawler-configuration
*/
readonly configuration?: string;
/**
* The name of the `SecurityConfiguration` structure to be used by this crawler.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-crawler.html#cfn-glue-crawler-crawlersecurityconfiguration
*/
readonly crawlerSecurityConfiguration?: string;
/**
* The name of the database in which the crawler's output is stored.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-crawler.html#cfn-glue-crawler-databasename
*/
readonly databaseName?: string;
/**
* A description of the crawler.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-crawler.html#cfn-glue-crawler-description
*/
readonly description?: string;
/**
* Specifies whether the crawler should use AWS Lake Formation credentials for the crawler instead of the IAM role credentials.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-crawler.html#cfn-glue-crawler-lakeformationconfiguration
*/
readonly lakeFormationConfiguration?: cdk.IResolvable | CfnCrawler.LakeFormationConfigurationProperty;
/**
* The name of the crawler.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-crawler.html#cfn-glue-crawler-name
*/
readonly name?: string;
/**
* A policy that specifies whether to crawl the entire