Update to https://github.com/acmesh-official/acme.sh/issues/799 for per-domain auth conf storage.
_readdnsapiconf() <Item Key>
- Prefers the values stored in the domainconf over the accountconf[_mutable] if it exists in both places.
- After first new/update save with _savednsapiconf() it will be stored in the domainconf (and the original acctconf* location if applicable) that's where this function will find the value and the entry in the accountconf* will be obsolete/unused.
_savednsapiconf() <Item Key> <Item Value>
- "Migrate"/save the auth provided by env var or from accountconf[_mutable] to domainconf for future use. Update it in the original account location for backward compatibility if necessary.
1. These wrappers don't update the environment variable like the _getdeployconf(), they read from arg, emit text.
2. The keys saved through the save wrapper are named in mutable form with "SAVED_" prefix.
3. The DNS API Dev Guide (https://github.com/acmesh-official/acme.sh/wiki/DNS-API-Dev-Guide) will need to be updated for the new functions
dns_cf.sh dnsapi script for cloudflare updated as an example.
This provider relies on the the python-openstackclient and
python-designateclient tools be installed and working, with
either password or application credentials loaded in your env.
$fulldomain could be just 'domain.duckdns.org' if provided with --domain-alias or '_acme-challenge.domain.duckdns.org' otherwise. In the latter case, '_acme-challenge' is thrown away. Correctly extract 'domain' in both cases.
The current call uses the /domains end-point which lists all domains.
This only returns 100 domains at a time, so for long domain lists you
may not match and find the required ID.
Switch to using the search interface that only returns values matching
the requested domain. This will avoid missing results.
Reported by @jjamfd.
Closes: #2944