mirror of
https://github.com/zahodi/ansible-mikrotik.git
synced 2025-06-29 13:00:04 +02:00
add check mode to system scheduler
This commit is contained in:
parent
2db5b6ee10
commit
5b2dcf38d8
2 changed files with 43 additions and 27 deletions
|
@ -70,31 +70,32 @@ 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=True, type='str'),
|
name =dict(required=True, type='str'),
|
||||||
on_event =dict(required=False, type='str'),
|
on_event =dict(required=False, type='str'),
|
||||||
comment =dict(required=False, type='str'),
|
comment =dict(required=False, type='str'),
|
||||||
interval =dict(required=False, type='str'),
|
interval =dict(required=False, type='str'),
|
||||||
policy =dict(required=False, type='list'),
|
policy =dict(required=False, type='list'),
|
||||||
start_date=dict(required=False, type='str'),
|
start_date=dict(required=False, type='str'),
|
||||||
start_time=dict(required=False, type='str'),
|
start_time=dict(required=False, type='str'),
|
||||||
state=dict(
|
state=dict(
|
||||||
required=True,
|
required=True,
|
||||||
choices=['present', 'absent'],
|
choices=['present', 'absent'],
|
||||||
type='str'
|
type='str'
|
||||||
),
|
),
|
||||||
)
|
),
|
||||||
|
supports_check_mode=True
|
||||||
)
|
)
|
||||||
|
|
||||||
hostname = module.params['hostname']
|
hostname = module.params['hostname']
|
||||||
username = module.params['username']
|
username = module.params['username']
|
||||||
password = module.params['password']
|
password = module.params['password']
|
||||||
state = module.params['state']
|
state = module.params['state']
|
||||||
|
check_mode = module.check_mode
|
||||||
ansible_scheduler_name = module.params['name']
|
ansible_scheduler_name = module.params['name']
|
||||||
changed = False
|
changed = False
|
||||||
changed_message = []
|
changed_message = []
|
||||||
|
@ -149,10 +150,11 @@ def main():
|
||||||
list_to_string = ""
|
list_to_string = ""
|
||||||
list_to_string = ','.join(map(str, ansible_scheduler_params['policy']))
|
list_to_string = ','.join(map(str, ansible_scheduler_params['policy']))
|
||||||
ansible_scheduler_params['policy'] = list_to_string
|
ansible_scheduler_params['policy'] = list_to_string
|
||||||
mk.api_add(
|
if not check_mode:
|
||||||
base_path=api_path,
|
mk.api_add(
|
||||||
params=ansible_scheduler_params
|
base_path=api_path,
|
||||||
)
|
params=ansible_scheduler_params
|
||||||
|
)
|
||||||
changed_message.append(ansible_scheduler_name + " added to bridge")
|
changed_message.append(ansible_scheduler_name + " added to bridge")
|
||||||
changed = True,
|
changed = True,
|
||||||
else:
|
else:
|
||||||
|
@ -187,7 +189,8 @@ def main():
|
||||||
scheduler_diff_keys[key] = ansible_scheduler_params[key]
|
scheduler_diff_keys[key] = ansible_scheduler_params[key]
|
||||||
if scheduler_diff_keys != {}:
|
if scheduler_diff_keys != {}:
|
||||||
scheduler_diff_keys['numbers'] = client_id
|
scheduler_diff_keys['numbers'] = client_id
|
||||||
mk.api_edit(base_path=api_path, params=scheduler_diff_keys)
|
if not check_mode:
|
||||||
|
mk.api_edit(base_path=api_path, params=scheduler_diff_keys)
|
||||||
changed = True
|
changed = True
|
||||||
changed_message.append(
|
changed_message.append(
|
||||||
"Changed scheduler task : " + ansible_scheduler_params['name']
|
"Changed scheduler task : " + ansible_scheduler_params['name']
|
||||||
|
@ -201,7 +204,8 @@ def main():
|
||||||
|
|
||||||
elif state == "absent":
|
elif state == "absent":
|
||||||
if client_id:
|
if client_id:
|
||||||
mk.api_remove(base_path=api_path, remove_id=client_id)
|
if not check_mode:
|
||||||
|
mk.api_remove(base_path=api_path, remove_id=client_id)
|
||||||
changed_message.append(ansible_scheduler_params['name'] + " removed")
|
changed_message.append(ansible_scheduler_params['name'] + " removed")
|
||||||
changed = True
|
changed = True
|
||||||
#####################################################
|
#####################################################
|
||||||
|
|
|
@ -1449,7 +1449,11 @@
|
||||||
- sniff
|
- sniff
|
||||||
- write
|
- write
|
||||||
register: scheduler_mod
|
register: scheduler_mod
|
||||||
failed_when: not ( scheduler_mod | changed )
|
failed_when: (
|
||||||
|
not ansible_check_mode
|
||||||
|
) and (
|
||||||
|
not ( scheduler_mod | changed )
|
||||||
|
)
|
||||||
|
|
||||||
- name: NEVER_CHANGES add duplicate scheduler
|
- name: NEVER_CHANGES add duplicate scheduler
|
||||||
mt_system_scheduler:
|
mt_system_scheduler:
|
||||||
|
@ -1465,7 +1469,11 @@
|
||||||
- sniff
|
- sniff
|
||||||
- write
|
- write
|
||||||
register: scheduler_dup
|
register: scheduler_dup
|
||||||
failed_when: ( scheduler_dup | changed )
|
failed_when: (
|
||||||
|
not ansible_check_mode
|
||||||
|
) and (
|
||||||
|
( scheduler_dup | changed )
|
||||||
|
)
|
||||||
|
|
||||||
- name: ALWAYS_CHANGES remove duplicate scheduler
|
- name: ALWAYS_CHANGES remove duplicate scheduler
|
||||||
mt_system_scheduler:
|
mt_system_scheduler:
|
||||||
|
@ -1475,7 +1483,11 @@
|
||||||
state: absent
|
state: absent
|
||||||
name: ansible_test
|
name: ansible_test
|
||||||
register: scheduler_rem
|
register: scheduler_rem
|
||||||
failed_when: not ( scheduler_rem | changed )
|
failed_when: (
|
||||||
|
not ansible_check_mode
|
||||||
|
) and (
|
||||||
|
not ( scheduler_rem | changed )
|
||||||
|
)
|
||||||
|
|
||||||
tags: scheduler
|
tags: scheduler
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue