diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/AccountFilters.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/AccountFilters.json new file mode 100644 index 000000000000..cf50989c8aa7 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/AccountFilters.json @@ -0,0 +1,518 @@ +{ + "schemes": [ + "https" + ], + "swagger": "2.0", + "info": { + "title": "Azure Media Services", + "description": "This Swagger was generated by the API Framework.", + "version": "2022-08-01" + }, + "host": "management.azure.com", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "Impersonate your user account" + } + } + }, + "definitions": { + "PresentationTimeRange": { + "properties": { + "startTimestamp": { + "type": "integer", + "format": "int64", + "description": "The absolute start time boundary." + }, + "endTimestamp": { + "type": "integer", + "format": "int64", + "description": "The absolute end time boundary." + }, + "presentationWindowDuration": { + "type": "integer", + "format": "int64", + "description": "The relative to end sliding window." + }, + "liveBackoffDuration": { + "type": "integer", + "format": "int64", + "description": "The relative to end right edge." + }, + "timescale": { + "type": "integer", + "format": "int64", + "description": "The time scale of time stamps." + }, + "forceEndTimestamp": { + "type": "boolean", + "description": "The indicator of forcing existing of end time stamp." + } + }, + "type": "object", + "description": "The presentation time range, this is asset related and not recommended for Account Filter." + }, + "FilterTrackPropertyCondition": { + "properties": { + "property": { + "type": "string", + "enum": [ + "Unknown", + "Type", + "Name", + "Language", + "FourCC", + "Bitrate" + ], + "x-ms-enum": { + "name": "FilterTrackPropertyType", + "values": [ + { + "value": "Unknown", + "description": "The unknown track property type." + }, + { + "value": "Type", + "description": "The type." + }, + { + "value": "Name", + "description": "The name." + }, + { + "value": "Language", + "description": "The language." + }, + { + "value": "FourCC", + "description": "The fourCC." + }, + { + "value": "Bitrate", + "description": "The bitrate." + } + ], + "modelAsString": true + }, + "description": "The track property type." + }, + "value": { + "type": "string", + "description": "The track property value." + }, + "operation": { + "type": "string", + "enum": [ + "Equal", + "NotEqual" + ], + "x-ms-enum": { + "name": "FilterTrackPropertyCompareOperation", + "values": [ + { + "value": "Equal", + "description": "The equal operation." + }, + { + "value": "NotEqual", + "description": "The not equal operation." + } + ], + "modelAsString": true + }, + "description": "The track property condition operation." + } + }, + "type": "object", + "required": [ + "property", + "value", + "operation" + ], + "description": "The class to specify one track property condition." + }, + "FirstQuality": { + "properties": { + "bitrate": { + "type": "integer", + "format": "int32", + "description": "The first quality bitrate." + } + }, + "type": "object", + "required": [ + "bitrate" + ], + "description": "Filter First Quality" + }, + "FilterTrackSelection": { + "properties": { + "trackSelections": { + "type": "array", + "items": { + "$ref": "#/definitions/FilterTrackPropertyCondition" + }, + "x-ms-identifiers": [], + "description": "The track selections." + } + }, + "type": "object", + "required": [ + "trackSelections" + ], + "description": "Representing a list of FilterTrackPropertyConditions to select a track. The filters are combined using a logical AND operation." + }, + "MediaFilterProperties": { + "properties": { + "presentationTimeRange": { + "$ref": "#/definitions/PresentationTimeRange", + "description": "The presentation time range." + }, + "firstQuality": { + "$ref": "#/definitions/FirstQuality", + "description": "The first quality." + }, + "tracks": { + "type": "array", + "items": { + "$ref": "#/definitions/FilterTrackSelection" + }, + "x-ms-identifiers": [], + "description": "The tracks selection conditions." + } + }, + "type": "object", + "description": "The Media Filter properties." + }, + "AccountFilter": { + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/MediaFilterProperties", + "x-ms-client-flatten": true + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "The system metadata relating to this resource.", + "readOnly": true + } + }, + "type": "object", + "description": "An Account Filter." + }, + "AccountFilterCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/AccountFilter" + }, + "description": "A collection of AccountFilter items." + }, + "@odata.nextLink": { + "type": "string", + "description": "A link to the next page of the collection (when the collection contains too many results to return in one response)." + } + }, + "type": "object", + "description": "A collection of AccountFilter items." + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/accountFilters": { + "get": { + "summary": "List Account Filters", + "description": "List Account Filters in the Media Services account.", + "operationId": "AccountFilters_List", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AccountFilterCollection" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-pageable": { + "nextLinkName": "@odata.nextLink" + }, + "x-ms-examples": { + "List all Account Filters": { + "$ref": "examples/accountFilters-list-all.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/accountFilters/{filterName}": { + "get": { + "summary": "Get an Account Filter.", + "description": "Get the details of an Account Filter in the Media Services account.", + "operationId": "AccountFilters_Get", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AccountFilter" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "filterName", + "in": "path", + "required": true, + "type": "string", + "description": "The Account Filter name" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Get an Account Filter by name": { + "$ref": "examples/accountFilters-get-by-name.json" + } + } + }, + "put": { + "summary": "Create or update an Account Filter", + "description": "Creates or updates an Account Filter in the Media Services account.", + "operationId": "AccountFilters_CreateOrUpdate", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AccountFilter" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/AccountFilter" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "filterName", + "in": "path", + "required": true, + "type": "string", + "description": "The Account Filter name" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AccountFilter" + }, + "description": "The request parameters" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Create an Account Filter": { + "$ref": "examples/accountFilters-create.json" + } + } + }, + "delete": { + "summary": "Delete an Account Filter.", + "description": "Deletes an Account Filter in the Media Services account.", + "operationId": "AccountFilters_Delete", + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "filterName", + "in": "path", + "required": true, + "type": "string", + "description": "The Account Filter name" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Delete an Account Filter": { + "$ref": "examples/accountFilters-delete.json" + } + } + }, + "patch": { + "summary": "Update an Account Filter", + "description": "Updates an existing Account Filter in the Media Services account.", + "operationId": "AccountFilters_Update", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AccountFilter" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "filterName", + "in": "path", + "required": true, + "type": "string", + "description": "The Account Filter name" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AccountFilter" + }, + "description": "The request parameters" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Update an Account Filter": { + "$ref": "examples/accountFilters-update.json" + } + } + } + } + }, + "parameters": { + "SubscriptionId": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The unique identifier for a Microsoft Azure subscription." + }, + "ResourceGroupName": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group within the Azure subscription.", + "x-ms-parameter-location": "method" + }, + "MediaServicesAccountName": { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "description": "The Media Services account name.", + "x-ms-parameter-location": "method" + }, + "ApiVersion": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The version of the API to be used with the client request." + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/AssetsAndAssetFilters.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/AssetsAndAssetFilters.json new file mode 100644 index 000000000000..570c8864d5cb --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/AssetsAndAssetFilters.json @@ -0,0 +1,2067 @@ +{ + "schemes": [ + "https" + ], + "swagger": "2.0", + "info": { + "title": "Azure Media Services", + "description": "This Swagger was generated by the API Framework.", + "version": "2022-08-01" + }, + "host": "management.azure.com", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "Impersonate your user account" + } + } + }, + "definitions": { + "AssetProperties": { + "properties": { + "assetId": { + "type": "string", + "format": "uuid", + "description": "The Asset ID.", + "readOnly": true, + "x-nullable": false + }, + "created": { + "type": "string", + "format": "date-time", + "description": "The creation date of the Asset.", + "readOnly": true, + "x-nullable": false + }, + "lastModified": { + "type": "string", + "format": "date-time", + "description": "The last modified date of the Asset.", + "readOnly": true, + "x-nullable": false + }, + "alternateId": { + "type": "string", + "description": "The alternate ID of the Asset." + }, + "description": { + "type": "string", + "description": "The Asset description." + }, + "container": { + "type": "string", + "description": "The name of the asset blob container." + }, + "storageAccountName": { + "type": "string", + "description": "The name of the storage account." + }, + "storageEncryptionFormat": { + "type": "string", + "enum": [ + "None", + "MediaStorageClientEncryption" + ], + "x-ms-enum": { + "name": "AssetStorageEncryptionFormat", + "values": [ + { + "value": "None", + "description": "The Asset does not use client-side storage encryption (this is the only allowed value for new Assets)." + }, + { + "value": "MediaStorageClientEncryption", + "description": "The Asset is encrypted with Media Services client-side encryption." + } + ], + "modelAsString": true + }, + "description": "The Asset encryption format. One of None or MediaStorageEncryption.", + "readOnly": true, + "x-nullable": false + } + }, + "type": "object", + "description": "The Asset properties." + }, + "AssetContainerSas": { + "properties": { + "assetContainerSasUrls": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of Asset container SAS URLs." + } + }, + "type": "object", + "description": "The Asset Storage container SAS URLs." + }, + "AssetFileEncryptionMetadata": { + "properties": { + "initializationVector": { + "type": "string", + "description": "The Asset File initialization vector." + }, + "assetFileName": { + "type": "string", + "description": "The Asset File name." + }, + "assetFileId": { + "type": "string", + "format": "uuid", + "description": "The Asset File Id." + } + }, + "type": "object", + "required": [ + "assetFileId" + ], + "description": "The Asset File Storage encryption metadata." + }, + "StorageEncryptedAssetDecryptionData": { + "properties": { + "key": { + "type": "string", + "format": "byte", + "description": "The Asset File storage encryption key." + }, + "assetFileEncryptionMetadata": { + "type": "array", + "items": { + "$ref": "#/definitions/AssetFileEncryptionMetadata" + }, + "x-ms-identifiers": [ + "assetFileId" + ], + "description": "Asset File encryption metadata." + } + }, + "type": "object", + "description": "Data needed to decrypt asset files encrypted with legacy storage encryption." + }, + "ListStreamingLocatorsResponse": { + "properties": { + "streamingLocators": { + "type": "array", + "items": { + "$ref": "#/definitions/AssetStreamingLocator" + }, + "x-ms-identifiers": [ + "name" + ], + "description": "The list of Streaming Locators.", + "readOnly": true + } + }, + "type": "object", + "description": "The Streaming Locators associated with this Asset." + }, + "AssetStreamingLocator": { + "properties": { + "name": { + "type": "string", + "description": "Streaming Locator name.", + "readOnly": true + }, + "assetName": { + "type": "string", + "description": "Asset Name.", + "readOnly": true + }, + "created": { + "type": "string", + "format": "date-time", + "description": "The creation time of the Streaming Locator.", + "readOnly": true, + "x-nullable": false + }, + "startTime": { + "type": "string", + "format": "date-time", + "description": "The start time of the Streaming Locator.", + "readOnly": true, + "x-nullable": false + }, + "endTime": { + "type": "string", + "format": "date-time", + "description": "The end time of the Streaming Locator.", + "readOnly": true, + "x-nullable": false + }, + "streamingLocatorId": { + "type": "string", + "format": "uuid", + "description": "StreamingLocatorId of the Streaming Locator.", + "readOnly": true, + "x-nullable": false + }, + "streamingPolicyName": { + "type": "string", + "description": "Name of the Streaming Policy used by this Streaming Locator.", + "readOnly": true + }, + "defaultContentKeyPolicyName": { + "type": "string", + "description": "Name of the default ContentKeyPolicy used by this Streaming Locator.", + "readOnly": true + } + }, + "type": "object", + "description": "Properties of the Streaming Locator." + }, + "Asset": { + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/AssetProperties", + "description": "The resource properties.", + "x-ms-client-flatten": true + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "The system metadata relating to this resource.", + "readOnly": true + } + }, + "type": "object", + "description": "An Asset." + }, + "PresentationTimeRange": { + "properties": { + "startTimestamp": { + "type": "integer", + "format": "int64", + "description": "The absolute start time boundary." + }, + "endTimestamp": { + "type": "integer", + "format": "int64", + "description": "The absolute end time boundary." + }, + "presentationWindowDuration": { + "type": "integer", + "format": "int64", + "description": "The relative to end sliding window." + }, + "liveBackoffDuration": { + "type": "integer", + "format": "int64", + "description": "The relative to end right edge." + }, + "timescale": { + "type": "integer", + "format": "int64", + "description": "The time scale of time stamps." + }, + "forceEndTimestamp": { + "type": "boolean", + "description": "The indicator of forcing existing of end time stamp." + } + }, + "type": "object", + "description": "The presentation time range, this is asset related and not recommended for Account Filter." + }, + "FilterTrackPropertyCondition": { + "properties": { + "property": { + "type": "string", + "enum": [ + "Unknown", + "Type", + "Name", + "Language", + "FourCC", + "Bitrate" + ], + "x-ms-enum": { + "name": "FilterTrackPropertyType", + "values": [ + { + "value": "Unknown", + "description": "The unknown track property type." + }, + { + "value": "Type", + "description": "The type." + }, + { + "value": "Name", + "description": "The name." + }, + { + "value": "Language", + "description": "The language." + }, + { + "value": "FourCC", + "description": "The fourCC." + }, + { + "value": "Bitrate", + "description": "The bitrate." + } + ], + "modelAsString": true + }, + "description": "The track property type." + }, + "value": { + "type": "string", + "description": "The track property value." + }, + "operation": { + "type": "string", + "enum": [ + "Equal", + "NotEqual" + ], + "x-ms-enum": { + "name": "FilterTrackPropertyCompareOperation", + "values": [ + { + "value": "Equal", + "description": "The equal operation." + }, + { + "value": "NotEqual", + "description": "The not equal operation." + } + ], + "modelAsString": true + }, + "description": "The track property condition operation." + } + }, + "type": "object", + "required": [ + "property", + "value", + "operation" + ], + "description": "The class to specify one track property condition." + }, + "FirstQuality": { + "properties": { + "bitrate": { + "type": "integer", + "format": "int32", + "description": "The first quality bitrate." + } + }, + "type": "object", + "required": [ + "bitrate" + ], + "description": "Filter First Quality" + }, + "FilterTrackSelection": { + "properties": { + "trackSelections": { + "type": "array", + "items": { + "$ref": "#/definitions/FilterTrackPropertyCondition" + }, + "x-ms-identifiers": [], + "description": "The track selections." + } + }, + "type": "object", + "required": [ + "trackSelections" + ], + "description": "Representing a list of FilterTrackPropertyConditions to select a track. The filters are combined using a logical AND operation." + }, + "MediaFilterProperties": { + "properties": { + "presentationTimeRange": { + "$ref": "#/definitions/PresentationTimeRange", + "description": "The presentation time range." + }, + "firstQuality": { + "$ref": "#/definitions/FirstQuality", + "description": "The first quality." + }, + "tracks": { + "type": "array", + "items": { + "$ref": "#/definitions/FilterTrackSelection" + }, + "x-ms-identifiers": [], + "description": "The tracks selection conditions." + } + }, + "type": "object", + "description": "The Media Filter properties." + }, + "AssetFilter": { + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/MediaFilterProperties", + "x-ms-client-flatten": true + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "The system metadata relating to this resource.", + "readOnly": true + } + }, + "type": "object", + "description": "An Asset Filter." + }, + "HlsSettings": { + "properties": { + "default": { + "type": "boolean", + "description": "The default for the HLS setting." + }, + "forced": { + "type": "boolean", + "description": "The forced for the HLS setting." + }, + "characteristics": { + "type": "string", + "description": "The characteristics for the HLS setting." + } + }, + "type": "object", + "description": "The HLS setting for a track." + }, + "DashSettings": { + "properties": { + "role": { + "type": "string", + "description": "The role for the DASH setting." + } + }, + "type": "object", + "description": "The DASH setting for a track." + }, + "TrackBase": { + "discriminator": "@odata.type", + "properties": { + "@odata.type": { + "type": "string", + "description": "The discriminator for derived types." + } + }, + "type": "object", + "required": [ + "@odata.type" + ], + "description": "Base type for concrete track types. A derived type must be used to represent the Track." + }, + "AudioTrack": { + "x-ms-discriminator-value": "#Microsoft.Media.AudioTrack", + "allOf": [ + { + "$ref": "#/definitions/TrackBase" + } + ], + "properties": { + "fileName": { + "type": "string", + "description": "The file name to the source file. This file is located in the storage container of the asset." + }, + "displayName": { + "type": "string", + "description": "The display name of the audio track on a video player. In HLS, this maps to the NAME attribute of EXT-X-MEDIA." + }, + "languageCode": { + "type": "string", + "description": "The RFC5646 language code for the audio track." + }, + "hlsSettings": { + "$ref": "#/definitions/HlsSettings", + "description": "The HLS specific setting for the audio track." + }, + "dashSettings": { + "$ref": "#/definitions/DashSettings", + "description": "The DASH specific setting for the audio track." + }, + "mpeg4TrackId": { + "type": "integer", + "format": "int32", + "description": "The MPEG-4 audio track ID for the audio track.", + "x-nullable": true + }, + "bitRate": { + "type": "integer", + "format": "int32", + "description": "The stream bit rate for the audio track.", + "readOnly": true, + "x-nullable": false + } + }, + "type": "object", + "description": "Represents an audio track in the asset." + }, + "VideoTrack": { + "x-ms-discriminator-value": "#Microsoft.Media.VideoTrack", + "allOf": [ + { + "$ref": "#/definitions/TrackBase" + } + ], + "properties": {}, + "type": "object", + "description": "Represents a video track in the asset." + }, + "TextTrack": { + "x-ms-discriminator-value": "#Microsoft.Media.TextTrack", + "allOf": [ + { + "$ref": "#/definitions/TrackBase" + } + ], + "properties": { + "fileName": { + "type": "string", + "description": "The file name to the source file. This file is located in the storage container of the asset." + }, + "displayName": { + "type": "string", + "description": "The display name of the text track on a video player. In HLS, this maps to the NAME attribute of EXT-X-MEDIA." + }, + "languageCode": { + "type": "string", + "description": "The RFC5646 language code for the text track.", + "readOnly": true + }, + "playerVisibility": { + "type": "string", + "enum": [ + "Hidden", + "Visible" + ], + "x-ms-enum": { + "name": "Visibility", + "values": [ + { + "value": "Hidden", + "description": "The track is hidden to video player." + }, + { + "value": "Visible", + "description": "The track is visible to video player." + } + ], + "modelAsString": true + }, + "description": "When PlayerVisibility is set to \"Visible\", the text track will be present in the DASH manifest or HLS playlist when requested by a client. When the PlayerVisibility is set to \"Hidden\", the text will not be available to the client. The default value is \"Visible\"." + }, + "hlsSettings": { + "$ref": "#/definitions/HlsSettings", + "description": "The HLS specific setting for the text track." + } + }, + "type": "object", + "description": "Represents a text track in an asset. A text track is usually used for sparse data related to the audio or video tracks." + }, + "AssetTrackProperties": { + "properties": { + "track": { + "$ref": "#/definitions/TrackBase", + "description": "Detailed information about a track in the asset." + }, + "provisioningState": { + "type": "string", + "enum": [ + "Failed", + "InProgress", + "Succeeded" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "values": [ + { + "value": "Failed", + "description": "Provisioning state failed." + }, + { + "value": "InProgress", + "description": "Provisioning state in progress." + }, + { + "value": "Succeeded", + "description": "Provisioning state succeeded." + } + ], + "modelAsString": true + }, + "description": "Provisioning state of the asset track.", + "readOnly": true, + "x-nullable": false + } + }, + "type": "object", + "description": "Properties of a video, audio or text track in the asset." + }, + "AssetTrack": { + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/AssetTrackProperties", + "description": "The resource properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "description": "An Asset Track resource." + }, + "AssetTrackOperationStatus": { + "properties": { + "name": { + "type": "string", + "description": "Operation identifier." + }, + "id": { + "type": "string", + "description": "Operation resource ID." + }, + "startTime": { + "type": "string", + "format": "date-time", + "description": "Operation start time." + }, + "endTime": { + "type": "string", + "format": "date-time", + "description": "Operation end time." + }, + "status": { + "type": "string", + "description": "Operation status." + }, + "error": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorDetail", + "x-nullable": true + } + }, + "type": "object", + "required": [ + "name", + "status" + ], + "description": "Status of asset track operation." + }, + "AssetCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Asset" + }, + "description": "A collection of Asset items." + }, + "@odata.nextLink": { + "type": "string", + "description": "A link to the next page of the collection (when the collection contains too many results to return in one response)." + } + }, + "type": "object", + "description": "A collection of Asset items." + }, + "ListContainerSasInput": { + "description": "The parameters to the list SAS request.", + "properties": { + "permissions": { + "description": "The permissions to set on the SAS URL.", + "type": "string", + "enum": [ + "Read", + "ReadWrite", + "ReadWriteDelete" + ], + "x-ms-enum": { + "name": "AssetContainerPermission", + "values": [ + { + "value": "Read", + "description": "The SAS URL will allow read access to the container." + }, + { + "value": "ReadWrite", + "description": "The SAS URL will allow read and write access to the container." + }, + { + "value": "ReadWriteDelete", + "description": "The SAS URL will allow read, write and delete access to the container." + } + ], + "modelAsString": true + } + }, + "expiryTime": { + "description": "The SAS URL expiration time. This must be less than 24 hours from the current time.", + "type": "string", + "format": "date-time" + } + }, + "type": "object" + }, + "AssetFilterCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/AssetFilter" + }, + "description": "A collection of AssetFilter items." + }, + "@odata.nextLink": { + "type": "string", + "description": "A link to the next page of the collection (when the collection contains too many results to return in one response)." + } + }, + "type": "object", + "description": "A collection of AssetFilter items." + }, + "AssetTrackCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/AssetTrack" + }, + "description": "A collection of AssetTrack items." + } + }, + "type": "object", + "description": "A collection of AssetTrack items." + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/assets": { + "get": { + "summary": "List Assets", + "description": "List Assets in the Media Services account with optional filtering and ordering", + "operationId": "Assets_List", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AssetCollection" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "Restricts the set of items returned." + }, + { + "name": "$top", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "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." + }, + { + "name": "$orderby", + "in": "query", + "required": false, + "type": "string", + "description": "Specifies the key by which the result collection should be ordered." + } + ], + "x-ms-pageable": { + "nextLinkName": "@odata.nextLink" + }, + "x-ms-odata": "#/definitions/Asset", + "x-ms-examples": { + "List all Assets": { + "$ref": "examples/assets-list-all.json" + }, + "List Asset ordered by date": { + "$ref": "examples/assets-list-by-date.json" + }, + "List Asset created in a date range": { + "$ref": "examples/assets-list-in-date-range.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/assets/{assetName}": { + "get": { + "summary": "Get an Asset", + "description": "Get the details of an Asset in the Media Services account", + "operationId": "Assets_Get", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Asset" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "assetName", + "in": "path", + "required": true, + "type": "string", + "description": "The Asset name." + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Get an Asset by name": { + "$ref": "examples/assets-get-by-name.json" + } + } + }, + "put": { + "summary": "Create or update an Asset", + "description": "Creates or updates an Asset in the Media Services account", + "operationId": "Assets_CreateOrUpdate", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Asset" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Asset" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "assetName", + "in": "path", + "required": true, + "type": "string", + "description": "The Asset name." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Asset" + }, + "description": "The request parameters" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Create an Asset": { + "$ref": "examples/assets-create.json" + } + } + }, + "delete": { + "summary": "Delete an Asset.", + "description": "Deletes an Asset in the Media Services account", + "operationId": "Assets_Delete", + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "assetName", + "in": "path", + "required": true, + "type": "string", + "description": "The Asset name." + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Delete an Asset": { + "$ref": "examples/assets-delete.json" + } + } + }, + "patch": { + "summary": "Update an Asset", + "description": "Updates an existing Asset in the Media Services account", + "operationId": "Assets_Update", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Asset" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "assetName", + "in": "path", + "required": true, + "type": "string", + "description": "The Asset name." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Asset" + }, + "description": "The request parameters" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Update an Asset": { + "$ref": "examples/assets-update.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/assets/{assetName}/listContainerSas": { + "post": { + "summary": "List the Asset URLs", + "description": "Lists storage container URLs with shared access signatures (SAS) for uploading and downloading Asset content. The signatures are derived from the storage account keys.", + "operationId": "Assets_ListContainerSas", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AssetContainerSas" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "assetName", + "in": "path", + "required": true, + "type": "string", + "description": "The Asset name." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ListContainerSasInput" + }, + "description": "The request parameters" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "List Asset SAS URLs": { + "$ref": "examples/assets-list-sas-urls.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/assets/{assetName}/getEncryptionKey": { + "post": { + "summary": "Gets the Asset storage key", + "description": "Gets the Asset storage encryption keys used to decrypt content created by version 2 of the Media Services API", + "operationId": "Assets_GetEncryptionKey", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/StorageEncryptedAssetDecryptionData" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "assetName", + "in": "path", + "required": true, + "type": "string", + "description": "The Asset name." + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Get Asset Storage Encryption Keys": { + "$ref": "examples/assets-get-encryption-keys.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/assets/{assetName}/listStreamingLocators": { + "post": { + "summary": "List Streaming Locators", + "description": "Lists Streaming Locators which are associated with this asset.", + "operationId": "Assets_ListStreamingLocators", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ListStreamingLocatorsResponse" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "assetName", + "in": "path", + "required": true, + "type": "string", + "description": "The Asset name." + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "List Asset SAS URLs": { + "$ref": "examples/assets-list-streaming-locators.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/assets/{assetName}/assetFilters": { + "get": { + "summary": "List Asset Filters", + "description": "List Asset Filters associated with the specified Asset.", + "operationId": "AssetFilters_List", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AssetFilterCollection" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "assetName", + "in": "path", + "required": true, + "type": "string", + "description": "The Asset name." + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-pageable": { + "nextLinkName": "@odata.nextLink" + }, + "x-ms-examples": { + "List all Asset Filters": { + "$ref": "examples/assetFilters-list-all.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/assets/{assetName}/assetFilters/{filterName}": { + "get": { + "summary": "Get an Asset Filter.", + "description": "Get the details of an Asset Filter associated with the specified Asset.", + "operationId": "AssetFilters_Get", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AssetFilter" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "assetName", + "in": "path", + "required": true, + "type": "string", + "description": "The Asset name." + }, + { + "name": "filterName", + "in": "path", + "required": true, + "type": "string", + "description": "The Asset Filter name" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Get an Asset Filter by name": { + "$ref": "examples/assetFilters-get-by-name.json" + } + } + }, + "put": { + "summary": "Create or update an Asset Filter", + "description": "Creates or updates an Asset Filter associated with the specified Asset.", + "operationId": "AssetFilters_CreateOrUpdate", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AssetFilter" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/AssetFilter" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "assetName", + "in": "path", + "required": true, + "type": "string", + "description": "The Asset name." + }, + { + "name": "filterName", + "in": "path", + "required": true, + "type": "string", + "description": "The Asset Filter name" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AssetFilter" + }, + "description": "The request parameters" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Create an Asset Filter": { + "$ref": "examples/assetFilters-create.json" + } + } + }, + "delete": { + "summary": "Delete an Asset Filter.", + "description": "Deletes an Asset Filter associated with the specified Asset.", + "operationId": "AssetFilters_Delete", + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "assetName", + "in": "path", + "required": true, + "type": "string", + "description": "The Asset name." + }, + { + "name": "filterName", + "in": "path", + "required": true, + "type": "string", + "description": "The Asset Filter name" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Delete an Asset Filter": { + "$ref": "examples/assetFilters-delete.json" + } + } + }, + "patch": { + "summary": "Update an Asset Filter", + "description": "Updates an existing Asset Filter associated with the specified Asset.", + "operationId": "AssetFilters_Update", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AssetFilter" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "assetName", + "in": "path", + "required": true, + "type": "string", + "description": "The Asset name." + }, + { + "name": "filterName", + "in": "path", + "required": true, + "type": "string", + "description": "The Asset Filter name" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AssetFilter" + }, + "description": "The request parameters" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Update an Asset Filter": { + "$ref": "examples/assetFilters-update.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/assets/{assetName}/tracks": { + "get": { + "summary": "List Tracks in the Asset", + "description": "Lists the Tracks in the asset", + "operationId": "Tracks_List", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AssetTrackCollection" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "assetName", + "in": "path", + "required": true, + "type": "string", + "description": "The Asset name." + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "Lists all Tracks": { + "$ref": "examples/asset-tracks-list-all.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/assets/{assetName}/tracks/{trackName}": { + "get": { + "summary": "Get a Track", + "description": "Get the details of a Track in the Asset", + "operationId": "Tracks_Get", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AssetTrack" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "assetName", + "in": "path", + "required": true, + "type": "string", + "description": "The Asset name." + }, + { + "name": "trackName", + "in": "path", + "required": true, + "type": "string", + "description": "The Asset Track name." + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Get a Track by name": { + "$ref": "examples/asset-tracks-get-by-name.json" + } + } + }, + "put": { + "summary": "Create or update a Track", + "description": "Create or update a Track in the asset", + "operationId": "Tracks_CreateOrUpdate", + "responses": { + "200": { + "description": "OK", + "headers": { + "Retry-After": { + "description": "The recommended number of seconds to wait before calling the URI specified in Azure-AsyncOperation.", + "type": "integer", + "format": "int32" + }, + "Location": { + "description": "The URI to poll for completion status.", + "type": "string" + }, + "Azure-AsyncOperation": { + "description": "The URI to poll for completion status.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/AssetTrack" + } + }, + "201": { + "description": "Created", + "headers": { + "Retry-After": { + "description": "The recommended number of seconds to wait before calling the URI specified in Azure-AsyncOperation.", + "type": "integer", + "format": "int32" + }, + "Location": { + "description": "The URI to poll for completion status.", + "type": "string" + }, + "Azure-AsyncOperation": { + "description": "The URI to poll for completion status.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/AssetTrack" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "assetName", + "in": "path", + "required": true, + "type": "string", + "description": "The Asset name." + }, + { + "name": "trackName", + "in": "path", + "required": true, + "type": "string", + "description": "The Asset Track name." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AssetTrack" + }, + "description": "The request parameters" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Creates a Track": { + "$ref": "examples/asset-tracks-create.json" + } + } + }, + "delete": { + "summary": "Delete a Track", + "description": "Deletes a Track in the asset", + "operationId": "Tracks_Delete", + "responses": { + "202": { + "description": "Accepted", + "headers": { + "Retry-After": { + "description": "The recommended number of seconds to wait before calling the URI specified in Azure-AsyncOperation.", + "type": "integer", + "format": "int32" + }, + "Location": { + "description": "The URI to poll for completion status.", + "type": "string" + }, + "Azure-AsyncOperation": { + "description": "The URI to poll for completion status.", + "type": "string" + } + } + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "assetName", + "in": "path", + "required": true, + "type": "string", + "description": "The Asset name." + }, + { + "name": "trackName", + "in": "path", + "required": true, + "type": "string", + "description": "The Asset Track name." + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete a Track": { + "$ref": "examples/asset-tracks-delete.json" + } + } + }, + "patch": { + "summary": "Update an Track", + "description": "Updates an existing Track in the asset", + "operationId": "Tracks_Update", + "responses": { + "202": { + "description": "Accepted", + "headers": { + "Retry-After": { + "description": "The recommended number of seconds to wait before calling the URI specified in Azure-AsyncOperation.", + "type": "integer", + "format": "int32" + }, + "Location": { + "description": "The URI to poll for completion status.", + "type": "string" + }, + "Azure-AsyncOperation": { + "description": "The URI to poll for completion status.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/AssetTrack" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "assetName", + "in": "path", + "required": true, + "type": "string", + "description": "The Asset name." + }, + { + "name": "trackName", + "in": "path", + "required": true, + "type": "string", + "description": "The Asset Track name." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AssetTrack" + }, + "description": "The request parameters" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update a Track": { + "$ref": "examples/asset-tracks-update.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/assets/{assetName}/tracks/{trackName}/updateTrackData": { + "post": { + "summary": "Update the track data", + "description": "Update the track data. Call this API after any changes are made to the track data stored in the asset container. For example, you have modified the WebVTT captions file in the Azure blob storage container for the asset, viewers will not see the new version of the captions unless this API is called. Note, the changes may not be reflected immediately. CDN cache may also need to be purged if applicable.", + "operationId": "Tracks_UpdateTrackData", + "responses": { + "202": { + "description": "Accepted", + "headers": { + "Retry-After": { + "description": "The recommended number of seconds to wait before calling the URI specified in Azure-AsyncOperation.", + "type": "integer", + "format": "int32" + }, + "Location": { + "description": "The URI to poll for completion status.", + "type": "string" + }, + "Azure-AsyncOperation": { + "description": "The URI to poll for completion status.", + "type": "string" + } + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "assetName", + "in": "path", + "required": true, + "type": "string", + "description": "The Asset name." + }, + { + "name": "trackName", + "in": "path", + "required": true, + "type": "string", + "description": "The Asset Track name." + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update the data for a tracks": { + "$ref": "examples/asset-tracks-update-data.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/assets/{assetName}/tracks/{trackName}/operationStatuses/{operationId}": { + "get": { + "summary": "Get operation status.", + "description": "Get asset track operation status.", + "operationId": "OperationStatuses_Get", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AssetTrackOperationStatus" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "assetName", + "in": "path", + "required": true, + "type": "string", + "description": "The Asset name." + }, + { + "name": "trackName", + "in": "path", + "required": true, + "type": "string", + "description": "The Asset Track name." + }, + { + "name": "operationId", + "in": "path", + "required": true, + "type": "string", + "description": "Operation Id." + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Get status of asynchronous operation when it is completed.": { + "$ref": "examples/asset-tracks-operation-status-by-id-terminal-state.json" + }, + "Get status of asynchronous operation when it is ongoing.": { + "$ref": "examples/asset-tracks-operation-status-by-id-non-terminal-state.json" + }, + "Get status of asynchronous operation when it is completed with error.": { + "$ref": "examples/asset-tracks-operation-status-by-id-terminal-state-failed.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/assets/{assetName}/tracks/{trackName}/operationResults/{operationId}": { + "get": { + "summary": "Get operation result.", + "description": "Get asset track operation result.", + "operationId": "OperationResults_Get", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AssetTrack" + } + }, + "202": { + "description": "Accepted", + "headers": { + "Retry-After": { + "description": "The recommended number of seconds to wait before calling the URI specified in Azure-AsyncOperation.", + "type": "integer", + "format": "int32" + }, + "Location": { + "description": "The URI to poll for completion status.", + "type": "string" + }, + "Azure-AsyncOperation": { + "description": "The URI to poll for completion status.", + "type": "string" + } + } + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "assetName", + "in": "path", + "required": true, + "type": "string", + "description": "The Asset name." + }, + { + "name": "trackName", + "in": "path", + "required": true, + "type": "string", + "description": "The Asset Track name." + }, + { + "name": "operationId", + "in": "path", + "required": true, + "type": "string", + "description": "Operation Id." + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Get result of asynchronous operation.": { + "$ref": "examples/asset-tracks-operation-result-by-id.json" + } + } + } + } + }, + "parameters": { + "SubscriptionId": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The unique identifier for a Microsoft Azure subscription." + }, + "ResourceGroupName": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group within the Azure subscription.", + "x-ms-parameter-location": "method" + }, + "MediaServicesAccountName": { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "description": "The Media Services account name.", + "x-ms-parameter-location": "method" + }, + "ApiVersion": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The version of the API to be used with the client request." + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/ContentKeyPolicies.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/ContentKeyPolicies.json new file mode 100644 index 000000000000..2f7afa5a2a30 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/ContentKeyPolicies.json @@ -0,0 +1,1207 @@ +{ + "schemes": [ + "https" + ], + "swagger": "2.0", + "info": { + "title": "Azure Media Services", + "description": "This Swagger was generated by the API Framework.", + "version": "2022-08-01" + }, + "host": "management.azure.com", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "Impersonate your user account" + } + } + }, + "definitions": { + "ContentKeyPolicyPlayReadyExplicitAnalogTelevisionRestriction": { + "properties": { + "bestEffort": { + "type": "boolean", + "description": "Indicates whether this restriction is enforced on a Best Effort basis." + }, + "configurationData": { + "type": "integer", + "format": "int32", + "description": "Configures the restriction control bits. Must be between 0 and 3 inclusive." + } + }, + "type": "object", + "required": [ + "bestEffort", + "configurationData" + ], + "description": "Configures the Explicit Analog Television Output Restriction control bits. For further details see the PlayReady Compliance Rules." + }, + "ContentKeyPolicyPlayReadyContentKeyLocation": { + "discriminator": "@odata.type", + "properties": { + "@odata.type": { + "type": "string", + "description": "The discriminator for derived types." + } + }, + "type": "object", + "required": [ + "@odata.type" + ], + "description": "Base class for content key ID location. A derived class must be used to represent the location." + }, + "ContentKeyPolicyPlayReadyContentEncryptionKeyFromHeader": { + "x-ms-discriminator-value": "#Microsoft.Media.ContentKeyPolicyPlayReadyContentEncryptionKeyFromHeader", + "allOf": [ + { + "$ref": "#/definitions/ContentKeyPolicyPlayReadyContentKeyLocation" + } + ], + "properties": {}, + "type": "object", + "description": "Specifies that the content key ID is in the PlayReady header." + }, + "ContentKeyPolicyPlayReadyContentEncryptionKeyFromKeyIdentifier": { + "x-ms-discriminator-value": "#Microsoft.Media.ContentKeyPolicyPlayReadyContentEncryptionKeyFromKeyIdentifier", + "allOf": [ + { + "$ref": "#/definitions/ContentKeyPolicyPlayReadyContentKeyLocation" + } + ], + "properties": { + "keyId": { + "type": "string", + "format": "uuid", + "description": "The content key ID.", + "x-nullable": true + } + }, + "type": "object", + "required": [ + "keyId" + ], + "description": "Specifies that the content key ID is specified in the PlayReady configuration." + }, + "ContentKeyPolicyPlayReadyPlayRight": { + "properties": { + "firstPlayExpiration": { + "type": "string", + "format": "duration", + "description": "The amount of time that the license is valid after the license is first used to play content." + }, + "scmsRestriction": { + "type": "integer", + "format": "int32", + "description": "Configures the Serial Copy Management System (SCMS) in the license. Must be between 0 and 3 inclusive." + }, + "agcAndColorStripeRestriction": { + "type": "integer", + "format": "int32", + "description": "Configures Automatic Gain Control (AGC) and Color Stripe in the license. Must be between 0 and 3 inclusive." + }, + "explicitAnalogTelevisionOutputRestriction": { + "$ref": "#/definitions/ContentKeyPolicyPlayReadyExplicitAnalogTelevisionRestriction", + "description": "Configures the Explicit Analog Television Output Restriction in the license. Configuration data must be between 0 and 3 inclusive." + }, + "digitalVideoOnlyContentRestriction": { + "type": "boolean", + "description": "Enables the Image Constraint For Analog Component Video Restriction in the license." + }, + "imageConstraintForAnalogComponentVideoRestriction": { + "type": "boolean", + "description": "Enables the Image Constraint For Analog Component Video Restriction in the license." + }, + "imageConstraintForAnalogComputerMonitorRestriction": { + "type": "boolean", + "description": "Enables the Image Constraint For Analog Component Video Restriction in the license." + }, + "allowPassingVideoContentToUnknownOutput": { + "type": "string", + "enum": [ + "Unknown", + "NotAllowed", + "Allowed", + "AllowedWithVideoConstriction" + ], + "x-ms-enum": { + "name": "ContentKeyPolicyPlayReadyUnknownOutputPassingOption", + "values": [ + { + "value": "Unknown", + "description": "Represents a ContentKeyPolicyPlayReadyUnknownOutputPassingOption that is unavailable in current API version." + }, + { + "value": "NotAllowed", + "description": "Passing the video portion of protected content to an Unknown Output is not allowed." + }, + { + "value": "Allowed", + "description": "Passing the video portion of protected content to an Unknown Output is allowed." + }, + { + "value": "AllowedWithVideoConstriction", + "description": "Passing the video portion of protected content to an Unknown Output is allowed but with constrained resolution." + } + ], + "modelAsString": true + }, + "description": "Configures Unknown output handling settings of the license." + }, + "uncompressedDigitalVideoOpl": { + "type": "integer", + "format": "int32", + "description": "Specifies the output protection level for uncompressed digital video." + }, + "compressedDigitalVideoOpl": { + "type": "integer", + "format": "int32", + "description": "Specifies the output protection level for compressed digital video." + }, + "analogVideoOpl": { + "type": "integer", + "format": "int32", + "description": "Specifies the output protection level for compressed digital audio." + }, + "compressedDigitalAudioOpl": { + "type": "integer", + "format": "int32", + "description": "Specifies the output protection level for compressed digital audio." + }, + "uncompressedDigitalAudioOpl": { + "type": "integer", + "format": "int32", + "description": "Specifies the output protection level for uncompressed digital audio." + } + }, + "type": "object", + "required": [ + "digitalVideoOnlyContentRestriction", + "imageConstraintForAnalogComponentVideoRestriction", + "imageConstraintForAnalogComputerMonitorRestriction", + "allowPassingVideoContentToUnknownOutput" + ], + "description": "Configures the Play Right in the PlayReady license." + }, + "ContentKeyPolicyTokenClaim": { + "properties": { + "claimType": { + "type": "string", + "description": "Token claim type." + }, + "claimValue": { + "type": "string", + "description": "Token claim value." + } + }, + "type": "object", + "description": "Represents a token claim." + }, + "ContentKeyPolicyPlayReadyLicense": { + "properties": { + "allowTestDevices": { + "type": "boolean", + "description": "A flag indicating whether test devices can use the license." + }, + "securityLevel": { + "type": "string", + "enum": [ + "Unknown", + "SL150", + "SL2000", + "SL3000" + ], + "x-ms-enum": { + "name": "SecurityLevel", + "values": [ + { + "value": "Unknown", + "description": "Represents a SecurityLevel that is unavailable in current API version." + }, + { + "value": "SL150", + "description": "For clients under development or test. No protection against unauthorized use." + }, + { + "value": "SL2000", + "description": "For hardened devices and applications consuming commercial content. Software or hardware protection." + }, + { + "value": "SL3000", + "description": "For hardened devices only. Hardware protection." + } + ], + "modelAsString": true + }, + "description": "The security level." + }, + "beginDate": { + "type": "string", + "format": "date-time", + "description": "The begin date of license" + }, + "expirationDate": { + "type": "string", + "format": "date-time", + "description": "The expiration date of license." + }, + "relativeBeginDate": { + "type": "string", + "format": "duration", + "description": "The relative begin date of license." + }, + "relativeExpirationDate": { + "type": "string", + "format": "duration", + "description": "The relative expiration date of license." + }, + "gracePeriod": { + "type": "string", + "format": "duration", + "description": "The grace period of license." + }, + "playRight": { + "$ref": "#/definitions/ContentKeyPolicyPlayReadyPlayRight", + "description": "The license PlayRight" + }, + "licenseType": { + "type": "string", + "enum": [ + "Unknown", + "NonPersistent", + "Persistent" + ], + "x-ms-enum": { + "name": "ContentKeyPolicyPlayReadyLicenseType", + "values": [ + { + "value": "Unknown", + "description": "Represents a ContentKeyPolicyPlayReadyLicenseType that is unavailable in current API version." + }, + { + "value": "NonPersistent", + "description": "Non persistent license." + }, + { + "value": "Persistent", + "description": "Persistent license. Allows offline playback." + } + ], + "modelAsString": true + }, + "description": "The license type." + }, + "contentKeyLocation": { + "$ref": "#/definitions/ContentKeyPolicyPlayReadyContentKeyLocation", + "description": "The content key location." + }, + "contentType": { + "type": "string", + "enum": [ + "Unknown", + "Unspecified", + "UltraVioletDownload", + "UltraVioletStreaming" + ], + "x-ms-enum": { + "name": "ContentKeyPolicyPlayReadyContentType", + "values": [ + { + "value": "Unknown", + "description": "Represents a ContentKeyPolicyPlayReadyContentType that is unavailable in current API version." + }, + { + "value": "Unspecified", + "description": "Unspecified content type." + }, + { + "value": "UltraVioletDownload", + "description": "Ultraviolet download content type." + }, + { + "value": "UltraVioletStreaming", + "description": "Ultraviolet streaming content type." + } + ], + "modelAsString": true + }, + "description": "The PlayReady content type." + } + }, + "type": "object", + "required": [ + "allowTestDevices", + "licenseType", + "contentKeyLocation", + "contentType" + ], + "description": "The PlayReady license" + }, + "ContentKeyPolicyRestriction": { + "discriminator": "@odata.type", + "properties": { + "@odata.type": { + "type": "string", + "description": "The discriminator for derived types." + } + }, + "type": "object", + "required": [ + "@odata.type" + ], + "description": "Base class for Content Key Policy restrictions. A derived class must be used to create a restriction." + }, + "ContentKeyPolicyOpenRestriction": { + "x-ms-discriminator-value": "#Microsoft.Media.ContentKeyPolicyOpenRestriction", + "allOf": [ + { + "$ref": "#/definitions/ContentKeyPolicyRestriction" + } + ], + "properties": {}, + "type": "object", + "description": "Represents an open restriction. License or key will be delivered on every request." + }, + "ContentKeyPolicyUnknownRestriction": { + "x-ms-discriminator-value": "#Microsoft.Media.ContentKeyPolicyUnknownRestriction", + "allOf": [ + { + "$ref": "#/definitions/ContentKeyPolicyRestriction" + } + ], + "properties": {}, + "type": "object", + "description": "Represents a ContentKeyPolicyRestriction that is unavailable in the current API version." + }, + "ContentKeyPolicyConfiguration": { + "discriminator": "@odata.type", + "properties": { + "@odata.type": { + "type": "string", + "description": "The discriminator for derived types." + } + }, + "type": "object", + "required": [ + "@odata.type" + ], + "description": "Base class for Content Key Policy configuration. A derived class must be used to create a configuration." + }, + "ContentKeyPolicyRestrictionTokenKey": { + "discriminator": "@odata.type", + "properties": { + "@odata.type": { + "type": "string", + "description": "The discriminator for derived types." + } + }, + "type": "object", + "required": [ + "@odata.type" + ], + "description": "Base class for Content Key Policy key for token validation. A derived class must be used to create a token key." + }, + "ContentKeyPolicySymmetricTokenKey": { + "x-ms-discriminator-value": "#Microsoft.Media.ContentKeyPolicySymmetricTokenKey", + "allOf": [ + { + "$ref": "#/definitions/ContentKeyPolicyRestrictionTokenKey" + } + ], + "properties": { + "keyValue": { + "type": "string", + "format": "byte", + "description": "The key value of the key", + "x-nullable": true + } + }, + "type": "object", + "required": [ + "keyValue" + ], + "description": "Specifies a symmetric key for token validation." + }, + "ContentKeyPolicyRsaTokenKey": { + "x-ms-discriminator-value": "#Microsoft.Media.ContentKeyPolicyRsaTokenKey", + "allOf": [ + { + "$ref": "#/definitions/ContentKeyPolicyRestrictionTokenKey" + } + ], + "properties": { + "exponent": { + "type": "string", + "format": "byte", + "description": "The RSA Parameter exponent", + "x-nullable": true + }, + "modulus": { + "type": "string", + "format": "byte", + "description": "The RSA Parameter modulus", + "x-nullable": true + } + }, + "type": "object", + "required": [ + "exponent", + "modulus" + ], + "description": "Specifies a RSA key for token validation" + }, + "ContentKeyPolicyX509CertificateTokenKey": { + "x-ms-discriminator-value": "#Microsoft.Media.ContentKeyPolicyX509CertificateTokenKey", + "allOf": [ + { + "$ref": "#/definitions/ContentKeyPolicyRestrictionTokenKey" + } + ], + "properties": { + "rawBody": { + "type": "string", + "format": "byte", + "description": "The raw data field of a certificate in PKCS 12 format (X509Certificate2 in .NET)", + "x-nullable": true + } + }, + "type": "object", + "required": [ + "rawBody" + ], + "description": "Specifies a certificate for token validation." + }, + "ContentKeyPolicyTokenRestriction": { + "x-ms-discriminator-value": "#Microsoft.Media.ContentKeyPolicyTokenRestriction", + "allOf": [ + { + "$ref": "#/definitions/ContentKeyPolicyRestriction" + } + ], + "properties": { + "issuer": { + "type": "string", + "description": "The token issuer." + }, + "audience": { + "type": "string", + "description": "The audience for the token." + }, + "primaryVerificationKey": { + "$ref": "#/definitions/ContentKeyPolicyRestrictionTokenKey", + "description": "The primary verification key." + }, + "alternateVerificationKeys": { + "type": "array", + "items": { + "$ref": "#/definitions/ContentKeyPolicyRestrictionTokenKey" + }, + "x-ms-identifiers": [], + "description": "A list of alternative verification keys." + }, + "requiredClaims": { + "type": "array", + "items": { + "$ref": "#/definitions/ContentKeyPolicyTokenClaim" + }, + "x-ms-identifiers": [], + "description": "A list of required token claims." + }, + "restrictionTokenType": { + "type": "string", + "enum": [ + "Unknown", + "Swt", + "Jwt" + ], + "x-ms-enum": { + "name": "ContentKeyPolicyRestrictionTokenType", + "values": [ + { + "value": "Unknown", + "description": "Represents a ContentKeyPolicyRestrictionTokenType that is unavailable in current API version." + }, + { + "value": "Swt", + "description": "Simple Web Token." + }, + { + "value": "Jwt", + "description": "JSON Web Token." + } + ], + "modelAsString": true + }, + "description": "The type of token." + }, + "openIdConnectDiscoveryDocument": { + "type": "string", + "description": "The OpenID connect discovery document." + } + }, + "type": "object", + "required": [ + "issuer", + "audience", + "primaryVerificationKey", + "restrictionTokenType" + ], + "description": "Represents a token restriction. Provided token must match these requirements for successful license or key delivery." + }, + "ContentKeyPolicyClearKeyConfiguration": { + "x-ms-discriminator-value": "#Microsoft.Media.ContentKeyPolicyClearKeyConfiguration", + "allOf": [ + { + "$ref": "#/definitions/ContentKeyPolicyConfiguration" + } + ], + "properties": {}, + "type": "object", + "description": "Represents a configuration for non-DRM keys." + }, + "ContentKeyPolicyUnknownConfiguration": { + "x-ms-discriminator-value": "#Microsoft.Media.ContentKeyPolicyUnknownConfiguration", + "allOf": [ + { + "$ref": "#/definitions/ContentKeyPolicyConfiguration" + } + ], + "properties": {}, + "type": "object", + "description": "Represents a ContentKeyPolicyConfiguration that is unavailable in the current API version." + }, + "ContentKeyPolicyWidevineConfiguration": { + "x-ms-discriminator-value": "#Microsoft.Media.ContentKeyPolicyWidevineConfiguration", + "allOf": [ + { + "$ref": "#/definitions/ContentKeyPolicyConfiguration" + } + ], + "properties": { + "widevineTemplate": { + "type": "string", + "description": "The Widevine template." + } + }, + "type": "object", + "required": [ + "widevineTemplate" + ], + "description": "Specifies a configuration for Widevine licenses." + }, + "ContentKeyPolicyPlayReadyConfiguration": { + "x-ms-discriminator-value": "#Microsoft.Media.ContentKeyPolicyPlayReadyConfiguration", + "allOf": [ + { + "$ref": "#/definitions/ContentKeyPolicyConfiguration" + } + ], + "properties": { + "licenses": { + "type": "array", + "items": { + "$ref": "#/definitions/ContentKeyPolicyPlayReadyLicense" + }, + "x-ms-identifiers": [], + "description": "The PlayReady licenses." + }, + "responseCustomData": { + "type": "string", + "description": "The custom response data." + } + }, + "type": "object", + "required": [ + "licenses" + ], + "description": "Specifies a configuration for PlayReady licenses." + }, + "ContentKeyPolicyFairPlayOfflineRentalConfiguration": { + "properties": { + "playbackDurationSeconds": { + "type": "integer", + "format": "int64", + "description": "Playback duration" + }, + "storageDurationSeconds": { + "type": "integer", + "format": "int64", + "description": "Storage duration" + } + }, + "type": "object", + "required": [ + "playbackDurationSeconds", + "storageDurationSeconds" + ] + }, + "ContentKeyPolicyFairPlayConfiguration": { + "x-ms-discriminator-value": "#Microsoft.Media.ContentKeyPolicyFairPlayConfiguration", + "allOf": [ + { + "$ref": "#/definitions/ContentKeyPolicyConfiguration" + } + ], + "properties": { + "ask": { + "type": "string", + "format": "byte", + "description": "The key that must be used as FairPlay Application Secret key.", + "x-nullable": true + }, + "fairPlayPfxPassword": { + "type": "string", + "description": "The password encrypting FairPlay certificate in PKCS 12 (pfx) format.", + "x-nullable": true + }, + "fairPlayPfx": { + "type": "string", + "description": "The Base64 representation of FairPlay certificate in PKCS 12 (pfx) format (including private key).", + "x-nullable": true + }, + "rentalAndLeaseKeyType": { + "type": "string", + "enum": [ + "Unknown", + "Undefined", + "DualExpiry", + "PersistentUnlimited", + "PersistentLimited" + ], + "x-ms-enum": { + "name": "ContentKeyPolicyFairPlayRentalAndLeaseKeyType", + "values": [ + { + "value": "Unknown", + "description": "Represents a ContentKeyPolicyFairPlayRentalAndLeaseKeyType that is unavailable in current API version." + }, + { + "value": "Undefined", + "description": "Key duration is not specified." + }, + { + "value": "DualExpiry", + "description": "Dual expiry for offline rental." + }, + { + "value": "PersistentUnlimited", + "description": "Content key can be persisted with an unlimited duration" + }, + { + "value": "PersistentLimited", + "description": "Content key can be persisted and the valid duration is limited by the Rental Duration value" + } + ], + "modelAsString": true + }, + "description": "The rental and lease key type." + }, + "rentalDuration": { + "type": "integer", + "format": "int64", + "description": "The rental duration. Must be greater than or equal to 0." + }, + "offlineRentalConfiguration": { + "$ref": "#/definitions/ContentKeyPolicyFairPlayOfflineRentalConfiguration", + "description": "Offline rental policy" + } + }, + "type": "object", + "required": [ + "ask", + "fairPlayPfxPassword", + "fairPlayPfx", + "rentalAndLeaseKeyType", + "rentalDuration" + ], + "description": "Specifies a configuration for FairPlay licenses." + }, + "ContentKeyPolicyOption": { + "properties": { + "policyOptionId": { + "type": "string", + "format": "uuid", + "description": "The legacy Policy Option ID.", + "readOnly": true, + "x-nullable": false + }, + "name": { + "type": "string", + "description": "The Policy Option description." + }, + "configuration": { + "$ref": "#/definitions/ContentKeyPolicyConfiguration", + "description": "The key delivery configuration." + }, + "restriction": { + "$ref": "#/definitions/ContentKeyPolicyRestriction", + "description": "The requirements that must be met to deliver keys with this configuration" + } + }, + "type": "object", + "required": [ + "configuration", + "restriction" + ], + "description": "Represents a policy option." + }, + "ContentKeyPolicyProperties": { + "properties": { + "policyId": { + "type": "string", + "format": "uuid", + "description": "The legacy Policy ID.", + "readOnly": true, + "x-nullable": false + }, + "created": { + "type": "string", + "format": "date-time", + "description": "The creation date of the Policy", + "readOnly": true, + "x-nullable": false + }, + "lastModified": { + "type": "string", + "format": "date-time", + "description": "The last modified date of the Policy", + "readOnly": true, + "x-nullable": false + }, + "description": { + "type": "string", + "description": "A description for the Policy." + }, + "options": { + "type": "array", + "items": { + "$ref": "#/definitions/ContentKeyPolicyOption" + }, + "x-ms-identifiers": [ + "policyOptionId" + ], + "description": "The Key Policy options." + } + }, + "type": "object", + "required": [ + "options" + ], + "description": "The properties of the Content Key Policy." + }, + "ContentKeyPolicy": { + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ContentKeyPolicyProperties", + "x-ms-client-flatten": true + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "The system metadata relating to this resource.", + "readOnly": true + } + }, + "type": "object", + "description": "A Content Key Policy resource." + }, + "ContentKeyPolicyCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ContentKeyPolicy" + }, + "description": "A collection of ContentKeyPolicy items." + }, + "@odata.nextLink": { + "type": "string", + "description": "A link to the next page of the collection (when the collection contains too many results to return in one response)." + } + }, + "type": "object", + "description": "A collection of ContentKeyPolicy items." + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/contentKeyPolicies": { + "get": { + "summary": "List Content Key Policies", + "description": "Lists the Content Key Policies in the account", + "operationId": "ContentKeyPolicies_List", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ContentKeyPolicyCollection" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "Restricts the set of items returned." + }, + { + "name": "$top", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "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." + }, + { + "name": "$orderby", + "in": "query", + "required": false, + "type": "string", + "description": "Specifies the key by which the result collection should be ordered." + } + ], + "x-ms-pageable": { + "nextLinkName": "@odata.nextLink" + }, + "x-ms-odata": "#/definitions/ContentKeyPolicy", + "x-ms-examples": { + "Lists all Content Key Policies": { + "$ref": "examples/content-key-policies-list-all.json" + }, + "Lists Content Key Policies ordered by last modified.": { + "$ref": "examples/content-key-policies-list-by-lastModified.json" + }, + "Lists Content Key Policies with created and last modified filters.": { + "$ref": "examples/content-key-policies-list-in-date-range.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/contentKeyPolicies/{contentKeyPolicyName}": { + "get": { + "summary": "Get a Content Key Policy", + "description": "Get the details of a Content Key Policy in the Media Services account", + "operationId": "ContentKeyPolicies_Get", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ContentKeyPolicy" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "contentKeyPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The Content Key Policy name." + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Get a Content Key Policy by name": { + "$ref": "examples/content-key-policies-get-by-name.json" + } + } + }, + "put": { + "summary": "Create or update an Content Key Policy", + "description": "Create or update a Content Key Policy in the Media Services account", + "operationId": "ContentKeyPolicies_CreateOrUpdate", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ContentKeyPolicy" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/ContentKeyPolicy" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "contentKeyPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The Content Key Policy name." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ContentKeyPolicy" + }, + "description": "The request parameters" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Creates a Content Key Policy with PlayReady option and Open Restriction": { + "$ref": "examples/content-key-policies-create-playready-open.json" + }, + "Creates a Content Key Policy with Widevine option and Token Restriction": { + "$ref": "examples/content-key-policies-create-widevine-token.json" + }, + "Creates a Content Key Policy with ClearKey option and Token Restriction": { + "$ref": "examples/content-key-policies-create-nodrm-token.json" + }, + "Creates a Content Key Policy with multiple options": { + "$ref": "examples/content-key-policies-create-multiple-options.json" + } + } + }, + "delete": { + "summary": "Delete a Content Key Policy", + "description": "Deletes a Content Key Policy in the Media Services account", + "operationId": "ContentKeyPolicies_Delete", + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "contentKeyPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The Content Key Policy name." + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Delete a Key Policy": { + "$ref": "examples/content-key-policies-delete.json" + } + } + }, + "patch": { + "summary": "Update a Content Key Policy", + "description": "Updates an existing Content Key Policy in the Media Services account", + "operationId": "ContentKeyPolicies_Update", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ContentKeyPolicy" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "contentKeyPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The Content Key Policy name." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ContentKeyPolicy" + }, + "description": "The request parameters" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Update a Content Key Policy": { + "$ref": "examples/content-key-policies-update.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/contentKeyPolicies/{contentKeyPolicyName}/getPolicyPropertiesWithSecrets": { + "post": { + "summary": "Get a Content Key Policy with secrets", + "description": "Get a Content Key Policy including secret values", + "operationId": "ContentKeyPolicies_GetPolicyPropertiesWithSecrets", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ContentKeyPolicyProperties" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "contentKeyPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The Content Key Policy name." + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Get an Content Key Policy with secrets": { + "$ref": "examples/content-key-policies-get-with-secrets.json" + } + } + } + } + }, + "parameters": { + "SubscriptionId": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The unique identifier for a Microsoft Azure subscription." + }, + "ResourceGroupName": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group within the Azure subscription.", + "x-ms-parameter-location": "method" + }, + "MediaServicesAccountName": { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "description": "The Media Services account name.", + "x-ms-parameter-location": "method" + }, + "ApiVersion": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The version of the API to be used with the client request." + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/StreamingPoliciesAndStreamingLocators.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/StreamingPoliciesAndStreamingLocators.json new file mode 100644 index 000000000000..5b6c4f8dd128 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/StreamingPoliciesAndStreamingLocators.json @@ -0,0 +1,1292 @@ +{ + "schemes": [ + "https" + ], + "swagger": "2.0", + "info": { + "title": "Azure Media Services", + "description": "This Swagger was generated by the API Framework.", + "version": "2022-08-01" + }, + "host": "management.azure.com", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "Impersonate your user account" + } + } + }, + "definitions": { + "TrackPropertyCondition": { + "properties": { + "property": { + "type": "string", + "enum": [ + "Unknown", + "FourCC" + ], + "x-ms-enum": { + "name": "TrackPropertyType", + "values": [ + { + "value": "Unknown", + "description": "Unknown track property" + }, + { + "value": "FourCC", + "description": "Track FourCC" + } + ], + "modelAsString": true + }, + "description": "Track property type" + }, + "operation": { + "type": "string", + "enum": [ + "Unknown", + "Equal" + ], + "x-ms-enum": { + "name": "TrackPropertyCompareOperation", + "values": [ + { + "value": "Unknown", + "description": "Unknown track property compare operation" + }, + { + "value": "Equal", + "description": "Equal operation" + } + ], + "modelAsString": true + }, + "description": "Track property condition operation" + }, + "value": { + "type": "string", + "description": "Track property value" + } + }, + "type": "object", + "required": [ + "property", + "operation" + ], + "description": "Class to specify one track property condition" + }, + "TrackSelection": { + "properties": { + "trackSelections": { + "type": "array", + "items": { + "$ref": "#/definitions/TrackPropertyCondition" + }, + "x-ms-identifiers": [], + "description": "TrackSelections is a track property condition list which can specify track(s)" + } + }, + "type": "object", + "description": "Class to select a track" + }, + "DefaultKey": { + "properties": { + "label": { + "type": "string", + "description": "Label can be used to specify Content Key when creating a Streaming Locator" + }, + "policyName": { + "type": "string", + "description": "Policy used by Default Key" + } + }, + "type": "object", + "description": "Class to specify properties of default content key for each encryption scheme" + }, + "StreamingPolicyContentKey": { + "properties": { + "label": { + "type": "string", + "description": "Label can be used to specify Content Key when creating a Streaming Locator" + }, + "policyName": { + "type": "string", + "description": "Policy used by Content Key" + }, + "tracks": { + "type": "array", + "items": { + "$ref": "#/definitions/TrackSelection" + }, + "x-ms-identifiers": [], + "description": "Tracks which use this content key" + } + }, + "type": "object", + "description": "Class to specify properties of content key" + }, + "StreamingPolicyContentKeys": { + "properties": { + "defaultKey": { + "$ref": "#/definitions/DefaultKey", + "description": "Default content key for an encryption scheme" + }, + "keyToTrackMappings": { + "type": "array", + "items": { + "$ref": "#/definitions/StreamingPolicyContentKey" + }, + "x-ms-identifiers": [], + "description": "Representing tracks needs separate content key" + } + }, + "type": "object", + "description": "Class to specify properties of all content keys in Streaming Policy" + }, + "StreamingPolicyPlayReadyConfiguration": { + "properties": { + "customLicenseAcquisitionUrlTemplate": { + "type": "string", + "description": "Template for the URL of the custom service delivering licenses to end user players. Not required when using Azure Media Services for issuing licenses. The template supports replaceable tokens that the service will update at runtime with the value specific to the request. The currently supported token values are {AlternativeMediaId}, which is replaced with the value of StreamingLocatorId.AlternativeMediaId, and {ContentKeyId}, which is replaced with the value of identifier of the key being requested." + }, + "playReadyCustomAttributes": { + "type": "string", + "description": "Custom attributes for PlayReady" + } + }, + "type": "object", + "description": "Class to specify configurations of PlayReady in Streaming Policy" + }, + "StreamingPolicyWidevineConfiguration": { + "properties": { + "customLicenseAcquisitionUrlTemplate": { + "type": "string", + "description": "Template for the URL of the custom service delivering licenses to end user players. Not required when using Azure Media Services for issuing licenses. The template supports replaceable tokens that the service will update at runtime with the value specific to the request. The currently supported token values are {AlternativeMediaId}, which is replaced with the value of StreamingLocatorId.AlternativeMediaId, and {ContentKeyId}, which is replaced with the value of identifier of the key being requested." + } + }, + "type": "object", + "description": "Class to specify configurations of Widevine in Streaming Policy" + }, + "StreamingPolicyFairPlayConfiguration": { + "properties": { + "customLicenseAcquisitionUrlTemplate": { + "type": "string", + "description": "Template for the URL of the custom service delivering licenses to end user players. Not required when using Azure Media Services for issuing licenses. The template supports replaceable tokens that the service will update at runtime with the value specific to the request. The currently supported token values are {AlternativeMediaId}, which is replaced with the value of StreamingLocatorId.AlternativeMediaId, and {ContentKeyId}, which is replaced with the value of identifier of the key being requested." + }, + "allowPersistentLicense": { + "type": "boolean", + "description": "All license to be persistent or not" + } + }, + "type": "object", + "required": [ + "allowPersistentLicense" + ], + "description": "Class to specify configurations of FairPlay in Streaming Policy" + }, + "CbcsDrmConfiguration": { + "properties": { + "fairPlay": { + "$ref": "#/definitions/StreamingPolicyFairPlayConfiguration", + "description": "FairPlay configurations" + }, + "playReady": { + "$ref": "#/definitions/StreamingPolicyPlayReadyConfiguration", + "description": "PlayReady configurations" + }, + "widevine": { + "$ref": "#/definitions/StreamingPolicyWidevineConfiguration", + "description": "Widevine configurations" + } + }, + "type": "object", + "description": "Class to specify DRM configurations of CommonEncryptionCbcs scheme in Streaming Policy" + }, + "CencDrmConfiguration": { + "properties": { + "playReady": { + "$ref": "#/definitions/StreamingPolicyPlayReadyConfiguration", + "description": "PlayReady configurations" + }, + "widevine": { + "$ref": "#/definitions/StreamingPolicyWidevineConfiguration", + "description": "Widevine configurations" + } + }, + "type": "object", + "description": "Class to specify DRM configurations of CommonEncryptionCenc scheme in Streaming Policy" + }, + "ClearKeyEncryptionConfiguration": { + "properties": { + "customKeysAcquisitionUrlTemplate": { + "type": "string", + "description": "Template for the URL of the custom service delivering content keys to end user players. Not required when using Azure Media Services for issuing licenses. The template supports replaceable tokens that the service will update at runtime with the value specific to the request. The currently supported token value is {AlternativeMediaId}, which is replaced with the value of StreamingLocatorId.AlternativeMediaId." + } + }, + "type": "object", + "description": "Class to specify ClearKey configuration of common encryption schemes in Streaming Policy" + }, + "EnabledProtocols": { + "properties": { + "download": { + "type": "boolean", + "description": "Enable Download protocol or not" + }, + "dash": { + "type": "boolean", + "description": "Enable DASH protocol or not" + }, + "hls": { + "type": "boolean", + "description": "Enable HLS protocol or not" + }, + "smoothStreaming": { + "type": "boolean", + "description": "Enable SmoothStreaming protocol or not" + } + }, + "type": "object", + "required": [ + "download", + "dash", + "hls", + "smoothStreaming" + ], + "description": "Class to specify which protocols are enabled" + }, + "NoEncryption": { + "properties": { + "enabledProtocols": { + "$ref": "#/definitions/EnabledProtocols", + "description": "Representing supported protocols" + } + }, + "type": "object", + "description": "Class for NoEncryption scheme" + }, + "EnvelopeEncryption": { + "properties": { + "enabledProtocols": { + "$ref": "#/definitions/EnabledProtocols", + "description": "Representing supported protocols" + }, + "clearTracks": { + "type": "array", + "items": { + "$ref": "#/definitions/TrackSelection" + }, + "x-ms-identifiers": [], + "description": "Representing which tracks should not be encrypted" + }, + "contentKeys": { + "$ref": "#/definitions/StreamingPolicyContentKeys", + "description": "Representing default content key for each encryption scheme and separate content keys for specific tracks" + }, + "customKeyAcquisitionUrlTemplate": { + "type": "string", + "description": "Template for the URL of the custom service delivering keys to end user players. Not required when using Azure Media Services for issuing keys. The template supports replaceable tokens that the service will update at runtime with the value specific to the request. The currently supported token values are {AlternativeMediaId}, which is replaced with the value of StreamingLocatorId.AlternativeMediaId, and {ContentKeyId}, which is replaced with the value of identifier of the key being requested." + } + }, + "type": "object", + "description": "Class for EnvelopeEncryption encryption scheme" + }, + "CommonEncryptionCenc": { + "properties": { + "enabledProtocols": { + "$ref": "#/definitions/EnabledProtocols", + "description": "Representing supported protocols" + }, + "clearTracks": { + "type": "array", + "items": { + "$ref": "#/definitions/TrackSelection" + }, + "x-ms-identifiers": [], + "description": "Representing which tracks should not be encrypted" + }, + "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" + }, + "clearKeyEncryptionConfiguration": { + "$ref": "#/definitions/ClearKeyEncryptionConfiguration", + "description": "Optional configuration supporting ClearKey in CommonEncryptionCenc encryption scheme." + } + }, + "type": "object", + "description": "Class for envelope encryption scheme" + }, + "CommonEncryptionCbcs": { + "properties": { + "enabledProtocols": { + "$ref": "#/definitions/EnabledProtocols", + "description": "Representing supported protocols" + }, + "clearTracks": { + "type": "array", + "items": { + "$ref": "#/definitions/TrackSelection" + }, + "x-ms-identifiers": [], + "description": "Representing which tracks should not be encrypted" + }, + "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" + }, + "clearKeyEncryptionConfiguration": { + "$ref": "#/definitions/ClearKeyEncryptionConfiguration", + "description": "Optional configuration supporting ClearKey in CommonEncryptionCbcs encryption scheme." + } + }, + "type": "object", + "description": "Class for CommonEncryptionCbcs encryption scheme" + }, + "StreamingPolicyProperties": { + "properties": { + "created": { + "type": "string", + "format": "date-time", + "description": "Creation time of Streaming Policy", + "readOnly": true, + "x-nullable": false + }, + "defaultContentKeyPolicyName": { + "type": "string", + "description": "Default ContentKey used by current Streaming Policy" + }, + "envelopeEncryption": { + "$ref": "#/definitions/EnvelopeEncryption", + "description": "Configuration of EnvelopeEncryption" + }, + "commonEncryptionCenc": { + "$ref": "#/definitions/CommonEncryptionCenc", + "description": "Configuration of CommonEncryptionCenc" + }, + "commonEncryptionCbcs": { + "$ref": "#/definitions/CommonEncryptionCbcs", + "description": "Configuration of CommonEncryptionCbcs" + }, + "noEncryption": { + "$ref": "#/definitions/NoEncryption", + "description": "Configurations of NoEncryption" + } + }, + "type": "object", + "description": "Class to specify properties of Streaming Policy" + }, + "StreamingPolicy": { + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/StreamingPolicyProperties", + "x-ms-client-flatten": true + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "The system metadata relating to this resource.", + "readOnly": true + } + }, + "type": "object", + "description": "A Streaming Policy resource" + }, + "StreamingLocatorContentKey": { + "properties": { + "id": { + "type": "string", + "format": "uuid", + "description": "ID of Content Key" + }, + "type": { + "type": "string", + "enum": [ + "CommonEncryptionCenc", + "CommonEncryptionCbcs", + "EnvelopeEncryption" + ], + "x-ms-enum": { + "name": "StreamingLocatorContentKeyType", + "values": [ + { + "value": "CommonEncryptionCenc", + "description": "Common Encryption using CENC" + }, + { + "value": "CommonEncryptionCbcs", + "description": "Common Encryption using CBCS" + }, + { + "value": "EnvelopeEncryption", + "description": "Envelope Encryption" + } + ], + "modelAsString": true + }, + "description": "Encryption type of Content Key", + "readOnly": true, + "x-nullable": false + }, + "labelReferenceInStreamingPolicy": { + "type": "string", + "description": "Label of Content Key as specified in the Streaming Policy" + }, + "value": { + "type": "string", + "description": "Value of Content Key" + }, + "policyName": { + "type": "string", + "description": "ContentKeyPolicy used by Content Key", + "readOnly": true + }, + "tracks": { + "type": "array", + "items": { + "$ref": "#/definitions/TrackSelection" + }, + "x-ms-identifiers": [], + "description": "Tracks which use this Content Key", + "readOnly": true + } + }, + "type": "object", + "required": [ + "id" + ], + "description": "Class for content key in Streaming Locator" + }, + "StreamingPath": { + "properties": { + "streamingProtocol": { + "type": "string", + "enum": [ + "Hls", + "Dash", + "SmoothStreaming", + "Download" + ], + "x-ms-enum": { + "name": "StreamingPolicyStreamingProtocol", + "values": [ + { + "value": "Hls", + "description": "HLS protocol" + }, + { + "value": "Dash", + "description": "DASH protocol" + }, + { + "value": "SmoothStreaming", + "description": "SmoothStreaming protocol" + }, + { + "value": "Download", + "description": "Download protocol" + } + ], + "modelAsString": true + }, + "description": "Streaming protocol" + }, + "encryptionScheme": { + "type": "string", + "enum": [ + "NoEncryption", + "EnvelopeEncryption", + "CommonEncryptionCenc", + "CommonEncryptionCbcs" + ], + "x-ms-enum": { + "name": "EncryptionScheme", + "values": [ + { + "value": "NoEncryption", + "description": "NoEncryption scheme" + }, + { + "value": "EnvelopeEncryption", + "description": "EnvelopeEncryption scheme" + }, + { + "value": "CommonEncryptionCenc", + "description": "CommonEncryptionCenc scheme" + }, + { + "value": "CommonEncryptionCbcs", + "description": "CommonEncryptionCbcs scheme" + } + ], + "modelAsString": true + }, + "description": "Encryption scheme" + }, + "paths": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Streaming paths for each protocol and encryptionScheme pair" + } + }, + "type": "object", + "required": [ + "streamingProtocol", + "encryptionScheme" + ], + "description": "Class of paths for streaming" + }, + "StreamingLocatorProperties": { + "properties": { + "assetName": { + "type": "string", + "description": "Asset Name" + }, + "created": { + "type": "string", + "format": "date-time", + "description": "The creation time of the Streaming Locator.", + "readOnly": true, + "x-nullable": false + }, + "startTime": { + "type": "string", + "format": "date-time", + "description": "The start time of the Streaming Locator." + }, + "endTime": { + "type": "string", + "format": "date-time", + "description": "The end time of the Streaming Locator." + }, + "streamingLocatorId": { + "type": "string", + "format": "uuid", + "description": "The StreamingLocatorId of the Streaming Locator." + }, + "streamingPolicyName": { + "type": "string", + "description": "Name of the Streaming Policy used by this Streaming Locator. Either specify the name of Streaming Policy you created or use one of the predefined Streaming Policies. The predefined Streaming Policies available are: 'Predefined_DownloadOnly', 'Predefined_ClearStreamingOnly', 'Predefined_DownloadAndClearStreaming', 'Predefined_ClearKey', 'Predefined_MultiDrmCencStreaming' and 'Predefined_MultiDrmStreaming'" + }, + "defaultContentKeyPolicyName": { + "type": "string", + "description": "Name of the default ContentKeyPolicy used by this Streaming Locator." + }, + "contentKeys": { + "type": "array", + "items": { + "$ref": "#/definitions/StreamingLocatorContentKey" + }, + "description": "The ContentKeys used by this Streaming Locator." + }, + "alternativeMediaId": { + "type": "string", + "description": "Alternative Media ID of this Streaming Locator" + }, + "filters": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of asset or account filters which apply to this streaming locator" + } + }, + "type": "object", + "required": [ + "assetName", + "streamingPolicyName" + ], + "description": "Properties of the Streaming Locator." + }, + "ListContentKeysResponse": { + "properties": { + "contentKeys": { + "type": "array", + "items": { + "$ref": "#/definitions/StreamingLocatorContentKey" + }, + "description": "ContentKeys used by current Streaming Locator" + } + }, + "type": "object", + "description": "Class of response for listContentKeys action" + }, + "ListPathsResponse": { + "properties": { + "streamingPaths": { + "type": "array", + "items": { + "$ref": "#/definitions/StreamingPath" + }, + "x-ms-identifiers": [], + "description": "Streaming Paths supported by current Streaming Locator" + }, + "downloadPaths": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Download Paths supported by current Streaming Locator" + } + }, + "type": "object", + "description": "Class of response for listPaths action" + }, + "StreamingLocator": { + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/StreamingLocatorProperties", + "x-ms-client-flatten": true + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "The system metadata relating to this resource.", + "readOnly": true + } + }, + "type": "object", + "description": "A Streaming Locator resource" + }, + "StreamingPolicyCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/StreamingPolicy" + }, + "description": "A collection of StreamingPolicy items." + }, + "@odata.nextLink": { + "type": "string", + "description": "A link to the next page of the collection (when the collection contains too many results to return in one response)." + } + }, + "type": "object", + "description": "A collection of StreamingPolicy items." + }, + "StreamingLocatorCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/StreamingLocator" + }, + "description": "A collection of StreamingLocator items." + }, + "@odata.nextLink": { + "type": "string", + "description": "A link to the next page of the collection (when the collection contains too many results to return in one response)." + } + }, + "type": "object", + "description": "A collection of StreamingLocator items." + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/streamingPolicies": { + "get": { + "summary": "List Streaming Policies", + "description": "Lists the Streaming Policies in the account", + "operationId": "StreamingPolicies_List", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/StreamingPolicyCollection" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "Restricts the set of items returned." + }, + { + "name": "$top", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "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." + }, + { + "name": "$orderby", + "in": "query", + "required": false, + "type": "string", + "description": "Specifies the key by which the result collection should be ordered." + } + ], + "x-ms-pageable": { + "nextLinkName": "@odata.nextLink" + }, + "x-ms-odata": "#/definitions/StreamingPolicy", + "x-ms-examples": { + "Lists Streaming Policies": { + "$ref": "examples/streaming-policies-list.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/streamingPolicies/{streamingPolicyName}": { + "get": { + "summary": "Get a Streaming Policy", + "description": "Get the details of a Streaming Policy in the Media Services account", + "operationId": "StreamingPolicies_Get", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/StreamingPolicy" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "streamingPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The Streaming Policy name." + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Get a Streaming Policy by name": { + "$ref": "examples/streaming-policy-get-by-name.json" + } + } + }, + "put": { + "summary": "Create a Streaming Policy", + "description": "Create a Streaming Policy in the Media Services account", + "operationId": "StreamingPolicies_Create", + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/StreamingPolicy" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "streamingPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The Streaming Policy name." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/StreamingPolicy" + }, + "description": "The request parameters" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Creates a Streaming Policy with clear streaming": { + "$ref": "examples/streaming-policies-create-clear.json" + }, + "Creates a Streaming Policy with envelopeEncryption only": { + "$ref": "examples/streaming-policies-create-envelopeEncryption-only.json" + }, + "Creates a Streaming Policy with commonEncryptionCenc only": { + "$ref": "examples/streaming-policies-create-commonEncryptionCenc-only.json" + }, + "Creates a Streaming Policy with commonEncryptionCbcs only": { + "$ref": "examples/streaming-policies-create-commonEncryptionCbcs-only.json" + }, + "Creates a Streaming Policy with secure streaming": { + "$ref": "examples/streaming-policies-create-secure-streaming.json" + }, + "Creates a Streaming Policy with ClearKey encryption in commonEncryptionCenc.": { + "$ref": "examples/streaming-policies-create-commonEncryptionCenc-clearKeyEncryption.json" + }, + "Creates a Streaming Policy with ClearKey encryption in commonEncryptionCbcs.": { + "$ref": "examples/streaming-policies-create-commonEncryptionCbcs-clearKeyEncryption.json" + } + } + }, + "delete": { + "summary": "Delete a Streaming Policy", + "description": "Deletes a Streaming Policy in the Media Services account", + "operationId": "StreamingPolicies_Delete", + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "streamingPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The Streaming Policy name." + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Delete a Streaming Policy": { + "$ref": "examples/streaming-policies-delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/streamingLocators": { + "get": { + "summary": "List Streaming Locators", + "description": "Lists the Streaming Locators in the account", + "operationId": "StreamingLocators_List", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/StreamingLocatorCollection" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "Restricts the set of items returned." + }, + { + "name": "$top", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "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." + }, + { + "name": "$orderby", + "in": "query", + "required": false, + "type": "string", + "description": "Specifies the key by which the result collection should be ordered." + } + ], + "x-ms-pageable": { + "nextLinkName": "@odata.nextLink" + }, + "x-ms-odata": "#/definitions/StreamingLocator", + "x-ms-examples": { + "Lists Streaming Locators": { + "$ref": "examples/streaming-locators-list.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/streamingLocators/{streamingLocatorName}": { + "get": { + "summary": "Get a Streaming Locator", + "description": "Get the details of a Streaming Locator in the Media Services account", + "operationId": "StreamingLocators_Get", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/StreamingLocator" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "streamingLocatorName", + "in": "path", + "required": true, + "type": "string", + "description": "The Streaming Locator name." + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Get a Streaming Locator by name": { + "$ref": "examples/streaming-locators-get-by-name.json" + } + } + }, + "put": { + "summary": "Create a Streaming Locator", + "description": "Create a Streaming Locator in the Media Services account", + "operationId": "StreamingLocators_Create", + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/StreamingLocator" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "streamingLocatorName", + "in": "path", + "required": true, + "type": "string", + "description": "The Streaming Locator name." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/StreamingLocator" + }, + "description": "The request parameters" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Creates a Streaming Locator with clear streaming": { + "$ref": "examples/streaming-locators-create-clear.json" + }, + "Creates a Streaming Locator with secure streaming": { + "$ref": "examples/streaming-locators-create-secure.json" + }, + "Creates a Streaming Locator with user defined content keys": { + "$ref": "examples/streaming-locators-create-secure-userDefinedContentKeys.json" + } + } + }, + "delete": { + "summary": "Delete a Streaming Locator", + "description": "Deletes a Streaming Locator in the Media Services account", + "operationId": "StreamingLocators_Delete", + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "streamingLocatorName", + "in": "path", + "required": true, + "type": "string", + "description": "The Streaming Locator name." + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Delete a Streaming Locator": { + "$ref": "examples/streaming-locators-delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/streamingLocators/{streamingLocatorName}/listContentKeys": { + "post": { + "summary": "List Content Keys", + "description": "List Content Keys used by this Streaming Locator", + "operationId": "StreamingLocators_ListContentKeys", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ListContentKeysResponse" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "streamingLocatorName", + "in": "path", + "required": true, + "type": "string", + "description": "The Streaming Locator name." + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "List Content Keys": { + "$ref": "examples/streaming-locators-list-content-keys.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/streamingLocators/{streamingLocatorName}/listPaths": { + "post": { + "summary": "List Paths", + "description": "List Paths supported by this Streaming Locator", + "operationId": "StreamingLocators_ListPaths", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ListPathsResponse" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "streamingLocatorName", + "in": "path", + "required": true, + "type": "string", + "description": "The Streaming Locator name." + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "List Paths which has streaming paths only": { + "$ref": "examples/streaming-locators-list-paths-streaming-only.json" + }, + "List Paths which has streaming paths and download paths": { + "$ref": "examples/streaming-locators-list-paths-streaming-and-download.json" + } + } + } + } + }, + "parameters": { + "SubscriptionId": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The unique identifier for a Microsoft Azure subscription." + }, + "ResourceGroupName": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group within the Azure subscription.", + "x-ms-parameter-location": "method" + }, + "MediaServicesAccountName": { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "description": "The Media Services account name.", + "x-ms-parameter-location": "method" + }, + "ApiVersion": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The version of the API to be used with the client request." + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/accountFilters-create.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/accountFilters-create.json new file mode 100644 index 000000000000..fa79c462d43b --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/accountFilters-create.json @@ -0,0 +1,171 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "filterName": "newAccountFilter", + "api-version": "2022-08-01", + "parameters": { + "properties": { + "presentationTimeRange": { + "startTimestamp": 0, + "endTimestamp": 170000000, + "presentationWindowDuration": 9223372036854774806, + "liveBackoffDuration": 0, + "timescale": 10000000, + "forceEndTimestamp": false + }, + "firstQuality": { + "bitrate": 128000 + }, + "tracks": [ + { + "trackSelections": [ + { + "property": "Type", + "operation": "Equal", + "value": "Audio" + }, + { + "property": "Language", + "operation": "NotEqual", + "value": "en" + }, + { + "property": "FourCC", + "operation": "NotEqual", + "value": "EC-3" + } + ] + }, + { + "trackSelections": [ + { + "property": "Type", + "operation": "Equal", + "value": "Video" + }, + { + "property": "Bitrate", + "operation": "Equal", + "value": "3000000-5000000" + } + ] + } + ] + } + } + }, + "responses": { + "201": { + "body": { + "name": "newAccountFilter", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/accountFilters/newAccountFilter", + "type": "Microsoft.Media/mediaservices/accountFilters", + "properties": { + "presentationTimeRange": { + "startTimestamp": 0, + "endTimestamp": 170000000, + "presentationWindowDuration": 9223372036854774806, + "liveBackoffDuration": 0, + "timescale": 10000000, + "forceEndTimestamp": false + }, + "firstQuality": { + "bitrate": 128000 + }, + "tracks": [ + { + "trackSelections": [ + { + "property": "Type", + "value": "Audio", + "operation": "Equal" + }, + { + "property": "Language", + "value": "en", + "operation": "NotEqual" + }, + { + "property": "FourCC", + "value": "EC-3", + "operation": "NotEqual" + } + ] + }, + { + "trackSelections": [ + { + "property": "Type", + "value": "Video", + "operation": "Equal" + }, + { + "property": "Bitrate", + "value": "3000000-5000000", + "operation": "Equal" + } + ] + } + ] + } + } + }, + "200": { + "body": { + "name": "newAccountFilter", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/accountFilters/newAccountFilter", + "type": "Microsoft.Media/mediaservices/accountFilters", + "properties": { + "presentationTimeRange": { + "startTimestamp": 0, + "endTimestamp": 170000000, + "presentationWindowDuration": 9223372036854774806, + "liveBackoffDuration": 0, + "timescale": 10000000, + "forceEndTimestamp": false + }, + "firstQuality": { + "bitrate": 128000 + }, + "tracks": [ + { + "trackSelections": [ + { + "property": "Type", + "value": "Audio", + "operation": "Equal" + }, + { + "property": "Language", + "value": "en", + "operation": "NotEqual" + }, + { + "property": "FourCC", + "value": "EC-3", + "operation": "NotEqual" + } + ] + }, + { + "trackSelections": [ + { + "property": "Type", + "value": "Video", + "operation": "Equal" + }, + { + "property": "Bitrate", + "value": "3000000-5000000", + "operation": "Equal" + } + ] + } + ] + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/accountFilters-delete.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/accountFilters-delete.json new file mode 100644 index 000000000000..306fadc9ce6a --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/accountFilters-delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "filterName": "accountFilterWithTimeWindowAndTrack", + "api-version": "2022-08-01" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/accountFilters-get-by-name.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/accountFilters-get-by-name.json new file mode 100644 index 000000000000..88821861dd08 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/accountFilters-get-by-name.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "filterName": "accountFilterWithTrack", + "api-version": "2022-08-01" + }, + "responses": { + "200": { + "body": { + "name": "accountFilterWithTrack", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/accountFilters/accountFilterWithTrack", + "type": "Microsoft.Media/mediaservices/accountFilters", + "properties": { + "tracks": [ + { + "trackSelections": [ + { + "property": "Type", + "value": "Audio", + "operation": "Equal" + }, + { + "property": "Language", + "value": "en", + "operation": "NotEqual" + }, + { + "property": "FourCC", + "value": "EC-3", + "operation": "NotEqual" + } + ] + }, + { + "trackSelections": [ + { + "property": "Type", + "value": "Video", + "operation": "Equal" + }, + { + "property": "Bitrate", + "value": "3000000-5000000", + "operation": "Equal" + } + ] + } + ] + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/accountFilters-list-all.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/accountFilters-list-all.json new file mode 100644 index 000000000000..798d9b92b5ff --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/accountFilters-list-all.json @@ -0,0 +1,111 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "api-version": "2022-08-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "accountFilterWithTimeWindowAndTrack", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/accountFilters/accountFilterWithTimeWindowAndTrack", + "type": "Microsoft.Media/mediaservices/accountFilters", + "properties": { + "presentationTimeRange": { + "startTimestamp": 0, + "endTimestamp": 170000000, + "presentationWindowDuration": 9223372036854774806, + "liveBackoffDuration": 0, + "timescale": 10000000, + "forceEndTimestamp": false + }, + "firstQuality": { + "bitrate": 128000 + }, + "tracks": [ + { + "trackSelections": [ + { + "property": "Type", + "value": "Audio", + "operation": "Equal" + }, + { + "property": "Language", + "value": "en", + "operation": "NotEqual" + }, + { + "property": "FourCC", + "value": "EC-3", + "operation": "NotEqual" + } + ] + }, + { + "trackSelections": [ + { + "property": "Type", + "value": "Video", + "operation": "Equal" + }, + { + "property": "Bitrate", + "value": "3000000-5000000", + "operation": "Equal" + } + ] + } + ] + } + }, + { + "name": "accountFilterWithTrack", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/accountFilters/accountFilterWithTrack", + "type": "Microsoft.Media/mediaservices/accountFilters", + "properties": { + "tracks": [ + { + "trackSelections": [ + { + "property": "Type", + "value": "Audio", + "operation": "Equal" + }, + { + "property": "Language", + "value": "en", + "operation": "NotEqual" + }, + { + "property": "FourCC", + "value": "EC-3", + "operation": "NotEqual" + } + ] + }, + { + "trackSelections": [ + { + "property": "Type", + "value": "Video", + "operation": "Equal" + }, + { + "property": "Bitrate", + "value": "3000000-5000000", + "operation": "Equal" + } + ] + } + ] + } + } + ] + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/accountFilters-update.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/accountFilters-update.json new file mode 100644 index 000000000000..54e4ee2976e2 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/accountFilters-update.json @@ -0,0 +1,81 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "filterName": "accountFilterWithTimeWindowAndTrack", + "api-version": "2022-08-01", + "parameters": { + "properties": { + "presentationTimeRange": { + "startTimestamp": 10, + "endTimestamp": 170000000, + "presentationWindowDuration": 9223372036854774806, + "liveBackoffDuration": 0, + "timescale": 10000000, + "forceEndTimestamp": false + }, + "firstQuality": { + "bitrate": 128000 + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "accountFilterWithTimeWindowAndTrack", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/accountFilters/accountFilterWithTimeWindowAndTrack", + "type": "Microsoft.Media/mediaservices/accountFilters", + "properties": { + "presentationTimeRange": { + "startTimestamp": 10, + "endTimestamp": 170000000, + "presentationWindowDuration": 9223372036854774806, + "liveBackoffDuration": 0, + "timescale": 10000000, + "forceEndTimestamp": false + }, + "firstQuality": { + "bitrate": 128000 + }, + "tracks": [ + { + "trackSelections": [ + { + "property": "Type", + "value": "Audio", + "operation": "Equal" + }, + { + "property": "Language", + "value": "en", + "operation": "NotEqual" + }, + { + "property": "FourCC", + "value": "EC-3", + "operation": "NotEqual" + } + ] + }, + { + "trackSelections": [ + { + "property": "Type", + "value": "Video", + "operation": "Equal" + }, + { + "property": "Bitrate", + "value": "3000000-5000000", + "operation": "Equal" + } + ] + } + ] + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/asset-tracks-create.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/asset-tracks-create.json new file mode 100644 index 000000000000..179098a112d5 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/asset-tracks-create.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "assetName": "ClimbingMountRainer", + "trackName": "text3", + "api-version": "2022-08-01", + "parameters": { + "properties": { + "track": { + "@odata.type": "#Microsoft.Media.TextTrack", + "displayName": "A new track", + "fileName": "text3.ttml", + "playerVisibility": "Visible" + } + } + } + }, + "responses": { + "201": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Media/resourceGroups/contoso/providers/Microsoft.Media/mediaServices/contosomedia/assets/ClimbingMountRainer/tracks/text3/operationStatuses/62e4d893-d233-4005-988e-a428d9f77076?api-version=2022-08-01", + "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Media/resourceGroups/contoso/providers/Microsoft.Media/mediaServices/contosomedia/assets/ClimbingMountRainer/tracks/text3/operationResults/62e4d893-d233-4005-988e-a428d9f77076?api-version=2022-08-01" + }, + "body": { + "name": "text3", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountRainer/tracks/text3", + "type": "Microsoft.Media/mediaservices/assets/tracks", + "properties": { + "track": { + "@odata.type": "#Microsoft.Media.TextTrack", + "fileName": "text3.ttml", + "displayName": "A new track", + "playerVisibility": "Visible" + }, + "provisioningState": "InProgress" + } + } + }, + "200": { + "body": { + "name": "text3", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountRainer/tracks/text3", + "type": "Microsoft.Media/mediaservices/assets/tracks", + "properties": { + "track": { + "@odata.type": "#Microsoft.Media.TextTrack", + "fileName": "text3.ttml", + "displayName": "A new track", + "playerVisibility": "Visible" + }, + "provisioningState": "InProgress" + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/asset-tracks-delete.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/asset-tracks-delete.json new file mode 100644 index 000000000000..a2597a0d9ab0 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/asset-tracks-delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "assetName": "ClimbingMountRainer", + "trackName": "text2", + "api-version": "2022-08-01" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/asset-tracks-get-by-name.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/asset-tracks-get-by-name.json new file mode 100644 index 000000000000..3d299e5dd0e2 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/asset-tracks-get-by-name.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "assetName": "ClimbingMountRainer", + "trackName": "text1", + "api-version": "2022-08-01" + }, + "responses": { + "200": { + "body": { + "name": "text1", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountRainer/tracks/text1", + "type": "Microsoft.Media/mediaservices/assets/tracks", + "properties": { + "track": { + "@odata.type": "#Microsoft.Media.TextTrack", + "fileName": "auto_generated.ttml", + "displayName": "Auto generated", + "languageCode": "en-us", + "playerVisibility": "Visible" + }, + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/asset-tracks-list-all.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/asset-tracks-list-all.json new file mode 100644 index 000000000000..daf94cc8eabd --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/asset-tracks-list-all.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "assetName": "ClimbingMountRainer", + "api-version": "2022-08-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "video", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountRainer/tracks/video", + "type": "Microsoft.Media/mediaservices/assets/tracks", + "properties": { + "track": { + "@odata.type": "#Microsoft.Media.VideoTrack" + }, + "provisioningState": "Succeeded" + } + }, + { + "name": "audio", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountRainer/tracks/audio", + "type": "Microsoft.Media/mediaservices/assets/tracks", + "properties": { + "track": { + "@odata.type": "#Microsoft.Media.AudioTrack" + }, + "provisioningState": "Succeeded" + } + }, + { + "name": "text1", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountRainer/tracks/text1", + "type": "Microsoft.Media/mediaservices/assets/tracks", + "properties": { + "track": { + "@odata.type": "#Microsoft.Media.TextTrack", + "fileName": "auto_generated.ttml", + "displayName": "Auto generated", + "languageCode": "en-us", + "playerVisibility": "Visible" + }, + "provisioningState": "Succeeded" + } + }, + { + "name": "text2", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountRainer/tracks/text2", + "type": "Microsoft.Media/mediaservices/assets/tracks", + "properties": { + "track": { + "@odata.type": "#Microsoft.Media.TextTrack", + "fileName": "text2.vtt", + "displayName": "user uploaded text track", + "languageCode": "en-us", + "playerVisibility": "Hidden", + "hlsSettings": { + "default": true, + "forced": true, + "characteristics": "public.accessibility.transcribes-spoken-dialog,public.easy-to-read" + } + }, + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/asset-tracks-operation-result-by-id.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/asset-tracks-operation-result-by-id.json new file mode 100644 index 000000000000..65e069ac69f4 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/asset-tracks-operation-result-by-id.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "assetName": "ClimbingMountRainer", + "trackName": "text1", + "operationId": "e78f8d40-7aaa-4f2f-8ae6-73987e7c5a08", + "api-version": "2022-08-01" + }, + "responses": { + "200": { + "body": { + "name": "text1", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountRainer/tracks/text1/operationResults/e78f8d40-7aaa-4f2f-8ae6-73987e7c5a08", + "type": "Microsoft.Media/mediaservices/assets/tracks/operationResults", + "properties": { + "track": { + "@odata.type": "#Microsoft.Media.TextTrack", + "displayName": "Auto generated", + "languageCode": "en-us", + "playerVisibility": "Visible" + }, + "provisioningState": "Succeeded" + } + } + }, + "202": {}, + "204": {} + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/asset-tracks-operation-status-by-id-non-terminal-state.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/asset-tracks-operation-status-by-id-non-terminal-state.json new file mode 100644 index 000000000000..facdd42a2df3 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/asset-tracks-operation-status-by-id-non-terminal-state.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "assetName": "ClimbingMountRainer", + "trackName": "text1", + "operationId": "5827d9a1-1fb4-4e54-ac40-8eeed9b862c8", + "api-version": "2022-08-01" + }, + "responses": { + "200": { + "body": { + "name": "5827d9a1-1fb4-4e54-ac40-8eeed9b862c8", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountRainer/tracks/text1/operationStatuses/5827d9a1-1fb4-4e54-ac40-8eeed9b862c8", + "startTime": "2022-08-01T00:00:00Z", + "status": "InProgress" + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/asset-tracks-operation-status-by-id-terminal-state-failed.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/asset-tracks-operation-status-by-id-terminal-state-failed.json new file mode 100644 index 000000000000..80a76f09732d --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/asset-tracks-operation-status-by-id-terminal-state-failed.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "assetName": "ClimbingMountRainer", + "trackName": "text1", + "operationId": "86835197-3b47-402e-b313-70b82eaba296", + "api-version": "2022-08-01" + }, + "responses": { + "200": { + "body": { + "name": "86835197-3b47-402e-b313-70b82eaba296", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountRainer/tracks/text1/operationStatuses/86835197-3b47-402e-b313-70b82eaba296", + "startTime": "2022-08-01T00:00:00Z", + "endTime": "2022-08-01T00:00:30Z", + "status": "Failed", + "error": { + "code": "ClientError", + "message": "Error while parsing WEBVTT file and creating CMFT header." + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/asset-tracks-operation-status-by-id-terminal-state.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/asset-tracks-operation-status-by-id-terminal-state.json new file mode 100644 index 000000000000..817ccc15b3a2 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/asset-tracks-operation-status-by-id-terminal-state.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "assetName": "ClimbingMountRainer", + "trackName": "text1", + "operationId": "e78f8d40-7aaa-4f2f-8ae6-73987e7c5a08", + "api-version": "2022-08-01" + }, + "responses": { + "200": { + "body": { + "name": "e78f8d40-7aaa-4f2f-8ae6-73987e7c5a08", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountRainer/tracks/text1/operationStatuses/e78f8d40-7aaa-4f2f-8ae6-73987e7c5a08", + "startTime": "2022-08-01T00:00:00Z", + "endTime": "2022-08-01T00:00:30Z", + "status": "Succeeded" + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/asset-tracks-update-data.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/asset-tracks-update-data.json new file mode 100644 index 000000000000..415214a1bef1 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/asset-tracks-update-data.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "assetName": "ClimbingMountRainer", + "trackName": "text2", + "api-version": "2022-08-01" + }, + "responses": { + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Media/resourceGroups/contoso/providers/Microsoft.Media/mediaServices/contosomedia/assets/ClimbingMountRainer/tracks/text3/operationStatuses/62e4d893-d233-4005-988e-a428d9f77076?api-version=2022-08-01", + "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Media/resourceGroups/contoso/providers/Microsoft.Media/mediaServices/contosomedia/assets/ClimbingMountRainer/tracks/text3/operationResults/62e4d893-d233-4005-988e-a428d9f77076?api-version=2022-08-01" + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/asset-tracks-update.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/asset-tracks-update.json new file mode 100644 index 000000000000..7d9b717cd4d1 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/asset-tracks-update.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "assetName": "ClimbingMountRainer", + "trackName": "text1", + "api-version": "2022-08-01", + "parameters": { + "properties": { + "track": { + "@odata.type": "#Microsoft.Media.TextTrack", + "displayName": "A new name" + } + } + } + }, + "responses": { + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Media/resourceGroups/contoso/providers/Microsoft.Media/mediaServices/contosomedia/assets/ClimbingMountRainer/tracks/text3/operationStatuses/62e4d893-d233-4005-988e-a428d9f77076?api-version=2022-08-01", + "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Media/resourceGroups/contoso/providers/Microsoft.Media/mediaServices/contosomedia/assets/ClimbingMountRainer/tracks/text3/operationResults/62e4d893-d233-4005-988e-a428d9f77076?api-version=2022-08-01" + }, + "body": { + "name": "text1", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountRainer/tracks/text1", + "type": "Microsoft.Media/mediaservices/assets/tracks", + "properties": { + "track": { + "@odata.type": "#Microsoft.Media.TextTrack", + "fileName": "auto_generated.ttml", + "displayName": "A new name", + "languageCode": "en-us", + "playerVisibility": "Visible" + }, + "provisioningState": "InProgress" + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/assetFilters-create.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/assetFilters-create.json new file mode 100644 index 000000000000..be259a0af6dc --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/assetFilters-create.json @@ -0,0 +1,172 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "assetName": "ClimbingMountRainer", + "filterName": "newAssetFilter", + "api-version": "2022-08-01", + "parameters": { + "properties": { + "presentationTimeRange": { + "startTimestamp": 0, + "endTimestamp": 170000000, + "presentationWindowDuration": 9223372036854774806, + "liveBackoffDuration": 0, + "timescale": 10000000, + "forceEndTimestamp": false + }, + "firstQuality": { + "bitrate": 128000 + }, + "tracks": [ + { + "trackSelections": [ + { + "property": "Type", + "operation": "Equal", + "value": "Audio" + }, + { + "property": "Language", + "operation": "NotEqual", + "value": "en" + }, + { + "property": "FourCC", + "operation": "NotEqual", + "value": "EC-3" + } + ] + }, + { + "trackSelections": [ + { + "property": "Type", + "operation": "Equal", + "value": "Video" + }, + { + "property": "Bitrate", + "operation": "Equal", + "value": "3000000-5000000" + } + ] + } + ] + } + } + }, + "responses": { + "201": { + "body": { + "name": "newAssetFilter", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountRainer/assetFilters/newAssetFilter", + "type": "Microsoft.Media/mediaservices/assets/assetFilters", + "properties": { + "presentationTimeRange": { + "startTimestamp": 0, + "endTimestamp": 170000000, + "presentationWindowDuration": 9223372036854774806, + "liveBackoffDuration": 0, + "timescale": 10000000, + "forceEndTimestamp": false + }, + "firstQuality": { + "bitrate": 128000 + }, + "tracks": [ + { + "trackSelections": [ + { + "property": "Type", + "value": "Audio", + "operation": "Equal" + }, + { + "property": "Language", + "value": "en", + "operation": "NotEqual" + }, + { + "property": "FourCC", + "value": "EC-3", + "operation": "NotEqual" + } + ] + }, + { + "trackSelections": [ + { + "property": "Type", + "value": "Video", + "operation": "Equal" + }, + { + "property": "Bitrate", + "value": "3000000-5000000", + "operation": "Equal" + } + ] + } + ] + } + } + }, + "200": { + "body": { + "name": "newAssetFilter", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountRainer/assetFilters/newAssetFilter", + "type": "Microsoft.Media/mediaservices/assets/assetFilters", + "properties": { + "presentationTimeRange": { + "startTimestamp": 0, + "endTimestamp": 170000000, + "presentationWindowDuration": 9223372036854774806, + "liveBackoffDuration": 0, + "timescale": 10000000, + "forceEndTimestamp": false + }, + "firstQuality": { + "bitrate": 128000 + }, + "tracks": [ + { + "trackSelections": [ + { + "property": "Type", + "value": "Audio", + "operation": "Equal" + }, + { + "property": "Language", + "value": "en", + "operation": "NotEqual" + }, + { + "property": "FourCC", + "value": "EC-3", + "operation": "NotEqual" + } + ] + }, + { + "trackSelections": [ + { + "property": "Type", + "value": "Video", + "operation": "Equal" + }, + { + "property": "Bitrate", + "value": "3000000-5000000", + "operation": "Equal" + } + ] + } + ] + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/assetFilters-delete.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/assetFilters-delete.json new file mode 100644 index 000000000000..f88eb3b116d9 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/assetFilters-delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "assetName": "ClimbingMountRainer", + "filterName": "assetFilterWithTimeWindowAndTrack", + "api-version": "2022-08-01" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/assetFilters-get-by-name.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/assetFilters-get-by-name.json new file mode 100644 index 000000000000..77f65cb7f6b6 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/assetFilters-get-by-name.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "assetName": "ClimbingMountRainer", + "filterName": "assetFilterWithTimeWindowAndTrack", + "api-version": "2022-08-01" + }, + "responses": { + "200": { + "body": { + "name": "assetFilterWithTimeWindowAndTrack", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountRainer/assetFilters/assetFilterWithTimeWindowAndTrack", + "type": "Microsoft.Media/mediaservices/assets/assetFilters", + "properties": { + "presentationTimeRange": { + "startTimestamp": 0, + "endTimestamp": 170000000, + "presentationWindowDuration": 9223372036854774806, + "liveBackoffDuration": 0, + "timescale": 10000000, + "forceEndTimestamp": false + }, + "firstQuality": { + "bitrate": 128000 + }, + "tracks": [ + { + "trackSelections": [ + { + "property": "Type", + "value": "Audio", + "operation": "Equal" + }, + { + "property": "Language", + "value": "en", + "operation": "NotEqual" + }, + { + "property": "FourCC", + "value": "EC-3", + "operation": "NotEqual" + } + ] + }, + { + "trackSelections": [ + { + "property": "Type", + "value": "Video", + "operation": "Equal" + }, + { + "property": "Bitrate", + "value": "3000000-5000000", + "operation": "Equal" + } + ] + } + ] + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/assetFilters-list-all.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/assetFilters-list-all.json new file mode 100644 index 000000000000..1039e176b815 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/assetFilters-list-all.json @@ -0,0 +1,131 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "assetName": "ClimbingMountRainer", + "api-version": "2022-08-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "assetFilterWithTimeWindowAndTrack", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountRainer/assetFilters/assetFilterWithTimeWindowAndTrack", + "type": "Microsoft.Media/mediaservices/assets/assetFilters", + "properties": { + "presentationTimeRange": { + "startTimestamp": 0, + "endTimestamp": 170000000, + "presentationWindowDuration": 9223372036854774806, + "liveBackoffDuration": 0, + "timescale": 10000000, + "forceEndTimestamp": false + }, + "firstQuality": { + "bitrate": 128000 + }, + "tracks": [ + { + "trackSelections": [ + { + "property": "Type", + "value": "Audio", + "operation": "Equal" + }, + { + "property": "Language", + "value": "en", + "operation": "NotEqual" + }, + { + "property": "FourCC", + "value": "EC-3", + "operation": "NotEqual" + } + ] + }, + { + "trackSelections": [ + { + "property": "Type", + "value": "Video", + "operation": "Equal" + }, + { + "property": "Bitrate", + "value": "3000000-5000000", + "operation": "Equal" + } + ] + } + ] + } + }, + { + "name": "assetFilterWithTimeWindow", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountRainer/assetFilters/assetFilterWithTimeWindow", + "type": "Microsoft.Media/mediaservices/assets/assetFilters", + "properties": { + "presentationTimeRange": { + "startTimestamp": 0, + "endTimestamp": 170000000, + "presentationWindowDuration": 9223372036854774806, + "liveBackoffDuration": 0, + "timescale": 10000000, + "forceEndTimestamp": false + }, + "firstQuality": { + "bitrate": 128000 + }, + "tracks": [] + } + }, + { + "name": "assetFilterWithTrack", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountRainer/assetFilters/assetFilterWithTrack", + "type": "Microsoft.Media/mediaservices/assets/assetFilters", + "properties": { + "tracks": [ + { + "trackSelections": [ + { + "property": "Type", + "value": "Audio", + "operation": "Equal" + }, + { + "property": "Language", + "value": "en", + "operation": "NotEqual" + }, + { + "property": "FourCC", + "value": "EC-3", + "operation": "NotEqual" + } + ] + }, + { + "trackSelections": [ + { + "property": "Type", + "value": "Video", + "operation": "Equal" + }, + { + "property": "Bitrate", + "value": "3000000-5000000", + "operation": "Equal" + } + ] + } + ] + } + } + ] + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/assetFilters-update.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/assetFilters-update.json new file mode 100644 index 000000000000..4849f4264f77 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/assetFilters-update.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "assetName": "ClimbingMountRainer", + "filterName": "assetFilterWithTimeWindowAndTrack", + "api-version": "2022-08-01", + "parameters": { + "properties": { + "presentationTimeRange": { + "startTimestamp": 10, + "endTimestamp": 170000000, + "presentationWindowDuration": 9223372036854774806, + "liveBackoffDuration": 0, + "timescale": 10000000, + "forceEndTimestamp": false + }, + "firstQuality": { + "bitrate": 128000 + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "assetFilterWithTimeWindowAndTrack", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountRainer/assetFilters/assetFilterWithTimeWindowAndTrack", + "type": "Microsoft.Media/mediaservices/assets/assetFilters", + "properties": { + "presentationTimeRange": { + "startTimestamp": 10, + "endTimestamp": 170000000, + "presentationWindowDuration": 9223372036854774806, + "liveBackoffDuration": 0, + "timescale": 10000000, + "forceEndTimestamp": false + }, + "firstQuality": { + "bitrate": 128000 + }, + "tracks": [ + { + "trackSelections": [ + { + "property": "Type", + "value": "Audio", + "operation": "Equal" + }, + { + "property": "Language", + "value": "en", + "operation": "NotEqual" + }, + { + "property": "FourCC", + "value": "EC-3", + "operation": "NotEqual" + } + ] + }, + { + "trackSelections": [ + { + "property": "Type", + "value": "Video", + "operation": "Equal" + }, + { + "property": "Bitrate", + "value": "3000000-5000000", + "operation": "Equal" + } + ] + } + ] + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/assets-create.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/assets-create.json new file mode 100644 index 000000000000..32c315a44fb1 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/assets-create.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "assetName": "ClimbingMountLogan", + "api-version": "2022-08-01", + "parameters": { + "properties": { + "description": "A documentary showing the ascent of Mount Logan", + "storageAccountName": "storage0" + } + } + }, + "responses": { + "201": { + "body": { + "name": "ClimbingMountLogan", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountLogan", + "type": "Microsoft.Media/mediaservices/assets", + "properties": { + "assetId": "09194258-36ba-4403-abb3-68780e6bc545", + "created": "2018-08-08T18:29:26.08Z", + "lastModified": "2018-08-08T18:29:26.08Z", + "description": "A documentary showing the ascent of Mount Logan", + "container": "asset-09194258-36ba-4403-abb3-68780e6bc545", + "storageAccountName": "storage0", + "storageEncryptionFormat": "None" + } + } + }, + "200": { + "body": { + "name": "ClimbingMountLogan", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountLogan", + "type": "Microsoft.Media/mediaservices/assets", + "properties": { + "assetId": "09194258-36ba-4403-abb3-68780e6bc545", + "created": "2018-08-08T18:29:26.08Z", + "lastModified": "2018-08-08T18:29:26.107Z", + "description": "A documentary showing the ascent of Mount Logan", + "container": "asset-09194258-36ba-4403-abb3-68780e6bc545", + "storageAccountName": "storage0", + "storageEncryptionFormat": "None" + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/assets-delete.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/assets-delete.json new file mode 100644 index 000000000000..733fc95e9233 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/assets-delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "assetName": "ClimbingMountAdams", + "api-version": "2022-08-01" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/assets-get-by-name.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/assets-get-by-name.json new file mode 100644 index 000000000000..cfc9260e561c --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/assets-get-by-name.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "assetName": "ClimbingMountAdams", + "api-version": "2022-08-01" + }, + "responses": { + "200": { + "body": { + "name": "ClimbingMountAdams", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountAdams", + "type": "Microsoft.Media/mediaservices/assets", + "properties": { + "assetId": "1b648c1a-2268-461d-a1da-742bde23db40", + "created": "2013-02-01T00:00:00Z", + "lastModified": "2017-11-01T00:00:00Z", + "alternateId": "CLIMB00002", + "description": "A documentary showing the ascent of Mount Adams", + "container": "asset-1b648c1a-2268-461d-a1da-742bde23db40", + "storageEncryptionFormat": "None" + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/assets-get-encryption-keys.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/assets-get-encryption-keys.json new file mode 100644 index 000000000000..67a854a5add3 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/assets-get-encryption-keys.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "assetName": "ClimbingMountSaintHelens", + "api-version": "2022-08-01" + }, + "responses": { + "200": { + "body": { + "key": "AAAAAAAAAAAAAAAAAAAAAA==", + "assetFileEncryptionMetadata": [ + { + "initializationVector": "-988929866", + "assetFileName": "AssetFile0", + "assetFileId": "a9536fa7-bd5d-4f84-a137-d1290982fe95" + }, + { + "initializationVector": "1604993689", + "assetFileName": "AssetFile1", + "assetFileId": "f4060046-94ac-422d-824c-3f1d6aa3ecf2" + }, + { + "initializationVector": "100082635", + "assetFileName": "AssetFile2", + "assetFileId": "485968d3-ddae-4b13-98e7-901201a9620b" + } + ] + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/assets-list-all.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/assets-list-all.json new file mode 100644 index 000000000000..0409503ddff2 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/assets-list-all.json @@ -0,0 +1,101 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "api-version": "2022-08-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "ClimbingLittleTahoma", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingLittleTahoma", + "type": "Microsoft.Media/mediaservices/assets", + "properties": { + "assetId": "e6c7ee55-d1f5-48bc-9c36-2d2157aadbbe", + "created": "2012-04-01T00:00:00Z", + "lastModified": "2017-11-01T00:00:00Z", + "alternateId": "CLIMB00003", + "description": "A documentary showing the ascent of Little Tahoma", + "container": "asset-e6c7ee55-d1f5-48bc-9c36-2d2157aadbbe", + "storageEncryptionFormat": "None" + } + }, + { + "name": "ClimbingMountAdams", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountAdams", + "type": "Microsoft.Media/mediaservices/assets", + "properties": { + "assetId": "1b648c1a-2268-461d-a1da-742bde23db40", + "created": "2013-02-01T00:00:00Z", + "lastModified": "2017-11-01T00:00:00Z", + "alternateId": "CLIMB00002", + "description": "A documentary showing the ascent of Mount Adams", + "container": "asset-1b648c1a-2268-461d-a1da-742bde23db40", + "storageEncryptionFormat": "None" + } + }, + { + "name": "ClimbingMountBaker", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountBaker", + "type": "Microsoft.Media/mediaservices/assets", + "properties": { + "assetId": "89af1750-e681-4fbe-8c4c-9a5567867a6b", + "created": "2011-02-01T00:00:00Z", + "lastModified": "2017-11-01T00:00:00Z", + "alternateId": "CLIMB00004", + "description": "A documentary showing the ascent of Mount Baker", + "container": "asset-89af1750-e681-4fbe-8c4c-9a5567867a6b", + "storageEncryptionFormat": "None" + } + }, + { + "name": "ClimbingMountRainer", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountRainer", + "type": "Microsoft.Media/mediaservices/assets", + "properties": { + "assetId": "258878ef-fe05-4518-988f-052e86dc19f6", + "created": "2018-08-08T18:29:24.3948982Z", + "lastModified": "2018-08-08T21:29:24.3948982Z", + "alternateId": "altClimbingMountRainer", + "description": "descClimbingMountRainer", + "container": "testasset0", + "storageAccountName": "storage0", + "storageEncryptionFormat": "None" + } + }, + { + "name": "ClimbingMountRainier", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountRainier", + "type": "Microsoft.Media/mediaservices/assets", + "properties": { + "assetId": "f8eea45c-b814-44c2-9c42-a5174ebdee4c", + "created": "2012-11-01T00:00:00Z", + "lastModified": "2012-11-01T00:00:00Z", + "alternateId": "CLIMB00001", + "description": "A documentary showing the ascent of Mount Rainier", + "container": "asset-f8eea45c-b814-44c2-9c42-a5174ebdee4c", + "storageEncryptionFormat": "None" + } + }, + { + "name": "ClimbingMountSaintHelens", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountSaintHelens", + "type": "Microsoft.Media/mediaservices/assets", + "properties": { + "assetId": "14d58c40-ec1f-446c-b041-f5cff949bd1d", + "created": "2013-03-01T00:00:00Z", + "lastModified": "2013-04-01T00:00:00Z", + "alternateId": "CLIMB00005", + "description": "A documentary showing the ascent of Saint Helens", + "container": "asset-14d58c40-ec1f-446c-b041-f5cff949bd1d", + "storageEncryptionFormat": "MediaStorageClientEncryption" + } + } + ] + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/assets-list-by-date.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/assets-list-by-date.json new file mode 100644 index 000000000000..e138b62c1ab8 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/assets-list-by-date.json @@ -0,0 +1,102 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "api-version": "2022-08-01", + "$orderby": "properties/created" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "ClimbingMountBaker", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountBaker", + "type": "Microsoft.Media/mediaservices/assets", + "properties": { + "assetId": "89af1750-e681-4fbe-8c4c-9a5567867a6b", + "created": "2011-02-01T00:00:00Z", + "lastModified": "2017-11-01T00:00:00Z", + "alternateId": "CLIMB00004", + "description": "A documentary showing the ascent of Mount Baker", + "container": "asset-89af1750-e681-4fbe-8c4c-9a5567867a6b", + "storageEncryptionFormat": "None" + } + }, + { + "name": "ClimbingLittleTahoma", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingLittleTahoma", + "type": "Microsoft.Media/mediaservices/assets", + "properties": { + "assetId": "e6c7ee55-d1f5-48bc-9c36-2d2157aadbbe", + "created": "2012-04-01T00:00:00Z", + "lastModified": "2017-11-01T00:00:00Z", + "alternateId": "CLIMB00003", + "description": "A documentary showing the ascent of Little Tahoma", + "container": "asset-e6c7ee55-d1f5-48bc-9c36-2d2157aadbbe", + "storageEncryptionFormat": "None" + } + }, + { + "name": "ClimbingMountRainier", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountRainier", + "type": "Microsoft.Media/mediaservices/assets", + "properties": { + "assetId": "f8eea45c-b814-44c2-9c42-a5174ebdee4c", + "created": "2012-11-01T00:00:00Z", + "lastModified": "2012-11-01T00:00:00Z", + "alternateId": "CLIMB00001", + "description": "A documentary showing the ascent of Mount Rainier", + "container": "asset-f8eea45c-b814-44c2-9c42-a5174ebdee4c", + "storageEncryptionFormat": "None" + } + }, + { + "name": "ClimbingMountAdams", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountAdams", + "type": "Microsoft.Media/mediaservices/assets", + "properties": { + "assetId": "1b648c1a-2268-461d-a1da-742bde23db40", + "created": "2013-02-01T00:00:00Z", + "lastModified": "2017-11-01T00:00:00Z", + "alternateId": "CLIMB00002", + "description": "A documentary showing the ascent of Mount Adams", + "container": "asset-1b648c1a-2268-461d-a1da-742bde23db40", + "storageEncryptionFormat": "None" + } + }, + { + "name": "ClimbingMountSaintHelens", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountSaintHelens", + "type": "Microsoft.Media/mediaservices/assets", + "properties": { + "assetId": "14d58c40-ec1f-446c-b041-f5cff949bd1d", + "created": "2013-03-01T00:00:00Z", + "lastModified": "2013-04-01T00:00:00Z", + "alternateId": "CLIMB00005", + "description": "A documentary showing the ascent of Saint Helens", + "container": "asset-14d58c40-ec1f-446c-b041-f5cff949bd1d", + "storageEncryptionFormat": "MediaStorageClientEncryption" + } + }, + { + "name": "ClimbingMountRainer", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountRainer", + "type": "Microsoft.Media/mediaservices/assets", + "properties": { + "assetId": "8cdacfe5-8473-413a-9aec-dd2a478b37c8", + "created": "2018-08-08T18:29:25.0514734Z", + "lastModified": "2018-08-08T21:29:25.0514734Z", + "alternateId": "altClimbingMountRainer", + "description": "descClimbingMountRainer", + "container": "testasset0", + "storageAccountName": "storage0", + "storageEncryptionFormat": "None" + } + } + ] + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/assets-list-in-date-range.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/assets-list-in-date-range.json new file mode 100644 index 000000000000..2e5f18051759 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/assets-list-in-date-range.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "api-version": "2022-08-01", + "$orderby": "properties/created", + "$filter": "properties/created gt 2012-06-01 and properties/created lt 2013-07-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "ClimbingMountRainier", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountRainier", + "type": "Microsoft.Media/mediaservices/assets", + "properties": { + "assetId": "f8eea45c-b814-44c2-9c42-a5174ebdee4c", + "created": "2012-11-01T00:00:00Z", + "lastModified": "2012-11-01T00:00:00Z", + "alternateId": "CLIMB00001", + "description": "A documentary showing the ascent of Mount Rainier", + "container": "asset-f8eea45c-b814-44c2-9c42-a5174ebdee4c", + "storageEncryptionFormat": "None" + } + }, + { + "name": "ClimbingMountAdams", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountAdams", + "type": "Microsoft.Media/mediaservices/assets", + "properties": { + "assetId": "1b648c1a-2268-461d-a1da-742bde23db40", + "created": "2013-02-01T00:00:00Z", + "lastModified": "2017-11-01T00:00:00Z", + "alternateId": "CLIMB00002", + "description": "A documentary showing the ascent of Mount Adams", + "container": "asset-1b648c1a-2268-461d-a1da-742bde23db40", + "storageEncryptionFormat": "None" + } + }, + { + "name": "ClimbingMountSaintHelens", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountSaintHelens", + "type": "Microsoft.Media/mediaservices/assets", + "properties": { + "assetId": "14d58c40-ec1f-446c-b041-f5cff949bd1d", + "created": "2013-03-01T00:00:00Z", + "lastModified": "2013-04-01T00:00:00Z", + "alternateId": "CLIMB00005", + "description": "A documentary showing the ascent of Saint Helens", + "container": "asset-14d58c40-ec1f-446c-b041-f5cff949bd1d", + "storageEncryptionFormat": "MediaStorageClientEncryption" + } + } + ] + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/assets-list-sas-urls.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/assets-list-sas-urls.json new file mode 100644 index 000000000000..16a86c603bea --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/assets-list-sas-urls.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "assetName": "ClimbingMountBaker", + "api-version": "2022-08-01", + "parameters": { + "permissions": "ReadWrite", + "expiryTime": "2018-01-01T10:00:00.007Z" + } + }, + "responses": { + "200": { + "body": { + "assetContainerSasUrls": [ + "https://storage0.blob.core.windows.net/asset-89af1750-e681-4fbe-8c4c-9a5567867a6b?sr=b&sig=&se=2018-01-01T10:00:00Z&sp=lrw", + "https://storage0.blob.core.windows.net/asset-89af1750-e681-4fbe-8c4c-9a5567867a6b?sr=b&sig=&se=2018-01-01T10:00:00Z&sp=lrw" + ] + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/assets-list-streaming-locators.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/assets-list-streaming-locators.json new file mode 100644 index 000000000000..b3fc2595950e --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/assets-list-streaming-locators.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "assetName": "ClimbingMountSaintHelens", + "api-version": "2022-08-01" + }, + "responses": { + "200": { + "body": { + "streamingLocators": [ + { + "name": "secureStreamingLocator", + "assetName": "ClimbingMountSaintHelens", + "created": "2018-08-08T18:29:26.9729344Z", + "endTime": "9999-12-31T23:59:59.9999999Z", + "streamingLocatorId": "36b74ce3-20b4-4de0-84f1-97e9138e886c", + "streamingPolicyName": "secureStreamingPolicy" + }, + { + "name": "clearStreamingLocator", + "assetName": "ClimbingMountSaintHelens", + "created": "2018-08-08T18:29:26.9487636Z", + "endTime": "9999-12-31T23:59:59.9999999Z", + "streamingLocatorId": "3e8d9ac3-50f6-4f6d-8482-078ceb56f23a", + "streamingPolicyName": "clearStreamingPolicy" + } + ] + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/assets-update.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/assets-update.json new file mode 100644 index 000000000000..d7aca4f5e86a --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/assets-update.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "assetName": "ClimbingMountBaker", + "api-version": "2022-08-01", + "parameters": { + "properties": { + "description": "A documentary showing the ascent of Mount Baker in HD" + } + } + }, + "responses": { + "200": { + "body": { + "name": "ClimbingMountBaker", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountBaker", + "type": "Microsoft.Media/mediaservices/assets", + "properties": { + "assetId": "89af1750-e681-4fbe-8c4c-9a5567867a6b", + "created": "2011-02-01T00:00:00Z", + "lastModified": "2018-08-08T18:29:26.503Z", + "alternateId": "CLIMB00004", + "description": "A documentary showing the ascent of Mount Baker in HD", + "container": "asset-89af1750-e681-4fbe-8c4c-9a5567867a6b", + "storageEncryptionFormat": "None" + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/content-key-policies-create-multiple-options.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/content-key-policies-create-multiple-options.json new file mode 100644 index 000000000000..12ca651aaaf0 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/content-key-policies-create-multiple-options.json @@ -0,0 +1,134 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "contentKeyPolicyName": "PolicyCreatedWithMultipleOptions", + "api-version": "2022-08-01", + "parameters": { + "properties": { + "description": "ArmPolicyDescription", + "options": [ + { + "name": "ClearKeyOption", + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyClearKeyConfiguration" + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyTokenRestriction", + "issuer": "urn:issuer", + "audience": "urn:audience", + "primaryVerificationKey": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicySymmetricTokenKey", + "keyValue": "AAAAAAAAAAAAAAAAAAAAAA==" + }, + "restrictionTokenType": "Swt" + } + }, + { + "name": "widevineoption", + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyWidevineConfiguration", + "widevineTemplate": "{\"allowed_track_types\":\"SD_HD\",\"content_key_specs\":[{\"track_type\":\"SD\",\"security_level\":1,\"required_output_protection\":{\"hdcp\":\"HDCP_V2\"}}],\"policy_overrides\":{\"can_play\":true,\"can_persist\":true,\"can_renew\":false}}" + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyOpenRestriction" + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "PolicyCreatedWithMultipleOptions", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/contentKeyPolicies/PolicyCreatedWithMultipleOptions", + "type": "Microsoft.Media/mediaservices/contentKeyPolicies", + "properties": { + "policyId": "07ad673b-dc14-4230-adab-716622f33992", + "created": "2018-08-08T18:29:29.98Z", + "lastModified": "2018-08-08T18:29:29.98Z", + "description": "ArmPolicyDescription", + "options": [ + { + "policyOptionId": "8dac9510-770a-401f-8f2b-f72640977ed0", + "name": "ClearKeyOption", + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyClearKeyConfiguration" + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyTokenRestriction", + "issuer": "urn:issuer", + "audience": "urn:audience", + "primaryVerificationKey": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicySymmetricTokenKey", + "keyValue": "" + }, + "alternateVerificationKeys": [], + "requiredClaims": [], + "restrictionTokenType": "Swt" + } + }, + { + "policyOptionId": "fc121776-6ced-4135-be92-f928dedc029a", + "name": "widevineoption", + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyWidevineConfiguration", + "widevineTemplate": "{\"allowed_track_types\":\"SD_HD\",\"content_key_specs\":[{\"track_type\":\"SD\",\"security_level\":1,\"required_output_protection\":{\"hdcp\":\"HDCP_V2\"}}],\"policy_overrides\":{\"can_play\":true,\"can_persist\":true,\"can_renew\":false}}" + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyOpenRestriction" + } + } + ] + } + } + }, + "201": { + "body": { + "name": "PolicyCreatedWithMultipleOptions", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/contentKeyPolicies/PolicyCreatedWithMultipleOptions", + "type": "Microsoft.Media/mediaservices/contentKeyPolicies", + "properties": { + "policyId": "07ad673b-dc14-4230-adab-716622f33992", + "created": "2018-08-08T18:29:29.98Z", + "lastModified": "2018-08-08T18:29:29.98Z", + "description": "ArmPolicyDescription", + "options": [ + { + "policyOptionId": "8dac9510-770a-401f-8f2b-f72640977ed0", + "name": "ClearKeyOption", + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyClearKeyConfiguration" + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyTokenRestriction", + "issuer": "urn:issuer", + "audience": "urn:audience", + "primaryVerificationKey": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicySymmetricTokenKey", + "keyValue": "" + }, + "alternateVerificationKeys": [], + "requiredClaims": [], + "restrictionTokenType": "Swt" + } + }, + { + "policyOptionId": "fc121776-6ced-4135-be92-f928dedc029a", + "name": "widevineoption", + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyWidevineConfiguration", + "widevineTemplate": "{\"allowed_track_types\":\"SD_HD\",\"content_key_specs\":[{\"track_type\":\"SD\",\"security_level\":1,\"required_output_protection\":{\"hdcp\":\"HDCP_V2\"}}],\"policy_overrides\":{\"can_play\":true,\"can_persist\":true,\"can_renew\":false}}" + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyOpenRestriction" + } + } + ] + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/content-key-policies-create-nodrm-token.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/content-key-policies-create-nodrm-token.json new file mode 100644 index 000000000000..870854b34262 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/content-key-policies-create-nodrm-token.json @@ -0,0 +1,102 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "contentKeyPolicyName": "PolicyWithClearKeyOptionAndSwtTokenRestriction", + "api-version": "2022-08-01", + "parameters": { + "properties": { + "description": "ArmPolicyDescription", + "options": [ + { + "name": "ClearKeyOption", + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyClearKeyConfiguration" + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyTokenRestriction", + "issuer": "urn:issuer", + "audience": "urn:audience", + "primaryVerificationKey": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicySymmetricTokenKey", + "keyValue": "AAAAAAAAAAAAAAAAAAAAAA==" + }, + "restrictionTokenType": "Swt" + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "PolicyWithClearKeyOptionAndSwtTokenRestriction", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/contentKeyPolicies/PolicyWithClearKeyOptionAndSwtTokenRestriction", + "type": "Microsoft.Media/mediaservices/contentKeyPolicies", + "properties": { + "policyId": "2926c1bc-4dec-4a11-9d19-3f99006530a9", + "created": "2018-08-08T18:29:29.837Z", + "lastModified": "2018-08-08T18:29:29.837Z", + "description": "ArmPolicyDescription", + "options": [ + { + "policyOptionId": "e7d4d465-b6f7-4830-9a21-74a7326ef797", + "name": "ClearKeyOption", + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyClearKeyConfiguration" + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyTokenRestriction", + "issuer": "urn:issuer", + "audience": "urn:audience", + "primaryVerificationKey": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicySymmetricTokenKey", + "keyValue": "" + }, + "alternateVerificationKeys": [], + "requiredClaims": [], + "restrictionTokenType": "Swt" + } + } + ] + } + } + }, + "201": { + "body": { + "name": "PolicyWithClearKeyOptionAndSwtTokenRestriction", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/contentKeyPolicies/PolicyWithClearKeyOptionAndSwtTokenRestriction", + "type": "Microsoft.Media/mediaservices/contentKeyPolicies", + "properties": { + "policyId": "2926c1bc-4dec-4a11-9d19-3f99006530a9", + "created": "2018-08-08T18:29:29.837Z", + "lastModified": "2018-08-08T18:29:29.837Z", + "description": "ArmPolicyDescription", + "options": [ + { + "policyOptionId": "e7d4d465-b6f7-4830-9a21-74a7326ef797", + "name": "ClearKeyOption", + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyClearKeyConfiguration" + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyTokenRestriction", + "issuer": "urn:issuer", + "audience": "urn:audience", + "primaryVerificationKey": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicySymmetricTokenKey", + "keyValue": "" + }, + "alternateVerificationKeys": [], + "requiredClaims": [], + "restrictionTokenType": "Swt" + } + } + ] + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/content-key-policies-create-playready-open.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/content-key-policies-create-playready-open.json new file mode 100644 index 000000000000..7c63218f552a --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/content-key-policies-create-playready-open.json @@ -0,0 +1,134 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "contentKeyPolicyName": "PolicyWithPlayReadyOptionAndOpenRestriction", + "api-version": "2022-08-01", + "parameters": { + "properties": { + "description": "ArmPolicyDescription", + "options": [ + { + "name": "ArmPolicyOptionName", + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyPlayReadyConfiguration", + "licenses": [ + { + "allowTestDevices": true, + "securityLevel": "SL150", + "beginDate": "2017-10-16T18:22:53.46Z", + "playRight": { + "scmsRestriction": 2, + "digitalVideoOnlyContentRestriction": false, + "imageConstraintForAnalogComponentVideoRestriction": true, + "imageConstraintForAnalogComputerMonitorRestriction": false, + "allowPassingVideoContentToUnknownOutput": "NotAllowed" + }, + "licenseType": "Persistent", + "contentKeyLocation": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyPlayReadyContentEncryptionKeyFromHeader" + }, + "contentType": "UltraVioletDownload" + } + ] + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyOpenRestriction" + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "PolicyWithPlayReadyOptionAndOpenRestriction", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/contentKeyPolicies/PolicyWithPlayReadyOptionAndOpenRestriction", + "type": "Microsoft.Media/mediaservices/contentKeyPolicies", + "properties": { + "policyId": "a9bacd1d-60f5-4af3-8d2b-cf46ca5c9b04", + "created": "2012-11-01T00:00:00Z", + "lastModified": "2018-08-08T18:29:29.51Z", + "description": "ArmPolicyDescription", + "options": [ + { + "policyOptionId": "c52f9af0-1f53-4775-8edb-af2d9a6e28cd", + "name": "ArmPolicyOptionName", + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyPlayReadyConfiguration", + "licenses": [ + { + "allowTestDevices": true, + "beginDate": "2017-10-16T18:22:53.46Z", + "playRight": { + "scmsRestriction": 2, + "digitalVideoOnlyContentRestriction": false, + "imageConstraintForAnalogComponentVideoRestriction": true, + "imageConstraintForAnalogComputerMonitorRestriction": false, + "allowPassingVideoContentToUnknownOutput": "NotAllowed" + }, + "licenseType": "Persistent", + "contentKeyLocation": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyPlayReadyContentEncryptionKeyFromHeader" + }, + "contentType": "UltraVioletDownload", + "securityLevel": "SL150" + } + ] + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyOpenRestriction" + } + } + ] + } + } + }, + "201": { + "body": { + "name": "PolicyWithPlayReadyOptionAndOpenRestriction", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/contentKeyPolicies/PolicyWithPlayReadyOptionAndOpenRestriction", + "type": "Microsoft.Media/mediaservices/contentKeyPolicies", + "properties": { + "policyId": "a9bacd1d-60f5-4af3-8d2b-cf46ca5c9b04", + "created": "2012-11-01T00:00:00Z", + "lastModified": "2018-08-08T18:29:29.51Z", + "description": "ArmPolicyDescription", + "options": [ + { + "policyOptionId": "c52f9af0-1f53-4775-8edb-af2d9a6e28cd", + "name": "ArmPolicyOptionName", + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyPlayReadyConfiguration", + "licenses": [ + { + "allowTestDevices": true, + "beginDate": "2017-10-16T18:22:53.46Z", + "playRight": { + "scmsRestriction": 2, + "digitalVideoOnlyContentRestriction": false, + "imageConstraintForAnalogComponentVideoRestriction": true, + "imageConstraintForAnalogComputerMonitorRestriction": false, + "allowPassingVideoContentToUnknownOutput": "NotAllowed" + }, + "licenseType": "Persistent", + "contentKeyLocation": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyPlayReadyContentEncryptionKeyFromHeader" + }, + "contentType": "UltraVioletDownload", + "securityLevel": "SL150" + } + ] + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyOpenRestriction" + } + } + ] + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/content-key-policies-create-widevine-token.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/content-key-policies-create-widevine-token.json new file mode 100644 index 000000000000..c910bfa064ec --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/content-key-policies-create-widevine-token.json @@ -0,0 +1,124 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "contentKeyPolicyName": "PolicyWithWidevineOptionAndJwtTokenRestriction", + "api-version": "2022-08-01", + "parameters": { + "properties": { + "description": "ArmPolicyDescription", + "options": [ + { + "name": "widevineoption", + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyWidevineConfiguration", + "widevineTemplate": "{\"allowed_track_types\":\"SD_HD\",\"content_key_specs\":[{\"track_type\":\"SD\",\"security_level\":1,\"required_output_protection\":{\"hdcp\":\"HDCP_V2\"}}],\"policy_overrides\":{\"can_play\":true,\"can_persist\":true,\"can_renew\":false}}" + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyTokenRestriction", + "issuer": "urn:issuer", + "audience": "urn:audience", + "primaryVerificationKey": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyRsaTokenKey", + "exponent": "AQAB", + "modulus": "AQAD" + }, + "alternateVerificationKeys": [ + { + "@odata.type": "#Microsoft.Media.ContentKeyPolicySymmetricTokenKey", + "keyValue": "AAAAAAAAAAAAAAAAAAAAAA==" + } + ], + "restrictionTokenType": "Jwt" + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "PolicyWithWidevineOptionAndJwtTokenRestriction", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/contentKeyPolicies/PolicyWithWidevineOptionAndJwtTokenRestriction", + "type": "Microsoft.Media/mediaservices/contentKeyPolicies", + "properties": { + "policyId": "bad1d030-7d5c-4643-8f1e-49807a4bf64c", + "created": "2018-08-08T18:29:29.663Z", + "lastModified": "2018-08-08T18:29:29.663Z", + "description": "ArmPolicyDescription", + "options": [ + { + "policyOptionId": "26fee004-8dfa-4828-bcad-5e63c637534f", + "name": "widevineoption", + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyWidevineConfiguration", + "widevineTemplate": "{\"allowed_track_types\":\"SD_HD\",\"content_key_specs\":[{\"track_type\":\"SD\",\"security_level\":1,\"required_output_protection\":{\"hdcp\":\"HDCP_V2\"}}],\"policy_overrides\":{\"can_play\":true,\"can_persist\":true,\"can_renew\":false}}" + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyTokenRestriction", + "issuer": "urn:issuer", + "audience": "urn:audience", + "primaryVerificationKey": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyRsaTokenKey", + "exponent": "", + "modulus": "" + }, + "alternateVerificationKeys": [ + { + "@odata.type": "#Microsoft.Media.ContentKeyPolicySymmetricTokenKey", + "keyValue": "" + } + ], + "requiredClaims": [], + "restrictionTokenType": "Jwt" + } + } + ] + } + } + }, + "201": { + "body": { + "name": "PolicyWithWidevineOptionAndJwtTokenRestriction", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/contentKeyPolicies/PolicyWithWidevineOptionAndJwtTokenRestriction", + "type": "Microsoft.Media/mediaservices/contentKeyPolicies", + "properties": { + "policyId": "bad1d030-7d5c-4643-8f1e-49807a4bf64c", + "created": "2018-08-08T18:29:29.663Z", + "lastModified": "2018-08-08T18:29:29.663Z", + "description": "ArmPolicyDescription", + "options": [ + { + "policyOptionId": "26fee004-8dfa-4828-bcad-5e63c637534f", + "name": "widevineoption", + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyWidevineConfiguration", + "widevineTemplate": "{\"allowed_track_types\":\"SD_HD\",\"content_key_specs\":[{\"track_type\":\"SD\",\"security_level\":1,\"required_output_protection\":{\"hdcp\":\"HDCP_V2\"}}],\"policy_overrides\":{\"can_play\":true,\"can_persist\":true,\"can_renew\":false}}" + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyTokenRestriction", + "issuer": "urn:issuer", + "audience": "urn:audience", + "primaryVerificationKey": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyRsaTokenKey", + "exponent": "", + "modulus": "" + }, + "alternateVerificationKeys": [ + { + "@odata.type": "#Microsoft.Media.ContentKeyPolicySymmetricTokenKey", + "keyValue": "" + } + ], + "requiredClaims": [], + "restrictionTokenType": "Jwt" + } + } + ] + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/content-key-policies-delete.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/content-key-policies-delete.json new file mode 100644 index 000000000000..740e40a1e5f0 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/content-key-policies-delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "contentKeyPolicyName": "PolicyWithPlayReadyOptionAndOpenRestriction", + "api-version": "2022-08-01" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/content-key-policies-get-by-name.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/content-key-policies-get-by-name.json new file mode 100644 index 000000000000..5577cb54df34 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/content-key-policies-get-by-name.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "contentKeyPolicyName": "PolicyWithMultipleOptions", + "api-version": "2022-08-01" + }, + "responses": { + "200": { + "body": { + "name": "PolicyWithMultipleOptions", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/contentKeyPolicies/PolicyWithMultipleOptions", + "type": "Microsoft.Media/mediaservices/contentKeyPolicies", + "properties": { + "policyId": "ed7f3d1b-cfa7-4181-b966-e0b3027eec3a", + "created": "2015-12-01T00:00:00Z", + "lastModified": "2016-12-02T00:00:00Z", + "description": "A policy with multiple options.", + "options": [ + { + "policyOptionId": "caf1e28c-8288-4301-8c46-c0f9312c512f", + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyClearKeyConfiguration" + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyTokenRestriction", + "issuer": "http://testacs", + "audience": "urn:test", + "primaryVerificationKey": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicySymmetricTokenKey", + "keyValue": "" + }, + "alternateVerificationKeys": [], + "requiredClaims": [ + { + "claimType": "urn:microsoft:azure:mediaservices:contentkeyidentifier" + }, + { + "claimType": "DRM", + "claimValue": "Widevine" + } + ], + "restrictionTokenType": "Jwt" + } + }, + { + "policyOptionId": "da346259-0cd6-4609-89dc-15ac131bd92f", + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyWidevineConfiguration", + "widevineTemplate": "{\"allowed_track_types\":\"SD_HD\",\"content_key_specs\":[{\"track_type\":\"SD\",\"security_level\":1,\"required_output_protection\":{\"hdcp\":\"HDCP_V2\"}}],\"policy_overrides\":{\"can_play\":true,\"can_persist\":true,\"can_renew\":false}}" + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyOpenRestriction" + } + } + ] + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/content-key-policies-get-with-secrets.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/content-key-policies-get-with-secrets.json new file mode 100644 index 000000000000..249c8998ea35 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/content-key-policies-get-with-secrets.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "contentKeyPolicyName": "PolicyWithMultipleOptions", + "api-version": "2022-08-01" + }, + "responses": { + "200": { + "body": { + "policyId": "ed7f3d1b-cfa7-4181-b966-e0b3027eec3a", + "created": "2015-12-01T00:00:00Z", + "lastModified": "2016-12-02T00:00:00Z", + "description": "A policy with multiple options.", + "options": [ + { + "policyOptionId": "caf1e28c-8288-4301-8c46-c0f9312c512f", + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyClearKeyConfiguration" + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyTokenRestriction", + "issuer": "http://testacs", + "audience": "urn:test", + "primaryVerificationKey": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicySymmetricTokenKey", + "keyValue": "AAA=" + }, + "alternateVerificationKeys": [], + "requiredClaims": [ + { + "claimType": "urn:microsoft:azure:mediaservices:contentkeyidentifier" + }, + { + "claimType": "DRM", + "claimValue": "Widevine" + } + ], + "restrictionTokenType": "Jwt" + } + }, + { + "policyOptionId": "da346259-0cd6-4609-89dc-15ac131bd92f", + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyWidevineConfiguration", + "widevineTemplate": "{\"allowed_track_types\":\"SD_HD\",\"content_key_specs\":[{\"track_type\":\"SD\",\"security_level\":1,\"required_output_protection\":{\"hdcp\":\"HDCP_V2\"}}],\"policy_overrides\":{\"can_play\":true,\"can_persist\":true,\"can_renew\":false}}" + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyOpenRestriction" + } + } + ] + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/content-key-policies-list-all.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/content-key-policies-list-all.json new file mode 100644 index 000000000000..a555d69fa1ab --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/content-key-policies-list-all.json @@ -0,0 +1,166 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "api-version": "2022-08-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "PolicyWithClearKeyOptionAndTokenRestriction", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/contentKeyPolicies/PolicyWithClearKeyOptionAndTokenRestriction", + "type": "Microsoft.Media/mediaservices/contentKeyPolicies", + "properties": { + "policyId": "8352435b-ebea-4681-aae7-e19277771f64", + "created": "2017-12-01T00:00:00Z", + "lastModified": "2017-11-01T00:00:00Z", + "description": "A policy with one ClearKey option and Open Restriction.", + "options": [ + { + "policyOptionId": "a3448d09-567a-4642-8309-d17e846be59f", + "name": null, + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyClearKeyConfiguration" + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyTokenRestriction", + "issuer": "http://testacs", + "audience": "urn:test", + "primaryVerificationKey": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicySymmetricTokenKey", + "keyValue": "" + }, + "alternateVerificationKeys": [], + "requiredClaims": [ + { + "claimType": "urn:microsoft:azure:mediaservices:contentkeyidentifier", + "claimValue": null + }, + { + "claimType": "DRM", + "claimValue": "Widevine" + } + ], + "restrictionTokenType": "Jwt", + "openIdConnectDiscoveryDocument": null + } + } + ] + } + }, + { + "name": "PolicyWithMultipleOptions", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/contentKeyPolicies/PolicyWithMultipleOptions", + "type": "Microsoft.Media/mediaservices/contentKeyPolicies", + "properties": { + "policyId": "ed7f3d1b-cfa7-4181-b966-e0b3027eec3a", + "created": "2015-12-01T00:00:00Z", + "lastModified": "2016-12-02T00:00:00Z", + "description": "A policy with multiple options.", + "options": [ + { + "policyOptionId": "caf1e28c-8288-4301-8c46-c0f9312c512f", + "name": null, + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyClearKeyConfiguration" + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyTokenRestriction", + "issuer": "http://testacs", + "audience": "urn:test", + "primaryVerificationKey": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicySymmetricTokenKey", + "keyValue": "" + }, + "alternateVerificationKeys": [], + "requiredClaims": [ + { + "claimType": "urn:microsoft:azure:mediaservices:contentkeyidentifier", + "claimValue": null + }, + { + "claimType": "DRM", + "claimValue": "Widevine" + } + ], + "restrictionTokenType": "Jwt", + "openIdConnectDiscoveryDocument": null + } + }, + { + "policyOptionId": "da346259-0cd6-4609-89dc-15ac131bd92f", + "name": null, + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyWidevineConfiguration", + "widevineTemplate": "{\"allowed_track_types\":\"SD_HD\",\"content_key_specs\":[{\"track_type\":\"SD\",\"security_level\":1,\"required_output_protection\":{\"hdcp\":\"HDCP_V2\"}}],\"policy_overrides\":{\"can_play\":true,\"can_persist\":true,\"can_renew\":false}}" + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyOpenRestriction" + } + } + ] + } + }, + { + "name": "PolicyWithPlayReadyOptionAndOpenRestriction", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/contentKeyPolicies/PolicyWithPlayReadyOptionAndOpenRestriction", + "type": "Microsoft.Media/mediaservices/contentKeyPolicies", + "properties": { + "policyId": "a9bacd1d-60f5-4af3-8d2b-cf46ca5c9b04", + "created": "2012-11-01T00:00:00Z", + "lastModified": "2012-11-01T00:00:00Z", + "description": "A policy with one PlayReady option and Open Restriction.", + "options": [ + { + "policyOptionId": "294a833f-f128-48be-9edf-8d1bb5b35ff3", + "name": null, + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyPlayReadyConfiguration", + "licenses": [ + { + "allowTestDevices": false, + "beginDate": null, + "expirationDate": null, + "relativeBeginDate": null, + "relativeExpirationDate": null, + "gracePeriod": null, + "playRight": { + "firstPlayExpiration": null, + "scmsRestriction": null, + "agcAndColorStripeRestriction": null, + "explicitAnalogTelevisionOutputRestriction": null, + "digitalVideoOnlyContentRestriction": false, + "imageConstraintForAnalogComponentVideoRestriction": false, + "imageConstraintForAnalogComputerMonitorRestriction": false, + "allowPassingVideoContentToUnknownOutput": "NotAllowed", + "uncompressedDigitalVideoOpl": null, + "compressedDigitalVideoOpl": null, + "analogVideoOpl": null, + "compressedDigitalAudioOpl": null, + "uncompressedDigitalAudioOpl": null + }, + "licenseType": "NonPersistent", + "contentKeyLocation": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyPlayReadyContentEncryptionKeyFromHeader" + }, + "contentType": "Unspecified", + "securityLevel": "SL2000" + } + ], + "responseCustomData": "testCustomData" + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyOpenRestriction" + } + } + ] + } + } + ] + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/content-key-policies-list-by-lastModified.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/content-key-policies-list-by-lastModified.json new file mode 100644 index 000000000000..157776243d04 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/content-key-policies-list-by-lastModified.json @@ -0,0 +1,145 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "api-version": "2022-08-01", + "$orderby": "properties/lastModified" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "PolicyWithPlayReadyOptionAndOpenRestriction", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/contentKeyPolicies/PolicyWithPlayReadyOptionAndOpenRestriction", + "type": "Microsoft.Media/mediaservices/contentKeyPolicies", + "properties": { + "policyId": "a9bacd1d-60f5-4af3-8d2b-cf46ca5c9b04", + "created": "2012-11-01T00:00:00Z", + "lastModified": "2012-11-01T00:00:00Z", + "description": "A policy with one PlayReady option and Open Restriction.", + "options": [ + { + "policyOptionId": "294a833f-f128-48be-9edf-8d1bb5b35ff3", + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyPlayReadyConfiguration", + "licenses": [ + { + "allowTestDevices": false, + "playRight": { + "digitalVideoOnlyContentRestriction": false, + "imageConstraintForAnalogComponentVideoRestriction": false, + "imageConstraintForAnalogComputerMonitorRestriction": false, + "allowPassingVideoContentToUnknownOutput": "NotAllowed" + }, + "licenseType": "NonPersistent", + "contentKeyLocation": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyPlayReadyContentEncryptionKeyFromHeader" + }, + "contentType": "Unspecified", + "securityLevel": "SL2000" + } + ], + "responseCustomData": "testCustomData" + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyOpenRestriction" + } + } + ] + } + }, + { + "name": "PolicyWithMultipleOptions", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/contentKeyPolicies/PolicyWithMultipleOptions", + "type": "Microsoft.Media/mediaservices/contentKeyPolicies", + "properties": { + "policyId": "ed7f3d1b-cfa7-4181-b966-e0b3027eec3a", + "created": "2015-12-01T00:00:00Z", + "lastModified": "2016-12-02T00:00:00Z", + "description": "A policy with multiple options.", + "options": [ + { + "policyOptionId": "caf1e28c-8288-4301-8c46-c0f9312c512f", + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyClearKeyConfiguration" + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyTokenRestriction", + "issuer": "http://testacs", + "audience": "urn:test", + "primaryVerificationKey": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicySymmetricTokenKey", + "keyValue": "" + }, + "alternateVerificationKeys": [], + "requiredClaims": [ + { + "claimType": "urn:microsoft:azure:mediaservices:contentkeyidentifier" + }, + { + "claimType": "DRM", + "claimValue": "Widevine" + } + ], + "restrictionTokenType": "Jwt" + } + }, + { + "policyOptionId": "da346259-0cd6-4609-89dc-15ac131bd92f", + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyWidevineConfiguration", + "widevineTemplate": "{\"allowed_track_types\":\"SD_HD\",\"content_key_specs\":[{\"track_type\":\"SD\",\"security_level\":1,\"required_output_protection\":{\"hdcp\":\"HDCP_V2\"}}],\"policy_overrides\":{\"can_play\":true,\"can_persist\":true,\"can_renew\":false}}" + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyOpenRestriction" + } + } + ] + } + }, + { + "name": "PolicyWithClearKeyOptionAndTokenRestriction", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/contentKeyPolicies/PolicyWithClearKeyOptionAndTokenRestriction", + "type": "Microsoft.Media/mediaservices/contentKeyPolicies", + "properties": { + "policyId": "8352435b-ebea-4681-aae7-e19277771f64", + "created": "2017-12-01T00:00:00Z", + "lastModified": "2017-11-01T00:00:00Z", + "description": "A policy with one ClearKey option and Open Restriction.", + "options": [ + { + "policyOptionId": "a3448d09-567a-4642-8309-d17e846be59f", + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyClearKeyConfiguration" + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyTokenRestriction", + "issuer": "http://testacs", + "audience": "urn:test", + "primaryVerificationKey": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicySymmetricTokenKey", + "keyValue": "" + }, + "alternateVerificationKeys": [], + "requiredClaims": [ + { + "claimType": "urn:microsoft:azure:mediaservices:contentkeyidentifier" + }, + { + "claimType": "DRM", + "claimValue": "Widevine" + } + ], + "restrictionTokenType": "Jwt" + } + } + ] + } + } + ] + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/content-key-policies-list-in-date-range.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/content-key-policies-list-in-date-range.json new file mode 100644 index 000000000000..f5af4864cb8a --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/content-key-policies-list-in-date-range.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "api-version": "2022-08-01", + "$filter": "properties/lastModified gt 2016-06-01 and properties/created lt 2013-07-01" + }, + "responses": { + "200": { + "body": { + "value": [] + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/content-key-policies-update.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/content-key-policies-update.json new file mode 100644 index 000000000000..c4678a0081e5 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/content-key-policies-update.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "contentKeyPolicyName": "PolicyWithClearKeyOptionAndTokenRestriction", + "api-version": "2022-08-01", + "parameters": { + "properties": { + "description": "Updated Policy", + "options": [ + { + "name": "ClearKeyOption", + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyClearKeyConfiguration" + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyOpenRestriction" + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "PolicyWithClearKeyOptionAndTokenRestriction", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/contentKeyPolicies/PolicyWithClearKeyOptionAndTokenRestriction", + "type": "Microsoft.Media/mediaservices/contentKeyPolicies", + "properties": { + "policyId": "8352435b-ebea-4681-aae7-e19277771f64", + "created": "2017-12-01T00:00:00Z", + "lastModified": "2018-08-08T18:29:30.303Z", + "description": "Updated Policy", + "options": [ + { + "policyOptionId": "7d3f4bc1-d2bf-43a3-b02e-a7e31ab15d43", + "name": "ClearKeyOption", + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyClearKeyConfiguration" + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyOpenRestriction" + } + } + ] + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/streaming-locators-create-clear.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/streaming-locators-create-clear.json new file mode 100644 index 000000000000..2f05ae00f97c --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/streaming-locators-create-clear.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "streamingLocatorName": "UserCreatedClearStreamingLocator", + "api-version": "2022-08-01", + "parameters": { + "properties": { + "streamingPolicyName": "clearStreamingPolicy", + "assetName": "ClimbingMountRainier" + } + } + }, + "responses": { + "201": { + "body": { + "name": "UserCreatedClearStreamingLocator", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/streamingLocators/UserCreatedClearStreamingLocator", + "type": "Microsoft.Media/mediaservices/streamingLocators", + "properties": { + "assetName": "ClimbingMountRainier", + "created": "2018-08-08T18:29:32.4323237Z", + "endTime": "9999-12-31T23:59:59.9999999Z", + "streamingLocatorId": "e34b0fc4-3be0-4a3c-9793-1f6b7be5b013", + "streamingPolicyName": "clearStreamingPolicy", + "contentKeys": [] + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/streaming-locators-create-secure-userDefinedContentKeys.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/streaming-locators-create-secure-userDefinedContentKeys.json new file mode 100644 index 000000000000..7889bbf5cfdb --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/streaming-locators-create-secure-userDefinedContentKeys.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "streamingLocatorName": "UserCreatedSecureStreamingLocatorWithUserDefinedContentKeys", + "api-version": "2022-08-01", + "parameters": { + "properties": { + "assetName": "ClimbingMountRainier", + "streamingPolicyName": "secureStreamingPolicy", + "streamingLocatorId": "90000000-0000-0000-0000-00000000000A", + "contentKeys": [ + { + "labelReferenceInStreamingPolicy": "aesDefaultKey", + "id": "60000000-0000-0000-0000-000000000001", + "value": "1UqLohAfWsEGkULYxHjYZg==" + }, + { + "labelReferenceInStreamingPolicy": "cencDefaultKey", + "id": "60000000-0000-0000-0000-000000000004", + "value": "4UqLohAfWsEGkULYxHjYZg==" + }, + { + "labelReferenceInStreamingPolicy": "cbcsDefaultKey", + "id": "60000000-0000-0000-0000-000000000007", + "value": "7UqLohAfWsEGkULYxHjYZg==" + } + ] + } + } + }, + "responses": { + "201": { + "body": { + "name": "UserCreatedSecureStreamingLocatorWithUserDefinedContentKeys", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/streamingLocators/UserCreatedSecureStreamingLocatorWithUserDefinedContentKeys", + "type": "Microsoft.Media/mediaservices/streamingLocators", + "properties": { + "assetName": "ClimbingMountRainier", + "created": "2018-08-08T18:29:32.7859424Z", + "endTime": "9999-12-31T23:59:59.9999999Z", + "streamingLocatorId": "90000000-0000-0000-0000-00000000000a", + "streamingPolicyName": "secureStreamingPolicy", + "contentKeys": [ + { + "id": "60000000-0000-0000-0000-000000000007", + "type": "CommonEncryptionCbcs", + "labelReferenceInStreamingPolicy": "cbcsDefaultKey", + "tracks": [] + }, + { + "id": "60000000-0000-0000-0000-000000000004", + "type": "CommonEncryptionCenc", + "labelReferenceInStreamingPolicy": "cencDefaultKey", + "tracks": [] + }, + { + "id": "60000000-0000-0000-0000-000000000001", + "type": "EnvelopeEncryption", + "labelReferenceInStreamingPolicy": "aesDefaultKey", + "tracks": [] + } + ] + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/streaming-locators-create-secure.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/streaming-locators-create-secure.json new file mode 100644 index 000000000000..ebe242d981e1 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/streaming-locators-create-secure.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "streamingLocatorName": "UserCreatedSecureStreamingLocator", + "api-version": "2022-08-01", + "parameters": { + "properties": { + "streamingPolicyName": "secureStreamingPolicy", + "assetName": "ClimbingMountRainier", + "startTime": "2018-03-01T00:00:00Z", + "endTime": "2028-12-31T23:59:59.9999999Z" + } + } + }, + "responses": { + "201": { + "body": { + "name": "UserCreatedSecureStreamingLocator", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/streamingLocators/UserCreatedSecureStreamingLocator", + "type": "Microsoft.Media/mediaservices/streamingLocators", + "properties": { + "assetName": "ClimbingMountRainier", + "created": "2018-08-08T18:29:32.6243295Z", + "startTime": "2018-03-01T00:00:00Z", + "endTime": "2028-12-31T23:59:59.9999999Z", + "streamingLocatorId": "962775be-41fb-452a-b0dc-72ca2543a945", + "streamingPolicyName": "secureStreamingPolicy", + "contentKeys": [ + { + "id": "1b2d5581-4518-4a51-ad8a-f55d3bf993d4", + "type": "CommonEncryptionCbcs", + "labelReferenceInStreamingPolicy": "cbcsDefaultKey", + "tracks": [] + }, + { + "id": "1a9858b1-3566-4bf1-9fee-60f2fb98e7e4", + "type": "CommonEncryptionCenc", + "labelReferenceInStreamingPolicy": "cencDefaultKey", + "tracks": [] + }, + { + "id": "5faac86a-3aca-4d6b-99c0-6bb8cc3497a1", + "type": "EnvelopeEncryption", + "labelReferenceInStreamingPolicy": "aesDefaultKey", + "tracks": [] + } + ] + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/streaming-locators-delete.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/streaming-locators-delete.json new file mode 100644 index 000000000000..b12888a46c25 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/streaming-locators-delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "streamingLocatorName": "clearStreamingLocator", + "api-version": "2022-08-01" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/streaming-locators-get-by-name.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/streaming-locators-get-by-name.json new file mode 100644 index 000000000000..1dd76890c530 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/streaming-locators-get-by-name.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "streamingLocatorName": "clearStreamingLocator", + "api-version": "2022-08-01" + }, + "responses": { + "200": { + "body": { + "name": "clearStreamingLocator", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/streamingLocators/clearStreamingLocator", + "type": "Microsoft.Media/mediaservices/streamingLocators", + "properties": { + "assetName": "ClimbingMountRainier", + "created": "2018-08-08T18:29:32.1154071Z", + "endTime": "9999-12-31T23:59:59.9999999Z", + "streamingLocatorId": "7684043b-f6d1-44a7-8bed-8a4aa474c5a4", + "streamingPolicyName": "clearStreamingPolicy", + "contentKeys": [] + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/streaming-locators-list-content-keys.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/streaming-locators-list-content-keys.json new file mode 100644 index 000000000000..c2f70478ea31 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/streaming-locators-list-content-keys.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "streamingLocatorName": "secureStreamingLocator", + "api-version": "2022-08-01" + }, + "responses": { + "200": { + "body": { + "contentKeys": [ + { + "id": "9259eb06-eeee-4f77-987f-48f4ea5c649f", + "type": "EnvelopeEncryption", + "labelReferenceInStreamingPolicy": "aesDefaultKey", + "value": "QpiqeQROdN5xamnfUF2Wdw==", + "policyName": "PolicyWithMultipleOptions", + "tracks": [] + }, + { + "id": "06bfeff1-2bb6-4f58-af27-a2767f058bca", + "type": "CommonEncryptionCenc", + "labelReferenceInStreamingPolicy": "cencDefaultKey", + "value": "ZjgWhNnqnqcov/h+wrYusw==", + "policyName": "PolicyWithMultipleOptions", + "tracks": [] + }, + { + "id": "799e78a0-ed6f-4179-9222-ed4ec4223cec", + "type": "CommonEncryptionCbcs", + "labelReferenceInStreamingPolicy": "cbcsDefaultKey", + "value": "FjZ3n3yRcVxRFftdYFbe9g==", + "policyName": "PolicyWithMultipleOptions", + "tracks": [] + } + ] + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/streaming-locators-list-paths-streaming-and-download.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/streaming-locators-list-paths-streaming-and-download.json new file mode 100644 index 000000000000..1ab507ad1835 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/streaming-locators-list-paths-streaming-and-download.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "streamingLocatorName": "clearStreamingLocator", + "api-version": "2022-08-01" + }, + "responses": { + "200": { + "body": { + "streamingPaths": [ + { + "streamingProtocol": "Hls", + "encryptionScheme": "NoEncryption", + "paths": [ + "/262a87b6-b538-4657-bac1-b6897924471d/videoManifest1.ism/manifest(format=m3u8-aapl)", + "/262a87b6-b538-4657-bac1-b6897924471d/videoManifest2.ism/manifest(format=m3u8-aapl)", + "/262a87b6-b538-4657-bac1-b6897924471d/videoManifest3.ism/manifest(format=m3u8-aapl)" + ] + }, + { + "streamingProtocol": "Dash", + "encryptionScheme": "NoEncryption", + "paths": [ + "/262a87b6-b538-4657-bac1-b6897924471d/videoManifest1.ism/manifest(format=mpd-time-csf)", + "/262a87b6-b538-4657-bac1-b6897924471d/videoManifest2.ism/manifest(format=mpd-time-csf)", + "/262a87b6-b538-4657-bac1-b6897924471d/videoManifest3.ism/manifest(format=mpd-time-csf)" + ] + }, + { + "streamingProtocol": "SmoothStreaming", + "encryptionScheme": "NoEncryption", + "paths": [ + "/262a87b6-b538-4657-bac1-b6897924471d/videoManifest1.ism/manifest", + "/262a87b6-b538-4657-bac1-b6897924471d/videoManifest2.ism/manifest", + "/262a87b6-b538-4657-bac1-b6897924471d/videoManifest3.ism/manifest" + ] + } + ], + "downloadPaths": [ + "/262a87b6-b538-4657-bac1-b6897924471d/textTrack.vtt", + "/262a87b6-b538-4657-bac1-b6897924471d/video1.mp4", + "/262a87b6-b538-4657-bac1-b6897924471d/video2.mp4", + "/262a87b6-b538-4657-bac1-b6897924471d/video3.mp4" + ] + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/streaming-locators-list-paths-streaming-only.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/streaming-locators-list-paths-streaming-only.json new file mode 100644 index 000000000000..ef8b8e3f8864 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/streaming-locators-list-paths-streaming-only.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "streamingLocatorName": "secureStreamingLocator", + "api-version": "2022-08-01" + }, + "responses": { + "200": { + "body": { + "streamingPaths": [ + { + "streamingProtocol": "Hls", + "encryptionScheme": "EnvelopeEncryption", + "paths": [ + "/c3cd62e3-d117-4619-bcbd-99f96edd8dbe/videoManifest1.ism/manifest(format=m3u8-aapl,encryption=cbc)", + "/c3cd62e3-d117-4619-bcbd-99f96edd8dbe/videoManifest2.ism/manifest(format=m3u8-aapl,encryption=cbc)", + "/c3cd62e3-d117-4619-bcbd-99f96edd8dbe/videoManifest3.ism/manifest(format=m3u8-aapl,encryption=cbc)" + ] + }, + { + "streamingProtocol": "Dash", + "encryptionScheme": "EnvelopeEncryption", + "paths": [ + "/c3cd62e3-d117-4619-bcbd-99f96edd8dbe/videoManifest1.ism/manifest(format=mpd-time-csf,encryption=cbc)", + "/c3cd62e3-d117-4619-bcbd-99f96edd8dbe/videoManifest2.ism/manifest(format=mpd-time-csf,encryption=cbc)", + "/c3cd62e3-d117-4619-bcbd-99f96edd8dbe/videoManifest3.ism/manifest(format=mpd-time-csf,encryption=cbc)" + ] + }, + { + "streamingProtocol": "SmoothStreaming", + "encryptionScheme": "EnvelopeEncryption", + "paths": [ + "/c3cd62e3-d117-4619-bcbd-99f96edd8dbe/videoManifest1.ism/manifest(encryption=cbc)", + "/c3cd62e3-d117-4619-bcbd-99f96edd8dbe/videoManifest2.ism/manifest(encryption=cbc)", + "/c3cd62e3-d117-4619-bcbd-99f96edd8dbe/videoManifest3.ism/manifest(encryption=cbc)" + ] + }, + { + "streamingProtocol": "Dash", + "encryptionScheme": "CommonEncryptionCenc", + "paths": [ + "/c3cd62e3-d117-4619-bcbd-99f96edd8dbe/videoManifest1.ism/manifest(format=mpd-time-csf,encryption=cenc)", + "/c3cd62e3-d117-4619-bcbd-99f96edd8dbe/videoManifest2.ism/manifest(format=mpd-time-csf,encryption=cenc)", + "/c3cd62e3-d117-4619-bcbd-99f96edd8dbe/videoManifest3.ism/manifest(format=mpd-time-csf,encryption=cenc)" + ] + }, + { + "streamingProtocol": "SmoothStreaming", + "encryptionScheme": "CommonEncryptionCenc", + "paths": [ + "/c3cd62e3-d117-4619-bcbd-99f96edd8dbe/videoManifest1.ism/manifest(encryption=cenc)", + "/c3cd62e3-d117-4619-bcbd-99f96edd8dbe/videoManifest2.ism/manifest(encryption=cenc)", + "/c3cd62e3-d117-4619-bcbd-99f96edd8dbe/videoManifest3.ism/manifest(encryption=cenc)" + ] + }, + { + "streamingProtocol": "Hls", + "encryptionScheme": "CommonEncryptionCbcs", + "paths": [ + "/c3cd62e3-d117-4619-bcbd-99f96edd8dbe/videoManifest1.ism/manifest(format=m3u8-aapl,encryption=cbcs-aapl)", + "/c3cd62e3-d117-4619-bcbd-99f96edd8dbe/videoManifest2.ism/manifest(format=m3u8-aapl,encryption=cbcs-aapl)", + "/c3cd62e3-d117-4619-bcbd-99f96edd8dbe/videoManifest3.ism/manifest(format=m3u8-aapl,encryption=cbcs-aapl)" + ] + } + ], + "downloadPaths": [] + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/streaming-locators-list.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/streaming-locators-list.json new file mode 100644 index 000000000000..7f3fa959ea6b --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/streaming-locators-list.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "api-version": "2022-08-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "clearStreamingLocator", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/streamingLocators/clearStreamingLocator", + "type": "Microsoft.Media/mediaservices/streamingLocators", + "properties": { + "assetName": "ClimbingMountRainier", + "created": "2018-08-08T18:29:31.9341192Z", + "endTime": "9999-12-31T23:59:59.9999999Z", + "streamingLocatorId": "6a116ec6-0c85-441f-9c31-89a5bc3adf0a", + "streamingPolicyName": "clearStreamingPolicy", + "contentKeys": [] + } + }, + { + "name": "secureStreamingLocator", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/streamingLocators/secureStreamingLocator", + "type": "Microsoft.Media/mediaservices/streamingLocators", + "properties": { + "assetName": "ClimbingMountRainier", + "created": "2018-08-08T18:29:31.9544387Z", + "endTime": "9999-12-31T23:59:59.9999999Z", + "streamingLocatorId": "7338ef90-ffc8-42de-8bff-de8f99973300", + "streamingPolicyName": "secureStreamingPolicy", + "contentKeys": [] + } + } + ] + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/streaming-policies-create-clear.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/streaming-policies-create-clear.json new file mode 100644 index 000000000000..09cfae951ad1 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/streaming-policies-create-clear.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "streamingPolicyName": "UserCreatedClearStreamingPolicy", + "api-version": "2022-08-01", + "parameters": { + "properties": { + "noEncryption": { + "enabledProtocols": { + "download": true, + "dash": true, + "hls": true, + "smoothStreaming": true + } + } + } + } + }, + "responses": { + "201": { + "body": { + "name": "UserCreatedClearStreamingPolicy", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/streamingPolicies/UserCreatedClearStreamingPolicy", + "type": "Microsoft.Media/mediaservices/streamingPolicies", + "properties": { + "created": "2018-08-08T18:29:31.1535417Z", + "noEncryption": { + "enabledProtocols": { + "download": true, + "dash": true, + "hls": true, + "smoothStreaming": true + } + } + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/streaming-policies-create-commonEncryptionCbcs-clearKeyEncryption.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/streaming-policies-create-commonEncryptionCbcs-clearKeyEncryption.json new file mode 100644 index 000000000000..2b546d54ca7e --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/streaming-policies-create-commonEncryptionCbcs-clearKeyEncryption.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "streamingPolicyName": "UserCreatedSecureStreamingPolicyWithCommonEncryptionCbcsOnly", + "api-version": "2022-08-01", + "parameters": { + "properties": { + "defaultContentKeyPolicyName": "PolicyWithMultipleOptions", + "commonEncryptionCbcs": { + "enabledProtocols": { + "download": false, + "dash": false, + "hls": true, + "smoothStreaming": false + }, + "contentKeys": { + "defaultKey": { + "label": "cbcsDefaultKey" + } + }, + "clearKeyEncryptionConfiguration": { + "customKeysAcquisitionUrlTemplate": "https://contoso.com/{AlternativeMediaId}/clearkey/" + } + } + } + } + }, + "responses": { + "201": { + "body": { + "name": "UserCreatedSecureStreamingPolicyWithCommonEncryptionCbcsOnly", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/streamingPolicies/UserCreatedSecureStreamingPolicyWithCommonEncryptionCbcsOnly", + "type": "Microsoft.Media/mediaservices/streamingPolicies", + "properties": { + "created": "2018-08-08T18:29:31.6197199Z", + "defaultContentKeyPolicyName": "PolicyWithMultipleOptions", + "commonEncryptionCbcs": { + "enabledProtocols": { + "download": false, + "dash": false, + "hls": true, + "smoothStreaming": false + }, + "clearTracks": [], + "contentKeys": { + "defaultKey": { + "label": "cbcsDefaultKey" + }, + "keyToTrackMappings": [] + }, + "clearKeyEncryptionConfiguration": { + "customKeysAcquisitionUrlTemplate": "https://contoso.com/{AlternativeMediaId}/clearkey/" + } + } + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/streaming-policies-create-commonEncryptionCbcs-only.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/streaming-policies-create-commonEncryptionCbcs-only.json new file mode 100644 index 000000000000..7f3e8074320a --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/streaming-policies-create-commonEncryptionCbcs-only.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "streamingPolicyName": "UserCreatedSecureStreamingPolicyWithCommonEncryptionCbcsOnly", + "api-version": "2022-08-01", + "parameters": { + "properties": { + "defaultContentKeyPolicyName": "PolicyWithMultipleOptions", + "commonEncryptionCbcs": { + "enabledProtocols": { + "download": false, + "dash": false, + "hls": true, + "smoothStreaming": false + }, + "contentKeys": { + "defaultKey": { + "label": "cbcsDefaultKey" + } + }, + "drm": { + "fairPlay": { + "customLicenseAcquisitionUrlTemplate": "https://contoso.com/{AssetAlternativeId}/fairplay/{ContentKeyId}", + "allowPersistentLicense": true + } + } + } + } + } + }, + "responses": { + "201": { + "body": { + "name": "UserCreatedSecureStreamingPolicyWithCommonEncryptionCbcsOnly", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/streamingPolicies/UserCreatedSecureStreamingPolicyWithCommonEncryptionCbcsOnly", + "type": "Microsoft.Media/mediaservices/streamingPolicies", + "properties": { + "created": "2018-08-08T18:29:31.6197199Z", + "defaultContentKeyPolicyName": "PolicyWithMultipleOptions", + "commonEncryptionCbcs": { + "enabledProtocols": { + "download": false, + "dash": false, + "hls": true, + "smoothStreaming": false + }, + "clearTracks": [], + "contentKeys": { + "defaultKey": { + "label": "cbcsDefaultKey" + }, + "keyToTrackMappings": [] + }, + "drm": { + "fairPlay": { + "customLicenseAcquisitionUrlTemplate": "https://contoso.com/{AssetAlternativeId}/fairplay/{ContentKeyId}", + "allowPersistentLicense": true + } + } + } + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/streaming-policies-create-commonEncryptionCenc-clearKeyEncryption.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/streaming-policies-create-commonEncryptionCenc-clearKeyEncryption.json new file mode 100644 index 000000000000..b6fc82e3eb42 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/streaming-policies-create-commonEncryptionCenc-clearKeyEncryption.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "streamingPolicyName": "UserCreatedSecureStreamingPolicyWithCommonEncryptionCencOnly", + "api-version": "2022-08-01", + "parameters": { + "properties": { + "defaultContentKeyPolicyName": "PolicyWithPlayReadyOptionAndOpenRestriction", + "commonEncryptionCenc": { + "enabledProtocols": { + "download": false, + "dash": true, + "hls": false, + "smoothStreaming": true + }, + "clearTracks": [ + { + "trackSelections": [ + { + "property": "FourCC", + "operation": "Equal", + "value": "hev1" + } + ] + } + ], + "contentKeys": { + "defaultKey": { + "label": "cencDefaultKey" + } + }, + "clearKeyEncryptionConfiguration": { + "customKeysAcquisitionUrlTemplate": "https://contoso.com/{AlternativeMediaId}/clearkey/" + } + } + } + } + }, + "responses": { + "201": { + "body": { + "name": "UserCreatedSecureStreamingPolicyWithCommonEncryptionCencOnly", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/streamingPolicies/UserCreatedSecureStreamingPolicyWithCommonEncryptionCencOnly", + "type": "Microsoft.Media/mediaservices/streamingPolicies", + "properties": { + "created": "2018-08-08T18:29:31.4678543Z", + "defaultContentKeyPolicyName": "PolicyWithPlayReadyOptionAndOpenRestriction", + "commonEncryptionCenc": { + "enabledProtocols": { + "download": false, + "dash": true, + "hls": false, + "smoothStreaming": true + }, + "clearTracks": [ + { + "trackSelections": [ + { + "property": "FourCC", + "operation": "Equal", + "value": "hev1" + } + ] + } + ], + "contentKeys": { + "defaultKey": { + "label": "cencDefaultKey" + }, + "keyToTrackMappings": [] + }, + "clearKeyEncryptionConfiguration": { + "customKeysAcquisitionUrlTemplate": "https://contoso.com/{AlternativeMediaId}/clearkey/" + } + } + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/streaming-policies-create-commonEncryptionCenc-only.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/streaming-policies-create-commonEncryptionCenc-only.json new file mode 100644 index 000000000000..b281a14c1195 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/streaming-policies-create-commonEncryptionCenc-only.json @@ -0,0 +1,94 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "streamingPolicyName": "UserCreatedSecureStreamingPolicyWithCommonEncryptionCencOnly", + "api-version": "2022-08-01", + "parameters": { + "properties": { + "defaultContentKeyPolicyName": "PolicyWithPlayReadyOptionAndOpenRestriction", + "commonEncryptionCenc": { + "enabledProtocols": { + "download": false, + "dash": true, + "hls": false, + "smoothStreaming": true + }, + "clearTracks": [ + { + "trackSelections": [ + { + "property": "FourCC", + "operation": "Equal", + "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" + } + } + } + } + } + }, + "responses": { + "201": { + "body": { + "name": "UserCreatedSecureStreamingPolicyWithCommonEncryptionCencOnly", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/streamingPolicies/UserCreatedSecureStreamingPolicyWithCommonEncryptionCencOnly", + "type": "Microsoft.Media/mediaservices/streamingPolicies", + "properties": { + "created": "2018-08-08T18:29:31.4678543Z", + "defaultContentKeyPolicyName": "PolicyWithPlayReadyOptionAndOpenRestriction", + "commonEncryptionCenc": { + "enabledProtocols": { + "download": false, + "dash": true, + "hls": false, + "smoothStreaming": true + }, + "clearTracks": [ + { + "trackSelections": [ + { + "property": "FourCC", + "operation": "Equal", + "value": "hev1" + } + ] + } + ], + "contentKeys": { + "defaultKey": { + "label": "cencDefaultKey" + }, + "keyToTrackMappings": [] + }, + "drm": { + "playReady": { + "customLicenseAcquisitionUrlTemplate": "https://contoso.com/{AssetAlternativeId}/playready/{ContentKeyId}", + "playReadyCustomAttributes": "PlayReady CustomAttributes" + }, + "widevine": { + "customLicenseAcquisitionUrlTemplate": "https://contoso.com/{AssetAlternativeId}/widevine/{ContentKeyId}" + } + } + } + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/streaming-policies-create-envelopeEncryption-only.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/streaming-policies-create-envelopeEncryption-only.json new file mode 100644 index 000000000000..7f18a40bf5c5 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/streaming-policies-create-envelopeEncryption-only.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "streamingPolicyName": "UserCreatedSecureStreamingPolicyWithEnvelopeEncryptionOnly", + "api-version": "2022-08-01", + "parameters": { + "properties": { + "defaultContentKeyPolicyName": "PolicyWithClearKeyOptionAndTokenRestriction", + "envelopeEncryption": { + "enabledProtocols": { + "download": false, + "dash": true, + "hls": true, + "smoothStreaming": true + }, + "contentKeys": { + "defaultKey": { + "label": "aesDefaultKey" + } + }, + "customKeyAcquisitionUrlTemplate": "https://contoso.com/{AssetAlternativeId}/envelope/{ContentKeyId}" + } + } + } + }, + "responses": { + "201": { + "body": { + "name": "UserCreatedSecureStreamingPolicyWithEnvelopeEncryptionOnly", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/streamingPolicies/UserCreatedSecureStreamingPolicyWithEnvelopeEncryptionOnly", + "type": "Microsoft.Media/mediaservices/streamingPolicies", + "properties": { + "created": "2018-08-08T18:29:31.3055712Z", + "defaultContentKeyPolicyName": "PolicyWithClearKeyOptionAndTokenRestriction", + "envelopeEncryption": { + "enabledProtocols": { + "download": false, + "dash": true, + "hls": true, + "smoothStreaming": true + }, + "clearTracks": [], + "contentKeys": { + "defaultKey": { + "label": "aesDefaultKey" + }, + "keyToTrackMappings": [] + }, + "customKeyAcquisitionUrlTemplate": "https://contoso.com/{AssetAlternativeId}/envelope/{ContentKeyId}" + } + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/streaming-policies-create-secure-streaming.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/streaming-policies-create-secure-streaming.json new file mode 100644 index 000000000000..a0670c3f3fc7 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/streaming-policies-create-secure-streaming.json @@ -0,0 +1,164 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "streamingPolicyName": "UserCreatedSecureStreamingPolicy", + "api-version": "2022-08-01", + "parameters": { + "properties": { + "defaultContentKeyPolicyName": "PolicyWithMultipleOptions", + "envelopeEncryption": { + "enabledProtocols": { + "download": false, + "dash": true, + "hls": true, + "smoothStreaming": true + }, + "contentKeys": { + "defaultKey": { + "label": "aesDefaultKey" + } + }, + "customKeyAcquisitionUrlTemplate": "https://contoso.com/{AssetAlternativeId}/envelope/{ContentKeyId}" + }, + "commonEncryptionCenc": { + "enabledProtocols": { + "download": false, + "dash": true, + "hls": false, + "smoothStreaming": true + }, + "clearTracks": [ + { + "trackSelections": [ + { + "property": "FourCC", + "operation": "Equal", + "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" + } + } + }, + "commonEncryptionCbcs": { + "enabledProtocols": { + "download": false, + "dash": false, + "hls": true, + "smoothStreaming": false + }, + "contentKeys": { + "defaultKey": { + "label": "cbcsDefaultKey" + } + }, + "drm": { + "fairPlay": { + "customLicenseAcquisitionUrlTemplate": "https://contoso.com/{AssetAlternativeId}/fairplay/{ContentKeyId}", + "allowPersistentLicense": true + } + } + } + } + } + }, + "responses": { + "201": { + "body": { + "name": "UserCreatedSecureStreamingPolicy", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/streamingPolicies/UserCreatedSecureStreamingPolicy", + "type": "Microsoft.Media/mediaservices/streamingPolicies", + "properties": { + "created": "2018-08-08T18:29:31.7715696Z", + "defaultContentKeyPolicyName": "PolicyWithMultipleOptions", + "envelopeEncryption": { + "enabledProtocols": { + "download": false, + "dash": true, + "hls": true, + "smoothStreaming": true + }, + "clearTracks": [], + "contentKeys": { + "defaultKey": { + "label": "aesDefaultKey" + }, + "keyToTrackMappings": [] + }, + "customKeyAcquisitionUrlTemplate": "https://contoso.com/{AssetAlternativeId}/envelope/{ContentKeyId}" + }, + "commonEncryptionCenc": { + "enabledProtocols": { + "download": false, + "dash": true, + "hls": false, + "smoothStreaming": true + }, + "clearTracks": [ + { + "trackSelections": [ + { + "property": "FourCC", + "operation": "Equal", + "value": "hev1" + } + ] + } + ], + "contentKeys": { + "defaultKey": { + "label": "cencDefaultKey" + }, + "keyToTrackMappings": [] + }, + "drm": { + "playReady": { + "customLicenseAcquisitionUrlTemplate": "https://contoso.com/{AssetAlternativeId}/playready/{ContentKeyId}", + "playReadyCustomAttributes": "PlayReady CustomAttributes" + }, + "widevine": { + "customLicenseAcquisitionUrlTemplate": "https://contoso.com/{AssetAlternativeId}/widevine/{ContentKeyId" + } + } + }, + "commonEncryptionCbcs": { + "enabledProtocols": { + "download": false, + "dash": false, + "hls": true, + "smoothStreaming": false + }, + "clearTracks": [], + "contentKeys": { + "defaultKey": { + "label": "cbcsDefaultKey" + }, + "keyToTrackMappings": [] + }, + "drm": { + "fairPlay": { + "customLicenseAcquisitionUrlTemplate": "https://contoso.com/{AssetAlternativeId}/fairplay/{ContentKeyId}", + "allowPersistentLicense": true + } + } + } + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/streaming-policies-delete.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/streaming-policies-delete.json new file mode 100644 index 000000000000..b020360f557b --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/streaming-policies-delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "streamingPolicyName": "secureStreamingPolicyWithCommonEncryptionCbcsOnly", + "api-version": "2022-08-01" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/streaming-policies-list.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/streaming-policies-list.json new file mode 100644 index 000000000000..3bee4522bf8e --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/streaming-policies-list.json @@ -0,0 +1,211 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "api-version": "2022-08-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "clearStreamingPolicy", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/streamingPolicies/clearStreamingPolicy", + "type": "Microsoft.Media/mediaservices/streamingPolicies", + "properties": { + "created": "2018-08-08T18:29:30.676067Z", + "noEncryption": { + "enabledProtocols": { + "download": true, + "dash": true, + "hls": true, + "smoothStreaming": true + } + } + } + }, + { + "name": "secureStreamingPolicy", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/streamingPolicies/secureStreamingPolicy", + "type": "Microsoft.Media/mediaservices/streamingPolicies", + "properties": { + "created": "2018-08-08T18:29:30.6781134Z", + "defaultContentKeyPolicyName": "PolicyWithMultipleOptions", + "envelopeEncryption": { + "enabledProtocols": { + "download": false, + "dash": true, + "hls": true, + "smoothStreaming": true + }, + "clearTracks": [], + "contentKeys": { + "defaultKey": { + "label": "aesDefaultKey" + }, + "keyToTrackMappings": [] + }, + "customKeyAcquisitionUrlTemplate": "https://contoso.com/{AssetAlternativeId}/envelope/{ContentKeyId}" + }, + "commonEncryptionCenc": { + "enabledProtocols": { + "download": false, + "dash": true, + "hls": false, + "smoothStreaming": true + }, + "clearTracks": [ + { + "trackSelections": [ + { + "property": "FourCC", + "operation": "Unknown", + "value": "hev1" + } + ] + } + ], + "contentKeys": { + "defaultKey": { + "label": "cencDefaultKey" + }, + "keyToTrackMappings": [] + }, + "drm": { + "playReady": { + "customLicenseAcquisitionUrlTemplate": "https://contoso.com/{AssetAlternativeId}/playready/{ContentKeyId}", + "playReadyCustomAttributes": "PlayReady CustomAttributes" + }, + "widevine": { + "customLicenseAcquisitionUrlTemplate": "https://contoso.com/{AssetAlternativeId}/widevine/{ContentKeyId" + } + } + }, + "commonEncryptionCbcs": { + "enabledProtocols": { + "download": false, + "dash": false, + "hls": true, + "smoothStreaming": false + }, + "clearTracks": [], + "contentKeys": { + "defaultKey": { + "label": "cbcsDefaultKey" + }, + "keyToTrackMappings": [] + }, + "drm": { + "fairPlay": { + "customLicenseAcquisitionUrlTemplate": "https://contoso.com/{AssetAlternativeId}/fairplay/{ContentKeyId}", + "allowPersistentLicense": true + } + } + } + } + }, + { + "name": "secureStreamingPolicyWithCommonEncryptionCbcsOnly", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/streamingPolicies/secureStreamingPolicyWithCommonEncryptionCbcsOnly", + "type": "Microsoft.Media/mediaservices/streamingPolicies", + "properties": { + "created": "2018-08-08T18:29:30.6781134Z", + "defaultContentKeyPolicyName": "PolicyWithMultipleOptions", + "commonEncryptionCbcs": { + "enabledProtocols": { + "download": false, + "dash": false, + "hls": true, + "smoothStreaming": false + }, + "clearTracks": [], + "contentKeys": { + "defaultKey": { + "label": "cbcsDefaultKey" + }, + "keyToTrackMappings": [] + }, + "drm": { + "fairPlay": { + "customLicenseAcquisitionUrlTemplate": "https://contoso.com/{AssetAlternativeId}/fairplay/{ContentKeyId}", + "allowPersistentLicense": true + } + } + } + } + }, + { + "name": "secureStreamingPolicyWithCommonEncryptionCencOnly", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/streamingPolicies/secureStreamingPolicyWithCommonEncryptionCencOnly", + "type": "Microsoft.Media/mediaservices/streamingPolicies", + "properties": { + "created": "2018-08-08T18:29:30.6781134Z", + "defaultContentKeyPolicyName": "PolicyWithMultipleOptions", + "commonEncryptionCenc": { + "enabledProtocols": { + "download": false, + "dash": true, + "hls": false, + "smoothStreaming": true + }, + "clearTracks": [ + { + "trackSelections": [ + { + "property": "FourCC", + "operation": "Unknown", + "value": "hev1" + } + ] + } + ], + "contentKeys": { + "defaultKey": { + "label": "cencDefaultKey" + }, + "keyToTrackMappings": [] + }, + "drm": { + "playReady": { + "customLicenseAcquisitionUrlTemplate": "https://contoso.com/{AssetAlternativeId}/playready/{ContentKeyId}", + "playReadyCustomAttributes": "PlayReady CustomAttributes" + }, + "widevine": { + "customLicenseAcquisitionUrlTemplate": "https://contoso.com/{AssetAlternativeId}/widevine/{ContentKeyId" + } + } + } + } + }, + { + "name": "secureStreamingPolicyWithEnvelopeEncryptionOnly", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/streamingPolicies/secureStreamingPolicyWithEnvelopeEncryptionOnly", + "type": "Microsoft.Media/mediaservices/streamingPolicies", + "properties": { + "created": "2018-08-08T18:29:30.6781134Z", + "defaultContentKeyPolicyName": "PolicyWithClearKeyOptionAndTokenRestriction", + "envelopeEncryption": { + "enabledProtocols": { + "download": false, + "dash": true, + "hls": true, + "smoothStreaming": true + }, + "clearTracks": [], + "contentKeys": { + "defaultKey": { + "label": "aesDefaultKey" + }, + "keyToTrackMappings": [] + }, + "customKeyAcquisitionUrlTemplate": "https://contoso.com/{AssetAlternativeId}/envelope/{ContentKeyId}" + } + } + } + ], + "@odata.nextLink": "http://server/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaServices/contosomedia/streamingPolicies?api-version=2022-08-01&$skiptoken=secureStreamingPolicyWithEnvelopeEncryptionOnly" + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/streaming-policy-get-by-name.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/streaming-policy-get-by-name.json new file mode 100644 index 000000000000..8faa340cd09f --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2022-08-01/examples/streaming-policy-get-by-name.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "streamingPolicyName": "clearStreamingPolicy", + "api-version": "2022-08-01" + }, + "responses": { + "200": { + "body": { + "name": "clearStreamingPolicy", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/streamingPolicies/clearStreamingPolicy", + "type": "Microsoft.Media/mediaservices/streamingPolicies", + "properties": { + "created": "2018-08-08T18:29:30.8501486Z", + "noEncryption": { + "enabledProtocols": { + "download": true, + "dash": true, + "hls": true, + "smoothStreaming": true + } + } + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/readme.md b/specification/mediaservices/resource-manager/readme.md index 27423b19022f..dddfd242bab2 100644 --- a/specification/mediaservices/resource-manager/readme.md +++ b/specification/mediaservices/resource-manager/readme.md @@ -26,7 +26,7 @@ These are the global settings for the MediaServices API. ``` yaml openapi-type: arm -tag: package-2022-08 +tag: package-metadata-2022-08 opt-in-extensible-enums: true ``` @@ -63,6 +63,21 @@ directive: ``` +### Tag: package-metadata-2022-08 + +These settings apply only when `--tag=package-metadata-2022-08` is specified on the command line. + +```yaml $(tag) == 'package-metadata-2022-08' +input-file: + - Microsoft.Media/stable/2022-08-01/AccountFilters.json + - Microsoft.Media/stable/2021-11-01/Accounts.json + - Microsoft.Media/stable/2022-08-01/AssetsAndAssetFilters.json + - Microsoft.Media/stable/2022-08-01/ContentKeyPolicies.json + - Microsoft.Media/stable/2021-11-01/Encoding.json + - Microsoft.Media/stable/2022-08-01/StreamingPoliciesAndStreamingLocators.json + - Microsoft.Media/stable/2022-08-01/streamingservice.json +``` + ### Tag: package-2022-08 These settings apply only when `--tag=package-2022-08` is specified on the command line. @@ -77,6 +92,7 @@ input-file: - Microsoft.Media/stable/2021-11-01/StreamingPoliciesAndStreamingLocators.json - Microsoft.Media/stable/2022-08-01/streamingservice.json ``` + ### Tag: package-account-2021-11 These settings apply only when `--tag=package-account-2021-11` is specified on the command line.