<commit_before># Copyright (c) 2012-2020, <NAME> <<EMAIL>>
# All rights reserved.
#
# See LICENSE file for full license.
#
# *** Do not modify - this file is autogenerated ***
# Resource specification version: 18.7.0


from troposphere import Tags

from . import AWSObject


class Database(AWSObject):
    resource_type = "AWS::Timestream::Database"

    props = {
        "DatabaseName": (str, False),
        "KmsKeyId": (str, False),
        "Tags": (Tags, False),
    }


class Table(AWSObject):
    resource_type = "AWS::Timestream::Table"

    props = {
        "DatabaseName": (str, True),
        "RetentionProperties": (dict, False),
        "TableName": (str, False),
        "Tags": (Tags, False),
    }<commit_msg>Update Timestream per 2021-12-03 changes<commit_after># Copyright (c) 2012-2021, <NAME> <<EMAIL>>
# All rights reserved.
#
# See LICENSE file for full license.
#
# *** Do not modify - this file is autogenerated ***
# Resource specification version: 51.0.0


from . import AWSObject, AWSProperty, Tags


class Database(AWSObject):
    resource_type = "AWS::Timestream::Database"

    props = {
        "DatabaseName": (str, False),
        "KmsKeyId": (str, False),
        "Tags": (Tags, False),
    }


class S3Configuration(AWSProperty):
    props = {
        "BucketName": (str, True),
        "EncryptionOption": (str, False),
        "ObjectKeyPrefix": (str, False),
    }


class ErrorReportConfiguration(AWSProperty):
    props = {
        "S3Configuration": (S3Configuration, True),
    }


class SnsConfiguration(AWSProperty):
    props = {
        "TopicArn": (str, True),
    }


class NotificationConfiguration(AWSProperty):
    props = {
        "SnsConfiguration": (SnsConfiguration, True),
    }


class ScheduleConfiguration(AWSProperty):
    props = {
        "ScheduleExpression": (str, True),
    }


class DimensionMapping(AWSProperty):
    props = {
        "DimensionValueType": (str, True),
        "Name": (str, True),
    }


class MultiMeasureAttributeMapping(AWSProperty):
    props = {
        "MeasureValueType": (str, True),
        "SourceColumn": (str, True),
        "TargetMultiMeasureAttributeName": (str, False),
    }


class MixedMeasureMapping(AWSProperty):
    props = {
        "MeasureName": (str, False),
        "MeasureValueType": (str, True),
        "MultiMeasureAttributeMappings": ([MultiMeasureAttributeMapping], False),
        "SourceColumn": (str, False),
        "TargetMeasureName": (str, False),
    }


class MultiMeasureMappings(AWSProperty):
    props = {
        "MultiMeasureAttributeMappings": ([MultiMeasureAttributeMapping], True),
        "TargetMultiMeasureName": (str, False),
    }


class TimestreamConfiguration(AWSProperty):
    props = {
        "DatabaseName": (str, True),
        "DimensionMappings": ([DimensionMapping], True),
        "MeasureNameColumn": (str, False),
        "MixedMeasureMappings": ([MixedMeasureMapping], False),
        "MultiMeasureMappings": (MultiMeasureMappings, False),
        "TableName": (str, True),
        "TimeColumn": (str, True),
    }


class TargetConfiguration(AWSProperty):
    props = {
        "TimestreamConfiguration": (TimestreamConfiguration, True),
    }


class ScheduledQuery(AWSObject):
    resource_type = "AWS::Timestream::ScheduledQuery"

    props = {
        "ClientToken": (str, False),
        "ErrorReportConfiguration": (ErrorReportConfiguration, True),
        "KmsKeyId": (str, False),
        "NotificationConfiguration": (NotificationConfiguration, True),
        "QueryString": (str, True),
        "ScheduleConfiguration": (ScheduleConfiguration, True),
        "ScheduledQueryExecutionRoleArn": (str, True),
        "ScheduledQueryName": (str, False),
        "Tags": (Tags, False),
        "TargetConfiguration": (TargetConfiguration, False),
    }


class Table(AWSObject):
    resource_type = "AWS::Timestream::Table"

    props = {
        "DatabaseName": (str, True),
        "RetentionProperties": (dict, False),
        "TableName": (str, False),
        "Tags": (Tags, False),
    }
{'fraction_non_alphanumeric': 0.13944321261394432, 'fraction_numerical': 0.008622813500862282, 'mean_word_length': 3.2072538860103625, 'pattern_counts': {'":': 51, '<': 9, '<?xml version=': 0, '>': 9, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7455519', 'n_tokens_mistral': 1236, 'n_tokens_neox': 1180, 'n_words': 279}