Source code for troposphere.glue

# 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 ConnectionInput(AWSProperty): """ `ConnectionInput <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-connectioninput.html>`__ """ props: PropsDictType = { "ConnectionProperties": (dict, False), "ConnectionType": (connection_type_validator, True), "Description": (str, False), "MatchCriteria": ([str], False), "Name": (str, False), "PhysicalConnectionRequirements": (PhysicalConnectionRequirements, 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 LakeFormationConfiguration(AWSProperty): """ `LakeFormationConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-lakeformationconfiguration.html>`__ """ props: PropsDictType = { "AccountId": (str, False), "UseLakeFormationCredentials": (boolean, False), }
[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 DatabaseInput(AWSProperty): """ `DatabaseInput <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-database-databaseinput.html>`__ """ props: PropsDictType = { "CreateTableDefaultPermissions": ([PrincipalPrivileges], False), "Description": (str, False), "FederatedDatabase": (FederatedDatabase, False), "LocationUri": (str, False), "Name": (str, False), "Parameters": (dict, False), "TargetDatabase": (DatabaseIdentifier, 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 InputRecordTables(AWSProperty): """ `InputRecordTables <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-mltransform-inputrecordtables.html>`__ """ props: PropsDictType = { "GlueTables": ([GlueTables], False), }
[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 TransformEncryption(AWSProperty): """ `TransformEncryption <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-mltransform-transformencryption.html>`__ """ props: PropsDictType = { "MLUserDataEncryption": (MLUserDataEncryption, False), "TaskRunSecurityConfigurationName": (str, False), }
[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 TransformParameters(AWSProperty): """ `TransformParameters <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-mltransform-transformparameters.html>`__ """ props: PropsDictType = { "FindMatchesParameters": (FindMatchesParameters, False), "TransformType": (str, True), }
[docs]class MLTransform(AWSObject): """ `MLTransform <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-mltransform.html>`__ """ resource_type = "AWS::Glue::MLTransform" props: PropsDictType = { "Description": (str, False), "GlueVersion": (str, False), "InputRecordTables": (InputRecordTables, True), "MaxCapacity": (double, False), "MaxRetries": (integer, False), "Name": (str, False), "NumberOfWorkers": (integer, False), "Role": (str, True), "Tags": (dict, False), "Timeout": (integer, False), "TransformEncryption": (TransformEncryption, False), "TransformParameters": (TransformParameters, True), "WorkerType": (str, False), }
[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 PartitionInput(AWSProperty): """ `PartitionInput <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-partitioninput.html>`__ """ props: PropsDictType = { "Parameters": (dict, False), "StorageDescriptor": (StorageDescriptor, False), "Values": ([str], True), }
[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 SchemaVersionMetadata(AWSObject): """ `SchemaVersionMetadata <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-schemaversionmetadata.html>`__ """ resource_type = "AWS::Glue::SchemaVersionMetadata" props: PropsDictType = { "Key": (str, True), "SchemaVersionId": (str, True), "Value": (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 IcebergInput(AWSProperty): """ `IcebergInput <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-iceberginput.html>`__ """ props: PropsDictType = { "MetadataOperation": (str, False), "Version": (str, False), }
[docs]class OpenTableFormatInput(AWSProperty): """ `OpenTableFormatInput <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-opentableformatinput.html>`__ """ props: PropsDictType = { "IcebergInput": (IcebergInput, False), }
[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 TableInput(AWSProperty): """ `TableInput <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html>`__ """ props: PropsDictType = { "Description": (str, False), "Name": (str, False), "Owner": (str, False), "Parameters": (dict, False), "PartitionKeys": ([Column], False), "Retention": (integer, False), "StorageDescriptor": (StorageDescriptor, False), "TableType": (table_type_validator, False), "TargetTable": (TableIdentifier, False), "ViewExpandedText": (str, False), "ViewOriginalText": (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), }