{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/microsoft-azure-cdn/json-schema/microsoft-azure-cdn-custom-domain-https-parameters-schema.json",
  "title": "CustomDomainHttpsParameters",
  "description": "The JSON object that contains the properties to secure a custom domain.",
  "x-generated": "2026-11-05",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/microsoft-azure-cdn-custom-domains-api-openapi.yml#/components/schemas/CustomDomainHttpsParameters",
  "type": "object",
  "properties": {
    "certificateSource": {
      "$ref": "#/$defs/CertificateSource",
      "description": "Defines the source of the SSL certificate."
    },
    "protocolType": {
      "$ref": "#/$defs/ProtocolType",
      "description": "Defines the TLS extension protocol that is used for secure delivery."
    },
    "minimumTlsVersion": {
      "$ref": "#/$defs/MinimumTlsVersion",
      "description": "TLS protocol version that will be used for Https"
    }
  },
  "required": [
    "certificateSource",
    "protocolType"
  ],
  "$defs": {
    "CertificateSource": {
      "type": "string",
      "description": "Defines the source of the SSL certificate.",
      "enum": [
        "AzureKeyVault",
        "Cdn"
      ],
      "x-ms-enum": {
        "name": "CertificateSource",
        "modelAsString": true,
        "values": [
          {
            "name": "AzureKeyVault",
            "value": "AzureKeyVault"
          },
          {
            "name": "Cdn",
            "value": "Cdn"
          }
        ]
      }
    },
    "MinimumTlsVersion": {
      "type": "string",
      "description": "TLS protocol version that will be used for Https",
      "enum": [
        "None",
        "TLS10",
        "TLS12"
      ],
      "x-ms-enum": {
        "name": "MinimumTlsVersion",
        "modelAsString": false
      }
    },
    "ProtocolType": {
      "type": "string",
      "description": "Defines the TLS extension protocol that is used for secure delivery.",
      "enum": [
        "ServerNameIndication",
        "IPBased"
      ],
      "x-ms-enum": {
        "name": "ProtocolType",
        "modelAsString": true,
        "values": [
          {
            "name": "ServerNameIndication",
            "value": "ServerNameIndication"
          },
          {
            "name": "IPBased",
            "value": "IPBased"
          }
        ]
      }
    }
  }
}