glue

package
v0.0.96 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 22, 2023 License: Apache-2.0 Imports: 14 Imported by: 0

README

AWS Glue Library

The @cdk-extensions/glue module contains configurations for AWS Glue.

import * as glue from 'cdk-extensions/glue';

Objective

The Glue module is used to consolidate data from multiple different sources into a single location to simplify analysis and review. It provides the ability to discover and organize data from a wide variety of sources; tranform, prepare and clean that data for analysis; and the creation of data pipelines to deliver the prepared data for storage and analysis and monitor the process.

The AWS Glue Catalog is used to orchestrate the operation based on using metadata stored in its tables which define the sources and targets it should operate on. Crawlers are added to the Glue Catalog which allow access to the data sources and target, providing information on data changes which need to be acted upon. Jobs are then configured to perform the transformation of that data for delivery to its target location. Scheduling of these jobs can then be configured to either run at specific times, based off of triggering events or performed manually.

Important Constructs

Catalog

The Catalog construct defines the Glue Catalog that will hold metadata and act as the source for orchestrating all Glue Jobs

Table

The Table construct holds the table definition within the Glue Catalog which contains the necessary metadata for performing Glue jobs

Crawler

The Crawler construct contains the information defining a source of data, including the necessary information or credentials to reach and access it.

Jobs

The Jobs construct contains the instructions to perform transformation and delivery of the crawled data.

Trigger

The Trigger construct defines what triggers should be used to run a particular job.

Workflow

The Workflow construct contains a collection of Triggers and Jobs to link together a set of processes into a complete data pipeline.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Connection_IsConstruct

func Connection_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead.

func Connection_IsOwnedResource

func Connection_IsOwnedResource(construct constructs.IConstruct) *bool

Returns true if the construct was created by CDK, and false otherwise.

func Connection_IsResource

func Connection_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource.

func Crawler_IsConstruct

func Crawler_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead.

func Crawler_IsOwnedResource

func Crawler_IsOwnedResource(construct constructs.IConstruct) *bool

Returns true if the construct was created by CDK, and false otherwise.

func Crawler_IsResource

func Crawler_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource.

func Database_IsConstruct

func Database_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead.

func Database_IsOwnedResource

func Database_IsOwnedResource(construct constructs.IConstruct) *bool

Returns true if the construct was created by CDK, and false otherwise.

func Database_IsResource

func Database_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource.

func JdbcConnection_IsConstruct added in v0.0.35

func JdbcConnection_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead.

func JdbcConnection_IsOwnedResource added in v0.0.35

func JdbcConnection_IsOwnedResource(construct constructs.IConstruct) *bool

Returns true if the construct was created by CDK, and false otherwise.

func JdbcConnection_IsResource added in v0.0.35

func JdbcConnection_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource.

func Job_IsConstruct

func Job_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead.

func Job_IsOwnedResource

func Job_IsOwnedResource(construct constructs.IConstruct) *bool

Returns true if the construct was created by CDK, and false otherwise.

func Job_IsResource

func Job_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource.

func NewArrayColumn_Override

func NewArrayColumn_Override(a ArrayColumn, props *ArrayColumnProps)

func NewAssetCode_Override

func NewAssetCode_Override(a AssetCode, path *string, options *awscdk.AssetOptions)

func NewBasicColumn_Override

func NewBasicColumn_Override(b BasicColumn, props *BasicColumnProps)

func NewClassificationString_Override

func NewClassificationString_Override(c ClassificationString, value *string)

func NewCode_Override

func NewCode_Override(c Code)

func NewColumn_Override

func NewColumn_Override(c Column, props *ColumnProps)

func NewConnection_Override

func NewConnection_Override(c Connection, scope constructs.Construct, id *string, props *ConnectionProps)

Creates a new instance of the Connection class.

func NewCrawler_Override

func NewCrawler_Override(c Crawler, scope constructs.Construct, id *string, props *CrawlerProps)

Creates a new instance of the Crawler class.

func NewDataFormat_Override

func NewDataFormat_Override(d DataFormat, props *DataFormatProps)

func NewDatabase_Override

func NewDatabase_Override(d Database, scope constructs.Construct, id *string, props *DatabaseProps)

Creates a new instance of the Database class.

func NewInputFormat_Override

func NewInputFormat_Override(i InputFormat, className *string)

func NewJdbcConnection_Override added in v0.0.35

func NewJdbcConnection_Override(j JdbcConnection, scope constructs.Construct, id *string, props *JdbcConnectionProps)

Creates a new instance of the JdbcConnection class.

func NewJdbcTarget_Override

func NewJdbcTarget_Override(j JdbcTarget, connection Connection, options *JdbcTargetOptions)

Creates a new instance of the JdbcTarget class.

func NewJob_Override

func NewJob_Override(j Job, scope constructs.Construct, id *string, props *JobProps)

Creates a new instance of the Job class.

func NewOutputFormat_Override

func NewOutputFormat_Override(o OutputFormat, className *string)

func NewS3Code_Override

func NewS3Code_Override(s S3Code, bucket awss3.IBucket, key *string)

func NewS3Target_Override

func NewS3Target_Override(s S3Target, bucket awss3.IBucket, options *S3TargetOptions)

func NewSecurityConfiguration_Override

func NewSecurityConfiguration_Override(s SecurityConfiguration, scope constructs.Construct, id *string, props *SecurityConfigurationProps)

func NewSerializationLibrary_Override

func NewSerializationLibrary_Override(s SerializationLibrary, className *string)

func NewStructColumn_Override

func NewStructColumn_Override(s StructColumn, props *StructColumnProps)

func NewTable_Override

func NewTable_Override(t Table, scope constructs.Construct, id *string, props *TableProps)

Creates a new instance of the Table class.

func NewTrigger_Override

func NewTrigger_Override(t Trigger, scope constructs.Construct, id *string, props *TriggerProps)

Creates a new instance of the Trigger class.

func NewWorkflowActionBase_Override added in v0.0.36

func NewWorkflowActionBase_Override(w WorkflowActionBase, options *WorkflowActionOptions)

Creates a new instance of the WorkflowActionBase class.

func NewWorkflowAction_Override added in v0.0.39

func NewWorkflowAction_Override(w WorkflowAction)

func NewWorkflowCrawlerAction_Override added in v0.0.36

func NewWorkflowCrawlerAction_Override(w WorkflowCrawlerAction, crawler ICrawler, options *WorkflowCrawlerActionOptions)

Creates a new instance of the WorkflowCrawlerAction class.

func NewWorkflowCrawlerPredicate_Override added in v0.0.37

func NewWorkflowCrawlerPredicate_Override(w WorkflowCrawlerPredicate, crawler ICrawler, options *WorkflowCrawlerPredicateOptions)

Creates a new instance of the WorkflowCrawlerPredicate class.

func NewWorkflowJobAction_Override added in v0.0.36

func NewWorkflowJobAction_Override(w WorkflowJobAction, job IJob, options *WorkflowJobActionOptions)

Creates a new instance of the WorkflowJobAction class.

func NewWorkflowJobPredicate_Override added in v0.0.37

func NewWorkflowJobPredicate_Override(w WorkflowJobPredicate, job IJob, options *WorkflowJobPredicateOptions)

Creates a new instance of the WorkflowJobPredicate class.

func NewWorkflowPredicateBase_Override added in v0.0.37

func NewWorkflowPredicateBase_Override(w WorkflowPredicateBase, _options *WorkflowPredicateOptions)

Create a new instance of the WorkflowPredicateBase class.

func NewWorkflowPredicate_Override added in v0.0.39

func NewWorkflowPredicate_Override(w WorkflowPredicate)

func NewWorkflow_Override

func NewWorkflow_Override(w Workflow, scope constructs.Construct, id *string, props *WorkflowProps)

Creates a new instance of the Workflow class.

func SecurityConfiguration_IsConstruct

func SecurityConfiguration_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead.

func SecurityConfiguration_IsOwnedResource

func SecurityConfiguration_IsOwnedResource(construct constructs.IConstruct) *bool

Returns true if the construct was created by CDK, and false otherwise.

func SecurityConfiguration_IsResource

func SecurityConfiguration_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource.

func Table_IsConstruct

func Table_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead.

func Table_IsOwnedResource

func Table_IsOwnedResource(construct constructs.IConstruct) *bool

Returns true if the construct was created by CDK, and false otherwise.

func Table_IsResource

func Table_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource.

func Trigger_IsConstruct

func Trigger_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead.

func Trigger_IsOwnedResource

func Trigger_IsOwnedResource(construct constructs.IConstruct) *bool

Returns true if the construct was created by CDK, and false otherwise.

func Trigger_IsResource

func Trigger_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource.

func Workflow_IsConstruct

func Workflow_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead.

func Workflow_IsOwnedResource

func Workflow_IsOwnedResource(construct constructs.IConstruct) *bool

Returns true if the construct was created by CDK, and false otherwise.

func Workflow_IsResource

func Workflow_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource.

Types

type ArrayColumn

type ArrayColumn interface {
	Column
	// A free-form text comment.
	// See: [AWS::Glue::Table Column](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-column.html#cfn-glue-table-column-comment)
	//
	Comment() *string
	// The name of the Column.
	// See: [AWS::Glue::Table Column](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-column.html#cfn-glue-table-column-name)
	//
	Name() *string
	TypeString() *string
	Bind(scope constructs.IConstruct) *awsglue.CfnTable_ColumnProperty
}

func NewArrayColumn

func NewArrayColumn(props *ArrayColumnProps) ArrayColumn

type ArrayColumnProps

type ArrayColumnProps struct {
	Comment *string `field:"optional" json:"comment" yaml:"comment"`
	Name    *string `field:"optional" json:"name" yaml:"name"`
	Data    Column  `field:"required" json:"data" yaml:"data"`
}

type AssetCode

type AssetCode interface {
	Code
	// Called when the Job is initialized to allow this object to bind.
	Bind(scope constructs.Construct, grantable awsiam.IGrantable) *CodeConfig
}

Job Code from a local file.

func AssetCode_FromAsset

func AssetCode_FromAsset(path *string, options *awscdk.AssetOptions) AssetCode

Job code from a local disk path.

func Code_FromAsset

func Code_FromAsset(path *string, options *awscdk.AssetOptions) AssetCode

Job code from a local disk path.

func NewAssetCode

func NewAssetCode(path *string, options *awscdk.AssetOptions) AssetCode

func S3Code_FromAsset

func S3Code_FromAsset(path *string, options *awscdk.AssetOptions) AssetCode

Job code from a local disk path.

type BasicColumn

type BasicColumn interface {
	Column
	// A free-form text comment.
	// See: [AWS::Glue::Table Column](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-column.html#cfn-glue-table-column-comment)
	//
	Comment() *string
	// The name of the Column.
	// See: [AWS::Glue::Table Column](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-column.html#cfn-glue-table-column-name)
	//
	Name() *string
	TypeString() *string
	Bind(scope constructs.IConstruct) *awsglue.CfnTable_ColumnProperty
}

func NewBasicColumn

func NewBasicColumn(props *BasicColumnProps) BasicColumn

type BasicColumnProps

type BasicColumnProps struct {
	Comment *string `field:"optional" json:"comment" yaml:"comment"`
	Name    *string `field:"optional" json:"name" yaml:"name"`
	Type    *string `field:"required" json:"type" yaml:"type"`
}

type BookmarkConfiguration added in v0.0.36

type BookmarkConfiguration interface {
	// An optional range of job ID's that will correspond to the `job-bookmark-from` and `job-bookmark-to` arguments.
	Range() *BookmarkRange
	// The value to pass to the `job-bookmark-option` argument.
	Value() *string
}

