diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/preview/2020-02-01-preview/MediaGraphs.json b/specification/mediaservices/resource-manager/Microsoft.Media/preview/2020-02-01-preview/MediaGraphs.json new file mode 100644 index 000000000000..a641b02b7eb5 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/preview/2020-02-01-preview/MediaGraphs.json @@ -0,0 +1,901 @@ +{ + "schemes": [ + "https" + ], + "swagger": "2.0", + "info": { + "title": "Azure Media Services", + "description": "This Swagger was generated by the API Framework.", + "version": "2020-02-01-preview" + }, + "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": { + "MediaGraphProperties": { + "properties": { + "description": { + "type": "string", + "description": "Media Graph description." + }, + "state": { + "type": "string", + "enum": [ + "Running", + "Starting", + "Stopped", + "Stopping" + ], + "x-ms-enum": { + "name": "MediaGraphState", + "values": [ + { + "value": "Running", + "description": "Media Graph is Running." + }, + { + "value": "Starting", + "description": "Media Graph is Starting." + }, + { + "value": "Stopped", + "description": "Media Graph has Stopped." + }, + { + "value": "Stopping", + "description": "Media Graph is Stopping." + } + ], + "modelAsString": true + }, + "description": "Media Graph state which indicates the resource allocation status for running the media graph pipeline.", + "readOnly": true, + "x-nullable": false + }, + "created": { + "type": "string", + "format": "date-time", + "description": "Date the Media Graph was created.", + "readOnly": true, + "x-nullable": false + }, + "lastModified": { + "type": "string", + "format": "date-time", + "description": "Date the Media Graph was last modified.", + "readOnly": true, + "x-nullable": false + }, + "sources": { + "type": "array", + "items": { + "$ref": "#/definitions/MediaGraphSource" + }, + "description": "Media Graph sources." + }, + "sinks": { + "type": "array", + "items": { + "$ref": "#/definitions/MediaGraphSink" + }, + "description": "Media Graph sinks." + } + }, + "type": "object", + "required": [ + "sources", + "sinks" + ], + "description": "Class for Media Graph properties." + }, + "MediaGraphSource": { + "discriminator": "@odata.type", + "properties": { + "@odata.type": { + "type": "string", + "description": "The discriminator for derived types." + }, + "name": { + "type": "string", + "description": "Source name." + } + }, + "type": "object", + "required": [ + "@odata.type", + "name" + ], + "description": "Media source." + }, + "MediaGraphSink": { + "discriminator": "@odata.type", + "properties": { + "@odata.type": { + "type": "string", + "description": "The discriminator for derived types." + }, + "name": { + "type": "string", + "description": "Sink name." + }, + "inputs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Sink inputs." + } + }, + "type": "object", + "required": [ + "@odata.type", + "name", + "inputs" + ], + "description": "Media Sink." + }, + "MediaGraphRtspSource": { + "x-ms-discriminator-value": "#Microsoft.Media.MediaGraphRtspSource", + "allOf": [ + { + "$ref": "#/definitions/MediaGraphSource" + } + ], + "properties": { + "transport": { + "type": "string", + "enum": [ + "Http", + "Tcp" + ], + "x-ms-enum": { + "name": "MediaGraphRtspTransport", + "values": [ + { + "value": "Http", + "description": "HTTP/HTTPS transport. This should be used when HTTP tunneling is desired." + }, + { + "value": "Tcp", + "description": "TCP transport. This should be used when HTTP tunneling is not desired." + } + ], + "modelAsString": true + }, + "description": "Underlying RTSP transport. This can be used to enable or disable HTTP tunneling." + }, + "endpoint": { + "$ref": "#/definitions/MediaGraphEndpoint", + "description": "RTSP endpoint of the stream being connected to." + } + }, + "type": "object", + "required": [ + "transport", + "endpoint" + ], + "description": "RTSP source." + }, + "MediaGraphEndpoint": { + "discriminator": "@odata.type", + "properties": { + "@odata.type": { + "type": "string", + "description": "The discriminator for derived types." + }, + "credentials": { + "$ref": "#/definitions/MediaGraphCredentials", + "description": "Polymorphic credentials to present to the endpoint." + }, + "url": { + "type": "string", + "description": "Url for the endpoint." + } + }, + "type": "object", + "required": [ + "@odata.type", + "url" + ], + "description": "Base class for endpoints." + }, + "MediaGraphAssetSink": { + "x-ms-discriminator-value": "#Microsoft.Media.MediaGraphAssetSink", + "allOf": [ + { + "$ref": "#/definitions/MediaGraphSink" + } + ], + "properties": { + "assetName": { + "type": "string", + "description": "Asset name." + } + }, + "type": "object", + "required": [ + "assetName" + ], + "description": "Asset sink." + }, + "MediaGraphCredentials": { + "discriminator": "@odata.type", + "properties": { + "@odata.type": { + "type": "string", + "description": "The discriminator for derived types." + } + }, + "type": "object", + "required": [ + "@odata.type" + ], + "description": "Credentials to present during authentication." + }, + "MediaGraphUsernamePasswordCredentials": { + "x-ms-discriminator-value": "#Microsoft.Media.MediaGraphUsernamePasswordCredentials", + "allOf": [ + { + "$ref": "#/definitions/MediaGraphCredentials" + } + ], + "properties": { + "username": { + "type": "string", + "description": "Username for a username/password pair." + }, + "password": { + "type": "string", + "description": "Password for a username/password pair." + } + }, + "type": "object", + "required": [ + "username", + "password" + ], + "description": "Username/password credential pair." + }, + "MediaGraphClearEndpoint": { + "x-ms-discriminator-value": "#Microsoft.Media.MediaGraphClearEndpoint", + "allOf": [ + { + "$ref": "#/definitions/MediaGraphEndpoint" + } + ], + "properties": {}, + "type": "object", + "description": "An endpoint to connect to with no encryption in transit." + }, + "MediaGraphTlsEndpoint": { + "x-ms-discriminator-value": "#Microsoft.Media.MediaGraphTlsEndpoint", + "allOf": [ + { + "$ref": "#/definitions/MediaGraphEndpoint" + } + ], + "properties": { + "trustedCertificates": { + "$ref": "#/definitions/MediaGraphCertificateSource", + "description": "What certificates should be trusted when authenticating a TLS connection. Null designates that Azure Media's source of trust should be used." + }, + "validationOptions": { + "$ref": "#/definitions/MediaGraphTlsValidationOptions", + "description": "Validation options to use when authenticating a TLS connection. By default, strict validation is used." + } + }, + "type": "object", + "description": "An endpoint which must be connected over TLS/SSL." + }, + "MediaGraphCertificateSource": { + "discriminator": "@odata.type", + "properties": { + "@odata.type": { + "type": "string", + "description": "The discriminator for derived types." + } + }, + "type": "object", + "required": [ + "@odata.type" + ], + "description": "Base class for certificate sources." + }, + "MediaGraphTlsValidationOptions": { + "properties": { + "ignoreHostname": { + "type": "boolean", + "description": "Ignore the host name (common name) during validation." + }, + "ignoreSignature": { + "type": "boolean", + "description": "Ignore the integrity of the certificate chain at the current time." + } + }, + "type": "object", + "required": [ + "ignoreHostname", + "ignoreSignature" + ], + "description": "Options for controlling the authentication of TLS endpoints." + }, + "MediaGraphPemCertificateList": { + "x-ms-discriminator-value": "#Microsoft.Media.MediaGraphPemCertificateList", + "allOf": [ + { + "$ref": "#/definitions/MediaGraphCertificateSource" + } + ], + "properties": { + "certificates": { + "type": "array", + "items": { + "type": "string" + }, + "description": "PEM formatted public certificates, one per entry." + } + }, + "type": "object", + "required": [ + "certificates" + ], + "description": "A list of PEM formatted certificates." + }, + "MediaGraph": { + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/MediaGraphProperties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "description": "The Media Graph." + }, + "MediaGraphOperationError": { + "properties": { + "code": { + "type": "string", + "description": "The operation error code." + }, + "message": { + "type": "string", + "description": "The operation error message." + } + }, + "type": "object", + "description": "The operation error." + }, + "MediaGraphOperationStatus": { + "properties": { + "name": { + "type": "string", + "description": "The name of the Media Graph operation." + }, + "status": { + "type": "string", + "description": "The status of the Media Graph operation." + }, + "error": { + "$ref": "#/definitions/MediaGraphOperationError", + "description": "The error details for the Media Graph operation." + } + }, + "type": "object", + "required": [ + "name" + ], + "description": "The status of the Media Graph operation." + }, + "MediaGraphOperationResult": { + "properties": {}, + "type": "object", + "description": "The result of the Media Graph operation." + }, + "ODataError": { + "properties": { + "code": { + "type": "string", + "description": "A language-independent error name." + }, + "message": { + "type": "string", + "description": "The error message." + }, + "target": { + "type": "string", + "description": "The target of the error (for example, the name of the property in error)." + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/ODataError" + }, + "description": "The error details." + } + }, + "type": "object", + "description": "Information about an error." + }, + "ApiError": { + "properties": { + "error": { + "$ref": "#/definitions/ODataError", + "description": "The error properties." + } + }, + "type": "object", + "description": "The API error." + }, + "MediaGraphCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/MediaGraph" + }, + "description": "A collection of MediaGraph 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 MediaGraph items." + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/mediaGraphs": { + "get": { + "summary": "List Media Graphs", + "description": "Lists Media Graphs in the Media Services account.", + "operationId": "MediaGraphs_List", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MediaGraphCollection" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "#/definitions/ApiError" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "name": "$top", + "in": "query", + "required": false, + "type": "integer", + "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." + } + ], + "x-ms-pageable": { + "nextLinkName": "@odata.nextLink" + }, + "x-ms-examples": { + "List all Media Graphs": { + "$ref": "examples/media-graph-list-all.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/mediaGraphs/{mediaGraphName}": { + "get": { + "summary": "Get a Media Graph", + "description": "Get the details of a Media Graph in the Media Services account.", + "operationId": "MediaGraphs_Get", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MediaGraph" + } + }, + "404": { + "description": "NotFound" + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "#/definitions/ApiError" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "mediaGraphName", + "in": "path", + "required": true, + "type": "string", + "description": "The Media Graph name." + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Get a Media Graph by name": { + "$ref": "examples/media-graph-get-by-name.json" + } + } + }, + "put": { + "summary": "Create or update a Media Graph", + "description": "Create or update a Media Graph in the Media Services account.", + "operationId": "MediaGraphs_CreateOrUpdate", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MediaGraph" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "#/definitions/ApiError" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "mediaGraphName", + "in": "path", + "required": true, + "type": "string", + "description": "The Media Graph name." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/MediaGraph" + }, + "description": "The request parameters" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Create or update a Media Graph with a clear RTSP Source": { + "$ref": "examples/media-graph-create-clear-source.json" + }, + "Create or update a Media Graph with an encrypted RTSP Source": { + "$ref": "examples/media-graph-create-encrypted-source.json" + } + } + }, + "delete": { + "summary": "Delete a Media Graph", + "description": "Deletes a Media Graph in the Media Services account.", + "operationId": "MediaGraphs_Delete", + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "#/definitions/ApiError" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "mediaGraphName", + "in": "path", + "required": true, + "type": "string", + "description": "The Media Graph name." + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Delete a Media Graph": { + "$ref": "examples/media-graph-delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/mediaGraphs/{mediaGraphName}/start": { + "post": { + "summary": "Start a Media Graph", + "description": "Start a Media Graph in the Media Services account.", + "operationId": "MediaGraphs_Start", + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "#/definitions/ApiError" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "mediaGraphName", + "in": "path", + "required": true, + "type": "string", + "description": "The Media Graph name." + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Start Media Graph": { + "$ref": "examples/media-graph-start.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/mediaGraphs/{mediaGraphName}/stop": { + "post": { + "summary": "Stop a Media Graph", + "description": "Stop a Media Graph in the Media Services account.", + "operationId": "MediaGraphs_Stop", + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "#/definitions/ApiError" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "mediaGraphName", + "in": "path", + "required": true, + "type": "string", + "description": "The Media Graph name." + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Stop Media Graph": { + "$ref": "examples/media-graph-stop.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/mediaGraphs/{mediaGraphName}/operationsStatus/{operationId}": { + "get": { + "summary": "Get the operation status", + "description": "Get the operation status of a Media Graph in the media services account.", + "operationId": "OperationsStatus_Get", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MediaGraphOperationStatus" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "#/definitions/ApiError" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "mediaGraphName", + "in": "path", + "required": true, + "type": "string", + "description": "The Media Graph name." + }, + { + "name": "operationId", + "in": "path", + "required": true, + "type": "string", + "description": "The operation ID." + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Get the operation status.": { + "$ref": "examples/operation-status-get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/mediaGraphs/{mediaGraphName}/operationResults/{operationId}": { + "get": { + "summary": "Get the operation result", + "description": "Get the operation result of a Media Graph in the Media Services account.", + "operationId": "OperationResults_Get", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MediaGraphOperationResult" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "mediaGraphName", + "in": "path", + "required": true, + "type": "string", + "description": "The Media Graph name." + }, + { + "name": "operationId", + "in": "path", + "required": true, + "type": "string", + "description": "The operation ID" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Get the operation result": { + "$ref": "examples/operation-result-get.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/preview/2020-02-01-preview/examples/media-graph-create-clear-source.json b/specification/mediaservices/resource-manager/Microsoft.Media/preview/2020-02-01-preview/examples/media-graph-create-clear-source.json new file mode 100644 index 000000000000..ee95f1a0a46d --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/preview/2020-02-01-preview/examples/media-graph-create-clear-source.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "mediaGraphName": "SampleMediaGraph", + "api-version": "2020-02-01-preview", + "parameters": { + "properties": { + "description": "updated description", + "sources": [ + { + "@odata.type": "#Microsoft.Media.MediaGraphRtspSource", + "name": "rtspSource", + "transport": "Http", + "endpoint": { + "@odata.type": "#Microsoft.Media.MediaGraphClearEndpoint", + "url": "rtsp://contoso.com:554/stream1", + "credentials": { + "@odata.type": "#Microsoft.Media.MediaGraphUsernamePasswordCredentials", + "username": "exampleusername", + "password": "examplepassword" + } + } + } + ], + "sinks": [ + { + "@odata.type": "#Microsoft.Media.MediaGraphAssetSink", + "name": "AssetSink", + "inputs": [ + "rtspSource" + ], + "assetName": "SampleAsset" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "SampleMediaGraph", + "properties": { + "description": "", + "state": "Stopped", + "created": "2019-09-01T00:00:00Z", + "lastModified": "2019-09-01T00:00:00Z", + "sources": [ + { + "@odata.type": "#Microsoft.Media.MediaGraphRtspSource", + "name": "RTSPSource1", + "transport": "Http", + "endpoint": { + "@odata.type": "#Microsoft.Media.MediaGraphClearEndpoint", + "url": "rtsp://contoso.com:554/stream1" + } + } + ], + "sinks": [ + { + "@odata.type": "#Microsoft.Media.MediaGraphAssetSink", + "name": "AssetSink1", + "inputs": [ + "RTSPSource1" + ], + "assetName": "SampleAsset1" + } + ] + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/preview/2020-02-01-preview/examples/media-graph-create-encrypted-source.json b/specification/mediaservices/resource-manager/Microsoft.Media/preview/2020-02-01-preview/examples/media-graph-create-encrypted-source.json new file mode 100644 index 000000000000..2db8f6d07a5f --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/preview/2020-02-01-preview/examples/media-graph-create-encrypted-source.json @@ -0,0 +1,94 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "mediaGraphName": "SampleMediaGraph", + "api-version": "2020-02-01-preview", + "parameters": { + "properties": { + "description": "updated description", + "sources": [ + { + "@odata.type": "#Microsoft.Media.MediaGraphRtspSource", + "name": "rtspSource", + "transport": "Http", + "endpoint": { + "@odata.type": "#Microsoft.Media.MediaGraphTlsEndpoint", + "url": "rtsps://contoso.com:443/stream1", + "credentials": { + "@odata.type": "#Microsoft.Media.MediaGraphUsernamePasswordCredentials", + "username": "exampleusername", + "password": "examplepassword" + }, + "trustedCertificates": { + "@odata.type": "#Microsoft.Media.MediaGraphPemCertificateList", + "certificates": [ + "-----BEGIN CERTIFICATE-----\nMIIDhTCCAm2gAwIBAgIUajvPKmoO+8qaO89/ZGATl7ZYnTswDQYJKoZIhvcNAQEL\nBQAwUTESMBAGA1UECgwJTWljcm9zb2Z0MRQwEgYDVQQLDAtBenVyZSBNZWRpYTEl\nMCMGA1UEAwwcKFVudHJ1c3RlZCkgVGVzdCBDZXJ0aWZpY2F0ZTAgFw0yMDAyMDYy\nMTI5MTlaGA8zMDE5MDYwOTIxMjkxOVowUTESMBAGA1UECgwJTWljcm9zb2Z0MRQw\nEgYDVQQLDAtBenVyZSBNZWRpYTElMCMGA1UEAwwcKFVudHJ1c3RlZCkgVGVzdCBD\nZXJ0aWZpY2F0ZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAK2lg5ff\n7xXPaBZXHl/zrTukdiBtu7BNIOchHba51eloruPRzpvQx7Pedk3CVTut7LYinijf\nuol0EwkQ2FLt2i2jOqiva9nXR95ujIZHcKsEeMC4RSNSP4++k6SpP8FgyYVdv5ru\nf8GC+HyYQ4j0TqpR/cJs53l/LGRSldaFZ6fcDde1jeyca4VivAbAH1/WDIOvmjzo\n9XIGxZ10VSS5l5+DIgdkJZ+mDMLJIuVZ0YVF16ZGEB3beq1trk5lItvmSjQLTllH\nqMFm9UGY8jKZSo/BY8ewHEtnGSAFQK0TVuRx1HhUWwu6C9jk+2zmRS2090BNpQWa\nJMKFJrSPzFDPRX8CAwEAAaNTMFEwHQYDVR0OBBYEFIumbhu0lYk0EFDThEg0yyIn\n/wZZMB8GA1UdIwQYMBaAFIumbhu0lYk0EFDThEg0yyIn/wZZMA8GA1UdEwEB/wQF\nMAMBAf8wDQYJKoZIhvcNAQELBQADggEBADUNw+/NGNVtigq9tMJKqlk39MTpDn1s\nZ1BVIAuAWSQjlevYZJeDIPUiWNWFhRe+xN7oOLnn2+NIXEKKeMSyuPoZYbN0mBkB\n99oS3XVipSANpmDvIepNdCrOnjfqDFIifRF1Dqjtb6i1hb6v/qYKVPLQvcrgGur7\nPKKkAu9p4YRZ3RBdwwaUuMgojrj/l6DGbeJY6IRVnVMY39rryMnZjA5xUlhCu55n\noB3t/jsJLwnQN+JbAjLAeuqgOWtgARsEFzvpt+VvDsaj0YLOJPhyJwTvHgaa/slB\nnECzd3TuyFKYeGssSni/QQ1e7yZcLapQqz66g5otdriw0IRdOfDxm5M=\n-----END CERTIFICATE-----" + ] + }, + "validationOptions": { + "ignoreHostname": true, + "ignoreSignature": false + } + } + } + ], + "sinks": [ + { + "@odata.type": "#Microsoft.Media.MediaGraphAssetSink", + "name": "AssetSink", + "inputs": [ + "rtspSource" + ], + "assetName": "SampleAsset" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "SampleMediaGraph", + "properties": { + "description": "", + "state": "Stopped", + "created": "2019-09-01T00:00:00Z", + "lastModified": "2019-09-01T00:00:00Z", + "sources": [ + { + "@odata.type": "#Microsoft.Media.MediaGraphRtspSource", + "name": "RTSPSource1", + "transport": "Http", + "endpoint": { + "@odata.type": "#Microsoft.Media.MediaGraphTlsEndpoint", + "url": "rtsp://contoso.com:554/stream1", + "trustedCertificates": { + "@odata.type": "#Microsoft.Media.MediaGraphPemCertificateList", + "certificates": [ + "-----BEGIN CERTIFICATE-----\nMIIDhTCCAm2gAwIBAgIUajvPKmoO+8qaO89/ZGATl7ZYnTswDQYJKoZIhvcNAQEL\nBQAwUTESMBAGA1UECgwJTWljcm9zb2Z0MRQwEgYDVQQLDAtBenVyZSBNZWRpYTEl\nMCMGA1UEAwwcKFVudHJ1c3RlZCkgVGVzdCBDZXJ0aWZpY2F0ZTAgFw0yMDAyMDYy\nMTI5MTlaGA8zMDE5MDYwOTIxMjkxOVowUTESMBAGA1UECgwJTWljcm9zb2Z0MRQw\nEgYDVQQLDAtBenVyZSBNZWRpYTElMCMGA1UEAwwcKFVudHJ1c3RlZCkgVGVzdCBD\nZXJ0aWZpY2F0ZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAK2lg5ff\n7xXPaBZXHl/zrTukdiBtu7BNIOchHba51eloruPRzpvQx7Pedk3CVTut7LYinijf\nuol0EwkQ2FLt2i2jOqiva9nXR95ujIZHcKsEeMC4RSNSP4++k6SpP8FgyYVdv5ru\nf8GC+HyYQ4j0TqpR/cJs53l/LGRSldaFZ6fcDde1jeyca4VivAbAH1/WDIOvmjzo\n9XIGxZ10VSS5l5+DIgdkJZ+mDMLJIuVZ0YVF16ZGEB3beq1trk5lItvmSjQLTllH\nqMFm9UGY8jKZSo/BY8ewHEtnGSAFQK0TVuRx1HhUWwu6C9jk+2zmRS2090BNpQWa\nJMKFJrSPzFDPRX8CAwEAAaNTMFEwHQYDVR0OBBYEFIumbhu0lYk0EFDThEg0yyIn\n/wZZMB8GA1UdIwQYMBaAFIumbhu0lYk0EFDThEg0yyIn/wZZMA8GA1UdEwEB/wQF\nMAMBAf8wDQYJKoZIhvcNAQELBQADggEBADUNw+/NGNVtigq9tMJKqlk39MTpDn1s\nZ1BVIAuAWSQjlevYZJeDIPUiWNWFhRe+xN7oOLnn2+NIXEKKeMSyuPoZYbN0mBkB\n99oS3XVipSANpmDvIepNdCrOnjfqDFIifRF1Dqjtb6i1hb6v/qYKVPLQvcrgGur7\nPKKkAu9p4YRZ3RBdwwaUuMgojrj/l6DGbeJY6IRVnVMY39rryMnZjA5xUlhCu55n\noB3t/jsJLwnQN+JbAjLAeuqgOWtgARsEFzvpt+VvDsaj0YLOJPhyJwTvHgaa/slB\nnECzd3TuyFKYeGssSni/QQ1e7yZcLapQqz66g5otdriw0IRdOfDxm5M=\n-----END CERTIFICATE-----" + ] + }, + "validationOptions": { + "ignoreHostname": true, + "ignoreSignature": false + } + } + } + ], + "sinks": [ + { + "@odata.type": "#Microsoft.Media.MediaGraphAssetSink", + "name": "AssetSink1", + "inputs": [ + "RTSPSource1" + ], + "assetName": "SampleAsset1" + } + ] + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/preview/2020-02-01-preview/examples/media-graph-delete.json b/specification/mediaservices/resource-manager/Microsoft.Media/preview/2020-02-01-preview/examples/media-graph-delete.json new file mode 100644 index 000000000000..e77c43b37dbf --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/preview/2020-02-01-preview/examples/media-graph-delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "mediaGraphName": "SampleMediaGraph", + "api-version": "2020-02-01-preview" + }, + "responses": { + "204": {}, + "200": {} + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/preview/2020-02-01-preview/examples/media-graph-get-by-name.json b/specification/mediaservices/resource-manager/Microsoft.Media/preview/2020-02-01-preview/examples/media-graph-get-by-name.json new file mode 100644 index 000000000000..35a11344a843 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/preview/2020-02-01-preview/examples/media-graph-get-by-name.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "mediaGraphName": "SampleMediaGraph1", + "api-version": "2020-02-01-preview" + }, + "responses": { + "404": {}, + "200": { + "body": { + "name": "SampleMediaGraph1", + "properties": { + "description": "", + "state": "Stopped", + "created": "2019-09-01T00:00:00Z", + "lastModified": "2019-09-01T00:00:00Z", + "sources": [ + { + "@odata.type": "#Microsoft.Media.MediaGraphRtspSource", + "name": "RTSPSource1", + "transport": "Http", + "endpoint": { + "@odata.type": "#Microsoft.Media.MediaGraphClearEndpoint", + "url": "rtsp://contoso.com:554/stream1" + } + } + ], + "sinks": [ + { + "@odata.type": "#Microsoft.Media.MediaGraphAssetSink", + "name": "AssetSink1", + "inputs": [ + "RTSPSource1" + ], + "assetName": "SampleAsset1" + } + ] + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/preview/2020-02-01-preview/examples/media-graph-list-all.json b/specification/mediaservices/resource-manager/Microsoft.Media/preview/2020-02-01-preview/examples/media-graph-list-all.json new file mode 100644 index 000000000000..99303e603261 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/preview/2020-02-01-preview/examples/media-graph-list-all.json @@ -0,0 +1,106 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "api-version": "2020-02-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "SampleMediaGraph0", + "properties": { + "description": "", + "state": "Stopped", + "created": "2019-09-01T00:00:00Z", + "lastModified": "2019-09-01T00:00:00Z", + "sources": [ + { + "@odata.type": "#Microsoft.Media.MediaGraphRtspSource", + "name": "RTSPSource0", + "transport": "Http", + "endpoint": { + "@odata.type": "#Microsoft.Media.MediaGraphClearEndpoint", + "url": "rtsp://contoso.com:554/stream0" + } + } + ], + "sinks": [ + { + "@odata.type": "#Microsoft.Media.MediaGraphAssetSink", + "name": "AssetSink0", + "inputs": [ + "RTSPSource0" + ], + "assetName": "SampleAsset0" + } + ] + } + }, + { + "name": "SampleMediaGraph1", + "properties": { + "description": "", + "state": "Starting", + "created": "2019-09-01T00:00:00Z", + "lastModified": "2019-09-01T00:00:00Z", + "sources": [ + { + "@odata.type": "#Microsoft.Media.MediaGraphRtspSource", + "name": "RTSPSource1", + "transport": "Http", + "endpoint": { + "@odata.type": "#Microsoft.Media.MediaGraphClearEndpoint", + "url": "rtsp://contoso.com:554/stream1" + } + } + ], + "sinks": [ + { + "@odata.type": "#Microsoft.Media.MediaGraphAssetSink", + "name": "AssetSink1", + "inputs": [ + "RTSPSource1" + ], + "assetName": "SampleAsset1" + } + ] + } + }, + { + "name": "SampleMediaGraph2", + "properties": { + "description": "", + "state": "Running", + "created": "2019-09-01T00:00:00Z", + "lastModified": "2019-09-01T00:00:00Z", + "sources": [ + { + "@odata.type": "#Microsoft.Media.MediaGraphRtspSource", + "name": "RTSPSource2", + "transport": "Http", + "endpoint": { + "@odata.type": "#Microsoft.Media.MediaGraphClearEndpoint", + "url": "rtsp://contoso.com:554/stream2" + } + } + ], + "sinks": [ + { + "@odata.type": "#Microsoft.Media.MediaGraphAssetSink", + "name": "AssetSink2", + "inputs": [ + "RTSPSource2" + ], + "assetName": "SampleAsset2" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/preview/2020-02-01-preview/examples/media-graph-start.json b/specification/mediaservices/resource-manager/Microsoft.Media/preview/2020-02-01-preview/examples/media-graph-start.json new file mode 100644 index 000000000000..0ac5e0014e43 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/preview/2020-02-01-preview/examples/media-graph-start.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "mediaGraphName": "SampleMediaGraph", + "api-version": "2020-02-01-preview" + }, + "responses": { + "202": {}, + "200": {} + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/preview/2020-02-01-preview/examples/media-graph-stop.json b/specification/mediaservices/resource-manager/Microsoft.Media/preview/2020-02-01-preview/examples/media-graph-stop.json new file mode 100644 index 000000000000..0ac5e0014e43 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/preview/2020-02-01-preview/examples/media-graph-stop.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "mediaGraphName": "SampleMediaGraph", + "api-version": "2020-02-01-preview" + }, + "responses": { + "202": {}, + "200": {} + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/preview/2020-02-01-preview/examples/operation-result-get.json b/specification/mediaservices/resource-manager/Microsoft.Media/preview/2020-02-01-preview/examples/operation-result-get.json new file mode 100644 index 000000000000..deb76584daeb --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/preview/2020-02-01-preview/examples/operation-result-get.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "mediaGraphName": "SampleMediaGraph", + "operationId": "7877d0da-ae9b-4c5b-a1fa-c9ece3ef5d11", + "api-version": "2020-02-01-preview" + }, + "responses": { + "200": { + "body": {} + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/preview/2020-02-01-preview/examples/operation-status-get.json b/specification/mediaservices/resource-manager/Microsoft.Media/preview/2020-02-01-preview/examples/operation-status-get.json new file mode 100644 index 000000000000..eecbc258949b --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/preview/2020-02-01-preview/examples/operation-status-get.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "mediaGraphName": "SampleMediaGraph", + "operationId": "7877d0da-ae9b-4c5b-a1fa-c9ece3ef5d11", + "api-version": "2020-02-01-preview" + }, + "responses": { + "200": { + "body": { + "name": "7877d0da-ae9b-4c5b-a1fa-c9ece3ef5d11", + "status": "Succeeded" + } + } + } +} diff --git a/specification/mediaservices/resource-manager/readme.md b/specification/mediaservices/resource-manager/readme.md index f21dde020c01..11f291dcc9ed 100644 --- a/specification/mediaservices/resource-manager/readme.md +++ b/specification/mediaservices/resource-manager/readme.md @@ -30,6 +30,23 @@ tag: package-2018-07 opt-in-extensible-enums: true ``` +### Tag: package-2020-02-preview + +These settings apply only when `--tag=package-2020-02-preview` is specified on the command line. + +``` yaml $(tag) == 'package-2020-02-preview' +input-file: + - Microsoft.Media/stable/2018-07-01/AccountFilters.json + - Microsoft.Media/stable/2018-07-01/Accounts.json + - Microsoft.Media/stable/2018-07-01/AssetsAndAssetFilters.json + - Microsoft.Media/stable/2018-07-01/ContentKeyPolicies.json + - Microsoft.Media/stable/2018-07-01/Encoding.json + - Microsoft.Media/preview/2020-02-01-preview/MediaGraphs.json + - Microsoft.Media/stable/2018-07-01/StreamingPoliciesAndStreamingLocators.json + - Microsoft.Media/stable/2018-07-01/streamingservice.json +``` + + ### Tag: package-2019-09-preview These settings apply only when `--tag=package-2019-09-preview` is specified on the command line. @@ -303,6 +320,7 @@ require: $(this-folder)/../../../profiles/readme.md # all the input files across all versions input-file: + - $(this-folder)/Microsoft.Media/preview/2020-02-01-preview/MediaGraphs.json - $(this-folder)/Microsoft.Media/stable/2018-07-01/AccountFilters.json - $(this-folder)/Microsoft.Media/stable/2018-07-01/Accounts.json - $(this-folder)/Microsoft.Media/stable/2018-07-01/AssetsAndAssetFilters.json