all lists on lists.proxmox.com
 help / color / mirror / Atom feed
From: n.frey@proxmox.com
To: pve-devel@lists.proxmox.com
Subject: [pve-devel] [PATCH proxmox-acme 1/1] add all missing dns challenge schemas
Date: Mon, 22 Sep 2025 15:38:01 +0200	[thread overview]
Message-ID: <20250922134252.144392-2-n.frey@proxmox.com> (raw)
In-Reply-To: <20250922134252.144392-1-n.frey@proxmox.com>

From: Nicolas Frey <n.frey@proxmox.com>

Signed-off-by: Nicolas Frey <n.frey@proxmox.com>
---
 src/dns-challenge-schema.json | 2077 +++++++++++++++++++++++++++++----
 1 file changed, 1864 insertions(+), 213 deletions(-)

diff --git a/src/dns-challenge-schema.json b/src/dns-challenge-schema.json
index 8669c86..4d69e68 100644
--- a/src/dns-challenge-schema.json
+++ b/src/dns-challenge-schema.json
@@ -1,5 +1,17 @@
 {
-   "1984hosting": {},
+   "1984hosting": {
+      "fields": {
+         "One984HOSTING_Username": {
+            "description": "The 1984hosting user",
+            "type": "string"
+         },
+         "One984HOSTING_Password": {
+            "description": "The 1984hosting password",
+            "type": "string"
+         }
+      },
+      "name": "1984hosting"
+   },
    "acmedns": {
       "fields": {
          "ACMEDNS_BASE_URL": {
@@ -21,7 +33,23 @@
       },
       "name": "acme-dns"
    },
-   "acmeproxy": {},
+   "acmeproxy": {
+      "fields": {
+         "ACMEPROXY_ENDPOINT": {
+            "description": "The API update endpoint",
+            "type": "string"
+         },
+         "ACMEPROXY_USERNAME": {
+            "description": "The acmeproxy user",
+            "type": "string"
+         },
+         "ACMEPROXY_PASSWORD": {
+            "description": "The acmeproxy password",
+            "type": "string"
+         }
+      },
+      "name": "acmeproxy"
+   },
    "active24": {
       "fields": {
          "ACTIVE24_Token": {
@@ -59,10 +87,46 @@
       },
       "name": "Alibaba Cloud DNS"
    },
-   "alviy": {},
-   "anx": {},
-   "artfiles": {},
-   "arvan": {},
+   "alviy": {
+      "fields": {
+         "Alviy_token": {
+            "description": "The API token",
+            "type": "string"
+         }
+      },
+      "name": "alviy"
+   },
+   "anx": {
+      "fields": {
+         "ANX_Token": {
+            "description": "The API token",
+            "type": "string"
+         }
+      },
+      "name": "Anexia Cloud DNS"
+   },
+   "artfiles": {
+      "fields": {
+         "AF_API_USERNAME": {
+            "description": "The API user",
+            "type": "string"
+         },
+         "AF_API_PASSWORD": {
+            "description": "The API password",
+            "type": "string"
+         }
+      },
+      "name": "artfiles"
+   },
+   "arvan": {
+      "fields": {
+         "Arvan_Token": {
+            "description": "The API token",
+            "type": "string"
+         }
+      },
+      "name": "ArvanCloud"
+   },
    "aurora": {
       "fields": {
          "AURORA_Key": {
@@ -76,7 +140,23 @@
       },
       "name": "AuroraDNS"
    },
-   "autodns": {},
+   "autodns": {
+      "fields": {
+         "AUTODNS_USER": {
+            "description": "The autoDNS user",
+            "type": "string"
+         },
+         "AUTODNS_PASSWORD": {
+            "description": "The autoDNS password",
+            "type": "string"
+         },
+         "AUTODNS_CONTEXT": {
+            "description": "The autoDNS context",
+            "type": "string"
+         }
+      },
+      "name": "autoDNS (InternetX)"
+   },
    "aws": {
       "fields": {
          "AWS_ACCESS_KEY_ID": {
@@ -92,11 +172,82 @@
       },
       "name": "Amazon Route53 (AWS)"
    },
-   "azion": {},
-   "azure": {},
-   "beget": {},
-   "bookmyname": {},
-   "bunny": {},
+   "azion": {
+      "fields": {
+         "AZION_Email": {
+            "description": "The azion email",
+            "type": "string"
+         },
+         "AZION_Password": {
+            "description": "The azion password",
+            "type": "string"
+         }
+      },
+      "name": "Azion DNS"
+   },
+   "azure": {
+      "fields": {
+         "AZUREDNS_SUBSCRIPTIONID": {
+            "description": "The Azure subscription ID",
+            "type": "string"
+         },
+         "AZUREDNS_TENANTID": {
+            "description": "The Azure tenant ID",
+            "type": "string"
+         },
+         "AZUREDNS_APPID": {
+            "description": "The Azure app ID (Method1)",
+            "optional": 1,
+            "type": "string"
+         },
+         "AZUREDNS_CLIENTSECRET": {
+            "description": "The Azure client secret (Method1)",
+            "optional": 1,
+            "type": "string"
+         },
+         "AZUREDNS_BEARERTOKEN": {
+            "description": "The Azure bearer token (Method2)",
+            "optional": 1,
+            "type": "string"
+         }
+      },
+      "name": "Azure"
+   },
+   "beget": {
+      "fields": {
+         "Beget_Username": {
+            "description": "The beget user",
+            "type": "string"
+         },
+         "Beget_Password": {
+            "description": "The beget password",
+            "type": "string"
+         }
+      },
+      "name": "beget"
+   },
+   "bookmyname": {
+      "fields": {
+         "BOOKMYNAME_USERNAME": {
+            "description": "The bookmyname user",
+            "type": "string"
+         },
+         "BOOKMYNAME_PASSWORD": {
+            "description": "The bookmyname password",
+            "type": "string"
+         }
+      },
+      "name": "bookmyname"
+   },
+   "bunny": {
+      "fields": {
+         "BUNNY_API_KEY": {
+            "description": "The API key",
+            "type": "string"
+         }
+      },
+      "name": "bunny"
+   },
    "cf": {
       "description": "Either provide global account key and email, or CF API token and Account ID.",
       "fields": {
@@ -123,283 +274,1783 @@
       },
       "name": "Cloudflare Managed DNS"
    },
-   "clouddns": {},
-   "cloudns": {},
-   "cn": {},
-   "conoha": {},
-   "constellix": {},
-   "cpanel": {},
-   "curanet": {},
-   "cyon": {},
-   "da": {},
-   "ddnss": {},
-   "desec": {},
-   "df": {},
-   "dgon": {
+   "clouddns": {
       "fields": {
-         "DO_API_KEY": {
-            "description": "The DigitalOcean API Key",
+         "CLOUDDNS_EMAIL": {
+            "description": "The clouddns email",
+            "type": "string"
+         },
+         "CLOUDDNS_PASSWORD": {
+            "description": "The clouddns password",
+            "type": "string"
+         },
+         "CLOUDDNS_CLIENT_ID": {
+            "description": "The clouddns client ID",
             "type": "string"
          }
       },
-      "name": "DigitalOcean DNS"
+      "name": "clouddns"
    },
-   "dnsexit": {},
-   "dnshome": {},
-   "dnsimple": {},
-   "dnsservices": {},
-   "doapi": {},
-   "domeneshop": {},
-   "dp": {},
-   "dpi": {},
-   "dreamhost": {},
-   "duckdns": {},
-   "durabledns": {},
-   "dyn": {},
-   "dynu": {},
-   "dynv6": {},
-   "easydns": {},
-   "edgecenter": {},
-   "edgedns": {},
-   "euserv": {},
-   "exoscale": {},
-   "fornex": {},
-   "freedns": {},
-   "freemyip": {},
-   "gandi_livedns": {},
-   "gcloud": {},
-   "gcore": {},
-   "gd": {
+   "cloudns": {
       "fields": {
-         "GD_Key": {
-            "description": "The GoDaddy API Key",
+         "CLOUDNS_SUB_AUTH_ID": {
+            "description": "The clouDNS sub auth ID (recommended)",
+            "optional": 1,
             "type": "string"
          },
-         "GD_Secret": {
-            "description": "The GoDaddy API Secret",
+         "CLOUDNS_AUTH_ID": {
+            "description": "The clouDNS auth ID",
+            "optional": 1,
+            "type": "string"
+         },
+         "CLOUDNS_AUTH_PASSWORD": {
+            "description": "The clouDNS password",
             "type": "string"
          }
       },
-      "name": "GoDaddy"
+      "name": "clouDNS"
    },
-   "geoscaling": {},
-   "googledomains": {},
-   "he": {},
-   "he_ddns": {},
-   "hetzner": {},
-   "hexonet": {},
-   "hostingde": {},
-   "huaweicloud": {},
-   "infoblox": {},
-   "infomaniak": {},
-   "internetbs": {},
-   "inwx": {
+   "cn": {
       "fields": {
-         "INWX_Password": {
-            "description": "The INWX password",
+         "CN_User": {
+            "description": "The Core-Networks user",
             "type": "string"
          },
-         "INWX_Shared_Secret": {
-            "description": "The INWX shared secret",
+         "CN_Password": {
+            "description": "The Core-Networks password",
+            "type": "string"
+         }
+      },
+      "name": "Core-Networks"
+   },
+   "conoha": {
+      "fields": {
+         "CN_User": {
+            "CONOHA_Username": "The ConoHa user",
             "type": "string"
          },
-         "INWX_User": {
-            "description": "The INWX username",
+         "CONOHA_Password": {
+            "description": "The ConoHa password",
+            "type": "string"
+         },
+         "CONOHA_TenantId": {
+            "description": "The ConoHa tenant ID",
+            "type": "string"
+         },
+         "CONOHA_IdentityServiceApi": {
+            "description": "The ConoHa API endpoint",
             "type": "string"
          }
       },
-      "name": "INWX"
+      "name": "ConoHa"
    },
-   "ionos": {},
-   "ionos_cloud": {},
-   "ipv64": {},
-   "ispconfig": {},
-   "jd": {},
-   "joker": {},
-   "kappernet": {
+   "constellix": {
       "fields": {
-         "KAPPERNETDNS_Key": {
-            "description": "Your kapper.net API key",
+         "CONSTELLIX_Key": {
+            "description": "The API key",
             "type": "string"
          },
-         "KAPPERNETDNS_Secret": {
-            "description": "Your kapper.net API secret",
+         "CONSTELLIX_Secret": {
+            "description": "The API secret",
             "type": "string"
          }
       },
-      "name": "kapper.net"
+      "name": "constellix"
    },
-   "kas": {},
-   "kinghost": {},
-   "knot": {
+   "cpanel": {
       "fields": {
-         "KNOT_KEY": {
-            "description": "TSIG key (format alg:name:key)",
+         "cPanel_Username": {
+            "description": "The cpanel user",
             "type": "string"
          },
-         "KNOT_SERVER": {
-            "description": "Hostname of the RFC 2136 compatible nameserver",
+         "cPanel_Apitoken": {
+            "description": "The API token",
+            "type": "string"
+         },
+         "cPanel_Hostname": {
+            "description": "The cpanel URL",
             "type": "string"
          }
       },
-      "name": "Knot / knsupdate (RFC 2136)"
+      "name": "cpanel"
    },
-   "la": {},
-   "leaseweb": {},
-   "lexicon": {},
-   "limacity": {},
-   "linode": {},
-   "linode_v4": {},
-   "loopia": {},
-   "lua": {},
-   "maradns": {},
-   "me": {},
-   "miab": {},
-   "mijnhost": {},
-   "misaka": {},
-   "myapi": {},
-   "mydevil": {},
-   "mydnsjp": {},
-   "mythic_beasts": {},
-   "namecheap": {},
-   "namecom": {},
-   "namesilo": {},
-   "nanelo": {},
-   "nederhost": {},
-   "neodigit": {},
-   "netcup": {},
-   "netlify": {},
-   "nic": {},
-   "njalla": {},
-   "nm": {},
-   "nsd": {},
-   "nsone": {},
-   "nsupdate": {
+   "curanet": {
       "fields": {
-         "NSUPDATE_KEY": {
-            "description": "Path to the nsupdate key file (TSIG key)",
+         "CURANET_AUTHCLIENTID": {
+            "description": "The curanet client ID",
             "type": "string"
          },
-         "NSUPDATE_SERVER": {
-            "description": "Hostname of the RFC 2136 compatible nameserver",
+         "CURANET_AUTHSECRET": {
+            "description": "The curanet secret",
+            "type": "string"
+         }
+      },
+      "name": "curanet"
+   },
+   "cyon": {
+      "fields": {
+         "CY_Username": {
+            "description": "The cyon user",
             "type": "string"
          },
-         "NSUPDATE_ZONE": {
-            "description": "DNS zone name (optional)",
+         "CY_Password": {
+            "description": "The cyon password",
+            "type": "string"
+         },
+         "CY_OTP_Secret": {
+            "description": "The one time password secret (required if using 2FA)",
             "optional": 1,
             "type": "string"
          }
       },
-      "name": "nsupdate (RFC 2136)"
+      "name": "cyon"
    },
-   "nw": {},
-   "oci": {},
-   "omglol": {},
-   "one": {},
-   "online": {},
-   "openprovider": {},
-   "openstack": {},
-   "opnsense": {},
-   "ovh": {
+   "da": {
       "fields": {
-         "OVH_AK": {
-            "description": "The application key.",
+         "DA_Api": {
+            "description": "The DirectAdmin API endpoint",
             "type": "string"
          },
-         "OVH_AS": {
-            "description": "The application secret.",
+         "DA_Api_Insecure": {
+            "description": "Whether ssl cert is checked for validity (1 | 0)",
+            "type": "integer"
+         }
+      },
+      "name": "DirectAdmin"
+   },
+   "ddnss": {
+      "fields": {
+         "DDNSS_Token": {
+            "description": "The DDNSS API token",
             "type": "string"
-         },
-         "OVH_CK": {
-            "description": "The consumer key.",
-            "optional": 1,
+         }
+      },
+      "name": "DDNSS"
+   },
+   "desec": {
+      "fields": {
+         "DEDYN_TOKEN": {
+            "description": "The deSEC API token",
+            "type": "string"
+         }
+      },
+      "name": "deSEC"
+   },
+   "df": {
+      "fields": {
+         "DF_user": {
+            "description": "The dyndnsfree user",
             "type": "string"
          },
-         "OVH_END_POINT": {
-            "default": "ovh-eu",
-            "description": "The OVH endpoint",
-            "optional": 1,
+         "DF_password": {
+            "description": "The dyndnsfree password",
             "type": "string"
          }
       },
-      "name": "OVH"
+      "name": "dyndnsfree"
    },
-   "pdns": {
+   "dgon": {
       "fields": {
-         "PDNS_ServerId": {
+         "DO_API_KEY": {
+            "description": "The DigitalOcean API Key",
+            "type": "string"
+         }
+      },
+      "name": "DigitalOcean DNS"
+   },
+   "dnsexit": {
+      "fields": {
+         "DNSEXIT_API_KEY": {
+            "description": "The dnsexit API Key",
             "type": "string"
          },
-         "PDNS_Token": {
+         "DNSEXIT_AUTH_USER": {
+            "description": "The dnsexit user",
             "type": "string"
          },
-         "PDNS_Ttl": {
-            "type": "integer"
+         "DNSEXIT_AUTH_PASS": {
+            "description": "The dnsexit password",
+            "type": "string"
+         }
+      },
+      "name": "dnsexit"
+   },
+   "dnshome": {
+      "fields": {
+         "DNSHOME_Subdomain": {
+            "description": "The dnshome subdomain",
+            "type": "string"
          },
-         "PDNS_Url": {
-            "description": "The PowerDNS API endpoint.",
+         "DNSHOME_SubdomainPassword": {
+            "description": "The dnshome subdomain password",
             "type": "string"
          }
       },
-      "name": "PowerDNS server"
+      "name": "dnshome"
    },
-   "pleskxml": {},
-   "pointhq": {},
-   "porkbun": {
+   "dnsimple": {
       "fields": {
-         "PORKBUN_API_KEY": {
-            "description": "The API Key",
+         "DNSimple_OAUTH_TOKEN": {
+            "description": "The DNSimple API OAUTH token",
+            "type": "string"
+         }
+      },
+      "name": "DNSimple"
+   },
+   "dnsservices": {},
+   "doapi": {
+      "fields": {
+         "DO_LETOKEN": {
+            "description": "The do.de API token",
+            "type": "string"
+         }
+      },
+      "name": "do.de"
+   },
+   "domeneshop": {
+      "fields": {
+         "DOMENESHOP_Token": {
+            "description": "The domeneshop API token",
             "type": "string"
          },
-         "PORKBUN_SECRET_API_KEY": {
-            "description": "The API Secret",
+         "DOMENESHOP_Secret": {
+            "description": "The domeneshop API secret",
             "type": "string"
          }
       },
-      "name": "Porkbun"
+      "name": "domeneshop"
    },
-   "rackcorp": {},
-   "rackspace": {},
-   "rage4": {},
-   "rcode0": {},
-   "regru": {},
-   "scaleway": {},
-   "schlundtech": {},
-   "selectel": {},
-   "selfhost": {},
-   "servercow": {},
-   "simply": {},
-   "technitium": {},
-   "tele3": {},
-   "tencent": {},
-   "timeweb": {},
-   "transip": {},
-   "udr": {},
-   "ultra": {},
-   "unoeuro": {},
-   "variomedia": {},
-   "veesp": {},
-   "vercel": {},
-   "vscale": {},
-   "vultr": {},
-   "websupport": {},
-   "west_cn": {},
-   "world4you": {
+   "dp": {
       "fields": {
-         "WORLD4YOU_PASSWORD": {
-            "description": "The World4You password",
+         "DP_Id": {
+            "description": "The DNSPod.cn ID",
             "type": "string"
          },
-         "WORLD4YOU_USERNAME": {
-            "description": "The World4You customer id or package id",
+         "DP_Key": {
+            "description": "The DNSPod.cn API key",
             "type": "string"
          }
       },
-      "name": "World4You"
+      "name": "DNSPod.cn"
+   },
+   "dpi": {
+      "fields": {
+         "DPI_Id": {
+            "description": "The DNSPod.com ID",
+            "type": "string"
+         },
+         "DPI_Key": {
+            "description": "The DNSPod.com API key",
+            "type": "string"
+         }
+      },
+      "name": "DNSPod.com"
+   },
+   "dreamhost": {
+      "fields": {
+         "DH_API_KEY": {
+            "description": "The DreamHost API key",
+            "type": "string"
+         }
+      },
+      "name": "DreamHost"
    },
-   "yandex360": {},
-   "yc": {},
-   "zilore": {},
-   "zone": {},
-   "zoneedit": {},
-   "zonomi": {}
-}
+   "duckdns": {
+      "fields": {
+         "DuckDNS_Token": {
+            "description": "The DuckDNS API token",
+            "type": "string"
+         }
+      },
+      "name": "DuckDNS"
+   },
+   "durabledns": {
+      "fields": {
+         "DD_API_User": {
+            "description": "The durabledns user",
+            "type": "string"
+         },
+         "DD_API_Key": {
+            "description": "The durabledns API key",
+            "type": "string"
+         }
+      },
+      "name": "durabledns"
+   },
+   "dyn": {
+      "fields": {
+         "DYN_Customer": {
+            "description": "The dynect.net customer",
+            "type": "string"
+         },
+         "DYN_Username": {
+            "description": "The dynect.net user",
+            "type": "string"
+         },
+         "DYN_Password": {
+            "description": "The dynect.net password",
+            "type": "string"
+         }
+      },
+      "name": "dynect.net"
+   },
+   "dynu": {
+      "fields": {
+         "Dynu_ClientId": {
+            "description": "The Dynu client ID",
+            "type": "string"
+         },
+         "Dynu_Secret": {
+            "description": "The Dynu API secret",
+            "type": "string"
+         }
+      },
+      "name": "Dynu"
+   },
+   "dynv6": {
+      "fields": {
+         "DYNV6_TOKEN": {
+            "description": "The dynv6 API token",
+            "type": "string"
+         }
+      },
+      "name": "dynv6"
+   },
+   "easydns": {
+      "fields": {
+         "EASYDNS_Token": {
+            "description": "The easydns API token",
+            "type": "string"
+         },
+         "EASYDNS_Key": {
+            "description": "The easydns API key",
+            "type": "string"
+         }
+      },
+      "name": "easydns"
+   },
+   "edgecenter": {
+      "fields": {
+         "EDGECENTER_API_KEY": {
+            "description": "The edgecenter API key",
+            "type": "string"
+         }
+      },
+      "name": "edgecenter"
+   },
+   "edgedns": {
+      "fields": {
+         "AKAMAI_CLIENT_TOKEN": {
+            "description": "akamai edgegrid client token",
+            "type": "string"
+         },
+         "AKAMAI_ACCESS_TOKEN": {
+            "description": "akamai edgegrid access token",
+            "type": "string"
+         },
+         "AKAMAI_CLIENT_SECRET": {
+            "description": "akamai edgegrid client secret",
+            "type": "string"
+         },
+         "AKAMAI_HOST": {
+            "description": "akamai edgegrid api host",
+            "type": "string"
+         }
+      },
+      "name": "Akamai EdgeDNS"
+   },
+   "euserv": {
+      "fields": {
+         "EUSERV_Username": {
+            "description": "The EUserv user",
+            "type": "string"
+         },
+         "EUSERV_Password": {
+            "description": "The EUserv password",
+            "type": "string"
+         }
+      },
+      "name": "EUserv"
+   },
+   "exoscale": {
+      "fields": {
+         "EXOSCALE_API_KEY": {
+            "description": "The Exoscale API key",
+            "type": "string"
+         },
+         "EXOSCALE_SECRET_KEY": {
+            "description": "The Exoscale secret key",
+            "type": "string"
+         }
+      },
+      "name": "Exoscale"
+   },
+   "fornex": {
+      "fields": {
+         "FORNEX_API_KEY": {
+            "description": "The fornex API key",
+            "type": "string"
+         }
+      },
+      "name": "fornex"
+   },
+   "freedns": {
+      "fields": {
+         "FREEDNS_User": {
+            "description": "The FreeDNS user",
+            "type": "string"
+         },
+         "FREEDNS_Password": {
+            "description": "The FreeDNS password",
+            "type": "string"
+         }
+      },
+      "name": "FreeDNS"
+   },
+   "freemyip": {
+      "fields": {
+         "FREEMYIP_Token": {
+            "description": "The freemyip API token",
+            "type": "string"
+         }
+      },
+      "name": "freemyip"
+   },
+   "gandi_livedns": {
+      "fields": {
+         "GANDI_LIVEDNS_TOKEN": {
+            "description": "The Gandi API token",
+            "optional": 1,
+            "type": "string"
+         },
+         "GANDI_LIVEDNS_KEY": {
+            "description": "The Gandi API key (deprecated)",
+            "optional": 1,
+            "type": "string"
+         }
+      },
+      "name": "Gandi LiveDNS"
+   },
+   "gcloud": {
+      "fields": {
+         "CLOUDSDK_ACTIVE_CONFIG_NAME": {
+            "description": "The Google Cloud config name",
+            "default": "default",
+            "optional": 1,
+            "type": "string"
+         }
+      },
+      "name": "Google Cloud"
+   },
+   "gcore": {
+      "fields": {
+         "GCORE_Key": {
+            "description": "The gcore API key",
+            "type": "string"
+         }
+      },
+      "name": "gcore"
+   },
+   "gd": {
+      "fields": {
+         "GD_Key": {
+            "description": "The GoDaddy API Key",
+            "type": "string"
+         },
+         "GD_Secret": {
+            "description": "The GoDaddy API Secret",
+            "type": "string"
+         }
+      },
+      "name": "GoDaddy"
+   },
+   "geoscaling": {
+      "fields": {
+         "GEOSCALING_Username": {
+            "description": "The geoscaling user",
+            "type": "string"
+         },
+         "GEOSCALING_Password": {
+            "description": "The geoscaling password",
+            "type": "string"
+         }
+      },
+      "name": "geoscaling"
+   },
+   "googledomains": {
+      "fields": {
+         "GOOGLEDOMAINS_ACCESS_TOKEN": {
+            "description": "The Google Domains access token",
+            "type": "string"
+         },
+         "GOOGLEDOMAINS_ZONE": {
+            "description": "Google Domains zone (inferred if left empty, optional)",
+            "optional": 1,
+            "type": "string"
+         }
+      },
+      "name": "Google Domains"
+   },
+   "he": {
+      "fields": {
+         "HE_Username": {
+            "description": "The HE username",
+            "type": "string"
+         },
+         "HE_Password": {
+            "description": "The HE password",
+            "type": "string"
+         }
+      },
+      "name": "Hurricane Electric"
+   },
+   "he_ddns": {
+      "fields": {
+         "HE_DDNS_KEY": {
+            "description": "The API key",
+            "type": "string"
+         }
+      },
+      "name": "Hurricane Electric DynDNS"
+   },
+   "hetzner": {
+      "fields": {
+         "HETZNER_Token": {
+            "description": "The hetzner API token",
+            "type": "string"
+         }
+      },
+      "name": "hetzner"
+   },
+   "hexonet": {
+      "fields": {
+         "Hexonet_Login": {
+            "description": "The hexonet user and role id",
+            "type": "string"
+         },
+         "Hexonet_Password": {
+            "description": "The hexonet role password",
+            "optional": 1,
+            "type": "string"
+         }
+      },
+      "name": "hexonet"
+   },
+   "hostingde": {
+      "fields": {
+         "HOSTINGDE_APIKEY": {
+            "description": "The hosting.de API key",
+            "type": "string"
+         },
+         "HOSTINGDE_ENDPOINT": {
+            "description": "The hosting.de API endpoint",
+            "default": "https://secure.hosting.de",
+            "type": "string"
+         }
+      },
+      "name": "hosting.de"
+   },
+   "huaweicloud": {
+      "fields": {
+         "HUAWEICLOUD_Username": {
+            "description": "The huaweicloud user",
+            "type": "string"
+         },
+         "HUAWEICLOUD_Password": {
+            "description": "The huaweicloud password",
+            "type": "string"
+         },
+         "HUAWEICLOUD_DomainName": {
+            "description": "The huaweicloud domain name",
+            "type": "string"
+         }
+      },
+      "name": "huaweicloud"
+   },
+   "infoblox": {
+      "fields": {
+         "Infoblox_Creds": {
+            "description": "The Infoblox credentials (username:password)",
+            "type": "string"
+         },
+         "Infoblox_Server": {
+            "description": "The IP or FQDN of Infoblox appliance",
+            "type": "string"
+         }
+      },
+      "name": "Infoblox"
+   },
+   "infomaniak": {
+      "fields": {
+         "INFOMANIAK_API_TOKEN": {
+            "description": "The infomaniak API token",
+            "type": "string"
+         }
+      },
+      "name": "infomaniak"
+   },
+   "internetbs": {
+      "fields": {
+         "INTERNETBS_API_KEY": {
+            "description": "The internetbs API key",
+            "type": "string"
+         },
+         "INTERNETBS_API_PASSWORD": {
+            "description": "The internetbs API password",
+            "type": "string"
+         }
+      },
+      "name": "internetbs"
+   },
+   "inwx": {
+      "fields": {
+         "INWX_Password": {
+            "description": "The INWX password",
+            "type": "string"
+         },
+         "INWX_Shared_Secret": {
+            "description": "The INWX shared secret",
+            "type": "string"
+         },
+         "INWX_User": {
+            "description": "The INWX username",
+            "type": "string"
+         }
+      },
+      "name": "INWX"
+   },
+   "ionos": {
+      "fields": {
+         "IONOS_PREFIX": {
+            "description": "The IONOS prefix",
+            "type": "string"
+         },
+         "IONOS_SECRET": {
+            "description": "The IONOS API secret",
+            "type": "string"
+         }
+      },
+      "name": "IONOS"
+   },
+   "ionos_cloud": {
+      "fields": {
+         "IONOS_TOKEN": {
+            "description": "The IONOS API token",
+            "type": "string"
+         }
+      },
+      "name": "IONOS Cloud"
+   },
+   "ipv64": {
+      "fields": {
+         "IPv64_Token": {
+            "description": "The IPv64 API token",
+            "type": "string"
+         }
+      },
+      "name": "IPv64"
+   },
+   "ispconfig": {
+      "fields": {
+         "ISPC_User": {
+            "description": "The ISPConfig user",
+            "type": "string"
+         },
+         "ISPC_Password": {
+            "description": "The ISPConfig password",
+            "type": "string"
+         },
+         "ISPC_Api": {
+            "description": "The ISPConfig API URL",
+            "type": "string"
+         },
+         "ISPC_Api_Insecure": {
+            "description": "Set to 1 if you have no valid ssl certs (1 | 0)",
+            "type": "integer"
+         }
+      },
+      "name": "ISPConfig"
+   },
+   "jd": {
+      "fields": {
+         "JD_ACCESS_KEY_ID": {
+            "description": "The jdcloud access key",
+            "type": "string"
+         },
+         "JD_ACCESS_KEY_SECRET": {
+            "description": "The jdcloud access key secret",
+            "type": "string"
+         }
+      },
+      "name": "jdcloud"
+   },
+   "joker": {
+      "fields": {
+         "JOKER_USERNAME": {
+            "description": "The joker user",
+            "type": "string"
+         },
+         "JOKER_PASSWORD": {
+            "description": "The joker password",
+            "type": "string"
+         }
+      },
+      "name": "joker"
+   },
+   "kappernet": {
+      "fields": {
+         "KAPPERNETDNS_Key": {
+            "description": "Your kapper.net API key",
+            "type": "string"
+         },
+         "KAPPERNETDNS_Secret": {
+            "description": "Your kapper.net API secret",
+            "type": "string"
+         }
+      },
+      "name": "kapper.net"
+   },
+   "kas": {
+      "fields": {
+         "KAS_Login": {
+            "description": "The KAS account ID",
+            "type": "string"
+         },
+         "KAS_Authdata": {
+            "description": "The KAS authentication data",
+            "type": "string"
+         },
+         "KAS_Authtype": {
+            "description": "The KAS authentication type",
+            "type": "string"
+         }
+      },
+      "name": "KAS"
+   },
+   "kinghost": {
+      "fields": {
+         "KINGHOST_Username": {
+            "description": "The KingHost user",
+            "type": "string"
+         },
+         "KINGHOST_Password": {
+            "description": "Your KingHost password",
+            "type": "string"
+         }
+      },
+      "name": "KingHost"
+   },
+   "knot": {
+      "fields": {
+         "KNOT_KEY": {
+            "description": "TSIG key (format alg:name:key)",
+            "type": "string"
+         },
+         "KNOT_SERVER": {
+            "description": "Hostname of the RFC 2136 compatible nameserver",
+            "type": "string"
+         }
+      },
+      "name": "Knot / knsupdate (RFC 2136)"
+   },
+   "la": {
+      "fields": {
+         "LA_Id": {
+            "description": "The dns.la appid",
+            "type": "string"
+         },
+         "LA_Sk": {
+            "description": "The dns.la API secret",
+            "type": "string"
+         }
+      },
+      "name": "dns.la"
+   },
+   "leaseweb": {
+      "fields": {
+         "LSW_Key": {
+            "description": "The Leaseweb API key",
+            "type": "string"
+         }
+      },
+      "name": "Leaseweb"
+   },
+   "lexicon": {},
+   "limacity": {
+      "fields": {
+         "LIMACITY_APIKEY": {
+            "description": "The Limacity API key",
+            "type": "string"
+         }
+      },
+      "name": "Limacity"
+   },
+   "linode": {},
+   "linode_v4": {
+      "fields": {
+         "LINODE_V4_API_KEY": {
+            "description": "The Linode API key",
+            "type": "string"
+         }
+      },
+      "name": "Linode"
+   },
+   "loopia": {
+      "fields": {
+         "LOOPIA_Api": {
+            "description": "The Loopia API endpoint",
+            "default": "https://api.loopia.se/RPCSERV",
+            "type": "string"
+         },
+         "LOOPIA_User": {
+            "description": "The Loopia user",
+            "type": "string"
+         },
+         "LOOPIA_Password": {
+            "description": "The Loopia password",
+            "type": "string"
+         }
+      },
+      "name": "Loopia"
+   },
+   "lua": {
+      "fields": {
+         "LUA_Key": {
+            "description": "The LuaDNS API key",
+            "type": "string"
+         },
+         "LUA_Email": {
+            "description": "The LuaDNS user",
+            "type": "string"
+         }
+      },
+      "name": "LuaDNS"
+   },
+   "maradns": {
+      "fields": {
+         "MARA_ZONE_FILE": {
+            "description": "The path to MaraDNS zone file",
+            "type": "string"
+         },
+         "MARA_DUENDE_PID_PATH": {
+            "description": "The path to MaraDNS PID file",
+            "type": "string"
+         }
+      },
+      "name": "MaraDNS"
+   },
+   "me": {
+      "fields": {
+         "ME_Key": {
+            "description": "The DNSMadeEasy API key",
+            "type": "string"
+         },
+         "ME_Secret": {
+            "description": "The DNSMadeEasy API secret",
+            "type": "string"
+         }
+      },
+      "name": "DNSMadeEasy"
+   },
+   "miab": {
+      "fields": {
+         "MIAB_Username": {
+            "description": "The MIAB user",
+            "type": "string"
+         },
+         "MIAB_Password": {
+            "description": "The MIAB password",
+            "type": "string"
+         },
+         "MIAB_Server": {
+            "description": "The FQDN of the MIAB server",
+            "type": "string"
+         }
+      },
+      "name": "Mail-In-a-Box"
+   },
+   "mijnhost": {
+      "fields": {
+         "MIJN_HOST_API_KEY": {
+            "description": "The mijnhost API key",
+            "type": "string"
+         }
+      },
+      "name": "mijnhost"
+   },
+   "misaka": {
+      "fields": {
+         "Misaka_Key": {
+            "description": "The misaka API key",
+            "type": "string"
+         }
+      },
+      "name": "misaka"
+   },
+   "myapi": {},
+   "mydevil": {},
+   "mydnsjp": {
+      "fields": {
+         "MYDNSJP_MasterID": {
+            "description": "The MyDNS.jp master ID",
+            "type": "string"
+         },
+         "MYDNSJP_Password": {
+            "description": "The MyDNS.jp password",
+            "type": "string"
+         }
+      },
+      "name": "MyDNS.jp"
+   },
+   "mythic_beasts": {
+      "fields": {
+         "MB_AK": {
+            "description": "The mythic-beasts API key",
+            "type": "string"
+         },
+         "MB_AS": {
+            "description": "The mythic-beasts API secret",
+            "type": "string"
+         }
+      },
+      "name": "mythic-beasts"
+   },
+   "namecheap": {
+      "fields": {
+         "NAMECHEAP_USERNAME": {
+            "description": "The Namecheap user",
+            "type": "string"
+         },
+         "NAMECHEAP_API_KEY": {
+            "description": "The Namecheap API key",
+            "type": "string"
+         },
+         "NAMECHEAP_SOURCEIP": {
+            "description": "The Namecheap source IP/Domain",
+            "type": "string"
+         }
+      },
+      "name": "Namecheap"
+   },
+   "namecom": {
+      "fields": {
+         "Namecom_Username": {
+            "description": "The Name.com user",
+            "type": "string"
+         },
+         "Namecom_Token": {
+            "description": "The Name.com API token",
+            "type": "string"
+         }
+      },
+      "name": "Name.com"
+   },
+   "namesilo": {
+      "fields": {
+         "Namesilo_Key": {
+            "description": "The Namesilo key",
+            "type": "string"
+         }
+      },
+      "name": "Namesilo"
+   },
+   "nanelo": {
+      "fields": {
+         "NANELO_TOKEN": {
+            "description": "The Nanelo API token",
+            "type": "string"
+         }
+      },
+      "name": "Nanelo"
+   },
+   "nederhost": {
+      "fields": {
+         "NederHost_Key": {
+            "description": "The NederHost API key",
+            "type": "string"
+         }
+      },
+      "name": "NederHost"
+   },
+   "neodigit": {
+      "fields": {
+         "NEODIGIT_API_TOKEN": {
+            "description": "The Neodigit API token",
+            "type": "string"
+         }
+      },
+      "name": "Neodigit"
+   },
+   "netcup": {
+      "fields": {
+         "NC_Apikey": {
+            "description": "The netcup API key",
+            "type": "string"
+         },
+         "NC_Apipw": {
+            "description": "The netcup API password",
+            "type": "string"
+         },
+         "NC_CID": {
+            "description": "The netcup customer number",
+            "type": "string"
+         }
+      },
+      "name": "netcup"
+   },
+   "netlify": {
+      "fields": {
+         "NETLIFY_ACCESS_TOKEN": {
+            "description": "The netlify access token",
+            "type": "string"
+         }
+      },
+      "name": "netlify"
+   },
+   "nic": {
+      "fields": {
+         "NIC_Username": {
+            "description": "The nic user",
+            "type": "string"
+         },
+         "NIC_Password": {
+            "description": "The nic password",
+            "type": "string"
+         },
+         "NIC_ClientID": {
+            "description": "The nic client ID",
+            "type": "string"
+         },
+         "NIC_ClientSecret": {
+            "description": "The nic client secret",
+            "type": "string"
+         }
+      },
+      "name": "nic"
+   },
+   "njalla": {
+      "fields": {
+         "NJALLA_Token": {
+            "description": "The Njalla API token",
+            "type": "string"
+         }
+      },
+      "name": "Njalla"
+   },
+   "nm": {
+      "fields": {
+         "NM_user": {
+            "description": "The Namemaster user",
+            "type": "string"
+         },
+         "NM_sha256": {
+            "description": "The Namemaster secret hash",
+            "type": "string"
+         }
+      },
+      "name": "Namemaster"
+   },
+   "nsd": {
+      "fields": {
+         "Nsd_ZoneFile": {
+            "description": "The path to NSD zonefile",
+            "type": "string"
+         },
+         "Nsd_Command": {
+            "description": "The command to reload nsd-control",
+            "type": "string"
+         }
+      },
+      "name": "NLnetLabs NSD"
+   },
+   "nsone": {
+      "fields": {
+         "NS1_Key": {
+            "description": "The NS1 API key",
+            "type": "string"
+         }
+      },
+      "name": "NS1"
+   },
+   "nsupdate": {
+      "fields": {
+         "NSUPDATE_KEY": {
+            "description": "Path to the nsupdate key file (TSIG key)",
+            "type": "string"
+         },
+         "NSUPDATE_SERVER": {
+            "description": "Hostname of the RFC 2136 compatible nameserver",
+            "type": "string"
+         },
+         "NSUPDATE_ZONE": {
+            "description": "DNS zone name (optional)",
+            "optional": 1,
+            "type": "string"
+         }
+      },
+      "name": "nsupdate (RFC 2136)"
+   },
+   "nw": {
+      "fields": {
+         "NW_API_TOKEN": {
+            "description": "The API token",
+            "type": "string"
+         },
+         "NW_API_ENDPOINT": {
+            "description": "The API endpoint",
+            "type": "string"
+         }
+      },
+      "name": "Thermo.io/Futurehosting.com/Nexcess.net"
+   },
+   "oci": {},
+   "omglol": {
+      "fields": {
+         "OMG_ApiKey": {
+            "description": "The omg.lol API key",
+            "type": "string"
+         },
+         "OMG_Address": {
+            "description": "The omg.lol address",
+            "type": "string"
+         }
+      },
+      "name": "omg.lol"
+   },
+   "one": {
+      "fields": {
+         "ONECOM_User": {
+            "description": "The one user",
+            "type": "string"
+         },
+         "ONECOM_Password": {
+            "description": "The one password",
+            "type": "string"
+         },
+         "ONECOM_KeepCnameProxy": {
+            "description": "Whether to keep the CNAME Proxy (1 | 0)",
+            "optional": 1,
+            "type": "integer"
+         }
+      },
+      "name": "one"
+   },
+   "online": {
+      "fields": {
+         "ONLINE_API_KEY": {
+            "description": "The Online API key",
+            "type": "string"
+         }
+      },
+      "name": "Online"
+   },
+   "openprovider": {
+      "fields": {
+         "OPENPROVIDER_REST_USERNAME": {
+            "description": "The OpenProvider user",
+            "type": "string"
+         },
+         "OPENPROVIDER_REST_PASSWORD": {
+            "description": "The OpenProvider password",
+            "type": "string"
+         }
+      },
+      "name": "OpenProvider"
+   },
+   "openstack": {
+      "fields": {
+         "OS_AUTH_URL": {
+            "description": "The OpenStack auth URL",
+            "type": "string"
+         },
+         "OS_USERNAME": {
+            "description": "The OpenStack user",
+            "type": "string"
+         },
+         "OS_PASSWORD": {
+            "description": "The OpenStack password",
+            "type": "string"
+         },
+         "OS_PROJECT_NAME": {
+            "description": "The OpenStack project name",
+            "type": "string"
+         },
+         "OS_PROJECT_DOMAIN_NAME": {
+            "description": "The OpenStack project domain name",
+            "default": "Default",
+            "type": "string"
+         },
+         "OS_USER_DOMAIN_NAME": {
+            "description": "The OpenStack user domain name",
+            "default": "Default",
+            "type": "string"
+         }
+      },
+      "name": "OpenStack"
+   },
+   "opnsense": {
+      "fields": {
+         "OPNs_Host": {
+            "description": "The OPNs host",
+            "type": "string"
+         },
+         "OPNs_Port": {
+            "description": "The OPNs port",
+            "default": 443,
+            "type": "integer"
+         },
+         "OPNs_Key": {
+            "description": "The OPNs API key",
+            "type": "string"
+         },
+         "OPNs_Token": {
+            "description": "The OPNs API token",
+            "type": "string"
+         },
+         "OPNs_Api_Insecure": {
+            "description": "(1 | 0)",
+            "default": 0,
+            "type": "integer"
+         }
+      },
+      "name": "OPNsense"
+   },
+   "ovh": {
+      "fields": {
+         "OVH_AK": {
+            "description": "The application key.",
+            "type": "string"
+         },
+         "OVH_AS": {
+            "description": "The application secret.",
+            "type": "string"
+         },
+         "OVH_CK": {
+            "description": "The consumer key.",
+            "optional": 1,
+            "type": "string"
+         },
+         "OVH_END_POINT": {
+            "default": "ovh-eu",
+            "description": "The OVH endpoint",
+            "optional": 1,
+            "type": "string"
+         }
+      },
+      "name": "OVH"
+   },
+   "pdns": {
+      "fields": {
+         "PDNS_ServerId": {
+            "type": "string"
+         },
+         "PDNS_Token": {
+            "type": "string"
+         },
+         "PDNS_Ttl": {
+            "type": "integer"
+         },
+         "PDNS_Url": {
+            "description": "The PowerDNS API endpoint.",
+            "type": "string"
+         }
+      },
+      "name": "PowerDNS server"
+   },
+   "pleskxml": {
+      "fields": {
+         "pleskxml_uri": {
+            "description": "The URI to the Plesk XML API",
+            "type": "string"
+         },
+         "pleskxml_user": {
+            "description": "The Plesk XML user",
+            "type": "string"
+         },
+         "pleskxml_pass": {
+            "description": "The Plesk XML password",
+            "type": "string"
+         }
+      },
+      "name": "Plesk XML"
+   },
+   "pointhq": {
+      "fields": {
+         "PointHQ_Key": {
+            "description": "The PointHQ API key",
+            "type": "string"
+         },
+         "PointHQ_Email": {
+            "description": "The PointHQ email",
+            "type": "string"
+         }
+      },
+      "name": "PointHQ"
+   },
+   "porkbun": {
+      "fields": {
+         "PORKBUN_API_KEY": {
+            "description": "The API Key",
+            "type": "string"
+         },
+         "PORKBUN_SECRET_API_KEY": {
+            "description": "The API Secret",
+            "type": "string"
+         }
+      },
+      "name": "Porkbun"
+   },
+   "rackcorp": {
+      "fields": {
+         "RACKCORP_APIUUID": {
+            "description": "The RackCorp API UUID",
+            "type": "string"
+         },
+         "RACKCORP_APISECRET": {
+            "description": "The RackCorp API secret",
+            "type": "string"
+         }
+      },
+      "name": "RackCorp"
+   },
+   "rackspace": {
+      "fields": {
+         "RACKSPACE_Username": {
+            "description": "The Rackspace user",
+            "type": "string"
+         },
+         "RACKSPACE_Apikey": {
+            "description": "The Rackspace API key",
+            "type": "string"
+         }
+      },
+      "name": "Rackspace"
+   },
+   "rage4": {
+      "fields": {
+         "RAGE4_USERNAME": {
+            "description": "The rage4 user",
+            "type": "string"
+         },
+         "RAGE4_TOKEN": {
+            "description": "The rage4 API token",
+            "type": "string"
+         }
+      },
+      "name": "rage4"
+   },
+   "rcode0": {
+      "fields": {
+         "RCODE0_API_TOKEN": {
+            "description": "The RcodeZero API token",
+            "type": "string"
+         },
+         "RCODE0_URL": {
+            "description": "The RcodeZero URL",
+            "optional": 1,
+            "type": "string"
+         },
+         "RCODE0_TTL": {
+            "description": "Time to live",
+            "optional": 1,
+            "type": "integer"
+         }
+      },
+      "name": "RcodeZero"
+   },
+   "regru": {
+      "fields": {
+         "REGRU_API_Username": {
+            "description": "The reg.ru user",
+            "type": "string"
+         },
+         "REGRU_API_Password": {
+            "description": "The reg.ru password",
+            "type": "string"
+         }
+      },
+      "name": "reg.ru"
+   },
+   "scaleway": {
+      "fields": {
+         "SCALEWAY_API_TOKEN": {
+            "description": "The Scaleway API token",
+            "type": "string"
+         }
+      },
+      "name": "Scaleway"
+   },
+   "schlundtech": {
+      "fields": {
+         "SCHLUNDTECH_USER": {
+            "description": "The Schlundtech user",
+            "type": "string"
+         },
+         "SCHLUNDTECH_PASSWORD": {
+            "description": "The Schlundtech password",
+            "type": "string"
+         }
+      },
+      "name": "Schlundtech"
+   },
+   "selectel": {
+      "fields": {
+         "SL_Key": {
+            "description": "The selectel API key (v1 LEGACY)",
+            "optional": 1,
+            "type": "string"
+         },
+         "SL_Ver": {
+            "default": "v2",
+            "description": "The selectel API version (v1 | v2)",
+            "optional": 1,
+            "type": "string"
+         },
+         "SL_Expire": {
+            "description": "Token lifetime in minutes (0-1440) (v2)",
+            "default": 14000,
+            "optional": 1,
+            "type": "integer"
+         },
+         "SL_Login_ID": {
+            "description": "The selectel account number (v2)",
+            "optional": 1,
+            "type": "string"
+         },
+         "SL_Project_Name": {
+            "description": "The selectel project name (v2)",
+            "optional": 1,
+            "type": "string"
+         },
+         "SL_Login_Name": {
+            "description": "The selectel user (v2)",
+            "optional": 1,
+            "type": "string"
+         },
+         "SL_Pswd": {
+            "description": "The selectel password (v2)",
+            "optional": 1,
+            "type": "string"
+         }
+      },
+      "name": "selectel"
+   },
+   "selfhost": {
+      "fields": {
+         "SELFHOSTDNS_USERNAME": {
+            "description": "The Selfhost user",
+            "type": "string"
+         },
+         "SELFHOSTDNS_PASSWORD": {
+            "description": "The Selfhost password",
+            "type": "string"
+         },
+         "SELFHOSTDNS_MAP": {
+            "description": "The Selfhost DNS map",
+            "type": "string"
+         }
+      },
+      "name": "Selfhost"
+   },
+   "servercow": {
+      "fields": {
+         "SERVERCOW_API_Username": {
+            "description": "The Servercow user",
+            "type": "string"
+         },
+         "SERVERCOW_API_Password": {
+            "description": "The Servercow password",
+            "type": "string"
+         }
+      },
+      "name": "Servercow"
+   },
+   "simply": {
+      "fields": {
+         "SIMPLY_AccountName": {
+            "description": "The simply account",
+            "type": "string"
+         },
+         "SIMPLY_ApiKey": {
+            "description": "The simply API key",
+            "type": "string"
+         }
+      },
+      "name": "simply"
+   },
+   "technitium": {
+      "fields": {
+         "Technitium_Server": {
+            "description": "The name server URL",
+            "type": "string"
+         },
+         "Technitium_Token": {
+            "description": "The Technitium API token",
+            "type": "string"
+         }
+      },
+      "name": "Technitium"
+   },
+   "tele3": {
+      "fields": {
+         "TELE3_Key": {
+            "description": "The TELE3 API key",
+            "type": "string"
+         },
+         "TELE3_Secret": {
+            "description": "The TELE3 API secret",
+            "type": "string"
+         }
+      },
+      "name": "TELE3"
+   },
+   "tencent": {
+      "fields": {
+         "Tencent_SecretId": {
+            "description": "The Tencent secret ID",
+            "type": "string"
+         },
+         "Tencent_SecretKey": {
+            "description": "The Tencent secret key",
+            "type": "string"
+         }
+      },
+      "name": "TencentCloud"
+   },
+   "timeweb": {
+      "fields": {
+         "TW_Token": {
+            "description": "The Timeweb API JWT token",
+            "type": "string"
+         }
+      },
+      "name": "Timeweb"
+   },
+   "transip": {
+      "fields": {
+         "TRANSIP_Username": {
+            "description": "The TransIP user",
+            "type": "string"
+         },
+         "TRANSIP_Key_File": {
+            "description": "The TransIP keyfile",
+            "type": "string"
+         },
+         "TRANSIP_Token_Global_Key": {
+            "optional": 1,
+            "type": "string"
+         }
+      },
+      "name": "TransIP"
+   },
+   "udr": {
+      "fields": {
+         "UDR_USER": {
+            "description": "The UDR user",
+            "type": "string"
+         },
+         "UDR_PASS": {
+            "description": "The UDR password",
+            "type": "string"
+         }
+      },
+      "name": "united-domains reselling"
+   },
+   "ultra": {
+      "fields": {
+         "ULTRA_USR": {
+            "description": "The UltraDNS user",
+            "type": "string"
+         },
+         "ULTRA_PWD": {
+            "description": "The UltraDNS password",
+            "type": "string"
+         }
+      },
+      "name": "UltraDNS"
+   },
+   "unoeuro": {},
+   "variomedia": {
+      "fields": {
+         "VARIOMEDIA_API_TOKEN": {
+            "description": "The variomedia API token",
+            "type": "string"
+         }
+      },
+      "name": "variomedia"
+   },
+   "veesp": {
+      "fields": {
+         "VEESP_User": {
+            "description": "The Veesp user",
+            "type": "string"
+         },
+         "VEESP_Password": {
+            "description": "The Veesp password",
+            "type": "string"
+         }
+      },
+      "name": "Veesp"
+   },
+   "vercel": {
+      "fields": {
+         "VERCEL_TOKEN": {
+            "description": "The Vercel API token",
+            "type": "string"
+         }
+      },
+      "name": "Vercel"
+   },
+   "vscale": {
+      "fields": {
+         "VSCALE_API_KEY": {
+            "description": "The VSCALE API key",
+            "type": "string"
+         }
+      },
+      "name": "VSCALE"
+   },
+   "vultr": {
+      "fields": {
+         "VULTR_API_KEY": {
+            "description": "The Vultr API key",
+            "type": "string"
+         }
+      },
+      "name": "Vultr"
+   },
+   "websupport": {
+      "fields": {
+         "WS_ApiKey": {
+            "description": "The Websupport API key",
+            "type": "string"
+         },
+         "WS_ApiSecret": {
+            "description": "The Websupport API secret",
+            "type": "string"
+         }
+      },
+      "name": "Websupport"
+   },
+   "west_cn": {
+      "fields": {
+         "WEST_Username": {
+            "description": "The West.cn user",
+            "type": "string"
+         },
+         "WEST_Key": {
+            "description": "The West.cn Encryption API key",
+            "type": "string"
+         }
+      },
+      "name": "West.cn"
+   },
+   "world4you": {
+      "fields": {
+         "WORLD4YOU_PASSWORD": {
+            "description": "The World4You password",
+            "type": "string"
+         },
+         "WORLD4YOU_USERNAME": {
+            "description": "The World4You customer ID or package ID",
+            "type": "string"
+         }
+      },
+      "name": "World4You"
+   },
+   "yandex360": {
+      "fields": {
+         "YANDEX360_CLIENT_ID": {
+            "description": "The Yandex 360 client ID (OAuth)",
+            "optional": 1,
+            "type": "string"
+         },
+         "YANDEX360_CLIENT_SECRET": {
+            "description": "The Yandex 360 client secret (OAuth)",
+            "optional": 1,
+            "type": "string"
+         },
+         "YANDEX360_ORG_ID": {
+            "description": "The Yandex 360 organization ID",
+            "optional": 1,
+            "type": "string"
+         },
+         "YANDEX360_ACCESS_TOKEN": {
+            "description": "The Yandex 360 access token (non-OAuth)",
+            "optional": 1,
+            "type": "string"
+         }
+      },
+      "name": "Yandex 360"
+   },
+   "yc": {
+      "fields": {
+         "YC_Folder_ID": {
+            "description": "The YC folder ID",
+            "type": "string"
+         },
+         "YC_SA_ID": {
+            "description": "The YC service account ID",
+            "type": "string"
+         },
+         "YC_SA_Key_ID": {
+            "description": "The YC service account IAM key ID",
+            "type": "string"
+         },
+         "YC_SA_Key_File_PEM_b64": {
+            "description": "The YC base64 encoded PEM",
+            "type": "string"
+         },
+         "YC_Zone_ID": {
+            "description": "The YC zone ID",
+            "optional": 1,
+            "type": "string"
+         }
+      },
+      "name": "Yandex Cloud"
+   },
+   "zilore": {
+      "fields": {
+         "Zilore_Key": {
+            "description": "The Zilore API key",
+            "type": "string"
+         }
+      },
+      "name": "Zilore"
+   },
+   "zone": {
+      "fields": {
+         "ZONE_Username": {
+            "description": "The Zone.ee user",
+            "type": "string"
+         },
+         "ZONE_Key": {
+            "description": "The Zone.ee API key",
+            "type": "string"
+         }
+      },
+      "name": "Zone.ee"
+   },
+   "zoneedit": {
+      "fields": {
+         "ZONEEDIT_ID": {
+            "description": "The ZoneEdit ID",
+            "type": "string"
+         },
+         "ZONEEDIT_Token": {
+            "description": "The ZoneEdit API token",
+            "type": "string"
+         }
+      },
+      "name": "ZoneEdit"
+   },
+   "zonomi": {
+      "fields": {
+         "ZM_Key": {
+            "description": "The zonomi API key",
+            "type": "string"
+         }
+      },
+      "name": "zonomi"
+   }
+}
\ No newline at end of file
-- 
2.47.3


_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel


      reply	other threads:[~2025-09-22 13:42 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-09-22 13:38 [pve-devel] [PATCH proxmox-acme 0/1] " n.frey
2025-09-22 13:38 ` n.frey [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250922134252.144392-2-n.frey@proxmox.com \
    --to=n.frey@proxmox.com \
    --cc=pve-devel@lists.proxmox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal