simplified structure, added -i for IDs only, added -u for ugly JSON
This commit is contained in:
parent
38350b12b6
commit
8485fb1928
72
get.py
72
get.py
|
@ -3,6 +3,7 @@
|
||||||
# Copyright 2022, Mischa Peters <mischa AT alkira DOT net>, Alkira.
|
# Copyright 2022, Mischa Peters <mischa AT alkira DOT net>, Alkira.
|
||||||
# get.py
|
# get.py
|
||||||
# Version 0.1 - 20220617 - initial release
|
# 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
|
# Permission to use, copy, modify, and distribute this software for any
|
||||||
# purpose with or without fee is hereby granted, provided that the above
|
# purpose with or without fee is hereby granted, provided that the above
|
||||||
|
@ -29,6 +30,8 @@ import argparse
|
||||||
# Parse all arguments
|
# Parse all arguments
|
||||||
parser = argparse.ArgumentParser(description="Get JSON config to AlkiraAPI")
|
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("-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)")
|
parser.add_argument("-v", "--verbose", type=int, default=0, help="Verbose level 0 or 1 (default: 0)")
|
||||||
|
|
||||||
try:
|
try:
|
||||||
|
@ -128,37 +131,46 @@ tenantName = data[0]['name']
|
||||||
logging.info(f'Tenant Name: {tenantName}')
|
logging.info(f'Tenant Name: {tenantName}')
|
||||||
logging.info(f'Tenant ID: {tenantNetworkId}')
|
logging.info(f'Tenant ID: {tenantNetworkId}')
|
||||||
|
|
||||||
# Get feature flags
|
# Collecting data with base url: /
|
||||||
logging.info('=== Collecting Feature Flags')
|
collect = [
|
||||||
r = alkira_get(s, f'/tenantenabledfeatures')
|
'tenantenabledfeatures',
|
||||||
data = r.json()
|
'credentials'
|
||||||
print('# Credentials')
|
]
|
||||||
print(json.dumps(data, indent=4))
|
|
||||||
|
|
||||||
# Get credentials
|
if not args.id:
|
||||||
logging.info('=== Collecting Credentials')
|
for item in collect:
|
||||||
r = alkira_get(s, f'/credentials')
|
logging.info(f'=== Collecting {item}')
|
||||||
data = r.json()
|
r = alkira_get(s, f'/{item}')
|
||||||
print('# Credentials')
|
data = r.json()
|
||||||
print(json.dumps(data, indent=4))
|
print(f'# {item}')
|
||||||
|
if args.ugly:
|
||||||
|
print(json.dumps(data))
|
||||||
|
else:
|
||||||
|
print(json.dumps(data, indent=4))
|
||||||
|
|
||||||
# Get connectors
|
# Collecting data with base url: /tenantnetworks/{tenantNetworkId}
|
||||||
logging.info('=== Collecting Connectors')
|
collect = [
|
||||||
r = alkira_get(s, f'/tenantnetworks/{tenantNetworkId}/connectors')
|
'connectors',
|
||||||
data = r.json()
|
'services',
|
||||||
print('# Connectors')
|
'global-cidr-lists'
|
||||||
print(json.dumps(data, indent=4))
|
]
|
||||||
|
|
||||||
# Get services
|
for item in collect:
|
||||||
logging.info('=== Collecting services')
|
logging.info(f'=== Collecting {item}')
|
||||||
r = alkira_get(s, f'/tenantnetworks/{tenantNetworkId}/services')
|
r = alkira_get(s, f'/tenantnetworks/{tenantNetworkId}/{item}')
|
||||||
data = r.json()
|
data = r.json()
|
||||||
print('# Services')
|
print(f'# {item}')
|
||||||
print(json.dumps(data, indent=4))
|
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
|
if 'name' in i:
|
||||||
logging.info('=== Collecting Global CIDR')
|
str = str + (f"\t{i['name']:20}")
|
||||||
r = alkira_get(s, f'/tenantnetworks/{tenantNetworkId}/global-cidr-lists')
|
print(str)
|
||||||
data = r.json()
|
else:
|
||||||
print('# Global CIDR')
|
if args.ugly:
|
||||||
print(json.dumps(data, indent=4))
|
print(json.dumps(data))
|
||||||
|
else:
|
||||||
|
print(json.dumps(data, indent=4))
|
||||||
|
|
Loading…
Reference in New Issue