diff options
Diffstat (limited to 'ncserver')
-rw-r--r-- | ncserver/module/interfaces.py | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/ncserver/module/interfaces.py b/ncserver/module/interfaces.py new file mode 100644 index 0000000..f8c4f45 --- /dev/null +++ b/ncserver/module/interfaces.py @@ -0,0 +1,78 @@ +""" +NETCONF for APK Distributions server: + ietf-interfaces module + +Copyright © 2020 Adélie Software in the Public Benefit, Inc. + +Released under the terms of the NCSA license. See the LICENSE file included +with this source distribution for more information. + +SPDX-License-Identifier: NCSA +""" + +import logging +import os +import subprocess + +from lxml import etree +from netconf import error, util + +from ncserver.base.util import _, yang_dt_for_timestamp + + +QName = etree.QName # pylint: disable=I1101 + + +LOGGER = logging.getLogger(__name__) +"""The object used for logging informational messages.""" + + +M_ABI_VERSION = 1 +"""The ABI version of this NETCONF module.""" + + +M_PREFIX = "if" +"""The XML tag prefix for this module's tags.""" + + +M_NS = "urn:ietf:params:xml:ns:yang:ietf-interfaces" +"""The XML namespace for this module.""" + + +M_NAME = "ietf-interfaces" +"""The YANG model name for this module.""" + + +M_REVISION = "2018-02-20" +"""The YANG revision date for this module.""" + + +M_IMPORTS = { + 'ietf-yang-types@2013-07-15': { + 'ns': "urn:ietf:params:xml:ns:yang:ietf-yang-types", 'prefix': "yang" + } +} +"""The imported YANG modules for this module.""" + + +def _add_running_contents(ifaces): + """Retrieve the interface configuration for this device. + + Allows returning the 'config true' data for both datastores.""" + # foo + + +def running(node): + """Retrieve the service configuration for this device.""" + ifaces = util.subelm(node, 'if:interfaces') + _add_running_contents(ifaces) + + +def operational(node): + """Retrieve the service state for this device.""" + ifaces = util.subelm(node, 'if:interfaces') + _add_running_contents(ifaces) + + +def edit(session, rpc, node, def_op): + """Edit the interface configuration for this device.""" |