swagger: "2.0"
schemes:
  - https
host: management.azure.com
info:
  description: This Swagger was generated by the API Framework.
  title: Azure Media Services
  version: 2018-07-01
  x-apisguru-categories:
    - cloud
  x-logo:
    url: https://api.apis.guru/v2/cache/logo/https_assets.onestore.ms_cdnfiles_onestorerolling-1606-01000_shell_v3_images_logo_microsoft.png
  x-origin:
    - format: swagger
      url: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/mediaservices/resource-manager/Microsoft.Media/preview/2019-05-01-preview/StreamingPoliciesAndStreamingLocators.json
      version: "2.0"
  x-preferred: true
  x-providerName: azure.com
  x-serviceName: mediaservices-StreamingPoliciesAndStreamingLocators
  x-tags:
    - Azure
    - Microsoft
consumes:
  - application/json
produces:
  - application/json
securityDefinitions:
  azure_auth:
    authorizationUrl: https://login.microsoftonline.com/common/oauth2/authorize
    description: Azure Active Directory OAuth2 Flow
    flow: implicit
    scopes:
      user_impersonation: Impersonate your user account
    type: oauth2
parameters:
  ApiVersion:
    description: The Version of the API to be used with the client request.
    in: query
    name: api-version
    required: true
    type: string
  MediaServicesAccountName:
    description: The Media Services account name.
    in: path
    name: accountName
    required: true
    type: string
    x-ms-parameter-location: method
  ResourceGroupName:
    description: The name of the resource group within the Azure subscription.
    in: path
    name: resourceGroupName
    required: true
    type: string
    x-ms-parameter-location: method
  SubscriptionId:
    description: The unique identifier for a Microsoft Azure subscription.
    in: path
    name: subscriptionId
    required: true
    type: string
