swagger: "2.0"
schemes:
  - https
host: azure.local
info:
  description: This Swagger was generated by the API Framework.
  title: Azure Media Services
  version: 2018-03-30-preview
  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/2018-03-30-preview/StreamingPoliciesAndStreamingLocators.json
      version: "2.0"
  x-preferred: false
  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:
            description: The API error.
            properties:
              error:
                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
            type: object
      summary: List Streaming Locators
      x-ms-examples:
        Lists Streaming Locators:
          parameters:
            accountName: contosomedia
            api-version: 2018-03-30-preview
            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/secureStreamingLocator
                    name: secureStreamingLocator
                    properties:
                      assetName: ClimbingMountRainier
                      contentKeys: []
                      created: 2018-03-07T18:49:22.1523049Z
                      defaultContentKeyPolicyName: null
                      endTime: 9999-12-31T23:59:59.9999999Z
                      startTime: null
                      streamingLocatorId: afdab5d8-1119-40ce-a952-c6872f1e9825
                      streamingPolicyName: secureStreamingPolicy
                    type: Microsoft.Media/mediaservices/streamingLocators
                  - id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/streamingLocators/clearStreamingLocator
                    name: clearStreamingLocator
                    properties:
                      assetName: ClimbingMountRainier
                      contentKeys: []
                      created: 2018-03-07T18:49:22.1333042Z
                      defaultContentKeyPolicyName: null
                      endTime: 9999-12-31T23:59:59.9999999Z
                      startTime: null
                      streamingLocatorId: c130eb5b-9034-4990-ba4d-1cdba4c14d57
                      streamingPolicyName: clearStreamingPolicy
                    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:
            description: The API error.
            properties:
              error:
                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
            type: object
      summary: Delete a Streaming Locator
      x-ms-examples:
        Delete a Streaming Locator:
          parameters:
            accountName: contosomedia
            api-version: 2018-03-30-preview
            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:
            description: The API error.
            properties:
              error:
                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
            type: object
      summary: Get a Streaming Locator
      x-ms-examples:
        Get a Streaming Locator by name:
          parameters:
            accountName: contosomedia
            api-version: 2018-03-30-preview
            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-03-07T18:49:22.2003058Z
                  defaultContentKeyPolicyName: null
                  endTime: 9999-12-31T23:59:59.9999999Z
                  startTime: null
                  streamingLocatorId: 2a7bd2f4-6675-45fd-a94a-4b7cec995591
                  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:
            description: The API error.
            properties:
              error:
                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
            type: object
      summary: Create a Streaming Locator
      x-ms-examples:
        Creates a Streaming Locator with clear streaming:
          parameters:
            accountName: contosomedia
            api-version: 2018-03-30-preview
            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: 2018-03-07T18:49:22.3643095Z
                  defaultContentKeyPolicyName: null
                  endTime: 9999-12-31T23:59:59.9999999Z
                  startTime: null
                  streamingLocatorId: fb694b0b-8ce5-45ef-a384-85766e03ef5c
                  streamingPolicyName: clearStreamingPolicy
                type: Microsoft.Media/mediaservices/streamingLocators
        Creates a Streaming Locator with secure streaming:
          parameters:
            accountName: contosomedia
            api-version: 2018-03-30-preview
            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: []
                  created: 2018-03-07T18:49:22.4378101Z
                  defaultContentKeyPolicyName: null
                  endTime: 2028-12-31T23:59:59.9999999Z
                  startTime: 2018-03-01T00:00:00Z
                  streamingLocatorId: 01fd96cf-95a8-4f71-a8e7-87d184d11902
                  streamingPolicyName: secureStreamingPolicy
                type: Microsoft.Media/mediaservices/streamingLocators
        Creates a Streaming Locator with user defined content keys:
          parameters:
            accountName: contosomedia
            api-version: 2018-03-30-preview
            parameters:
              properties:
                assetName: ClimbingMountRainier
                contentKeys:
                  - id: 60000000-0000-0000-0000-000000000001
                    label: aesDefaultKey
                    value: 1UqLohAfWsEGkULYxHjYZg==
                  - id: 60000000-0000-0000-0000-000000000004
                    label: cencDefaultKey
                    value: 4UqLohAfWsEGkULYxHjYZg==
                  - id: 60000000-0000-0000-0000-000000000007
                    label: 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: []
                  created: 2018-03-07T18:49:22.5133542Z
                  defaultContentKeyPolicyName: null
                  endTime: 9999-12-31T23:59:59.9999999Z
                  startTime: null
                  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:
            description: The API error.
            properties:
              error:
                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
            type: object
      summary: List Content Keys
      x-ms-examples:
        List Content Keys:
          parameters:
            accountName: contosomedia
            api-version: 2018-03-30-preview
            resourceGroupName: contoso
            streamingLocatorName: secureStreamingLocator
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200":
              body:
                contentKeys:
                  - id: 88424f84-3309-430d-aab4-25be8dba8540
                    label: aesDefaultKey
                    policyName: PolicyWithMultipleOptions
                    tracks: []
                    type: EnvelopeEncryption
                    value: 0GFWlqk+7i5upxzFe/xDPA==
                  - id: 82572a27-e4c3-4cd9-be77-f64821fcd4e7
                    label: cencDefaultKey
                    policyName: PolicyWithMultipleOptions
                    tracks: []
                    type: CommonEncryptionCenc
                    value: 5NRozVA5Egz0zrI7PsU2Tg==
                  - id: baea7a00-ab4e-4dfa-afb7-1c72b39368d9
                    label: cbcsDefaultKey
                    policyName: PolicyWithMultipleOptions
                    tracks: []
                    type: CommonEncryptionCbcs
                    value: da2Q113M/HCI5pOKAe1XOg==
  "/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:
            description: The API error.
            properties:
              error:
                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
            type: object
      summary: List Paths
      x-ms-examples:
        List Paths which has streaming paths and download paths:
          parameters:
            accountName: contosomedia
            api-version: 2018-03-30-preview
            resourceGroupName: contoso
            streamingLocatorName: clearStreamingLocator
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200":
              body:
                downloadPaths:
                  - /4388089d-846d-4eed-83e3-9a227cd44c33/textTrack.vtt
                  - /4388089d-846d-4eed-83e3-9a227cd44c33/video1.mp4
                  - /4388089d-846d-4eed-83e3-9a227cd44c33/video2.mp4
                  - /4388089d-846d-4eed-83e3-9a227cd44c33/video3.mp4
                streamingPaths:
                  - encryptionScheme: NoEncryption
                    paths:
                      - /4388089d-846d-4eed-83e3-9a227cd44c33/videoManifest1.ism/manifest(format=m3u8-aapl)
                      - /4388089d-846d-4eed-83e3-9a227cd44c33/videoManifest2.ism/manifest(format=m3u8-aapl)
                      - /4388089d-846d-4eed-83e3-9a227cd44c33/videoManifest3.ism/manifest(format=m3u8-aapl)
                    streamingProtocol: Hls
                  - encryptionScheme: NoEncryption
                    paths:
                      - /4388089d-846d-4eed-83e3-9a227cd44c33/videoManifest1.ism/manifest(format=mpd-time-csf)
                      - /4388089d-846d-4eed-83e3-9a227cd44c33/videoManifest2.ism/manifest(format=mpd-time-csf)
                      - /4388089d-846d-4eed-83e3-9a227cd44c33/videoManifest3.ism/manifest(format=mpd-time-csf)
                    streamingProtocol: Dash
                  - encryptionScheme: NoEncryption
                    paths:
                      - /4388089d-846d-4eed-83e3-9a227cd44c33/videoManifest1.ism/manifest
                      - /4388089d-846d-4eed-83e3-9a227cd44c33/videoManifest2.ism/manifest
                      - /4388089d-846d-4eed-83e3-9a227cd44c33/videoManifest3.ism/manifest
                    streamingProtocol: SmoothStreaming
        List Paths which has streaming paths only:
          parameters:
            accountName: contosomedia
            api-version: 2018-03-30-preview
            resourceGroupName: contoso
            streamingLocatorName: secureStreamingLocator
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200":
              body:
                downloadPaths: []
                streamingPaths:
                  - encryptionScheme: EnvelopeEncryption
                    paths:
                      - /3b077902-e89d-48bc-b8e5-61e9b3c0f7e1/videoManifest1.ism/manifest(format=m3u8-aapl,encryption=cbc)
                      - /3b077902-e89d-48bc-b8e5-61e9b3c0f7e1/videoManifest2.ism/manifest(format=m3u8-aapl,encryption=cbc)
                      - /3b077902-e89d-48bc-b8e5-61e9b3c0f7e1/videoManifest3.ism/manifest(format=m3u8-aapl,encryption=cbc)
                    streamingProtocol: Hls
                  - encryptionScheme: EnvelopeEncryption
                    paths:
                      - /3b077902-e89d-48bc-b8e5-61e9b3c0f7e1/videoManifest1.ism/manifest(format=mpd-time-csf,encryption=cbc)
                      - /3b077902-e89d-48bc-b8e5-61e9b3c0f7e1/videoManifest2.ism/manifest(format=mpd-time-csf,encryption=cbc)
                      - /3b077902-e89d-48bc-b8e5-61e9b3c0f7e1/videoManifest3.ism/manifest(format=mpd-time-csf,encryption=cbc)
                    streamingProtocol: Dash
                  - encryptionScheme: EnvelopeEncryption
                    paths:
                      - /3b077902-e89d-48bc-b8e5-61e9b3c0f7e1/videoManifest1.ism/manifest(encryption=cbc)
                      - /3b077902-e89d-48bc-b8e5-61e9b3c0f7e1/videoManifest2.ism/manifest(encryption=cbc)
                      - /3b077902-e89d-48bc-b8e5-61e9b3c0f7e1/videoManifest3.ism/manifest(encryption=cbc)
                    streamingProtocol: SmoothStreaming
                  - encryptionScheme: CommonEncryptionCenc
                    paths:
                      - /3b077902-e89d-48bc-b8e5-61e9b3c0f7e1/videoManifest1.ism/manifest(format=mpd-time-csf,encryption=cenc)
                      - /3b077902-e89d-48bc-b8e5-61e9b3c0f7e1/videoManifest2.ism/manifest(format=mpd-time-csf,encryption=cenc)
                      - /3b077902-e89d-48bc-b8e5-61e9b3c0f7e1/videoManifest3.ism/manifest(format=mpd-time-csf,encryption=cenc)
                    streamingProtocol: Dash
                  - encryptionScheme: CommonEncryptionCenc
                    paths:
                      - /3b077902-e89d-48bc-b8e5-61e9b3c0f7e1/videoManifest1.ism/manifest(encryption=cenc)
                      - /3b077902-e89d-48bc-b8e5-61e9b3c0f7e1/videoManifest2.ism/manifest(encryption=cenc)
                      - /3b077902-e89d-48bc-b8e5-61e9b3c0f7e1/videoManifest3.ism/manifest(encryption=cenc)
                    streamingProtocol: SmoothStreaming
                  - encryptionScheme: CommonEncryptionCbcs
                    paths:
                      - /3b077902-e89d-48bc-b8e5-61e9b3c0f7e1/videoManifest1.ism/manifest(format=m3u8-aapl,encryption=cbcs-aapl)
                      - /3b077902-e89d-48bc-b8e5-61e9b3c0f7e1/videoManifest2.ism/manifest(format=m3u8-aapl,encryption=cbcs-aapl)
                      - /3b077902-e89d-48bc-b8e5-61e9b3c0f7e1/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:
            description: The API error.
            properties:
              error:
                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
            type: object
      summary: List Streaming Policies
      x-ms-examples:
        Lists Streaming Policies:
          parameters:
            accountName: contosomedia
            api-version: 2018-03-30-preview
            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/streamingPolicies/secureStreamingPolicyWithCommonEncryptionCbcsOnly
                    name: secureStreamingPolicyWithCommonEncryptionCbcsOnly
                    properties:
                      commonEncryptionCbcs:
                        clearTracks: []
                        contentKeys:
                          defaultKey:
                            label: cbcsDefaultKey
                            policyName: null
                          keyToTrackMappings: []
                        drm:
                          fairPlay:
                            allowPersistentLicense: true
                            customLicenseAcquisitionUrlTemplate: https://contoso.com/{AssetAlternativeId}/fairplay/{ContentKeyId}
                          playReady: null
                          widevine: null
                        enabledProtocols:
                          dash: false
                          download: false
                          hls: true
                          smoothStreaming: false
                      commonEncryptionCenc: null
                      created: 2018-03-07T18:49:21.5362931Z
                      defaultContentKeyPolicyName: PolicyWithMultipleOptions
                      envelopeEncryption: null
                      noEncryption: null
                    type: Microsoft.Media/mediaservices/streamingPolicies
                  - id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/streamingPolicies/secureStreamingPolicyWithCommonEncryptionCencOnly
                    name: secureStreamingPolicyWithCommonEncryptionCencOnly
                    properties:
                      commonEncryptionCbcs: null
                      commonEncryptionCenc:
                        clearTracks:
                          - trackSelections:
                              - operation: Equal
                                property: FourCC
                                value: hev1
                        contentKeys:
                          defaultKey:
                            label: cencDefaultKey
                            policyName: null
                          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-03-07T18:49:21.5342919Z
                      defaultContentKeyPolicyName: PolicyWithPlayReadyOptionAndOpenRestriction
                      envelopeEncryption: null
                      noEncryption: null
                    type: Microsoft.Media/mediaservices/streamingPolicies
                  - id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/streamingPolicies/secureStreamingPolicyWithEnvelopeEncryptionOnly
                    name: secureStreamingPolicyWithEnvelopeEncryptionOnly
                    properties:
                      commonEncryptionCbcs: null
                      commonEncryptionCenc: null
                      created: 2018-03-07T18:49:21.531793Z
                      defaultContentKeyPolicyName: PolicyWithClearKeyOptionAndTokenRestriction
                      envelopeEncryption:
                        clearTracks: []
                        contentKeys:
                          defaultKey:
                            label: aesDefaultKey
                            policyName: null
                          keyToTrackMappings: []
                        customLicenseAcquisitionUrlTemplate: https://contoso.com/{AssetAlternativeId}/envelope/{ContentKeyId}
                        enabledProtocols:
                          dash: true
                          download: false
                          hls: true
                          smoothStreaming: true
                      noEncryption: null
                    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
                            policyName: null
                          keyToTrackMappings: []
                        drm:
                          fairPlay:
                            allowPersistentLicense: true
                            customLicenseAcquisitionUrlTemplate: https://contoso.com/{AssetAlternativeId}/fairplay/{ContentKeyId}
                          playReady: null
                          widevine: null
                        enabledProtocols:
                          dash: false
                          download: false
                          hls: true
                          smoothStreaming: false
                      commonEncryptionCenc:
                        clearTracks:
                          - trackSelections:
                              - operation: Equal
                                property: FourCC
                                value: hev1
                        contentKeys:
                          defaultKey:
                            label: cencDefaultKey
                            policyName: null
                          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-03-07T18:49:21.5302928Z
                      defaultContentKeyPolicyName: PolicyWithMultipleOptions
                      envelopeEncryption:
                        clearTracks: []
                        contentKeys:
                          defaultKey:
                            label: aesDefaultKey
                            policyName: null
                          keyToTrackMappings: []
                        customLicenseAcquisitionUrlTemplate: https://contoso.com/{AssetAlternativeId}/envelope/{ContentKeyId}
                        enabledProtocols:
                          dash: true
                          download: false
                          hls: true
                          smoothStreaming: true
                      noEncryption: null
                    type: Microsoft.Media/mediaservices/streamingPolicies
                  - id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/streamingPolicies/clearStreamingPolicy
                    name: clearStreamingPolicy
                    properties:
                      commonEncryptionCbcs: null
                      commonEncryptionCenc: null
                      created: 2018-03-07T18:49:21.5282927Z
                      defaultContentKeyPolicyName: null
                      envelopeEncryption: null
                      noEncryption:
                        enabledProtocols:
                          dash: true
                          download: true
                          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:
            description: The API error.
            properties:
              error:
                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
            type: object
      summary: Delete a Streaming Policy
      x-ms-examples:
        Delete a Streaming Policy:
          parameters:
            accountName: contosomedia
            api-version: 2018-03-30-preview
            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:
            description: The API error.
            properties:
              error:
                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
            type: object
      summary: Get a Streaming Policy
      x-ms-examples:
        Get a Streaming Policy by name:
          parameters:
            accountName: contosomedia
            api-version: 2018-03-30-preview
            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:
                  commonEncryptionCbcs: null
                  commonEncryptionCenc: null
                  created: 2018-03-07T18:49:21.6217953Z
                  defaultContentKeyPolicyName: null
                  envelopeEncryption: null
                  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:
            description: The API error.
            properties:
              error:
                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
            type: object
      summary: Create a Streaming Policy
      x-ms-examples:
        Creates a Streaming Policy with clear streaming:
          parameters:
            accountName: contosomedia
            api-version: 2018-03-30-preview
            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:
                  commonEncryptionCbcs: null
                  commonEncryptionCenc: null
                  created: 2018-03-07T18:49:21.8092978Z
                  defaultContentKeyPolicyName: null
                  envelopeEncryption: null
                  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-03-30-preview
            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
                        policyName: null
                      keyToTrackMappings: []
                    drm:
                      fairPlay:
                        allowPersistentLicense: true
                        customLicenseAcquisitionUrlTemplate: https://contoso.com/{AssetAlternativeId}/fairplay/{ContentKeyId}
                      playReady: null
                      widevine: null
                    enabledProtocols:
                      dash: false
                      download: false
                      hls: true
                      smoothStreaming: false
                  commonEncryptionCenc: null
                  created: 2018-03-07T18:49:21.9843003Z
                  defaultContentKeyPolicyName: PolicyWithMultipleOptions
                  envelopeEncryption: null
                  noEncryption: null
                type: Microsoft.Media/mediaservices/streamingPolicies
        Creates a Streaming Policy with commonEncryptionCenc only:
          parameters:
            accountName: contosomedia
            api-version: 2018-03-30-preview
            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:
                  commonEncryptionCbcs: null
                  commonEncryptionCenc:
                    clearTracks:
                      - trackSelections:
                          - operation: Equal
                            property: FourCC
                            value: hev1
                    contentKeys:
                      defaultKey:
                        label: cencDefaultKey
                        policyName: null
                      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-03-07T18:49:21.922799Z
                  defaultContentKeyPolicyName: PolicyWithPlayReadyOptionAndOpenRestriction
                  envelopeEncryption: null
                  noEncryption: null
                type: Microsoft.Media/mediaservices/streamingPolicies
        Creates a Streaming Policy with envelopeEncryption only:
          parameters:
            accountName: contosomedia
            api-version: 2018-03-30-preview
            parameters:
              properties:
                defaultContentKeyPolicyName: PolicyWithClearKeyOptionAndTokenRestriction
                envelopeEncryption:
                  contentKeys:
                    defaultKey:
                      label: aesDefaultKey
                  customLicenseAcquisitionUrlTemplate: https://contoso.com/{AssetAlternativeId}/envelope/{ContentKeyId}
                  enabledProtocols:
                    dash: true
                    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:
                  commonEncryptionCbcs: null
                  commonEncryptionCenc: null
                  created: 2018-03-07T18:49:21.8642989Z
                  defaultContentKeyPolicyName: PolicyWithClearKeyOptionAndTokenRestriction
                  envelopeEncryption:
                    clearTracks: []
                    contentKeys:
                      defaultKey:
                        label: aesDefaultKey
                        policyName: null
                      keyToTrackMappings: []
                    customLicenseAcquisitionUrlTemplate: https://contoso.com/{AssetAlternativeId}/envelope/{ContentKeyId}
                    enabledProtocols:
                      dash: true
                      download: false
                      hls: true
                      smoothStreaming: true
                  noEncryption: null
                type: Microsoft.Media/mediaservices/streamingPolicies
        Creates a Streaming Policy with secure streaming:
          parameters:
            accountName: contosomedia
            api-version: 2018-03-30-preview
            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
                  customLicenseAcquisitionUrlTemplate: 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
                        policyName: null
                      keyToTrackMappings: []
                    drm:
                      fairPlay:
                        allowPersistentLicense: true
                        customLicenseAcquisitionUrlTemplate: https://contoso.com/{AssetAlternativeId}/fairplay/{ContentKeyId}
                      playReady: null
                      widevine: null
                    enabledProtocols:
                      dash: false
                      download: false
                      hls: true
                      smoothStreaming: false
                  commonEncryptionCenc:
                    clearTracks:
                      - trackSelections:
                          - operation: Equal
                            property: FourCC
                            value: hev1
                    contentKeys:
                      defaultKey:
                        label: cencDefaultKey
                        policyName: null
                      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-03-07T18:49:22.0443025Z
                  defaultContentKeyPolicyName: PolicyWithMultipleOptions
                  envelopeEncryption:
                    clearTracks: []
                    contentKeys:
                      defaultKey:
                        label: aesDefaultKey
                        policyName: null
                      keyToTrackMappings: []
                    customLicenseAcquisitionUrlTemplate: https://contoso.com/{AssetAlternativeId}/envelope/{ContentKeyId}
                    enabledProtocols:
                      dash: true
                      download: false
                      hls: true
                      smoothStreaming: true
                  noEncryption: null
                type: Microsoft.Media/mediaservices/streamingPolicies
