Resources:

  ServerlessSaaSLayersLogs:
    Type: AWS::S3::Bucket
    Properties:
      BucketName:
        Fn::Join:
          - ""
          - - serverless-saas-layers-logs-
            - Ref: AWS::AccountId
    UpdateReplacePolicy: Retain
    DeletionPolicy: Retain
    
  ServerlessSaaSLayersBucket:
    Type: AWS::S3::Bucket
    UpdateReplacePolicy: Retain
    DeletionPolicy: Retain
    
  ServerlessSaaSLayers:
    Type: AWS::Glue::Database
    Properties:
      CatalogId:
        Ref: AWS::AccountId
      DatabaseInput:
        LocationUri:
          Fn::Join:
            - ""
            - - s3://
              - Ref: ServerlessSaaSLayersBucket
              - /serverlesssaaslayers
        Name: serverlesssaas
    
  ProductLogsTable:
    Type: AWS::Glue::Table
    Properties:
      CatalogId:
        Ref: AWS::AccountId
      DatabaseName:
        Ref: ServerlessSaaSLayers
      TableInput:
        Description: productlogs generated by CDK
        Name: productlogs
        Parameters:
          has_encrypted_data: false
        StorageDescriptor:
          Columns:
            - Name: Message
              Type: string
            - Name: ProductId
              Type: string
            - Name: timestamp
              Type: timestamp
          Compressed: false
          InputFormat: org.apache.hadoop.mapred.TextInputFormat
          Location:
            Fn::Join:
              - ""
              - - s3://
                - Ref: ServerlessSaaSLayersLogs
                - /ProductManager/
          OutputFormat: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
          SerdeInfo:
            SerializationLibrary: org.openx.data.jsonserde.JsonSerDe
          StoredAsSubDirectories: false
        TableType: EXTERNAL_TABLE
    
  OrderLogsTable:
    Type: AWS::Glue::Table
    Properties:
      CatalogId:
        Ref: AWS::AccountId
      DatabaseName:
        Ref: ServerlessSaaSLayers
      TableInput:
        Description: orderlogs generated by CDK
        Name: orderlogs
        Parameters:
          has_encrypted_data: false
        StorageDescriptor:
          Columns:
            - Name: Message
              Type: string
            - Name: OrderId
              Type: string
            - Name: timestamp
              Type: timestamp
          Compressed: false
          InputFormat: org.apache.hadoop.mapred.TextInputFormat
          Location:
            Fn::Join:
              - ""
              - - s3://
                - Ref: ServerlessSaaSLayersLogs
                - /OrderManager/
          OutputFormat: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
          SerdeInfo:
            SerializationLibrary: org.openx.data.jsonserde.JsonSerDe
          StoredAsSubDirectories: false
        TableType: EXTERNAL_TABLE