mirror of
https://github.com/zahodi/ansible-mikrotik.git
synced 2025-07-16 13:14:21 +02:00
add check option to bridge module
This commit is contained in:
parent
35020e9c4e
commit
928c795f4a
2 changed files with 75 additions and 46 deletions
|
@ -107,40 +107,40 @@ from ansible.module_utils.basic import AnsibleModule
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
|
|
||||||
module = AnsibleModule(
|
module = AnsibleModule(
|
||||||
argument_spec=dict(
|
argument_spec=dict(
|
||||||
hostname = dict(required=True),
|
hostname = dict(required=True),
|
||||||
username = dict(required=True),
|
username = dict(required=True),
|
||||||
password = dict(required=True),
|
password = dict(required=True),
|
||||||
name = dict(required=False, type='str'),
|
name = dict(required=False, type='str'),
|
||||||
comment = dict(required=False, type='str'),
|
comment = dict(required=False, type='str'),
|
||||||
admin_mac = dict(required=False, type='str'),
|
admin_mac = dict(required=False, type='str'),
|
||||||
auto_mac = dict(required=False, type='str'),
|
auto_mac = dict(required=False, type='str'),
|
||||||
ageing_time = dict(required=False, type='str'),
|
ageing_time = dict(required=False, type='str'),
|
||||||
forward_delay = dict(required=False, type='str'),
|
forward_delay = dict(required=False, type='str'),
|
||||||
max_message_age=dict(required=False, type='str'),
|
max_message_age=dict(required=False, type='str'),
|
||||||
transmit_hold_count=dict(required=False, type='str'),
|
transmit_hold_count=dict(required=False, type='str'),
|
||||||
arp = dict(
|
arp = dict(
|
||||||
required = False,
|
required = False,
|
||||||
choices = ['disabled', 'enabled', 'proxy-arp', 'reply-only'],
|
choices = ['disabled', 'enabled', 'proxy-arp', 'reply-only'],
|
||||||
type='str'
|
type='str'
|
||||||
),
|
),
|
||||||
protocol_mode= dict(
|
protocol_mode= dict(
|
||||||
required = False,
|
required = False,
|
||||||
choices = ['none', 'rstp', 'stp'],
|
choices = ['none', 'rstp', 'stp'],
|
||||||
type='str'
|
type='str'
|
||||||
),
|
),
|
||||||
settings= dict(
|
settings= dict(
|
||||||
required = False,
|
required = False,
|
||||||
type='dict'
|
type='dict'
|
||||||
),
|
),
|
||||||
state= dict(
|
state= dict(
|
||||||
required = False,
|
required = False,
|
||||||
choices = ['present', 'absent'],
|
choices = ['present', 'absent'],
|
||||||
type = 'str'
|
type = 'str'
|
||||||
),
|
),
|
||||||
)
|
),
|
||||||
|
supports_check_mode=True
|
||||||
)
|
)
|
||||||
|
|
||||||
hostname = module.params['hostname']
|
hostname = module.params['hostname']
|
||||||
|
@ -148,6 +148,7 @@ def main():
|
||||||
password = module.params['password']
|
password = module.params['password']
|
||||||
state = module.params['state']
|
state = module.params['state']
|
||||||
ansible_bridge_name = module.params['name']
|
ansible_bridge_name = module.params['name']
|
||||||
|
check_mode = module.check_mode
|
||||||
changed = False
|
changed = False
|
||||||
changed_message = []
|
changed_message = []
|
||||||
msg = ""
|
msg = ""
|
||||||
|
@ -199,7 +200,8 @@ def main():
|
||||||
bridge_settings_diff_keys[key] = settings[key]
|
bridge_settings_diff_keys[key] = settings[key]
|
||||||
|
|
||||||
if bridge_settings_diff_keys != {}:
|
if bridge_settings_diff_keys != {}:
|
||||||
mk.api_edit(base_path=settings_path, params=bridge_settings_diff_keys)
|
if not check_mode:
|
||||||
|
mk.api_edit(base_path=settings_path, params=bridge_settings_diff_keys)
|
||||||
changed_message.append(bridge_settings_diff_keys)
|
changed_message.append(bridge_settings_diff_keys)
|
||||||
changed = True
|
changed = True
|
||||||
else:
|
else:
|
||||||
|
@ -227,10 +229,11 @@ def main():
|
||||||
###################################################################
|
###################################################################
|
||||||
if (state == "present" and isinstance(ansible_bridge_name, str)):
|
if (state == "present" and isinstance(ansible_bridge_name, str)):
|
||||||
if mikrotik_bridge == {}:
|
if mikrotik_bridge == {}:
|
||||||
mk.api_add(
|
if not check_mode:
|
||||||
base_path=bridge_path,
|
mk.api_add(
|
||||||
params=bridge_params
|
base_path=bridge_path,
|
||||||
)
|
params=bridge_params
|
||||||
|
)
|
||||||
changed_message.append(ansible_bridge_name + " added")
|
changed_message.append(ansible_bridge_name + " added")
|
||||||
changed = True,
|
changed = True,
|
||||||
else:
|
else:
|
||||||
|
@ -244,7 +247,8 @@ def main():
|
||||||
bridge_diff_keys[key] = bridge_params[key]
|
bridge_diff_keys[key] = bridge_params[key]
|
||||||
if bridge_diff_keys != {}:
|
if bridge_diff_keys != {}:
|
||||||
bridge_diff_keys['numbers'] = client_id
|
bridge_diff_keys['numbers'] = client_id
|
||||||
mk.api_edit(base_path=bridge_path, params=bridge_diff_keys)
|
if not check_mode:
|
||||||
|
mk.api_edit(base_path=bridge_path, params=bridge_diff_keys)
|
||||||
changed = True
|
changed = True
|
||||||
changed_message.append("Changed bridge: " + bridge_params['name'])
|
changed_message.append("Changed bridge: " + bridge_params['name'])
|
||||||
else:
|
else:
|
||||||
|
@ -256,7 +260,8 @@ def main():
|
||||||
|
|
||||||
elif state == "absent":
|
elif state == "absent":
|
||||||
if client_id:
|
if client_id:
|
||||||
mk.api_remove(base_path=bridge_path, remove_id=client_id)
|
if not check_mode:
|
||||||
|
mk.api_remove(base_path=bridge_path, remove_id=client_id)
|
||||||
changed_message.append(bridge_params['name'] + " removed")
|
changed_message.append(bridge_params['name'] + " removed")
|
||||||
changed = True
|
changed = True
|
||||||
#####################################################
|
#####################################################
|
||||||
|
|
|
@ -1252,7 +1252,11 @@
|
||||||
with_items:
|
with_items:
|
||||||
- "bridge1"
|
- "bridge1"
|
||||||
register: mod_bridge1
|
register: mod_bridge1
|
||||||
failed_when: ( mod_bridge1 | changed )
|
failed_when: (
|
||||||
|
not ansible_check_mode
|
||||||
|
) and (
|
||||||
|
( mod_bridge1 | changed )
|
||||||
|
)
|
||||||
|
|
||||||
# bridge ports depend on bridge being created first
|
# bridge ports depend on bridge being created first
|
||||||
|
|
||||||
|
@ -1280,7 +1284,11 @@
|
||||||
- [ "bridge1" ]
|
- [ "bridge1" ]
|
||||||
- [ "ether8" ]
|
- [ "ether8" ]
|
||||||
register: mod_bridge1_port
|
register: mod_bridge1_port
|
||||||
failed_when: ( mod_bridge1_port | changed )
|
failed_when: (
|
||||||
|
not ansible_check_mode
|
||||||
|
) and (
|
||||||
|
( mod_bridge1_port | changed )
|
||||||
|
)
|
||||||
|
|
||||||
- name: Add additional param to bridge port
|
- name: Add additional param to bridge port
|
||||||
mt_interface_bridge_port:
|
mt_interface_bridge_port:
|
||||||
|
@ -1308,7 +1316,11 @@
|
||||||
- [ "bridge1" ]
|
- [ "bridge1" ]
|
||||||
- [ "ether7" ]
|
- [ "ether7" ]
|
||||||
register: bridge1_add_2nd_inter
|
register: bridge1_add_2nd_inter
|
||||||
failed_when: not ( bridge1_add_2nd_inter | changed )
|
failed_when: (
|
||||||
|
not ansible_check_mode
|
||||||
|
) and (
|
||||||
|
not ( bridge1_add_2nd_inter | changed )
|
||||||
|
)
|
||||||
|
|
||||||
- name: ALWAYS_CHANGES Remove 2nd interface to bridge1 port
|
- name: ALWAYS_CHANGES Remove 2nd interface to bridge1 port
|
||||||
mt_interface_bridge_port:
|
mt_interface_bridge_port:
|
||||||
|
@ -1322,7 +1334,11 @@
|
||||||
- [ "bridge1" ]
|
- [ "bridge1" ]
|
||||||
- [ "ether7" ]
|
- [ "ether7" ]
|
||||||
register: bridge1_rem_2nd_inter
|
register: bridge1_rem_2nd_inter
|
||||||
failed_when: not ( bridge1_rem_2nd_inter | changed )
|
failed_when: (
|
||||||
|
not ansible_check_mode
|
||||||
|
) and (
|
||||||
|
not ( bridge1_rem_2nd_inter | changed )
|
||||||
|
)
|
||||||
|
|
||||||
- name: Add bridge2
|
- name: Add bridge2
|
||||||
mt_interface_bridge:
|
mt_interface_bridge:
|
||||||
|
@ -1359,7 +1375,11 @@
|
||||||
use-ip-firewall-for-vlan: no
|
use-ip-firewall-for-vlan: no
|
||||||
use-ip-firewall-for-pppoe: no
|
use-ip-firewall-for-pppoe: no
|
||||||
register: bridge_settings_1
|
register: bridge_settings_1
|
||||||
failed_when: not ( bridge_settings_1 | changed )
|
failed_when: (
|
||||||
|
not ansible_check_mode
|
||||||
|
) and (
|
||||||
|
not ( bridge_settings_1 | changed )
|
||||||
|
)
|
||||||
|
|
||||||
- name: Adjust settings again (idempotency test)
|
- name: Adjust settings again (idempotency test)
|
||||||
mt_interface_bridge:
|
mt_interface_bridge:
|
||||||
|
@ -1372,7 +1392,11 @@
|
||||||
use-ip-firewall-for-vlan: no
|
use-ip-firewall-for-vlan: no
|
||||||
use-ip-firewall-for-pppoe: no
|
use-ip-firewall-for-pppoe: no
|
||||||
register: bridge_settings_2
|
register: bridge_settings_2
|
||||||
failed_when: ( bridge_settings_2 | changed )
|
failed_when: (
|
||||||
|
not ansible_check_mode
|
||||||
|
) and (
|
||||||
|
( bridge_settings_2 | changed )
|
||||||
|
)
|
||||||
|
|
||||||
tags: bridge
|
tags: bridge
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue