{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/amazon-mediapackage/refs/heads/main/json-schema/mediapackage-api-hls-encryption-schema.json",
  "title": "HlsEncryption",
  "description": "An HTTP Live Streaming (HLS) encryption configuration.",
  "type": "object",
  "properties": {
    "ConstantInitializationVector": {
      "allOf": [
        {
          "$ref": "#/components/schemas/__string"
        },
        {
          "xml": {
            "name": "constantInitializationVector"
          },
          "description": "A constant initialization vector for encryption (optional).\nWhen not specified the initialization vector will be periodically rotated.\n"
        }
      ]
    },
    "EncryptionMethod": {
      "allOf": [
        {
          "$ref": "#/components/schemas/EncryptionMethod"
        },
        {
          "xml": {
            "name": "encryptionMethod"
          },
          "description": "The encryption method to use."
        }
      ]
    },
    "KeyRotationIntervalSeconds": {
      "allOf": [
        {
          "$ref": "#/components/schemas/__integer"
        },
        {
          "xml": {
            "name": "keyRotationIntervalSeconds"
          },
          "description": "Interval (in seconds) between each encryption key rotation."
        }
      ]
    },
    "RepeatExtXKey": {
      "allOf": [
        {
          "$ref": "#/components/schemas/__boolean"
        },
        {
          "xml": {
            "name": "repeatExtXKey"
          },
          "description": "When enabled, the EXT-X-KEY tag will be repeated in output manifests."
        }
      ]
    },
    "SpekeKeyProvider": {
      "allOf": [
        {
          "$ref": "#/components/schemas/SpekeKeyProvider"
        },
        {
          "xml": {
            "name": "spekeKeyProvider"
          }
        }
      ]
    }
  },
  "required": [
    "SpekeKeyProvider"
  ]
}