swagger: "2.0"
schemes:
  - https
host: management.azure.com
info:
  description: This Swagger was generated by the API Framework.
  title: Azure Media Services
  version: 2018-07-01
  x-apisguru-categories:
    - cloud
  x-logo:
    url: https://api.apis.guru/v2/cache/logo/https_assets.onestore.ms_cdnfiles_onestorerolling-1606-01000_shell_v3_images_logo_microsoft.png
  x-origin:
    - format: swagger
      url: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/mediaservices/resource-manager/Microsoft.Media/preview/2019-05-01-preview/ContentKeyPolicies.json
      version: "2.0"
  x-preferred: true
  x-providerName: azure.com
  x-serviceName: mediaservices-ContentKeyPolicies
  x-tags:
    - Azure
    - Microsoft
consumes:
  - application/json
produces:
  - application/json
securityDefinitions:
  azure_auth:
    authorizationUrl: https://login.microsoftonline.com/common/oauth2/authorize
    description: Azure Active Directory OAuth2 Flow
    flow: implicit
    scopes:
      user_impersonation: Impersonate your user account
    type: oauth2
parameters:
  ApiVersion:
    description: The Version of the API to be used with the client request.
    in: query
    name: api-version
    required: true
    type: string
  MediaServicesAccountName:
    description: The Media Services account name.
    in: path
    name: accountName
    required: true
    type: string
    x-ms-parameter-location: method
  ResourceGroupName:
    description: The name of the resource group within the Azure subscription.
    in: path
    name: resourceGroupName
    required: true
    type: string
    x-ms-parameter-location: method
  SubscriptionId:
    description: The unique identifier for a Microsoft Azure subscription.
    in: path
    name: subscriptionId
    required: true
    type: string
