refactor: replace verbose flag with Ansible verbosity (-v) flag
- Remove custom 'verbose' parameter from module - Use Ansible's built-in verbosity setting (module._verbosity) - Verbose output now shown with -v, -vv, -vvv flags - Add notes to DOCUMENTATION explaining -v flag usage - Update all examples to remove verbose: true parameter - Update all documentation to mention -v flag instead - Simplifies module interface by leveraging Ansible conventions
This commit is contained in:
@@ -100,7 +100,6 @@ pip install dnspython
|
|||||||
protocol: tcp
|
protocol: tcp
|
||||||
# SOA and DNSSEC records are ignored by default
|
# SOA and DNSSEC records are ignored by default
|
||||||
ignore_record_patterns: ['^_acme-challenge\..*']
|
ignore_record_patterns: ['^_acme-challenge\..*']
|
||||||
verbose: true # Show per-record actions
|
|
||||||
zones:
|
zones:
|
||||||
- name: example.com
|
- name: example.com
|
||||||
dns_server: ns1.example.com
|
dns_server: ns1.example.com
|
||||||
|
|||||||
@@ -98,7 +98,6 @@ pip install -r requirements.txt
|
|||||||
key_secret: "{{ vault_dns_key }}"
|
key_secret: "{{ vault_dns_key }}"
|
||||||
# SOA and DNSSEC records are ignored by default
|
# SOA and DNSSEC records are ignored by default
|
||||||
# Record validation is enabled by default
|
# Record validation is enabled by default
|
||||||
verbose: true
|
|
||||||
zones:
|
zones:
|
||||||
- name: example.com
|
- name: example.com
|
||||||
dns_server: ns1.example.com
|
dns_server: ns1.example.com
|
||||||
|
|||||||
@@ -85,7 +85,7 @@ for more details.
|
|||||||
# DNSSEC and SOA records are now ignored by default
|
# DNSSEC and SOA records are now ignored by default
|
||||||
ignore_record_patterns: ['^_acme-challenge\..*']
|
ignore_record_patterns: ['^_acme-challenge\..*']
|
||||||
# Record validation is enabled by default
|
# Record validation is enabled by default
|
||||||
verbose: true # Show per-record actions
|
# Use -v flag to see per-record actions (Added, Removed, Changed, Skipped)
|
||||||
zones:
|
zones:
|
||||||
- name: example.com
|
- name: example.com
|
||||||
dns_server: ns1.example.com
|
dns_server: ns1.example.com
|
||||||
|
|||||||
@@ -35,6 +35,7 @@ pip install dnspython
|
|||||||
```
|
```
|
||||||
|
|
||||||
**Note**: By default, SOA and DNSSEC records are ignored, and record validation is enabled.
|
**Note**: By default, SOA and DNSSEC records are ignored, and record validation is enabled.
|
||||||
|
**Tip**: Run with `-v` flag to see detailed per-record actions.
|
||||||
|
|
||||||
## DNS Server Setup (BIND Example)
|
## DNS Server Setup (BIND Example)
|
||||||
|
|
||||||
@@ -186,7 +187,6 @@ dig @ns1.example.com example.com MX
|
|||||||
# SOA and DNSSEC records are ignored by default
|
# SOA and DNSSEC records are ignored by default
|
||||||
ignore_record_patterns:
|
ignore_record_patterns:
|
||||||
- '^_acme-challenge\..*'
|
- '^_acme-challenge\..*'
|
||||||
verbose: true # Show per-record actions
|
|
||||||
zones:
|
zones:
|
||||||
- name: example.com
|
- name: example.com
|
||||||
records: "{{ static_records }}"
|
records: "{{ static_records }}"
|
||||||
@@ -200,7 +200,6 @@ dig @ns1.example.com example.com MX
|
|||||||
key_name: "nsupdate"
|
key_name: "nsupdate"
|
||||||
key_secret: "{{ vault_dns_key }}"
|
key_secret: "{{ vault_dns_key }}"
|
||||||
dns_server: ns1.dns.com # Shared server for all zones
|
dns_server: ns1.dns.com # Shared server for all zones
|
||||||
verbose: true # Show detailed changes
|
|
||||||
zones:
|
zones:
|
||||||
- name: example.com
|
- name: example.com
|
||||||
records: "{{ example_com_records }}"
|
records: "{{ example_com_records }}"
|
||||||
|
|||||||
@@ -71,7 +71,6 @@
|
|||||||
ignore_record_patterns:
|
ignore_record_patterns:
|
||||||
- '^_acme-challenge\..*'
|
- '^_acme-challenge\..*'
|
||||||
- '^_dnsauth\..*'
|
- '^_dnsauth\..*'
|
||||||
verbose: true # Show per-record actions
|
|
||||||
zones:
|
zones:
|
||||||
- name: example.com
|
- name: example.com
|
||||||
dns_server: ns1.example.com
|
dns_server: ns1.example.com
|
||||||
@@ -99,7 +98,6 @@
|
|||||||
key_name: "{{ dns_key_name }}"
|
key_name: "{{ dns_key_name }}"
|
||||||
key_secret: "{{ dns_key_secret }}"
|
key_secret: "{{ dns_key_secret }}"
|
||||||
dns_server: ns1.example.com # Global server for all zones
|
dns_server: ns1.example.com # Global server for all zones
|
||||||
verbose: true
|
|
||||||
zones:
|
zones:
|
||||||
- name: example.com
|
- name: example.com
|
||||||
records:
|
records:
|
||||||
|
|||||||
@@ -82,7 +82,6 @@ list_of_nsupdate_zones:
|
|||||||
# SOA and DNSSEC records are ignored by default
|
# SOA and DNSSEC records are ignored by default
|
||||||
ignore_record_patterns:
|
ignore_record_patterns:
|
||||||
- '^_acme-challenge\..*'
|
- '^_acme-challenge\..*'
|
||||||
verbose: true # Show detailed per-record actions
|
|
||||||
zones: "{{ list_of_nsupdate_zones }}"
|
zones: "{{ list_of_nsupdate_zones }}"
|
||||||
register: zone_update_result
|
register: zone_update_result
|
||||||
|
|
||||||
|
|||||||
@@ -157,12 +157,10 @@ options:
|
|||||||
- Can be an IPv4/IPv6 address or FQDN.
|
- Can be an IPv4/IPv6 address or FQDN.
|
||||||
- If specified, zones do not need O(zones[].dns_server).
|
- If specified, zones do not need O(zones[].dns_server).
|
||||||
type: str
|
type: str
|
||||||
verbose:
|
notes:
|
||||||
description:
|
- Verbose output showing per-record actions is available with C(-v) flag.
|
||||||
- Enable verbose output showing per-record actions.
|
- Use C(-v) to see which records were Added, Removed, Changed, or Skipped.
|
||||||
- When enabled, includes details about which records were added, removed, changed, or skipped.
|
- Use C(--diff) flag to see before/after state of DNS records.
|
||||||
type: bool
|
|
||||||
default: false
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
EXAMPLES = r"""
|
EXAMPLES = r"""
|
||||||
@@ -221,7 +219,7 @@ EXAMPLES = r"""
|
|||||||
ignore_record_patterns:
|
ignore_record_patterns:
|
||||||
- '^_acme-challenge\..*'
|
- '^_acme-challenge\..*'
|
||||||
- '^_dnsauth\..*'
|
- '^_dnsauth\..*'
|
||||||
verbose: true # Show per-record actions
|
# Use -v flag for per-record action details
|
||||||
zones:
|
zones:
|
||||||
- name: example.com
|
- name: example.com
|
||||||
dns_server: 10.1.1.1
|
dns_server: 10.1.1.1
|
||||||
@@ -842,7 +840,7 @@ class DNSZoneManager:
|
|||||||
|
|
||||||
if total_changes == 0:
|
if total_changes == 0:
|
||||||
result['changed'] = False
|
result['changed'] = False
|
||||||
if self.module.params['verbose']:
|
if self.module._verbosity >= 1:
|
||||||
# Include verbose output even if no changes
|
# Include verbose output even if no changes
|
||||||
result['changes']['verbose'] = changes.get('verbose_actions', [])
|
result['changes']['verbose'] = changes.get('verbose_actions', [])
|
||||||
return result
|
return result
|
||||||
@@ -852,8 +850,8 @@ class DNSZoneManager:
|
|||||||
result['changes']['deletes'] = len(changes['deletes'])
|
result['changes']['deletes'] = len(changes['deletes'])
|
||||||
result['changes']['updates'] = len(changes['updates'])
|
result['changes']['updates'] = len(changes['updates'])
|
||||||
|
|
||||||
# Add verbose output if enabled
|
# Add verbose output if verbosity enabled
|
||||||
if self.module.params['verbose']:
|
if self.module._verbosity >= 1:
|
||||||
result['changes']['verbose'] = changes.get('verbose_actions', [])
|
result['changes']['verbose'] = changes.get('verbose_actions', [])
|
||||||
|
|
||||||
# Add diff output if enabled
|
# Add diff output if enabled
|
||||||
@@ -951,8 +949,7 @@ def main():
|
|||||||
ignore_dnssec_records=dict(type='bool', default=True),
|
ignore_dnssec_records=dict(type='bool', default=True),
|
||||||
ignore_soa_records=dict(type='bool', default=True),
|
ignore_soa_records=dict(type='bool', default=True),
|
||||||
validate_records=dict(type='bool', default=True),
|
validate_records=dict(type='bool', default=True),
|
||||||
dns_server=dict(type='str'),
|
dns_server=dict(type='str')
|
||||||
verbose=dict(type='bool', default=False)
|
|
||||||
),
|
),
|
||||||
supports_check_mode=True,
|
supports_check_mode=True,
|
||||||
supports_diff_mode=True,
|
supports_diff_mode=True,
|
||||||
|
|||||||
Reference in New Issue
Block a user