Skip to main content

ID -> Name translator for the CloudGenix Python SDK

Project description

ID -> Name Translator for CloudGenix

ID -> Name translator for the CloudGenix Python SDK

Synopsis

CloudGenix's API uses unique ID values for all objects.

This quick module utilizes the CloudGenix Python SDK to create a dictionary object containing most common object lists, referenced by ID.

Simple usage:
idname_dict = cloudgenix_idname.generate_id_name_map(cgx_sess)
# takes 30-40 seconds to generate.

vpn_link_id = '15136303805980148'
print ('My VPN link is "{}".'.format(idname_dict.get(vpn_link_id, vpn_link_id)))
My VPN link is "SJC Branch ('AT&T' via 'Circuit to AT&T') <-> ('ATT2' via 'Circuit to ATT2') Charlotte DC".
Efficient usage:
# create constructor to make and cache queries
idname = cloudgenix_idname.CloudGenixIDName(cgx_sess)

# get just VPN id to name maps.
vpnpaths_id_to_name = idname.generate_anynets_map()
# takes < 3 seconds to generate

# query for VPN
vpn_link_id = '15136303805980148'
print ('My VPN link is "{}".'.format(vpnpaths_id_to_name.get(vpn_link_id, vpn_link_id)))
# output: My VPN link is "SJC Branch ('AT&T' via 'Circuit to AT&T') <-> ('ATT2' via 'Circuit to ATT2') Charlotte DC".

# lets query a link that is new since last time.
new_vpn_link_id = '15136303805980182'
print ('My VPN link is "{}".'.format(vpnpaths_id_to_name.get(vpn_link_id, vpn_link_id)))
# output: My VPN link is "15136303805980182".
vpnpaths_id_to_name = idname.generate_anynets_map()
# takes < 0.1 seconds

print ('My VPN link is "{}".'.format(vpnpaths_id_to_name.get(vpn_link_id, vpn_link_id)))
# output: My VPN link is "SJC Branch ('Verizon' via 'Circuit to Verizon') <-> ('ATT2' via 'Circuit to ATT2') Charlotte DC".

Requirements

Code Example

Comes with test.py that creates an ID -> Name map and dumps to console.

License

MIT

Version

Version Changes
2.0.0 Major rewrite, Deprecate Python2. Now supports a Class object and caching with delta updates (where available.)
1.2.3 Fixed minor return issue
1.2.2 Add support for Spoke Clusters
1.2.1 Add support for SDK >= 5.1.1b1
1.2.0 Add reverse lookup support (name -> ID) to all functions. Reverse lookup has limitations as names are not unique.
1.1.3 Resolve Issue #6, enhance Site WAN Interface mapping, add shortcut to generate_id_name_map.
1.1.2 Fix minor return issue.
1.1.1 Fix issue with tenant_viewonly not being able to read operators.
1.1.0 Fix various bugs, issue #1, and Python 3 support
1.0.0 Initial Release.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cloudgenix_idname-2.0.0.tar.gz (15.8 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page