paths:
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/contentKeyPolicies":
    get:
      description: Lists the Content Key Policies in the account
      operationId: ContentKeyPolicies_List
      parameters:
        - $ref: "#/parameters/SubscriptionId"
        - $ref: "#/parameters/ResourceGroupName"
        - $ref: "#/parameters/MediaServicesAccountName"
        - $ref: "#/parameters/ApiVersion"
        - description: Restricts the set of items returned.
          in: query
          name: $filter
          required: false
          type: string
        - description: Specifies a non-negative integer n that limits the number of items returned from a collection. The service returns the number of available items up to but not greater than the specified value n.
          in: query
          name: $top
          required: false
          type: integer
        - description: Specifies the key by which the result collection should be ordered.
          in: query
          name: $orderby
          required: false
          type: string
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/ContentKeyPolicyCollection"
        default:
          description: Detailed error information.
          schema:
            $ref: "#/definitions/ApiError"
      summary: List Content Key Policies
      x-ms-examples:
        Lists Content Key Policies ordered by last modified.:
          parameters:
            $orderby: properties/lastModified
            accountName: contosomedia
            api-version: 2018-07-01
            resourceGroupName: contoso
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/contentKeyPolicies/PolicyWithPlayReadyOptionAndOpenRestriction
                    name: PolicyWithPlayReadyOptionAndOpenRestriction
                    properties:
                      created: 2012-11-01T00:00:00Z
                      description: A policy with one PlayReady option and Open Restriction.
                      lastModified: 2012-11-01T00:00:00Z
                      options:
                        - configuration:
                            "@odata.type": "#Microsoft.Media.ContentKeyPolicyPlayReadyConfiguration"
                            licenses:
                              - allowTestDevices: false
                                contentKeyLocation:
                                  "@odata.type": "#Microsoft.Media.ContentKeyPolicyPlayReadyContentEncryptionKeyFromHeader"
                                contentType: Unspecified
                                licenseType: NonPersistent
                                playRight:
                                  allowPassingVideoContentToUnknownOutput: NotAllowed
                                  digitalVideoOnlyContentRestriction: false
                                  imageConstraintForAnalogComponentVideoRestriction: false
                                  imageConstraintForAnalogComputerMonitorRestriction: false
                            responseCustomData: testCustomData
                          policyOptionId: 294a833f-f128-48be-9edf-8d1bb5b35ff3
                          restriction:
                            "@odata.type": "#Microsoft.Media.ContentKeyPolicyOpenRestriction"
                      policyId: a9bacd1d-60f5-4af3-8d2b-cf46ca5c9b04
                    type: Microsoft.Media/mediaservices/contentKeyPolicies
                  - id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/contentKeyPolicies/PolicyWithMultipleOptions
                    name: PolicyWithMultipleOptions
                    properties:
                      created: 2015-12-01T00:00:00Z
                      description: A policy with multiple options.
                      lastModified: 2016-12-02T00:00:00Z
                      options:
                        - configuration:
                            "@odata.type": "#Microsoft.Media.ContentKeyPolicyClearKeyConfiguration"
                          policyOptionId: caf1e28c-8288-4301-8c46-c0f9312c512f
                          restriction:
                            "@odata.type": "#Microsoft.Media.ContentKeyPolicyTokenRestriction"
                            alternateVerificationKeys: []
                            audience: urn:test
                            issuer: http://testacs
                            primaryVerificationKey:
                              "@odata.type": "#Microsoft.Media.ContentKeyPolicySymmetricTokenKey"
                              keyValue: ""
                            requiredClaims:
                              - claimType: urn:microsoft:azure:mediaservices:contentkeyidentifier
                              - claimType: DRM
                                claimValue: Widevine
                            restrictionTokenType: Jwt
                        - 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}}'
                          policyOptionId: da346259-0cd6-4609-89dc-15ac131bd92f
                          restriction:
                            "@odata.type": "#Microsoft.Media.ContentKeyPolicyOpenRestriction"
                      policyId: ed7f3d1b-cfa7-4181-b966-e0b3027eec3a
                    type: Microsoft.Media/mediaservices/contentKeyPolicies
                  - id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/contentKeyPolicies/PolicyWithClearKeyOptionAndTokenRestriction
                    name: PolicyWithClearKeyOptionAndTokenRestriction
                    properties:
                      created: 2017-12-01T00:00:00Z
                      description: A policy with one ClearKey option and Open Restriction.
                      lastModified: 2017-11-01T00:00:00Z
                      options:
                        - configuration:
                            "@odata.type": "#Microsoft.Media.ContentKeyPolicyClearKeyConfiguration"
                          policyOptionId: a3448d09-567a-4642-8309-d17e846be59f
                          restriction:
                            "@odata.type": "#Microsoft.Media.ContentKeyPolicyTokenRestriction"
                            alternateVerificationKeys: []
                            audience: urn:test
                            issuer: http://testacs
                            primaryVerificationKey:
                              "@odata.type": "#Microsoft.Media.ContentKeyPolicySymmetricTokenKey"
                              keyValue: ""
                            requiredClaims:
                              - claimType: urn:microsoft:azure:mediaservices:contentkeyidentifier
                              - claimType: DRM
                                claimValue: Widevine
                            restrictionTokenType: Jwt
                      policyId: 8352435b-ebea-4681-aae7-e19277771f64
                    type: Microsoft.Media/mediaservices/contentKeyPolicies
        Lists Content Key Policies with created and last modified filters.:
          parameters:
            $filter: properties/lastModified gt 2016-06-01 and properties/created lt 2013-07-01
            accountName: contosomedia
            api-version: 2018-07-01
            resourceGroupName: contoso
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200":
              body:
                value: []
        Lists all Content Key Policies:
          parameters:
            accountName: contosomedia
            api-version: 2018-07-01
            resourceGroupName: contoso
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/contentKeyPolicies/PolicyWithClearKeyOptionAndTokenRestriction
                    name: PolicyWithClearKeyOptionAndTokenRestriction
                    properties:
                      created: 2017-12-01T00:00:00Z
                      description: A policy with one ClearKey option and Open Restriction.
                      lastModified: 2017-11-01T00:00:00Z
                      options:
                        - configuration:
                            "@odata.type": "#Microsoft.Media.ContentKeyPolicyClearKeyConfiguration"
                          name: null
                          policyOptionId: a3448d09-567a-4642-8309-d17e846be59f
                          restriction:
                            "@odata.type": "#Microsoft.Media.ContentKeyPolicyTokenRestriction"
                            alternateVerificationKeys: []
                            audience: urn:test
                            issuer: http://testacs
                            openIdConnectDiscoveryDocument: null
                            primaryVerificationKey:
                              "@odata.type": "#Microsoft.Media.ContentKeyPolicySymmetricTokenKey"
                              keyValue: ""
                            requiredClaims:
                              - claimType: urn:microsoft:azure:mediaservices:contentkeyidentifier
                                claimValue: null
                              - claimType: DRM
                                claimValue: Widevine
                            restrictionTokenType: Jwt
                      policyId: 8352435b-ebea-4681-aae7-e19277771f64
                    type: Microsoft.Media/mediaservices/contentKeyPolicies
                  - id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/contentKeyPolicies/PolicyWithMultipleOptions
                    name: PolicyWithMultipleOptions
                    properties:
                      created: 2015-12-01T00:00:00Z
                      description: A policy with multiple options.
                      lastModified: 2016-12-02T00:00:00Z
                      options:
                        - configuration:
                            "@odata.type": "#Microsoft.Media.ContentKeyPolicyClearKeyConfiguration"
                          name: null
                          policyOptionId: caf1e28c-8288-4301-8c46-c0f9312c512f
                          restriction:
                            "@odata.type": "#Microsoft.Media.ContentKeyPolicyTokenRestriction"
                            alternateVerificationKeys: []
                            audience: urn:test
                            issuer: http://testacs
                            openIdConnectDiscoveryDocument: null
                            primaryVerificationKey:
                              "@odata.type": "#Microsoft.Media.ContentKeyPolicySymmetricTokenKey"
                              keyValue: ""
                            requiredClaims:
                              - claimType: urn:microsoft:azure:mediaservices:contentkeyidentifier
                                claimValue: null
                              - claimType: DRM
                                claimValue: Widevine
                            restrictionTokenType: Jwt
                        - 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}}'
                          name: null
                          policyOptionId: da346259-0cd6-4609-89dc-15ac131bd92f
                          restriction:
                            "@odata.type": "#Microsoft.Media.ContentKeyPolicyOpenRestriction"
                      policyId: ed7f3d1b-cfa7-4181-b966-e0b3027eec3a
                    type: Microsoft.Media/mediaservices/contentKeyPolicies
                  - id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/contentKeyPolicies/PolicyWithPlayReadyOptionAndOpenRestriction
                    name: PolicyWithPlayReadyOptionAndOpenRestriction
                    properties:
                      created: 2012-11-01T00:00:00Z
                      description: A policy with one PlayReady option and Open Restriction.
                      lastModified: 2012-11-01T00:00:00Z
                      options:
                        - configuration:
                            "@odata.type": "#Microsoft.Media.ContentKeyPolicyPlayReadyConfiguration"
                            licenses:
                              - allowTestDevices: false
                                beginDate: null
                                contentKeyLocation:
                                  "@odata.type": "#Microsoft.Media.ContentKeyPolicyPlayReadyContentEncryptionKeyFromHeader"
                                contentType: Unspecified
                                expirationDate: null
                                gracePeriod: null
                                licenseType: NonPersistent
                                playRight:
                                  agcAndColorStripeRestriction: null
                                  allowPassingVideoContentToUnknownOutput: NotAllowed
                                  analogVideoOpl: null
                                  compressedDigitalAudioOpl: null
                                  compressedDigitalVideoOpl: null
                                  digitalVideoOnlyContentRestriction: false
                                  explicitAnalogTelevisionOutputRestriction: null
                                  firstPlayExpiration: null
                                  imageConstraintForAnalogComponentVideoRestriction: false
                                  imageConstraintForAnalogComputerMonitorRestriction: false
                                  scmsRestriction: null
                                  uncompressedDigitalAudioOpl: null
                                  uncompressedDigitalVideoOpl: null
                                relativeBeginDate: null
                                relativeExpirationDate: null
                            responseCustomData: testCustomData
                          name: null
                          policyOptionId: 294a833f-f128-48be-9edf-8d1bb5b35ff3
                          restriction:
                            "@odata.type": "#Microsoft.Media.ContentKeyPolicyOpenRestriction"
                      policyId: a9bacd1d-60f5-4af3-8d2b-cf46ca5c9b04
                    type: Microsoft.Media/mediaservices/contentKeyPolicies
      x-ms-odata: "#/definitions/ContentKeyPolicy"
      x-ms-pageable:
        nextLinkName: "@odata.nextLink"
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/contentKeyPolicies/{contentKeyPolicyName}":
    delete:
      description: Deletes a Content Key Policy in the Media Services account
      operationId: ContentKeyPolicies_Delete
      parameters:
        - $ref: "#/parameters/SubscriptionId"
        - $ref: "#/parameters/ResourceGroupName"
        - $ref: "#/parameters/MediaServicesAccountName"
        - description: The Content Key Policy name.
          in: path
          name: contentKeyPolicyName
          required: true
          type: string
        - $ref: "#/parameters/ApiVersion"
      responses:
        "200":
          description: OK
        "204":
          description: NoContent
        default:
          description: Detailed error information.
          schema:
            $ref: "#/definitions/ApiError"
      summary: Delete a Content Key Policy
      x-ms-examples:
        Delete a Key Policy:
          parameters:
            accountName: contosomedia
            api-version: 2018-07-01
            contentKeyPolicyName: PolicyWithPlayReadyOptionAndOpenRestriction
            resourceGroupName: contoso
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200": {}
            "204": {}
    get:
      description: Get the details of a Content Key Policy in the Media Services account
      operationId: ContentKeyPolicies_Get
      parameters:
        - $ref: "#/parameters/SubscriptionId"
        - $ref: "#/parameters/ResourceGroupName"
        - $ref: "#/parameters/MediaServicesAccountName"
        - description: The Content Key Policy name.
          in: path
          name: contentKeyPolicyName
          required: true
          type: string
        - $ref: "#/parameters/ApiVersion"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/ContentKeyPolicy"
        "404":
          description: NotFound
        default:
          description: Detailed error information.
          schema:
            $ref: "#/definitions/ApiError"
      summary: Get a Content Key Policy
      x-ms-examples:
        Get a Content Key Policy by name:
          parameters:
            accountName: contosomedia
            api-version: 2018-07-01
            contentKeyPolicyName: PolicyWithMultipleOptions
            resourceGroupName: contoso
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200":
              body:
                id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/contentKeyPolicies/PolicyWithMultipleOptions
                name: PolicyWithMultipleOptions
                properties:
                  created: 2015-12-01T00:00:00Z
                  description: A policy with multiple options.
                  lastModified: 2016-12-02T00:00:00Z
                  options:
                    - configuration:
                        "@odata.type": "#Microsoft.Media.ContentKeyPolicyClearKeyConfiguration"
                      policyOptionId: caf1e28c-8288-4301-8c46-c0f9312c512f
                      restriction:
                        "@odata.type": "#Microsoft.Media.ContentKeyPolicyTokenRestriction"
                        alternateVerificationKeys: []
                        audience: urn:test
                        issuer: http://testacs
                        primaryVerificationKey:
                          "@odata.type": "#Microsoft.Media.ContentKeyPolicySymmetricTokenKey"
                          keyValue: ""
                        requiredClaims:
                          - claimType: urn:microsoft:azure:mediaservices:contentkeyidentifier
                          - claimType: DRM
                            claimValue: Widevine
                        restrictionTokenType: Jwt
                    - 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}}'
                      policyOptionId: da346259-0cd6-4609-89dc-15ac131bd92f
                      restriction:
                        "@odata.type": "#Microsoft.Media.ContentKeyPolicyOpenRestriction"
                  policyId: ed7f3d1b-cfa7-4181-b966-e0b3027eec3a
                type: Microsoft.Media/mediaservices/contentKeyPolicies
            "404": {}
    patch:
      description: Updates an existing Content Key Policy in the Media Services account
      operationId: ContentKeyPolicies_Update
      parameters:
        - $ref: "#/parameters/SubscriptionId"
        - $ref: "#/parameters/ResourceGroupName"
        - $ref: "#/parameters/MediaServicesAccountName"
        - description: The Content Key Policy name.
          in: path
          name: contentKeyPolicyName
          required: true
          type: string
        - description: The request parameters
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/ContentKeyPolicy"
        - $ref: "#/parameters/ApiVersion"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/ContentKeyPolicy"
        default:
          description: Detailed error information.
          schema:
            $ref: "#/definitions/ApiError"
      summary: Update a Content Key Policy
      x-ms-examples:
        Update a Content Key Policy:
          parameters:
            accountName: contosomedia
            api-version: 2018-07-01
            contentKeyPolicyName: PolicyWithClearKeyOptionAndTokenRestriction
            parameters:
              properties:
                description: Updated Policy
                options:
                  - configuration:
                      "@odata.type": "#Microsoft.Media.ContentKeyPolicyClearKeyConfiguration"
                    name: ClearKeyOption
                    restriction:
                      "@odata.type": "#Microsoft.Media.ContentKeyPolicyOpenRestriction"
            resourceGroupName: contoso
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200":
              body:
                id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/contentKeyPolicies/PolicyWithClearKeyOptionAndTokenRestriction
                name: PolicyWithClearKeyOptionAndTokenRestriction
                properties:
                  created: 2017-12-01T00:00:00Z
                  description: Updated Policy
                  lastModified: 2018-08-08T18:29:30.303Z
                  options:
                    - configuration:
                        "@odata.type": "#Microsoft.Media.ContentKeyPolicyClearKeyConfiguration"
                      name: ClearKeyOption
                      policyOptionId: 7d3f4bc1-d2bf-43a3-b02e-a7e31ab15d43
                      restriction:
                        "@odata.type": "#Microsoft.Media.ContentKeyPolicyOpenRestriction"
                  policyId: 8352435b-ebea-4681-aae7-e19277771f64
                type: Microsoft.Media/mediaservices/contentKeyPolicies
    put:
      description: Create or update a Content Key Policy in the Media Services account
      operationId: ContentKeyPolicies_CreateOrUpdate
      parameters:
        - $ref: "#/parameters/SubscriptionId"
        - $ref: "#/parameters/ResourceGroupName"
        - $ref: "#/parameters/MediaServicesAccountName"
        - description: The Content Key Policy name.
          in: path
          name: contentKeyPolicyName
          required: true
          type: string
        - description: The request parameters
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/ContentKeyPolicy"
        - $ref: "#/parameters/ApiVersion"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/ContentKeyPolicy"
        "201":
          description: Created
          schema:
            $ref: "#/definitions/ContentKeyPolicy"
        default:
          description: Detailed error information.
          schema:
            $ref: "#/definitions/ApiError"
      summary: Create or update an Content Key Policy
      x-ms-examples:
        Creates a Content Key Policy with ClearKey option and Token Restriction:
          parameters:
            accountName: contosomedia
            api-version: 2018-07-01
            contentKeyPolicyName: PolicyWithClearKeyOptionAndSwtTokenRestriction
            parameters:
              properties:
                description: ArmPolicyDescription
                options:
                  - configuration:
                      "@odata.type": "#Microsoft.Media.ContentKeyPolicyClearKeyConfiguration"
                    name: ClearKeyOption
                    restriction:
                      "@odata.type": "#Microsoft.Media.ContentKeyPolicyTokenRestriction"
                      audience: urn:audience
                      issuer: urn:issuer
                      primaryVerificationKey:
                        "@odata.type": "#Microsoft.Media.ContentKeyPolicySymmetricTokenKey"
                        keyValue: AAAAAAAAAAAAAAAAAAAAAA==
                      restrictionTokenType: Swt
            resourceGroupName: contoso
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200":
              body:
                id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/contentKeyPolicies/PolicyWithClearKeyOptionAndSwtTokenRestriction
                name: PolicyWithClearKeyOptionAndSwtTokenRestriction
                properties:
                  created: 2018-08-08T18:29:29.837Z
                  description: ArmPolicyDescription
                  lastModified: 2018-08-08T18:29:29.837Z
                  options:
                    - configuration:
                        "@odata.type": "#Microsoft.Media.ContentKeyPolicyClearKeyConfiguration"
                      name: ClearKeyOption
                      policyOptionId: e7d4d465-b6f7-4830-9a21-74a7326ef797
                      restriction:
                        "@odata.type": "#Microsoft.Media.ContentKeyPolicyTokenRestriction"
                        alternateVerificationKeys: []
                        audience: urn:audience
                        issuer: urn:issuer
                        primaryVerificationKey:
                          "@odata.type": "#Microsoft.Media.ContentKeyPolicySymmetricTokenKey"
                          keyValue: ""
                        requiredClaims: []
                        restrictionTokenType: Swt
                  policyId: 2926c1bc-4dec-4a11-9d19-3f99006530a9
                type: Microsoft.Media/mediaservices/contentKeyPolicies
            "201":
              body:
                id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/contentKeyPolicies/PolicyWithClearKeyOptionAndSwtTokenRestriction
                name: PolicyWithClearKeyOptionAndSwtTokenRestriction
                properties:
                  created: 2018-08-08T18:29:29.837Z
                  description: ArmPolicyDescription
                  lastModified: 2018-08-08T18:29:29.837Z
                  options:
                    - configuration:
                        "@odata.type": "#Microsoft.Media.ContentKeyPolicyClearKeyConfiguration"
                      name: ClearKeyOption
                      policyOptionId: e7d4d465-b6f7-4830-9a21-74a7326ef797
                      restriction:
                        "@odata.type": "#Microsoft.Media.ContentKeyPolicyTokenRestriction"
                        alternateVerificationKeys: []
                        audience: urn:audience
                        issuer: urn:issuer
                        primaryVerificationKey:
                          "@odata.type": "#Microsoft.Media.ContentKeyPolicySymmetricTokenKey"
                          keyValue: ""
                        requiredClaims: []
                        restrictionTokenType: Swt
                  policyId: 2926c1bc-4dec-4a11-9d19-3f99006530a9
                type: Microsoft.Media/mediaservices/contentKeyPolicies
        Creates a Content Key Policy with PlayReady option and Open Restriction:
          parameters:
            accountName: contosomedia
            api-version: 2018-07-01
            contentKeyPolicyName: PolicyWithPlayReadyOptionAndOpenRestriction
            parameters:
              properties:
                description: ArmPolicyDescription
                options:
                  - configuration:
                      "@odata.type": "#Microsoft.Media.ContentKeyPolicyPlayReadyConfiguration"
                      licenses:
                        - allowTestDevices: true
                          beginDate: 2017-10-16T18:22:53.46Z
                          contentKeyLocation:
                            "@odata.type": "#Microsoft.Media.ContentKeyPolicyPlayReadyContentEncryptionKeyFromHeader"
                          contentType: UltraVioletDownload
                          licenseType: Persistent
                          playRight:
                            allowPassingVideoContentToUnknownOutput: NotAllowed
                            digitalVideoOnlyContentRestriction: false
                            imageConstraintForAnalogComponentVideoRestriction: true
                            imageConstraintForAnalogComputerMonitorRestriction: false
                            scmsRestriction: 2
                    name: ArmPolicyOptionName
                    restriction:
                      "@odata.type": "#Microsoft.Media.ContentKeyPolicyOpenRestriction"
            resourceGroupName: contoso
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200":
              body:
                id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/contentKeyPolicies/PolicyWithPlayReadyOptionAndOpenRestriction
                name: PolicyWithPlayReadyOptionAndOpenRestriction
                properties:
                  created: 2012-11-01T00:00:00Z
                  description: ArmPolicyDescription
                  lastModified: 2019-06-03T22:43:06.897Z
                  options:
                    - configuration:
                        "@odata.type": "#Microsoft.Media.ContentKeyPolicyPlayReadyConfiguration"
                        licenses:
                          - allowTestDevices: true
                            beginDate: 2017-10-16T18:22:53.46Z
                            contentKeyLocation:
                              "@odata.type": "#Microsoft.Media.ContentKeyPolicyPlayReadyContentEncryptionKeyFromHeader"
                            contentType: UltraVioletDownload
                            licenseType: Persistent
                            playRight:
                              allowPassingVideoContentToUnknownOutput: NotAllowed
                              digitalVideoOnlyContentRestriction: false
                              imageConstraintForAnalogComponentVideoRestriction: true
                              imageConstraintForAnalogComputerMonitorRestriction: false
                              scmsRestriction: 2
                      name: ArmPolicyOptionName
                      policyOptionId: ae7b4a3b-b2c5-4161-9197-ba4d4239f361
                      restriction:
                        "@odata.type": "#Microsoft.Media.ContentKeyPolicyOpenRestriction"
                  policyId: a9bacd1d-60f5-4af3-8d2b-cf46ca5c9b04
                type: Microsoft.Media/mediaservices/contentKeyPolicies
            "201":
              body:
                id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/contentKeyPolicies/PolicyWithPlayReadyOptionAndOpenRestriction
                name: PolicyWithPlayReadyOptionAndOpenRestriction
                properties:
                  created: 2012-11-01T00:00:00Z
                  description: ArmPolicyDescription
                  lastModified: 2019-06-03T22:43:06.897Z
                  options:
                    - configuration:
                        "@odata.type": "#Microsoft.Media.ContentKeyPolicyPlayReadyConfiguration"
                        licenses:
                          - allowTestDevices: true
                            beginDate: 2017-10-16T18:22:53.46Z
                            contentKeyLocation:
                              "@odata.type": "#Microsoft.Media.ContentKeyPolicyPlayReadyContentEncryptionKeyFromHeader"
                            contentType: UltraVioletDownload
                            licenseType: Persistent
                            playRight:
                              allowPassingVideoContentToUnknownOutput: NotAllowed
                              digitalVideoOnlyContentRestriction: false
                              imageConstraintForAnalogComponentVideoRestriction: true
                              imageConstraintForAnalogComputerMonitorRestriction: false
                              scmsRestriction: 2
                      name: ArmPolicyOptionName
                      policyOptionId: ae7b4a3b-b2c5-4161-9197-ba4d4239f361
                      restriction:
                        "@odata.type": "#Microsoft.Media.ContentKeyPolicyOpenRestriction"
                  policyId: a9bacd1d-60f5-4af3-8d2b-cf46ca5c9b04
                type: Microsoft.Media/mediaservices/contentKeyPolicies
        Creates a Content Key Policy with Widevine option and Token Restriction:
          parameters:
            accountName: contosomedia
            api-version: 2018-07-01
            contentKeyPolicyName: PolicyWithWidevineOptionAndJwtTokenRestriction
            parameters:
              properties:
                description: ArmPolicyDescription
                options:
                  - 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}}'
                    name: widevineoption
                    restriction:
                      "@odata.type": "#Microsoft.Media.ContentKeyPolicyTokenRestriction"
                      alternateVerificationKeys:
                        - "@odata.type": "#Microsoft.Media.ContentKeyPolicySymmetricTokenKey"
                          keyValue: AAAAAAAAAAAAAAAAAAAAAA==
                      audience: urn:audience
                      issuer: urn:issuer
                      primaryVerificationKey:
                        "@odata.type": "#Microsoft.Media.ContentKeyPolicyRsaTokenKey"
                        exponent: AQAB
                        modulus: AQAD
                      restrictionTokenType: Jwt
            resourceGroupName: contoso
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200":
              body:
                id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/contentKeyPolicies/PolicyWithWidevineOptionAndJwtTokenRestriction
                name: PolicyWithWidevineOptionAndJwtTokenRestriction
                properties:
                  created: 2018-08-08T18:29:29.663Z
                  description: ArmPolicyDescription
                  lastModified: 2018-08-08T18:29:29.663Z
                  options:
                    - 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}}'
                      name: widevineoption
                      policyOptionId: 26fee004-8dfa-4828-bcad-5e63c637534f
                      restriction:
                        "@odata.type": "#Microsoft.Media.ContentKeyPolicyTokenRestriction"
                        alternateVerificationKeys:
                          - "@odata.type": "#Microsoft.Media.ContentKeyPolicySymmetricTokenKey"
                            keyValue: ""
                        audience: urn:audience
                        issuer: urn:issuer
                        primaryVerificationKey:
                          "@odata.type": "#Microsoft.Media.ContentKeyPolicyRsaTokenKey"
                          exponent: ""
                          modulus: ""
                        requiredClaims: []
                        restrictionTokenType: Jwt
                  policyId: bad1d030-7d5c-4643-8f1e-49807a4bf64c
                type: Microsoft.Media/mediaservices/contentKeyPolicies
            "201":
              body:
                id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/contentKeyPolicies/PolicyWithWidevineOptionAndJwtTokenRestriction
                name: PolicyWithWidevineOptionAndJwtTokenRestriction
                properties:
                  created: 2018-08-08T18:29:29.663Z
                  description: ArmPolicyDescription
                  lastModified: 2018-08-08T18:29:29.663Z
                  options:
                    - 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}}'
                      name: widevineoption
                      policyOptionId: 26fee004-8dfa-4828-bcad-5e63c637534f
                      restriction:
                        "@odata.type": "#Microsoft.Media.ContentKeyPolicyTokenRestriction"
                        alternateVerificationKeys:
                          - "@odata.type": "#Microsoft.Media.ContentKeyPolicySymmetricTokenKey"
                            keyValue: ""
                        audience: urn:audience
                        issuer: urn:issuer
                        primaryVerificationKey:
                          "@odata.type": "#Microsoft.Media.ContentKeyPolicyRsaTokenKey"
                          exponent: ""
                          modulus: ""
                        requiredClaims: []
                        restrictionTokenType: Jwt
                  policyId: bad1d030-7d5c-4643-8f1e-49807a4bf64c
                type: Microsoft.Media/mediaservices/contentKeyPolicies
        Creates a Content Key Policy with multiple options:
          parameters:
            accountName: contosomedia
            api-version: 2018-07-01
            contentKeyPolicyName: PolicyCreatedWithMultipleOptions
            parameters:
              properties:
                description: ArmPolicyDescription
                options:
                  - configuration:
                      "@odata.type": "#Microsoft.Media.ContentKeyPolicyClearKeyConfiguration"
                    name: ClearKeyOption
                    restriction:
                      "@odata.type": "#Microsoft.Media.ContentKeyPolicyTokenRestriction"
                      audience: urn:audience
                      issuer: urn:issuer
                      primaryVerificationKey:
                        "@odata.type": "#Microsoft.Media.ContentKeyPolicySymmetricTokenKey"
                        keyValue: AAAAAAAAAAAAAAAAAAAAAA==
                      restrictionTokenType: Swt
                  - 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}}'
                    name: widevineoption
                    restriction:
                      "@odata.type": "#Microsoft.Media.ContentKeyPolicyOpenRestriction"
            resourceGroupName: contoso
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200":
              body:
                id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/contentKeyPolicies/PolicyCreatedWithMultipleOptions
                name: PolicyCreatedWithMultipleOptions
                properties:
                  created: 2018-08-08T18:29:29.98Z
                  description: ArmPolicyDescription
                  lastModified: 2018-08-08T18:29:29.98Z
                  options:
                    - configuration:
                        "@odata.type": "#Microsoft.Media.ContentKeyPolicyClearKeyConfiguration"
                      name: ClearKeyOption
                      policyOptionId: 8dac9510-770a-401f-8f2b-f72640977ed0
                      restriction:
                        "@odata.type": "#Microsoft.Media.ContentKeyPolicyTokenRestriction"
                        alternateVerificationKeys: []
                        audience: urn:audience
                        issuer: urn:issuer
                        primaryVerificationKey:
                          "@odata.type": "#Microsoft.Media.ContentKeyPolicySymmetricTokenKey"
                          keyValue: ""
                        requiredClaims: []
                        restrictionTokenType: Swt
                    - 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}}'
                      name: widevineoption
                      policyOptionId: fc121776-6ced-4135-be92-f928dedc029a
                      restriction:
                        "@odata.type": "#Microsoft.Media.ContentKeyPolicyOpenRestriction"
                  policyId: 07ad673b-dc14-4230-adab-716622f33992
                type: Microsoft.Media/mediaservices/contentKeyPolicies
            "201":
              body:
                id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/contentKeyPolicies/PolicyCreatedWithMultipleOptions
                name: PolicyCreatedWithMultipleOptions
                properties:
                  created: 2018-08-08T18:29:29.98Z
                  description: ArmPolicyDescription
                  lastModified: 2018-08-08T18:29:29.98Z
                  options:
                    - configuration:
                        "@odata.type": "#Microsoft.Media.ContentKeyPolicyClearKeyConfiguration"
                      name: ClearKeyOption
                      policyOptionId: 8dac9510-770a-401f-8f2b-f72640977ed0
                      restriction:
                        "@odata.type": "#Microsoft.Media.ContentKeyPolicyTokenRestriction"
                        alternateVerificationKeys: []
                        audience: urn:audience
                        issuer: urn:issuer
                        primaryVerificationKey:
                          "@odata.type": "#Microsoft.Media.ContentKeyPolicySymmetricTokenKey"
                          keyValue: ""
                        requiredClaims: []
                        restrictionTokenType: Swt
                    - 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}}'
                      name: widevineoption
                      policyOptionId: fc121776-6ced-4135-be92-f928dedc029a
                      restriction:
                        "@odata.type": "#Microsoft.Media.ContentKeyPolicyOpenRestriction"
                  policyId: 07ad673b-dc14-4230-adab-716622f33992
                type: Microsoft.Media/mediaservices/contentKeyPolicies
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/contentKeyPolicies/{contentKeyPolicyName}/getPolicyPropertiesWithSecrets":
    post:
      description: Get a Content Key Policy including secret values
      operationId: ContentKeyPolicies_GetPolicyPropertiesWithSecrets
      parameters:
        - $ref: "#/parameters/SubscriptionId"
        - $ref: "#/parameters/ResourceGroupName"
        - $ref: "#/parameters/MediaServicesAccountName"
        - description: The Content Key Policy name.
          in: path
          name: contentKeyPolicyName
          required: true
          type: string
        - $ref: "#/parameters/ApiVersion"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/ContentKeyPolicyProperties"
        "404":
          description: NotFound
        default:
          description: Detailed error information.
          schema:
            $ref: "#/definitions/ApiError"
      summary: Get a Content Key Policy with secrets
      x-ms-examples:
        Get an Content Key Policy with secrets:
          parameters:
            accountName: contosomedia
            api-version: 2018-07-01
            contentKeyPolicyName: PolicyWithMultipleOptions
            resourceGroupName: contoso
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200":
              body:
                created: 2015-12-01T00:00:00Z
                description: A policy with multiple options.
                lastModified: 2016-12-02T00:00:00Z
                options:
                  - configuration:
                      "@odata.type": "#Microsoft.Media.ContentKeyPolicyClearKeyConfiguration"
                    policyOptionId: caf1e28c-8288-4301-8c46-c0f9312c512f
                    restriction:
                      "@odata.type": "#Microsoft.Media.ContentKeyPolicyTokenRestriction"
                      alternateVerificationKeys: []
                      audience: urn:test
                      issuer: http://testacs
                      primaryVerificationKey:
                        "@odata.type": "#Microsoft.Media.ContentKeyPolicySymmetricTokenKey"
                        keyValue: AAA=
                      requiredClaims:
                        - claimType: urn:microsoft:azure:mediaservices:contentkeyidentifier
                        - claimType: DRM
                          claimValue: Widevine
                      restrictionTokenType: Jwt
                  - 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}}'
                    policyOptionId: da346259-0cd6-4609-89dc-15ac131bd92f
                    restriction:
                      "@odata.type": "#Microsoft.Media.ContentKeyPolicyOpenRestriction"
                policyId: ed7f3d1b-cfa7-4181-b966-e0b3027eec3a
            "404": {}
