summaryrefslogtreecommitdiff
path: root/lib/ansible/module_utils/network/eos/facts/lacp/lacp.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/ansible/module_utils/network/eos/facts/lacp/lacp.py')
-rw-r--r--lib/ansible/module_utils/network/eos/facts/lacp/lacp.py89
1 files changed, 0 insertions, 89 deletions
diff --git a/lib/ansible/module_utils/network/eos/facts/lacp/lacp.py b/lib/ansible/module_utils/network/eos/facts/lacp/lacp.py
deleted file mode 100644
index 370cb9df67..0000000000
--- a/lib/ansible/module_utils/network/eos/facts/lacp/lacp.py
+++ /dev/null
@@ -1,89 +0,0 @@
-# -*- coding: utf-8 -*-
-# Copyright 2019 Red Hat
-# GNU General Public License v3.0+
-# (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
-"""
-The eos lacp fact class
-It is in this file the configuration is collected from the device
-for a given resource, parsed, and the facts tree is populated
-based on the configuration.
-"""
-
-from __future__ import (absolute_import, division, print_function)
-__metaclass__ = type
-
-import re
-from copy import deepcopy
-
-from ansible.module_utils.network.common import utils
-from ansible.module_utils.network.eos.argspec.lacp.lacp import LacpArgs
-
-
-class LacpFacts(object):
- """ The eos lacp fact class
- """
-
- def __init__(self, module, subspec='config', options='options'):
- self._module = module
- self.argument_spec = LacpArgs.argument_spec
- spec = deepcopy(self.argument_spec)
- if subspec:
- if options:
- facts_argument_spec = spec[subspec][options]
- else:
- facts_argument_spec = spec[subspec]
- else:
- facts_argument_spec = spec
-
- self.generated_spec = utils.generate_dict(facts_argument_spec)
-
- def get_device_data(self, connection):
- return connection.get('show running-config | section ^lacp')
-
- def populate_facts(self, connection, ansible_facts, data=None):
- """ Populate the facts for lacp
- :param connection: the device connection
- :param ansible_facts: Facts dictionary
- :param data: previously collected configuration
- :rtype: dictionary
- :returns: facts
- """
- if not data:
- data = self.get_device_data(connection)
-
- # split the config into instances of the resource
- resource_delim = 'lacp'
- find_pattern = r'(?:^|\n)%s.*?(?=(?:^|\n)%s|$)' % (resource_delim,
- resource_delim)
- resources = [p.strip() for p in re.findall(find_pattern, data, re.DOTALL)]
-
- objs = {}
- for resource in resources:
- if resource:
- obj = self.render_config(self.generated_spec, resource)
- if obj:
- objs.update(obj)
-
- ansible_facts['ansible_network_resources'].pop('lacp', None)
- facts = {'lacp': {}}
- if objs:
- params = utils.validate_config(self.argument_spec, {'config': objs})
- facts['lacp'] = utils.remove_empties(params['config'])
-
- ansible_facts['ansible_network_resources'].update(facts)
- return ansible_facts
-
- def render_config(self, spec, conf):
- """
- Render config as dictionary structure and delete keys
- from spec for null values
-
- :param spec: The facts tree, generated from the argspec
- :param conf: The configuration
- :rtype: dictionary
- :returns: The generated config
- """
- config = deepcopy(spec)
- config['system']['priority'] = utils.parse_conf_arg(conf, 'system-priority')
-
- return utils.remove_empties(config)