aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
995 lines • 351 kB
TypeScript
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