UNPKG

aws-cdk-lib

Version:

Version 2 of the AWS Cloud Development Kit library

995 lines 351 kB
import * as cdk from "../../core/lib"; import * as constructs from "constructs"; import * as cfn_parse from "../../core/lib/helpers-internal"; import { CatalogReference, ClassifierReference, ConnectionReference, CrawlerReference, CustomEntityTypeReference, DatabaseReference, DataCatalogEncryptionSettingsReference, DataQualityRulesetReference, DevEndpointReference, ICatalogRef, IClassifierRef, IConnectionRef, ICrawlerRef, ICustomEntityTypeRef, IDatabaseRef, IDataCatalogEncryptionSettingsRef, IDataQualityRulesetRef, IdentityCenterConfigurationReference, IDevEndpointRef, IIdentityCenterConfigurationRef, IIntegrationRef, IIntegrationResourcePropertyRef, IJobRef, IMLTransformRef, IntegrationReference, IntegrationResourcePropertyReference, IPartitionRef, IRegistryRef, ISchemaRef, ISchemaVersionMetadataRef, ISchemaVersionRef, ISecurityConfigurationRef, ITableOptimizerRef, ITableRef, ITriggerRef, IUsageProfileRef, IWorkflowRef, JobReference, MLTransformReference, PartitionReference, RegistryReference, SchemaReference, SchemaVersionMetadataReference, SchemaVersionReference, SecurityConfigurationReference, TableOptimizerReference, TableReference, TriggerReference, UsageProfileReference, WorkflowReference } from "../../interfaces/generated/aws-glue-interfaces.generated"; import { aws_glue as glueRefs, aws_iam as iamRefs, aws_s3 as s3Refs } from "../../interfaces"; /** * 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, IClassifierRef { /** * 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; /** * Checks whether the given object is a CfnClassifier */ static isCfnClassifier(x: any): x is CfnClassifier; /** * A classifier for comma-separated values (CSV). */ private _csvClassifier?; /** * A classifier that uses `grok` . */ private _grokClassifier?; /** * A classifier for JSON content. */ private _jsonClassifier?; /** * A classifier for XML content. */ private _xmlClassifier?; /** * Create a new `AWS::Glue::Classifier`. * * @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); get classifierRef(): ClassifierReference; /** * A classifier for comma-separated values (CSV). */ get csvClassifier(): CfnClassifier.CsvClassifierProperty | cdk.IResolvable | undefined; /** * A classifier for comma-separated values (CSV). */ set csvClassifier(value: CfnClassifier.CsvClassifierProperty | cdk.IResolvable | undefined); /** * A classifier that uses `grok` . */ get grokClassifier(): CfnClassifier.GrokClassifierProperty | cdk.IResolvable | undefined; /** * A classifier that uses `grok` . */ set grokClassifier(value: CfnClassifier.GrokClassifierProperty | cdk.IResolvable | undefined); /** * A classifier for JSON content. */ get jsonClassifier(): cdk.IResolvable | CfnClassifier.JsonClassifierProperty | undefined; /** * A classifier for JSON content. */ set jsonClassifier(value: cdk.IResolvable | CfnClassifier.JsonClassifierProperty | undefined); /** * A classifier for XML content. */ get xmlClassifier(): cdk.IResolvable | CfnClassifier.XMLClassifierProperty | undefined; /** * A classifier for XML content. */ set xmlClassifier(value: cdk.IResolvable | CfnClassifier.XMLClassifierProperty | undefined); /** * @cloudformationAttribute Id */ get attrId(): string; 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, IConnectionRef { /** * 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; /** * Checks whether the given object is a CfnConnection */ static isCfnConnection(x: any): x is CfnConnection; /** * The ID of the data catalog to create the catalog object in. */ private _catalogId; /** * The connection that you want to create. */ private _connectionInput; /** * Create a new `AWS::Glue::Connection`. * * @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); get connectionRef(): ConnectionReference; /** * The ID of the data catalog to create the catalog object in. */ get catalogId(): string; /** * The ID of the data catalog to create the catalog object in. */ set catalogId(value: string); /** * The connection that you want to create. */ get connectionInput(): CfnConnection.ConnectionInputProperty | cdk.IResolvable; /** * The connection that you want to create. */ set connectionInput(value: CfnConnection.ConnectionInputProperty | cdk.IResolvable); /** * @cloudformationAttribute Id */ get attrId(): string; 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 . * * 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, ICrawlerRef, 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; /** * Checks whether the given object is a CfnCrawler */ static isCfnCrawler(x: any): x is CfnCrawler; /** * Creates a new ICrawlerRef from a crawlerName */ static fromCrawlerName(scope: constructs.Construct, id: string, crawlerName: string): ICrawlerRef; static arnForCrawler(resource: ICrawlerRef): string; /** * A list of UTF-8 strings that specify the names of custom classifiers that are associated with the crawler. */ private _classifiers?; /** * Crawler configuration information. */ private _configuration?; /** * The name of the `SecurityConfiguration` structure to be used by this crawler. */ private _crawlerSecurityConfiguration?; /** * The name of the database in which the crawler's output is stored. */ private _databaseName?; /** * A description of the crawler. */ private _description?; /** * Specifies whether the crawler should use AWS Lake Formation credentials for the crawler instead of the IAM role credentials. */ private _lakeFormationConfiguration?; /** * The name of the crawler. */ private _name?; /** * A policy that specifies whether to crawl the entire dataset again, or to crawl only folders that were added since the last crawler run. */ private _recrawlPolicy?; /** * 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. */ private _role; /** * For scheduled crawlers, the schedule when the crawler runs. */ private _schedule?; /** * The policy that specifies update and delete behaviors for the crawler. */ private _schemaChangePolicy?; /** * The prefix added to the names of tables that are created. */ private _tablePrefix?; /** * Tag Manager which manages the tags for this resource */ readonly tags: cdk.TagManager; /** * The tags to use with this crawler. */ private _tagsRaw?; /** * A collection of targets to crawl. */ private _targets; /** * Create a new `AWS::Glue::Crawler`. * * @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); get crawlerRef(): CrawlerReference; /** * A list of UTF-8 strings that specify the names of custom classifiers that are associated with the crawler. */ get classifiers(): Array<string> | undefined; /** * A list of UTF-8 strings that specify the names of custom classifiers that are associated with the crawler. */ set classifiers(value: Array<string> | undefined); /** * Crawler configuration information. */ get configuration(): string | undefined; /** * Crawler configuration information. */ set configuration(value: string | undefined); /** * The name of the `SecurityConfiguration` structure to be used by this crawler. */ get crawlerSecurityConfiguration(): string | undefined; /** * The name of the `SecurityConfiguration` structure to be used by this crawler. */ set crawlerSecurityConfiguration(value: string | undefined); /** * The name of the database in which the crawler's output is stored. */ get databaseName(): string | undefined; /** * The name of the database in which the crawler's output is stored. */ set databaseName(value: string | undefined); /** * A description of the crawler. */ get description(): string | undefined; /** * A description of the crawler. */ set description(value: string | undefined); /** * Specifies whether the crawler should use AWS Lake Formation credentials for the crawler instead of the IAM role credentials. */ get lakeFormationConfiguration(): cdk.IResolvable | CfnCrawler.LakeFormationConfigurationProperty | undefined; /** * Specifies whether the crawler should use AWS Lake Formation credentials for the crawler instead of the IAM role credentials. */ set lakeFormationConfiguration(value: cdk.IResolvable | CfnCrawler.LakeFormationConfigurationProperty | undefined); /** * The name of the crawler. */ get name(): string | undefined; /** * The name of the crawler. */ set name(value: string | undefined); /** * A policy that specifies whether to crawl the entire dataset again, or to crawl only folders that were added since the last crawler run. */ get recrawlPolicy(): cdk.IResolvable | CfnCrawler.RecrawlPolicyProperty | undefined; /** * A policy that specifies whether to crawl the entire dataset again, or to crawl only folders that were added since the last crawler run. */ set recrawlPolicy(value: cdk.IResolvable | CfnCrawler.RecrawlPolicyProperty | undefined); /** * 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. */ get role(): string; /** * 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. */ set role(value: string); /** * For scheduled crawlers, the schedule when the crawler runs. */ get schedule(): cdk.IResolvable | CfnCrawler.ScheduleProperty | undefined; /** * For scheduled crawlers, the schedule when the crawler runs. */ set schedule(value: cdk.IResolvable | CfnCrawler.ScheduleProperty | undefined); /** * The policy that specifies update and delete behaviors for the crawler. */ get schemaChangePolicy(): cdk.IResolvable | CfnCrawler.SchemaChangePolicyProperty | undefined; /** * The policy that specifies update and delete behaviors for the crawler. */ set schemaChangePolicy(value: cdk.IResolvable | CfnCrawler.SchemaChangePolicyProperty | undefined); /** * The prefix added to the names of tables that are created. */ get tablePrefix(): string | undefined; /** * The prefix added to the names of tables that are created. */ set tablePrefix(value: string | undefined); /** * The tags to use with this crawler. */ get tagsRaw(): any | undefined; /** * The tags to use with this crawler. */ set tagsRaw(value: any | undefined); /** * A collection of targets to crawl. */ get targets(): cdk.IResolvable | CfnCrawler.TargetsProperty; /** * A collection of targets to crawl. */ set targets(value: cdk.IResolvable | CfnCrawler.TargetsProperty); 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