Skip to content
Snippets Groups Projects
Commit 77c6770b authored by Thomas Woerner's avatar Thomas Woerner
Browse files

ipadnsrecord: Fix documentation sections and agument spec

ansible-test with ansible-2.14 is adding a lot of new tests to ensure
that the documentation section and the agument spec is complete. Needed
changes:

DOCUMENTATION section

- `type: str` needs to be set for string parameters
- `type: list` needs to be set for list parameters
- `elements: str` needs to be given for list of string parameters
- `type: string` is not valid and needs to be replaced by `type: str`
- `suboptions` instead of `options` needs to be used for dict parameters
- `authors` needs to be given with the github user also: `Name (@user)`
- `choices` needs to match `argument_spec`
- `description` needs to match parameter
- all parameters need to be defined

argument_spec

- `elements="str"` needs to be added to all list of string parameters
- `no_log=False` or `no_log=True` needs to be set for all parameters
  that have `key` in the name or for dicts also in one the key names
- `elements="dict"` needs to be added to all list of dict parameters

The `copyright` date is extended with `-2022`.
parent 07c8bb1e
Branches
Tags
No related merge requests found
...@@ -2,8 +2,9 @@ ...@@ -2,8 +2,9 @@
# Authors: # Authors:
# Rafael Guterres Jeffman <rjeffman@redhat.com> # Rafael Guterres Jeffman <rjeffman@redhat.com>
# Thomas Woerner <twoerner@redhat.com>
# #
# Copyright (C) 2020 Red Hat # Copyright (C) 2020-2022 Red Hat
# see file 'COPYING' for use and warranty information # see file 'COPYING' for use and warranty information
# #
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify
...@@ -42,19 +43,24 @@ options: ...@@ -42,19 +43,24 @@ options:
records: records:
description: The list of user dns records dicts description: The list of user dns records dicts
required: false required: false
options: type: list
elements: dict
suboptions:
name: name:
description: The DNS record name to manage. description: The DNS record name to manage.
type: str
aliases: ["record_name"] aliases: ["record_name"]
required: true required: true
zone_name: zone_name:
description: | description: |
The DNS zone name to which DNS record needs to be managed. The DNS zone name to which DNS record needs to be managed.
Required if not provided globally. Required if not provided globally.
type: str
aliases: ["dnszone"] aliases: ["dnszone"]
required: false required: false
record_type: record_type:
description: The type of DNS record. description: The type of DNS record.
type: str
choices: ["A", "AAAA", "A6", "AFSDB", "CERT", "CNAME", "DLV", "DNAME", choices: ["A", "AAAA", "A6", "AFSDB", "CERT", "CNAME", "DLV", "DNAME",
"DS", "KX", "LOC", "MX", "NAPTR", "NS", "PTR", "SRV", "DS", "KX", "LOC", "MX", "NAPTR", "NS", "PTR", "SRV",
"SSHFP", "TLSA", "TXT", "URI"] "SSHFP", "TLSA", "TXT", "URI"]
...@@ -63,6 +69,7 @@ options: ...@@ -63,6 +69,7 @@ options:
description: Manage DNS record name with these values. description: Manage DNS record name with these values.
required: false required: false
type: list type: list
elements: str
record_ttl: record_ttl:
description: Set the TTL for the record. description: Set the TTL for the record.
required: false required: false
...@@ -73,92 +80,132 @@ options: ...@@ -73,92 +80,132 @@ options:
type: bool type: bool
a_rec: a_rec:
description: Raw A record. description: Raw A record.
type: list
elements: str
required: false required: false
aliases: ["a_record"] aliases: ["a_record"]
aaaa_rec: aaaa_rec:
description: Raw AAAA record. description: Raw AAAA record.
type: list
elements: str
required: false required: false
aliases: ["aaaa_record"] aliases: ["aaaa_record"]
a6_rec: a6_rec:
description: Raw A6 record. description: Raw A6 record.
type: list
elements: str
required: false required: false
aliases: ["a6_record"] aliases: ["a6_record"]
afsdb_rec: afsdb_rec:
description: Raw AFSDB record. description: Raw AFSDB record.
type: list
elements: str
required: false required: false
aliases: ["afsdb_record"] aliases: ["afsdb_record"]
cert_rec: cert_rec:
description: Raw CERT record. description: Raw CERT record.
type: list
elements: str
required: false required: false
aliases: ["cert_record"] aliases: ["cert_record"]
cname_rec: cname_rec:
description: Raw CNAME record. description: Raw CNAME record.
type: list
elements: str
required: false required: false
aliases: ["cname_record"] aliases: ["cname_record"]
dlv_rec: dlv_rec:
description: Raw DLV record. description: Raw DLV record.
type: list
elements: str
required: false required: false
aliases: ["dlv_record"] aliases: ["dlv_record"]
dname_rec: dname_rec:
description: Raw DNAM record. description: Raw DNAM record.
type: list
elements: str
required: false required: false
aliases: ["dname_record"] aliases: ["dname_record"]
ds_rec: ds_rec:
description: Raw DS record. description: Raw DS record.
type: list
elements: str
required: false required: false
aliases: ["ds_record"] aliases: ["ds_record"]
kx_rec: kx_rec:
description: Raw KX record. description: Raw KX record.
type: list
elements: str
required: false required: false
aliases: ["kx_record"] aliases: ["kx_record"]
loc_rec: loc_rec:
description: Raw LOC record. description: Raw LOC record.
type: list
elements: str
required: false required: false
aliases: ["loc_record"] aliases: ["loc_record"]
mx_rec: mx_rec:
description: Raw MX record. description: Raw MX record.
type: list
elements: str
required: false required: false
aliases: ["mx_record"] aliases: ["mx_record"]
naptr_rec: naptr_rec:
description: Raw NAPTR record. description: Raw NAPTR record.
type: list
elements: str
required: false required: false
aliases: ["naptr_record"] aliases: ["naptr_record"]
ns_rec: ns_rec:
description: Raw NS record. description: Raw NS record.
type: list
elements: str
required: false required: false
aliases: ["ns_record"] aliases: ["ns_record"]
ptr_rec: ptr_rec:
description: Raw PTR record. description: Raw PTR record.
type: list
elements: str
required: false required: false
aliases: ["ptr_record"] aliases: ["ptr_record"]
srv_rec: srv_rec:
description: Raw SRV record. description: Raw SRV record.
type: list
elements: str
required: false required: false
aliases: ["srv_record"] aliases: ["srv_record"]
sshfp_rec: sshfp_rec:
description: Raw SSHFP record. description: Raw SSHFP record.
type: list
elements: str
required: false required: false
aliases: ["sshfp_record"] aliases: ["sshfp_record"]
tlsa_rec: tlsa_rec:
description: Raw TLSA record. description: Raw TLSA record.
type: list
elements: str
required: false required: false
aliases: ["tlsa_record"] aliases: ["tlsa_record"]
txt_rec: txt_rec:
description: Raw TXT record. description: Raw TXT record.
type: list
elements: str
required: false required: false
aliases: ["txt_record"] aliases: ["txt_record"]
uri_rec: uri_rec:
description: Raw URI record. description: Raw URI record.
type: list
elements: str
required: false required: false
aliases: ["uri_record"] aliases: ["uri_record"]
ip_address: ip_address:
description: IP adresses for A or AAAA records. description: IP adresses for A or AAAA records.
required: false required: false
type: string type: str
a_ip_address: a_ip_address:
description: IP adresses for A records. description: IP adresses for A records.
required: false required: false
type: string type: str
a_create_reverse: a_create_reverse:
description: | description: |
Create reverse record for A records. Create reverse record for A records.
...@@ -168,7 +215,7 @@ options: ...@@ -168,7 +215,7 @@ options:
aaaa_ip_address: aaaa_ip_address:
description: IP adresses for AAAA records. description: IP adresses for AAAA records.
required: false required: false
type: string type: str
aaaa_create_reverse: aaaa_create_reverse:
description: | description: |
Create reverse record for AAAA records. Create reverse record for AAAA records.
...@@ -185,6 +232,7 @@ options: ...@@ -185,6 +232,7 @@ options:
a6_data: a6_data:
description: A6 record data. description: A6 record data.
required: false required: false
type: str
afsdb_subtype: afsdb_subtype:
description: AFSDB Subtype description: AFSDB Subtype
required: false required: false
...@@ -192,7 +240,7 @@ options: ...@@ -192,7 +240,7 @@ options:
afsdb_hostname: afsdb_hostname:
description: AFSDB Hostname description: AFSDB Hostname
required: false required: false
type: string type: str
cert_type: cert_type:
description: CERT Certificate Type description: CERT Certificate Type
required: false required: false
...@@ -208,13 +256,13 @@ options: ...@@ -208,13 +256,13 @@ options:
cert_certificate_or_crl: cert_certificate_or_crl:
description: CERT Certificate or Certificate Revocation List (CRL). description: CERT Certificate or Certificate Revocation List (CRL).
required: false required: false
type: string type: str
cname_hostname: cname_hostname:
description: A hostname which this alias hostname points to. description: A hostname which this alias hostname points to.
required: false required: false
type: string type: str
dlv_key_tag: dlv_key_tag:
description: DS Key Tag description: DLV Key Tag
required: false required: false
type: int type: int
dlv_algorithm: dlv_algorithm:
...@@ -228,11 +276,11 @@ options: ...@@ -228,11 +276,11 @@ options:
dlv_digest: dlv_digest:
description: DLV Digest description: DLV Digest
required: false required: false
type: string type: str
dname_target: dname_target:
description: DNAME Target description: DNAME Target
required: false required: false
type: string type: str
ds_key_tag: ds_key_tag:
description: DS Key Tag description: DS Key Tag
required: false required: false
...@@ -248,7 +296,7 @@ options: ...@@ -248,7 +296,7 @@ options:
ds_digest: ds_digest:
description: DS Digest description: DS Digest
required: false required: false
type: string type: str
kx_preference: kx_preference:
description: | description: |
Preference given to this exchanger. Lower values are more preferred. Preference given to this exchanger. Lower values are more preferred.
...@@ -257,7 +305,7 @@ options: ...@@ -257,7 +305,7 @@ options:
kx_exchanger: kx_exchanger:
description: A host willing to act as a key exchanger. description: A host willing to act as a key exchanger.
required: false required: false
type: string type: str
loc_lat_deg: loc_lat_deg:
description: LOC Degrees Latitude description: LOC Degrees Latitude
required: false required: false
...@@ -274,6 +322,7 @@ options: ...@@ -274,6 +322,7 @@ options:
description: LOC Direction Latitude description: LOC Direction Latitude
required: false required: false
choices: ["N", "S"] choices: ["N", "S"]
type: str
loc_lon_deg: loc_lon_deg:
description: LOC Degrees Longitude description: LOC Degrees Longitude
required: false required: false
...@@ -290,6 +339,7 @@ options: ...@@ -290,6 +339,7 @@ options:
description: LOC Direction Longitude description: LOC Direction Longitude
required: false required: false
choices: ["E", "W"] choices: ["E", "W"]
type: str
loc_altitude: loc_altitude:
description: LOC Altitude description: LOC Altitude
required: false required: false
...@@ -314,7 +364,7 @@ options: ...@@ -314,7 +364,7 @@ options:
mx_exchanger: mx_exchanger:
description: A host willing to act as a mail exchanger. description: A host willing to act as a mail exchanger.
required: false required: false
type: string type: str
naptr_order: naptr_order:
description: NAPTR Order description: NAPTR Order
required: false required: false
...@@ -326,27 +376,27 @@ options: ...@@ -326,27 +376,27 @@ options:
naptr_flags: naptr_flags:
description: NAPTR Flags description: NAPTR Flags
required: false required: false
type: string type: str
naptr_service: naptr_service:
description: NAPTR Service description: NAPTR Service
required: false required: false
type: string type: str
naptr_regexp: naptr_regexp:
description: NAPTR Regular Expression description: NAPTR Regular Expression
required: false required: false
type: string type: str
naptr_replacement: naptr_replacement:
description: NAPTR Replacement description: NAPTR Replacement
required: false required: false
type: string type: str
ns_hostname: ns_hostname:
description: NS Hostname description: NS Hostname
required: false required: false
type: string type: str
ptr_hostname: ptr_hostname:
description: The hostname this reverse record points to. description: The hostname this reverse record points to.
required: false required: false
type: string type: str
srv_priority: srv_priority:
description: | description: |
Lower number means higher priority. Clients will attempt to contact Lower number means higher priority. Clients will attempt to contact
...@@ -366,7 +416,7 @@ options: ...@@ -366,7 +416,7 @@ options:
The domain name of the target host or '.' if the service is decidedly The domain name of the target host or '.' if the service is decidedly
not available at this domain. not available at this domain.
required: false required: false
type: string type: str
sshfp_algorithm: sshfp_algorithm:
description: SSHFP Algorithm description: SSHFP Algorithm
required: False required: False
...@@ -378,11 +428,11 @@ options: ...@@ -378,11 +428,11 @@ options:
sshfp_fingerprint: sshfp_fingerprint:
description: SSHFP Fingerprint description: SSHFP Fingerprint
required: False required: False
type: string type: str
txt_data: txt_data:
description: TXT Text Data description: TXT Text Data
required: false required: false
type: string type: str
tlsa_cert_usage: tlsa_cert_usage:
description: TLSA Certificate Usage description: TLSA Certificate Usage
required: false required: false
...@@ -398,11 +448,11 @@ options: ...@@ -398,11 +448,11 @@ options:
tlsa_cert_association_data: tlsa_cert_association_data:
description: TLSA Certificate Association Data description: TLSA Certificate Association Data
required: false required: false
type: string type: str
uri_target: uri_target:
description: Target Uniform Resource Identifier according to RFC 3986. description: Target Uniform Resource Identifier according to RFC 3986.
required: false required: false
type: string type: str
uri_priority: uri_priority:
description: | description: |
Lower number means higher priority. Clients will attempt to contact Lower number means higher priority. Clients will attempt to contact
...@@ -413,27 +463,31 @@ options: ...@@ -413,27 +463,31 @@ options:
description: Relative weight for entries with the same priority. description: Relative weight for entries with the same priority.
required: false required: false
type: int type: int
name:
description: The DNS record name to manage.
type: list
elements: str
aliases: ["record_name"]
required: false
zone_name: zone_name:
description: | description: |
The DNS zone name to which DNS record needs to be managed. The DNS zone name to which DNS record needs to be managed.
Required if not provided globally. Required if not provided globally.
type: str
aliases: ["dnszone"] aliases: ["dnszone"]
required: false required: false
name:
description: The DNS record name to manage.
aliases: ["record_name"]
required: true
record_type: record_type:
description: The type of DNS record. description: The type of DNS record.
required: false type: str
choices: ["A", "AAAA", "A6", "AFSDB", "CERT", "CNAME", "DLV", "DNAME", choices: ["A", "AAAA", "A6", "AFSDB", "CERT", "CNAME", "DLV", "DNAME",
"DS", "KX", "LOC", "MX", "NAPTR", "NS", "PTR", "SRV", "SSHFP", "DS", "KX", "LOC", "MX", "NAPTR", "NS", "PTR", "SRV",
"TLSA", "TXT", "URI"] "SSHFP", "TLSA", "TXT", "URI"]
default: "A" default: "A"
record_value: record_value:
description: Manage DNS record name with this values. description: Manage DNS record name with these values.
required: false required: false
type: list type: list
elements: str
record_ttl: record_ttl:
description: Set the TTL for the record. description: Set the TTL for the record.
required: false required: false
...@@ -444,99 +498,132 @@ options: ...@@ -444,99 +498,132 @@ options:
type: bool type: bool
a_rec: a_rec:
description: Raw A record. description: Raw A record.
type: list
elements: str
required: false required: false
aliases: ["a_record"] aliases: ["a_record"]
aaaa_rec: aaaa_rec:
description: Raw AAAA record. description: Raw AAAA record.
type: list
elements: str
required: false required: false
aliases: ["aaaa_record"] aliases: ["aaaa_record"]
a6_rec: a6_rec:
description: Raw A6 record. description: Raw A6 record.
type: list
elements: str
required: false required: false
aliases: ["a6_record"] aliases: ["a6_record"]
afsdb_rec: afsdb_rec:
description: Raw AFSDB record. description: Raw AFSDB record.
type: list
elements: str
required: false required: false
aliases: ["afsdb_record"] aliases: ["afsdb_record"]
cert_rec: cert_rec:
description: Raw CERT record. description: Raw CERT record.
type: list
elements: str
required: false required: false
aliases: ["cert_record"] aliases: ["cert_record"]
cname_rec: cname_rec:
description: Raw CNAME record. description: Raw CNAME record.
type: list
elements: str
required: false required: false
aliases: ["cname_record"] aliases: ["cname_record"]
dlv_rec: dlv_rec:
description: Raw DLV record. description: Raw DLV record.
type: list
elements: str
required: false required: false
aliases: ["dlv_record"] aliases: ["dlv_record"]
dname_rec: dname_rec:
description: Raw DNAM record. description: Raw DNAM record.
type: list
elements: str
required: false required: false
aliases: ["dname_record"] aliases: ["dname_record"]
ds_rec: ds_rec:
description: Raw DS record. description: Raw DS record.
type: list
elements: str
required: false required: false
aliases: ["ds_record"] aliases: ["ds_record"]
kx_rec: kx_rec:
description: Raw KX record. description: Raw KX record.
type: list
elements: str
required: false required: false
aliases: ["kx_record"] aliases: ["kx_record"]
loc_rec: loc_rec:
description: Raw LOC record. description: Raw LOC record.
type: list
elements: str
required: false required: false
aliases: ["loc_record"] aliases: ["loc_record"]
mx_rec: mx_rec:
description: Raw MX record. description: Raw MX record.
type: list
elements: str
required: false required: false
aliases: ["mx_record"] aliases: ["mx_record"]
naptr_rec: naptr_rec:
description: Raw NAPTR record. description: Raw NAPTR record.
type: list
elements: str
required: false required: false
aliases: ["naptr_record"] aliases: ["naptr_record"]
ns_rec: ns_rec:
description: Raw NS record. description: Raw NS record.
type: list
elements: str
required: false required: false
aliases: ["ns_record"] aliases: ["ns_record"]
ptr_rec: ptr_rec:
description: Raw PTR record. description: Raw PTR record.
type: list
elements: str
required: false required: false
aliases: ["ptr_record"] aliases: ["ptr_record"]
srv_rec: srv_rec:
description: Raw SRV record. description: Raw SRV record.
type: list
elements: str
required: false required: false
aliases: ["srv_record"] aliases: ["srv_record"]
sshfp_rec: sshfp_rec:
description: Raw SSHFP record. description: Raw SSHFP record.
type: list
elements: str
required: false required: false
aliases: ["sshfp_record"] aliases: ["sshfp_record"]
tlsa_rec: tlsa_rec:
description: Raw TLSA record. description: Raw TLSA record.
type: list
elements: str
required: false required: false
aliases: ["tlsa_record"] aliases: ["tlsa_record"]
txt_rec: txt_rec:
description: Raw TXT record. description: Raw TXT record.
type: list
elements: str
required: false required: false
aliases: ["txt_record"] aliases: ["txt_record"]
uri_rec: uri_rec:
description: Raw URI record. description: Raw URI record.
type: list
elements: str
required: false required: false
aliases: ["uri_record"] aliases: ["uri_record"]
ip_address: ip_address:
description: IP adresses for A ar AAAA. description: IP adresses for A or AAAA records.
required: false
type: string
create_reverse:
description: |
Create reverse record for A or AAAA record types.
There is no equivalent to remove reverse records.
type: bool
required: false required: false
aliases: ["reverse"] type: str
a_ip_address: a_ip_address:
description: IP adresses for A records. description: IP adresses for A records.
required: false required: false
type: string type: str
a_create_reverse: a_create_reverse:
description: | description: |
Create reverse record for A records. Create reverse record for A records.
...@@ -546,13 +633,24 @@ options: ...@@ -546,13 +633,24 @@ options:
aaaa_ip_address: aaaa_ip_address:
description: IP adresses for AAAA records. description: IP adresses for AAAA records.
required: false required: false
type: string type: str
aaaa_create_reverse: aaaa_create_reverse:
description: | description: |
Create reverse record for AAAA records. Create reverse record for AAAA records.
There is no equivalent to remove reverse records. There is no equivalent to remove reverse records.
type: bool type: bool
required: false required: false
create_reverse:
description: |
Create reverse record for A or AAAA record types.
There is no equivalent to remove reverse records.
type: bool
required: false
aliases: ["reverse"]
a6_data:
description: A6 record data.
required: false
type: str
afsdb_subtype: afsdb_subtype:
description: AFSDB Subtype description: AFSDB Subtype
required: false required: false
...@@ -560,7 +658,7 @@ options: ...@@ -560,7 +658,7 @@ options:
afsdb_hostname: afsdb_hostname:
description: AFSDB Hostname description: AFSDB Hostname
required: false required: false
type: string type: str
cert_type: cert_type:
description: CERT Certificate Type description: CERT Certificate Type
required: false required: false
...@@ -574,13 +672,13 @@ options: ...@@ -574,13 +672,13 @@ options:
required: false required: false
type: int type: int
cert_certificate_or_crl: cert_certificate_or_crl:
description: CERT Certificate/CRL description: CERT Certificate or Certificate Revocation List (CRL).
required: false required: false
type: string type: str
cname_hostname: cname_hostname:
description: A hostname which this alias hostname points to. description: A hostname which this alias hostname points to.
required: false required: false
type: string type: str
dlv_key_tag: dlv_key_tag:
description: DS Key Tag description: DS Key Tag
required: false required: false
...@@ -596,11 +694,11 @@ options: ...@@ -596,11 +694,11 @@ options:
dlv_digest: dlv_digest:
description: DLV Digest description: DLV Digest
required: false required: false
type: string type: str
dname_target: dname_target:
description: DNAME Target description: DNAME Target
required: false required: false
type: string type: str
ds_key_tag: ds_key_tag:
description: DS Key Tag description: DS Key Tag
required: false required: false
...@@ -616,7 +714,7 @@ options: ...@@ -616,7 +714,7 @@ options:
ds_digest: ds_digest:
description: DS Digest description: DS Digest
required: false required: false
type: string type: str
kx_preference: kx_preference:
description: | description: |
Preference given to this exchanger. Lower values are more preferred. Preference given to this exchanger. Lower values are more preferred.
...@@ -625,7 +723,7 @@ options: ...@@ -625,7 +723,7 @@ options:
kx_exchanger: kx_exchanger:
description: A host willing to act as a key exchanger. description: A host willing to act as a key exchanger.
required: false required: false
type: string type: str
loc_lat_deg: loc_lat_deg:
description: LOC Degrees Latitude description: LOC Degrees Latitude
required: false required: false
...@@ -642,6 +740,7 @@ options: ...@@ -642,6 +740,7 @@ options:
description: LOC Direction Latitude description: LOC Direction Latitude
required: false required: false
choices: ["N", "S"] choices: ["N", "S"]
type: str
loc_lon_deg: loc_lon_deg:
description: LOC Degrees Longitude description: LOC Degrees Longitude
required: false required: false
...@@ -658,6 +757,7 @@ options: ...@@ -658,6 +757,7 @@ options:
description: LOC Direction Longitude description: LOC Direction Longitude
required: false required: false
choices: ["E", "W"] choices: ["E", "W"]
type: str
loc_altitude: loc_altitude:
description: LOC Altitude description: LOC Altitude
required: false required: false
...@@ -682,7 +782,7 @@ options: ...@@ -682,7 +782,7 @@ options:
mx_exchanger: mx_exchanger:
description: A host willing to act as a mail exchanger. description: A host willing to act as a mail exchanger.
required: false required: false
type: string type: str
naptr_order: naptr_order:
description: NAPTR Order description: NAPTR Order
required: false required: false
...@@ -694,31 +794,31 @@ options: ...@@ -694,31 +794,31 @@ options:
naptr_flags: naptr_flags:
description: NAPTR Flags description: NAPTR Flags
required: false required: false
type: string type: str
naptr_service: naptr_service:
description: NAPTR Service description: NAPTR Service
required: false required: false
type: string type: str
naptr_regexp: naptr_regexp:
description: NAPTR Regular Expression description: NAPTR Regular Expression
required: false required: false
type: string type: str
naptr_replacement: naptr_replacement:
description: NAPTR Replacement description: NAPTR Replacement
required: false required: false
type: string type: str
ns_hostname: ns_hostname:
description: NS Hostname description: NS Hostname
required: false required: false
type: string type: str
ptr_hostname: ptr_hostname:
description: The hostname this reverse record points to. description: The hostname this reverse record points to.
required: false required: false
type: string type: str
srv_priority: srv_priority:
description: | description: |
Lower number means higher priority. Clients will attempt to contact the Lower number means higher priority. Clients will attempt to contact
server with the lowest-numbered priority they can reach. the server with the lowest-numbered priority they can reach.
required: false required: false
type: int type: int
srv_weight: srv_weight:
...@@ -731,26 +831,26 @@ options: ...@@ -731,26 +831,26 @@ options:
type: int type: int
srv_target: srv_target:
description: | description: |
The domain name of the target host or '.' if the service is decidedly not The domain name of the target host or '.' if the service is decidedly
available at this domain. not available at this domain.
required: false required: false
type: string type: str
sshfp_algorithm: sshfp_algorithm:
description: SSHFP Algorithm description: SSHFP Algorithm
required: false required: False
type: int type: int
sshfp_fp_type: sshfp_fp_type:
description: SSHFP Fingerprint Type description: SSHFP Fingerprint Type
required: false required: False
type: int type: int
sshfp_fingerprint: sshfp_fingerprint:
description: SSHFP Fingerprint description: SSHFP Fingerprint
required: false required: False
type: string type: str
txt_data: txt_data:
description: TXT Text Data description: TXT Text Data
required: false required: false
type: string type: str
tlsa_cert_usage: tlsa_cert_usage:
description: TLSA Certificate Usage description: TLSA Certificate Usage
required: false required: false
...@@ -766,15 +866,15 @@ options: ...@@ -766,15 +866,15 @@ options:
tlsa_cert_association_data: tlsa_cert_association_data:
description: TLSA Certificate Association Data description: TLSA Certificate Association Data
required: false required: false
type: string type: str
uri_target: uri_target:
description: Target Uniform Resource Identifier according to RFC 3986. description: Target Uniform Resource Identifier according to RFC 3986.
required: false required: false
type: string type: str
uri_priority: uri_priority:
description: | description: |
Lower number means higher priority. Clients will attempt to contact the Lower number means higher priority. Clients will attempt to contact
URI with the lowest-numbered priority they can reach. the URI with the lowest-numbered priority they can reach.
required: false required: false
type: int type: int
uri_weight: uri_weight:
...@@ -783,11 +883,12 @@ options: ...@@ -783,11 +883,12 @@ options:
type: int type: int
state: state:
description: State to ensure description: State to ensure
type: str
default: present default: present
choices: ["present", "absent"] choices: ["present", "absent", "disabled"]
author: author:
- Rafael Guterres Jeffman - Rafael Guterres Jeffman (@rjeffman)
- Thomas Woerner (@t-woerner)
""" """
EXAMPLES = """ EXAMPLES = """
...@@ -1020,29 +1121,49 @@ def configure_module(): ...@@ -1020,29 +1121,49 @@ def configure_module():
"DLV", "DNAME", "DS", "KX", "LOC", "MX", "DLV", "DNAME", "DS", "KX", "LOC", "MX",
"NAPTR", "NS", "PTR", "SRV", "SSHFP", "TLSA", "NAPTR", "NS", "PTR", "SRV", "SSHFP", "TLSA",
"TXT", "URI"]), "TXT", "URI"]),
record_value=dict(type='list', required=False), record_value=dict(type='list', elements='str', required=False),
record_ttl=dict(type='int', required=False), record_ttl=dict(type='int', required=False),
del_all=dict(type='bool', required=False), del_all=dict(type='bool', required=False),
a_rec=dict(type='list', required=False, aliases=['a_record']), a_rec=dict(type='list', elements='str', required=False,
aaaa_rec=dict(type='list', required=False, aliases=['aaaa_record']), aliases=['a_record']),
a6_rec=dict(type='list', required=False, aliases=['a6_record']), aaaa_rec=dict(type='list', elements='str', required=False,
afsdb_rec=dict(type='list', required=False, aliases=['afsdb_record']), aliases=['aaaa_record']),
cert_rec=dict(type='list', required=False, aliases=['cert_record']), a6_rec=dict(type='list', elements='str', required=False,
cname_rec=dict(type='list', required=False, aliases=['cname_record']), aliases=['a6_record']),
dlv_rec=dict(type='list', required=False, aliases=['dlv_record']), afsdb_rec=dict(type='list', elements='str', required=False,
dname_rec=dict(type='list', required=False, aliases=['dname_record']), aliases=['afsdb_record']),
ds_rec=dict(type='list', required=False, aliases=['ds_record']), cert_rec=dict(type='list', elements='str', required=False,
kx_rec=dict(type='list', required=False, aliases=['kx_record']), aliases=['cert_record']),
loc_rec=dict(type='list', required=False, aliases=['loc_record']), cname_rec=dict(type='list', elements='str', required=False,
mx_rec=dict(type='list', required=False, aliases=['mx_record']), aliases=['cname_record']),
naptr_rec=dict(type='list', required=False, aliases=['naptr_record']), dlv_rec=dict(type='list', elements='str', required=False,
ns_rec=dict(type='list', required=False, aliases=['ns_record']), aliases=['dlv_record']),
ptr_rec=dict(type='list', required=False, aliases=['ptr_record']), dname_rec=dict(type='list', elements='str', required=False,
srv_rec=dict(type='list', required=False, aliases=['srv_record']), aliases=['dname_record']),
sshfp_rec=dict(type='list', required=False, aliases=['sshfp_record']), ds_rec=dict(type='list', elements='str', required=False,
tlsa_rec=dict(type='list', required=False, aliases=['tlsa_record']), aliases=['ds_record']),
txt_rec=dict(type='list', required=False, aliases=['txt_record']), kx_rec=dict(type='list', elements='str', required=False,
uri_rec=dict(type='list', required=False, aliases=['uri_record']), aliases=['kx_record']),
loc_rec=dict(type='list', elements='str', required=False,
aliases=['loc_record']),
mx_rec=dict(type='list', elements='str', required=False,
aliases=['mx_record']),
naptr_rec=dict(type='list', elements='str', required=False,
aliases=['naptr_record']),
ns_rec=dict(type='list', elements='str', required=False,
aliases=['ns_record']),
ptr_rec=dict(type='list', elements='str', required=False,
aliases=['ptr_record']),
srv_rec=dict(type='list', elements='str', required=False,
aliases=['srv_record']),
sshfp_rec=dict(type='list', elements='str', required=False,
aliases=['sshfp_record']),
tlsa_rec=dict(type='list', elements='str', required=False,
aliases=['tlsa_record']),
txt_rec=dict(type='list', elements='str', required=False,
aliases=['txt_record']),
uri_rec=dict(type='list', elements='str', required=False,
aliases=['uri_record']),
ip_address=dict(type='str', required=False), ip_address=dict(type='str', required=False),
create_reverse=dict(type='bool', required=False, aliases=['reverse']), create_reverse=dict(type='bool', required=False, aliases=['reverse']),
a_ip_address=dict(type='str', required=False), a_ip_address=dict(type='str', required=False),
...@@ -1053,16 +1174,16 @@ def configure_module(): ...@@ -1053,16 +1174,16 @@ def configure_module():
afsdb_subtype=dict(type='int', required=False), afsdb_subtype=dict(type='int', required=False),
afsdb_hostname=dict(type='str', required=False), afsdb_hostname=dict(type='str', required=False),
cert_type=dict(type='int', required=False), cert_type=dict(type='int', required=False),
cert_key_tag=dict(type='int', required=False), cert_key_tag=dict(type='int', required=False, no_log=True),
cert_algorithm=dict(type='int', required=False), cert_algorithm=dict(type='int', required=False),
cert_certificate_or_crl=dict(type='str', required=False), cert_certificate_or_crl=dict(type='str', required=False),
cname_hostname=dict(type='str', required=False), cname_hostname=dict(type='str', required=False),
dlv_key_tag=dict(type='int', required=False), dlv_key_tag=dict(type='int', required=False, no_log=True),
dlv_algorithm=dict(type='int', required=False), dlv_algorithm=dict(type='int', required=False),
dlv_digest_type=dict(type='int', required=False), dlv_digest_type=dict(type='int', required=False),
dlv_digest=dict(type='str', required=False), dlv_digest=dict(type='str', required=False),
dname_target=dict(type='str', required=False), dname_target=dict(type='str', required=False),
ds_key_tag=dict(type='int', required=False), ds_key_tag=dict(type='int', required=False, no_log=True),
ds_algorithm=dict(type='int', required=False), ds_algorithm=dict(type='int', required=False),
ds_digest_type=dict(type='int', required=False), ds_digest_type=dict(type='int', required=False),
ds_digest=dict(type='str', required=False), ds_digest=dict(type='str', required=False),
...@@ -1071,11 +1192,11 @@ def configure_module(): ...@@ -1071,11 +1192,11 @@ def configure_module():
loc_lat_deg=dict(type='int', required=False), loc_lat_deg=dict(type='int', required=False),
loc_lat_min=dict(type='int', required=False), loc_lat_min=dict(type='int', required=False),
loc_lat_sec=dict(type='float', required=False), loc_lat_sec=dict(type='float', required=False),
loc_lat_dir=dict(type='str', required=False), loc_lat_dir=dict(type='str', required=False, choices=["N", "S"]),
loc_lon_deg=dict(type='int', required=False), loc_lon_deg=dict(type='int', required=False),
loc_lon_min=dict(type='int', required=False), loc_lon_min=dict(type='int', required=False),
loc_lon_sec=dict(type='float', required=False), loc_lon_sec=dict(type='float', required=False),
loc_lon_dir=dict(type='str', required=False), loc_lon_dir=dict(type='str', required=False, choices=["E", "W"]),
loc_altitude=dict(type='float', required=False), loc_altitude=dict(type='float', required=False),
loc_size=dict(type='float', required=False), loc_size=dict(type='float', required=False),
loc_h_precision=dict(type='float', required=False), loc_h_precision=dict(type='float', required=False),
...@@ -1110,10 +1231,14 @@ def configure_module(): ...@@ -1110,10 +1231,14 @@ def configure_module():
ansible_module = IPAAnsibleModule( ansible_module = IPAAnsibleModule(
argument_spec=dict( argument_spec=dict(
# general # general
name=dict(type="list", aliases=["record_name"], default=None, name=dict(type="list", elements="str", aliases=["record_name"],
required=False), default=None, required=False),
# Use elements="str" and not elements="dict" for records:
# elements="dict" will create dicts with all unused parameters
# set to None. This breaks the module logic.
records=dict(type="list", records=dict(type="list",
elements="dict",
default=None, default=None,
options=dict( options=dict(
# Here name is a simple string # Here name is a simple string
...@@ -1444,6 +1569,14 @@ def main(): ...@@ -1444,6 +1569,14 @@ def main():
msg="Only one record can be added at a time.") msg="Only one record can be added at a time.")
if records is not None: if records is not None:
# Remove all keys that have a None value from the dicts in records
# list.
# This is needed after setting elements="dict" for records and makes
# it behave like before with elements=None.
for record in records:
for key in list(record):
if record[key] is None:
del record[key]
names = records names = records
# Init # Init
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment