import { ResourceBase , ResourceTag } from '../resource' ; import { Value , List } from '../dataTypes' ; export class FileFormatConfiguration { ParquetConfiguration ? : ParquetConfiguration ; JsonConfiguration ? : JsonConfiguration ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class ServiceManagedS3 { constructor ( properties ) { Object . assign ( this , properties ) ; } } export class RetentionPeriod { NumberOfDays ? : Value < number > ; Unlimited ? : Value < boolean > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class CustomerManagedS3 { Bucket ! : Value < string > ; RoleArn ! : Value < string > ; KeyPrefix ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class SchemaDefinition { Columns ? : List < Column > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class Column { Type ! : Value < string > ; Name ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class ParquetConfiguration { SchemaDefinition ? : SchemaDefinition ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class DatastoreStorage { CustomerManagedS3 ? : CustomerManagedS3 ; ServiceManagedS3 ? : ServiceManagedS3 ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class JsonConfiguration { constructor ( properties ) { Object . assign ( this , properties ) ; } } export interface DatastoreProperties { DatastoreStorage ? : DatastoreStorage ; FileFormatConfiguration ? : FileFormatConfiguration ; DatastoreName ? : Value < string > ; RetentionPeriod ? : RetentionPeriod ; Tags ? : List < ResourceTag > ; } export default class Datastore extends ResourceBase < DatastoreProperties > { static FileFormatConfiguration = FileFormatConfiguration ; static ServiceManagedS3 = ServiceManagedS3 ; static RetentionPeriod = RetentionPeriod ; static CustomerManagedS3 = CustomerManagedS3 ; static SchemaDefinition = SchemaDefinition ; static Column = Column ; static ParquetConfiguration = ParquetConfiguration ; static DatastoreStorage = DatastoreStorage ; static JsonConfiguration = JsonConfiguration ; constructor ( properties ? ) { super ( 'AWS::IoTAnalytics::Datastore' , properties || { } ) ; } }