---
dns_over_https:  # DNS over HTTPS

  enable_dns_over_https: false  # Enable DNS over HTTPS

  provider:
    description: Use Provider
    choices:
      - Cloudflare
      - NextDNS
      - Custom
    default: Cloudflare
    disabled:
      type: jinja
      jinja: |
        {% if not _.enable_dns_over_https %}
        Enable DNS over HTTPS is False
        {% endif %}
      description: |
        if "firefox.dns_over_https.enable_dns_over_https" is not False

  custom_dns_url:
    description: Custom DNS URL
    type: web_address
    disabled:
      type: jinja
      jinja: |
        {% if provider is not defined or provider != 'Custom' %}
        provider is not custom
        {% endif %}
      params:
        provider:
          type: variable
          variable: _.provider
          propertyerror: false
      description: if "firefox.dns_over_https.provider" is not "Custom"
    validators:
      - type: jinja
        jinja: |
          {% if _.custom_dns_url.startswith('http://') %}
          only https is allowed
          {% endif %}
        description: must starts with 'https://' only