paths:
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/streamingLocators":
    get:
      description: Lists the Streaming Locators in the account
      operationId: StreamingLocators_List
      parameters:
        - $ref: "#/parameters/SubscriptionId"
        - $ref: "#/parameters/ResourceGroupName"
        - $ref: "#/parameters/MediaServicesAccountName"
        - $ref: "#/parameters/ApiVersion"
        - description: Restricts the set of items returned.
          in: query
          name: $filter
          required: false
          type: string
        - description: Specifies a non-negative integer n that limits the number of items returned from a collection. The service returns the number of available items up to but not greater than the specified value n.
          in: query
          name: $top
          required: false
          type: integer
        - description: Specifies the key by which the result collection should be ordered.
          in: query
          name: $orderby
          required: false
          type: string
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/StreamingLocatorCollection"
        default:
          description: Detailed error information.
          schema:
            $ref: "#/definitions/ApiError"
      summary: List Streaming Locators
      x-ms-examples:
        Lists Streaming Locators:
          parameters:
            accountName: contosomedia
            api-version: 2018-07-01
            resourceGroupName: contoso
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/streamingLocators/clearStreamingLocator
                    name: clearStreamingLocator
                    properties:
                      assetName: ClimbingMountRainier
                      contentKeys: []
                      created: 2018-08-08T18:29:31.9341192Z
                      endTime: 9999-12-31T23:59:59.9999999Z
                      streamingLocatorId: 6a116ec6-0c85-441f-9c31-89a5bc3adf0a
                      streamingPolicyName: clearStreamingPolicy
                    type: Microsoft.Media/mediaservices/streamingLocators
                  - id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/streamingLocators/secureStreamingLocator
                    name: secureStreamingLocator
                    properties:
                      assetName: ClimbingMountRainier
                      contentKeys: []
                      created: 2018-08-08T18:29:31.9544387Z
                      endTime: 9999-12-31T23:59:59.9999999Z
                      streamingLocatorId: 7338ef90-ffc8-42de-8bff-de8f99973300
                      streamingPolicyName: secureStreamingPolicy
                    type: Microsoft.Media/mediaservices/streamingLocators
      x-ms-odata: "#/definitions/StreamingLocator"
      x-ms-pageable:
        nextLinkName: "@odata.nextLink"
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/streamingLocators/{streamingLocatorName}":
    delete:
      description: Deletes a Streaming Locator in the Media Services account
      operationId: StreamingLocators_Delete
      parameters:
        - $ref: "#/parameters/SubscriptionId"
        - $ref: "#/parameters/ResourceGroupName"
        - $ref: "#/parameters/MediaServicesAccountName"
        - description: The Streaming Locator name.
          in: path
          name: streamingLocatorName
          required: true
          type: string
        - $ref: "#/parameters/ApiVersion"
      responses:
        "200":
          description: OK
        "204":
          description: NoContent
        default:
          description: Detailed error information.
          schema:
            $ref: "#/definitions/ApiError"
      summary: Delete a Streaming Locator
      x-ms-examples:
        Delete a Streaming Locator:
          parameters:
            accountName: contosomedia
            api-version: 2018-07-01
            resourceGroupName: contoso
            streamingLocatorName: clearStreamingLocator
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200": {}
            "204": {}
    get:
      description: Get the details of a Streaming Locator in the Media Services account
      operationId: StreamingLocators_Get
      parameters:
        - $ref: "#/parameters/SubscriptionId"
        - $ref: "#/parameters/ResourceGroupName"
        - $ref: "#/parameters/MediaServicesAccountName"
        - description: The Streaming Locator name.
          in: path
          name: streamingLocatorName
          required: true
          type: string
        - $ref: "#/parameters/ApiVersion"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/StreamingLocator"
        "404":
          description: NotFound
        default:
          description: Detailed error information.
          schema:
            $ref: "#/definitions/ApiError"
      summary: Get a Streaming Locator
      x-ms-examples:
        Get a Streaming Locator by name:
          parameters:
            accountName: contosomedia
            api-version: 2018-07-01
            resourceGroupName: contoso
            streamingLocatorName: clearStreamingLocator
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200":
              body:
                id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/streamingLocators/clearStreamingLocator
                name: clearStreamingLocator
                properties:
                  assetName: ClimbingMountRainier
                  contentKeys: []
                  created: 2018-08-08T18:29:32.1154071Z
                  endTime: 9999-12-31T23:59:59.9999999Z
                  filters: []
                  streamingLocatorId: 7684043b-f6d1-44a7-8bed-8a4aa474c5a4
                  streamingPolicyName: clearStreamingPolicy
                type: Microsoft.Media/mediaservices/streamingLocators
            "404": {}
    put:
      description: Create a Streaming Locator in the Media Services account
      operationId: StreamingLocators_Create
      parameters:
        - $ref: "#/parameters/SubscriptionId"
        - $ref: "#/parameters/ResourceGroupName"
        - $ref: "#/parameters/MediaServicesAccountName"
        - description: The Streaming Locator name.
          in: path
          name: streamingLocatorName
          required: true
          type: string
        - description: The request parameters
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/StreamingLocator"
        - $ref: "#/parameters/ApiVersion"
      responses:
        "201":
          description: Created
          schema:
            $ref: "#/definitions/StreamingLocator"
        default:
          description: Detailed error information.
          schema:
            $ref: "#/definitions/ApiError"
      summary: Create a Streaming Locator
      x-ms-examples:
        Creates a Streaming Locator with clear streaming:
          parameters:
            accountName: contosomedia
            api-version: 2018-07-01
            parameters:
              properties:
                assetName: ClimbingMountRainier
                streamingPolicyName: clearStreamingPolicy
            resourceGroupName: contoso
            streamingLocatorName: UserCreatedClearStreamingLocator
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "201":
              body:
                id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/streamingLocators/UserCreatedClearStreamingLocator
                name: UserCreatedClearStreamingLocator
                properties:
                  assetName: ClimbingMountRainier
                  contentKeys: []
                  created: 2019-06-06T17:28:03.7992857Z
                  endTime: 9999-12-31T23:59:59.9999999Z
                  filters: []
                  streamingLocatorId: 7ccb6b56-686c-4d93-a267-8117ee145878
                  streamingPolicyName: clearStreamingPolicy
                type: Microsoft.Media/mediaservices/streamingLocators
        Creates a Streaming Locator with secure streaming:
          parameters:
            accountName: contosomedia
            api-version: 2018-07-01
            parameters:
              properties:
                assetName: ClimbingMountRainier
                endTime: 2028-12-31T23:59:59.9999999Z
                startTime: 2018-03-01T00:00:00Z
                streamingPolicyName: secureStreamingPolicy
            resourceGroupName: contoso
            streamingLocatorName: UserCreatedSecureStreamingLocator
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "201":
              body:
                id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/streamingLocators/UserCreatedSecureStreamingLocator
                name: UserCreatedSecureStreamingLocator
                properties:
                  assetName: ClimbingMountRainier
                  contentKeys:
                    - id: 41ddc803-579c-4fe8-b298-b37be5924d9e
                      labelReferenceInStreamingPolicy: cbcsDefaultKey
                      tracks: []
                      type: CommonEncryptionCbcs
                    - id: 68a5fd6e-ed9e-4cdf-b276-40304299dc4a
                      labelReferenceInStreamingPolicy: cencDefaultKey
                      tracks: []
                      type: CommonEncryptionCenc
                    - id: bfb7cbf3-5834-4d43-a87d-f25ed1b88ed3
                      labelReferenceInStreamingPolicy: aesDefaultKey
                      tracks: []
                      type: EnvelopeEncryption
                  created: 2019-06-06T17:28:03.9392829Z
                  endTime: 2028-12-31T23:59:59.9999999Z
                  filters: []
                  startTime: 2018-03-01T00:00:00Z
                  streamingLocatorId: 1f5db621-0c21-43d7-a340-2b143d62d4e7
                  streamingPolicyName: secureStreamingPolicy
                type: Microsoft.Media/mediaservices/streamingLocators
        Creates a Streaming Locator with user defined content keys:
          parameters:
            accountName: contosomedia
            api-version: 2018-07-01
            parameters:
              properties:
                assetName: ClimbingMountRainier
                contentKeys:
                  - id: 60000000-0000-0000-0000-000000000001
                    labelReferenceInStreamingPolicy: aesDefaultKey
                    value: 1UqLohAfWsEGkULYxHjYZg==
                  - id: 60000000-0000-0000-0000-000000000004
                    labelReferenceInStreamingPolicy: cencDefaultKey
                    value: 4UqLohAfWsEGkULYxHjYZg==
                  - id: 60000000-0000-0000-0000-000000000007
                    labelReferenceInStreamingPolicy: cbcsDefaultKey
                    value: 7UqLohAfWsEGkULYxHjYZg==
                streamingLocatorId: 90000000-0000-0000-0000-00000000000A
                streamingPolicyName: secureStreamingPolicy
            resourceGroupName: contoso
            streamingLocatorName: UserCreatedSecureStreamingLocatorWithUserDefinedContentKeys
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "201":
              body:
                id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/streamingLocators/UserCreatedSecureStreamingLocatorWithUserDefinedContentKeys
                name: UserCreatedSecureStreamingLocatorWithUserDefinedContentKeys
                properties:
                  assetName: ClimbingMountRainier
                  contentKeys:
                    - id: 60000000-0000-0000-0000-000000000007
                      labelReferenceInStreamingPolicy: cbcsDefaultKey
                      tracks: []
                      type: CommonEncryptionCbcs
                    - id: 60000000-0000-0000-0000-000000000004
                      labelReferenceInStreamingPolicy: cencDefaultKey
                      tracks: []
                      type: CommonEncryptionCenc
                    - id: 60000000-0000-0000-0000-000000000001
                      labelReferenceInStreamingPolicy: aesDefaultKey
                      tracks: []
                      type: EnvelopeEncryption
                  created: 2019-06-06T18:00:49.849356Z
                  endTime: 9999-12-31T23:59:59.9999999Z
                  filters: []
                  streamingLocatorId: 90000000-0000-0000-0000-00000000000a
                  streamingPolicyName: secureStreamingPolicy
                type: Microsoft.Media/mediaservices/streamingLocators
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/streamingLocators/{streamingLocatorName}/listContentKeys":
    post:
      description: List Content Keys used by this Streaming Locator
      operationId: StreamingLocators_ListContentKeys
      parameters:
        - $ref: "#/parameters/SubscriptionId"
        - $ref: "#/parameters/ResourceGroupName"
        - $ref: "#/parameters/MediaServicesAccountName"
        - description: The Streaming Locator name.
          in: path
          name: streamingLocatorName
          required: true
          type: string
        - $ref: "#/parameters/ApiVersion"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/ListContentKeysResponse"
        default:
          description: Detailed error information.
          schema:
            $ref: "#/definitions/ApiError"
      summary: List Content Keys
      x-ms-examples:
        List Content Keys:
          parameters:
            accountName: contosomedia
            api-version: 2018-07-01
            resourceGroupName: contoso
            streamingLocatorName: secureStreamingLocator
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200":
              body:
                contentKeys:
                  - id: 9259eb06-eeee-4f77-987f-48f4ea5c649f
                    labelReferenceInStreamingPolicy: aesDefaultKey
                    policyName: PolicyWithMultipleOptions
                    tracks: []
                    type: EnvelopeEncryption
                    value: QpiqeQROdN5xamnfUF2Wdw==
                  - id: 06bfeff1-2bb6-4f58-af27-a2767f058bca
                    labelReferenceInStreamingPolicy: cencDefaultKey
                    policyName: PolicyWithMultipleOptions
                    tracks: []
                    type: CommonEncryptionCenc
                    value: ZjgWhNnqnqcov/h+wrYusw==
                  - id: 799e78a0-ed6f-4179-9222-ed4ec4223cec
                    labelReferenceInStreamingPolicy: cbcsDefaultKey
                    policyName: PolicyWithMultipleOptions
                    tracks: []
                    type: CommonEncryptionCbcs
                    value: FjZ3n3yRcVxRFftdYFbe9g==
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/streamingLocators/{streamingLocatorName}/listPaths":
    post:
      description: List Paths supported by this Streaming Locator
      operationId: StreamingLocators_ListPaths
      parameters:
        - $ref: "#/parameters/SubscriptionId"
        - $ref: "#/parameters/ResourceGroupName"
        - $ref: "#/parameters/MediaServicesAccountName"
        - description: The Streaming Locator name.
          in: path
          name: streamingLocatorName
          required: true
          type: string
        - $ref: "#/parameters/ApiVersion"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/ListPathsResponse"
        default:
          description: Detailed error information.
          schema:
            $ref: "#/definitions/ApiError"
      summary: List Paths
      x-ms-examples:
        List Paths which has streaming paths and download paths:
          parameters:
            accountName: contosomedia
            api-version: 2018-07-01
            resourceGroupName: contoso
            streamingLocatorName: clearStreamingLocator
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200":
              body:
                downloadPaths:
                  - /262a87b6-b538-4657-bac1-b6897924471d/textTrack.vtt
                  - /262a87b6-b538-4657-bac1-b6897924471d/video1.mp4
                  - /262a87b6-b538-4657-bac1-b6897924471d/video2.mp4
                  - /262a87b6-b538-4657-bac1-b6897924471d/video3.mp4
                streamingPaths:
                  - encryptionScheme: NoEncryption
                    paths:
                      - /262a87b6-b538-4657-bac1-b6897924471d/videoManifest1.ism/manifest(format=m3u8-aapl)
                      - /262a87b6-b538-4657-bac1-b6897924471d/videoManifest2.ism/manifest(format=m3u8-aapl)
                      - /262a87b6-b538-4657-bac1-b6897924471d/videoManifest3.ism/manifest(format=m3u8-aapl)
                    streamingProtocol: Hls
                  - encryptionScheme: NoEncryption
                    paths:
                      - /262a87b6-b538-4657-bac1-b6897924471d/videoManifest1.ism/manifest(format=mpd-time-csf)
                      - /262a87b6-b538-4657-bac1-b6897924471d/videoManifest2.ism/manifest(format=mpd-time-csf)
                      - /262a87b6-b538-4657-bac1-b6897924471d/videoManifest3.ism/manifest(format=mpd-time-csf)
                    streamingProtocol: Dash
                  - encryptionScheme: NoEncryption
                    paths:
                      - /262a87b6-b538-4657-bac1-b6897924471d/videoManifest1.ism/manifest
                      - /262a87b6-b538-4657-bac1-b6897924471d/videoManifest2.ism/manifest
                      - /262a87b6-b538-4657-bac1-b6897924471d/videoManifest3.ism/manifest
                    streamingProtocol: SmoothStreaming
        List Paths which has streaming paths only:
          parameters:
            accountName: contosomedia
            api-version: 2018-07-01
            resourceGroupName: contoso
            streamingLocatorName: secureStreamingLocator
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200":
              body:
                downloadPaths: []
                streamingPaths:
                  - encryptionScheme: EnvelopeEncryption
                    paths:
                      - /c3cd62e3-d117-4619-bcbd-99f96edd8dbe/videoManifest1.ism/manifest(format=m3u8-aapl,encryption=cbc)
                      - /c3cd62e3-d117-4619-bcbd-99f96edd8dbe/videoManifest2.ism/manifest(format=m3u8-aapl,encryption=cbc)
                      - /c3cd62e3-d117-4619-bcbd-99f96edd8dbe/videoManifest3.ism/manifest(format=m3u8-aapl,encryption=cbc)
                    streamingProtocol: Hls
                  - encryptionScheme: EnvelopeEncryption
                    paths:
                      - /c3cd62e3-d117-4619-bcbd-99f96edd8dbe/videoManifest1.ism/manifest(format=mpd-time-csf,encryption=cbc)
                      - /c3cd62e3-d117-4619-bcbd-99f96edd8dbe/videoManifest2.ism/manifest(format=mpd-time-csf,encryption=cbc)
                      - /c3cd62e3-d117-4619-bcbd-99f96edd8dbe/videoManifest3.ism/manifest(format=mpd-time-csf,encryption=cbc)
                    streamingProtocol: Dash
                  - encryptionScheme: EnvelopeEncryption
                    paths:
                      - /c3cd62e3-d117-4619-bcbd-99f96edd8dbe/videoManifest1.ism/manifest(encryption=cbc)
                      - /c3cd62e3-d117-4619-bcbd-99f96edd8dbe/videoManifest2.ism/manifest(encryption=cbc)
                      - /c3cd62e3-d117-4619-bcbd-99f96edd8dbe/videoManifest3.ism/manifest(encryption=cbc)
                    streamingProtocol: SmoothStreaming
                  - encryptionScheme: CommonEncryptionCenc
                    paths:
                      - /c3cd62e3-d117-4619-bcbd-99f96edd8dbe/videoManifest1.ism/manifest(format=mpd-time-csf,encryption=cenc)
                      - /c3cd62e3-d117-4619-bcbd-99f96edd8dbe/videoManifest2.ism/manifest(format=mpd-time-csf,encryption=cenc)
                      - /c3cd62e3-d117-4619-bcbd-99f96edd8dbe/videoManifest3.ism/manifest(format=mpd-time-csf,encryption=cenc)
                    streamingProtocol: Dash
                  - encryptionScheme: CommonEncryptionCenc
                    paths:
                      - /c3cd62e3-d117-4619-bcbd-99f96edd8dbe/videoManifest1.ism/manifest(encryption=cenc)
                      - /c3cd62e3-d117-4619-bcbd-99f96edd8dbe/videoManifest2.ism/manifest(encryption=cenc)
                      - /c3cd62e3-d117-4619-bcbd-99f96edd8dbe/videoManifest3.ism/manifest(encryption=cenc)
                    streamingProtocol: SmoothStreaming
                  - encryptionScheme: CommonEncryptionCbcs
                    paths:
                      - /c3cd62e3-d117-4619-bcbd-99f96edd8dbe/videoManifest1.ism/manifest(format=m3u8-aapl,encryption=cbcs-aapl)
                      - /c3cd62e3-d117-4619-bcbd-99f96edd8dbe/videoManifest2.ism/manifest(format=m3u8-aapl,encryption=cbcs-aapl)
                      - /c3cd62e3-d117-4619-bcbd-99f96edd8dbe/videoManifest3.ism/manifest(format=m3u8-aapl,encryption=cbcs-aapl)
                    streamingProtocol: Hls
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/streamingPolicies":
    get:
      description: Lists the Streaming Policies in the account
      operationId: StreamingPolicies_List
      parameters:
        - $ref: "#/parameters/SubscriptionId"
        - $ref: "#/parameters/ResourceGroupName"
        - $ref: "#/parameters/MediaServicesAccountName"
        - $ref: "#/parameters/ApiVersion"
        - description: Restricts the set of items returned.
          in: query
          name: $filter
          required: false
          type: string
        - description: Specifies a non-negative integer n that limits the number of items returned from a collection. The service returns the number of available items up to but not greater than the specified value n.
          in: query
          name: $top
          required: false
          type: integer
        - description: Specifies the key by which the result collection should be ordered.
          in: query
          name: $orderby
          required: false
          type: string
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/StreamingPolicyCollection"
        default:
          description: Detailed error information.
          schema:
            $ref: "#/definitions/ApiError"
      summary: List Streaming Policies
      x-ms-examples:
        Lists Streaming Policies:
          parameters:
            accountName: contosomedia
            api-version: 2018-07-01
            resourceGroupName: contoso
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200":
              body:
                "@odata.nextLink": http://server/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaServices/contosomedia/streamingPolicies?api-version=2018-07-01&$skiptoken=secureStreamingPolicyWithEnvelopeEncryptionOnly
                value:
                  - id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/streamingPolicies/clearStreamingPolicy
                    name: clearStreamingPolicy
                    properties:
                      created: 2018-08-08T18:29:30.676067Z
                      noEncryption:
                        enabledProtocols:
                          dash: true
                          download: true
                          hls: true
                          smoothStreaming: true
                    type: Microsoft.Media/mediaservices/streamingPolicies
                  - id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/streamingPolicies/secureStreamingPolicy
                    name: secureStreamingPolicy
                    properties:
                      commonEncryptionCbcs:
                        clearTracks: []
                        contentKeys:
                          defaultKey:
                            label: cbcsDefaultKey
                          keyToTrackMappings: []
                        drm:
                          fairPlay:
                            allowPersistentLicense: true
                            customLicenseAcquisitionUrlTemplate: https://contoso.com/{AssetAlternativeId}/fairplay/{ContentKeyId}
                        enabledProtocols:
                          dash: false
                          download: false
                          hls: true
                          smoothStreaming: false
                      commonEncryptionCenc:
                        clearTracks:
                          - trackSelections:
                              - operation: Unknown
                                property: FourCC
                                value: hev1
                        contentKeys:
                          defaultKey:
                            label: cencDefaultKey
                          keyToTrackMappings: []
                        drm:
                          playReady:
                            customLicenseAcquisitionUrlTemplate: https://contoso.com/{AssetAlternativeId}/playready/{ContentKeyId}
                            playReadyCustomAttributes: PlayReady CustomAttributes
                          widevine:
                            customLicenseAcquisitionUrlTemplate: https://contoso.com/{AssetAlternativeId}/widevine/{ContentKeyId
                        enabledProtocols:
                          dash: true
                          download: false
                          hls: false
                          smoothStreaming: true
                      created: 2018-08-08T18:29:30.6781134Z
                      defaultContentKeyPolicyName: PolicyWithMultipleOptions
                      envelopeEncryption:
                        clearTracks: []
                        contentKeys:
                          defaultKey:
                            label: aesDefaultKey
                          keyToTrackMappings: []
                        customKeyAcquisitionUrlTemplate: https://contoso.com/{AssetAlternativeId}/envelope/{ContentKeyId}
                        enabledProtocols:
                          dash: true
                          download: false
                          hls: true
                          smoothStreaming: true
                    type: Microsoft.Media/mediaservices/streamingPolicies
                  - id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/streamingPolicies/secureStreamingPolicyWithCommonEncryptionCbcsOnly
                    name: secureStreamingPolicyWithCommonEncryptionCbcsOnly
                    properties:
                      commonEncryptionCbcs:
                        clearTracks: []
                        contentKeys:
                          defaultKey:
                            label: cbcsDefaultKey
                          keyToTrackMappings: []
                        drm:
                          fairPlay:
                            allowPersistentLicense: true
                            customLicenseAcquisitionUrlTemplate: https://contoso.com/{AssetAlternativeId}/fairplay/{ContentKeyId}
                        enabledProtocols:
                          dash: false
                          download: false
                          hls: true
                          smoothStreaming: false
                      created: 2018-08-08T18:29:30.6781134Z
                      defaultContentKeyPolicyName: PolicyWithMultipleOptions
                    type: Microsoft.Media/mediaservices/streamingPolicies
                  - id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/streamingPolicies/secureStreamingPolicyWithCommonEncryptionCencOnly
                    name: secureStreamingPolicyWithCommonEncryptionCencOnly
                    properties:
                      commonEncryptionCenc:
                        clearTracks:
                          - trackSelections:
                              - operation: Unknown
                                property: FourCC
                                value: hev1
                        contentKeys:
                          defaultKey:
                            label: cencDefaultKey
                          keyToTrackMappings: []
                        drm:
                          playReady:
                            customLicenseAcquisitionUrlTemplate: https://contoso.com/{AssetAlternativeId}/playready/{ContentKeyId}
                            playReadyCustomAttributes: PlayReady CustomAttributes
                          widevine:
                            customLicenseAcquisitionUrlTemplate: https://contoso.com/{AssetAlternativeId}/widevine/{ContentKeyId
                        enabledProtocols:
                          dash: true
                          download: false
                          hls: false
                          smoothStreaming: true
                      created: 2018-08-08T18:29:30.6781134Z
                      defaultContentKeyPolicyName: PolicyWithMultipleOptions
                    type: Microsoft.Media/mediaservices/streamingPolicies
                  - id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/streamingPolicies/secureStreamingPolicyWithEnvelopeEncryptionOnly
                    name: secureStreamingPolicyWithEnvelopeEncryptionOnly
                    properties:
                      created: 2018-08-08T18:29:30.6781134Z
                      defaultContentKeyPolicyName: PolicyWithClearKeyOptionAndTokenRestriction
                      envelopeEncryption:
                        clearTracks: []
                        contentKeys:
                          defaultKey:
                            label: aesDefaultKey
                          keyToTrackMappings: []
                        customKeyAcquisitionUrlTemplate: https://contoso.com/{AssetAlternativeId}/envelope/{ContentKeyId}
                        enabledProtocols:
                          dash: true
                          download: false
                          hls: true
                          smoothStreaming: true
                    type: Microsoft.Media/mediaservices/streamingPolicies
      x-ms-odata: "#/definitions/StreamingPolicy"
      x-ms-pageable:
        nextLinkName: "@odata.nextLink"
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/streamingPolicies/{streamingPolicyName}":
    delete:
      description: Deletes a Streaming Policy in the Media Services account
      operationId: StreamingPolicies_Delete
      parameters:
        - $ref: "#/parameters/SubscriptionId"
        - $ref: "#/parameters/ResourceGroupName"
        - $ref: "#/parameters/MediaServicesAccountName"
        - description: The Streaming Policy name.
          in: path
          name: streamingPolicyName
          required: true
          type: string
        - $ref: "#/parameters/ApiVersion"
      responses:
        "200":
          description: OK
        "204":
          description: NoContent
        default:
          description: Detailed error information.
          schema:
            $ref: "#/definitions/ApiError"
      summary: Delete a Streaming Policy
      x-ms-examples:
        Delete a Streaming Policy:
          parameters:
            accountName: contosomedia
            api-version: 2018-07-01
            resourceGroupName: contoso
            streamingPolicyName: secureStreamingPolicyWithCommonEncryptionCbcsOnly
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200": {}
            "204": {}
    get:
      description: Get the details of a Streaming Policy in the Media Services account
      operationId: StreamingPolicies_Get
      parameters:
        - $ref: "#/parameters/SubscriptionId"
        - $ref: "#/parameters/ResourceGroupName"
        - $ref: "#/parameters/MediaServicesAccountName"
        - description: The Streaming Policy name.
          in: path
          name: streamingPolicyName
          required: true
          type: string
        - $ref: "#/parameters/ApiVersion"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/StreamingPolicy"
        "404":
          description: NotFound
        default:
          description: Detailed error information.
          schema:
            $ref: "#/definitions/ApiError"
      summary: Get a Streaming Policy
      x-ms-examples:
        Get a Streaming Policy by name:
          parameters:
            accountName: contosomedia
            api-version: 2018-07-01
            resourceGroupName: contoso
            streamingPolicyName: clearStreamingPolicy
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200":
              body:
                id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/streamingPolicies/clearStreamingPolicy
                name: clearStreamingPolicy
                properties:
                  created: 2018-08-08T18:29:30.8501486Z
                  noEncryption:
                    enabledProtocols:
                      dash: true
                      download: true
                      hls: true
                      smoothStreaming: true
                type: Microsoft.Media/mediaservices/streamingPolicies
            "404": {}
    put:
      description: Create a Streaming Policy in the Media Services account
      operationId: StreamingPolicies_Create
      parameters:
        - $ref: "#/parameters/SubscriptionId"
        - $ref: "#/parameters/ResourceGroupName"
        - $ref: "#/parameters/MediaServicesAccountName"
        - description: The Streaming Policy name.
          in: path
          name: streamingPolicyName
          required: true
          type: string
        - description: The request parameters
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/StreamingPolicy"
        - $ref: "#/parameters/ApiVersion"
      responses:
        "201":
          description: Created
          schema:
            $ref: "#/definitions/StreamingPolicy"
        default:
          description: Detailed error information.
          schema:
            $ref: "#/definitions/ApiError"
      summary: Create a Streaming Policy
      x-ms-examples:
        Creates a Streaming Policy with clear streaming:
          parameters:
            accountName: contosomedia
            api-version: 2018-07-01
            parameters:
              properties:
                noEncryption:
                  enabledProtocols:
                    dash: true
                    download: true
                    hls: true
                    smoothStreaming: true
            resourceGroupName: contoso
            streamingPolicyName: UserCreatedClearStreamingPolicy
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "201":
              body:
                id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/streamingPolicies/UserCreatedClearStreamingPolicy
                name: UserCreatedClearStreamingPolicy
                properties:
                  created: 2018-08-08T18:29:31.1535417Z
                  noEncryption:
                    enabledProtocols:
                      dash: true
                      download: true
                      hls: true
                      smoothStreaming: true
                type: Microsoft.Media/mediaservices/streamingPolicies
        Creates a Streaming Policy with commonEncryptionCbcs only:
          parameters:
            accountName: contosomedia
            api-version: 2018-07-01
            parameters:
              properties:
                commonEncryptionCbcs:
                  contentKeys:
                    defaultKey:
                      label: cbcsDefaultKey
                  drm:
                    fairPlay:
                      allowPersistentLicense: true
                      customLicenseAcquisitionUrlTemplate: https://contoso.com/{AssetAlternativeId}/fairplay/{ContentKeyId}
                  enabledProtocols:
                    dash: false
                    download: false
                    hls: true
                    smoothStreaming: false
                defaultContentKeyPolicyName: PolicyWithMultipleOptions
            resourceGroupName: contoso
            streamingPolicyName: UserCreatedSecureStreamingPolicyWithCommonEncryptionCbcsOnly
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "201":
              body:
                id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/streamingPolicies/UserCreatedSecureStreamingPolicyWithCommonEncryptionCbcsOnly
                name: UserCreatedSecureStreamingPolicyWithCommonEncryptionCbcsOnly
                properties:
                  commonEncryptionCbcs:
                    clearTracks: []
                    contentKeys:
                      defaultKey:
                        label: cbcsDefaultKey
                      keyToTrackMappings: []
                    drm:
                      fairPlay:
                        allowPersistentLicense: true
                        customLicenseAcquisitionUrlTemplate: https://contoso.com/{AssetAlternativeId}/fairplay/{ContentKeyId}
                    enabledProtocols:
                      dash: false
                      download: false
                      hls: true
                      smoothStreaming: false
                  created: 2018-08-08T18:29:31.6197199Z
                  defaultContentKeyPolicyName: PolicyWithMultipleOptions
                type: Microsoft.Media/mediaservices/streamingPolicies
        Creates a Streaming Policy with commonEncryptionCenc only:
          parameters:
            accountName: contosomedia
            api-version: 2018-07-01
            parameters:
              properties:
                commonEncryptionCenc:
                  clearTracks:
                    - trackSelections:
                        - operation: Equal
                          property: FourCC
                          value: hev1
                  contentKeys:
                    defaultKey:
                      label: cencDefaultKey
                  drm:
                    playReady:
                      customLicenseAcquisitionUrlTemplate: https://contoso.com/{AssetAlternativeId}/playready/{ContentKeyId}
                      playReadyCustomAttributes: PlayReady CustomAttributes
                    widevine:
                      customLicenseAcquisitionUrlTemplate: https://contoso.com/{AssetAlternativeId}/widevine/{ContentKeyId
                  enabledProtocols:
                    dash: true
                    download: false
                    hls: false
                    smoothStreaming: true
                defaultContentKeyPolicyName: PolicyWithPlayReadyOptionAndOpenRestriction
            resourceGroupName: contoso
            streamingPolicyName: UserCreatedSecureStreamingPolicyWithCommonEncryptionCencOnly
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "201":
              body:
                id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/streamingPolicies/UserCreatedSecureStreamingPolicyWithCommonEncryptionCencOnly
                name: UserCreatedSecureStreamingPolicyWithCommonEncryptionCencOnly
                properties:
                  commonEncryptionCenc:
                    clearTracks:
                      - trackSelections:
                          - operation: Equal
                            property: FourCC
                            value: hev1
                    contentKeys:
                      defaultKey:
                        label: cencDefaultKey
                      keyToTrackMappings: []
                    drm:
                      playReady:
                        customLicenseAcquisitionUrlTemplate: https://contoso.com/{AssetAlternativeId}/playready/{ContentKeyId}
                        playReadyCustomAttributes: PlayReady CustomAttributes
                      widevine:
                        customLicenseAcquisitionUrlTemplate: https://contoso.com/{AssetAlternativeId}/widevine/{ContentKeyId
                    enabledProtocols:
                      dash: true
                      download: false
                      hls: false
                      smoothStreaming: true
                  created: 2018-08-08T18:29:31.4678543Z
                  defaultContentKeyPolicyName: PolicyWithPlayReadyOptionAndOpenRestriction
                type: Microsoft.Media/mediaservices/streamingPolicies
        Creates a Streaming Policy with envelopeEncryption only:
          parameters:
            accountName: contosomedia
            api-version: 2018-07-01
            parameters:
              properties:
                defaultContentKeyPolicyName: PolicyWithClearKeyOptionAndTokenRestriction
                envelopeEncryption:
                  contentKeys:
                    defaultKey:
                      label: aesDefaultKey
                  customKeyAcquisitionUrlTemplate: https://contoso.com/{AssetAlternativeId}/envelope/{ContentKeyId}
                  enabledProtocols:
                    dash: true
                    download: false
                    hls: true
                    smoothStreaming: true
            resourceGroupName: contoso
            streamingPolicyName: UserCreatedSecureStreamingPolicyWithEnvelopeEncryptionOnly
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "201":
              body:
                id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/streamingPolicies/UserCreatedSecureStreamingPolicyWithEnvelopeEncryptionOnly
                name: UserCreatedSecureStreamingPolicyWithEnvelopeEncryptionOnly
                properties:
                  created: 2018-08-08T18:29:31.3055712Z
                  defaultContentKeyPolicyName: PolicyWithClearKeyOptionAndTokenRestriction
                  envelopeEncryption:
                    clearTracks: []
                    contentKeys:
                      defaultKey:
                        label: aesDefaultKey
                      keyToTrackMappings: []
                    customKeyAcquisitionUrlTemplate: https://contoso.com/{AssetAlternativeId}/envelope/{ContentKeyId}
                    enabledProtocols:
                      dash: true
                      download: false
                      hls: true
                      smoothStreaming: true
                type: Microsoft.Media/mediaservices/streamingPolicies
        Creates a Streaming Policy with secure streaming:
          parameters:
            accountName: contosomedia
            api-version: 2018-07-01
            parameters:
              properties:
                commonEncryptionCbcs:
                  contentKeys:
                    defaultKey:
                      label: cbcsDefaultKey
                  drm:
                    fairPlay:
                      allowPersistentLicense: true
                      customLicenseAcquisitionUrlTemplate: https://contoso.com/{AssetAlternativeId}/fairplay/{ContentKeyId}
                  enabledProtocols:
                    dash: false
                    download: false
                    hls: true
                    smoothStreaming: false
                commonEncryptionCenc:
                  clearTracks:
                    - trackSelections:
                        - operation: Equal
                          property: FourCC
                          value: hev1
                  contentKeys:
                    defaultKey:
                      label: cencDefaultKey
                  drm:
                    playReady:
                      customLicenseAcquisitionUrlTemplate: https://contoso.com/{AssetAlternativeId}/playready/{ContentKeyId}
                      playReadyCustomAttributes: PlayReady CustomAttributes
                    widevine:
                      customLicenseAcquisitionUrlTemplate: https://contoso.com/{AssetAlternativeId}/widevine/{ContentKeyId
                  enabledProtocols:
                    dash: true
                    download: false
                    hls: false
                    smoothStreaming: true
                defaultContentKeyPolicyName: PolicyWithMultipleOptions
                envelopeEncryption:
                  contentKeys:
                    defaultKey:
                      label: aesDefaultKey
                  customKeyAcquisitionUrlTemplate: https://contoso.com/{AssetAlternativeId}/envelope/{ContentKeyId}
                  enabledProtocols:
                    dash: true
                    download: false
                    hls: true
                    smoothStreaming: true
            resourceGroupName: contoso
            streamingPolicyName: UserCreatedSecureStreamingPolicy
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "201":
              body:
                id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/streamingPolicies/UserCreatedSecureStreamingPolicy
                name: UserCreatedSecureStreamingPolicy
                properties:
                  commonEncryptionCbcs:
                    clearTracks: []
                    contentKeys:
                      defaultKey:
                        label: cbcsDefaultKey
                      keyToTrackMappings: []
                    drm:
                      fairPlay:
                        allowPersistentLicense: true
                        customLicenseAcquisitionUrlTemplate: https://contoso.com/{AssetAlternativeId}/fairplay/{ContentKeyId}
                    enabledProtocols:
                      dash: false
                      download: false
                      hls: true
                      smoothStreaming: false
                  commonEncryptionCenc:
                    clearTracks:
                      - trackSelections:
                          - operation: Equal
                            property: FourCC
                            value: hev1
                    contentKeys:
                      defaultKey:
                        label: cencDefaultKey
                      keyToTrackMappings: []
                    drm:
                      playReady:
                        customLicenseAcquisitionUrlTemplate: https://contoso.com/{AssetAlternativeId}/playready/{ContentKeyId}
                        playReadyCustomAttributes: PlayReady CustomAttributes
                      widevine:
                        customLicenseAcquisitionUrlTemplate: https://contoso.com/{AssetAlternativeId}/widevine/{ContentKeyId
                    enabledProtocols:
                      dash: true
                      download: false
                      hls: false
                      smoothStreaming: true
                  created: 2018-08-08T18:29:31.7715696Z
                  defaultContentKeyPolicyName: PolicyWithMultipleOptions
                  envelopeEncryption:
                    clearTracks: []
                    contentKeys:
                      defaultKey:
                        label: aesDefaultKey
                      keyToTrackMappings: []
                    customKeyAcquisitionUrlTemplate: https://contoso.com/{AssetAlternativeId}/envelope/{ContentKeyId}
                    enabledProtocols:
                      dash: true
                      download: false
                      hls: true
                      smoothStreaming: true
                type: Microsoft.Media/mediaservices/streamingPolicies
