import { ResourceBase , ResourceTag } from '../resource' ; import { Value , List } from '../dataTypes' ; export class S3Origin { DomainName ! : Value < string > ; OriginAccessIdentity ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class Logging { Bucket ! : Value < string > ; Enabled ! : Value < boolean > ; Prefix ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class StreamingDistributionConfig { Logging ? : Logging ; Comment ! : Value < string > ; PriceClass ? : Value < string > ; S3Origin ! : S3Origin ; Enabled ! : Value < boolean > ; Aliases ? : List < Value < string > > ; TrustedSigners ! : TrustedSigners ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class TrustedSigners { Enabled ! : Value < boolean > ; AwsAccountNumbers ? : List < Value < string > > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export interface StreamingDistributionProperties { StreamingDistributionConfig : StreamingDistributionConfig ; Tags : List < ResourceTag > ; } export default class StreamingDistribution extends ResourceBase < StreamingDistributionProperties > { static S3Origin = S3Origin ; static Logging = Logging ; static StreamingDistributionConfig = StreamingDistributionConfig ; static TrustedSigners = TrustedSigners ; constructor ( properties ) { super ( 'AWS::CloudFront::StreamingDistribution' , properties ) ; } }