address-list to use common class

This commit is contained in:
Valentin Gurmeza 2018-01-29 16:53:18 -08:00
parent 8392bf6f40
commit 223d916390
2 changed files with 41 additions and 39 deletions

View file

@ -44,9 +44,11 @@ EXAMPLES = '''
hostname: "{{ inventory_hostname }}" hostname: "{{ inventory_hostname }}"
username: "{{ mt_user }}" username: "{{ mt_user }}"
password: "{{ mt_pass }}" password: "{{ mt_pass }}"
disabled: no parameter: service
name: ftp settings:
address: 192.168.52.3 disabled: no
name: ftp
address: 192.168.52.3
''' '''
from ansible.module_utils.basic import AnsibleModule from ansible.module_utils.basic import AnsibleModule
@ -62,7 +64,7 @@ def main():
settings = dict(required=False, type='dict'), settings = dict(required=False, type='dict'),
parameter = dict( parameter = dict(
required = True, required = True,
choices = ['service', 'pool'], choices = ['service', 'pool', 'address-list'],
type = 'str' type = 'str'
), ),
state = dict( state = dict(
@ -75,7 +77,11 @@ def main():
) )
params = module.params params = module.params
idempotent_parameter = 'name' if params['parameter'] == 'address-list':
params['parameter'] = 'firewall/address-list'
idempotent_parameter = 'address'
else:
idempotent_parameter = 'name'
mt_obj = MikrotikIdempotent( mt_obj = MikrotikIdempotent(
hostname = params['hostname'], hostname = params['hostname'],

View file

@ -1,39 +1,34 @@
--- ---
- name: ALWAYS_CHANGES Test adding a firewall address-list - name: Test adding a firewall address-list
mt_ip_firewall_addresslist: mt_ip:
hostname: "{{ mt_hostname }}" hostname: "{{ mt_hostname }}"
username: "{{ mt_user }}" username: "{{ mt_user }}"
password: "{{ mt_pass }}" password: "{{ mt_pass }}"
state: "present" state: "present"
list_name: test_list parameter: address-list
address_list: settings: "{{ item }}"
- address: 192.168.1.2 with_items:
comment: dns1 - address: 192.168.1.2
- address: 192.168.1.3 comment: dns1
comment: dns2 list: test_list
- address: 192.168.1.6 - address: 192.168.1.3
comment: test_comment3 comment: dns2
register: address_list_add_1 list: test_list
failed_when: ( - address: 192.168.1.6
not ansible_check_mode comment: test_comment3
) and ( list: test_list
not ( address_list_add_1 | changed )
)
- name: ALWAYS_CHANGES Test editing a firewall address-list - name: ALWAYS_CHANGES Test editing a firewall address-list
mt_ip_firewall_addresslist: mt_ip:
hostname: "{{ mt_hostname }}" hostname: "{{ mt_hostname }}"
username: "{{ mt_user }}" username: "{{ mt_user }}"
password: "{{ mt_pass }}" password: "{{ mt_pass }}"
state: "present" state: "present"
list_name: test_list parameter: address-list
address_list: settings:
- address: 192.168.1.2 address: 192.168.1.2
comment: dns1 comment: dns1
- address: 192.168.1.3 list: test_list2
comment: dns2
- address: 192.168.1.19
comment: test_comment3
register: address_list_edit_1 register: address_list_edit_1
failed_when: ( failed_when: (
not ansible_check_mode not ansible_check_mode
@ -42,19 +37,16 @@
) )
- name: Test adding a duplicate address-list - name: Test adding a duplicate address-list
mt_ip_firewall_addresslist: mt_ip:
hostname: "{{ mt_hostname }}" hostname: "{{ mt_hostname }}"
username: "{{ mt_user }}" username: "{{ mt_user }}"
password: "{{ mt_pass }}" password: "{{ mt_pass }}"
state: "present" state: "present"
list_name: test_list parameter: address-list
address_list: settings:
- address: 192.168.1.2 address: 192.168.1.3
comment: dns1
- address: 192.168.1.3
comment: dns2 comment: dns2
- address: 192.168.1.19 list: test_list
comment: test_comment3
register: add_address_list_add_dup_1 register: add_address_list_add_dup_1
failed_when: ( failed_when: (
not ansible_check_mode not ansible_check_mode
@ -63,12 +55,16 @@
) )
- name: ALWAYS_CHANGES Test removing a firewall address-list - name: ALWAYS_CHANGES Test removing a firewall address-list
mt_ip_firewall_addresslist: mt_ip:
hostname: "{{ mt_hostname }}" hostname: "{{ mt_hostname }}"
username: "{{ mt_user }}" username: "{{ mt_user }}"
password: "{{ mt_pass }}" password: "{{ mt_pass }}"
state: "absent" state: "absent"
list_name: test_list parameter: address-list
settings:
address: 192.168.1.2
comment: dns1
list: test_list
register: address_list_rem_1 register: address_list_rem_1
failed_when: ( failed_when: (
not ansible_check_mode not ansible_check_mode