definitions:
  ApiError:
    description: The API error.
    properties:
      error:
        $ref: "#/definitions/ODataError"
        description: The error properties.
    type: object
  ContentKeyPolicy:
    allOf:
      - allOf:
          - description: The core properties of ARM resources.
            properties:
              id:
                description: Fully qualified resource ID for the resource.
                readOnly: true
                type: string
              name:
                description: The name of the resource.
                readOnly: true
                type: string
              type:
                description: The type of the resource.
                readOnly: true
                type: string
            x-ms-azure-resource: true
        description: The resource model definition for a ARM proxy resource.
    description: A Content Key Policy resource.
    properties:
      properties:
        $ref: "#/definitions/ContentKeyPolicyProperties"
        x-ms-client-flatten: true
    type: object
  ContentKeyPolicyClearKeyConfiguration:
    allOf:
      - $ref: "#/definitions/ContentKeyPolicyConfiguration"
    description: Represents a configuration for non-DRM keys.
    properties: {}
    type: object
    x-ms-discriminator-value: "#Microsoft.Media.ContentKeyPolicyClearKeyConfiguration"
  ContentKeyPolicyCollection:
    description: A collection of ContentKeyPolicy items.
    properties:
      "@odata.nextLink":
        description: A link to the next page of the collection (when the collection contains too many results to return in one response).
        type: string
      value:
        description: A collection of ContentKeyPolicy items.
        items:
          $ref: "#/definitions/ContentKeyPolicy"
        type: array
    type: object
  ContentKeyPolicyConfiguration:
    description: Base class for Content Key Policy configuration. A derived class must be used to create a configuration.
    discriminator: "@odata.type"
    properties:
      "@odata.type":
        description: The discriminator for derived types.
        type: string
    required:
      - "@odata.type"
    type: object
  ContentKeyPolicyFairPlayConfiguration:
    allOf:
      - $ref: "#/definitions/ContentKeyPolicyConfiguration"
    description: Specifies a configuration for FairPlay licenses.
    properties:
      ask:
        description: The key that must be used as FairPlay Application Secret key.
        format: byte
        type: string
      fairPlayPfx:
        description: The Base64 representation of FairPlay certificate in PKCS 12 (pfx) format (including private key).
        type: string
      fairPlayPfxPassword:
        description: The password encrypting FairPlay certificate in PKCS 12 (pfx) format.
        type: string
      rentalAndLeaseKeyType:
        description: The rental and lease key type.
        enum:
          - Unknown
          - Undefined
          - PersistentUnlimited
          - PersistentLimited
        type: string
        x-ms-enum:
          modelAsString: true
          name: ContentKeyPolicyFairPlayRentalAndLeaseKeyType
          values:
            - description: Represents a ContentKeyPolicyFairPlayRentalAndLeaseKeyType that is unavailable in current API version.
              value: Unknown
            - description: Key duration is not specified.
              value: Undefined
            - description: Content key can be persisted with an unlimited duration
              value: PersistentUnlimited
            - description: Content key can be persisted and the valid duration is limited by the Rental Duration value
              value: PersistentLimited
      rentalDuration:
        description: The rental duration. Must be greater than or equal to 0.
        format: int64
        type: integer
    required:
      - ask
      - fairPlayPfxPassword
      - fairPlayPfx
      - rentalAndLeaseKeyType
      - rentalDuration
    type: object
    x-ms-discriminator-value: "#Microsoft.Media.ContentKeyPolicyFairPlayConfiguration"
  ContentKeyPolicyOpenRestriction:
    allOf:
      - $ref: "#/definitions/ContentKeyPolicyRestriction"
    description: Represents an open restriction. License or key will be delivered on every request.
    properties: {}
    type: object
    x-ms-discriminator-value: "#Microsoft.Media.ContentKeyPolicyOpenRestriction"
  ContentKeyPolicyOption:
    description: Represents a policy option.
    properties:
      configuration:
        $ref: "#/definitions/ContentKeyPolicyConfiguration"
        description: The key delivery configuration.
      name:
        description: The Policy Option description.
        type: string
      policyOptionId:
        description: The legacy Policy Option ID.
        format: uuid
        readOnly: true
        type: string
        x-nullable: false
      restriction:
        $ref: "#/definitions/ContentKeyPolicyRestriction"
        description: The requirements that must be met to deliver keys with this configuration
    required:
      - configuration
      - restriction
    type: object
  ContentKeyPolicyPlayReadyConfiguration:
    allOf:
      - $ref: "#/definitions/ContentKeyPolicyConfiguration"
    description: Specifies a configuration for PlayReady licenses.
    properties:
      licenses:
        description: The PlayReady licenses.
        items:
          $ref: "#/definitions/ContentKeyPolicyPlayReadyLicense"
        type: array
      responseCustomData:
        description: The custom response data.
        type: string
    required:
      - licenses
    type: object
    x-ms-discriminator-value: "#Microsoft.Media.ContentKeyPolicyPlayReadyConfiguration"
  ContentKeyPolicyPlayReadyContentEncryptionKeyFromHeader:
    allOf:
      - $ref: "#/definitions/ContentKeyPolicyPlayReadyContentKeyLocation"
    description: Specifies that the content key ID is in the PlayReady header.
    properties: {}
    type: object
    x-ms-discriminator-value: "#Microsoft.Media.ContentKeyPolicyPlayReadyContentEncryptionKeyFromHeader"
  ContentKeyPolicyPlayReadyContentEncryptionKeyFromKeyIdentifier:
    allOf:
      - $ref: "#/definitions/ContentKeyPolicyPlayReadyContentKeyLocation"
    description: Specifies that the content key ID is specified in the PlayReady configuration.
    properties:
      keyId:
        description: The content key ID.
        format: uuid
        type: string
    required:
      - keyId
    type: object
    x-ms-discriminator-value: "#Microsoft.Media.ContentKeyPolicyPlayReadyContentEncryptionKeyFromKeyIdentifier"
  ContentKeyPolicyPlayReadyContentKeyLocation:
    description: Base class for content key ID location. A derived class must be used to represent the location.
    discriminator: "@odata.type"
    properties:
      "@odata.type":
        description: The discriminator for derived types.
        type: string
    required:
      - "@odata.type"
    type: object
  ContentKeyPolicyPlayReadyExplicitAnalogTelevisionRestriction:
    description: Configures the Explicit Analog Television Output Restriction control bits. For further details see the PlayReady Compliance Rules.
    properties:
      bestEffort:
        description: Indicates whether this restriction is enforced on a Best Effort basis.
        type: boolean
      configurationData:
        description: Configures the restriction control bits. Must be between 0 and 3 inclusive.
        format: int32
        type: integer
    required:
      - bestEffort
      - configurationData
    type: object
  ContentKeyPolicyPlayReadyLicense:
    description: The PlayReady license
    properties:
      allowTestDevices:
        description: A flag indicating whether test devices can use the license.
        type: boolean
      beginDate:
        description: The begin date of license
        format: date-time
        type: string
      contentKeyLocation:
        $ref: "#/definitions/ContentKeyPolicyPlayReadyContentKeyLocation"
        description: The content key location.
      contentType:
        description: The PlayReady content type.
        enum:
          - Unknown
          - Unspecified
          - UltraVioletDownload
          - UltraVioletStreaming
        type: string
        x-ms-enum:
          modelAsString: true
          name: ContentKeyPolicyPlayReadyContentType
          values:
            - description: Represents a ContentKeyPolicyPlayReadyContentType that is unavailable in current API version.
              value: Unknown
            - description: Unspecified content type.
              value: Unspecified
            - description: Ultraviolet download content type.
              value: UltraVioletDownload
            - description: Ultraviolet streaming content type.
              value: UltraVioletStreaming
      expirationDate:
        description: The expiration date of license.
        format: date-time
        type: string
      gracePeriod:
        description: The grace period of license.
        format: duration
        type: string
      licenseType:
        description: The license type.
        enum:
          - Unknown
          - NonPersistent
          - Persistent
        type: string
        x-ms-enum:
          modelAsString: true
          name: ContentKeyPolicyPlayReadyLicenseType
          values:
            - description: Represents a ContentKeyPolicyPlayReadyLicenseType that is unavailable in current API version.
              value: Unknown
            - description: Non persistent license.
              value: NonPersistent
            - description: Persistent license. Allows offline playback.
              value: Persistent
      playRight:
        $ref: "#/definitions/ContentKeyPolicyPlayReadyPlayRight"
        description: The license PlayRight
      relativeBeginDate:
        description: The relative begin date of license.
        format: duration
        type: string
      relativeExpirationDate:
        description: The relative expiration date of license.
        format: duration
        type: string
    required:
      - allowTestDevices
      - licenseType
      - contentKeyLocation
      - contentType
    type: object
  ContentKeyPolicyPlayReadyPlayRight:
    description: Configures the Play Right in the PlayReady license.
    properties:
      agcAndColorStripeRestriction:
        description: Configures Automatic Gain Control (AGC) and Color Stripe in the license. Must be between 0 and 3 inclusive.
        format: int32
        type: integer
      allowPassingVideoContentToUnknownOutput:
        description: Configures Unknown output handling settings of the license.
        enum:
          - Unknown
          - NotAllowed
          - Allowed
          - AllowedWithVideoConstriction
        type: string
        x-ms-enum:
          modelAsString: true
          name: ContentKeyPolicyPlayReadyUnknownOutputPassingOption
          values:
            - description: Represents a ContentKeyPolicyPlayReadyUnknownOutputPassingOption that is unavailable in current API version.
              value: Unknown
            - description: Passing the video portion of protected content to an Unknown Output is not allowed.
              value: NotAllowed
            - description: Passing the video portion of protected content to an Unknown Output is allowed.
              value: Allowed
            - description: Passing the video portion of protected content to an Unknown Output is allowed but with constrained resolution.
              value: AllowedWithVideoConstriction
      analogVideoOpl:
        description: Specifies the output protection level for compressed digital audio.
        format: int32
        type: integer
      compressedDigitalAudioOpl:
        description: Specifies the output protection level for compressed digital audio.
        format: int32
        type: integer
      compressedDigitalVideoOpl:
        description: Specifies the output protection level for compressed digital video.
        format: int32
        type: integer
      digitalVideoOnlyContentRestriction:
        description: Enables the Image Constraint For Analog Component Video Restriction in the license.
        type: boolean
      explicitAnalogTelevisionOutputRestriction:
        $ref: "#/definitions/ContentKeyPolicyPlayReadyExplicitAnalogTelevisionRestriction"
        description: Configures the Explicit Analog Television Output Restriction in the license. Configuration data must be between 0 and 3 inclusive.
      firstPlayExpiration:
        description: The amount of time that the license is valid after the license is first used to play content.
        format: duration
        type: string
      imageConstraintForAnalogComponentVideoRestriction:
        description: Enables the Image Constraint For Analog Component Video Restriction in the license.
        type: boolean
      imageConstraintForAnalogComputerMonitorRestriction:
        description: Enables the Image Constraint For Analog Component Video Restriction in the license.
        type: boolean
      scmsRestriction:
        description: Configures the Serial Copy Management System (SCMS) in the license. Must be between 0 and 3 inclusive.
        format: int32
        type: integer
      uncompressedDigitalAudioOpl:
        description: Specifies the output protection level for uncompressed digital audio.
        format: int32
        type: integer
      uncompressedDigitalVideoOpl:
        description: Specifies the output protection level for uncompressed digital video.
        format: int32
        type: integer
    required:
      - digitalVideoOnlyContentRestriction
      - imageConstraintForAnalogComponentVideoRestriction
      - imageConstraintForAnalogComputerMonitorRestriction
      - allowPassingVideoContentToUnknownOutput
    type: object
  ContentKeyPolicyProperties:
    description: The properties of the Content Key Policy.
    properties:
      created:
        description: The creation date of the Policy
        format: date-time
        readOnly: true
        type: string
        x-nullable: false
      description:
        description: A description for the Policy.
        type: string
      lastModified:
        description: The last modified date of the Policy
        format: date-time
        readOnly: true
        type: string
        x-nullable: false
      options:
        description: The Key Policy options.
        items:
          $ref: "#/definitions/ContentKeyPolicyOption"
        type: array
      policyId:
        description: The legacy Policy ID.
        format: uuid
        readOnly: true
        type: string
        x-nullable: false
    required:
      - options
    type: object
  ContentKeyPolicyRestriction:
    description: Base class for Content Key Policy restrictions. A derived class must be used to create a restriction.
    discriminator: "@odata.type"
    properties:
      "@odata.type":
        description: The discriminator for derived types.
        type: string
    required:
      - "@odata.type"
    type: object
  ContentKeyPolicyRestrictionTokenKey:
    description: Base class for Content Key Policy key for token validation. A derived class must be used to create a token key.
    discriminator: "@odata.type"
    properties:
      "@odata.type":
        description: The discriminator for derived types.
        type: string
    required:
      - "@odata.type"
    type: object
  ContentKeyPolicyRsaTokenKey:
    allOf:
      - $ref: "#/definitions/ContentKeyPolicyRestrictionTokenKey"
    description: Specifies a RSA key for token validation
    properties:
      exponent:
        description: The RSA Parameter exponent
        format: byte
        type: string
      modulus:
        description: The RSA Parameter modulus
        format: byte
        type: string
    required:
      - exponent
      - modulus
    type: object
    x-ms-discriminator-value: "#Microsoft.Media.ContentKeyPolicyRsaTokenKey"
  ContentKeyPolicySymmetricTokenKey:
    allOf:
      - $ref: "#/definitions/ContentKeyPolicyRestrictionTokenKey"
    description: Specifies a symmetric key for token validation.
    properties:
      keyValue:
        description: The key value of the key
        format: byte
        type: string
    required:
      - keyValue
    type: object
    x-ms-discriminator-value: "#Microsoft.Media.ContentKeyPolicySymmetricTokenKey"
  ContentKeyPolicyTokenClaim:
    description: Represents a token claim.
    properties:
      claimType:
        description: Token claim type.
        type: string
      claimValue:
        description: Token claim value.
        type: string
    type: object
  ContentKeyPolicyTokenRestriction:
    allOf:
      - $ref: "#/definitions/ContentKeyPolicyRestriction"
    description: Represents a token restriction. Provided token must match these requirements for successful license or key delivery.
    properties:
      alternateVerificationKeys:
        description: A list of alternative verification keys.
        items:
          $ref: "#/definitions/ContentKeyPolicyRestrictionTokenKey"
        type: array
      audience:
        description: The audience for the token.
        type: string
      issuer:
        description: The token issuer.
        type: string
      openIdConnectDiscoveryDocument:
        description: The OpenID connect discovery document.
        type: string
      primaryVerificationKey:
        $ref: "#/definitions/ContentKeyPolicyRestrictionTokenKey"
        description: The primary verification key.
      requiredClaims:
        description: A list of required token claims.
        items:
          $ref: "#/definitions/ContentKeyPolicyTokenClaim"
        type: array
      restrictionTokenType:
        description: The type of token.
        enum:
          - Unknown
          - Swt
          - Jwt
        type: string
        x-ms-enum:
          modelAsString: true
          name: ContentKeyPolicyRestrictionTokenType
          values:
            - description: Represents a ContentKeyPolicyRestrictionTokenType that is unavailable in current API version.
              value: Unknown
            - description: Simple Web Token.
              value: Swt
            - description: JSON Web Token.
              value: Jwt
    required:
      - issuer
      - audience
      - primaryVerificationKey
      - restrictionTokenType
    type: object
    x-ms-discriminator-value: "#Microsoft.Media.ContentKeyPolicyTokenRestriction"
  ContentKeyPolicyUnknownConfiguration:
    allOf:
      - $ref: "#/definitions/ContentKeyPolicyConfiguration"
    description: Represents a ContentKeyPolicyConfiguration that is unavailable in the current API version.
    properties: {}
    type: object
    x-ms-discriminator-value: "#Microsoft.Media.ContentKeyPolicyUnknownConfiguration"
  ContentKeyPolicyUnknownRestriction:
    allOf:
      - $ref: "#/definitions/ContentKeyPolicyRestriction"
    description: Represents a ContentKeyPolicyRestriction that is unavailable in the current API version.
    properties: {}
    type: object
    x-ms-discriminator-value: "#Microsoft.Media.ContentKeyPolicyUnknownRestriction"
  ContentKeyPolicyWidevineConfiguration:
    allOf:
      - $ref: "#/definitions/ContentKeyPolicyConfiguration"
    description: Specifies a configuration for Widevine licenses.
    properties:
      widevineTemplate:
        description: The Widevine template.
        type: string
    required:
      - widevineTemplate
    type: object
    x-ms-discriminator-value: "#Microsoft.Media.ContentKeyPolicyWidevineConfiguration"
  ContentKeyPolicyX509CertificateTokenKey:
    allOf:
      - $ref: "#/definitions/ContentKeyPolicyRestrictionTokenKey"
    description: Specifies a certificate for token validation.
    properties:
      rawBody:
        description: The raw data field of a certificate in PKCS 12 format (X509Certificate2 in .NET)
        format: byte
        type: string
    required:
      - rawBody
    type: object
    x-ms-discriminator-value: "#Microsoft.Media.ContentKeyPolicyX509CertificateTokenKey"
  ODataError:
    description: Information about an error.
    properties:
      code:
        description: A language-independent error name.
        type: string
      details:
        description: The error details.
        items:
          $ref: "#/definitions/ODataError"
        type: array
      message:
        description: The error message.
        type: string
      target:
        description: The target of the error (for example, the name of the property in error).
        type: string
    type: object
