{
  "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"
    }
  }
}