definitions:
  ApiError:
    description: The API error.
    properties:
      error:
        $ref: "#/definitions/ODataError"
        description: The error properties.
    type: object
  CbcsDrmConfiguration:
    description: Class to specify DRM configurations of CommonEncryptionCbcs scheme in Streaming Policy
    properties:
      fairPlay:
        $ref: "#/definitions/StreamingPolicyFairPlayConfiguration"
        description: FairPlay configurations
      playReady:
        $ref: "#/definitions/StreamingPolicyPlayReadyConfiguration"
        description: PlayReady configurations
      widevine:
        $ref: "#/definitions/StreamingPolicyWidevineConfiguration"
        description: Widevine configurations
    type: object
  CencDrmConfiguration:
    description: Class to specify DRM configurations of CommonEncryptionCenc scheme in Streaming Policy
    properties:
      playReady:
        $ref: "#/definitions/StreamingPolicyPlayReadyConfiguration"
        description: PlayReady configurations
      widevine:
        $ref: "#/definitions/StreamingPolicyWidevineConfiguration"
        description: Widevine configurations
    type: object
  CommonEncryptionCbcs:
    description: Class for CommonEncryptionCbcs encryption scheme
    properties:
      clearTracks:
        description: Representing which tracks should not be encrypted
        items:
          $ref: "#/definitions/TrackSelection"
        type: array
      contentKeys:
        $ref: "#/definitions/StreamingPolicyContentKeys"
        description: Representing default content key for each encryption scheme and separate content keys for specific tracks
      drm:
        $ref: "#/definitions/CbcsDrmConfiguration"
        description: Configuration of DRMs for current encryption scheme
      enabledProtocols:
        $ref: "#/definitions/EnabledProtocols"
        description: Representing supported protocols
    type: object
  CommonEncryptionCenc:
    description: Class for envelope encryption scheme
    properties:
      clearTracks:
        description: Representing which tracks should not be encrypted
        items:
          $ref: "#/definitions/TrackSelection"
        type: array
      contentKeys:
        $ref: "#/definitions/StreamingPolicyContentKeys"
        description: Representing default content key for each encryption scheme and separate content keys for specific tracks
      drm:
        $ref: "#/definitions/CencDrmConfiguration"
        description: Configuration of DRMs for CommonEncryptionCenc encryption scheme
      enabledProtocols:
        $ref: "#/definitions/EnabledProtocols"
        description: Representing supported protocols
    type: object
  DefaultKey:
    description: Class to specify properties of default content key for each encryption scheme
    properties:
      label:
        description: Label can be used to specify Content Key when creating a Streaming Locator
        type: string
      policyName:
        description: Policy used by Default Key
        type: string
    type: object
  EnabledProtocols:
    description: Class to specify which protocols are enabled
    properties:
      dash:
        description: Enable DASH protocol or not
        type: boolean
      download:
        description: Enable Download protocol or not
        type: boolean
      hls:
        description: Enable HLS protocol or not
        type: boolean
      smoothStreaming:
        description: Enable SmoothStreaming protocol or not
        type: boolean
    required:
      - download
      - dash
      - hls
      - smoothStreaming
    type: object
  EnvelopeEncryption:
    description: Class for EnvelopeEncryption encryption scheme
    properties:
      clearTracks:
        description: Representing which tracks should not be encrypted
        items:
          $ref: "#/definitions/TrackSelection"
        type: array
      contentKeys:
        $ref: "#/definitions/StreamingPolicyContentKeys"
        description: Representing default content key for each encryption scheme and separate content keys for specific tracks
      customKeyAcquisitionUrlTemplate:
        description: Template for the URL of the custom service delivering keys to end user players.  Not required when using Azure Media Services for issuing keys.  The template supports replaceable tokens that the service will update at runtime with the value specific to the request.  The currently supported token values are {AlternativeMediaId}, which is replaced with the value of StreamingLocatorId.AlternativeMediaId, and {ContentKeyId}, which is replaced with the value of identifier of the key being requested.
        type: string
      enabledProtocols:
        $ref: "#/definitions/EnabledProtocols"
        description: Representing supported protocols
    type: object
  ListContentKeysResponse:
    description: Class of response for listContentKeys action
    properties:
      contentKeys:
        description: ContentKeys used by current Streaming Locator
        items:
          $ref: "#/definitions/StreamingLocatorContentKey"
        type: array
    type: object
  ListPathsResponse:
    description: Class of response for listPaths action
    properties:
      downloadPaths:
        description: Download Paths supported by current Streaming Locator
        items:
          type: string
        type: array
      streamingPaths:
        description: Streaming Paths supported by current Streaming Locator
        items:
          $ref: "#/definitions/StreamingPath"
        type: array
    type: object
  NoEncryption:
    description: Class for NoEncryption scheme
    properties:
      enabledProtocols:
        $ref: "#/definitions/EnabledProtocols"
        description: Representing supported protocols
    type: object
  ODataError:
    description: Information about an error.
    properties:
      code:
        description: A language-independent error name.
        type: string
      details:
        description: The error details.
        items:
          $ref: "#/definitions/ODataError"
        type: array
      message:
        description: The error message.
        type: string
      target:
        description: The target of the error (for example, the name of the property in error).
        type: string
    type: object
  StreamingLocator:
    allOf:
      - allOf:
          - description: The core properties of ARM resources.
            properties:
              id:
                description: Fully qualified resource ID for the resource.
                readOnly: true
                type: string
              name:
                description: The name of the resource.
                readOnly: true
                type: string
              type:
                description: The type of the resource.
                readOnly: true
                type: string
            x-ms-azure-resource: true
        description: The resource model definition for a ARM proxy resource.
    description: A Streaming Locator resource
    properties:
      properties:
        $ref: "#/definitions/StreamingLocatorProperties"
        x-ms-client-flatten: true
    type: object
  StreamingLocatorCollection:
    description: A collection of StreamingLocator items.
    properties:
      "@odata.nextLink":
        description: A link to the next page of the collection (when the collection contains too many results to return in one response).
        type: string
      value:
        description: A collection of StreamingLocator items.
        items:
          $ref: "#/definitions/StreamingLocator"
        type: array
    type: object
  StreamingLocatorContentKey:
    description: Class for content key in Streaming Locator
    properties:
      id:
        description: ID of Content Key
        format: uuid
        type: string
      labelReferenceInStreamingPolicy:
        description: Label of Content Key as specified in the Streaming Policy
        type: string
      policyName:
        description: ContentKeyPolicy used by Content Key
        readOnly: true
        type: string
      tracks:
        description: Tracks which use this Content Key
        items:
          $ref: "#/definitions/TrackSelection"
        readOnly: true
        type: array
      type:
        description: Encryption type of Content Key
        enum:
          - CommonEncryptionCenc
          - CommonEncryptionCbcs
          - EnvelopeEncryption
        readOnly: true
        type: string
        x-ms-enum:
          modelAsString: true
          name: StreamingLocatorContentKeyType
          values:
            - description: Common Encryption using CENC
              value: CommonEncryptionCenc
            - description: Common Encryption using CBCS
              value: CommonEncryptionCbcs
            - description: Envelope Encryption
              value: EnvelopeEncryption
        x-nullable: false
      value:
        description: Value of Content Key
        type: string
    required:
      - id
    type: object
  StreamingLocatorProperties:
    description: Properties of the Streaming Locator.
    properties:
      alternativeMediaId:
        description: Alternative Media ID of this Streaming Locator
        type: string
      assetName:
        description: Asset Name
        type: string
      contentKeys:
        description: The ContentKeys used by this Streaming Locator.
        items:
          $ref: "#/definitions/StreamingLocatorContentKey"
        type: array
      created:
        description: The creation time of the Streaming Locator.
        format: date-time
        readOnly: true
        type: string
        x-nullable: false
      defaultContentKeyPolicyName:
        description: Name of the default ContentKeyPolicy used by this Streaming Locator.
        type: string
      endTime:
        description: The end time of the Streaming Locator.
        format: date-time
        type: string
      filters:
        description: A list of asset or account filters which apply to this streaming locator
        items:
          type: string
        type: array
      startTime:
        description: The start time of the Streaming Locator.
        format: date-time
        type: string
      streamingLocatorId:
        description: The StreamingLocatorId of the Streaming Locator.
        format: uuid
        type: string
      streamingPolicyName:
        description: "Name of the Streaming Policy used by this Streaming Locator. Either specify the name of Streaming Policy you created or use one of the predefined Streaming Policies. The predefined Streaming Policies available are: 'Predefined_DownloadOnly', 'Predefined_ClearStreamingOnly', 'Predefined_DownloadAndClearStreaming', 'Predefined_ClearKey', 'Predefined_MultiDrmCencStreaming' and 'Predefined_MultiDrmStreaming'"
        type: string
    required:
      - assetName
      - streamingPolicyName
    type: object
  StreamingPath:
    description: Class of paths for streaming
    properties:
      encryptionScheme:
        description: Encryption scheme
        enum:
          - NoEncryption
          - EnvelopeEncryption
          - CommonEncryptionCenc
          - CommonEncryptionCbcs
        type: string
        x-ms-enum:
          modelAsString: true
          name: EncryptionScheme
          values:
            - description: NoEncryption scheme
              value: NoEncryption
            - description: EnvelopeEncryption scheme
              value: EnvelopeEncryption
            - description: CommonEncryptionCenc scheme
              value: CommonEncryptionCenc
            - description: CommonEncryptionCbcs scheme
              value: CommonEncryptionCbcs
      paths:
        description: Streaming paths for each protocol and encryptionScheme pair
        items:
          type: string
        type: array
      streamingProtocol:
        description: Streaming protocol
        enum:
          - Hls
          - Dash
          - SmoothStreaming
          - Download
        type: string
        x-ms-enum:
          modelAsString: true
          name: StreamingPolicyStreamingProtocol
          values:
            - description: HLS protocol
              value: Hls
            - description: DASH protocol
              value: Dash
            - description: SmoothStreaming protocol
              value: SmoothStreaming
            - description: Download protocol
              value: Download
    required:
      - streamingProtocol
      - encryptionScheme
    type: object
  StreamingPolicy:
    allOf:
      - allOf:
          - description: The core properties of ARM resources.
            properties:
              id:
                description: Fully qualified resource ID for the resource.
                readOnly: true
                type: string
              name:
                description: The name of the resource.
                readOnly: true
                type: string
              type:
                description: The type of the resource.
                readOnly: true
                type: string
            x-ms-azure-resource: true
        description: The resource model definition for a ARM proxy resource.
    description: A Streaming Policy resource
    properties:
      properties:
        $ref: "#/definitions/StreamingPolicyProperties"
        x-ms-client-flatten: true
    type: object
  StreamingPolicyCollection:
    description: A collection of StreamingPolicy items.
    properties:
      "@odata.nextLink":
        description: A link to the next page of the collection (when the collection contains too many results to return in one response).
        type: string
      value:
        description: A collection of StreamingPolicy items.
        items:
          $ref: "#/definitions/StreamingPolicy"
        type: array
    type: object
  StreamingPolicyContentKey:
    description: Class to specify properties of content key
    properties:
      label:
        description: Label can be used to specify Content Key when creating a Streaming Locator
        type: string
      policyName:
        description: Policy used by Content Key
        type: string
      tracks:
        description: Tracks which use this content key
        items:
          $ref: "#/definitions/TrackSelection"
        type: array
    type: object
  StreamingPolicyContentKeys:
    description: Class to specify properties of all content keys in Streaming Policy
    properties:
      defaultKey:
        $ref: "#/definitions/DefaultKey"
        description: Default content key for an encryption scheme
      keyToTrackMappings:
        description: Representing tracks needs separate content key
        items:
          $ref: "#/definitions/StreamingPolicyContentKey"
        type: array
    type: object
  StreamingPolicyFairPlayConfiguration:
    description: Class to specify configurations of FairPlay in Streaming Policy
    properties:
      allowPersistentLicense:
        description: All license to be persistent or not
        type: boolean
      customLicenseAcquisitionUrlTemplate:
        description: Template for the URL of the custom service delivering licenses to end user players.  Not required when using Azure Media Services for issuing licenses.  The template supports replaceable tokens that the service will update at runtime with the value specific to the request.  The currently supported token values are {AlternativeMediaId}, which is replaced with the value of StreamingLocatorId.AlternativeMediaId, and {ContentKeyId}, which is replaced with the value of identifier of the key being requested.
        type: string
    required:
      - allowPersistentLicense
    type: object
  StreamingPolicyPlayReadyConfiguration:
    description: Class to specify configurations of PlayReady in Streaming Policy
    properties:
      customLicenseAcquisitionUrlTemplate:
        description: Template for the URL of the custom service delivering licenses to end user players.  Not required when using Azure Media Services for issuing licenses.  The template supports replaceable tokens that the service will update at runtime with the value specific to the request.  The currently supported token values are {AlternativeMediaId}, which is replaced with the value of StreamingLocatorId.AlternativeMediaId, and {ContentKeyId}, which is replaced with the value of identifier of the key being requested.
        type: string
      playReadyCustomAttributes:
        description: Custom attributes for PlayReady
        type: string
    type: object
  StreamingPolicyProperties:
    description: Class to specify properties of Streaming Policy
    properties:
      commonEncryptionCbcs:
        $ref: "#/definitions/CommonEncryptionCbcs"
        description: Configuration of CommonEncryptionCbcs
      commonEncryptionCenc:
        $ref: "#/definitions/CommonEncryptionCenc"
        description: Configuration of CommonEncryptionCenc
      created:
        description: Creation time of Streaming Policy
        format: date-time
        readOnly: true
        type: string
        x-nullable: false
      defaultContentKeyPolicyName:
        description: Default ContentKey used by current Streaming Policy
        type: string
      envelopeEncryption:
        $ref: "#/definitions/EnvelopeEncryption"
        description: Configuration of EnvelopeEncryption
      noEncryption:
        $ref: "#/definitions/NoEncryption"
        description: Configurations of NoEncryption
    type: object
  StreamingPolicyWidevineConfiguration:
    description: Class to specify configurations of Widevine in Streaming Policy
    properties:
      customLicenseAcquisitionUrlTemplate:
        description: Template for the URL of the custom service delivering licenses to end user players.  Not required when using Azure Media Services for issuing licenses.  The template supports replaceable tokens that the service will update at runtime with the value specific to the request.  The currently supported token values are {AlternativeMediaId}, which is replaced with the value of StreamingLocatorId.AlternativeMediaId, and {ContentKeyId}, which is replaced with the value of identifier of the key being requested.
        type: string
    type: object
  TrackPropertyCondition:
    description: Class to specify one track property condition
    properties:
      operation:
        description: Track property condition operation
        enum:
          - Unknown
          - Equal
        type: string
        x-ms-enum:
          modelAsString: true
          name: TrackPropertyCompareOperation
          values:
            - description: Unknown track property compare operation
              value: Unknown
            - description: Equal operation
              value: Equal
      property:
        description: Track property type
        enum:
          - Unknown
          - FourCC
        type: string
        x-ms-enum:
          modelAsString: true
          name: TrackPropertyType
          values:
            - description: Unknown track property
              value: Unknown
            - description: Track FourCC
              value: FourCC
      value:
        description: Track property value
        type: string
    required:
      - property
      - operation
    type: object
  TrackSelection:
    description: Class to select a track
    properties:
      trackSelections:
        description: TrackSelections is a track property condition list which can specify track(s)
        items:
          $ref: "#/definitions/TrackPropertyCondition"
        type: array
    type: object
