diff --git a/get.py b/get.py index e61d5d1..dd64eec 100755 --- a/get.py +++ b/get.py @@ -3,6 +3,7 @@ # Copyright 2022, Mischa Peters , Alkira. # get.py # Version 0.1 - 20220617 - initial release +# Version 0.2 - 20220621 - simplified structure, added -i for IDs only, added -u for ugly JSON # # Permission to use, copy, modify, and distribute this software for any # purpose with or without fee is hereby granted, provided that the above @@ -29,6 +30,8 @@ import argparse # Parse all arguments parser = argparse.ArgumentParser(description="Get JSON config to AlkiraAPI") parser.add_argument("-t", "--tenant", type=str, default='alkira.cnf', help="location of alikira.cnf (default: alkira.cnf)") +parser.add_argument("-i", "--id", help="", action="store_true") +parser.add_argument("-u", "--ugly", help="make the JSON ugly!", action="store_true") parser.add_argument("-v", "--verbose", type=int, default=0, help="Verbose level 0 or 1 (default: 0)") try: @@ -128,37 +131,46 @@ tenantName = data[0]['name'] logging.info(f'Tenant Name: {tenantName}') logging.info(f'Tenant ID: {tenantNetworkId}') -# Get feature flags -logging.info('=== Collecting Feature Flags') -r = alkira_get(s, f'/tenantenabledfeatures') -data = r.json() -print('# Credentials') -print(json.dumps(data, indent=4)) +# Collecting data with base url: / +collect = [ + 'tenantenabledfeatures', + 'credentials' + ] -# Get credentials -logging.info('=== Collecting Credentials') -r = alkira_get(s, f'/credentials') -data = r.json() -print('# Credentials') -print(json.dumps(data, indent=4)) +if not args.id: + for item in collect: + logging.info(f'=== Collecting {item}') + r = alkira_get(s, f'/{item}') + data = r.json() + print(f'# {item}') + if args.ugly: + print(json.dumps(data)) + else: + print(json.dumps(data, indent=4)) -# Get connectors -logging.info('=== Collecting Connectors') -r = alkira_get(s, f'/tenantnetworks/{tenantNetworkId}/connectors') -data = r.json() -print('# Connectors') -print(json.dumps(data, indent=4)) +# Collecting data with base url: /tenantnetworks/{tenantNetworkId} +collect = [ + 'connectors', + 'services', + 'global-cidr-lists' + ] -# Get services -logging.info('=== Collecting services') -r = alkira_get(s, f'/tenantnetworks/{tenantNetworkId}/services') -data = r.json() -print('# Services') -print(json.dumps(data, indent=4)) +for item in collect: + logging.info(f'=== Collecting {item}') + r = alkira_get(s, f'/tenantnetworks/{tenantNetworkId}/{item}') + data = r.json() + print(f'# {item}') + if args.id: + for i in data: + str = f"{i['id']:10}" + if 'type' in i: + str = str + (f"\t{i['type']:20}") -# Get Global CIDR -logging.info('=== Collecting Global CIDR') -r = alkira_get(s, f'/tenantnetworks/{tenantNetworkId}/global-cidr-lists') -data = r.json() -print('# Global CIDR') -print(json.dumps(data, indent=4)) + if 'name' in i: + str = str + (f"\t{i['name']:20}") + print(str) + else: + if args.ugly: + print(json.dumps(data)) + else: + print(json.dumps(data, indent=4))