From 1904e6940defce415d9f2ee6eae5d71e78083084 Mon Sep 17 00:00:00 2001 From: Dasom Eom Date: Mon, 5 Aug 2019 17:40:37 -0700 Subject: [PATCH] Add gNMI sample apps for locale config Includes two boilerplate apps and six custom apps to configure locale for XR data model using gNMI/gNMI: gn-set-xr-infra-infra-locale-cfg-10-ydk.py - set boilerplate gn-set-xr-infra-infra-locale-cfg-20-ydk.py - en_US gn-set-xr-infra-infra-locale-cfg-22-ydk.py - zh_CN gn-set-xr-infra-infra-locale-cfg-24-ydk.py - de_DE gn-set-xr-infra-infra-locale-cfg-26-ydk.py - pt_BR gn-set-xr-infra-infra-locale-cfg-28-ydk.py - en_NG gn-get-xr-infra-infra-locale-cfg-10-ydk.py - get boilerplate gn-get-xr-infra-infra-locale-cfg-20-ydk.py - get locale --- ...gn-get-xr-infra-infra-locale-cfg-10-ydk.py | 89 +++++++++++++++++ ...gn-get-xr-infra-infra-locale-cfg-20-ydk.py | 98 +++++++++++++++++++ ...n-get-xr-infra-infra-locale-cfg-20-ydk.txt | 2 + ...gn-set-xr-infra-infra-locale-cfg-10-ydk.py | 89 +++++++++++++++++ ...-set-xr-infra-infra-locale-cfg-20-ydk.json | 7 ++ ...gn-set-xr-infra-infra-locale-cfg-20-ydk.py | 91 +++++++++++++++++ ...n-set-xr-infra-infra-locale-cfg-20-ydk.txt | 3 + ...-set-xr-infra-infra-locale-cfg-22-ydk.json | 7 ++ ...gn-set-xr-infra-infra-locale-cfg-22-ydk.py | 91 +++++++++++++++++ ...n-set-xr-infra-infra-locale-cfg-22-ydk.txt | 3 + ...-set-xr-infra-infra-locale-cfg-24-ydk.json | 7 ++ ...gn-set-xr-infra-infra-locale-cfg-24-ydk.py | 91 +++++++++++++++++ ...n-set-xr-infra-infra-locale-cfg-24-ydk.txt | 3 + ...-set-xr-infra-infra-locale-cfg-26-ydk.json | 7 ++ ...gn-set-xr-infra-infra-locale-cfg-26-ydk.py | 91 +++++++++++++++++ ...n-set-xr-infra-infra-locale-cfg-26-ydk.txt | 3 + ...-set-xr-infra-infra-locale-cfg-28-ydk.json | 7 ++ ...gn-set-xr-infra-infra-locale-cfg-28-ydk.py | 91 +++++++++++++++++ ...n-set-xr-infra-infra-locale-cfg-28-ydk.txt | 3 + 19 files changed, 783 insertions(+) create mode 100755 samples/basic/gnmi/models/cisco-ios-xr/Cisco-IOS-XR-infra-infra-locale-cfg/gn-get-xr-infra-infra-locale-cfg-10-ydk.py create mode 100755 samples/basic/gnmi/models/cisco-ios-xr/Cisco-IOS-XR-infra-infra-locale-cfg/gn-get-xr-infra-infra-locale-cfg-20-ydk.py create mode 100644 samples/basic/gnmi/models/cisco-ios-xr/Cisco-IOS-XR-infra-infra-locale-cfg/gn-get-xr-infra-infra-locale-cfg-20-ydk.txt create mode 100755 samples/basic/gnmi/models/cisco-ios-xr/Cisco-IOS-XR-infra-infra-locale-cfg/gn-set-xr-infra-infra-locale-cfg-10-ydk.py create mode 100644 samples/basic/gnmi/models/cisco-ios-xr/Cisco-IOS-XR-infra-infra-locale-cfg/gn-set-xr-infra-infra-locale-cfg-20-ydk.json create mode 100755 samples/basic/gnmi/models/cisco-ios-xr/Cisco-IOS-XR-infra-infra-locale-cfg/gn-set-xr-infra-infra-locale-cfg-20-ydk.py create mode 100644 samples/basic/gnmi/models/cisco-ios-xr/Cisco-IOS-XR-infra-infra-locale-cfg/gn-set-xr-infra-infra-locale-cfg-20-ydk.txt create mode 100644 samples/basic/gnmi/models/cisco-ios-xr/Cisco-IOS-XR-infra-infra-locale-cfg/gn-set-xr-infra-infra-locale-cfg-22-ydk.json create mode 100755 samples/basic/gnmi/models/cisco-ios-xr/Cisco-IOS-XR-infra-infra-locale-cfg/gn-set-xr-infra-infra-locale-cfg-22-ydk.py create mode 100644 samples/basic/gnmi/models/cisco-ios-xr/Cisco-IOS-XR-infra-infra-locale-cfg/gn-set-xr-infra-infra-locale-cfg-22-ydk.txt create mode 100644 samples/basic/gnmi/models/cisco-ios-xr/Cisco-IOS-XR-infra-infra-locale-cfg/gn-set-xr-infra-infra-locale-cfg-24-ydk.json create mode 100755 samples/basic/gnmi/models/cisco-ios-xr/Cisco-IOS-XR-infra-infra-locale-cfg/gn-set-xr-infra-infra-locale-cfg-24-ydk.py create mode 100644 samples/basic/gnmi/models/cisco-ios-xr/Cisco-IOS-XR-infra-infra-locale-cfg/gn-set-xr-infra-infra-locale-cfg-24-ydk.txt create mode 100644 samples/basic/gnmi/models/cisco-ios-xr/Cisco-IOS-XR-infra-infra-locale-cfg/gn-set-xr-infra-infra-locale-cfg-26-ydk.json create mode 100755 samples/basic/gnmi/models/cisco-ios-xr/Cisco-IOS-XR-infra-infra-locale-cfg/gn-set-xr-infra-infra-locale-cfg-26-ydk.py create mode 100644 samples/basic/gnmi/models/cisco-ios-xr/Cisco-IOS-XR-infra-infra-locale-cfg/gn-set-xr-infra-infra-locale-cfg-26-ydk.txt create mode 100644 samples/basic/gnmi/models/cisco-ios-xr/Cisco-IOS-XR-infra-infra-locale-cfg/gn-set-xr-infra-infra-locale-cfg-28-ydk.json create mode 100755 samples/basic/gnmi/models/cisco-ios-xr/Cisco-IOS-XR-infra-infra-locale-cfg/gn-set-xr-infra-infra-locale-cfg-28-ydk.py create mode 100644 samples/basic/gnmi/models/cisco-ios-xr/Cisco-IOS-XR-infra-infra-locale-cfg/gn-set-xr-infra-infra-locale-cfg-28-ydk.txt diff --git a/samples/basic/gnmi/models/cisco-ios-xr/Cisco-IOS-XR-infra-infra-locale-cfg/gn-get-xr-infra-infra-locale-cfg-10-ydk.py b/samples/basic/gnmi/models/cisco-ios-xr/Cisco-IOS-XR-infra-infra-locale-cfg/gn-get-xr-infra-infra-locale-cfg-10-ydk.py new file mode 100755 index 0000000..1ed6134 --- /dev/null +++ b/samples/basic/gnmi/models/cisco-ios-xr/Cisco-IOS-XR-infra-infra-locale-cfg/gn-get-xr-infra-infra-locale-cfg-10-ydk.py @@ -0,0 +1,89 @@ +#!/usr/bin/env python +# +# Copyright 2016 Cisco Systems, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +""" +Get data for model Cisco-IOS-XR-infra-infra-locale-cfg. + +usage: gn-get-xr-infra-infra-locale-cfg-10-ydk.py [-h] [-v] device + +positional arguments: + device gNMI device (http://user:password@host:port) + +optional arguments: + -h, --help show this help message and exit + -v, --verbose print debugging messages +""" + +from argparse import ArgumentParser +from urlparse import urlparse + +from ydk.path import Repository +from ydk.filters import YFilter +from ydk.gnmi.services import gNMIService +from ydk.gnmi.providers import gNMIServiceProvider +from ydk.models.cisco_ios_xr import Cisco_IOS_XR_infra_infra_locale_cfg \ + as xr_infra_infra_locale_cfg +import os +import logging + + +YDK_REPO_DIR = os.path.expanduser("~/.ydk/") + +def process_locale(locale): + """Process data in locale object.""" + pass + + +if __name__ == "__main__": + """Execute main program.""" + parser = ArgumentParser() + parser.add_argument("-v", "--verbose", help="print debugging messages", + action="store_true") + parser.add_argument("device", + help="gNMI device (http://user:password@host:port)") + args = parser.parse_args() + device = urlparse(args.device) + + # log debug messages if verbose argument specified + if args.verbose: + logger = logging.getLogger("ydk") + logger.setLevel(logging.INFO) + handler = logging.StreamHandler() + formatter = logging.Formatter(("%(asctime)s - %(name)s - " + "%(levelname)s - %(message)s")) + handler.setFormatter(formatter) + logger.addHandler(handler) + + # create gNMI provider + repository = Repository(YDK_REPO_DIR+device.hostname) + provider = gNMIServiceProvider(repo=repository, + address=device.hostname, + port=device.port, + username=device.username, + password=device.password) + # create gNMI service + gnmi = gNMIService() + + locale = xr_infra_infra_locale_cfg.Locale() # create object + + # get data from gNMI device + # locale.yfilter = YFilter.read + # locale = gnmi.get(provider, locale) + process_locale(locale) # process object data + + exit() +# End of script diff --git a/samples/basic/gnmi/models/cisco-ios-xr/Cisco-IOS-XR-infra-infra-locale-cfg/gn-get-xr-infra-infra-locale-cfg-20-ydk.py b/samples/basic/gnmi/models/cisco-ios-xr/Cisco-IOS-XR-infra-infra-locale-cfg/gn-get-xr-infra-infra-locale-cfg-20-ydk.py new file mode 100755 index 0000000..3290896 --- /dev/null +++ b/samples/basic/gnmi/models/cisco-ios-xr/Cisco-IOS-XR-infra-infra-locale-cfg/gn-get-xr-infra-infra-locale-cfg-20-ydk.py @@ -0,0 +1,98 @@ +#!/usr/bin/env python +# +# Copyright 2016 Cisco Systems, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +""" +Get data for model Cisco-IOS-XR-infra-infra-locale-cfg. + +usage: gn-get-xr-infra-infra-locale-cfg-20-ydk.py [-h] [-v] device + +positional arguments: + device gNMI device (http://user:password@host:port) + +optional arguments: + -h, --help show this help message and exit + -v, --verbose print debugging messages +""" + +from argparse import ArgumentParser +from urlparse import urlparse + +from ydk.path import Repository +from ydk.filters import YFilter +from ydk.gnmi.services import gNMIService +from ydk.gnmi.providers import gNMIServiceProvider +from ydk.models.cisco_ios_xr import Cisco_IOS_XR_infra_infra_locale_cfg \ + as xr_infra_infra_locale_cfg +import textwrap +import os +import logging + + +YDK_REPO_DIR = os.path.expanduser("~/.ydk/") + +def process_locale(locale): + """Process data in locale object.""" + # format string for locale + show_locale = textwrap.dedent(""" + Country: {country} + Language: {language} + """).strip() + + # return formatted string + return(show_locale.format(country=locale.country.name, + language=locale.language.name)) + + +if __name__ == "__main__": + """Execute main program.""" + parser = ArgumentParser() + parser.add_argument("-v", "--verbose", help="print debugging messages", + action="store_true") + parser.add_argument("device", + help="gNMI device (http://user:password@host:port)") + args = parser.parse_args() + device = urlparse(args.device) + + # log debug messages if verbose argument specified + if args.verbose: + logger = logging.getLogger("ydk") + logger.setLevel(logging.INFO) + handler = logging.StreamHandler() + formatter = logging.Formatter(("%(asctime)s - %(name)s - " + "%(levelname)s - %(message)s")) + handler.setFormatter(formatter) + logger.addHandler(handler) + + # create gNMI provider + repository = Repository(YDK_REPO_DIR+device.hostname) + provider = gNMIServiceProvider(repo=repository, + address=device.hostname, + port=device.port, + username=device.username, + password=device.password) + # create gNMI service + gnmi = gNMIService() + + locale = xr_infra_infra_locale_cfg.Locale() # create object + + # get data from gNMI device + locale.yfilter = YFilter.read + locale = gnmi.get(provider, locale) + print(process_locale(locale)) # process object data + + exit() +# End of script diff --git a/samples/basic/gnmi/models/cisco-ios-xr/Cisco-IOS-XR-infra-infra-locale-cfg/gn-get-xr-infra-infra-locale-cfg-20-ydk.txt b/samples/basic/gnmi/models/cisco-ios-xr/Cisco-IOS-XR-infra-infra-locale-cfg/gn-get-xr-infra-infra-locale-cfg-20-ydk.txt new file mode 100644 index 0000000..e7d45bb --- /dev/null +++ b/samples/basic/gnmi/models/cisco-ios-xr/Cisco-IOS-XR-infra-infra-locale-cfg/gn-get-xr-infra-infra-locale-cfg-20-ydk.txt @@ -0,0 +1,2 @@ +Country: 221 +Language: 25 diff --git a/samples/basic/gnmi/models/cisco-ios-xr/Cisco-IOS-XR-infra-infra-locale-cfg/gn-set-xr-infra-infra-locale-cfg-10-ydk.py b/samples/basic/gnmi/models/cisco-ios-xr/Cisco-IOS-XR-infra-infra-locale-cfg/gn-set-xr-infra-infra-locale-cfg-10-ydk.py new file mode 100755 index 0000000..6de7239 --- /dev/null +++ b/samples/basic/gnmi/models/cisco-ios-xr/Cisco-IOS-XR-infra-infra-locale-cfg/gn-set-xr-infra-infra-locale-cfg-10-ydk.py @@ -0,0 +1,89 @@ +#!/usr/bin/env python +# +# Copyright 2016 Cisco Systems, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +""" +Set configuration for model Cisco-IOS-XR-infra-infra-locale-cfg. + +usage: gn-set-xr-infra-infra-locale-cfg-10-ydk.py [-h] [-v] device + +positional arguments: + device gNMI device (http://user:password@host:port) + +optional arguments: + -h, --help show this help message and exit + -v, --verbose print debugging messages +""" + +from argparse import ArgumentParser +from urlparse import urlparse + +from ydk.path import Repository +from ydk.filters import YFilter +from ydk.gnmi.services import gNMIService +from ydk.gnmi.providers import gNMIServiceProvider +from ydk.models.cisco_ios_xr import Cisco_IOS_XR_infra_infra_locale_cfg \ + as xr_infra_infra_locale_cfg +import os +import logging + + +YDK_REPO_DIR = os.path.expanduser("~/.ydk/") + +def config_locale(locale): + """Add config data to locale object.""" + pass + + +if __name__ == "__main__": + """Execute main program.""" + parser = ArgumentParser() + parser.add_argument("-v", "--verbose", help="print debugging messages", + action="store_true") + parser.add_argument("device", + help="gNMI device (http://user:password@host:port)") + args = parser.parse_args() + device = urlparse(args.device) + + # log debug messages if verbose argument specified + if args.verbose: + logger = logging.getLogger("ydk") + logger.setLevel(logging.INFO) + handler = logging.StreamHandler() + formatter = logging.Formatter(("%(asctime)s - %(name)s - " + "%(levelname)s - %(message)s")) + handler.setFormatter(formatter) + logger.addHandler(handler) + + # create gNMI provider + repository = Repository(YDK_REPO_DIR+device.hostname) + provider = gNMIServiceProvider(repo=repository, + address=device.hostname, + port=device.port, + username=device.username, + password=device.password) + # create gNMI service + gnmi = gNMIService() + + locale = xr_infra_infra_locale_cfg.Locale() # create object + config_locale(locale) # add object configuration + + # set configuration on gNMI device + # locale.yfilter = YFilter.replace + # gnmi.set(provider, locale) + + exit() +# End of script diff --git a/samples/basic/gnmi/models/cisco-ios-xr/Cisco-IOS-XR-infra-infra-locale-cfg/gn-set-xr-infra-infra-locale-cfg-20-ydk.json b/samples/basic/gnmi/models/cisco-ios-xr/Cisco-IOS-XR-infra-infra-locale-cfg/gn-set-xr-infra-infra-locale-cfg-20-ydk.json new file mode 100644 index 0000000..3554152 --- /dev/null +++ b/samples/basic/gnmi/models/cisco-ios-xr/Cisco-IOS-XR-infra-infra-locale-cfg/gn-set-xr-infra-infra-locale-cfg-20-ydk.json @@ -0,0 +1,7 @@ +{ + "Cisco-IOS-XR-infra-infra-locale-cfg:locale": { + "country": "us", + "language": "en" + } +} + diff --git a/samples/basic/gnmi/models/cisco-ios-xr/Cisco-IOS-XR-infra-infra-locale-cfg/gn-set-xr-infra-infra-locale-cfg-20-ydk.py b/samples/basic/gnmi/models/cisco-ios-xr/Cisco-IOS-XR-infra-infra-locale-cfg/gn-set-xr-infra-infra-locale-cfg-20-ydk.py new file mode 100755 index 0000000..6642881 --- /dev/null +++ b/samples/basic/gnmi/models/cisco-ios-xr/Cisco-IOS-XR-infra-infra-locale-cfg/gn-set-xr-infra-infra-locale-cfg-20-ydk.py @@ -0,0 +1,91 @@ +#!/usr/bin/env python +# +# Copyright 2016 Cisco Systems, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +""" +Set configuration for model Cisco-IOS-XR-infra-infra-locale-cfg. + +usage: gn-set-xr-infra-infra-locale-cfg-20-ydk.py [-h] [-v] device + +positional arguments: + device gNMI device (http://user:password@host:port) + +optional arguments: + -h, --help show this help message and exit + -v, --verbose print debugging messages +""" + +from argparse import ArgumentParser +from urlparse import urlparse + +from ydk.path import Repository +from ydk.filters import YFilter +from ydk.gnmi.services import gNMIService +from ydk.gnmi.providers import gNMIServiceProvider +from ydk.models.cisco_ios_xr import Cisco_IOS_XR_infra_infra_locale_cfg \ + as xr_infra_infra_locale_cfg +import os +import logging + + +YDK_REPO_DIR = os.path.expanduser("~/.ydk/") + +def config_locale(locale): + """Add config data to locale object.""" + # country and language configuration + locale.country = xr_infra_infra_locale_cfg.LocaleCountry.us + locale.language = xr_infra_infra_locale_cfg.LocaleLanguage.en + + +if __name__ == "__main__": + """Execute main program.""" + parser = ArgumentParser() + parser.add_argument("-v", "--verbose", help="print debugging messages", + action="store_true") + parser.add_argument("device", + help="gNMI device (http://user:password@host:port)") + args = parser.parse_args() + device = urlparse(args.device) + + # log debug messages if verbose argument specified + if args.verbose: + logger = logging.getLogger("ydk") + logger.setLevel(logging.INFO) + handler = logging.StreamHandler() + formatter = logging.Formatter(("%(asctime)s - %(name)s - " + "%(levelname)s - %(message)s")) + handler.setFormatter(formatter) + logger.addHandler(handler) + + # create gNMI provider + repository = Repository(YDK_REPO_DIR+device.hostname) + provider = gNMIServiceProvider(repo=repository, + address=device.hostname, + port=device.port, + username=device.username, + password=device.password) + # create gNMI service + gnmi = gNMIService() + + locale = xr_infra_infra_locale_cfg.Locale() # create object + config_locale(locale) # add object configuration + + # set configuration on gNMI device + locale.yfilter = YFilter.replace + gnmi.set(provider, locale) + + exit() +# End of script diff --git a/samples/basic/gnmi/models/cisco-ios-xr/Cisco-IOS-XR-infra-infra-locale-cfg/gn-set-xr-infra-infra-locale-cfg-20-ydk.txt b/samples/basic/gnmi/models/cisco-ios-xr/Cisco-IOS-XR-infra-infra-locale-cfg/gn-set-xr-infra-infra-locale-cfg-20-ydk.txt new file mode 100644 index 0000000..1d2f1eb --- /dev/null +++ b/samples/basic/gnmi/models/cisco-ios-xr/Cisco-IOS-XR-infra-infra-locale-cfg/gn-set-xr-infra-infra-locale-cfg-20-ydk.txt @@ -0,0 +1,3 @@ +locale country US +locale language en +end diff --git a/samples/basic/gnmi/models/cisco-ios-xr/Cisco-IOS-XR-infra-infra-locale-cfg/gn-set-xr-infra-infra-locale-cfg-22-ydk.json b/samples/basic/gnmi/models/cisco-ios-xr/Cisco-IOS-XR-infra-infra-locale-cfg/gn-set-xr-infra-infra-locale-cfg-22-ydk.json new file mode 100644 index 0000000..64460e9 --- /dev/null +++ b/samples/basic/gnmi/models/cisco-ios-xr/Cisco-IOS-XR-infra-infra-locale-cfg/gn-set-xr-infra-infra-locale-cfg-22-ydk.json @@ -0,0 +1,7 @@ +{ + "Cisco-IOS-XR-infra-infra-locale-cfg:locale": { + "country": "cn", + "language": "zh" + } +} + diff --git a/samples/basic/gnmi/models/cisco-ios-xr/Cisco-IOS-XR-infra-infra-locale-cfg/gn-set-xr-infra-infra-locale-cfg-22-ydk.py b/samples/basic/gnmi/models/cisco-ios-xr/Cisco-IOS-XR-infra-infra-locale-cfg/gn-set-xr-infra-infra-locale-cfg-22-ydk.py new file mode 100755 index 0000000..13bfb96 --- /dev/null +++ b/samples/basic/gnmi/models/cisco-ios-xr/Cisco-IOS-XR-infra-infra-locale-cfg/gn-set-xr-infra-infra-locale-cfg-22-ydk.py @@ -0,0 +1,91 @@ +#!/usr/bin/env python +# +# Copyright 2016 Cisco Systems, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +""" +Set configuration for model Cisco-IOS-XR-infra-infra-locale-cfg. + +usage: gn-set-xr-infra-infra-locale-cfg-22-ydk.py [-h] [-v] device + +positional arguments: + device gNMI device (http://user:password@host:port) + +optional arguments: + -h, --help show this help message and exit + -v, --verbose print debugging messages +""" + +from argparse import ArgumentParser +from urlparse import urlparse + +from ydk.path import Repository +from ydk.filters import YFilter +from ydk.gnmi.services import gNMIService +from ydk.gnmi.providers import gNMIServiceProvider +from ydk.models.cisco_ios_xr import Cisco_IOS_XR_infra_infra_locale_cfg \ + as xr_infra_infra_locale_cfg +import os +import logging + + +YDK_REPO_DIR = os.path.expanduser("~/.ydk/") + +def config_locale(locale): + """Add config data to locale object.""" + # country and language configuration + locale.country = xr_infra_infra_locale_cfg.LocaleCountry.cn + locale.language = xr_infra_infra_locale_cfg.LocaleLanguage.zh + + +if __name__ == "__main__": + """Execute main program.""" + parser = ArgumentParser() + parser.add_argument("-v", "--verbose", help="print debugging messages", + action="store_true") + parser.add_argument("device", + help="gNMI device (http://user:password@host:port)") + args = parser.parse_args() + device = urlparse(args.device) + + # log debug messages if verbose argument specified + if args.verbose: + logger = logging.getLogger("ydk") + logger.setLevel(logging.INFO) + handler = logging.StreamHandler() + formatter = logging.Formatter(("%(asctime)s - %(name)s - " + "%(levelname)s - %(message)s")) + handler.setFormatter(formatter) + logger.addHandler(handler) + + # create gNMI provider + repository = Repository(YDK_REPO_DIR+device.hostname) + provider = gNMIServiceProvider(repo=repository, + address=device.hostname, + port=device.port, + username=device.username, + password=device.password) + # create gNMI service + gnmi = gNMIService() + + locale = xr_infra_infra_locale_cfg.Locale() # create object + config_locale(locale) # add object configuration + + # set configuration on gNMI device + locale.yfilter = YFilter.replace + gnmi.set(provider, locale) + + exit() +# End of script diff --git a/samples/basic/gnmi/models/cisco-ios-xr/Cisco-IOS-XR-infra-infra-locale-cfg/gn-set-xr-infra-infra-locale-cfg-22-ydk.txt b/samples/basic/gnmi/models/cisco-ios-xr/Cisco-IOS-XR-infra-infra-locale-cfg/gn-set-xr-infra-infra-locale-cfg-22-ydk.txt new file mode 100644 index 0000000..5912505 --- /dev/null +++ b/samples/basic/gnmi/models/cisco-ios-xr/Cisco-IOS-XR-infra-infra-locale-cfg/gn-set-xr-infra-infra-locale-cfg-22-ydk.txt @@ -0,0 +1,3 @@ +locale country CN +locale language zh +end diff --git a/samples/basic/gnmi/models/cisco-ios-xr/Cisco-IOS-XR-infra-infra-locale-cfg/gn-set-xr-infra-infra-locale-cfg-24-ydk.json b/samples/basic/gnmi/models/cisco-ios-xr/Cisco-IOS-XR-infra-infra-locale-cfg/gn-set-xr-infra-infra-locale-cfg-24-ydk.json new file mode 100644 index 0000000..9707948 --- /dev/null +++ b/samples/basic/gnmi/models/cisco-ios-xr/Cisco-IOS-XR-infra-infra-locale-cfg/gn-set-xr-infra-infra-locale-cfg-24-ydk.json @@ -0,0 +1,7 @@ +{ + "Cisco-IOS-XR-infra-infra-locale-cfg:locale": { + "country": "de", + "language": "de" + } +} + diff --git a/samples/basic/gnmi/models/cisco-ios-xr/Cisco-IOS-XR-infra-infra-locale-cfg/gn-set-xr-infra-infra-locale-cfg-24-ydk.py b/samples/basic/gnmi/models/cisco-ios-xr/Cisco-IOS-XR-infra-infra-locale-cfg/gn-set-xr-infra-infra-locale-cfg-24-ydk.py new file mode 100755 index 0000000..2c38556 --- /dev/null +++ b/samples/basic/gnmi/models/cisco-ios-xr/Cisco-IOS-XR-infra-infra-locale-cfg/gn-set-xr-infra-infra-locale-cfg-24-ydk.py @@ -0,0 +1,91 @@ +#!/usr/bin/env python +# +# Copyright 2016 Cisco Systems, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +""" +Set configuration for model Cisco-IOS-XR-infra-infra-locale-cfg. + +usage: gn-set-xr-infra-infra-locale-cfg-24-ydk.py [-h] [-v] device + +positional arguments: + device gNMI device (http://user:password@host:port) + +optional arguments: + -h, --help show this help message and exit + -v, --verbose print debugging messages +""" + +from argparse import ArgumentParser +from urlparse import urlparse + +from ydk.path import Repository +from ydk.filters import YFilter +from ydk.gnmi.services import gNMIService +from ydk.gnmi.providers import gNMIServiceProvider +from ydk.models.cisco_ios_xr import Cisco_IOS_XR_infra_infra_locale_cfg \ + as xr_infra_infra_locale_cfg +import os +import logging + + +YDK_REPO_DIR = os.path.expanduser("~/.ydk/") + +def config_locale(locale): + """Add config data to locale object.""" + # country and language configuration + locale.country = xr_infra_infra_locale_cfg.LocaleCountry.de + locale.language = xr_infra_infra_locale_cfg.LocaleLanguage.de + + +if __name__ == "__main__": + """Execute main program.""" + parser = ArgumentParser() + parser.add_argument("-v", "--verbose", help="print debugging messages", + action="store_true") + parser.add_argument("device", + help="gNMI device (http://user:password@host:port)") + args = parser.parse_args() + device = urlparse(args.device) + + # log debug messages if verbose argument specified + if args.verbose: + logger = logging.getLogger("ydk") + logger.setLevel(logging.INFO) + handler = logging.StreamHandler() + formatter = logging.Formatter(("%(asctime)s - %(name)s - " + "%(levelname)s - %(message)s")) + handler.setFormatter(formatter) + logger.addHandler(handler) + + # create gNMI provider + repository = Repository(YDK_REPO_DIR+device.hostname) + provider = gNMIServiceProvider(repo=repository, + address=device.hostname, + port=device.port, + username=device.username, + password=device.password) + # create gNMI service + gnmi = gNMIService() + + locale = xr_infra_infra_locale_cfg.Locale() # create object + config_locale(locale) # add object configuration + + # set configuration on gNMI device + locale.yfilter = YFilter.replace + gnmi.set(provider, locale) + + exit() +# End of script diff --git a/samples/basic/gnmi/models/cisco-ios-xr/Cisco-IOS-XR-infra-infra-locale-cfg/gn-set-xr-infra-infra-locale-cfg-24-ydk.txt b/samples/basic/gnmi/models/cisco-ios-xr/Cisco-IOS-XR-infra-infra-locale-cfg/gn-set-xr-infra-infra-locale-cfg-24-ydk.txt new file mode 100644 index 0000000..32a1dc8 --- /dev/null +++ b/samples/basic/gnmi/models/cisco-ios-xr/Cisco-IOS-XR-infra-infra-locale-cfg/gn-set-xr-infra-infra-locale-cfg-24-ydk.txt @@ -0,0 +1,3 @@ +locale country DE +locale language de +end diff --git a/samples/basic/gnmi/models/cisco-ios-xr/Cisco-IOS-XR-infra-infra-locale-cfg/gn-set-xr-infra-infra-locale-cfg-26-ydk.json b/samples/basic/gnmi/models/cisco-ios-xr/Cisco-IOS-XR-infra-infra-locale-cfg/gn-set-xr-infra-infra-locale-cfg-26-ydk.json new file mode 100644 index 0000000..c1a447d --- /dev/null +++ b/samples/basic/gnmi/models/cisco-ios-xr/Cisco-IOS-XR-infra-infra-locale-cfg/gn-set-xr-infra-infra-locale-cfg-26-ydk.json @@ -0,0 +1,7 @@ +{ + "Cisco-IOS-XR-infra-infra-locale-cfg:locale": { + "country": "br", + "language": "pt" + } +} + diff --git a/samples/basic/gnmi/models/cisco-ios-xr/Cisco-IOS-XR-infra-infra-locale-cfg/gn-set-xr-infra-infra-locale-cfg-26-ydk.py b/samples/basic/gnmi/models/cisco-ios-xr/Cisco-IOS-XR-infra-infra-locale-cfg/gn-set-xr-infra-infra-locale-cfg-26-ydk.py new file mode 100755 index 0000000..7b40a9d --- /dev/null +++ b/samples/basic/gnmi/models/cisco-ios-xr/Cisco-IOS-XR-infra-infra-locale-cfg/gn-set-xr-infra-infra-locale-cfg-26-ydk.py @@ -0,0 +1,91 @@ +#!/usr/bin/env python +# +# Copyright 2016 Cisco Systems, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +""" +Set configuration for model Cisco-IOS-XR-infra-infra-locale-cfg. + +usage: gn-set-xr-infra-infra-locale-cfg-26-ydk.py [-h] [-v] device + +positional arguments: + device gNMI device (http://user:password@host:port) + +optional arguments: + -h, --help show this help message and exit + -v, --verbose print debugging messages +""" + +from argparse import ArgumentParser +from urlparse import urlparse + +from ydk.path import Repository +from ydk.filters import YFilter +from ydk.gnmi.services import gNMIService +from ydk.gnmi.providers import gNMIServiceProvider +from ydk.models.cisco_ios_xr import Cisco_IOS_XR_infra_infra_locale_cfg \ + as xr_infra_infra_locale_cfg +import os +import logging + + +YDK_REPO_DIR = os.path.expanduser("~/.ydk/") + +def config_locale(locale): + """Add config data to locale object.""" + # country and language configuration + locale.country = xr_infra_infra_locale_cfg.LocaleCountry.br + locale.language = xr_infra_infra_locale_cfg.LocaleLanguage.pt + + +if __name__ == "__main__": + """Execute main program.""" + parser = ArgumentParser() + parser.add_argument("-v", "--verbose", help="print debugging messages", + action="store_true") + parser.add_argument("device", + help="gNMI device (http://user:password@host:port)") + args = parser.parse_args() + device = urlparse(args.device) + + # log debug messages if verbose argument specified + if args.verbose: + logger = logging.getLogger("ydk") + logger.setLevel(logging.INFO) + handler = logging.StreamHandler() + formatter = logging.Formatter(("%(asctime)s - %(name)s - " + "%(levelname)s - %(message)s")) + handler.setFormatter(formatter) + logger.addHandler(handler) + + # create gNMI provider + repository = Repository(YDK_REPO_DIR+device.hostname) + provider = gNMIServiceProvider(repo=repository, + address=device.hostname, + port=device.port, + username=device.username, + password=device.password) + # create gNMI service + gnmi = gNMIService() + + locale = xr_infra_infra_locale_cfg.Locale() # create object + config_locale(locale) # add object configuration + + # set configuration on gNMI device + locale.yfilter = YFilter.replace + gnmi.set(provider, locale) + + exit() +# End of script diff --git a/samples/basic/gnmi/models/cisco-ios-xr/Cisco-IOS-XR-infra-infra-locale-cfg/gn-set-xr-infra-infra-locale-cfg-26-ydk.txt b/samples/basic/gnmi/models/cisco-ios-xr/Cisco-IOS-XR-infra-infra-locale-cfg/gn-set-xr-infra-infra-locale-cfg-26-ydk.txt new file mode 100644 index 0000000..bad8134 --- /dev/null +++ b/samples/basic/gnmi/models/cisco-ios-xr/Cisco-IOS-XR-infra-infra-locale-cfg/gn-set-xr-infra-infra-locale-cfg-26-ydk.txt @@ -0,0 +1,3 @@ +locale country BR +locale language pt +end diff --git a/samples/basic/gnmi/models/cisco-ios-xr/Cisco-IOS-XR-infra-infra-locale-cfg/gn-set-xr-infra-infra-locale-cfg-28-ydk.json b/samples/basic/gnmi/models/cisco-ios-xr/Cisco-IOS-XR-infra-infra-locale-cfg/gn-set-xr-infra-infra-locale-cfg-28-ydk.json new file mode 100644 index 0000000..5af80a4 --- /dev/null +++ b/samples/basic/gnmi/models/cisco-ios-xr/Cisco-IOS-XR-infra-infra-locale-cfg/gn-set-xr-infra-infra-locale-cfg-28-ydk.json @@ -0,0 +1,7 @@ +{ + "Cisco-IOS-XR-infra-infra-locale-cfg:locale": { + "country": "ng", + "language": "en" + } +} + diff --git a/samples/basic/gnmi/models/cisco-ios-xr/Cisco-IOS-XR-infra-infra-locale-cfg/gn-set-xr-infra-infra-locale-cfg-28-ydk.py b/samples/basic/gnmi/models/cisco-ios-xr/Cisco-IOS-XR-infra-infra-locale-cfg/gn-set-xr-infra-infra-locale-cfg-28-ydk.py new file mode 100755 index 0000000..5e9b9f0 --- /dev/null +++ b/samples/basic/gnmi/models/cisco-ios-xr/Cisco-IOS-XR-infra-infra-locale-cfg/gn-set-xr-infra-infra-locale-cfg-28-ydk.py @@ -0,0 +1,91 @@ +#!/usr/bin/env python +# +# Copyright 2016 Cisco Systems, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +""" +Set configuration for model Cisco-IOS-XR-infra-infra-locale-cfg. + +usage: gn-set-xr-infra-infra-locale-cfg-28-ydk.py [-h] [-v] device + +positional arguments: + device gNMI device (http://user:password@host:port) + +optional arguments: + -h, --help show this help message and exit + -v, --verbose print debugging messages +""" + +from argparse import ArgumentParser +from urlparse import urlparse + +from ydk.path import Repository +from ydk.filters import YFilter +from ydk.gnmi.services import gNMIService +from ydk.gnmi.providers import gNMIServiceProvider +from ydk.models.cisco_ios_xr import Cisco_IOS_XR_infra_infra_locale_cfg \ + as xr_infra_infra_locale_cfg +import os +import logging + + +YDK_REPO_DIR = os.path.expanduser("~/.ydk/") + +def config_locale(locale): + """Add config data to locale object.""" + # country and language configuration + locale.country = xr_infra_infra_locale_cfg.LocaleCountry.ng + locale.language = xr_infra_infra_locale_cfg.LocaleLanguage.en + + +if __name__ == "__main__": + """Execute main program.""" + parser = ArgumentParser() + parser.add_argument("-v", "--verbose", help="print debugging messages", + action="store_true") + parser.add_argument("device", + help="gNMI device (http://user:password@host:port)") + args = parser.parse_args() + device = urlparse(args.device) + + # log debug messages if verbose argument specified + if args.verbose: + logger = logging.getLogger("ydk") + logger.setLevel(logging.INFO) + handler = logging.StreamHandler() + formatter = logging.Formatter(("%(asctime)s - %(name)s - " + "%(levelname)s - %(message)s")) + handler.setFormatter(formatter) + logger.addHandler(handler) + + # create gNMI provider + repository = Repository(YDK_REPO_DIR+device.hostname) + provider = gNMIServiceProvider(repo=repository, + address=device.hostname, + port=device.port, + username=device.username, + password=device.password) + # create gNMI service + gnmi = gNMIService() + + locale = xr_infra_infra_locale_cfg.Locale() # create object + config_locale(locale) # add object configuration + + # set configuration on gNMI device + locale.yfilter = YFilter.replace + gnmi.set(provider, locale) + + exit() +# End of script diff --git a/samples/basic/gnmi/models/cisco-ios-xr/Cisco-IOS-XR-infra-infra-locale-cfg/gn-set-xr-infra-infra-locale-cfg-28-ydk.txt b/samples/basic/gnmi/models/cisco-ios-xr/Cisco-IOS-XR-infra-infra-locale-cfg/gn-set-xr-infra-infra-locale-cfg-28-ydk.txt new file mode 100644 index 0000000..491ae00 --- /dev/null +++ b/samples/basic/gnmi/models/cisco-ios-xr/Cisco-IOS-XR-infra-infra-locale-cfg/gn-set-xr-infra-infra-locale-cfg-28-ydk.txt @@ -0,0 +1,3 @@ +locale country NG +locale language en +end