import { ResourceBase } from '../resource' ; import { Value , List } from '../dataTypes' ; export class Column { Comment ? : Value < string > ; Type ? : Value < string > ; Name ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class TableInput { Owner ? : Value < string > ; ViewOriginalText ? : Value < string > ; Description ? : Value < string > ; TableType ? : Value < string > ; Parameters ? : { [ key ] : any ; } ; ViewExpandedText ? : Value < string > ; StorageDescriptor ? : StorageDescriptor ; TargetTable ? : TableIdentifier ; PartitionKeys ? : List < Column > ; Retention ? : Value < number > ; Name ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class SerdeInfo { Parameters ? : { [ key ] : any ; } ; SerializationLibrary ? : Value < string > ; Name ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class SchemaId { RegistryName ? : Value < string > ; SchemaName ? : Value < string > ; SchemaArn ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class Order { Column ! : Value < string > ; SortOrder ! : Value < number > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class SkewedInfo { SkewedColumnNames ? : List < Value < string > > ; SkewedColumnValues ? : List < Value < string > > ; SkewedColumnValueLocationMaps ? : { [ key ] : any ; } ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class StorageDescriptor { StoredAsSubDirectories ? : Value < boolean > ; Parameters ? : { [ key ] : any ; } ; BucketColumns ? : List < Value < string > > ; NumberOfBuckets ? : Value < number > ; OutputFormat ? : Value < string > ; Columns ? : List < Column > ; SerdeInfo ? : SerdeInfo ; SortColumns ? : List < Order > ; Compressed ? : Value < boolean > ; SchemaReference ? : SchemaReference ; SkewedInfo ? : SkewedInfo ; InputFormat ? : Value < string > ; Location ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class SchemaReference { SchemaId ? : SchemaId ; SchemaVersionNumber ? : Value < number > ; SchameVersionId ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class TableIdentifier { DatabaseName ? : Value < string > ; CatalogId ? : Value < string > ; Name ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export interface TableProperties { TableInput : TableInput ; DatabaseName : Value < string > ; CatalogId : Value < string > ; } export default class Table extends ResourceBase < TableProperties > { static Column = Column ; static TableInput = TableInput ; static SerdeInfo = SerdeInfo ; static SchemaId = SchemaId ; static Order = Order ; static SkewedInfo = SkewedInfo ; static StorageDescriptor = StorageDescriptor ; static SchemaReference = SchemaReference ; static TableIdentifier = TableIdentifier ; constructor ( properties ) { super ( 'AWS::Glue::Table' , properties ) ; } }