definitions:
  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 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
      customLicenseAcquisitionUrlTemplate:
        description: LicenseAcquisitionUrlTemplate is used to point to user specified service to delivery content keys
        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: {}
  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
      label:
        description: Label of Content Key
        type: string
      policyName:
        description: ContentKeyPolicy used by Content Key
        type: string
      tracks:
        description: Tracks which use this Content Key
        items:
          $ref: "#/definitions/TrackSelection"
        type: array
      type:
        description: Encryption type of Content Key
        enum:
          - CommonEncryptionCenc
          - CommonEncryptionCbcs
          - EnvelopeEncryption
        type: string
        x-ms-enum:
          modelAsExtensible: true
          name: StreamingLocatorContentKeyType
          values:
            - description: Common Encryption using CENC
              value: CommonEncryptionCenc
            - description: Common Encryption using CBCS
              value: CommonEncryptionCbcs
            - description: Envelope Encryption
              value: EnvelopeEncryption
      value:
        description: Value of Content Key
        type: string
    required:
      - type
      - id
    type: object
  StreamingLocatorProperties:
    description: Class to specify properties of Streaming Locator
    properties:
      assetName:
        description: Asset Name
        type: string
      contentKeys:
        description: ContentKeys used by this Streaming Locator
        items:
          $ref: "#/definitions/StreamingLocatorUserDefinedContentKey"
        type: array
      created:
        description: Creation time of Streaming Locator
        format: date-time
        readOnly: true
        type: string
        x-nullable: false
      defaultContentKeyPolicyName:
        description: Default ContentKeyPolicy used by this Streaming Locator
        type: string
      endTime:
        description: EndTime of Streaming Locator
        format: date-time
        type: string
      startTime:
        description: StartTime of Streaming Locator
        format: date-time
        type: string
      streamingLocatorId:
        description: StreamingLocatorId of Streaming Locator
        format: uuid
        type: string
      streamingPolicyName:
        description: "Streaming policy name used by this streaming locator. Either specify the name of streaming policy you created or use one of the predefined streaming polices. The predefined streaming policies available are: 'Predefined_DownloadOnly', 'Predefined_ClearStreamingOnly', 'Predefined_DownloadAndClearStreaming', 'Predefined_ClearKey', 'Predefined_SecureStreaming' and 'Predefined_SecureStreamingWithFairPlay'"
        type: string
    required:
      - assetName
      - streamingPolicyName
    type: object
  StreamingLocatorUserDefinedContentKey:
    description: Describes the properties of a user-defined content key in the Streaming Locator
    properties:
      id:
        description: ID of Content Key
        format: uuid
        type: string
      label:
        description: The Content Key description
        type: string
      value:
        description: The Content Key secret
        type: string
    required:
      - id
    type: object
  StreamingPath:
    description: Class of paths for streaming
    properties:
      encryptionScheme:
        description: Encryption scheme
        enum:
          - NoEncryption
          - EnvelopeEncryption
          - CommonEncryptionCenc
          - CommonEncryptionCbcs
        type: string
        x-ms-enum:
          modelAsExtensible: 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:
          modelAsExtensible: 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 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: The template for a customer service to deliver keys to end users.  Not needed when using Azure Media Services for issuing keys.
        type: string
    required:
      - allowPersistentLicense
    type: object
  StreamingPolicyPlayReadyConfiguration:
    description: Class to specify configurations of PlayReady in Streaming Policy
    properties:
      customLicenseAcquisitionUrlTemplate:
        description: The template for a customer service to deliver keys to end users.  Not needed when using Azure Media Services for issuing keys.
        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: Configuration of NoEncryption
    type: object
  StreamingPolicyWidevineConfiguration:
    description: Class to specify configurations of Widevine in Streaming Policy
    properties:
      customLicenseAcquisitionUrlTemplate:
        description: The template for a customer service to deliver keys to end users.  Not needed when using Azure Media Services for issuing keys.
        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:
          modelAsExtensible: 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:
          modelAsExtensible: 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
