From ac3f34a7489b19bd483a306a667ed4ec7702d165 Mon Sep 17 00:00:00 2001 From: Bob Harold Date: Tue, 10 Aug 2021 15:39:44 -0400 Subject: [PATCH 1/2] add 'get_ip.py' --- samples/get_ip.py | 93 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100755 samples/get_ip.py diff --git a/samples/get_ip.py b/samples/get_ip.py new file mode 100755 index 0000000..4545199 --- /dev/null +++ b/samples/get_ip.py @@ -0,0 +1,93 @@ +#!/usr/bin/env python + +"""get_ip.py ip-address""" + +# to be python2/3 compatible: +from __future__ import print_function + +import os +import sys +import json +import argparse +import logging + +import bluecat_bam + + +config = argparse.ArgumentParser(description="get ip object by ip address") +config.add_argument("ip", help="IP Address") +config.add_argument( + "--server", + "-s", + # env_var="BLUECAT_SERVER", + default=os.getenv("BLUECAT_SERVER"), + help="BlueCat Address Manager hostname", +) +config.add_argument( + "--username", + "-u", + # env_var="BLUECAT_USERNAME", + default=os.getenv("BLUECAT_USERNAME"), +) +config.add_argument( + "--password", + "-p", + # env_var="BLUECAT_PASSWORD", + default=os.getenv("BLUECAT_PASSWORD"), + help="password in environment, should not be on command line", +) +config.add_argument( + "--configuration", + "--cfg", + help="BlueCat Configuration name", + default=os.getenv("BLUECAT_CONFIGURATION"), +) +config.add_argument("--view", help="BlueCat View", default=os.getenv("BLUECAT_VIEW")) +config.add_argument( + "--logging", + "-l", + help="log level, default WARNING (30)," + + "caution: level DEBUG(10) or less will show the password in the login call", + default=os.getenv("BLUECAT_LOGGING", "WARNING"), +) +args = config.parse_args() + +logger = logging.getLogger() +logging.basicConfig(format="%(asctime)s %(levelname)s: %(message)s") +logger.setLevel(args.logging) + +configuration_name = args.configuration +view_name = args.view +ip = args.ip + +if not (configuration_name and view_name and ip): + config.print_help() + sys.exit(1) + +conn = bluecat_bam.BAM(args.server, args.username, args.password) + +configuration_obj = conn.do( + "getEntityByName", + method="get", + parentId=0, + name=configuration_name, + type="Configuration", +) + +configuration_id = configuration_obj["id"] + +""" +view_obj = conn.do( + "getEntityByName", + method="get", + parentId=configuration_id, + name=view_name, + type="View", +) +view_id = view_obj["id"] +""" + +ip_obj = conn.do("getIP4Address", method="get", containerId=configuration_id, address=ip) +##ip_id = ip_obj["id"] + +print(json.dumps(ip_obj)) -- GitLab From ad04a403c39af8f916a7dd7f52d49b0907b36456 Mon Sep 17 00:00:00 2001 From: Bob Harold Date: Tue, 10 Aug 2021 15:43:06 -0400 Subject: [PATCH 2/2] remove unused line --- samples/get_ip.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/samples/get_ip.py b/samples/get_ip.py index 4545199..f5d8323 100755 --- a/samples/get_ip.py +++ b/samples/get_ip.py @@ -87,7 +87,8 @@ view_obj = conn.do( view_id = view_obj["id"] """ -ip_obj = conn.do("getIP4Address", method="get", containerId=configuration_id, address=ip) -##ip_id = ip_obj["id"] +ip_obj = conn.do( + "getIP4Address", method="get", containerId=configuration_id, address=ip +) print(json.dumps(ip_obj)) -- GitLab