Iterate through ddclient list for multiple records

This commit is contained in:
Kris Lamoureux 2021-03-15 20:54:38 -04:00
parent 9a0503b321
commit 1f26fc6b94
Signed by: kris
GPG Key ID: 3EDA9C3441EDA925
4 changed files with 17 additions and 15 deletions

View File

@ -2,11 +2,6 @@ manage_network: false
network_type: static
allow_reboot: true
ddclient_web: dynamicdns.park-your-domain.com/getip
ddclient_server: dynamicdns.park-your-domain.com
ddclient_protocol: namecheap
ddclient_verbose: "yes"
packages:
- cryptsetup
- curl

View File

@ -7,7 +7,7 @@
template:
src: ddclient.conf.j2
dest: /etc/ddclient.conf
register: ddclient
register: ddclient_settings
- name: Start ddclient and enable on boot
service:
@ -19,4 +19,4 @@
service:
name: ddclient
state: restarted
when: ddclient.changed
when: ddclient_settings.changed

View File

@ -14,4 +14,4 @@
- import_tasks: ddclient.yml
tags: ddclient
when: ddclient_password is defined
when: ddclient is defined

View File

@ -2,10 +2,17 @@
#
# /etc/ddclient.conf
verbose={{ ddclient_verbose }}
use=web, web={{ ddclient_web }}
protocol={{ ddclient_protocol }}
server={{ ddclient_server }}
login={{ ddclient_login }}
password={{ ddclient_password }}
{{ ddclient_host }}
{% for domain in ddclient %}
{% if domain.verbose is sameas true or domain.verbose is not defined %}
verbose=yes
{% else %}
verbose=no
{% endif %}
use=web, web={{ domain.web | default('dynamicdns.park-your-domain.com/getip')}}
protocol={{ domain.protocol | default('namecheap')}}
server={{ domain.server | default('dynamicdns.park-your-domain.com')}}
login={{ domain.name }}
password={{ domain.pass }}
{{ domain.host }}
{% endfor %}