Controls the bookmark state of a Glue job. See: [Using job bookmarks in AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/monitor-continuations.html#monitor-continuations-implement)

func BookmarkConfiguration_Disable added in v0.0.36

func BookmarkConfiguration_Disable() BookmarkConfiguration

Job bookmarks are not used, and the job always processes the entire dataset.

You are responsible for managing the output from previous job runs.

Returns: A configuration object that disabled job bookmarks.

func BookmarkConfiguration_Enable added in v0.0.36

func BookmarkConfiguration_Enable() BookmarkConfiguration

Causes the job to update the state after a run to keep track of previously processed data.

If your job has a source with job bookmark support, it will keep track of processed data, and when a job runs, it processes new data since the last checkpoint.

Returns: A configuration object that enables job bookmarks.

func BookmarkConfiguration_Of added in v0.0.36

func BookmarkConfiguration_Of(value *string, range_ *BookmarkRange) BookmarkConfiguration

An escape hatch method that allows specifying arbitrary values for the `job-bookmark-option` argument of a Glue job.

Returns: A configuration object that represents the provided bookmark configuration.

func BookmarkConfiguration_Pause added in v0.0.36

func BookmarkConfiguration_Pause(range_ *BookmarkRange) BookmarkConfiguration

Process incremental data since the last successful run or the data in a specified range, without updating the state of last bookmark.

You are responsible for managing the output from previous job runs.

Returns: A configuration object that pauses job bookmarks.

type BookmarkRange added in v0.0.36

type BookmarkRange struct {
	// The run ID which represents all the input that was processed until the last successful run before and including the specified run ID.
	//
	// The
	// corresponding input is ignored.
	From *string `field:"required" json:"from" yaml:"from"`
	// The run ID which represents all the input that was processed until the last successful run before and including the specified run ID.
	//
	// The
	// corresponding input excluding the input identified by the
	// {@link BookmarkRange.fromfrom} is processed by the job. Any input later
	// than this input is also excluded for processing.
	To *string `field:"required" json:"to" yaml:"to"`
}

A range of job run ID's that specify the job bookmark state of a Glue job which has had its bookmark state set to paused. See: [Using job bookmarks in AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/monitor-continuations.html#monitor-continuations-implement)

type ClassificationString

type ClassificationString interface {
	Value() *string
}

Classification string given to tables with this data format. See: https://docs.aws.amazon.com/glue/latest/dg/add-classifier.html#classifier-built-in

func ClassificationString_AVRO

func ClassificationString_AVRO() ClassificationString

func ClassificationString_CSV

func ClassificationString_CSV() ClassificationString

func ClassificationString_JSON

func ClassificationString_JSON() ClassificationString

func ClassificationString_ORC

func ClassificationString_ORC() ClassificationString

func ClassificationString_PARQUET

func ClassificationString_PARQUET() ClassificationString

func ClassificationString_XML

func ClassificationString_XML() ClassificationString

func NewClassificationString

func NewClassificationString(value *string) ClassificationString

type CloudWatchEncryption

type CloudWatchEncryption struct {
	// Encryption mode.
	Mode CloudWatchEncryptionMode `field:"required" json:"mode" yaml:"mode"`
	// The KMS key to be used to encrypt the data.
	// Default: A key will be created if one is not provided.
	//
	KmsKey awskms.IKey `field:"optional" json:"kmsKey" yaml:"kmsKey"`
}

CloudWatch Logs encryption configuration.

type CloudWatchEncryptionMode

type CloudWatchEncryptionMode string

Encryption mode for CloudWatch Logs. See: https://docs.aws.amazon.com/glue/latest/webapi/API_CloudWatchEncryption.html#Glue-Type-CloudWatchEncryption-CloudWatchEncryptionMode

const (
	// Server-side encryption (SSE) with an AWS KMS key managed by the account owner.
	// See: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html
	//
	CloudWatchEncryptionMode_KMS CloudWatchEncryptionMode = "KMS"
)

type Code

type Code interface {
	// Called when the Job is initialized to allow this object to bind.
	Bind(scope constructs.Construct, grantable awsiam.IGrantable) *CodeConfig
}

Represents a Glue Job's Code assets (an asset can be a scripts, a jar, a python file or any other file).

type CodeConfig

type CodeConfig struct {
	// The location of the code in S3.
	S3Location *awss3.Location `field:"required" json:"s3Location" yaml:"s3Location"`
}

Result of binding `Code` into a `Job`.

type Column

type Column interface {
	// A free-form text comment.
	// See: [AWS::Glue::Table Column](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-column.html#cfn-glue-table-column-comment)
	//
	Comment() *string
	// The name of the Column.
	// See: [AWS::Glue::Table Column](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-column.html#cfn-glue-table-column-name)
	//
	Name() *string
	TypeString() *string
	Bind(scope constructs.IConstruct) *awsglue.CfnTable_ColumnProperty
}

type ColumnProps

type ColumnProps struct {
	Comment *string `field:"optional" json:"comment" yaml:"comment"`
	Name    *string `field:"optional" json:"name" yaml:"name"`
}

type ConfigurationVersion

type ConfigurationVersion string
const (
	ConfigurationVersion_V1_0 ConfigurationVersion = "V1_0"
)

type Connection

type Connection interface {
	awscdk.Resource
	awsec2.IConnectable
	ConnectionArn() *string
	ConnectionName() *string
	// The network connections associated with this resource.
	Connections() awsec2.Connections
	// {@link ConnectionProps.connectionType:}.
	ConnectionType() ConnectionType
	// {@link ConnectionProps.description}.
	Description() *string
	// The environment this resource belongs to.
	//
	// For resources that are created and managed by the CDK
	// (generally, those created by creating new class instances like Role, Bucket, etc.),
	// this is always the same as the environment of the stack they belong to;
	// however, for imported resources
	// (those obtained from static methods like fromRoleArn, fromBucketName, etc.),
	// that might be different than the stack they were imported into.
	Env() *awscdk.ResourceEnvironment
	// {@link ConnectionProps.name}.
	Name() *string
	// The tree node.
	Node() constructs.Node
	// Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource.
	//
	// This value will resolve to one of the following:
	// - a concrete value (e.g. `"my-awesome-bucket"`)
	// - `undefined`, when a name should be generated by CloudFormation
	// - a concrete name generated automatically during synthesis, in
	//   cross-environment scenarios.
	PhysicalName() *string
	Resource() awsglue.CfnConnection
	SecurityGroup() awsec2.SecurityGroup
	// {@link ConnectionProps.securityGroups:}.
	SecurityGroups() *[]awsec2.ISecurityGroup
	// The stack in which this resource is defined.
	Stack() awscdk.Stack
	// {@link ConnectionProps.subnets}.
	Subnets() *awsec2.SubnetSelection
	// {@link ConnectionProps.vpc}.
	Vpc() awsec2.IVpc
	AddMatchCriteria(value *string)
	AddProperty(key *string, value *string)
	// Apply the given removal policy to this resource.
	//
	// The Removal Policy controls what happens to this resource when it stops
	// being managed by CloudFormation, either because you've removed it from the
	// CDK application or because you've made a change that requires the resource
	// to be replaced.
	//
	// The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
	// account for data recovery and cleanup later (`RemovalPolicy.RETAIN`).
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	GeneratePhysicalName() *string
	// Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`).
	//
	// Normally, this token will resolve to `arnAttr`, but if the resource is
	// referenced across environments, `arnComponents` will be used to synthesize
	// a concrete ARN with the resource's physical name. Make sure to reference
	// `this.physicalName` in `arnComponents`.
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	// Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`).
	//
	// Normally, this token will resolve to `nameAttr`, but if the resource is
	// referenced across environments, it will be resolved to `this.physicalName`,
	// which will be a concrete name.
	GetResourceNameAttribute(nameAttr *string) *string
	// Returns a string representation of this construct.
	ToString() *string
}

Creates a resource specifying a Glue Connection to a data source. See: [AWS::Glue::Connection](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-connection.html)

func NewConnection

func NewConnection(scope constructs.Construct, id *string, props *ConnectionProps) Connection

Creates a new instance of the Connection class.

type ConnectionProps

type ConnectionProps struct {
	// The AWS account ID this resource belongs to.
	// Default: - the resource is in the same account as the stack it belongs to.
	//
	Account *string `field:"optional" json:"account" yaml:"account"`
	// ARN to deduce region and account from.
	//
	// The ARN is parsed and the account and region are taken from the ARN.
	// This should be used for imported resources.
	//
	// Cannot be supplied together with either `account` or `region`.
	// Default: - take environment from `account`, `region` parameters, or use Stack environment.
	//
	EnvironmentFromArn *string `field:"optional" json:"environmentFromArn" yaml:"environmentFromArn"`
	// The value passed in by users to the physical name prop of the resource.
	//
	// - `undefined` implies that a physical name will be allocated by
	//   CloudFormation during deployment.
	// - a concrete value implies a specific physical name
	// - `PhysicalName.GENERATE_IF_NEEDED` is a marker that indicates that a physical will only be generated
	//   by the CDK if it is needed for cross-environment references. Otherwise, it will be allocated by CloudFormation.
	// Default: - The physical name will be allocated by CloudFormation at deployment time.
	//
	PhysicalName *string `field:"optional" json:"physicalName" yaml:"physicalName"`
	// The AWS region this resource belongs to.
	// Default: - the resource is in the same region as the stack it belongs to.
	//
	Region *string `field:"optional" json:"region" yaml:"region"`
	// The type of the connection.
	// See: [AWS::Glue::Connection ConnectionInput](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-connectioninput.html#cfn-glue-connection-connectioninput-connectiontype)
	//
	ConnectionType ConnectionType `field:"required" json:"connectionType" yaml:"connectionType"`
	// A description for the Connection.
	Description *string `field:"optional" json:"description" yaml:"description"`
	// The name of the connection.
	//
	// Connection will not function as expected without a name.
	// See: [AWS::Glue::Connection ConnectionInput](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-connectioninput.html#cfn-glue-connection-connectioninput-name)
	//
	Name *string `field:"optional" json:"name" yaml:"name"`
	// List of Key/Value pairs defining the properties of the Connection.
	// See: [AWS::Glue::Connection Properties](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-connection.html#Properties)
	//
	Properties *map[string]*string `field:"optional" json:"properties" yaml:"properties"`
	// Existing Security Group to assign to the Connection.
	//
	// If none is provided a new Security Group will be created.
	SecurityGroups *[]awsec2.ISecurityGroup `field:"optional" json:"securityGroups" yaml:"securityGroups"`
	// Options for selection of subnets from the VPC to attach to the Connection.
	// See: [CDK SubnetSelection](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ec2.SubnetSelection.html)
	//
	Subnets *awsec2.SubnetSelection `field:"optional" json:"subnets" yaml:"subnets"`
	// VPC to attach to the Connection.
	// See: [IVpc Interface](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ec2.IVpc.html)
	//
	Vpc awsec2.IVpc `field:"optional" json:"vpc" yaml:"vpc"`
}

Configuration for the Glue Workflow resource.

type ConnectionType

type ConnectionType string
const (
	// JDBC - Designates a connection to a database through Java Database Connectivity (JDBC).
	ConnectionType_JDBC ConnectionType = "JDBC"
	// KAFKA - Designates a connection to an Apache Kafka streaming platform.
	ConnectionType_KAFKA ConnectionType = "KAFKA"
	// MONGODB - Designates a connection to a MongoDB document database.
	ConnectionType_MONGODB ConnectionType = "MONGODB"
	// NETWORK - Designates a network connection to a data source within an Amazon Virtual Private Cloud environment (Amazon VPC).
	ConnectionType_NETWORK ConnectionType = "NETWORK"
)

type ContinuousLoggingProps

type ContinuousLoggingProps struct {
	// Enable continouous logging.
	Enabled *bool `field:"required" json:"enabled" yaml:"enabled"`
	// Apply the provided conversion pattern.
	//
	// This is a Log4j Conversion Pattern to customize driver and executor logs.
	// Default: `%d{yy/MM/dd HH:mm:ss} %p %c{1}: %m%n`.
	//
	ConversionPattern *string `field:"optional" json:"conversionPattern" yaml:"conversionPattern"`
	// Specify a custom CloudWatch log group name.
	// Default: - a log group is created with name `/aws-glue/jobs/logs-v2/`.
	//
	LogGroup awslogs.ILogGroup `field:"optional" json:"logGroup" yaml:"logGroup"`
	// Specify a custom CloudWatch log stream prefix.
	// Default: - the job run ID.
	//
	LogStreamPrefix *string `field:"optional" json:"logStreamPrefix" yaml:"logStreamPrefix"`
	// Filter out non-useful Apache Spark driver/executor and Apache Hadoop YARN heartbeat log messages.
	// Default: true.
	//
	Quiet *bool `field:"optional" json:"quiet" yaml:"quiet"`
}

type Crawler

type Crawler interface {
	awscdk.Resource
	ICrawler
	// {@link CrawlerProps.configuration}.
	Configuration() *CrawlerConfiguration
	// The Amazon Resource Name (ARN) of the crawler.
	CrawlerArn() *string
	// The name of the crawler.
	CrawlerName() *string
	// {@link CrawlerProps.database}.
	Database() Database
	// {@link CrawlerProps.deleteBehavior}.
	DeleteBehavior() DeleteBehavior
	// {@link CrawlerProps.description}.
	Description() *string
	// The environment this resource belongs to.
	//
	// For resources that are created and managed by the CDK
	// (generally, those created by creating new class instances like Role, Bucket, etc.),
	// this is always the same as the environment of the stack they belong to;
	// however, for imported resources
	// (those obtained from static methods like fromRoleArn, fromBucketName, etc.),
	// that might be different than the stack they were imported into.
	Env() *awscdk.ResourceEnvironment
	// {@link CrawlerProps.name}.
	Name() *string
	// The tree node.
	Node() constructs.Node
	// Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource.
	//
	// This value will resolve to one of the following:
	// - a concrete value (e.g. `"my-awesome-bucket"`)
	// - `undefined`, when a name should be generated by CloudFormation
	// - a concrete name generated automatically during synthesis, in
	//   cross-environment scenarios.
	PhysicalName() *string
	// {@link CrawlerProps.recrawlBehavior}.
	RecrawlBehavior() RecrawlBehavior
	Resource() awsglue.CfnCrawler
	Role() awsiam.Role
	// {@link CrawlerProps.scheduleExpression}.
	ScheduleExpression() awsevents.Schedule
	// {@link CrawlerProps.securityConfiguration}.
	SecurityConfiguration() SecurityConfiguration
	// The stack in which this resource is defined.
	Stack() awscdk.Stack
	// {@link CrawlerProps.tablePrefix}.
	TablePrefix() *string
	// {@link CrawlerProps.updateBehavior}.
	UpdateBehavior() UpdateBehavior
	AddClassifier(classifier *string)
	AddTarget(target ICrawlerTarget)
	// Apply the given removal policy to this resource.
	//
	// The Removal Policy controls what happens to this resource when it stops
	// being managed by CloudFormation, either because you've removed it from the
	// CDK application or because you've made a change that requires the resource
	// to be replaced.
	//
	// The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
	// account for data recovery and cleanup later (`RemovalPolicy.RETAIN`).
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	GeneratePhysicalName() *string
	// Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`).
	//
	// Normally, this token will resolve to `arnAttr`, but if the resource is
	// referenced across environments, `arnComponents` will be used to synthesize
	// a concrete ARN with the resource's physical name. Make sure to reference
	// `this.physicalName` in `arnComponents`.
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	// Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`).
	//
	// Normally, this token will resolve to `nameAttr`, but if the resource is
	// referenced across environments, it will be resolved to `this.physicalName`,
	// which will be a concrete name.
	GetResourceNameAttribute(nameAttr *string) *string
	// Returns a string representation of this construct.
	ToString() *string
}

Create a Crawler resource to pull information from the provided resource. See: [AWS::Glue::Crawler](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-crawler.html)

func NewCrawler

func NewCrawler(scope constructs.Construct, id *string, props *CrawlerProps) Crawler

Creates a new instance of the Crawler class.

type CrawlerConfiguration

type CrawlerConfiguration struct {
	PartitionUpdateBehavior PartitionUpdateBehavior `field:"optional" json:"partitionUpdateBehavior" yaml:"partitionUpdateBehavior"`
	TableGroupingPolicy     TableGroupingPolicy     `field:"optional" json:"tableGroupingPolicy" yaml:"tableGroupingPolicy"`
	TableLevel              *float64                `field:"optional" json:"tableLevel" yaml:"tableLevel"`
	TableUpdateBehavior     TableUpdateBehavior     `field:"optional" json:"tableUpdateBehavior" yaml:"tableUpdateBehavior"`
	Version                 ConfigurationVersion    `field:"optional" json:"version" yaml:"version"`
}

type CrawlerProps

type CrawlerProps struct {
	// The AWS account ID this resource belongs to.
	// Default: - the resource is in the same account as the stack it belongs to.
	//
	Account *string `field:"optional" json:"account" yaml:"account"`
	// ARN to deduce region and account from.
	//
	// The ARN is parsed and the account and region are taken from the ARN.
	// This should be used for imported resources.
	//
	// Cannot be supplied together with either `account` or `region`.
	// Default: - take environment from `account`, `region` parameters, or use Stack environment.
	//
	EnvironmentFromArn *string `field:"optional" json:"environmentFromArn" yaml:"environmentFromArn"`
	// The value passed in by users to the physical name prop of the resource.
	//
	// - `undefined` implies that a physical name will be allocated by
	//   CloudFormation during deployment.
	// - a concrete value implies a specific physical name
	// - `PhysicalName.GENERATE_IF_NEEDED` is a marker that indicates that a physical will only be generated
	//   by the CDK if it is needed for cross-environment references. Otherwise, it will be allocated by CloudFormation.
	// Default: - The physical name will be allocated by CloudFormation at deployment time.
	//
	PhysicalName *string `field:"optional" json:"physicalName" yaml:"physicalName"`
	// The AWS region this resource belongs to.
	// Default: - the resource is in the same region as the stack it belongs to.
	//
	Region *string `field:"optional" json:"region" yaml:"region"`
	// A list of UTF-8 strings that specify the names of custom classifiers that are associated with the crawler.
	// See: [AWS::Glue::Crawler](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-crawler.html#cfn-glue-crawler-classifiers)
	//
	Classifiers *[]*string `field:"optional" json:"classifiers" yaml:"classifiers"`
	// Crawler configuration information.
	//
	// This versioned JSON string allows users to specify aspects of a crawler's behavior. For more information, see Configuring a Crawler.
	// See: [AWS::Glue::Crawler](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-crawler.html#cfn-glue-crawler-configuration)
	//
	Configuration *CrawlerConfiguration `field:"optional" json:"configuration" yaml:"configuration"`
	// The {@link aws-glue.Database Database } object in which the crawler's output is stored.
	Database Database `field:"optional" json:"database" yaml:"database"`
	// The deletion behavior when the crawler finds a deleted object.
	// See: [AWS::Glue::Crawler SchemaChangePolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-schemachangepolicy.html#cfn-glue-crawler-schemachangepolicy-deletebehavior)
	//
	DeleteBehavior DeleteBehavior `field:"optional" json:"deleteBehavior" yaml:"deleteBehavior"`
	// Description of the Crawler.
	Description *string `field:"optional" json:"description" yaml:"description"`
	// Name of the Crawler.
	Name *string `field:"optional" json:"name" yaml:"name"`
	// 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.
	// See: [AWS::Glue::Crawler RecrawlPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-recrawlpolicy.html)
	//
	RecrawlBehavior RecrawlBehavior `field:"optional" json:"recrawlBehavior" yaml:"recrawlBehavior"`
	// For scheduled crawlers, the schedule when the crawler runs.
	// See: [AWS::Glue::Crawler Schedule](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-schedule.html)
	//
	ScheduleExpression awsevents.Schedule `field:"optional" json:"scheduleExpression" yaml:"scheduleExpression"`
	// A {@link aws-glue.SecurityConfiguration SecurityConfiguration } object to apply to the Crawler.
	SecurityConfiguration SecurityConfiguration `field:"optional" json:"securityConfiguration" yaml:"securityConfiguration"`
	// The prefix added to the names of tables that are created.
	// See: [AWS::Glue::Crawler](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-crawler.html#cfn-glue-crawler-tableprefix)
	//
	TablePrefix *string `field:"optional" json:"tablePrefix" yaml:"tablePrefix"`
	// A collection of targets to crawl.
	// See: [AWS::Glue::Crawler](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-crawler.html#cfn-glue-crawler-targets)
	//
	Targets *[]ICrawlerTarget `field:"optional" json:"targets" yaml:"targets"`
	// The update behavior when the crawler finds a changed schema.
	// See: [AWS::Glue::Crawler SchemaChangePolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-schemachangepolicy.html#cfn-glue-crawler-schemachangepolicy-updatebehavior)
	//
	UpdateBehavior UpdateBehavior `field:"optional" json:"updateBehavior" yaml:"updateBehavior"`
}

Configuration for Crawler.

type CrawlerState added in v0.0.36

type CrawlerState string

State a Glue crawler must be in in order to satisfy a predicate condition to trigger a part of a workflow.

const (
	// A crawler execution was cancelled before it could finish.
	CrawlerState_CANCELLED CrawlerState = "CANCELLED"
	// A crawler that has finished and ended in an error.
	CrawlerState_FAILED CrawlerState = "FAILED"
	// A crawler which has finished successfully.
	CrawlerState_SUCCEEDED CrawlerState = "SUCCEEDED"
)

type CrawlerTargetCollection

type CrawlerTargetCollection struct {
	CatalogTargets  *[]*awsglue.CfnCrawler_CatalogTargetProperty  `field:"optional" json:"catalogTargets" yaml:"catalogTargets"`
	DynamoDbTargets *[]*awsglue.CfnCrawler_DynamoDBTargetProperty `field:"optional" json:"dynamoDbTargets" yaml:"dynamoDbTargets"`
	JdbcTargets     *[]*awsglue.CfnCrawler_JdbcTargetProperty     `field:"optional" json:"jdbcTargets" yaml:"jdbcTargets"`
	S3Targets       *[]*awsglue.CfnCrawler_S3TargetProperty       `field:"optional" json:"s3Targets" yaml:"s3Targets"`
}

type DataFormat

type DataFormat interface {
	// Classification string given to tables with this data format.
	ClassificationString() ClassificationString
	// `InputFormat` for this data format.
	InputFormat() InputFormat
	// `OutputFormat` for this data format.
	OutputFormat() OutputFormat
	// Serialization library for this data format.
	SerializationLibrary() SerializationLibrary
}

Defines the input/output formats and ser/de for a single DataFormat.

func DataFormat_APACHE_LOGS

func DataFormat_APACHE_LOGS() DataFormat

func DataFormat_AVRO

func DataFormat_AVRO() DataFormat

func DataFormat_CLOUDTRAIL_LOGS

func DataFormat_CLOUDTRAIL_LOGS() DataFormat

func DataFormat_CSV

func DataFormat_CSV() DataFormat

func DataFormat_JSON

func DataFormat_JSON() DataFormat

func DataFormat_LOGSTASH

func DataFormat_LOGSTASH() DataFormat

func DataFormat_ORC

func DataFormat_ORC() DataFormat

func DataFormat_PARQUET

func DataFormat_PARQUET() DataFormat

func DataFormat_TSV

func DataFormat_TSV() DataFormat

func NewDataFormat

func NewDataFormat(props *DataFormatProps) DataFormat

type DataFormatProps

type DataFormatProps struct {
	// `InputFormat` for this data format.
	InputFormat InputFormat `field:"required" json:"inputFormat" yaml:"inputFormat"`
	// `OutputFormat` for this data format.
	OutputFormat OutputFormat `field:"required" json:"outputFormat" yaml:"outputFormat"`
	// Serialization library for this data format.
	SerializationLibrary SerializationLibrary `field:"required" json:"serializationLibrary" yaml:"serializationLibrary"`
	// Classification string given to tables with this data format.
	// Default: - No classification is specified.
	//
	ClassificationString ClassificationString `field:"optional" json:"classificationString" yaml:"classificationString"`
}

Properties of a DataFormat instance.

type Database

type Database interface {
	awscdk.Resource
	CatalogArn() *string
	CatalogId() *string
	DatabaseArn() *string
	DatabaseName() *string
	// {@link DatabaseProps.description}.
	Description() *string
	// The environment this resource belongs to.
	//
	// For resources that are created and managed by the CDK
	// (generally, those created by creating new class instances like Role, Bucket, etc.),
	// this is always the same as the environment of the stack they belong to;
	// however, for imported resources
	// (those obtained from static methods like fromRoleArn, fromBucketName, etc.),
	// that might be different than the stack they were imported into.
	Env() *awscdk.ResourceEnvironment
	// {@link DatabaseProps.locationUri}.
	LocationUri() *string
	// {@link DatabaseProps.name:}.
	Name() *string
	// The tree node.
	Node() constructs.Node
	// Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource.
	//
	// This value will resolve to one of the following:
	// - a concrete value (e.g. `"my-awesome-bucket"`)
	// - `undefined`, when a name should be generated by CloudFormation
	// - a concrete name generated automatically during synthesis, in
	//   cross-environment scenarios.
	PhysicalName() *string
	Resource() awsglue.CfnDatabase
	// The stack in which this resource is defined.
	Stack() awscdk.Stack
	// Apply the given removal policy to this resource.
	//
	// The Removal Policy controls what happens to this resource when it stops
	// being managed by CloudFormation, either because you've removed it from the
	// CDK application or because you've made a change that requires the resource
	// to be replaced.
	//
	// The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
	// account for data recovery and cleanup later (`RemovalPolicy.RETAIN`).
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	GeneratePhysicalName() *string
	// Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`).
	//
	// Normally, this token will resolve to `arnAttr`, but if the resource is
	// referenced across environments, `arnComponents` will be used to synthesize
	// a concrete ARN with the resource's physical name. Make sure to reference
	// `this.physicalName` in `arnComponents`.
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	// Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`).
	//
	// Normally, this token will resolve to `nameAttr`, but if the resource is
	// referenced across environments, it will be resolved to `this.physicalName`,
	// which will be a concrete name.
	GetResourceNameAttribute(nameAttr *string) *string
	// Returns a string representation of this construct.
	ToString() *string
}

Creates a Glue Database resource to contain a collection of metadata Tables. See: [AWS::Glue::Database](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-database.html

func NewDatabase

func NewDatabase(scope constructs.Construct, id *string, props *DatabaseProps) Database

Creates a new instance of the Database class.

type DatabaseProps

type DatabaseProps struct {
	// The AWS account ID this resource belongs to.
	// Default: - the resource is in the same account as the stack it belongs to.
	//
	Account *string `field:"optional" json:"account" yaml:"account"`
	// ARN to deduce region and account from.
	//
	// The ARN is parsed and the account and region are taken from the ARN.
	// This should be used for imported resources.
	//
	// Cannot be supplied together with either `account` or `region`.
	// Default: - take environment from `account`, `region` parameters, or use Stack environment.
	//
	EnvironmentFromArn *string `field:"optional" json:"environmentFromArn" yaml:"environmentFromArn"`
	// The value passed in by users to the physical name prop of the resource.
	//
	// - `undefined` implies that a physical name will be allocated by
	//   CloudFormation during deployment.
	// - a concrete value implies a specific physical name
	// - `PhysicalName.GENERATE_IF_NEEDED` is a marker that indicates that a physical will only be generated
	//   by the CDK if it is needed for cross-environment references. Otherwise, it will be allocated by CloudFormation.
	// Default: - The physical name will be allocated by CloudFormation at deployment time.
	//
	PhysicalName *string `field:"optional" json:"physicalName" yaml:"physicalName"`
	// The AWS region this resource belongs to.
	// Default: - the resource is in the same region as the stack it belongs to.
	//
	Region *string `field:"optional" json:"region" yaml:"region"`
	// A description of the database.
	Description *string `field:"optional" json:"description" yaml:"description"`
	// The location of the database (for example, an HDFS path).
	// See: [AWS::Glue::Database DatabaseInput](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-database-databaseinput.html#cfn-glue-database-databaseinput-locationuri)
	//
	LocationUri *string `field:"optional" json:"locationUri" yaml:"locationUri"`
	// The name of the database.
	//
	// For Hive compatibility, this is folded to lowercase when it is stored.
	Name *string `field:"optional" json:"name" yaml:"name"`
}

Configuration for Database.

type DeleteBehavior

type DeleteBehavior string
const (
	DeleteBehavior_DELETE_FROM_DATABASE  DeleteBehavior = "DELETE_FROM_DATABASE"
	DeleteBehavior_DEPRECATE_IN_DATABASE DeleteBehavior = "DEPRECATE_IN_DATABASE"
	DeleteBehavior_LOG                   DeleteBehavior = "LOG"
)

type GlueVersion

type GlueVersion interface {
	// The name of this GlueVersion, as expected by Job resource.
	Name() *string
}

func GlueVersion_Of

func GlueVersion_Of(version *string) GlueVersion

Custom Glue version.

func GlueVersion_V0_9

func GlueVersion_V0_9() GlueVersion

func GlueVersion_V1_0

func GlueVersion_V1_0() GlueVersion

func GlueVersion_V2_0

func GlueVersion_V2_0() GlueVersion

func GlueVersion_V3_0

func GlueVersion_V3_0() GlueVersion

type ICrawler added in v0.0.36

type ICrawler interface {
	constructs.IConstruct
	// The Amazon Resource Name (ARN) of the crawler.
	CrawlerArn() *string
	// The name of the crawler.
	CrawlerName() *string
}

func Crawler_FromCrawlerArn added in v0.0.36

func Crawler_FromCrawlerArn(scope constructs.IConstruct, id *string, crawlerArn *string) ICrawler

Imports an existing crawler using its Amazon Resource Name (ARN).

Returns: An object representing the crawler that was imported.

func Crawler_FromCrawlerName added in v0.0.36

func Crawler_FromCrawlerName(scope constructs.IConstruct, id *string, crawlerName *string) ICrawler

Imports an existing crawler using its name.

Returns: An object representing the crawler that was imported.

type ICrawlerTarget

type ICrawlerTarget interface {
	Bind(crawler Crawler) *CrawlerTargetCollection
}

type IJob added in v0.0.36

type IJob interface {
	constructs.IConstruct
	// The Amazon Resource Name (ARN) of the job.
	JobArn() *string
	// The name of the job.
	JobName() *string
}

Represnets a Glue Job in AWS.

func Job_FromJobArn added in v0.0.36

func Job_FromJobArn(scope constructs.IConstruct, id *string, jobArn *string) IJob

Imports an existing job using its Amazon Resource Name (ARN).

Returns: An object representing the job that was imported.

func Job_FromJobName added in v0.0.36

func Job_FromJobName(scope constructs.IConstruct, id *string, jobName *string) IJob

Imports an existing job using its name.

Returns: An object representing the job that was imported.

type ITrigger added in v0.0.36

type ITrigger interface {
	constructs.IConstruct
	// The Amazon Resource Name (ARN) of the trigger.
	TriggerArn() *string
	// The name of the trigger.
	TriggerName() *string
}

Represents a Glue Trigger in AWS.

func Trigger_FromTriggerArn added in v0.0.36

func Trigger_FromTriggerArn(scope constructs.IConstruct, id *string, triggerArn *string) ITrigger

Imports an existing trigger using its Amazon Resource Name (ARN).

Returns: An object representing the trigger that was imported.

func Trigger_FromTriggerName added in v0.0.36

func Trigger_FromTriggerName(scope constructs.IConstruct, id *string, triggerName *string) ITrigger

Imports an existing trigger using its name.

Returns: An object representing the trigger that was imported.

type ITriggerAction

type ITriggerAction interface {
	Bind(scope constructs.IConstruct) *awsglue.CfnTrigger_ActionProperty
}

Represents an action that should be taken when a trigger is executed.

type ITriggerPredicate

type ITriggerPredicate interface {
	Bind(scope constructs.IConstruct) *awsglue.CfnTrigger_ConditionProperty
}

Represents a precondition that must be satisfied in order for a trigger to be executed.

type InputFormat

type InputFormat interface {
	ClassName() *string
}

Absolute class name of the Hadoop `InputFormat` to use when reading table files.

func InputFormat_AVRO

func InputFormat_AVRO() InputFormat

func InputFormat_CLOUDTRAIL

func InputFormat_CLOUDTRAIL() InputFormat

func InputFormat_ORC

func InputFormat_ORC() InputFormat

func InputFormat_PARQUET

func InputFormat_PARQUET() InputFormat

func InputFormat_TEXT

func InputFormat_TEXT() InputFormat

func NewInputFormat

func NewInputFormat(className *string) InputFormat

func OutputFormat_AVRO

func OutputFormat_AVRO() InputFormat

func OutputFormat_ORC

func OutputFormat_ORC() InputFormat

type JdbcConnection added in v0.0.35

type JdbcConnection interface {
	Connection
	ConnectionArn() *string
	ConnectionName() *string
	// The network connections associated with this resource.
	Connections() awsec2.Connections
	// {@link ConnectionProps.connectionType:}.
	ConnectionType() ConnectionType
	// {@link ConnectionProps.description}.
	Description() *string
	// The environment this resource belongs to.
	//
	// For resources that are created and managed by the CDK
	// (generally, those created by creating new class instances like Role, Bucket, etc.),
	// this is always the same as the environment of the stack they belong to;
	// however, for imported resources
	// (those obtained from static methods like fromRoleArn, fromBucketName, etc.),
	// that might be different than the stack they were imported into.
	Env() *awscdk.ResourceEnvironment
	// {@link ConnectionProps.name}.
	Name() *string
	// The tree node.
	Node() constructs.Node
	// {@link JdbcConnectionProps.password:}.
	Password() awscdk.SecretValue
	// Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource.
	//
	// This value will resolve to one of the following:
	// - a concrete value (e.g. `"my-awesome-bucket"`)
	// - `undefined`, when a name should be generated by CloudFormation
	// - a concrete name generated automatically during synthesis, in
	//   cross-environment scenarios.
	PhysicalName() *string
	Resource() awsglue.CfnConnection
	SecurityGroup() awsec2.SecurityGroup
	// {@link ConnectionProps.securityGroups:}.
	SecurityGroups() *[]awsec2.ISecurityGroup
	// The stack in which this resource is defined.
	Stack() awscdk.Stack
	// {@link ConnectionProps.subnets}.
	Subnets() *awsec2.SubnetSelection
	// {@link JdbcConnectionProps.url:}.
	Url() *string
	// {@link JdbcConnectionProps.username:}.
	Username() *string
	// {@link ConnectionProps.vpc}.
	Vpc() awsec2.IVpc
	AddMatchCriteria(value *string)
	AddProperty(key *string, value *string)
	// Apply the given removal policy to this resource.
	//
	// The Removal Policy controls what happens to this resource when it stops
	// being managed by CloudFormation, either because you've removed it from the
	// CDK application or because you've made a change that requires the resource
	// to be replaced.
	//
	// The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
	// account for data recovery and cleanup later (`RemovalPolicy.RETAIN`).
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	GeneratePhysicalName() *string
	// Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`).
	//
	// Normally, this token will resolve to `arnAttr`, but if the resource is
	// referenced across environments, `arnComponents` will be used to synthesize
	// a concrete ARN with the resource's physical name. Make sure to reference
	// `this.physicalName` in `arnComponents`.
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	// Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`).
	//
	// Normally, this token will resolve to `nameAttr`, but if the resource is
	// referenced across environments, it will be resolved to `this.physicalName`,
	// which will be a concrete name.
	GetResourceNameAttribute(nameAttr *string) *string
	// Returns a string representation of this construct.
	ToString() *string
}

Creates a Connection resource to a Java Database. See: [AWS::Glue::Connection](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-connection.html)

func NewJdbcConnection added in v0.0.35

func NewJdbcConnection(scope constructs.Construct, id *string, props *JdbcConnectionProps) JdbcConnection

Creates a new instance of the JdbcConnection class.

type JdbcConnectionProps added in v0.0.35

type JdbcConnectionProps struct {
	// The AWS account ID this resource belongs to.
	// Default: - the resource is in the same account as the stack it belongs to.
	//
	Account *string `field:"optional" json:"account" yaml:"account"`
	// ARN to deduce region and account from.
	//
	// The ARN is parsed and the account and region are taken from the ARN.
	// This should be used for imported resources.
	//
	// Cannot be supplied together with either `account` or `region`.
	// Default: - take environment from `account`, `region` parameters, or use Stack environment.
	//
	EnvironmentFromArn *string `field:"optional" json:"environmentFromArn" yaml:"environmentFromArn"`
	// The value passed in by users to the physical name prop of the resource.
	//
	// - `undefined` implies that a physical name will be allocated by
	//   CloudFormation during deployment.
	// - a concrete value implies a specific physical name
	// - `PhysicalName.GENERATE_IF_NEEDED` is a marker that indicates that a physical will only be generated
	//   by the CDK if it is needed for cross-environment references. Otherwise, it will be allocated by CloudFormation.
	// Default: - The physical name will be allocated by CloudFormation at deployment time.
	//
	PhysicalName *string `field:"optional" json:"physicalName" yaml:"physicalName"`
	// The AWS region this resource belongs to.
	// Default: - the resource is in the same region as the stack it belongs to.
	//
	Region *string `field:"optional" json:"region" yaml:"region"`
	// A SecretValue providing the password for the Connection to authenticate to the source with.
	// See: [AWS::Glue::Connection ConnectionInput](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-connectioninput.html#cfn-glue-connection-connectioninput-connectiontype)
	//
	Password awscdk.SecretValue `field:"required" json:"password" yaml:"password"`
	// The URL to the source for the Connection.
	// See: [AWS::Glue::Connection ConnectionInput](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-connectioninput.html#cfn-glue-connection-connectioninput-connectiontype)
	//
	Url *string `field:"required" json:"url" yaml:"url"`
	// The username for the Connection to authenticate to the source with.
	// See: [AWS::Glue::Connection ConnectionInput](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-connectioninput.html#cfn-glue-connection-connectioninput-connectiontype)
	//
	Username *string `field:"required" json:"username" yaml:"username"`
	// VPC to attach to the Connection.
	// See: [IVpc Interface](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ec2.IVpc.html)
	//
	Vpc awsec2.IVpc `field:"required" json:"vpc" yaml:"vpc"`
	// A description of the Connection.
	Description *string `field:"optional" json:"description" yaml:"description"`
	// Boolean value on whether to require encryption on the Connection.
	// See: [AWS::Glue::Connection ConnectionInput](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-connectioninput.html#cfn-glue-connection-connectioninput-connectiontype)
	//
	EnforceSsl *bool `field:"optional" json:"enforceSsl" yaml:"enforceSsl"`
	// A name for the Connection.
	Name *string `field:"optional" json:"name" yaml:"name"`
	// A list of Security Groups to apply to the Connection.
	SecurityGroups *[]awsec2.ISecurityGroup `field:"optional" json:"securityGroups" yaml:"securityGroups"`
	// Options for selection of subnets from the VPC to attach to the Connection.
	// See: [CDK SubnetSelection](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ec2.SubnetSelection.html)
	//
	Subnets *awsec2.SubnetSelection `field:"optional" json:"subnets" yaml:"subnets"`
}

Configuration for the Glue Workflow resource.

type JdbcTarget

type JdbcTarget interface {
	ICrawlerTarget
	Connection() Connection
	AddExclusion(exclusion *string)
	AddPath(path *string)
	Bind(_crawler Crawler) *CrawlerTargetCollection
}

func NewJdbcTarget

func NewJdbcTarget(connection Connection, options *JdbcTargetOptions) JdbcTarget

Creates a new instance of the JdbcTarget class.

type JdbcTargetOptions

type JdbcTargetOptions struct {
	// 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)
	//
	Exclusions *[]*string `field:"optional" json:"exclusions" yaml:"exclusions"`
	// The path of the JDBC target.
	// See: [AWS::Glue::Crawler JdbcTarget](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-jdbctarget.html#cfn-glue-crawler-jdbctarget-path)
	//
	Paths *[]*string `field:"optional" json:"paths" yaml:"paths"`
}

Configuration for Crawler JDBC target.

type Job

type Job interface {
	awscdk.Resource
	IJob
	// {@link JobProps.allocatedCapacity}.
	AllocatedCapacity() *float64
	// {@link JobProps.connections}.
	Connections() *[]Connection
	// {@link JobProps.continuousLogging}.
	ContinuousLogging() *ContinuousLoggingProps
	// {@link JobProps.description}.
	Description() *string
	// The environment this resource belongs to.
	//
	// For resources that are created and managed by the CDK
	// (generally, those created by creating new class instances like Role, Bucket, etc.),
	// this is always the same as the environment of the stack they belong to;
	// however, for imported resources
	// (those obtained from static methods like fromRoleArn, fromBucketName, etc.),
	// that might be different than the stack they were imported into.
	Env() *awscdk.ResourceEnvironment
	// {@link JobProps.executable:}.
	Executable() JobExecutable
	// The Amazon Resource Name (ARN) of the job.
	JobArn() *string
	// The name of the job.
	JobName() *string
	LogGroup() awslogs.ILogGroup
	// {@link JobProps.maxCapacity}.
	MaxCapacity() *float64
	// {@link JobProps.maxConcurrentRuns}.
	MaxConcurrentRuns() *float64
	// {@link JobProps.maxRetries}.
	MaxRetries() *float64
	// {@link JobProps.name}.
	Name() *string
	// The tree node.
	Node() constructs.Node
	// {@link JobProps.notifyDelayAfter}.
	NotifyDelayAfter() awscdk.Duration
	// Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource.
	//
	// This value will resolve to one of the following:
	// - a concrete value (e.g. `"my-awesome-bucket"`)
	// - `undefined`, when a name should be generated by CloudFormation
	// - a concrete name generated automatically during synthesis, in
	//   cross-environment scenarios.
	PhysicalName() *string
	Resource() awsglue.CfnJob
	Role() awsiam.IRole
	// {@link JobProps.securityConfiguration}.
	SecurityConfiguration() SecurityConfiguration
	// The stack in which this resource is defined.
	Stack() awscdk.Stack
	// {@link JobProps.timeout}.
	Timeout() awscdk.Duration
	// {@link JobProps.workerCount}.
	WorkerCount() *float64
	// {@link JobProps.workerType}.
	WorkerType() WorkerType
	AddArgument(key *string, value *string)
	AddConnection(connection Connection)
	// Apply the given removal policy to this resource.
	//
	// The Removal Policy controls what happens to this resource when it stops
	// being managed by CloudFormation, either because you've removed it from the
	// CDK application or because you've made a change that requires the resource
	// to be replaced.
	//
	// The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
	// account for data recovery and cleanup later (`RemovalPolicy.RETAIN`).
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	GeneratePhysicalName() *string
	// Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`).
	//
	// Normally, this token will resolve to `arnAttr`, but if the resource is
	// referenced across environments, `arnComponents` will be used to synthesize
	// a concrete ARN with the resource's physical name. Make sure to reference
	// `this.physicalName` in `arnComponents`.
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	// Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`).
	//
	// Normally, this token will resolve to `nameAttr`, but if the resource is
	// referenced across environments, it will be resolved to `this.physicalName`,
	// which will be a concrete name.
	GetResourceNameAttribute(nameAttr *string) *string
	// Returns a string representation of this construct.
	ToString() *string
}

Creates a Glue Job. See: [AWS::Glue::Job](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html)

func NewJob

func NewJob(scope constructs.Construct, id *string, props *JobProps) Job

Creates a new instance of the Job class.

type JobBookmarksEncryption

type JobBookmarksEncryption struct {
	// Encryption mode.
	Mode JobBookmarksEncryptionMode `field:"required" json:"mode" yaml:"mode"`
	// The KMS key to be used to encrypt the data.
	// Default: A key will be created if one is not provided.
	//
	KmsKey awskms.IKey `field:"optional" json:"kmsKey" yaml:"kmsKey"`
}

Job bookmarks encryption configuration.

type JobBookmarksEncryptionMode

type JobBookmarksEncryptionMode string

Encryption mode for Job Bookmarks. See: https://docs.aws.amazon.com/glue/latest/webapi/API_JobBookmarksEncryption.html#Glue-Type-JobBookmarksEncryption-JobBookmarksEncryptionMode

const (
	// Client-side encryption (CSE) with an AWS KMS key managed by the account owner.
	// See: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingClientSideEncryption.html
	//
	JobBookmarksEncryptionMode_CLIENT_SIDE_KMS JobBookmarksEncryptionMode = "CLIENT_SIDE_KMS"
)

type JobExecutable

type JobExecutable interface {
	// Called during Job initialization to get JobExecutableConfig.
	Bind() *JobExecutableConfig
}

The executable properties related to the Glue job's GlueVersion, JobType and code.

func JobExecutable_Of

func JobExecutable_Of(config *JobExecutableConfig) JobExecutable

Create a custom JobExecutable.

func JobExecutable_PythonEtl

func JobExecutable_PythonEtl(props *PythonSparkJobExecutableProps) JobExecutable

Create Python executable props for Apache Spark ETL job.

func JobExecutable_PythonShell

func JobExecutable_PythonShell(props *PythonShellExecutableProps) JobExecutable

Create Python executable props for python shell jobs.

func JobExecutable_PythonStreaming

func JobExecutable_PythonStreaming(props *PythonSparkJobExecutableProps) JobExecutable

Create Python executable props for Apache Spark Streaming job.

func JobExecutable_ScalaEtl

func JobExecutable_ScalaEtl(props *ScalaJobExecutableProps) JobExecutable

Create Scala executable props for Apache Spark ETL job.

func JobExecutable_ScalaStreaming

func JobExecutable_ScalaStreaming(props *ScalaJobExecutableProps) JobExecutable

Create Scala executable props for Apache Spark Streaming job.

type JobExecutableConfig

type JobExecutableConfig struct {
	// Glue version.
	// See: https://docs.aws.amazon.com/glue/latest/dg/release-notes.html
	//
	GlueVersion GlueVersion `field:"required" json:"glueVersion" yaml:"glueVersion"`
	// The language of the job (Scala or Python).
	// See:  `--job-language` in https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html
	//
	Language JobLanguage `field:"required" json:"language" yaml:"language"`
	// The script that is executed by a job.
	Script Code `field:"required" json:"script" yaml:"script"`
	// Specify the type of the job whether it's an Apache Spark ETL or streaming one or if it's a Python shell job.
	Type JobType `field:"required" json:"type" yaml:"type"`
	// The Scala class that serves as the entry point for the job.
	//
	// This applies only if your the job langauage is Scala.
	// See:  `--class` in https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html
	//
	// Default: - no scala className specified.
	//
	ClassName *string `field:"optional" json:"className" yaml:"className"`
	// Additional files, such as configuration files that AWS Glue copies to the working directory of your script before executing it.
	// See:  `--extra-files` in https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html
	//
	// Default: - no extra files specified.
	//
	ExtraFiles *[]Code `field:"optional" json:"extraFiles" yaml:"extraFiles"`
	// Additional Java .jar files that AWS Glue adds to the Java classpath before executing your script.
	// See:  `--extra-jars` in https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html
	//
	// Default: - no extra jars specified.
	//
	ExtraJars *[]Code `field:"optional" json:"extraJars" yaml:"extraJars"`
	// Setting this value to true prioritizes the customer's extra JAR files in the classpath.
	// See:  `--user-jars-first` in https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html
	//
	// Default: - extra jars are not prioritized.
	//
	ExtraJarsFirst *bool `field:"optional" json:"extraJarsFirst" yaml:"extraJarsFirst"`
	// Additional Python files that AWS Glue adds to the Python path before executing your script.
	// See:  `--extra-py-files` in https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html
	//
	// Default: - no extra python files specified.
	//
	ExtraPythonFiles *[]Code `field:"optional" json:"extraPythonFiles" yaml:"extraPythonFiles"`
	// The Python version to use.
	// Default: - no python version specified.
	//
	PythonVersion PythonVersion `field:"optional" json:"pythonVersion" yaml:"pythonVersion"`
}

Result of binding a `JobExecutable` into a `Job`.

type JobLanguage

type JobLanguage string
const (
	// Python.
	JobLanguage_PYTHON JobLanguage = "PYTHON"
	// Scala.
	JobLanguage_SCALA JobLanguage = "SCALA"
)

type JobProps

type JobProps struct {
	// The AWS account ID this resource belongs to.
	// Default: - the resource is in the same account as the stack it belongs to.
	//
	Account *string `field:"optional" json:"account" yaml:"account"`
	// ARN to deduce region and account from.
	//
	// The ARN is parsed and the account and region are taken from the ARN.
	// This should be used for imported resources.
	//
	// Cannot be supplied together with either `account` or `region`.
	// Default: - take environment from `account`, `region` parameters, or use Stack environment.
	//
	EnvironmentFromArn *string `field:"optional" json:"environmentFromArn" yaml:"environmentFromArn"`
	// The value passed in by users to the physical name prop of the resource.
	//
	// - `undefined` implies that a physical name will be allocated by
	//   CloudFormation during deployment.
	// - a concrete value implies a specific physical name
	// - `PhysicalName.GENERATE_IF_NEEDED` is a marker that indicates that a physical will only be generated
	//   by the CDK if it is needed for cross-environment references. Otherwise, it will be allocated by CloudFormation.
	// Default: - The physical name will be allocated by CloudFormation at deployment time.
	//
	PhysicalName *string `field:"optional" json:"physicalName" yaml:"physicalName"`
	// The AWS region this resource belongs to.
	// Default: - the resource is in the same region as the stack it belongs to.
	//
	Region *string `field:"optional" json:"region" yaml:"region"`
	// Executable properties for the Job.
	Executable JobExecutable `field:"required" json:"executable" yaml:"executable"`
	// The number of capacity units that are allocated to this job.
	// See: [AWS::Glue::Job](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html#cfn-glue-job-allocatedcapacity)
	//
	AllocatedCapacity *float64 `field:"optional" json:"allocatedCapacity" yaml:"allocatedCapacity"`
	// List of Connections for use with this job.
	// See: [AWS::Glue::Job](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html#cfn-glue-job-connections)
	//
	Connections *[]Connection `field:"optional" json:"connections" yaml:"connections"`
	// Set of properties for configuration of Continuous Logging.
	ContinuousLogging *ContinuousLoggingProps `field:"optional" json:"continuousLogging" yaml:"continuousLogging"`
	// The default arguments for this job, specified as name-value pairs.
	//
	// You can specify arguments here that your own job-execution script consumes, in addition to arguments that AWS Glue itself consumes.
	// See: [AWS::Glue::Job](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html#cfn-glue-job-defaultarguments)
	//
	DefaultArguments *map[string]*string `field:"optional" json:"defaultArguments" yaml:"defaultArguments"`
	// A description of the job.
	Description *string `field:"optional" json:"description" yaml:"description"`
	// Boolean value for whether to enable Profiling Metrics.
	EnableProfilingMetrics *bool `field:"optional" json:"enableProfilingMetrics" yaml:"enableProfilingMetrics"`
	// The number of AWS Glue data processing units (DPUs) that can be allocated when this job runs.
	//
	// A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory.
	//
	// Do not set Max Capacity if using WorkerType and NumberOfWorkers.
	//
	// The value that can be allocated for MaxCapacity depends on whether you are running a Python shell job or an Apache Spark ETL job:
	//
	//    - When you specify a Python shell job (JobCommand.Name="pythonshell"), you can allocate either 0.0625 or 1 DPU. The default is 0.0625 DPU.
	//
	//    - When you specify an Apache Spark ETL job (JobCommand.Name="glueetl"), you can allocate from 2 to 100 DPUs. The default is 10 DPUs. This job type cannot have a fractional DPU allocation.
	MaxCapacity *float64 `field:"optional" json:"maxCapacity" yaml:"maxCapacity"`
	// Maximum number of concurrent executions.
	// See: [AWS::Glue::Job ExecutionProperty](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-job-executionproperty.html)
	//
	MaxConcurrentRuns *float64 `field:"optional" json:"maxConcurrentRuns" yaml:"maxConcurrentRuns"`
	// The maximum number of times to retry this job after a JobRun fails.
	// See: [AWS::Glue::Job](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html#cfn-glue-job-maxretries)
	//
	MaxRetries *float64 `field:"optional" json:"maxRetries" yaml:"maxRetries"`
	// A name for the Job.
	Name *string `field:"optional" json:"name" yaml:"name"`
	// After a job run starts, the number of minutes to wait before sending a job run delay notification.
	// See: [AWS::Glue::Job NotificationProperty](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-job-notificationproperty.html)
	//
	NotifyDelayAfter awscdk.Duration `field:"optional" json:"notifyDelayAfter" yaml:"notifyDelayAfter"`
	// The name or Amazon Resource Name (ARN) of the IAM role associated with this job.
	Role awsiam.IRole `field:"optional" json:"role" yaml:"role"`
	// The Security Configuration object to be applied to the Job.
	SecurityConfiguration SecurityConfiguration `field:"optional" json:"securityConfiguration" yaml:"securityConfiguration"`
	// The job timeout in minutes.
	//
	// This is the maximum time that a job run can consume resources before it is terminated and enters TIMEOUT status. The default is 2,880 minutes (48 hours).
	// See: [AWS::Glue::Job](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html#cfn-glue-job-timeout)
	//
	Timeout awscdk.Duration `field:"optional" json:"timeout" yaml:"timeout"`
	// The number of worker available the Job.
	WorkerCount *float64 `field:"optional" json:"workerCount" yaml:"workerCount"`
	// The type of predefined worker that is allocated when a job runs.
	//
	// Accepts a value of Standard, G.1X, or G.2X.
	// See: [AWS::Glue::Job](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html#cfn-glue-job-workertype)
	//
	WorkerType WorkerType `field:"optional" json:"workerType" yaml:"workerType"`
}

Configuration for the Glue Job resource.

type JobState added in v0.0.36

type JobState string

State a Glue job must be in in order to satisfy a predicate condition to trigger a part of a workflow.

const (
	// A job that has finished and ended with an error.
	JobState_FAILED JobState = "FAILED"
	// A job which was stopped before completion.
	JobState_STOPPED JobState = "STOPPED"
	// A job which has finished successfully.
	JobState_SUCCEEDED JobState = "SUCCEEDED"
	// A job which timed out without completing.
	JobState_TIMEOUT JobState = "TIMEOUT"
)

type JobType

type JobType interface {
	// The name of this JobType, as expected by Job resource.
	Name() *string
}

The job type.

If you need to use a JobType that doesn't exist as a static member, you can instantiate a `JobType` object, e.g: `JobType.of('other name')`.

func JobType_ETL

func JobType_ETL() JobType

func JobType_Of

func JobType_Of(name *string) JobType

Custom type name.

func JobType_PYTHON_SHELL

func JobType_PYTHON_SHELL() JobType

func JobType_STREAMING

func JobType_STREAMING() JobType

type OutputFormat

type OutputFormat interface {
	ClassName() *string
}

Absolute class name of the Hadoop `OutputFormat` to use when writing table files.

func NewOutputFormat

func NewOutputFormat(className *string) OutputFormat

func OutputFormat_HIVE_IGNORE_KEY_TEXT

func OutputFormat_HIVE_IGNORE_KEY_TEXT() OutputFormat

func OutputFormat_PARQUET

func OutputFormat_PARQUET() OutputFormat

type PartitionUpdateBehavior

type PartitionUpdateBehavior string
const (
	PartitionUpdateBehavior_INHERIT_FROM_TABLE PartitionUpdateBehavior = "INHERIT_FROM_TABLE"
)

type PredicateLogicalOperator added in v0.0.36

type PredicateLogicalOperator string

Logical operator that specifies how the conditions of a predicate should be evaluated.

const (
	// State equals specified value.
	PredicateLogicalOperator_EQUALS PredicateLogicalOperator = "EQUALS"
)

type PredicateOperator

type PredicateOperator string
const (
	PredicateOperator_AND PredicateOperator = "AND"
	PredicateOperator_OR  PredicateOperator = "OR"
)

type PythonShellExecutableProps

type PythonShellExecutableProps struct {
	// Glue version.
	// See: https://docs.aws.amazon.com/glue/latest/dg/release-notes.html
	//
	GlueVersion GlueVersion `field:"required" json:"glueVersion" yaml:"glueVersion"`
	// The Python version to use.
	PythonVersion PythonVersion `field:"required" json:"pythonVersion" yaml:"pythonVersion"`
	// The script that executes a job.
	Script Code `field:"required" json:"script" yaml:"script"`
	// Additional files, such as configuration files that AWS Glue copies to the working directory of your script before executing it.
	//
	// Only individual files are supported, directories are not supported.
	// See:  `--extra-files` in https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html
	//
	// Default: [] - no extra files are copied to the working directory.
	//
	ExtraFiles *[]Code `field:"optional" json:"extraFiles" yaml:"extraFiles"`
	// Additional Python files that AWS Glue adds to the Python path before executing your script.
	//
	// Only individual files are supported, directories are not supported.
	// See:  `--extra-py-files` in https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html
	//
	// Default: - no extra python files and argument is not set.
	//
	ExtraPythonFiles *[]Code `field:"optional" json:"extraPythonFiles" yaml:"extraPythonFiles"`
}

Props for creating a Python shell job executable.

type PythonSparkJobExecutableProps

type PythonSparkJobExecutableProps struct {
	// Glue version.
	// See: https://docs.aws.amazon.com/glue/latest/dg/release-notes.html
	//
	GlueVersion GlueVersion `field:"required" json:"glueVersion" yaml:"glueVersion"`
	// The Python version to use.
	PythonVersion PythonVersion `field:"required" json:"pythonVersion" yaml:"pythonVersion"`
	// The script that executes a job.
	Script Code `field:"required" json:"script" yaml:"script"`
	// Additional files, such as configuration files that AWS Glue copies to the working directory of your script before executing it.
	//
	// Only individual files are supported, directories are not supported.
	// See:  `--extra-files` in https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html
	//
	// Default: [] - no extra files are copied to the working directory.
	//
	ExtraFiles *[]Code `field:"optional" json:"extraFiles" yaml:"extraFiles"`
	// Additional Java .jar files that AWS Glue adds to the Java classpath before executing your script. Only individual files are supported, directories are not supported.
	// See:  `--extra-jars` in https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html
	//
	// Default: [] - no extra jars are added to the classpath.
	//
	ExtraJars *[]Code `field:"optional" json:"extraJars" yaml:"extraJars"`
	// Setting this value to true prioritizes the customer's extra JAR files in the classpath.
	// See:  `--user-jars-first` in https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html
	//
	// Default: false - priority is not given to user-provided jars.
	//
	ExtraJarsFirst *bool `field:"optional" json:"extraJarsFirst" yaml:"extraJarsFirst"`
	// Additional Python files that AWS Glue adds to the Python path before executing your script.
	//
	// Only individual files are supported, directories are not supported.
	// See:  `--extra-py-files` in https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html
	//
	// Default: - no extra python files and argument is not set.
	//
	ExtraPythonFiles *[]Code `field:"optional" json:"extraPythonFiles" yaml:"extraPythonFiles"`
}

Props for creating a Python Spark (ETL or Streaming) job executable.

type PythonVersion

type PythonVersion string
const (
	// Python 3 (the exact version depends on GlueVersion and JobCommand used).
	PythonVersion_THREE PythonVersion = "THREE"
	// Python 2 (the exact version depends on GlueVersion and JobCommand used).
	PythonVersion_TWO PythonVersion = "TWO"
)

type RecrawlBehavior

type RecrawlBehavior string
const (
	RecrawlBehavior_EVENT_MODE       RecrawlBehavior = "EVENT_MODE"
	RecrawlBehavior_EVERYTHING       RecrawlBehavior = "EVERYTHING"
	RecrawlBehavior_NEW_FOLDERS_ONLY RecrawlBehavior = "NEW_FOLDERS_ONLY"
)

type S3Code

type S3Code interface {
	Code
	// Called when the Job is initialized to allow this object to bind.
	Bind(_scope constructs.Construct, grantable awsiam.IGrantable) *CodeConfig
}

Glue job Code from an S3 bucket.

func AssetCode_FromBucket

func AssetCode_FromBucket(bucket awss3.IBucket, key *string) S3Code

Job code as an S3 object.

func Code_FromBucket

func Code_FromBucket(bucket awss3.IBucket, key *string) S3Code

Job code as an S3 object.

func NewS3Code

func NewS3Code(bucket awss3.IBucket, key *string) S3Code

func S3Code_FromBucket

func S3Code_FromBucket(bucket awss3.IBucket, key *string) S3Code

Job code as an S3 object.

type S3Encryption

type S3Encryption struct {
	// Encryption mode.
	Mode S3EncryptionMode `field:"required" json:"mode" yaml:"mode"`
	// The KMS key to be used to encrypt the data.
	// Default: no kms key if mode = S3_MANAGED. A key will be created if one is not provided and mode = KMS.
	//
	KmsKey awskms.IKey `field:"optional" json:"kmsKey" yaml:"kmsKey"`
}

S3 encryption configuration.

type S3EncryptionMode

type S3EncryptionMode string

Encryption mode for S3. See: https://docs.aws.amazon.com/glue/latest/webapi/API_S3Encryption.html#Glue-Type-S3Encryption-S3EncryptionMode

const (
	// Server-side encryption (SSE) with an AWS KMS key managed by the account owner.
	// See: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html
	//
	S3EncryptionMode_KMS S3EncryptionMode = "KMS"
	// Server side encryption (SSE) with an Amazon S3-managed key.
	// See: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html
	//
	S3EncryptionMode_S3_MANAGED S3EncryptionMode = "S3_MANAGED"
)

type S3Target

type S3Target interface {
	ICrawlerTarget
	// Bucket to use as the Target.
	Bucket() awss3.IBucket
	// {@link S3TargetOptions.connection}.
	Connection() Connection
	// {@link S3TargetOptions.exclusions}.
	Exclusions() *[]*string
	// {@link S3TargetOptions.keyPrefix}.
	KeyPrefix() *string
	// {@link S3TargetOptions.sampleSize}.
	SampleSize() *string
	AddExclusion(exclusion *string)
	Bind(crawler Crawler) *CrawlerTargetCollection
}

func NewS3Target

func NewS3Target(bucket awss3.IBucket, options *S3TargetOptions) S3Target

type S3TargetOptions

type S3TargetOptions struct {
	// A {@link aws-glue.Connection "Connection" } object to connect to the target with.
	Connection Connection `field:"optional" json:"connection" yaml:"connection"`
	// A list of glob patterns used to exclude from the crawl.
	// See: [For More Information](https://docs.aws.amazon.com/glue/latest/dg/add-crawler.html)
	//
	Exclusions *[]*string `field:"optional" json:"exclusions" yaml:"exclusions"`
	// A Prefix Key for identification and organization of objects in the bucket.
	KeyPrefix *string `field:"optional" json:"keyPrefix" yaml:"keyPrefix"`
	// 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: [AWS::Glue::Crawler S3Target](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-s3target.html#cfn-glue-crawler-s3target-samplesize)
	//
	SampleSize *string `field:"optional" json:"sampleSize" yaml:"sampleSize"`
}

Configuration for Crawler S3 target.

type ScalaJobExecutableProps

type ScalaJobExecutableProps struct {
	// The fully qualified Scala class name that serves as the entry point for the job.
	// See:  `--class` in https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html
	//
	ClassName *string `field:"required" json:"className" yaml:"className"`
	// Glue version.
	// See: https://docs.aws.amazon.com/glue/latest/dg/release-notes.html
	//
	GlueVersion GlueVersion `field:"required" json:"glueVersion" yaml:"glueVersion"`
	// The script that executes a job.
	Script Code `field:"required" json:"script" yaml:"script"`
	// Additional files, such as configuration files that AWS Glue copies to the working directory of your script before executing it.
	//
	// Only individual files are supported, directories are not supported.
	// See:  `--extra-files` in https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html
	//
	// Default: [] - no extra files are copied to the working directory.
	//
	ExtraFiles *[]Code `field:"optional" json:"extraFiles" yaml:"extraFiles"`
	// Additional Java .jar files that AWS Glue adds to the Java classpath before executing your script. Only individual files are supported, directories are not supported.
	// See:  `--extra-jars` in https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html
	//
	// Default: [] - no extra jars are added to the classpath.
	//
	ExtraJars *[]Code `field:"optional" json:"extraJars" yaml:"extraJars"`
	// Setting this value to true prioritizes the customer's extra JAR files in the classpath.
	// See:  `--user-jars-first` in https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html
	//
	// Default: false - priority is not given to user-provided jars.
	//
	ExtraJarsFirst *bool `field:"optional" json:"extraJarsFirst" yaml:"extraJarsFirst"`
}

Props for creating a Scala Spark (ETL or Streaming) job executable.

type SecurityConfiguration

type SecurityConfiguration interface {
	awscdk.Resource
	// {@link SecurityConfigurationProps.cloudWatchEncryption}.
	CloudWatchEncryption() *CloudWatchEncryption
	// The environment this resource belongs to.
	//
	// For resources that are created and managed by the CDK
	// (generally, those created by creating new class instances like Role, Bucket, etc.),
	// this is always the same as the environment of the stack they belong to;
	// however, for imported resources
	// (those obtained from static methods like fromRoleArn, fromBucketName, etc.),
	// that might be different than the stack they were imported into.
	Env() *awscdk.ResourceEnvironment
	// {@link SecurityConfigurationProps.jobBookmarksEncryption}.
	JobBookmarksEncryption() *JobBookmarksEncryption
	Key() awskms.Key
	// {@link SecurityConfigurationProps.name}.
	Name() *string
	// The tree node.
	Node() constructs.Node
	// Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource.
	//
	// This value will resolve to one of the following:
	// - a concrete value (e.g. `"my-awesome-bucket"`)
	// - `undefined`, when a name should be generated by CloudFormation
	// - a concrete name generated automatically during synthesis, in
	//   cross-environment scenarios.
	PhysicalName() *string
	Resource() awsglue.CfnSecurityConfiguration
	// {@link SecurityConfigurationProps.s3Encryption}.
	S3Encryption() *S3Encryption
	SecurityConfigurationName() *string
	// The stack in which this resource is defined.
	Stack() awscdk.Stack
	// Apply the given removal policy to this resource.
	//
	// The Removal Policy controls what happens to this resource when it stops
	// being managed by CloudFormation, either because you've removed it from the
	// CDK application or because you've made a change that requires the resource
	// to be replaced.
	//
	// The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
	// account for data recovery and cleanup later (`RemovalPolicy.RETAIN`).
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	GeneratePhysicalName() *string
	// Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`).
	//
	// Normally, this token will resolve to `arnAttr`, but if the resource is
	// referenced across environments, `arnComponents` will be used to synthesize
	// a concrete ARN with the resource's physical name. Make sure to reference
	// `this.physicalName` in `arnComponents`.
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	// Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`).
	//
	// Normally, this token will resolve to `nameAttr`, but if the resource is
	// referenced across environments, it will be resolved to `this.physicalName`,
	// which will be a concrete name.
	GetResourceNameAttribute(nameAttr *string) *string
	// Returns a string representation of this construct.
	ToString() *string
}

func NewSecurityConfiguration

func NewSecurityConfiguration(scope constructs.Construct, id *string, props *SecurityConfigurationProps) SecurityConfiguration

type SecurityConfigurationProps

type SecurityConfigurationProps struct {
	// The AWS account ID this resource belongs to.
	// Default: - the resource is in the same account as the stack it belongs to.
	//
	Account *string `field:"optional" json:"account" yaml:"account"`
	// ARN to deduce region and account from.
	//
	// The ARN is parsed and the account and region are taken from the ARN.
	// This should be used for imported resources.
	//
	// Cannot be supplied together with either `account` or `region`.
	// Default: - take environment from `account`, `region` parameters, or use Stack environment.
	//
	EnvironmentFromArn *string `field:"optional" json:"environmentFromArn" yaml:"environmentFromArn"`
	// The value passed in by users to the physical name prop of the resource.
	//
	// - `undefined` implies that a physical name will be allocated by
	//   CloudFormation during deployment.
	// - a concrete value implies a specific physical name
	// - `PhysicalName.GENERATE_IF_NEEDED` is a marker that indicates that a physical will only be generated
	//   by the CDK if it is needed for cross-environment references. Otherwise, it will be allocated by CloudFormation.
	// Default: - The physical name will be allocated by CloudFormation at deployment time.
	//
	PhysicalName *string `field:"optional" json:"physicalName" yaml:"physicalName"`
	// The AWS region this resource belongs to.
	// Default: - the resource is in the same region as the stack it belongs to.
	//
	Region *string `field:"optional" json:"region" yaml:"region"`
	// Cloudwatch Encryption Settings.
	// See: [AWS::Glue::SecurityConfiguration EncryptionConfiguration](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-securityconfiguration-encryptionconfiguration.html#cfn-glue-securityconfiguration-encryptionconfiguration-cloudwatchencryption)
	//
	CloudWatchEncryption *CloudWatchEncryption `field:"optional" json:"cloudWatchEncryption" yaml:"cloudWatchEncryption"`
	// The encryption configuration for job bookmarks.
	// See: [AWS::Glue::SecurityConfiguration EncryptionConfiguration](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-securityconfiguration-encryptionconfiguration.html#cfn-glue-securityconfiguration-encryptionconfiguration-jobbookmarksencryption)
	//
	JobBookmarksEncryption *JobBookmarksEncryption `field:"optional" json:"jobBookmarksEncryption" yaml:"jobBookmarksEncryption"`
	// Name for the Security Configuration.
	Name *string `field:"optional" json:"name" yaml:"name"`
	// The encyption configuration for Amazon Simple Storage Service (Amazon S3) data.
	// See: [AWS::Glue::SecurityConfiguration EncryptionConfiguration](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-securityconfiguration-encryptionconfiguration.html#cfn-glue-securityconfiguration-encryptionconfiguration-s3encryptions)
	//
	S3Encryption *S3Encryption `field:"optional" json:"s3Encryption" yaml:"s3Encryption"`
}

Configuration for the Glue SecurityConfiguration resource.

type SerializationLibrary

type SerializationLibrary interface {
	ClassName() *string
}

Serialization library to use when serializing/deserializing (SerDe) table records. See: https://cwiki.apache.org/confluence/display/Hive/SerDe

func NewSerializationLibrary

func NewSerializationLibrary(className *string) SerializationLibrary

func SerializationLibrary_AVRO

func SerializationLibrary_AVRO() SerializationLibrary

func SerializationLibrary_CLOUDTRAIL

func SerializationLibrary_CLOUDTRAIL() SerializationLibrary

func SerializationLibrary_GROK

func SerializationLibrary_GROK() SerializationLibrary

func SerializationLibrary_HIVE_JSON

func SerializationLibrary_HIVE_JSON() SerializationLibrary

func SerializationLibrary_LAZY_SIMPLE

func SerializationLibrary_LAZY_SIMPLE() SerializationLibrary

func SerializationLibrary_OPENX_JSON

func SerializationLibrary_OPENX_JSON() SerializationLibrary

func SerializationLibrary_OPEN_CSV

func SerializationLibrary_OPEN_CSV() SerializationLibrary

func SerializationLibrary_ORC

func SerializationLibrary_ORC() SerializationLibrary

func SerializationLibrary_PARQUET

func SerializationLibrary_PARQUET() SerializationLibrary

func SerializationLibrary_REGEXP

func SerializationLibrary_REGEXP() SerializationLibrary

type StructColumn

type StructColumn interface {
	Column
	// A free-form text comment.
	// See: [AWS::Glue::Table Column](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-column.html#cfn-glue-table-column-comment)
	//
	Comment() *string
	// The name of the Column.
	// See: [AWS::Glue::Table Column](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-column.html#cfn-glue-table-column-name)
	//
	Name() *string
	TypeString() *string
	AddColumn(column Column)
	Bind(scope constructs.IConstruct) *awsglue.CfnTable_ColumnProperty
}

func NewStructColumn

func NewStructColumn(props *StructColumnProps) StructColumn

type StructColumnProps

type StructColumnProps struct {
	Comment *string   `field:"optional" json:"comment" yaml:"comment"`
	Name    *string   `field:"optional" json:"name" yaml:"name"`
	Data    *[]Column `field:"optional" json:"data" yaml:"data"`
}

type Table

type Table interface {
	awscdk.Resource
	// {@link TableProps.compressed}.
	Compressed() *bool
	// {@link TableProps.database:}.
	Database() Database
	// {@link TableProps.dataFormat}.
	DataFormat() DataFormat
	// {@link TableProps.description}.
	Description() *string
	// The environment this resource belongs to.
	//
	// For resources that are created and managed by the CDK
	// (generally, those created by creating new class instances like Role, Bucket, etc.),
	// this is always the same as the environment of the stack they belong to;
	// however, for imported resources
	// (those obtained from static methods like fromRoleArn, fromBucketName, etc.),
	// that might be different than the stack they were imported into.
	Env() *awscdk.ResourceEnvironment
	// {@link TableProps.location}.
	Location() *string
	// {@link TableProps.name}.
	Name() *string
	// The tree node.
	Node() constructs.Node
	// {@link TableProps.owner}.
	Owner() *string
	// Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource.
	//
	// This value will resolve to one of the following:
	// - a concrete value (e.g. `"my-awesome-bucket"`)
	// - `undefined`, when a name should be generated by CloudFormation
	// - a concrete name generated automatically during synthesis, in
	//   cross-environment scenarios.
	PhysicalName() *string
	Resource() awsglue.CfnTable
	// {@link TableProps.retention}.
	Retention() awscdk.Duration
	// {@link TableProps.serdeName}.
	SerdeName() *string
	// The stack in which this resource is defined.
	Stack() awscdk.Stack
	// {@link TableProps.storedAsSubDirectories}.
	StoredAsSubDirectories() *bool
	TableArn() *string
	TableName() *string
	// {@link TableProps.tableType}.
	TableType() TableType
	// {@link TableProps.targetTable}.
	TargetTable() Table
	// {@link TableProps.viewExpandedText}.
	ViewExpandedText() *string
	// {@link TableProps.viewOriginalText}.
	ViewOriginalText() *string
	AddColumn(column Column)
	AddParameter(key *string, value *string)
	AddPartitionKey(column Column)
	AddSerdeParameter(key *string, value *string)
	AddStorageParameter(key *string, value *string)
	// Apply the given removal policy to this resource.
	//
	// The Removal Policy controls what happens to this resource when it stops
	// being managed by CloudFormation, either because you've removed it from the
	// CDK application or because you've made a change that requires the resource
	// to be replaced.
	//
	// The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
	// account for data recovery and cleanup later (`RemovalPolicy.RETAIN`).
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	GeneratePhysicalName() *string
	// Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`).
	//
	// Normally, this token will resolve to `arnAttr`, but if the resource is
	// referenced across environments, `arnComponents` will be used to synthesize
	// a concrete ARN with the resource's physical name. Make sure to reference
	// `this.physicalName` in `arnComponents`.
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	// Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`).
	//
	// Normally, this token will resolve to `nameAttr`, but if the resource is
	// referenced across environments, it will be resolved to `this.physicalName`,
	// which will be a concrete name.
	GetResourceNameAttribute(nameAttr *string) *string
	RenderStorageDescriptor() *awsglue.CfnTable_StorageDescriptorProperty
	// Returns a string representation of this construct.
	ToString() *string
}

Creates a Table resource specifying tabular data in the Glue Database. See: [AWS::Glue::Table](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-table.html)

func NewTable

func NewTable(scope constructs.Construct, id *string, props *TableProps) Table

Creates a new instance of the Table class.

type TableGroupingPolicy

type TableGroupingPolicy string
const (
	TableGroupingPolicy_COMBINE_COMPATIBLE_SCHEMAS TableGroupingPolicy = "COMBINE_COMPATIBLE_SCHEMAS"
)

type TableProps

type TableProps struct {
	// The AWS account ID this resource belongs to.
	// Default: - the resource is in the same account as the stack it belongs to.
	//
	Account *string `field:"optional" json:"account" yaml:"account"`
	// ARN to deduce region and account from.
	//
	// The ARN is parsed and the account and region are taken from the ARN.
	// This should be used for imported resources.
	//
	// Cannot be supplied together with either `account` or `region`.
	// Default: - take environment from `account`, `region` parameters, or use Stack environment.
	//
	EnvironmentFromArn *string `field:"optional" json:"environmentFromArn" yaml:"environmentFromArn"`
	// The value passed in by users to the physical name prop of the resource.
	//
	// - `undefined` implies that a physical name will be allocated by
	//   CloudFormation during deployment.
	// - a concrete value implies a specific physical name
	// - `PhysicalName.GENERATE_IF_NEEDED` is a marker that indicates that a physical will only be generated
	//   by the CDK if it is needed for cross-environment references. Otherwise, it will be allocated by CloudFormation.
	// Default: - The physical name will be allocated by CloudFormation at deployment time.
	//
	PhysicalName *string `field:"optional" json:"physicalName" yaml:"physicalName"`
	// The AWS region this resource belongs to.
	// Default: - the resource is in the same region as the stack it belongs to.
	//
	Region *string `field:"optional" json:"region" yaml:"region"`
	// Database object to add Table to.
	Database Database `field:"required" json:"database" yaml:"database"`
	// A list of the Columns in the table.
	// See: [AWS::Glue::Table StorageDescriptor](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-storagedescriptor.html#cfn-glue-table-storagedescriptor-columns)
	//
	Columns *[]Column `field:"optional" json:"columns" yaml:"columns"`
	// True if the data in the table is compressed, or False if not.
	// See: [AWS::Glue::Table StorageDescriptor](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-storagedescriptor.html#cfn-glue-table-storagedescriptor-compressed)
	//
	Compressed *bool `field:"optional" json:"compressed" yaml:"compressed"`
	// DataFormat object indicating the expected input/output format.
	DataFormat DataFormat `field:"optional" json:"dataFormat" yaml:"dataFormat"`
	// A description for the Table.
	Description *string `field:"optional" json:"description" yaml:"description"`
	// The physical location of the table.
	//
	// By default, this takes the form of the warehouse location, followed by the database location in the warehouse, followed by the table name.
	// See: [AWS::Glue::Table StorageDescriptor](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-storagedescriptor.html#cfn-glue-table-storagedescriptor-location)
	//
	Location *string `field:"optional" json:"location" yaml:"location"`
	// A name for the Table.
	Name *string `field:"optional" json:"name" yaml:"name"`
	// The table owner.
	//
	// Included for Apache Hive compatibility. Not used in the normal course of AWS Glue operations.
	// See: [AWS::Glue::Table TableInput](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html#cfn-glue-table-tableinput-owner)
	//
	Owner *string `field:"optional" json:"owner" yaml:"owner"`
	// These key-value pairs define properties associated with the table.
	// See: [AWS::Glue::Table TableInput](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html#cfn-glue-table-tableinput-parameters)
	//
	Parameters *map[string]*string `field:"optional" json:"parameters" yaml:"parameters"`
	// A list of columns by which the table is partitioned.
	//
	// Only primitive types are supported as partition keys.
	// See: [AWS::Glue::Table TableInput](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html#cfn-glue-table-tableinput-parameterskeys)
	//
	PartitionKeys *[]Column `field:"optional" json:"partitionKeys" yaml:"partitionKeys"`
	// The retention time for this table.
	// See: [AWS::Glue::Table TableInput](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html#cfn-glue-table-tableinput-retention)
	//
	Retention awscdk.Duration `field:"optional" json:"retention" yaml:"retention"`
	// Name of the SerDe.
	// See: [AWS::Glue::Table SerdeInfo](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-serdeinfo.html#cfn-glue-table-serdeinfo-name)
	//
	SerdeName *string `field:"optional" json:"serdeName" yaml:"serdeName"`
	// These key-value pairs define initialization parameters for the SerDe.
	// See: [AWS::Glue::Table SerdeInfo](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-serdeinfo.html#cfn-glue-table-serdeinfo-parameters)
	//
	SerdeParameters *map[string]*string `field:"optional" json:"serdeParameters" yaml:"serdeParameters"`
	// The user-supplied properties in key-value form.
	// See: [AWS::Glue::Table StorageDescriptor](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-storagedescriptor.html#cfn-glue-table-storagedescriptor-parameters)
	//
	StorageParameters *map[string]*string `field:"optional" json:"storageParameters" yaml:"storageParameters"`
	// True if the table data is stored in subdirectories, or False if not.
	// See: [AWS::Glue::Table StorageDescriptor](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-storagedescriptor.html#cfn-glue-table-storagedescriptor-storedassubdirectories)
	//
	StoredAsSubDirectories *bool `field:"optional" json:"storedAsSubDirectories" yaml:"storedAsSubDirectories"`
	// The type of this table.
	//
	// AWS Glue will create tables with the EXTERNAL_TABLE type. Other services, such as Athena, may create tables with additional table types.
	// See: [AWS::Glue::Table TableInput](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html#cfn-glue-table-tableinput-tabletype)
	//
	TableType TableType `field:"optional" json:"tableType" yaml:"tableType"`
	// A TableIdentifier structure that describes a target table for resource linking.
	// See: [AWS::Glue::Table TableInput](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html#cfn-glue-table-tableinput-targettable)
	//
	TargetTable Table `field:"optional" json:"targetTable" yaml:"targetTable"`
	// Included for Apache Hive compatibility.
	//
	// Not used in the normal course of AWS Glue operations.
	// See: [AWS::Glue::Table TableInput](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html#cfn-glue-table-tableinput-viewexpandedtext)
	//
	ViewExpandedText *string `field:"optional" json:"viewExpandedText" yaml:"viewExpandedText"`
	// Included for Apache Hive compatibility.
	//
	// Not used in the normal course of AWS Glue operations. If the table is a VIRTUAL_VIEW, certain Athena configuration encoded in base64.
	// See: [AWS::Glue::Table TableInput](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html#cfn-glue-table-tableinput-vieworiginaltext)
	//
	ViewOriginalText *string `field:"optional" json:"viewOriginalText" yaml:"viewOriginalText"`
}

Configuration for Table.

type TableType

type TableType string
const (
	TableType_EXTERNAL_TABLE TableType = "EXTERNAL_TABLE"
	TableType_VIRTUAL_VIEW   TableType = "VIRTUAL_VIEW"
)

type TableUpdateBehavior

type TableUpdateBehavior string
const (
	TableUpdateBehavior_MERGE_NEW_COLUMNS TableUpdateBehavior = "MERGE_NEW_COLUMNS"
)

type Trigger

type Trigger interface {
	awscdk.Resource
	ITrigger
	// A description for the trigger.
	// See: [Trigger Description](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-trigger.html#cfn-glue-trigger-description)
	//
	Description() *string
	// The environment this resource belongs to.
	//
	// For resources that are created and managed by the CDK
	// (generally, those created by creating new class instances like Role, Bucket, etc.),
	// this is always the same as the environment of the stack they belong to;
	// however, for imported resources
	// (those obtained from static methods like fromRoleArn, fromBucketName, etc.),
	// that might be different than the stack they were imported into.
	Env() *awscdk.ResourceEnvironment
	// A name for the trigger.
	// See: [Trigger Name](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-trigger.html#cfn-glue-trigger-name)
	//
	Name() *string
	// The tree node.
	Node() constructs.Node
	// Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource.
	//
	// This value will resolve to one of the following:
	// - a concrete value (e.g. `"my-awesome-bucket"`)
	// - `undefined`, when a name should be generated by CloudFormation
	// - a concrete name generated automatically during synthesis, in
	//   cross-environment scenarios.
	PhysicalName() *string
	// Operator for chaining predicate conditions if multiple are given.
	// See: [Trigger Predicate.Logical](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-predicate.html#cfn-glue-trigger-predicate-logical)
	//
	PredicateOperator() PredicateOperator
	// The underlying Trigger CloudFormation resource.
	// See: [AWS::Glue::Trigger](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-trigger.html)
	//
	Resource() awsglue.CfnTrigger
	// A cron expression used to specify the schedule.
	// See: [Time-Based Schedules for Jobs and Crawlers](https://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html)
	//
	Schedule() awsevents.Schedule
	// The stack in which this resource is defined.
	Stack() awscdk.Stack
	// Set to true to start SCHEDULED and CONDITIONAL triggers when created.
	//
	// True
	// is not supported for ON_DEMAND triggers.
	// See: [Trigger StartOnCreation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-trigger.html#cfn-glue-trigger-startoncreation)
	//
	StartOnCreation() *bool
	// The Amazon Resource Name (ARN) of the trigger.
	TriggerArn() *string
	// The name of the trigger.
	TriggerName() *string
	// The type of trigger that this is.
	// See: [Trigger Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-trigger.html#cfn-glue-trigger-type)
	//
	Type() TriggerType
	// The name of the workflow associated with the trigger.
	// See: [Trigger WorkflowName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-trigger.html#cfn-glue-trigger-workflowname)
	//
	Workflow() Workflow
	// Registers an action with the trigger.
	//
	// All actions associated with the
	// trigger are run when the conditions to trigger the trigger are met.
	//
	// Returns: The trigger to which the action was added.
	AddAction(action ITriggerAction) Trigger
	// Registers a predicate with the trigger.
	//
	// Triggers with predicates must meet
	// the conditions they specify in order to run.
	//
	// Returns: The trigger to which the predicate was added.
	AddPredicate(predicate ITriggerPredicate) Trigger
	// Apply the given removal policy to this resource.
	//
	// The Removal Policy controls what happens to this resource when it stops
	// being managed by CloudFormation, either because you've removed it from the
	// CDK application or because you've made a change that requires the resource
	// to be replaced.
	//
	// The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
	// account for data recovery and cleanup later (`RemovalPolicy.RETAIN`).
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	GeneratePhysicalName() *string
	// Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`).
	//
	// Normally, this token will resolve to `arnAttr`, but if the resource is
	// referenced across environments, `arnComponents` will be used to synthesize
	// a concrete ARN with the resource's physical name. Make sure to reference
	// `this.physicalName` in `arnComponents`.
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	// Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`).
	//
	// Normally, this token will resolve to `nameAttr`, but if the resource is
	// referenced across environments, it will be resolved to `this.physicalName`,
	// which will be a concrete name.
	GetResourceNameAttribute(nameAttr *string) *string
	// Returns a string representation of this construct.
	ToString() *string
}

func NewTrigger

func NewTrigger(scope constructs.Construct, id *string, props *TriggerProps) Trigger

Creates a new instance of the Trigger class.

type TriggerOptions

type TriggerOptions struct {
	// The AWS account ID this resource belongs to.
	// Default: - the resource is in the same account as the stack it belongs to.
	//
	Account *string `field:"optional" json:"account" yaml:"account"`
	// ARN to deduce region and account from.
	//
	// The ARN is parsed and the account and region are taken from the ARN.
	// This should be used for imported resources.
	//
	// Cannot be supplied together with either `account` or `region`.
	// Default: - take environment from `account`, `region` parameters, or use Stack environment.
	//
	EnvironmentFromArn *string `field:"optional" json:"environmentFromArn" yaml:"environmentFromArn"`
	// The value passed in by users to the physical name prop of the resource.
	//
	// - `undefined` implies that a physical name will be allocated by
	//   CloudFormation during deployment.
	// - a concrete value implies a specific physical name
	// - `PhysicalName.GENERATE_IF_NEEDED` is a marker that indicates that a physical will only be generated
	//   by the CDK if it is needed for cross-environment references. Otherwise, it will be allocated by CloudFormation.
	// Default: - The physical name will be allocated by CloudFormation at deployment time.
	//
	PhysicalName *string `field:"optional" json:"physicalName" yaml:"physicalName"`
	// The AWS region this resource belongs to.
	// Default: - the resource is in the same region as the stack it belongs to.
	//
	Region              *string              `field:"optional" json:"region" yaml:"region"`
	Type                TriggerType          `field:"required" json:"type" yaml:"type"`
	Actions             *[]ITriggerAction    `field:"optional" json:"actions" yaml:"actions"`
	Description         *string              `field:"optional" json:"description" yaml:"description"`
	Name                *string              `field:"optional" json:"name" yaml:"name"`
	PredicateConditions *[]ITriggerPredicate `field:"optional" json:"predicateConditions" yaml:"predicateConditions"`
	PredicateOperator   PredicateOperator    `field:"optional" json:"predicateOperator" yaml:"predicateOperator"`
	Schedule            awsevents.Schedule   `field:"optional" json:"schedule" yaml:"schedule"`
	StartOnCreation     *bool                `field:"optional" json:"startOnCreation" yaml:"startOnCreation"`
}

type TriggerProps

type TriggerProps struct {
	// The AWS account ID this resource belongs to.
	// Default: - the resource is in the same account as the stack it belongs to.
	//
	Account *string `field:"optional" json:"account" yaml:"account"`
	// ARN to deduce region and account from.
	//
	// The ARN is parsed and the account and region are taken from the ARN.
	// This should be used for imported resources.
	//
	// Cannot be supplied together with either `account` or `region`.
	// Default: - take environment from `account`, `region` parameters, or use Stack environment.
	//
	EnvironmentFromArn *string `field:"optional" json:"environmentFromArn" yaml:"environmentFromArn"`
	// The value passed in by users to the physical name prop of the resource.
	//
	// - `undefined` implies that a physical name will be allocated by
	//   CloudFormation during deployment.
	// - a concrete value implies a specific physical name
	// - `PhysicalName.GENERATE_IF_NEEDED` is a marker that indicates that a physical will only be generated
	//   by the CDK if it is needed for cross-environment references. Otherwise, it will be allocated by CloudFormation.
	// Default: - The physical name will be allocated by CloudFormation at deployment time.
	//
	PhysicalName *string `field:"optional" json:"physicalName" yaml:"physicalName"`
	// The AWS region this resource belongs to.
	// Default: - the resource is in the same region as the stack it belongs to.
	//
	Region *string `field:"optional" json:"region" yaml:"region"`
	// The type of trigger that this is.
	// See: [Trigger Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-trigger.html#cfn-glue-trigger-type)
	//
	Type TriggerType `field:"required" json:"type" yaml:"type"`
	// A list of actions initiated by this trigger.
	// See: [Trigger Actions](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-trigger.html#cfn-glue-trigger-actions)
	//
	Actions *[]ITriggerAction `field:"optional" json:"actions" yaml:"actions"`
	// A description for the trigger.
	// See: [Trigger Description](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-trigger.html#cfn-glue-trigger-description)
	//
	Description *string `field:"optional" json:"description" yaml:"description"`
	// A name for the trigger.
	// See: [Trigger Name](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-trigger.html#cfn-glue-trigger-name)
	//
	Name *string `field:"optional" json:"name" yaml:"name"`
	// A list of the conditions that determine when the trigger will fire.
	// See: [Trigger Predicate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-predicate.html)
	//
	PredicateConditions *[]ITriggerPredicate `field:"optional" json:"predicateConditions" yaml:"predicateConditions"`
	// Operator for chaining predicate conditions if multiple are given.
	// See: [Trigger Predicate.Logical](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-predicate.html#cfn-glue-trigger-predicate-logical)
	//
	PredicateOperator PredicateOperator `field:"optional" json:"predicateOperator" yaml:"predicateOperator"`
	// A cron expression used to specify the schedule.
	// See: [Time-Based Schedules for Jobs and Crawlers](https://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html)
	//
	Schedule awsevents.Schedule `field:"optional" json:"schedule" yaml:"schedule"`
	// Set to true to start SCHEDULED and CONDITIONAL triggers when created.
	//
	// True
	// is not supported for ON_DEMAND triggers.
	// See: [Trigger StartOnCreation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-trigger.html#cfn-glue-trigger-startoncreation)
	//
	StartOnCreation *bool `field:"optional" json:"startOnCreation" yaml:"startOnCreation"`
	// The name of the workflow associated with the trigger.
	// See: [Trigger WorkflowName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-trigger.html#cfn-glue-trigger-workflowname)
	//
	Workflow Workflow `field:"optional" json:"workflow" yaml:"workflow"`
}

Configuration for the GlueTrigger resource.

type TriggerType

type TriggerType string
const (
	TriggerType_CONDITIONAL TriggerType = "CONDITIONAL"
	TriggerType_EVENT       TriggerType = "EVENT"
	TriggerType_ON_DEMAND   TriggerType = "ON_DEMAND"
	TriggerType_SCHEDULED   TriggerType = "SCHEDULED"
)

type UpdateBehavior

type UpdateBehavior string
const (
	UpdateBehavior_UPDATE_IN_DATABASE UpdateBehavior = "UPDATE_IN_DATABASE"
	UpdateBehavior_LOG                UpdateBehavior = "LOG"
)

type WorkerType

type WorkerType interface {
	// The name of this WorkerType, as expected by Job resource.
	Name() *string
}

The type of predefined worker that is allocated when a job runs.

If you need to use a WorkerType that doesn't exist as a static member, you can instantiate a `WorkerType` object, e.g: `WorkerType.of('other type')`.

func WorkerType_G_1X

func WorkerType_G_1X() WorkerType

func WorkerType_G_2X

func WorkerType_G_2X() WorkerType

func WorkerType_Of

func WorkerType_Of(workerType *string) WorkerType

Custom worker type.

func WorkerType_STANDARD

func WorkerType_STANDARD() WorkerType

type Workflow

type Workflow interface {
	awscdk.Resource
	// {@link WorkflowProps.description}.
	Description() *string
	// The environment this resource belongs to.
	//
	// For resources that are created and managed by the CDK
	// (generally, those created by creating new class instances like Role, Bucket, etc.),
	// this is always the same as the environment of the stack they belong to;
	// however, for imported resources
	// (those obtained from static methods like fromRoleArn, fromBucketName, etc.),
	// that might be different than the stack they were imported into.
	Env() *awscdk.ResourceEnvironment
	// {@link WorkflowProps.name}.
	Name() *string
	// The tree node.
	Node() constructs.Node
	// Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource.
	//
	// This value will resolve to one of the following:
	// - a concrete value (e.g. `"my-awesome-bucket"`)
	// - `undefined`, when a name should be generated by CloudFormation
	// - a concrete name generated automatically during synthesis, in
	//   cross-environment scenarios.
	PhysicalName() *string
	Resource() awsglue.CfnWorkflow
	// The stack in which this resource is defined.
	Stack() awscdk.Stack
	WorkflowArn() *string
	WorkflowName() *string
	AddTrigger(id *string, options *TriggerOptions) ITrigger
	// Apply the given removal policy to this resource.
	//
	// The Removal Policy controls what happens to this resource when it stops
	// being managed by CloudFormation, either because you've removed it from the
	// CDK application or because you've made a change that requires the resource
	// to be replaced.
	//
	// The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
	// account for data recovery and cleanup later (`RemovalPolicy.RETAIN`).
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	GeneratePhysicalName() *string
	// Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`).
	//
	// Normally, this token will resolve to `arnAttr`, but if the resource is
	// referenced across environments, `arnComponents` will be used to synthesize
	// a concrete ARN with the resource's physical name. Make sure to reference
	// `this.physicalName` in `arnComponents`.
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	// Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`).
	//
	// Normally, this token will resolve to `nameAttr`, but if the resource is
	// referenced across environments, it will be resolved to `this.physicalName`,
	// which will be a concrete name.
	GetResourceNameAttribute(nameAttr *string) *string
	// Returns a string representation of this construct.
	ToString() *string
}

func NewWorkflow

func NewWorkflow(scope constructs.Construct, id *string, props *WorkflowProps) Workflow

Creates a new instance of the Workflow class.

type WorkflowAction added in v0.0.39

type WorkflowAction interface {
}

Actions to be started by a Glue workflow trigger when it is activated.

func NewWorkflowAction added in v0.0.39

func NewWorkflowAction() WorkflowAction

type WorkflowActionBase added in v0.0.36

type WorkflowActionBase interface {
	// After a job run starts, the number of minutes to wait before sending a job run delay notification.
	// See: [Trigger Actions.NotificationProperty.NotifyDelayAfter](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-notificationproperty.html#cfn-glue-trigger-notificationproperty-notifydelayafter)
	//
	NotifyDelayAfter() awscdk.Duration
	// The name of the SecurityConfiguration structure to be used with this action.
	// See: [Trigger Actions.SecurityConfiguration](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-action.html#cfn-glue-trigger-action-securityconfiguration)
	//
	SecurityConfiguration() *string
	// The `JobRun` timeout in minutes.
	//
	// This is the maximum time that a job run
	// can consume resources before it is terminated and enters TIMEOUT status.
	// The default is 48 hours. This overrides the timeout value set in the
	// parent job.
	// See: [Trigger Actions.Timeout](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-action.html#cfn-glue-trigger-action-timeout)
	//
	Timeout() awscdk.Duration
	// Adds an argument that will be passed to the specified action when triggered as part of a workflow.
	// See: [AWS Glue job parameters](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html)
	//
	AddArgument(key *string, value *string)
	// Associates the action with a construct that is configuring a trigger for a Glue workflow.
	//
	// Returns: A configuration object that can be used to configure a triggered
	// workflow action.
	BindOptions(_scope constructs.IConstruct) interface{}
}

Base class providing common functionality for workflow trigger actions.

func NewWorkflowActionBase added in v0.0.36

func NewWorkflowActionBase(options *WorkflowActionOptions) WorkflowActionBase

Creates a new instance of the WorkflowActionBase class.

type WorkflowActionOptions added in v0.0.36

type WorkflowActionOptions struct {
	// The AWS account ID this resource belongs to.
	// Default: - the resource is in the same account as the stack it belongs to.
	//
	Account *string `field:"optional" json:"account" yaml:"account"`
	// ARN to deduce region and account from.
	//
	// The ARN is parsed and the account and region are taken from the ARN.
	// This should be used for imported resources.
	//
	// Cannot be supplied together with either `account` or `region`.
	// Default: - take environment from `account`, `region` parameters, or use Stack environment.
	//
	EnvironmentFromArn *string `field:"optional" json:"environmentFromArn" yaml:"environmentFromArn"`
	// The value passed in by users to the physical name prop of the resource.
	//
	// - `undefined` implies that a physical name will be allocated by
	//   CloudFormation during deployment.
	// - a concrete value implies a specific physical name
	// - `PhysicalName.GENERATE_IF_NEEDED` is a marker that indicates that a physical will only be generated
	//   by the CDK if it is needed for cross-environment references. Otherwise, it will be allocated by CloudFormation.
	// Default: - The physical name will be allocated by CloudFormation at deployment time.
	//
	PhysicalName *string `field:"optional" json:"physicalName" yaml:"physicalName"`
	// The AWS region this resource belongs to.
	// Default: - the resource is in the same region as the stack it belongs to.
	//
	Region *string `field:"optional" json:"region" yaml:"region"`
	// The arguments to use when the associated trigger fires.
	//
	// Jobs run via the associated trigger will have their default arguments
	// replaced with the arguments specified.
	//
	// You can specify arguments here that your own job-execution script
	// consumes, in addition to arguments that AWS Glue itself consumes.
	// See: [Trigger Actions.Arguments](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-action.html#cfn-glue-trigger-action-arguments)
	//
	Arguments *map[string]*string `field:"optional" json:"arguments" yaml:"arguments"`
	// After a job run starts, the number of minutes to wait before sending a job run delay notification.
	// See: [Trigger Actions.NotificationProperty.NotifyDelayAfter](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-notificationproperty.html#cfn-glue-trigger-notificationproperty-notifydelayafter)
	//
	NotifyDelayAfter awscdk.Duration `field:"optional" json:"notifyDelayAfter" yaml:"notifyDelayAfter"`
	// The name of the SecurityConfiguration structure to be used with this action.
	// See: [Trigger Actions.SecurityConfiguration](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-action.html#cfn-glue-trigger-action-securityconfiguration)
	//
	SecurityConfiguration *string `field:"optional" json:"securityConfiguration" yaml:"securityConfiguration"`
	// The `JobRun` timeout in minutes.
	//
	// This is the maximum time that a job run
	// can consume resources before it is terminated and enters TIMEOUT status.
	// The default is 48 hours. This overrides the timeout value set in the
	// parent job.
	// See: [Trigger Actions.Timeout](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-action.html#cfn-glue-trigger-action-timeout)
	//
	Timeout awscdk.Duration `field:"optional" json:"timeout" yaml:"timeout"`
}

Configuration for the Workflow Action resource.

type WorkflowCrawlerAction added in v0.0.36

type WorkflowCrawlerAction interface {
	WorkflowActionBase
	ITriggerAction
	// The Glue crawler to be triggered as part of the workflow.
	Crawler() ICrawler
	// After a job run starts, the number of minutes to wait before sending a job run delay notification.
	// See: [Trigger Actions.NotificationProperty.NotifyDelayAfter](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-notificationproperty.html#cfn-glue-trigger-notificationproperty-notifydelayafter)
	//
	NotifyDelayAfter() awscdk.Duration
	// The name of the SecurityConfiguration structure to be used with this action.
	// See: [Trigger Actions.SecurityConfiguration](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-action.html#cfn-glue-trigger-action-securityconfiguration)
	//
	SecurityConfiguration() *string
	// The `JobRun` timeout in minutes.
	//
	// This is the maximum time that a job run
	// can consume resources before it is terminated and enters TIMEOUT status.
	// The default is 48 hours. This overrides the timeout value set in the
	// parent job.
	// See: [Trigger Actions.Timeout](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-action.html#cfn-glue-trigger-action-timeout)
	//
	Timeout() awscdk.Duration
	// Adds an argument that will be passed to the specified action when triggered as part of a workflow.
	// See: [AWS Glue job parameters](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html)
	//
	AddArgument(key *string, value *string)
	// Associates this action with a resource that is configuring a Glue trigger.
	//
	// Returns: The configuration that can be used to configure the underlying
	// trigger resource.
	Bind(scope constructs.IConstruct) *awsglue.CfnTrigger_ActionProperty
	// Associates the action with a construct that is configuring a trigger for a Glue workflow.
	//
	// Returns: A configuration object that can be used to configure a triggered
	// workflow action.
	BindOptions(_scope constructs.IConstruct) interface{}
}

Configuration options for the WorkflowCrawlerAction class.

func NewWorkflowCrawlerAction added in v0.0.36

func NewWorkflowCrawlerAction(crawler ICrawler, options *WorkflowCrawlerActionOptions) WorkflowCrawlerAction

Creates a new instance of the WorkflowCrawlerAction class.

func WorkflowAction_Crawler added in v0.0.39

func WorkflowAction_Crawler(crawler ICrawler, options *WorkflowCrawlerActionOptions) WorkflowCrawlerAction

An action that runs a crawler as part of a Glue workflow.

Returns: A workflow action that runs the crawler with the given options.

type WorkflowCrawlerActionOptions added in v0.0.38

type WorkflowCrawlerActionOptions struct {
	// The AWS account ID this resource belongs to.
	// Default: - the resource is in the same account as the stack it belongs to.
	//
	Account *string `field:"optional" json:"account" yaml:"account"`
	// ARN to deduce region and account from.
	//
	// The ARN is parsed and the account and region are taken from the ARN.
	// This should be used for imported resources.
	//
	// Cannot be supplied together with either `account` or `region`.
	// Default: - take environment from `account`, `region` parameters, or use Stack environment.
	//
	EnvironmentFromArn *string `field:"optional" json:"environmentFromArn" yaml:"environmentFromArn"`
	// The value passed in by users to the physical name prop of the resource.
	//
	// - `undefined` implies that a physical name will be allocated by
	//   CloudFormation during deployment.
	// - a concrete value implies a specific physical name
	// - `PhysicalName.GENERATE_IF_NEEDED` is a marker that indicates that a physical will only be generated
	//   by the CDK if it is needed for cross-environment references. Otherwise, it will be allocated by CloudFormation.
	// Default: - The physical name will be allocated by CloudFormation at deployment time.
	//
	PhysicalName *string `field:"optional" json:"physicalName" yaml:"physicalName"`
	// The AWS region this resource belongs to.
	// Default: - the resource is in the same region as the stack it belongs to.
	//
	Region *string `field:"optional" json:"region" yaml:"region"`
	// The arguments to use when the associated trigger fires.
	//
	// Jobs run via the associated trigger will have their default arguments
	// replaced with the arguments specified.
	//
	// You can specify arguments here that your own job-execution script
	// consumes, in addition to arguments that AWS Glue itself consumes.
	// See: [Trigger Actions.Arguments](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-action.html#cfn-glue-trigger-action-arguments)
	//
	Arguments *map[string]*string `field:"optional" json:"arguments" yaml:"arguments"`
	// After a job run starts, the number of minutes to wait before sending a job run delay notification.
	// See: [Trigger Actions.NotificationProperty.NotifyDelayAfter](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-notificationproperty.html#cfn-glue-trigger-notificationproperty-notifydelayafter)
	//
	NotifyDelayAfter awscdk.Duration `field:"optional" json:"notifyDelayAfter" yaml:"notifyDelayAfter"`
	// The name of the SecurityConfiguration structure to be used with this action.
	// See: [Trigger Actions.SecurityConfiguration](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-action.html#cfn-glue-trigger-action-securityconfiguration)
	//
	SecurityConfiguration *string `field:"optional" json:"securityConfiguration" yaml:"securityConfiguration"`
	// The `JobRun` timeout in minutes.
	//
	// This is the maximum time that a job run
	// can consume resources before it is terminated and enters TIMEOUT status.
	// The default is 48 hours. This overrides the timeout value set in the
	// parent job.
	// See: [Trigger Actions.Timeout](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-action.html#cfn-glue-trigger-action-timeout)
	//
	Timeout awscdk.Duration `field:"optional" json:"timeout" yaml:"timeout"`
}

Configuration options for the WorkflowCrawlerAction class.

type WorkflowCrawlerPredicate added in v0.0.37

type WorkflowCrawlerPredicate interface {
	WorkflowPredicateBase
	ITriggerPredicate
	// The crawler which must complete in order to meet the requirements to trigger the next stage of the workflow.
	// See: [Trigger Predicate.Conditions.CrawlerName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-condition.html#cfn-glue-trigger-condition-crawlername)
	//
	Crawler() ICrawler
	// The logical operator which should be applied in determining whether a crawler meets the requested conditions.
	//
	// At the moment, the only supported operator is `EQUALS`.
	// See: [Trigger Predicate.Conditions.LogicalOperator](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-condition.html#cfn-glue-trigger-condition-logicaloperator)
	//
	LogicalOperator() PredicateLogicalOperator
	// The state that the crawler must be in in order to meet the criteria to trigger the next stage of the workflow.
	// See: [Trigger Predicate.Conditions.CrawlState](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-condition.html#cfn-glue-trigger-condition-crawlstate)
	//
	State() CrawlerState
	// Associates the predicate with a construct that is configuring a trigger for a Glue workflow.
	//
	// Returns: A configuration object that can be used to configure a predicate
	// condition for the Glue trigger.
	Bind(scope constructs.IConstruct) *awsglue.CfnTrigger_ConditionProperty
	// Associates the predicate with a construct that is configuring a trigger for a Glue workflow.
	//
	// Returns: A configuration object that can be used to configure a predicate
	// condition for the Glue trigger.
	BindOptions(_scope constructs.IConstruct) interface{}
}

Represents a condition that is predicated on a Glue crawler completion.

The condition can be used to create a trigger that controls the execution of downstream tasks in a workflow.

func NewWorkflowCrawlerPredicate added in v0.0.37

func NewWorkflowCrawlerPredicate(crawler ICrawler, options *WorkflowCrawlerPredicateOptions) WorkflowCrawlerPredicate

Creates a new instance of the WorkflowCrawlerPredicate class.

func WorkflowPredicate_Crawler added in v0.0.39

func WorkflowPredicate_Crawler(crawler ICrawler, options *WorkflowCrawlerPredicateOptions) WorkflowCrawlerPredicate

A predicate condition dependent on the completion of a Glue crawler.

Returns: A workflow condition that is predicated on the completion of the specified Glue crawler.

type WorkflowCrawlerPredicateOptions added in v0.0.37

type WorkflowCrawlerPredicateOptions struct {
	// The AWS account ID this resource belongs to.
	// Default: - the resource is in the same account as the stack it belongs to.
	//
	Account *string `field:"optional" json:"account" yaml:"account"`
	// ARN to deduce region and account from.
	//
	// The ARN is parsed and the account and region are taken from the ARN.
	// This should be used for imported resources.
	//
	// Cannot be supplied together with either `account` or `region`.
	// Default: - take environment from `account`, `region` parameters, or use Stack environment.
	//
	EnvironmentFromArn *string `field:"optional" json:"environmentFromArn" yaml:"environmentFromArn"`
	// The value passed in by users to the physical name prop of the resource.
	//
	// - `undefined` implies that a physical name will be allocated by
	//   CloudFormation during deployment.
	// - a concrete value implies a specific physical name
	// - `PhysicalName.GENERATE_IF_NEEDED` is a marker that indicates that a physical will only be generated
	//   by the CDK if it is needed for cross-environment references. Otherwise, it will be allocated by CloudFormation.
	// Default: - The physical name will be allocated by CloudFormation at deployment time.
	//
	PhysicalName *string `field:"optional" json:"physicalName" yaml:"physicalName"`
	// The AWS region this resource belongs to.
	// Default: - the resource is in the same region as the stack it belongs to.
	//
	Region *string `field:"optional" json:"region" yaml:"region"`
	// The logical operator which should be applied in determining whether a crawler meets the requested conditions.
	//
	// At the moment, the only supported operator is `EQUALS`.
	// See: [Trigger Predicate.Conditions.LogicalOperator](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-condition.html#cfn-glue-trigger-condition-logicaloperator)
	//
	LogicalOperator PredicateLogicalOperator `field:"optional" json:"logicalOperator" yaml:"logicalOperator"`
	// The state that the crawler must be in in order to meet the criteria to trigger the next stage of the workflow.
	// See: [Trigger Predicate.Conditions.CrawlState](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-condition.html#cfn-glue-trigger-condition-crawlstate)
	//
	State CrawlerState `field:"optional" json:"state" yaml:"state"`
}

Configuration options that specify the state a crawler must meet in order to satisfy the conditions of the predicate.

type WorkflowJobAction added in v0.0.36

type WorkflowJobAction interface {
	WorkflowActionBase
	ITriggerAction
	// The Glue job to be triggered as part of the workflow.
	Job() IJob
	// After a job run starts, the number of minutes to wait before sending a job run delay notification.
	// See: [Trigger Actions.NotificationProperty.NotifyDelayAfter](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-notificationproperty.html#cfn-glue-trigger-notificationproperty-notifydelayafter)
	//
	NotifyDelayAfter() awscdk.Duration
	// The name of the SecurityConfiguration structure to be used with this action.
	// See: [Trigger Actions.SecurityConfiguration](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-action.html#cfn-glue-trigger-action-securityconfiguration)
	//
	SecurityConfiguration() *string
	// The `JobRun` timeout in minutes.
	//
	// This is the maximum time that a job run
	// can consume resources before it is terminated and enters TIMEOUT status.
	// The default is 48 hours. This overrides the timeout value set in the
	// parent job.
	// See: [Trigger Actions.Timeout](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-action.html#cfn-glue-trigger-action-timeout)
	//
	Timeout() awscdk.Duration
	// Adds an argument that will be passed to the specified action when triggered as part of a workflow.
	// See: [AWS Glue job parameters](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html)
	//
	AddArgument(key *string, value *string)
	// Associates this action with a resource that is configuring a Glue trigger.
	//
	// Returns: The configuration that can be used to configure the underlying
	// trigger resource.
	Bind(scope constructs.IConstruct) *awsglue.CfnTrigger_ActionProperty
	// Associates the action with a construct that is configuring a trigger for a Glue workflow.
	//
	// Returns: A configuration object that can be used to configure a triggered
	// workflow action.
	BindOptions(_scope constructs.IConstruct) interface{}
}

Represents the configuration for a job that will be triggered as part of a workflow.

func NewWorkflowJobAction added in v0.0.36

func NewWorkflowJobAction(job IJob, options *WorkflowJobActionOptions) WorkflowJobAction

Creates a new instance of the WorkflowJobAction class.

func WorkflowAction_Job added in v0.0.39

func WorkflowAction_Job(job IJob, options *WorkflowJobActionOptions) WorkflowJobAction

An action that runs a Glue job as part of a workflow.

Returns: A workflow action that runs the job with the given options.

type WorkflowJobActionOptions added in v0.0.36

type WorkflowJobActionOptions struct {
	// The AWS account ID this resource belongs to.
	// Default: - the resource is in the same account as the stack it belongs to.
	//
	Account *string `field:"optional" json:"account" yaml:"account"`
	// ARN to deduce region and account from.
	//
	// The ARN is parsed and the account and region are taken from the ARN.
	// This should be used for imported resources.
	//
	// Cannot be supplied together with either `account` or `region`.
	// Default: - take environment from `account`, `region` parameters, or use Stack environment.
	//
	EnvironmentFromArn *string `field:"optional" json:"environmentFromArn" yaml:"environmentFromArn"`
	// The value passed in by users to the physical name prop of the resource.
	//
	// - `undefined` implies that a physical name will be allocated by
	//   CloudFormation during deployment.
	// - a concrete value implies a specific physical name
	// - `PhysicalName.GENERATE_IF_NEEDED` is a marker that indicates that a physical will only be generated
	//   by the CDK if it is needed for cross-environment references. Otherwise, it will be allocated by CloudFormation.
	// Default: - The physical name will be allocated by CloudFormation at deployment time.
	//
	PhysicalName *string `field:"optional" json:"physicalName" yaml:"physicalName"`
	// The AWS region this resource belongs to.
	// Default: - the resource is in the same region as the stack it belongs to.
	//
	Region *string `field:"optional" json:"region" yaml:"region"`
	// The arguments to use when the associated trigger fires.
	//
	// Jobs run via the associated trigger will have their default arguments
	// replaced with the arguments specified.
	//
	// You can specify arguments here that your own job-execution script
	// consumes, in addition to arguments that AWS Glue itself consumes.
	// See: [Trigger Actions.Arguments](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-action.html#cfn-glue-trigger-action-arguments)
	//
	Arguments *map[string]*string `field:"optional" json:"arguments" yaml:"arguments"`
	// After a job run starts, the number of minutes to wait before sending a job run delay notification.
	// See: [Trigger Actions.NotificationProperty.NotifyDelayAfter](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-notificationproperty.html#cfn-glue-trigger-notificationproperty-notifydelayafter)
	//
	NotifyDelayAfter awscdk.Duration `field:"optional" json:"notifyDelayAfter" yaml:"notifyDelayAfter"`
	// The name of the SecurityConfiguration structure to be used with this action.
	// See: [Trigger Actions.SecurityConfiguration](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-action.html#cfn-glue-trigger-action-securityconfiguration)
	//
	SecurityConfiguration *string `field:"optional" json:"securityConfiguration" yaml:"securityConfiguration"`
	// The `JobRun` timeout in minutes.
	//
	// This is the maximum time that a job run
	// can consume resources before it is terminated and enters TIMEOUT status.
	// The default is 48 hours. This overrides the timeout value set in the
	// parent job.
	// See: [Trigger Actions.Timeout](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-action.html#cfn-glue-trigger-action-timeout)
	//
	Timeout awscdk.Duration `field:"optional" json:"timeout" yaml:"timeout"`
	// The bookmark configuration override to use for the Glue job that is being triggered.
	BookmarkConfiguration BookmarkConfiguration `field:"optional" json:"bookmarkConfiguration" yaml:"bookmarkConfiguration"`
}

Configuration options for the WorkflowJobAction class.

type WorkflowJobPredicate added in v0.0.37

type WorkflowJobPredicate interface {
	WorkflowPredicateBase
	ITriggerPredicate
	// The job which must complete in order to meet the requirements to trigger the next stage of the workflow.
	// See: [Trigger Predicate.Conditions.JobName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-condition.html#cfn-glue-trigger-condition-jobname)
	//
	Job() IJob
	// The logical operator which should be applied in determining whether a job meets the requested conditions.
	//
	// At the moment, the only supported operator is `EQUALS`.
	// See: [Trigger Predicate.Conditions.LogicalOperator](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-condition.html#cfn-glue-trigger-condition-logicaloperator)
	//
	LogicalOperator() PredicateLogicalOperator
	// The state that the job must be in in order to meet the criteria to trigger the next stage of the workflow.
	// See: [Trigger Predicate.Conditions.State](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-condition.html#cfn-glue-trigger-condition-state)
	//
	State() JobState
	// Associates the predicate with a construct that is configuring a trigger for a Glue workflow.
	//
	// Returns: A configuration object that can be used to configure a predicate
	// condition for the Glue trigger.
	Bind(scope constructs.IConstruct) *awsglue.CfnTrigger_ConditionProperty
	// Associates the predicate with a construct that is configuring a trigger for a Glue workflow.
	//
	// Returns: A configuration object that can be used to configure a predicate
	// condition for the Glue trigger.
	BindOptions(_scope constructs.IConstruct) interface{}
}

Represents a condition that is predicated on a Glue job completion.

The condition can be used to create a trigger that controls the execution of downstream tasks in a workflow.

func NewWorkflowJobPredicate added in v0.0.37

func NewWorkflowJobPredicate(job IJob, options *WorkflowJobPredicateOptions) WorkflowJobPredicate

Creates a new instance of the WorkflowJobPredicate class.

func WorkflowPredicate_Job added in v0.0.39

func WorkflowPredicate_Job(job IJob, options *WorkflowJobPredicateOptions) WorkflowJobPredicate

A predicate condition dependent on the completion of a Glue job.

Returns: A workflow condition that is predicated on the completion of the specified Glue crawler.

type WorkflowJobPredicateOptions added in v0.0.37

type WorkflowJobPredicateOptions struct {
	// The AWS account ID this resource belongs to.
	// Default: - the resource is in the same account as the stack it belongs to.
	//
	Account *string `field:"optional" json:"account" yaml:"account"`
	// ARN to deduce region and account from.
	//
	// The ARN is parsed and the account and region are taken from the ARN.
	// This should be used for imported resources.
	//
	// Cannot be supplied together with either `account` or `region`.
	// Default: - take environment from `account`, `region` parameters, or use Stack environment.
	//
	EnvironmentFromArn *string `field:"optional" json:"environmentFromArn" yaml:"environmentFromArn"`
	// The value passed in by users to the physical name prop of the resource.
	//
	// - `undefined` implies that a physical name will be allocated by
	//   CloudFormation during deployment.
	// - a concrete value implies a specific physical name
	// - `PhysicalName.GENERATE_IF_NEEDED` is a marker that indicates that a physical will only be generated
	//   by the CDK if it is needed for cross-environment references. Otherwise, it will be allocated by CloudFormation.
	// Default: - The physical name will be allocated by CloudFormation at deployment time.
	//
	PhysicalName *string `field:"optional" json:"physicalName" yaml:"physicalName"`
	// The AWS region this resource belongs to.
	// Default: - the resource is in the same region as the stack it belongs to.
	//
	Region *string `field:"optional" json:"region" yaml:"region"`
	// The logical operator which should be applied in determining whether a job meets the requested conditions.
	//
	// At the moment, the only supported operator is `EQUALS`.
	// See: [Trigger Predicate.Conditions.LogicalOperator](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-condition.html#cfn-glue-trigger-condition-logicaloperator)
	//
	LogicalOperator PredicateLogicalOperator `field:"optional" json:"logicalOperator" yaml:"logicalOperator"`
	// The state that the job must be in in order to meet the criteria to trigger the next stage of the workflow.
	// See: [Trigger Predicate.Conditions.State](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-condition.html#cfn-glue-trigger-condition-state)
	//
	State JobState `field:"optional" json:"state" yaml:"state"`
}

Configuration options that specify the state a job must meet in order to satisfy the conditions of the predicate.

type WorkflowPredicate added in v0.0.39

type WorkflowPredicate interface {
}

Predicate conditions for controlling trigger activation in a Glue workflow.

func NewWorkflowPredicate added in v0.0.39

func NewWorkflowPredicate() WorkflowPredicate

type WorkflowPredicateBase added in v0.0.37

type WorkflowPredicateBase interface {
	// Associates the predicate with a construct that is configuring a trigger for a Glue workflow.
	//
	// Returns: A configuration object that can be used to configure a predicate
	// condition for the Glue trigger.
	BindOptions(_scope constructs.IConstruct) interface{}
}

Base class providing common functionality for trigger predicate conditions.

func NewWorkflowPredicateBase added in v0.0.37

func NewWorkflowPredicateBase(_options *WorkflowPredicateOptions) WorkflowPredicateBase

Create a new instance of the WorkflowPredicateBase class.

type WorkflowPredicateOptions added in v0.0.37

type WorkflowPredicateOptions struct {
	// The AWS account ID this resource belongs to.
	// Default: - the resource is in the same account as the stack it belongs to.
	//
	Account *string `field:"optional" json:"account" yaml:"account"`
	// ARN to deduce region and account from.
	//
	// The ARN is parsed and the account and region are taken from the ARN.
	// This should be used for imported resources.
	//
	// Cannot be supplied together with either `account` or `region`.
	// Default: - take environment from `account`, `region` parameters, or use Stack environment.
	//
	EnvironmentFromArn *string `field:"optional" json:"environmentFromArn" yaml:"environmentFromArn"`
	// The value passed in by users to the physical name prop of the resource.
	//
	// - `undefined` implies that a physical name will be allocated by
	//   CloudFormation during deployment.
	// - a concrete value implies a specific physical name
	// - `PhysicalName.GENERATE_IF_NEEDED` is a marker that indicates that a physical will only be generated
	//   by the CDK if it is needed for cross-environment references. Otherwise, it will be allocated by CloudFormation.
	// Default: - The physical name will be allocated by CloudFormation at deployment time.
	//
	PhysicalName *string `field:"optional" json:"physicalName" yaml:"physicalName"`
	// The AWS region this resource belongs to.
	// Default: - the resource is in the same region as the stack it belongs to.
	//
	Region *string `field:"optional" json:"region" yaml:"region"`
}

Options for a generic Glue Trigger predicate.

type WorkflowProps

type WorkflowProps struct {
	// The AWS account ID this resource belongs to.
	// Default: - the resource is in the same account as the stack it belongs to.
	//
	Account *string `field:"optional" json:"account" yaml:"account"`
	// ARN to deduce region and account from.
	//
	// The ARN is parsed and the account and region are taken from the ARN.
	// This should be used for imported resources.
	//
	// Cannot be supplied together with either `account` or `region`.
	// Default: - take environment from `account`, `region` parameters, or use Stack environment.
	//
	EnvironmentFromArn *string `field:"optional" json:"environmentFromArn" yaml:"environmentFromArn"`
	// The value passed in by users to the physical name prop of the resource.
	//
	// - `undefined` implies that a physical name will be allocated by
	//   CloudFormation during deployment.
	// - a concrete value implies a specific physical name
	// - `PhysicalName.GENERATE_IF_NEEDED` is a marker that indicates that a physical will only be generated
	//   by the CDK if it is needed for cross-environment references. Otherwise, it will be allocated by CloudFormation.
	// Default: - The physical name will be allocated by CloudFormation at deployment time.
	//
	PhysicalName *string `field:"optional" json:"physicalName" yaml:"physicalName"`
	// The AWS region this resource belongs to.
	// Default: - the resource is in the same region as the stack it belongs to.
	//
	Region *string `field:"optional" json:"region" yaml:"region"`
	// A description of the Workflow.
	Description *string `field:"optional" json:"description" yaml:"description"`
	// A name of the Workflow.
	Name *string `field:"optional" json:"name" yaml:"name"`
}

Configuration for the Glue Workflow resource.

Source Files

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL