import { ResourceBase , ResourceTag } from '../resource' ; import { Value , List } from '../dataTypes' ; export class CustomerManagedS3 { Bucket ! : Value < string > ; RoleArn ! : Value < string > ; KeyPrefix ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class RetentionPeriod { NumberOfDays ? : Value < number > ; Unlimited ? : Value < boolean > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class ServiceManagedS3 { constructor ( properties ) { Object . assign ( this , properties ) ; } } export class ChannelStorage { CustomerManagedS3 ? : CustomerManagedS3 ; ServiceManagedS3 ? : ServiceManagedS3 ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export interface ChannelProperties { ChannelName ? : Value < string > ; ChannelStorage ? : ChannelStorage ; RetentionPeriod ? : RetentionPeriod ; Tags ? : List < ResourceTag > ; } export default class Channel extends ResourceBase < ChannelProperties > { static CustomerManagedS3 = CustomerManagedS3 ; static RetentionPeriod = RetentionPeriod ; static ServiceManagedS3 = ServiceManagedS3 ; static ChannelStorage = ChannelStorage ; constructor ( properties ? ) { super ( 'AWS::IoTAnalytics::Channel' , properties || { } ) ; } }