Cloudflare's DNS API deals with the case insensitivy of DNS names and
IPv6 addresses by forcing them into lower case. To properly be able to
detect changes the Ansible module needs to behave accordingly.
To what extent the API expects sent DNS names to be lower case varies
between record types. Yet, since sending lower case always works, and
since we always get lower case back, it feels cleanest to use lower
case for all DNS names.
* Update cloudflare_dns account link
* Add SSHFP and TLSA records to cloudflare_dns module
These are record types which Cloudflare recently added support
for. They both go well together with DNSSEC.
Technically it's a bit of a simplification to use the hash_type
parameter for TLSA records. Yet, it fits with all the real world usage
I have seen, and it keeps the module from sprawling too much.
Related to #43803
* The JSONDecodeError exception only exists in Python 3.
* Without a properly parsed JSON response there is no more error
processing to be done, no matter the http response code.
Relates to #38178
This module is mostly written to make room for the option of not
setting the `value` parameter while `state=absent`. That choice being
a feature, since it allows both for the removal of individual records
as well as the removal of full record sets.
The opposite goes for the `record` parameter, which needs to be defined
at least by its default value for the module to be able to produce any
meaningful result. Hence making it explicit as part of required_if.
The MX record type is already plenty covered. In addition to the
priority parameter having a default value, the `ensure_dns_record`
method does its own parameter checking.
SRV records on the other hand do need additional parameter
checking. Primarily with the `delete_dns_records` method in mind.
Fixes#23957
* fixed .loads error for non decoded json in Python 3
* fixed .loads error Python 3.5 - refactor code to one line
* fixed .loads error python 3.5 - mod to use to_text instead of .decode as per reviewer comment
* Split modules/network into two parts
Given the dedicated team we we have working on Ansible Networking a
clearer split is needed between Networking modules and "things that
happen to use the network"
* nmcli to net_tools
* nmcli moved