# 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.dms import CDC # noqa: F401
from .validators.dms import FULL_LOAD # noqa: F401
from .validators.dms import FULL_LOAD_AND_CDC # noqa: F401
from .validators.dms import validate_network_port
[docs]class Certificate(AWSObject):
"""
`Certificate <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-certificate.html>`__
"""
resource_type = "AWS::DMS::Certificate"
props: PropsDictType = {
"CertificateIdentifier": (str, False),
"CertificatePem": (str, False),
"CertificateWallet": (str, False),
}
[docs]class MicrosoftSqlServerSettings(AWSProperty):
"""
`MicrosoftSqlServerSettings <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-microsoftsqlserversettings.html>`__
"""
props: PropsDictType = {
"BcpPacketSize": (integer, False),
"ControlTablesFileGroup": (str, False),
"DatabaseName": (str, False),
"ForceLobLookup": (boolean, False),
"Password": (str, False),
"Port": (integer, False),
"QuerySingleAlwaysOnNode": (boolean, False),
"ReadBackupOnly": (boolean, False),
"SafeguardPolicy": (str, False),
"SecretsManagerAccessRoleArn": (str, False),
"SecretsManagerSecretId": (str, False),
"ServerName": (str, False),
"TlogAccessMode": (str, False),
"TrimSpaceInChar": (boolean, False),
"UseBcpFullLoad": (boolean, False),
"UseThirdPartyBackupDevice": (boolean, False),
"Username": (str, False),
}
[docs]class MySqlSettings(AWSProperty):
"""
`MySqlSettings <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-mysqlsettings.html>`__
"""
props: PropsDictType = {
"AfterConnectScript": (str, False),
"CleanSourceMetadataOnMismatch": (boolean, False),
"EventsPollInterval": (integer, False),
"MaxFileSize": (integer, False),
"ParallelLoadThreads": (integer, False),
"SecretsManagerAccessRoleArn": (str, False),
"SecretsManagerSecretId": (str, False),
"ServerTimezone": (str, False),
"TargetDbType": (str, False),
}
[docs]class OracleSettings(AWSProperty):
"""
`OracleSettings <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-oraclesettings.html>`__
"""
props: PropsDictType = {
"AccessAlternateDirectly": (boolean, False),
"AddSupplementalLogging": (boolean, False),
"AdditionalArchivedLogDestId": (integer, False),
"AllowSelectNestedTables": (boolean, False),
"ArchivedLogDestId": (integer, False),
"ArchivedLogsOnly": (boolean, False),
"AsmPassword": (str, False),
"AsmServer": (str, False),
"AsmUser": (str, False),
"CharLengthSemantics": (str, False),
"DirectPathNoLog": (boolean, False),
"DirectPathParallelLoad": (boolean, False),
"EnableHomogenousTablespace": (boolean, False),
"ExtraArchivedLogDestIds": ([integer], False),
"FailTasksOnLobTruncation": (boolean, False),
"NumberDatatypeScale": (integer, False),
"OraclePathPrefix": (str, False),
"ParallelAsmReadThreads": (integer, False),
"ReadAheadBlocks": (integer, False),
"ReadTableSpaceName": (boolean, False),
"ReplacePathPrefix": (boolean, False),
"RetryInterval": (integer, False),
"SecretsManagerAccessRoleArn": (str, False),
"SecretsManagerOracleAsmAccessRoleArn": (str, False),
"SecretsManagerOracleAsmSecretId": (str, False),
"SecretsManagerSecretId": (str, False),
"SecurityDbEncryption": (str, False),
"SecurityDbEncryptionName": (str, False),
"SpatialDataOptionToGeoJsonFunctionName": (str, False),
"StandbyDelayTime": (integer, False),
"UseAlternateFolderForOnline": (boolean, False),
"UseBFile": (boolean, False),
"UseDirectPathFullLoad": (boolean, False),
"UseLogminerReader": (boolean, False),
"UsePathPrefix": (str, False),
}
[docs]class PostgreSqlSettings(AWSProperty):
"""
`PostgreSqlSettings <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-postgresqlsettings.html>`__
"""
props: PropsDictType = {
"AfterConnectScript": (str, False),
"BabelfishDatabaseName": (str, False),
"CaptureDdls": (boolean, False),
"DatabaseMode": (str, False),
"DdlArtifactsSchema": (str, False),
"ExecuteTimeout": (integer, False),
"FailTasksOnLobTruncation": (boolean, False),
"HeartbeatEnable": (boolean, False),
"HeartbeatFrequency": (integer, False),
"HeartbeatSchema": (str, False),
"MapBooleanAsBoolean": (boolean, False),
"MaxFileSize": (integer, False),
"PluginName": (str, False),
"SecretsManagerAccessRoleArn": (str, False),
"SecretsManagerSecretId": (str, False),
"SlotName": (str, False),
}
[docs]class Settings(AWSProperty):
"""
`Settings <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-dataprovider-settings.html>`__
"""
props: PropsDictType = {
"MicrosoftSqlServerSettings": (MicrosoftSqlServerSettings, False),
"MySqlSettings": (MySqlSettings, False),
"OracleSettings": (OracleSettings, False),
"PostgreSqlSettings": (PostgreSqlSettings, False),
}
[docs]class DataProvider(AWSObject):
"""
`DataProvider <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-dataprovider.html>`__
"""
resource_type = "AWS::DMS::DataProvider"
props: PropsDictType = {
"DataProviderIdentifier": (str, False),
"DataProviderName": (str, False),
"Description": (str, False),
"Engine": (str, True),
"ExactSettings": (boolean, False),
"Settings": (Settings, False),
"Tags": (Tags, False),
}
[docs]class DocDbSettings(AWSProperty):
"""
`DocDbSettings <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-docdbsettings.html>`__
"""
props: PropsDictType = {
"DocsToInvestigate": (integer, False),
"ExtractDocId": (boolean, False),
"NestingLevel": (str, False),
"SecretsManagerAccessRoleArn": (str, False),
"SecretsManagerSecretId": (str, False),
}
[docs]class DynamoDbSettings(AWSProperty):
"""
`DynamoDbSettings <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-dynamodbsettings.html>`__
"""
props: PropsDictType = {
"ServiceAccessRoleArn": (str, False),
}
[docs]class ElasticsearchSettings(AWSProperty):
"""
`ElasticsearchSettings <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-elasticsearchsettings.html>`__
"""
props: PropsDictType = {
"EndpointUri": (str, False),
"ErrorRetryDuration": (integer, False),
"FullLoadErrorPercentage": (integer, False),
"ServiceAccessRoleArn": (str, False),
}
[docs]class GcpMySQLSettings(AWSProperty):
"""
`GcpMySQLSettings <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-gcpmysqlsettings.html>`__
"""
props: PropsDictType = {
"AfterConnectScript": (str, False),
"CleanSourceMetadataOnMismatch": (boolean, False),
"DatabaseName": (str, False),
"EventsPollInterval": (integer, False),
"MaxFileSize": (integer, False),
"ParallelLoadThreads": (integer, False),
"Password": (str, False),
"Port": (integer, False),
"SecretsManagerAccessRoleArn": (str, False),
"SecretsManagerSecretId": (str, False),
"ServerName": (str, False),
"ServerTimezone": (str, False),
"Username": (str, False),
}
[docs]class IbmDb2Settings(AWSProperty):
"""
`IbmDb2Settings <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-ibmdb2settings.html>`__
"""
props: PropsDictType = {
"CurrentLsn": (str, False),
"KeepCsvFiles": (boolean, False),
"LoadTimeout": (integer, False),
"MaxFileSize": (integer, False),
"MaxKBytesPerRead": (integer, False),
"SecretsManagerAccessRoleArn": (str, False),
"SecretsManagerSecretId": (str, False),
"SetDataCaptureChanges": (boolean, False),
"WriteBufferSize": (integer, False),
}
[docs]class KafkaSettings(AWSProperty):
"""
`KafkaSettings <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-kafkasettings.html>`__
"""
props: PropsDictType = {
"Broker": (str, False),
"IncludeControlDetails": (boolean, False),
"IncludeNullAndEmpty": (boolean, False),
"IncludePartitionValue": (boolean, False),
"IncludeTableAlterOperations": (boolean, False),
"IncludeTransactionDetails": (boolean, False),
"MessageFormat": (str, False),
"MessageMaxBytes": (integer, False),
"NoHexPrefix": (boolean, False),
"PartitionIncludeSchemaTable": (boolean, False),
"SaslPassword": (str, False),
"SaslUserName": (str, False),
"SecurityProtocol": (str, False),
"SslCaCertificateArn": (str, False),
"SslClientCertificateArn": (str, False),
"SslClientKeyArn": (str, False),
"SslClientKeyPassword": (str, False),
"Topic": (str, False),
}
[docs]class KinesisSettings(AWSProperty):
"""
`KinesisSettings <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-kinesissettings.html>`__
"""
props: PropsDictType = {
"IncludeControlDetails": (boolean, False),
"IncludeNullAndEmpty": (boolean, False),
"IncludePartitionValue": (boolean, False),
"IncludeTableAlterOperations": (boolean, False),
"IncludeTransactionDetails": (boolean, False),
"MessageFormat": (str, False),
"NoHexPrefix": (boolean, False),
"PartitionIncludeSchemaTable": (boolean, False),
"ServiceAccessRoleArn": (str, False),
"StreamArn": (str, False),
}
[docs]class MongoDbSettings(AWSProperty):
"""
`MongoDbSettings <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-mongodbsettings.html>`__
"""
props: PropsDictType = {
"AuthMechanism": (str, False),
"AuthSource": (str, False),
"AuthType": (str, False),
"DatabaseName": (str, False),
"DocsToInvestigate": (str, False),
"ExtractDocId": (str, False),
"NestingLevel": (str, False),
"Password": (str, False),
"Port": (validate_network_port, False),
"SecretsManagerAccessRoleArn": (str, False),
"SecretsManagerSecretId": (str, False),
"ServerName": (str, False),
"Username": (str, False),
}
[docs]class NeptuneSettings(AWSProperty):
"""
`NeptuneSettings <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-neptunesettings.html>`__
"""
props: PropsDictType = {
"ErrorRetryDuration": (integer, False),
"IamAuthEnabled": (boolean, False),
"MaxFileSize": (integer, False),
"MaxRetryCount": (integer, False),
"S3BucketFolder": (str, False),
"S3BucketName": (str, False),
"ServiceAccessRoleArn": (str, False),
}
[docs]class RedisSettings(AWSProperty):
"""
`RedisSettings <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-redissettings.html>`__
"""
props: PropsDictType = {
"AuthPassword": (str, False),
"AuthType": (str, False),
"AuthUserName": (str, False),
"Port": (validate_network_port, False),
"ServerName": (str, False),
"SslCaCertificateArn": (str, False),
"SslSecurityProtocol": (str, False),
}
[docs]class RedshiftSettings(AWSProperty):
"""
`RedshiftSettings <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-redshiftsettings.html>`__
"""
props: PropsDictType = {
"AcceptAnyDate": (boolean, False),
"AfterConnectScript": (str, False),
"BucketFolder": (str, False),
"BucketName": (str, False),
"CaseSensitiveNames": (boolean, False),
"CompUpdate": (boolean, False),
"ConnectionTimeout": (integer, False),
"DateFormat": (str, False),
"EmptyAsNull": (boolean, False),
"EncryptionMode": (str, False),
"ExplicitIds": (boolean, False),
"FileTransferUploadStreams": (integer, False),
"LoadTimeout": (integer, False),
"MapBooleanAsBoolean": (boolean, False),
"MaxFileSize": (integer, False),
"RemoveQuotes": (boolean, False),
"ReplaceChars": (str, False),
"ReplaceInvalidChars": (str, False),
"SecretsManagerAccessRoleArn": (str, False),
"SecretsManagerSecretId": (str, False),
"ServerSideEncryptionKmsKeyId": (str, False),
"ServiceAccessRoleArn": (str, False),
"TimeFormat": (str, False),
"TrimBlanks": (boolean, False),
"TruncateColumns": (boolean, False),
"WriteBufferSize": (integer, False),
}
[docs]class S3Settings(AWSProperty):
"""
`S3Settings <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-s3settings.html>`__
"""
props: PropsDictType = {
"AddColumnName": (boolean, False),
"AddTrailingPaddingCharacter": (boolean, False),
"BucketFolder": (str, False),
"BucketName": (str, False),
"CannedAclForObjects": (str, False),
"CdcInsertsAndUpdates": (boolean, False),
"CdcInsertsOnly": (boolean, False),
"CdcMaxBatchInterval": (integer, False),
"CdcMinFileSize": (integer, False),
"CdcPath": (str, False),
"CompressionType": (str, False),
"CsvDelimiter": (str, False),
"CsvNoSupValue": (str, False),
"CsvNullValue": (str, False),
"CsvRowDelimiter": (str, False),
"DataFormat": (str, False),
"DataPageSize": (integer, False),
"DatePartitionDelimiter": (str, False),
"DatePartitionEnabled": (boolean, False),
"DatePartitionSequence": (str, False),
"DatePartitionTimezone": (str, False),
"DictPageSizeLimit": (integer, False),
"EnableStatistics": (boolean, False),
"EncodingType": (str, False),
"EncryptionMode": (str, False),
"ExpectedBucketOwner": (str, False),
"ExternalTableDefinition": (str, False),
"GlueCatalogGeneration": (boolean, False),
"IgnoreHeaderRows": (integer, False),
"IncludeOpForFullLoad": (boolean, False),
"MaxFileSize": (integer, False),
"ParquetTimestampInMillisecond": (boolean, False),
"ParquetVersion": (str, False),
"PreserveTransactions": (boolean, False),
"Rfc4180": (boolean, False),
"RowGroupLength": (integer, False),
"ServerSideEncryptionKmsKeyId": (str, False),
"ServiceAccessRoleArn": (str, False),
"TimestampColumnName": (str, False),
"UseCsvNoSupValue": (boolean, False),
"UseTaskStartTimeForFullLoadTimestamp": (boolean, False),
}
[docs]class SybaseSettings(AWSProperty):
"""
`SybaseSettings <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-sybasesettings.html>`__
"""
props: PropsDictType = {
"SecretsManagerAccessRoleArn": (str, False),
"SecretsManagerSecretId": (str, False),
}
[docs]class Endpoint(AWSObject):
"""
`Endpoint <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html>`__
"""
resource_type = "AWS::DMS::Endpoint"
props: PropsDictType = {
"CertificateArn": (str, False),
"DatabaseName": (str, False),
"DocDbSettings": (DocDbSettings, False),
"DynamoDbSettings": (DynamoDbSettings, False),
"ElasticsearchSettings": (ElasticsearchSettings, False),
"EndpointIdentifier": (str, False),
"EndpointType": (str, True),
"EngineName": (str, True),
"ExtraConnectionAttributes": (str, False),
"GcpMySQLSettings": (GcpMySQLSettings, False),
"IbmDb2Settings": (IbmDb2Settings, False),
"KafkaSettings": (KafkaSettings, False),
"KinesisSettings": (KinesisSettings, False),
"KmsKeyId": (str, False),
"MicrosoftSqlServerSettings": (MicrosoftSqlServerSettings, False),
"MongoDbSettings": (MongoDbSettings, False),
"MySqlSettings": (MySqlSettings, False),
"NeptuneSettings": (NeptuneSettings, False),
"OracleSettings": (OracleSettings, False),
"Password": (str, False),
"Port": (validate_network_port, False),
"PostgreSqlSettings": (PostgreSqlSettings, False),
"RedisSettings": (RedisSettings, False),
"RedshiftSettings": (RedshiftSettings, False),
"ResourceIdentifier": (str, False),
"S3Settings": (S3Settings, False),
"ServerName": (str, False),
"SslMode": (str, False),
"SybaseSettings": (SybaseSettings, False),
"Tags": (Tags, False),
"Username": (str, False),
}
[docs]class EventSubscription(AWSObject):
"""
`EventSubscription <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-eventsubscription.html>`__
"""
resource_type = "AWS::DMS::EventSubscription"
props: PropsDictType = {
"Enabled": (boolean, False),
"EventCategories": ([str], False),
"SnsTopicArn": (str, True),
"SourceIds": ([str], False),
"SourceType": (str, False),
"SubscriptionName": (str, False),
"Tags": (Tags, False),
}
[docs]class InstanceProfile(AWSObject):
"""
`InstanceProfile <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-instanceprofile.html>`__
"""
resource_type = "AWS::DMS::InstanceProfile"
props: PropsDictType = {
"AvailabilityZone": (str, False),
"Description": (str, False),
"InstanceProfileIdentifier": (str, False),
"InstanceProfileName": (str, False),
"KmsKeyArn": (str, False),
"NetworkType": (str, False),
"PubliclyAccessible": (boolean, False),
"SubnetGroupIdentifier": (str, False),
"Tags": (Tags, False),
"VpcSecurityGroups": ([str], False),
}
[docs]class DataProviderDescriptor(AWSProperty):
"""
`DataProviderDescriptor <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-migrationproject-dataproviderdescriptor.html>`__
"""
props: PropsDictType = {
"DataProviderArn": (str, False),
"DataProviderIdentifier": (str, False),
"DataProviderName": (str, False),
"SecretsManagerAccessRoleArn": (str, False),
"SecretsManagerSecretId": (str, False),
}
[docs]class SchemaConversionApplicationAttributes(AWSProperty):
"""
`SchemaConversionApplicationAttributes <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-migrationproject-schemaconversionapplicationattributes.html>`__
"""
props: PropsDictType = {
"S3BucketPath": (str, False),
"S3BucketRoleArn": (str, False),
}
[docs]class MigrationProject(AWSObject):
"""
`MigrationProject <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-migrationproject.html>`__
"""
resource_type = "AWS::DMS::MigrationProject"
props: PropsDictType = {
"Description": (str, False),
"InstanceProfileArn": (str, False),
"InstanceProfileIdentifier": (str, False),
"InstanceProfileName": (str, False),
"MigrationProjectIdentifier": (str, False),
"MigrationProjectName": (str, False),
"SchemaConversionApplicationAttributes": (
SchemaConversionApplicationAttributes,
False,
),
"SourceDataProviderDescriptors": ([DataProviderDescriptor], False),
"Tags": (Tags, False),
"TargetDataProviderDescriptors": ([DataProviderDescriptor], False),
"TransformationRules": (str, False),
}
[docs]class ComputeConfig(AWSProperty):
"""
`ComputeConfig <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-replicationconfig-computeconfig.html>`__
"""
props: PropsDictType = {
"AvailabilityZone": (str, False),
"DnsNameServers": (str, False),
"KmsKeyId": (str, False),
"MaxCapacityUnits": (integer, True),
"MinCapacityUnits": (integer, False),
"MultiAZ": (boolean, False),
"PreferredMaintenanceWindow": (str, False),
"ReplicationSubnetGroupId": (str, False),
"VpcSecurityGroupIds": ([str], False),
}
[docs]class ReplicationConfig(AWSObject):
"""
`ReplicationConfig <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationconfig.html>`__
"""
resource_type = "AWS::DMS::ReplicationConfig"
props: PropsDictType = {
"ComputeConfig": (ComputeConfig, False),
"ReplicationConfigArn": (str, False),
"ReplicationConfigIdentifier": (str, False),
"ReplicationSettings": (dict, False),
"ReplicationType": (str, False),
"ResourceIdentifier": (str, False),
"SourceEndpointArn": (str, False),
"SupplementalSettings": (dict, False),
"TableMappings": (dict, False),
"Tags": (Tags, False),
"TargetEndpointArn": (str, False),
}
[docs]class ReplicationInstance(AWSObject):
"""
`ReplicationInstance <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationinstance.html>`__
"""
resource_type = "AWS::DMS::ReplicationInstance"
props: PropsDictType = {
"AllocatedStorage": (integer, False),
"AllowMajorVersionUpgrade": (boolean, False),
"AutoMinorVersionUpgrade": (boolean, False),
"AvailabilityZone": (str, False),
"EngineVersion": (str, False),
"KmsKeyId": (str, False),
"MultiAZ": (boolean, False),
"PreferredMaintenanceWindow": (str, False),
"PubliclyAccessible": (boolean, False),
"ReplicationInstanceClass": (str, True),
"ReplicationInstanceIdentifier": (str, False),
"ReplicationSubnetGroupIdentifier": (str, False),
"ResourceIdentifier": (str, False),
"Tags": (Tags, False),
"VpcSecurityGroupIds": ([str], False),
}
[docs]class ReplicationSubnetGroup(AWSObject):
"""
`ReplicationSubnetGroup <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationsubnetgroup.html>`__
"""
resource_type = "AWS::DMS::ReplicationSubnetGroup"
props: PropsDictType = {
"ReplicationSubnetGroupDescription": (str, True),
"ReplicationSubnetGroupIdentifier": (str, False),
"SubnetIds": ([str], True),
"Tags": (Tags, False),
}
[docs]class ReplicationTask(AWSObject):
"""
`ReplicationTask <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationtask.html>`__
"""
resource_type = "AWS::DMS::ReplicationTask"
props: PropsDictType = {
"CdcStartPosition": (str, False),
"CdcStartTime": (double, False),
"CdcStopPosition": (str, False),
"MigrationType": (str, True),
"ReplicationInstanceArn": (str, True),
"ReplicationTaskIdentifier": (str, False),
"ReplicationTaskSettings": (str, False),
"ResourceIdentifier": (str, False),
"SourceEndpointArn": (str, True),
"TableMappings": (str, True),
"Tags": (Tags, False),
"TargetEndpointArn": (str, True),
"TaskData": (str, False),
}