mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
pull Config object out of network and into netcfg
This moves the Config class from network and into netcfg module with no added features. This is simply a reorganization of code.
This commit is contained in:
parent
a0a2e1509e
commit
112f14866a
1 changed files with 36 additions and 1 deletions
|
@ -33,11 +33,46 @@ import shlex
|
||||||
import itertools
|
import itertools
|
||||||
|
|
||||||
from ansible.module_utils.basic import BOOLEANS_TRUE, BOOLEANS_FALSE
|
from ansible.module_utils.basic import BOOLEANS_TRUE, BOOLEANS_FALSE
|
||||||
from ansible.module_utils.network import to_list
|
|
||||||
|
|
||||||
DEFAULT_COMMENT_TOKENS = ['#', '!', '/*', '*/']
|
DEFAULT_COMMENT_TOKENS = ['#', '!', '/*', '*/']
|
||||||
|
|
||||||
|
|
||||||
|
def to_list(val):
|
||||||
|
if isinstance(val, (list, tuple)):
|
||||||
|
return list(val)
|
||||||
|
elif val is not None:
|
||||||
|
return [val]
|
||||||
|
else:
|
||||||
|
return list()
|
||||||
|
|
||||||
|
class Config(object):
|
||||||
|
|
||||||
|
def __init__(self, connection):
|
||||||
|
self.connection = connection
|
||||||
|
|
||||||
|
def invoke(self, method, *args, **kwargs):
|
||||||
|
try:
|
||||||
|
return method(*args, **kwargs)
|
||||||
|
except AttributeError:
|
||||||
|
exc = get_exception()
|
||||||
|
raise NetworkError('undefined method "%s"' % method.__name__, exc=str(exc))
|
||||||
|
except NotImplementedError:
|
||||||
|
raise NetworkError('method not supported "%s"' % method.__name__)
|
||||||
|
|
||||||
|
def __call__(self, commands):
|
||||||
|
lines = to_list(commands)
|
||||||
|
return self.invoke(self.connection.configure, commands)
|
||||||
|
|
||||||
|
def load_config(self, commands, **kwargs):
|
||||||
|
commands = to_list(commands)
|
||||||
|
return self.invoke(self.connection.load_config, commands, **kwargs)
|
||||||
|
|
||||||
|
def get_config(self, **kwargs):
|
||||||
|
return self.invoke(self.connection.get_config, **kwargs)
|
||||||
|
|
||||||
|
def save_config(self):
|
||||||
|
return self.invoke(self.connection.save_config)
|
||||||
|
|
||||||
class ConfigLine(object):
|
class ConfigLine(object):
|
||||||
|
|
||||||
def __init__(self, text):
|
def __init__(self, text):
|
||||||
|
|
Loading…
Reference in a new issue