summaryrefslogtreecommitdiff
path: root/lib/ansible/module_utils/network/iosxr/providers/cli/config/bgp/neighbors.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/ansible/module_utils/network/iosxr/providers/cli/config/bgp/neighbors.py')
-rw-r--r--lib/ansible/module_utils/network/iosxr/providers/cli/config/bgp/neighbors.py125
1 files changed, 0 insertions, 125 deletions
diff --git a/lib/ansible/module_utils/network/iosxr/providers/cli/config/bgp/neighbors.py b/lib/ansible/module_utils/network/iosxr/providers/cli/config/bgp/neighbors.py
deleted file mode 100644
index 137691e3e1..0000000000
--- a/lib/ansible/module_utils/network/iosxr/providers/cli/config/bgp/neighbors.py
+++ /dev/null
@@ -1,125 +0,0 @@
-#
-# (c) 2019, Ansible by Red Hat, inc
-# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
-#
-import re
-import socket
-
-from ansible.module_utils.six import iteritems
-from ansible.module_utils.network.common.utils import to_list
-from ansible.module_utils.network.iosxr.providers.providers import CliProvider
-
-
-class Neighbors(CliProvider):
-
- def render(self, config=None):
- commands = list()
- safe_list = list()
-
- router_context = 'router bgp %s' % self.get_value('config.bgp_as')
- context_config = None
-
- for item in self.get_value('config.neighbors'):
- context_commands = list()
-
- neighbor = item['neighbor']
-
- try:
- socket.inet_aton(neighbor)
- context = 'neighbor %s' % neighbor
- except socket.error:
- context = 'neighbor-group %s' % neighbor
-
- if config:
- context_path = [router_context, context]
- context_config = self.get_config_context(config, context_path, indent=1)
-
- for key, value in iteritems(item):
- if value is not None:
- meth = getattr(self, '_render_%s' % key, None)
- if meth:
- resp = meth(item, context_config)
- if resp:
- context_commands.extend(to_list(resp))
-
- if context_commands:
- commands.append(context)
- commands.extend(context_commands)
- commands.append('exit')
-
- safe_list.append(context)
-
- if config and safe_list:
- commands.extend(self._negate_config(config, safe_list))
-
- return commands
-
- def _negate_config(self, config, safe_list=None):
- commands = list()
- matches = re.findall(r'(neighbor \S+)', config, re.M)
- for item in set(matches).difference(safe_list):
- commands.append('no %s' % item)
- return commands
-
- def _render_remote_as(self, item, config=None):
- cmd = 'remote-as %s' % item['remote_as']
- if not config or cmd not in config:
- return cmd
-
- def _render_description(self, item, config=None):
- cmd = 'description %s' % item['description']
- if not config or cmd not in config:
- return cmd
-
- def _render_enabled(self, item, config=None):
- cmd = 'shutdown'
- if item['enabled'] is True:
- cmd = 'no %s' % cmd
- if not config or cmd not in config:
- return cmd
-
- def _render_update_source(self, item, config=None):
- cmd = 'update-source %s' % item['update_source'].replace(' ', '')
- if not config or cmd not in config:
- return cmd
-
- def _render_password(self, item, config=None):
- cmd = 'password %s' % item['password']
- if not config or cmd not in config:
- return cmd
-
- def _render_ebgp_multihop(self, item, config=None):
- cmd = 'ebgp-multihop %s' % item['ebgp_multihop']
- if not config or cmd not in config:
- return cmd
-
- def _render_tcp_mss(self, item, config=None):
- cmd = 'tcp mss %s' % item['tcp_mss']
- if not config or cmd not in config:
- return cmd
-
- def _render_advertisement_interval(self, item, config=None):
- cmd = 'advertisement-interval %s' % item['advertisement_interval']
- if not config or cmd not in config:
- return cmd
-
- def _render_neighbor_group(self, item, config=None):
- cmd = 'use neighbor-group %s' % item['neighbor_group']
- if not config or cmd not in config:
- return cmd
-
- def _render_timers(self, item, config):
- """generate bgp timer related configuration
- """
- keepalive = item['timers']['keepalive']
- holdtime = item['timers']['holdtime']
- min_neighbor_holdtime = item['timers']['min_neighbor_holdtime']
-
- if keepalive and holdtime:
- cmd = 'timers %s %s' % (keepalive, holdtime)
- if min_neighbor_holdtime:
- cmd += ' %s' % min_neighbor_holdtime
- if not config or cmd not in config:
- return cmd
- else:
- raise ValueError("required both options for timers: keepalive and holdtime")