import { Expressionable, ResourceDefinition } from 'arm-templator'; export interface AacAudio { profile?: Expressionable<('AacLc' | 'HeAacV1' | 'HeAacV2')>; '@odata.type': Expressionable; } export interface AkamaiAccessControl { akamaiSignatureHeaderAuthenticationKeyList?: Expressionable; } export interface AkamaiSignatureHeaderAuthenticationKey { identifier?: Expressionable; base64Key?: Expressionable; expiration?: Expressionable; } export interface AssetProperties { alternateId?: Expressionable; description?: Expressionable; container?: Expressionable; storageAccountName?: Expressionable; } export interface Audio { channels?: Expressionable; samplingRate?: Expressionable; bitrate?: Expressionable; '@odata.type': Expressionable; } export interface AudioAnalyzerPreset { audioLanguage?: Expressionable; '@odata.type': Expressionable; } export interface AudioOverlay { '@odata.type': Expressionable; } export interface BuiltInStandardEncoderPreset { presetName: Expressionable<('H264SingleBitrateSD' | 'H264SingleBitrate720p' | 'H264SingleBitrate1080p' | 'AdaptiveStreaming' | 'AACGoodQualityAudio' | 'H264MultipleBitrate1080p' | 'H264MultipleBitrate720p' | 'H264MultipleBitrateSD')>; '@odata.type': Expressionable; } export interface CbcsDrmConfiguration { fairPlay?: Expressionable; playReady?: Expressionable; widevine?: Expressionable; } export interface CencDrmConfiguration { playReady?: Expressionable; widevine?: Expressionable; } export interface Codec { label?: Expressionable; '@odata.type': Expressionable; } export interface CommonEncryptionCbcs { enabledProtocols?: Expressionable; clearTracks?: Expressionable; contentKeys?: Expressionable; drm?: Expressionable; } export interface CommonEncryptionCenc { enabledProtocols?: Expressionable; clearTracks?: Expressionable; contentKeys?: Expressionable; drm?: Expressionable; } export interface ContentKeyPolicyClearKeyConfiguration { '@odata.type': Expressionable; } export interface ContentKeyPolicyConfiguration { '@odata.type': Expressionable; } export interface ContentKeyPolicyFairPlayConfiguration { ask: Expressionable; fairPlayPfxPassword: Expressionable; fairPlayPfx: Expressionable; rentalAndLeaseKeyType: Expressionable<('Unknown' | 'Undefined' | 'PersistentUnlimited' | 'PersistentLimited')>; rentalDuration: Expressionable; '@odata.type': Expressionable; } export interface ContentKeyPolicyOpenRestriction { '@odata.type': Expressionable; } export interface ContentKeyPolicyOption { name?: Expressionable; configuration: Expressionable; restriction: Expressionable; } export interface ContentKeyPolicyPlayReadyConfiguration { licenses: Expressionable; responseCustomData?: Expressionable; '@odata.type': Expressionable; } export interface ContentKeyPolicyPlayReadyContentEncryptionKeyFromHeader { '@odata.type': Expressionable; } export interface ContentKeyPolicyPlayReadyContentEncryptionKeyFromKeyIdentifier { keyId: Expressionable; '@odata.type': Expressionable; } export interface ContentKeyPolicyPlayReadyContentKeyLocation { '@odata.type': Expressionable; } export interface ContentKeyPolicyPlayReadyExplicitAnalogTelevisionRestriction { bestEffort: Expressionable; configurationData: Expressionable; } export interface ContentKeyPolicyPlayReadyLicense { allowTestDevices: Expressionable; beginDate?: Expressionable; expirationDate?: Expressionable; relativeBeginDate?: Expressionable; relativeExpirationDate?: Expressionable; gracePeriod?: Expressionable; playRight?: Expressionable; licenseType: Expressionable<('Unknown' | 'NonPersistent' | 'Persistent')>; contentKeyLocation: Expressionable; contentType: Expressionable<('Unknown' | 'Unspecified' | 'UltraVioletDownload' | 'UltraVioletStreaming')>; } export interface ContentKeyPolicyPlayReadyPlayRight { firstPlayExpiration?: Expressionable; scmsRestriction?: Expressionable; agcAndColorStripeRestriction?: Expressionable; explicitAnalogTelevisionOutputRestriction?: Expressionable; digitalVideoOnlyContentRestriction: Expressionable; imageConstraintForAnalogComponentVideoRestriction: Expressionable; imageConstraintForAnalogComputerMonitorRestriction: Expressionable; allowPassingVideoContentToUnknownOutput: Expressionable<('Unknown' | 'NotAllowed' | 'Allowed' | 'AllowedWithVideoConstriction')>; uncompressedDigitalVideoOpl?: Expressionable; compressedDigitalVideoOpl?: Expressionable; analogVideoOpl?: Expressionable; compressedDigitalAudioOpl?: Expressionable; uncompressedDigitalAudioOpl?: Expressionable; } export interface ContentKeyPolicyProperties { description?: Expressionable; options: Expressionable; } export interface ContentKeyPolicyRestriction { '@odata.type': Expressionable; } export interface ContentKeyPolicyRestrictionTokenKey { '@odata.type': Expressionable; } export interface ContentKeyPolicyRsaTokenKey { exponent: Expressionable; modulus: Expressionable; } export interface ContentKeyPolicySymmetricTokenKey { keyValue: Expressionable; } export interface ContentKeyPolicyTokenClaim { claimType?: Expressionable; claimValue?: Expressionable; } export interface ContentKeyPolicyTokenRestriction { issuer: Expressionable; audience: Expressionable; primaryVerificationKey: Expressionable; alternateVerificationKeys?: Expressionable; requiredClaims?: Expressionable; restrictionTokenType: Expressionable<('Unknown' | 'Swt' | 'Jwt')>; openIdConnectDiscoveryDocument?: Expressionable; '@odata.type': Expressionable; } export interface ContentKeyPolicyUnknownConfiguration { '@odata.type': Expressionable; } export interface ContentKeyPolicyUnknownRestriction { '@odata.type': Expressionable; } export interface ContentKeyPolicyWidevineConfiguration { widevineTemplate: Expressionable; '@odata.type': Expressionable; } export interface ContentKeyPolicyX509CertificateTokenKey { rawBody: Expressionable; } export interface CopyAudio { '@odata.type': Expressionable; } export interface CopyVideo { '@odata.type': Expressionable; } export interface CrossSiteAccessPolicies { clientAccessPolicy?: Expressionable; crossDomainPolicy?: Expressionable; } export interface DefaultKey { label?: Expressionable; policyName?: Expressionable; } export interface Deinterlace { parity?: Expressionable<('Auto' | 'TopFieldFirst' | 'BottomFieldFirst')>; mode?: Expressionable<('Off' | 'AutoPixelAdaptive')>; } export interface EnabledProtocols { download: Expressionable; dash: Expressionable; hls: Expressionable; smoothStreaming: Expressionable; } export interface EnvelopeEncryption { enabledProtocols?: Expressionable; clearTracks?: Expressionable; contentKeys?: Expressionable; customKeyAcquisitionUrlTemplate?: Expressionable; } export interface Filters { deinterlace?: Expressionable; rotation?: Expressionable<('Auto' | 'None' | 'Rotate0' | 'Rotate90' | 'Rotate180' | 'Rotate270')>; crop?: Expressionable; overlays?: Expressionable; } export interface FilterTrackPropertyCondition { property: Expressionable<('Unknown' | 'Type' | 'Name' | 'Language' | 'FourCC' | 'Bitrate')>; value: Expressionable; operation: Expressionable<('Equal' | 'NotEqual')>; } export interface FilterTrackSelection { trackSelections: Expressionable; } export interface FirstQuality { bitrate: Expressionable; } export interface Format { filenamePattern?: Expressionable; '@odata.type': Expressionable; } export interface H264Layer { width?: Expressionable; height?: Expressionable; label?: Expressionable; bitrate?: Expressionable; maxBitrate?: Expressionable; bFrames?: Expressionable; frameRate?: Expressionable; slices?: Expressionable; adaptiveBFrame?: Expressionable; profile?: Expressionable<('Auto' | 'Baseline' | 'Main' | 'High' | 'High422' | 'High444')>; level?: Expressionable; bufferWindow?: Expressionable; referenceFrames?: Expressionable; entropyMode?: Expressionable<('Cabac' | 'Cavlc')>; '@odata.type': Expressionable; } export interface H264Video { sceneChangeDetection?: Expressionable; complexity?: Expressionable<('Speed' | 'Balanced' | 'Quality')>; layers?: Expressionable; '@odata.type': Expressionable; } export interface Hls { fragmentsPerTsSegment?: Expressionable; } export interface Image { start?: Expressionable; step?: Expressionable; range?: Expressionable; '@odata.type': Expressionable; } export interface ImageFormat { '@odata.type': Expressionable; } export interface IPAccessControl { allow?: Expressionable; } export interface IPRange { name?: Expressionable; address?: Expressionable; subnetPrefixLength?: Expressionable; } export interface JobInput { '@odata.type': Expressionable; } export interface JobInputAsset { assetName: Expressionable; '@odata.type': Expressionable; } export interface JobInputClip { files?: Expressionable; label?: Expressionable; '@odata.type': Expressionable; } export interface JobInputHttp { baseUri?: Expressionable; '@odata.type': Expressionable; } export interface JobInputs { inputs?: Expressionable; '@odata.type': Expressionable; } export interface JobOutput { label?: Expressionable; '@odata.type': Expressionable; } export interface JobOutputAsset { assetName: Expressionable; '@odata.type': Expressionable; } export interface JobProperties { description?: Expressionable; input: Expressionable; outputs: Expressionable; priority?: Expressionable<('Low' | 'Normal' | 'High')>; } export interface JpgFormat { '@odata.type': Expressionable; } export interface JpgImage { layers?: Expressionable; '@odata.type': Expressionable; } export interface JpgLayer { width?: Expressionable; height?: Expressionable; label?: Expressionable; quality?: Expressionable; '@odata.type': Expressionable; } export interface LiveEventEncoding { encodingType?: Expressionable<('None' | 'Basic')>; presetName?: Expressionable; } export interface LiveEventEndpoint { protocol?: Expressionable; url?: Expressionable; } export interface LiveEventInput { streamingProtocol: Expressionable<('FragmentedMP4' | 'RTMP')>; accessControl?: Expressionable; keyFrameIntervalDuration?: Expressionable; accessToken?: Expressionable; endpoints?: Expressionable; } export interface LiveEventInputAccessControl { ip?: Expressionable; } export interface LiveEventPreview { endpoints?: Expressionable; accessControl?: Expressionable; previewLocator?: Expressionable; streamingPolicyName?: Expressionable; alternativeMediaId?: Expressionable; } export interface LiveEventPreviewAccessControl { ip?: Expressionable; } export interface LiveEventProperties { description?: Expressionable; input: Expressionable; preview?: Expressionable; encoding?: Expressionable; crossSiteAccessPolicies?: Expressionable; vanityUrl?: Expressionable; streamOptions?: Expressionable<('Default' | 'LowLatency')[]>; } export interface LiveOutputProperties { description?: Expressionable; assetName: Expressionable; archiveWindowLength: Expressionable; manifestName?: Expressionable; hls?: Expressionable; outputSnapTime?: Expressionable; } export interface MediaFilterProperties { presentationTimeRange?: Expressionable; firstQuality?: Expressionable; tracks?: Expressionable; } export interface MediaServiceProperties { storageAccounts?: Expressionable; } export interface Mp4Format { '@odata.type': Expressionable; } export interface MultiBitrateFormat { outputFiles?: Expressionable; '@odata.type': Expressionable; } export interface NoEncryption { enabledProtocols?: Expressionable; } export interface OutputFile { labels?: Expressionable; } export interface Overlay { inputLabel?: Expressionable; start?: Expressionable; end?: Expressionable; fadeInDuration?: Expressionable; fadeOutDuration?: Expressionable; audioGainLevel?: Expressionable; '@odata.type': Expressionable; } export interface PngFormat { '@odata.type': Expressionable; } export interface PngImage { layers?: Expressionable; '@odata.type': Expressionable; } export interface PngLayer { width?: Expressionable; height?: Expressionable; label?: Expressionable; '@odata.type': Expressionable; } export interface PresentationTimeRange { startTimestamp: Expressionable; endTimestamp: Expressionable; presentationWindowDuration: Expressionable; liveBackoffDuration: Expressionable; timescale: Expressionable; forceEndTimestamp: Expressionable; } export interface Preset { '@odata.type': Expressionable; } export interface Rectangle { left?: Expressionable; top?: Expressionable; width?: Expressionable; height?: Expressionable; } export interface StandardEncoderPreset { filters?: Expressionable; codecs?: Expressionable; formats?: Expressionable; '@odata.type': Expressionable; } export interface StorageAccount { id?: Expressionable; type: Expressionable<('Primary' | 'Secondary')>; } export interface StreamingEndpointAccessControl { akamai?: Expressionable; ip?: Expressionable; } export interface StreamingEndpointProperties { description?: Expressionable; scaleUnits: Expressionable; availabilitySetName?: Expressionable; accessControl?: Expressionable; maxCacheAge?: Expressionable; customHostNames?: Expressionable; cdnEnabled?: Expressionable; cdnProvider?: Expressionable; cdnProfile?: Expressionable; crossSiteAccessPolicies?: Expressionable; } export interface StreamingLocatorContentKey { id: Expressionable; labelReferenceInStreamingPolicy?: Expressionable; value?: Expressionable; } export interface StreamingLocatorProperties { assetName: Expressionable; startTime?: Expressionable; endTime?: Expressionable; streamingLocatorId?: Expressionable; streamingPolicyName: Expressionable; defaultContentKeyPolicyName?: Expressionable; contentKeys?: Expressionable; alternativeMediaId?: Expressionable; } export interface StreamingPolicyContentKey { label?: Expressionable; policyName?: Expressionable; tracks?: Expressionable; } export interface StreamingPolicyContentKeys { defaultKey?: Expressionable; keyToTrackMappings?: Expressionable; } export interface StreamingPolicyFairPlayConfiguration { customLicenseAcquisitionUrlTemplate?: Expressionable; allowPersistentLicense: Expressionable; } export interface StreamingPolicyPlayReadyConfiguration { customLicenseAcquisitionUrlTemplate?: Expressionable; playReadyCustomAttributes?: Expressionable; } export interface StreamingPolicyProperties { defaultContentKeyPolicyName?: Expressionable; envelopeEncryption?: Expressionable; commonEncryptionCenc?: Expressionable; commonEncryptionCbcs?: Expressionable; noEncryption?: Expressionable; } export interface StreamingPolicyWidevineConfiguration { customLicenseAcquisitionUrlTemplate?: Expressionable; } export interface TrackPropertyCondition { property: Expressionable<('Unknown' | 'FourCC')>; operation: Expressionable<('Unknown' | 'Equal')>; value?: Expressionable; } export interface TrackSelection { trackSelections?: Expressionable; } export interface TransformOutput { onError?: Expressionable<('StopProcessingJob' | 'ContinueJob')>; relativePriority?: Expressionable<('Low' | 'Normal' | 'High')>; preset: Expressionable; } export interface TransformProperties { description?: Expressionable; outputs: Expressionable; } export interface TransportStreamFormat { '@odata.type': Expressionable; } export interface Video { keyFrameInterval?: Expressionable; stretchMode?: Expressionable<('None' | 'AutoSize' | 'AutoFit')>; '@odata.type': Expressionable; } export interface VideoAnalyzerPreset { insightsToExtract?: Expressionable<('AudioInsightsOnly' | 'VideoInsightsOnly' | 'AllInsights')>; '@odata.type': Expressionable; } export interface VideoOverlay { position?: Expressionable; opacity?: Expressionable; cropRectangle?: Expressionable; '@odata.type': Expressionable; } export declare namespace mediaServices { type MediaServicesResource = ResourceDefinition; function create(name: Expressionable, properties: MediaServiceProperties, location?: Expressionable): MediaServicesResource; } export declare namespace mediaServices { namespace accountFilters { type AccountFiltersResource = ResourceDefinition; function create(name: [Expressionable, Expressionable], properties: MediaFilterProperties): AccountFiltersResource; } } export declare namespace mediaServices { namespace assets { type AssetsResource = ResourceDefinition; function create(name: [Expressionable, Expressionable], properties: AssetProperties): AssetsResource; } } export declare namespace mediaServices { namespace assets { namespace assetFilters { type AssetFiltersResource = ResourceDefinition; function create(name: [Expressionable, Expressionable, Expressionable], properties: MediaFilterProperties): AssetFiltersResource; } } } export declare namespace mediaServices { namespace contentKeyPolicies { type ContentKeyPoliciesResource = ResourceDefinition; function create(name: [Expressionable, Expressionable], properties: ContentKeyPolicyProperties): ContentKeyPoliciesResource; } } export declare namespace mediaServices { namespace liveEvents { type LiveEventsResource = ResourceDefinition; function create(name: [Expressionable, Expressionable], properties: LiveEventProperties, location?: Expressionable): LiveEventsResource; } } export declare namespace mediaServices { namespace liveEvents { namespace liveOutputs { type LiveOutputsResource = ResourceDefinition; function create(name: [Expressionable, Expressionable, Expressionable], properties: LiveOutputProperties): LiveOutputsResource; } } } export declare namespace mediaServices { namespace streamingEndpoints { type StreamingEndpointsResource = ResourceDefinition; function create(name: [Expressionable, Expressionable], properties: StreamingEndpointProperties, location?: Expressionable): StreamingEndpointsResource; } } export declare namespace mediaServices { namespace streamingLocators { type StreamingLocatorsResource = ResourceDefinition; function create(name: [Expressionable, Expressionable], properties: StreamingLocatorProperties): StreamingLocatorsResource; } } export declare namespace mediaServices { namespace streamingPolicies { type StreamingPoliciesResource = ResourceDefinition; function create(name: [Expressionable, Expressionable], properties: StreamingPolicyProperties): StreamingPoliciesResource; } } export declare namespace mediaServices { namespace transforms { type TransformsResource = ResourceDefinition; function create(name: [Expressionable, Expressionable], properties: TransformProperties): TransformsResource; } } export declare namespace mediaServices { namespace transforms { namespace jobs { type JobsResource = ResourceDefinition; function create(name: [Expressionable, Expressionable, Expressionable], properties: JobProperties): JobsResource; } } }