# Copyright (c) 2012-2022, Mark Peek <mark@peek.org>
# All rights reserved.
#
# See LICENSE file for full license.
#
# *** Do not modify - this file is autogenerated ***
from . import AWSObject, AWSProperty, PropsDictType, Tags
from .validators import boolean, double, integer
from .validators.glue import (
connection_type_validator,
delete_behavior_validator,
table_type_validator,
trigger_type_validator,
update_behavior_validator,
validate_sortorder,
)
[docs]class CsvClassifier(AWSProperty):
"""
`CsvClassifier <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-csvclassifier.html>`__
"""
props: PropsDictType = {
"AllowSingleColumn": (boolean, False),
"ContainsCustomDatatype": ([str], False),
"ContainsHeader": (str, False),
"CustomDatatypeConfigured": (boolean, False),
"Delimiter": (str, False),
"DisableValueTrimming": (boolean, False),
"Header": ([str], False),
"Name": (str, False),
"QuoteSymbol": (str, False),
}
[docs]class GrokClassifier(AWSProperty):
"""
`GrokClassifier <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-grokclassifier.html>`__
"""
props: PropsDictType = {
"Classification": (str, True),
"CustomPatterns": (str, False),
"GrokPattern": (str, True),
"Name": (str, False),
}
[docs]class JsonClassifier(AWSProperty):
"""
`JsonClassifier <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-jsonclassifier.html>`__
"""
props: PropsDictType = {
"JsonPath": (str, True),
"Name": (str, False),
}
[docs]class XMLClassifier(AWSProperty):
"""
`XMLClassifier <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-xmlclassifier.html>`__
"""
props: PropsDictType = {
"Classification": (str, True),
"Name": (str, False),
"RowTag": (str, True),
}
[docs]class Classifier(AWSObject):
"""
`Classifier <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-classifier.html>`__
"""
resource_type = "AWS::Glue::Classifier"
props: PropsDictType = {
"CsvClassifier": (CsvClassifier, False),
"GrokClassifier": (GrokClassifier, False),
"JsonClassifier": (JsonClassifier, False),
"XMLClassifier": (XMLClassifier, False),
}
[docs]class PhysicalConnectionRequirements(AWSProperty):
"""
`PhysicalConnectionRequirements <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-physicalconnectionrequirements.html>`__
"""
props: PropsDictType = {
"AvailabilityZone": (str, False),
"SecurityGroupIdList": ([str], False),
"SubnetId": (str, False),
}
[docs]class Connection(AWSObject):
"""
`Connection <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-connection.html>`__
"""
resource_type = "AWS::Glue::Connection"
props: PropsDictType = {
"CatalogId": (str, True),
"ConnectionInput": (ConnectionInput, True),
}
[docs]class RecrawlPolicy(AWSProperty):
"""
`RecrawlPolicy <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-recrawlpolicy.html>`__
"""
props: PropsDictType = {
"RecrawlBehavior": (str, False),
}
[docs]class Schedule(AWSProperty):
"""
`Schedule <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-schedule.html>`__
"""
props: PropsDictType = {
"ScheduleExpression": (str, False),
}
[docs]class SchemaChangePolicy(AWSProperty):
"""
`SchemaChangePolicy <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-schemachangepolicy.html>`__
"""
props: PropsDictType = {
"DeleteBehavior": (delete_behavior_validator, False),
"UpdateBehavior": (update_behavior_validator, False),
}
[docs]class CatalogTarget(AWSProperty):
"""
`CatalogTarget <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-catalogtarget.html>`__
"""
props: PropsDictType = {
"ConnectionName": (str, False),
"DatabaseName": (str, False),
"DlqEventQueueArn": (str, False),
"EventQueueArn": (str, False),
"Tables": ([str], False),
}
[docs]class DeltaTarget(AWSProperty):
"""
`DeltaTarget <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-deltatarget.html>`__
"""
props: PropsDictType = {
"ConnectionName": (str, False),
"CreateNativeDeltaTable": (boolean, False),
"DeltaTables": ([str], False),
"WriteManifest": (boolean, False),
}
[docs]class DynamoDBTarget(AWSProperty):
"""
`DynamoDBTarget <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-dynamodbtarget.html>`__
"""
props: PropsDictType = {
"Path": (str, False),
}
[docs]class IcebergTarget(AWSProperty):
"""
`IcebergTarget <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-icebergtarget.html>`__
"""
props: PropsDictType = {
"ConnectionName": (str, False),
"Exclusions": ([str], False),
"MaximumTraversalDepth": (integer, False),
"Paths": ([str], False),
}
[docs]class JdbcTarget(AWSProperty):
"""
`JdbcTarget <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-jdbctarget.html>`__
"""
props: PropsDictType = {
"ConnectionName": (str, False),
"Exclusions": ([str], False),
"Path": (str, False),
}
[docs]class MongoDBTarget(AWSProperty):
"""
`MongoDBTarget <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-mongodbtarget.html>`__
"""
props: PropsDictType = {
"ConnectionName": (str, False),
"Path": (str, False),
}
[docs]class S3Target(AWSProperty):
"""
`S3Target <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-s3target.html>`__
"""
props: PropsDictType = {
"ConnectionName": (str, False),
"DlqEventQueueArn": (str, False),
"EventQueueArn": (str, False),
"Exclusions": ([str], False),
"Path": (str, False),
"SampleSize": (integer, False),
}
[docs]class Targets(AWSProperty):
"""
`Targets <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-targets.html>`__
"""
props: PropsDictType = {
"CatalogTargets": ([CatalogTarget], False),
"DeltaTargets": ([DeltaTarget], False),
"DynamoDBTargets": ([DynamoDBTarget], False),
"IcebergTargets": ([IcebergTarget], False),
"JdbcTargets": ([JdbcTarget], False),
"MongoDBTargets": ([MongoDBTarget], False),
"S3Targets": ([S3Target], False),
}
[docs]class Crawler(AWSObject):
"""
`Crawler <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-crawler.html>`__
"""
resource_type = "AWS::Glue::Crawler"
props: PropsDictType = {
"Classifiers": ([str], False),
"Configuration": (str, False),
"CrawlerSecurityConfiguration": (str, False),
"DatabaseName": (str, False),
"Description": (str, False),
"LakeFormationConfiguration": (LakeFormationConfiguration, False),
"Name": (str, False),
"RecrawlPolicy": (RecrawlPolicy, False),
"Role": (str, True),
"Schedule": (Schedule, False),
"SchemaChangePolicy": (SchemaChangePolicy, False),
"TablePrefix": (str, False),
"Tags": (dict, False),
"Targets": (Targets, True),
}
[docs]class CustomEntityType(AWSObject):
"""
`CustomEntityType <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-customentitytype.html>`__
"""
resource_type = "AWS::Glue::CustomEntityType"
props: PropsDictType = {
"ContextWords": ([str], False),
"Name": (str, False),
"RegexString": (str, False),
"Tags": (dict, False),
}
[docs]class ConnectionPasswordEncryption(AWSProperty):
"""
`ConnectionPasswordEncryption <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-datacatalogencryptionsettings-connectionpasswordencryption.html>`__
"""
props: PropsDictType = {
"KmsKeyId": (str, False),
"ReturnConnectionPasswordEncrypted": (boolean, False),
}
[docs]class EncryptionAtRest(AWSProperty):
"""
`EncryptionAtRest <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-datacatalogencryptionsettings-encryptionatrest.html>`__
"""
props: PropsDictType = {
"CatalogEncryptionMode": (str, False),
"CatalogEncryptionServiceRole": (str, False),
"SseAwsKmsKeyId": (str, False),
}
[docs]class DataCatalogEncryptionSettingsProperty(AWSProperty):
"""
`DataCatalogEncryptionSettingsProperty <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-datacatalogencryptionsettings-datacatalogencryptionsettings.html>`__
"""
props: PropsDictType = {
"ConnectionPasswordEncryption": (ConnectionPasswordEncryption, False),
"EncryptionAtRest": (EncryptionAtRest, False),
}
[docs]class DataCatalogEncryptionSettings(AWSObject):
"""
`DataCatalogEncryptionSettings <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-datacatalogencryptionsettings.html>`__
"""
resource_type = "AWS::Glue::DataCatalogEncryptionSettings"
props: PropsDictType = {
"CatalogId": (str, True),
"DataCatalogEncryptionSettings": (DataCatalogEncryptionSettingsProperty, True),
}
[docs]class DataQualityTargetTable(AWSProperty):
"""
`DataQualityTargetTable <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-dataqualityruleset-dataqualitytargettable.html>`__
"""
props: PropsDictType = {
"DatabaseName": (str, False),
"TableName": (str, False),
}
[docs]class DataQualityRuleset(AWSObject):
"""
`DataQualityRuleset <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-dataqualityruleset.html>`__
"""
resource_type = "AWS::Glue::DataQualityRuleset"
props: PropsDictType = {
"ClientToken": (str, False),
"Description": (str, False),
"Name": (str, False),
"Ruleset": (str, False),
"Tags": (dict, False),
"TargetTable": (DataQualityTargetTable, False),
}
[docs]class DatabaseIdentifier(AWSProperty):
"""
`DatabaseIdentifier <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-database-databaseidentifier.html>`__
"""
props: PropsDictType = {
"CatalogId": (str, False),
"DatabaseName": (str, False),
"Region": (str, False),
}
[docs]class FederatedDatabase(AWSProperty):
"""
`FederatedDatabase <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-database-databaseinput-federateddatabase.html>`__
"""
props: PropsDictType = {
"ConnectionName": (str, False),
"Identifier": (str, False),
}
[docs]class DataLakePrincipal(AWSProperty):
"""
`DataLakePrincipal <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-database-datalakeprincipal.html>`__
"""
props: PropsDictType = {
"DataLakePrincipalIdentifier": (str, False),
}
[docs]class PrincipalPrivileges(AWSProperty):
"""
`PrincipalPrivileges <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-database-principalprivileges.html>`__
"""
props: PropsDictType = {
"Permissions": ([str], False),
"Principal": (DataLakePrincipal, False),
}
[docs]class Database(AWSObject):
"""
`Database <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-database.html>`__
"""
resource_type = "AWS::Glue::Database"
props: PropsDictType = {
"CatalogId": (str, True),
"DatabaseInput": (DatabaseInput, True),
}
[docs]class DevEndpoint(AWSObject):
"""
`DevEndpoint <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-devendpoint.html>`__
"""
resource_type = "AWS::Glue::DevEndpoint"
props: PropsDictType = {
"Arguments": (dict, False),
"EndpointName": (str, False),
"ExtraJarsS3Path": (str, False),
"ExtraPythonLibsS3Path": (str, False),
"GlueVersion": (str, False),
"NumberOfNodes": (integer, False),
"NumberOfWorkers": (integer, False),
"PublicKey": (str, False),
"PublicKeys": ([str], False),
"RoleArn": (str, True),
"SecurityConfiguration": (str, False),
"SecurityGroupIds": ([str], False),
"SubnetId": (str, False),
"Tags": (dict, False),
"WorkerType": (str, False),
}
[docs]class ConnectionsList(AWSProperty):
"""
`ConnectionsList <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-job-connectionslist.html>`__
"""
props: PropsDictType = {
"Connections": ([str], False),
}
[docs]class ExecutionProperty(AWSProperty):
"""
`ExecutionProperty <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-job-executionproperty.html>`__
"""
props: PropsDictType = {
"MaxConcurrentRuns": (double, False),
}
[docs]class JobCommand(AWSProperty):
"""
`JobCommand <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-job-jobcommand.html>`__
"""
props: PropsDictType = {
"Name": (str, False),
"PythonVersion": (str, False),
"Runtime": (str, False),
"ScriptLocation": (str, False),
}
[docs]class NotificationProperty(AWSProperty):
"""
`NotificationProperty <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-notificationproperty.html>`__
"""
props: PropsDictType = {
"NotifyDelayAfter": (integer, False),
}
[docs]class Job(AWSObject):
"""
`Job <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html>`__
"""
resource_type = "AWS::Glue::Job"
props: PropsDictType = {
"AllocatedCapacity": (double, False),
"Command": (JobCommand, True),
"Connections": (ConnectionsList, False),
"DefaultArguments": (dict, False),
"Description": (str, False),
"ExecutionClass": (str, False),
"ExecutionProperty": (ExecutionProperty, False),
"GlueVersion": (str, False),
"LogUri": (str, False),
"MaxCapacity": (double, False),
"MaxRetries": (double, False),
"Name": (str, False),
"NonOverridableArguments": (dict, False),
"NotificationProperty": (NotificationProperty, False),
"NumberOfWorkers": (integer, False),
"Role": (str, True),
"SecurityConfiguration": (str, False),
"Tags": (dict, False),
"Timeout": (integer, False),
"WorkerType": (str, False),
}
[docs]class GlueTables(AWSProperty):
"""
`GlueTables <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-mltransform-inputrecordtables-gluetables.html>`__
"""
props: PropsDictType = {
"CatalogId": (str, False),
"ConnectionName": (str, False),
"DatabaseName": (str, True),
"TableName": (str, True),
}
[docs]class MLUserDataEncryption(AWSProperty):
"""
`MLUserDataEncryption <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-mltransform-transformencryption-mluserdataencryption.html>`__
"""
props: PropsDictType = {
"KmsKeyId": (str, False),
"MLUserDataEncryptionMode": (str, True),
}
[docs]class FindMatchesParameters(AWSProperty):
"""
`FindMatchesParameters <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-mltransform-transformparameters-findmatchesparameters.html>`__
"""
props: PropsDictType = {
"AccuracyCostTradeoff": (double, False),
"EnforceProvidedLabels": (boolean, False),
"PrecisionRecallTradeoff": (double, False),
"PrimaryKeyColumnName": (str, True),
}
[docs]class Column(AWSProperty):
"""
`Column <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-column.html>`__
"""
props: PropsDictType = {
"Comment": (str, False),
"Name": (str, True),
"Type": (str, False),
}
[docs]class Order(AWSProperty):
"""
`Order <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-order.html>`__
"""
props: PropsDictType = {
"Column": (str, True),
"SortOrder": (validate_sortorder, True),
}
[docs]class SchemaId(AWSProperty):
"""
`SchemaId <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-schemaid.html>`__
"""
props: PropsDictType = {
"RegistryName": (str, False),
"SchemaArn": (str, False),
"SchemaName": (str, False),
}
[docs]class SchemaReference(AWSProperty):
"""
`SchemaReference <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-schemareference.html>`__
"""
props: PropsDictType = {
"SchemaId": (SchemaId, False),
"SchemaVersionId": (str, False),
"SchemaVersionNumber": (integer, False),
}
[docs]class SerdeInfo(AWSProperty):
"""
`SerdeInfo <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-serdeinfo.html>`__
"""
props: PropsDictType = {
"Name": (str, False),
"Parameters": (dict, False),
"SerializationLibrary": (str, False),
}
[docs]class SkewedInfo(AWSProperty):
"""
`SkewedInfo <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-skewedinfo.html>`__
"""
props: PropsDictType = {
"SkewedColumnNames": ([str], False),
"SkewedColumnValueLocationMaps": (dict, False),
"SkewedColumnValues": ([str], False),
}
[docs]class StorageDescriptor(AWSProperty):
"""
`StorageDescriptor <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-storagedescriptor.html>`__
"""
props: PropsDictType = {
"BucketColumns": ([str], False),
"Columns": ([Column], False),
"Compressed": (boolean, False),
"InputFormat": (str, False),
"Location": (str, False),
"NumberOfBuckets": (integer, False),
"OutputFormat": (str, False),
"Parameters": (dict, False),
"SchemaReference": (SchemaReference, False),
"SerdeInfo": (SerdeInfo, False),
"SkewedInfo": (SkewedInfo, False),
"SortColumns": ([Order], False),
"StoredAsSubDirectories": (boolean, False),
}
[docs]class Partition(AWSObject):
"""
`Partition <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-partition.html>`__
"""
resource_type = "AWS::Glue::Partition"
props: PropsDictType = {
"CatalogId": (str, True),
"DatabaseName": (str, True),
"PartitionInput": (PartitionInput, True),
"TableName": (str, True),
}
[docs]class Registry(AWSObject):
"""
`Registry <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-registry.html>`__
"""
resource_type = "AWS::Glue::Registry"
props: PropsDictType = {
"Description": (str, False),
"Name": (str, True),
"Tags": (Tags, False),
}
[docs]class RegistryProperty(AWSProperty):
"""
`RegistryProperty <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-schema-registry.html>`__
"""
props: PropsDictType = {
"Arn": (str, False),
"Name": (str, False),
}
[docs]class SchemaVersionProperty(AWSProperty):
"""
`SchemaVersionProperty <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-schema-schemaversion.html>`__
"""
props: PropsDictType = {
"IsLatest": (boolean, False),
"VersionNumber": (integer, False),
}
[docs]class Schema(AWSObject):
"""
`Schema <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-schema.html>`__
"""
resource_type = "AWS::Glue::Schema"
props: PropsDictType = {
"CheckpointVersion": (SchemaVersionProperty, False),
"Compatibility": (str, True),
"DataFormat": (str, True),
"Description": (str, False),
"Name": (str, True),
"Registry": (RegistryProperty, False),
"SchemaDefinition": (str, True),
"Tags": (Tags, False),
}
[docs]class SchemaProperty(AWSProperty):
"""
`SchemaProperty <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-schemaversion-schema.html>`__
"""
props: PropsDictType = {
"RegistryName": (str, False),
"SchemaArn": (str, False),
"SchemaName": (str, False),
}
[docs]class SchemaVersion(AWSObject):
"""
`SchemaVersion <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-schemaversion.html>`__
"""
resource_type = "AWS::Glue::SchemaVersion"
props: PropsDictType = {
"Schema": (SchemaProperty, True),
"SchemaDefinition": (str, True),
}
[docs]class CloudWatchEncryption(AWSProperty):
"""
`CloudWatchEncryption <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-securityconfiguration-cloudwatchencryption.html>`__
"""
props: PropsDictType = {
"CloudWatchEncryptionMode": (str, False),
"KmsKeyArn": (str, False),
}
[docs]class JobBookmarksEncryption(AWSProperty):
"""
`JobBookmarksEncryption <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-securityconfiguration-jobbookmarksencryption.html>`__
"""
props: PropsDictType = {
"JobBookmarksEncryptionMode": (str, False),
"KmsKeyArn": (str, False),
}
[docs]class S3Encryption(AWSProperty):
"""
`S3Encryption <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-securityconfiguration-s3encryption.html>`__
"""
props: PropsDictType = {
"KmsKeyArn": (str, False),
"S3EncryptionMode": (str, False),
}
[docs]class EncryptionConfiguration(AWSProperty):
"""
`EncryptionConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-securityconfiguration-encryptionconfiguration.html>`__
"""
props: PropsDictType = {
"CloudWatchEncryption": (CloudWatchEncryption, False),
"JobBookmarksEncryption": (JobBookmarksEncryption, False),
"S3Encryptions": ([S3Encryption], False),
}
[docs]class SecurityConfiguration(AWSObject):
"""
`SecurityConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-securityconfiguration.html>`__
"""
resource_type = "AWS::Glue::SecurityConfiguration"
props: PropsDictType = {
"EncryptionConfiguration": (EncryptionConfiguration, True),
"Name": (str, True),
}
[docs]class TableIdentifier(AWSProperty):
"""
`TableIdentifier <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableidentifier.html>`__
"""
props: PropsDictType = {
"CatalogId": (str, False),
"DatabaseName": (str, False),
"Name": (str, False),
"Region": (str, False),
}
[docs]class Table(AWSObject):
"""
`Table <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-table.html>`__
"""
resource_type = "AWS::Glue::Table"
props: PropsDictType = {
"CatalogId": (str, True),
"DatabaseName": (str, True),
"OpenTableFormatInput": (OpenTableFormatInput, False),
"TableInput": (TableInput, True),
}
[docs]class TableOptimizerConfiguration(AWSProperty):
"""
`TableOptimizerConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-tableoptimizer-tableoptimizerconfiguration.html>`__
"""
props: PropsDictType = {
"Enabled": (boolean, True),
"RoleArn": (str, True),
}
[docs]class TableOptimizer(AWSObject):
"""
`TableOptimizer <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-tableoptimizer.html>`__
"""
resource_type = "AWS::Glue::TableOptimizer"
props: PropsDictType = {
"CatalogId": (str, True),
"DatabaseName": (str, True),
"TableName": (str, True),
"TableOptimizerConfiguration": (TableOptimizerConfiguration, True),
"Type": (str, True),
}
[docs]class Action(AWSProperty):
"""
`Action <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-action.html>`__
"""
props: PropsDictType = {
"Arguments": (dict, False),
"CrawlerName": (str, False),
"JobName": (str, False),
"NotificationProperty": (NotificationProperty, False),
"SecurityConfiguration": (str, False),
"Timeout": (integer, False),
}
[docs]class EventBatchingCondition(AWSProperty):
"""
`EventBatchingCondition <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-eventbatchingcondition.html>`__
"""
props: PropsDictType = {
"BatchSize": (integer, True),
"BatchWindow": (integer, False),
}
[docs]class Condition(AWSProperty):
"""
`Condition <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-condition.html>`__
"""
props: PropsDictType = {
"CrawlState": (str, False),
"CrawlerName": (str, False),
"JobName": (str, False),
"LogicalOperator": (str, False),
"State": (str, False),
}
[docs]class Predicate(AWSProperty):
"""
`Predicate <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-predicate.html>`__
"""
props: PropsDictType = {
"Conditions": ([Condition], False),
"Logical": (str, False),
}
[docs]class Trigger(AWSObject):
"""
`Trigger <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-trigger.html>`__
"""
resource_type = "AWS::Glue::Trigger"
props: PropsDictType = {
"Actions": ([Action], True),
"Description": (str, False),
"EventBatchingCondition": (EventBatchingCondition, False),
"Name": (str, False),
"Predicate": (Predicate, False),
"Schedule": (str, False),
"StartOnCreation": (boolean, False),
"Tags": (dict, False),
"Type": (trigger_type_validator, True),
"WorkflowName": (str, False),
}
[docs]class Workflow(AWSObject):
"""
`Workflow <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-workflow.html>`__
"""
resource_type = "AWS::Glue::Workflow"
props: PropsDictType = {
"DefaultRunProperties": (dict, False),
"Description": (str, False),
"MaxConcurrentRuns": (integer, False),
"Name": (str, False),
"Tags": (dict, False),
}