old_contents: # Copyright (c) 2012-2020, Mark Peek <mark@peek.org>
  # 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),
      }
  
new_contents: # Copyright (c) 2012-2021, Mark Peek <mark@peek.org>
  # 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),
      }
  
subject: Update Timestream per 2021-12-03 changes