Hi everyone,
first of all, I am sorry if this is documented somewhere else.
I am trying to write few modules which would be used for configuring MikroTik devices over API. My “problem” is, that in playbooks I always have to use at least 3 always-the-same arguments for each module. For example:
`
- name: Mikrotik TEST
hosts: mikrotik
connection: local
gather_facts: no
vars:
dhcp_pool: testpool
tasks: - name: DNS Setup
mt_dns: username={{username}} hostname={{hostname}} password={{password}} servers=192.168.1.1 - name: IP address setup
mt_ip: username={{username}} hostname={{hostname}} password={{password}} address=192.168.2.1/24 interface=ether10-slave-local disabled=“false” - name: DHCP Pool Setup
mt_ip_pool: username={{username}} hostname={{hostname}} password={{password}} pool_name={{dhcp_pool}} pool_range=192.168.2.10-192.168.2.20 - name: DHCP Server Setup
mt_dhcp_srv: username={{username}} hostname={{hostname}} password={{password}} name=TestServer address_pool={{dhcp_pool}} disabled=“false” interface=ether10-slave-local - name: DHCP Options Setup
mt_dhcp_network: username={{username}} hostname={{hostname}} password={{password}}
`
In my opinion, this makes the playbook a bit confusing… Is there any way how to make ansible push host variables right into module, without the need to call them from playbook? Using either hosts file or host_vars directory? Or is this a no-go for ansible and could only by done outside ansible? I am new to ansible and will appreciate any advice. Thanks