summaryrefslogtreecommitdiff
path: root/plugins/modules/vyos_vlan.py
diff options
context:
space:
mode:
authorBradley A. Thornton <bthornto@thethorntons.net>2019-08-09 10:42:04 -0700
committerBradley A. Thornton <bthornto@thethorntons.net>2019-08-09 10:42:04 -0700
commit7b9a33a29007ed302c3001566061e22c514cde64 (patch)
tree7c4e4b0b740538d7e3953c377cba432d58805022 /plugins/modules/vyos_vlan.py
parent8a50be4b9309387624e92a154366b34fa512cd8b (diff)
downloadvyos-ansible-collection-7b9a33a29007ed302c3001566061e22c514cde64.tar.gz
vyos-ansible-collection-7b9a33a29007ed302c3001566061e22c514cde64.zip
bt_yapfed
Diffstat (limited to 'plugins/modules/vyos_vlan.py')
-rw-r--r--plugins/modules/vyos_vlan.py78
1 files changed, 46 insertions, 32 deletions
diff --git a/plugins/modules/vyos_vlan.py b/plugins/modules/vyos_vlan.py
index 88ab71b..5273637 100644
--- a/plugins/modules/vyos_vlan.py
+++ b/plugins/modules/vyos_vlan.py
@@ -7,10 +7,11 @@
from __future__ import absolute_import, division, print_function
__metaclass__ = type
-
-ANSIBLE_METADATA = {'metadata_version': '1.1',
- 'status': ['preview'],
- 'supported_by': 'network'}
+ANSIBLE_METADATA = {
+ 'metadata_version': '1.1',
+ 'status': ['preview'],
+ 'supported_by': 'network'
+}
DOCUMENTATION = """
---
@@ -129,7 +130,6 @@ from ansible_collections.vyos.vyos.plugins.module_utils.network. \
vyos.vyos import vyos_argument_spec
-
def search_obj_in_list(vlan_id, lst):
obj = list()
for o in lst:
@@ -156,17 +156,22 @@ def map_obj_to_commands(updates, module):
if obj_in_have:
for obj in obj_in_have:
for i in obj['interfaces']:
- commands.append('delete interfaces ethernet {0} vif {1}'.format(i, vlan_id))
+ commands.append(
+ 'delete interfaces ethernet {0} vif {1}'.format(
+ i, vlan_id))
elif state == 'present':
if not obj_in_have:
if w['interfaces'] and w['vlan_id']:
for i in w['interfaces']:
- cmd = 'set interfaces ethernet {0} vif {1}'.format(i, vlan_id)
+ cmd = 'set interfaces ethernet {0} vif {1}'.format(
+ i, vlan_id)
if w['name']:
- commands.append(cmd + ' description {0}'.format(name))
+ commands.append(cmd +
+ ' description {0}'.format(name))
elif w['address']:
- commands.append(cmd + ' address {0}'.format(address))
+ commands.append(cmd +
+ ' address {0}'.format(address))
else:
commands.append(cmd)
@@ -175,7 +180,9 @@ def map_obj_to_commands(updates, module):
obj_in_want = search_obj_in_list(h['vlan_id'], want)
if not obj_in_want:
for i in h['interfaces']:
- commands.append('delete interfaces ethernet {0} vif {1}'.format(i, h['vlan_id']))
+ commands.append(
+ 'delete interfaces ethernet {0} vif {1}'.format(
+ i, h['vlan_id']))
return commands
@@ -200,12 +207,18 @@ def map_params_to_obj(module):
obj.append(d)
else:
obj.append({
- 'vlan_id': str(module.params['vlan_id']),
- 'name': module.params['name'],
- 'address': module.params['address'],
- 'state': module.params['state'],
- 'interfaces': module.params['interfaces'],
- 'associated_interfaces': module.params['associated_interfaces']
+ 'vlan_id':
+ str(module.params['vlan_id']),
+ 'name':
+ module.params['name'],
+ 'address':
+ module.params['address'],
+ 'state':
+ module.params['state'],
+ 'interfaces':
+ module.params['interfaces'],
+ 'associated_interfaces':
+ module.params['associated_interfaces']
})
return obj
@@ -270,33 +283,34 @@ def check_declarative_intent_params(want, module, result):
if w.get('associated_interfaces') is None:
continue
for i in w['associated_interfaces']:
- if (set(obj_interface) - set(w['associated_interfaces'])) != set([]):
- module.fail_json(msg='Interface {0} not configured on vlan {1}'.format(i, w['vlan_id']))
+ if (set(obj_interface) - set(w['associated_interfaces'])) != set(
+ []):
+ module.fail_json(
+ msg='Interface {0} not configured on vlan {1}'.format(
+ i, w['vlan_id']))
def main():
""" main entry point for module execution
"""
- element_spec = dict(
- vlan_id=dict(type='int'),
- name=dict(),
- address=dict(),
- interfaces=dict(type='list'),
- associated_interfaces=dict(type='list'),
- delay=dict(default=10, type='int'),
- state=dict(default='present',
- choices=['present', 'absent'])
- )
+ element_spec = dict(vlan_id=dict(type='int'),
+ name=dict(),
+ address=dict(),
+ interfaces=dict(type='list'),
+ associated_interfaces=dict(type='list'),
+ delay=dict(default=10, type='int'),
+ state=dict(default='present',
+ choices=['present', 'absent']))
aggregate_spec = deepcopy(element_spec)
# remove default in aggregate spec, to handle common arguments
remove_default_spec(aggregate_spec)
- argument_spec = dict(
- aggregate=dict(type='list', elements='dict', options=aggregate_spec),
- purge=dict(default=False, type='bool')
- )
+ argument_spec = dict(aggregate=dict(type='list',
+ elements='dict',
+ options=aggregate_spec),
+ purge=dict(default=False, type='bool'))
argument_spec.update(element_spec)
argument_spec.update(vyos_argument_spec)