import { ResourceBase , ResourceTag } from '../resource' ; import { Value , List } from '../dataTypes' ; export class StreamSelection { MinVideoBitsPerSecond ? : Value < number > ; MaxVideoBitsPerSecond ? : Value < number > ; StreamOrder ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class CmafPackage { SegmentDurationSeconds ? : Value < number > ; SegmentPrefix ? : Value < string > ; Encryption ? : CmafEncryption ; StreamSelection ? : StreamSelection ; HlsManifests ? : List < HlsManifest > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class MssEncryption { SpekeKeyProvider ! : SpekeKeyProvider ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class Authorization { SecretsRoleArn ! : Value < string > ; CdnIdentifierSecret ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class DashPackage { SegmentDurationSeconds ? : Value < number > ; ManifestWindowSeconds ? : Value < number > ; Profile ? : Value < string > ; MinUpdatePeriodSeconds ? : Value < number > ; MinBufferTimeSeconds ? : Value < number > ; SuggestedPresentationDelaySeconds ? : Value < number > ; PeriodTriggers ? : List < Value < string > > ; ManifestLayout ? : Value < string > ; SegmentTemplateFormat ? : Value < string > ; AdTriggers ? : List < Value < string > > ; AdsOnDeliveryRestrictions ? : Value < string > ; Encryption ? : DashEncryption ; StreamSelection ? : StreamSelection ; UtcTiming ? : Value < string > ; UtcTimingUri ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class DashEncryption { KeyRotationIntervalSeconds ? : Value < number > ; SpekeKeyProvider ! : SpekeKeyProvider ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class HlsManifest { Id ! : Value < string > ; ManifestName ? : Value < string > ; Url ? : Value < string > ; PlaylistWindowSeconds ? : Value < number > ; PlaylistType ? : Value < string > ; AdMarkers ? : Value < string > ; ProgramDateTimeIntervalSeconds ? : Value < number > ; IncludeIframeOnlyStream ? : Value < boolean > ; AdTriggers ? : List < Value < string > > ; AdsOnDeliveryRestrictions ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class SpekeKeyProvider { ResourceId ! : Value < string > ; SystemIds ! : List < Value < string > > ; Url ! : Value < string > ; RoleArn ! : Value < string > ; CertificateArn ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class CmafEncryption { KeyRotationIntervalSeconds ? : Value < number > ; SpekeKeyProvider ! : SpekeKeyProvider ; ConstantInitializationVector ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class HlsEncryption { EncryptionMethod ? : Value < string > ; ConstantInitializationVector ? : Value < string > ; KeyRotationIntervalSeconds ? : Value < number > ; RepeatExtXKey ? : Value < boolean > ; SpekeKeyProvider ! : SpekeKeyProvider ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class MssPackage { ManifestWindowSeconds ? : Value < number > ; SegmentDurationSeconds ? : Value < number > ; Encryption ? : MssEncryption ; StreamSelection ? : StreamSelection ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class HlsPackage { SegmentDurationSeconds ? : Value < number > ; PlaylistWindowSeconds ? : Value < number > ; PlaylistType ? : Value < string > ; AdMarkers ? : Value < string > ; AdTriggers ? : List < Value < string > > ; AdsOnDeliveryRestrictions ? : Value < string > ; ProgramDateTimeIntervalSeconds ? : Value < number > ; IncludeIframeOnlyStream ? : Value < boolean > ; UseAudioRenditionGroup ? : Value < boolean > ; Encryption ? : HlsEncryption ; StreamSelection ? : StreamSelection ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export interface OriginEndpointProperties { Id : Value < string > ; ChannelId : Value < string > ; Description ? : Value < string > ; Whitelist ? : List < Value < string > > ; StartoverWindowSeconds ? : Value < number > ; TimeDelaySeconds ? : Value < number > ; ManifestName ? : Value < string > ; Origination ? : Value < string > ; Authorization ? : Authorization ; HlsPackage ? : HlsPackage ; DashPackage ? : DashPackage ; MssPackage ? : MssPackage ; CmafPackage ? : CmafPackage ; Tags ? : List < ResourceTag > ; } export default class OriginEndpoint extends ResourceBase < OriginEndpointProperties > { static StreamSelection = StreamSelection ; static CmafPackage = CmafPackage ; static MssEncryption = MssEncryption ; static Authorization = Authorization ; static DashPackage = DashPackage ; static DashEncryption = DashEncryption ; static HlsManifest = HlsManifest ; static SpekeKeyProvider = SpekeKeyProvider ; static CmafEncryption = CmafEncryption ; static HlsEncryption = HlsEncryption ; static MssPackage = MssPackage ; static HlsPackage = HlsPackage ; constructor ( properties ) { super ( 'AWS::MediaPackage::OriginEndpoint' , properties ) ; } }