removed api-XX.py
This commit is contained in:
parent
d0021f9536
commit
25d9043322
|
@ -1 +1,2 @@
|
||||||
alkira.cnf
|
alkira.cnf
|
||||||
|
dump.txt
|
||||||
|
|
66
api-00.py
66
api-00.py
|
@ -1,66 +0,0 @@
|
||||||
#!/usr/bin/env python3
|
|
||||||
#
|
|
||||||
# Copyright 2022, Mischa Peters <mischa AT alkira DOT net>, Alkira.
|
|
||||||
#
|
|
||||||
# Permission to use, copy, modify, and distribute this software for any
|
|
||||||
# purpose with or without fee is hereby granted, provided that the above
|
|
||||||
# copyright notice and this permission notice appear in all copies.
|
|
||||||
#
|
|
||||||
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
|
||||||
# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
|
||||||
# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
|
||||||
# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
||||||
# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
|
||||||
# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
|
||||||
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
||||||
#
|
|
||||||
import os
|
|
||||||
import sys
|
|
||||||
import re
|
|
||||||
import json
|
|
||||||
import time
|
|
||||||
import logging
|
|
||||||
import requests
|
|
||||||
import configparser
|
|
||||||
|
|
||||||
###############################################
|
|
||||||
|
|
||||||
CONFIG_FILE = "/Users/mischa/Alkira/xDev/alkira.cnf"
|
|
||||||
if not os.path.isfile(CONFIG_FILE):
|
|
||||||
logging.error(f"The config file {CONFIG_FILE} doesn't exist")
|
|
||||||
sys.exit(1)
|
|
||||||
config = configparser.RawConfigParser()
|
|
||||||
config.read(CONFIG_FILE)
|
|
||||||
|
|
||||||
ALKIRA_TENANT = config.get('alkira', 'ALKIRA_TENANT')
|
|
||||||
ALKIRA_USERNAME = config.get('alkira', 'ALKIRA_USERNAME')
|
|
||||||
ALKIRA_PASSWORD = config.get('alkira', 'ALKIRA_PASSWORD')
|
|
||||||
ALKIRA_BASE_URI = f'https://{ALKIRA_TENANT}/api'
|
|
||||||
|
|
||||||
###############################################
|
|
||||||
|
|
||||||
headers = {'Content-Type': "application/json"}
|
|
||||||
body = {'userName': ALKIRA_USERNAME,
|
|
||||||
'password': ALKIRA_PASSWORD}
|
|
||||||
s = requests.session()
|
|
||||||
|
|
||||||
url_login = f'{ALKIRA_BASE_URI}/login'
|
|
||||||
|
|
||||||
try:
|
|
||||||
r = s.post(url_login, data=json.dumps(body), headers=headers)
|
|
||||||
r.raise_for_status()
|
|
||||||
except Exception as e:
|
|
||||||
print(f'Error: {str(e)}')
|
|
||||||
sys.exit(1)
|
|
||||||
|
|
||||||
|
|
||||||
url = f'{ALKIRA_BASE_URI}/tenantnetworks'
|
|
||||||
r = s.get(url, headers=headers)
|
|
||||||
|
|
||||||
print (r.text)
|
|
||||||
|
|
||||||
data = r.json()
|
|
||||||
|
|
||||||
print (data[0]['name'])
|
|
||||||
print (data[0]['id'])
|
|
||||||
|
|
66
api-01.py
66
api-01.py
|
@ -1,66 +0,0 @@
|
||||||
#!/usr/bin/env python3
|
|
||||||
#
|
|
||||||
# Copyright 2022, Mischa Peters <mischa AT alkira DOT net>, Alkira.
|
|
||||||
#
|
|
||||||
# Permission to use, copy, modify, and distribute this software for any
|
|
||||||
# purpose with or without fee is hereby granted, provided that the above
|
|
||||||
# copyright notice and this permission notice appear in all copies.
|
|
||||||
#
|
|
||||||
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
|
||||||
# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
|
||||||
# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
|
||||||
# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
||||||
# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
|
||||||
# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
|
||||||
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
||||||
#
|
|
||||||
import os
|
|
||||||
import sys
|
|
||||||
import re
|
|
||||||
import json
|
|
||||||
import time
|
|
||||||
import logging
|
|
||||||
import requests
|
|
||||||
import configparser
|
|
||||||
|
|
||||||
###############################################
|
|
||||||
|
|
||||||
CONFIG_FILE = "/Users/mischa/Alkira/xDev/alkira.cnf"
|
|
||||||
if not os.path.isfile(CONFIG_FILE):
|
|
||||||
logging.error(f"The config file {CONFIG_FILE} doesn't exist")
|
|
||||||
sys.exit(1)
|
|
||||||
config = configparser.RawConfigParser()
|
|
||||||
config.read(CONFIG_FILE)
|
|
||||||
|
|
||||||
ALKIRA_TENANT = config.get('alkira', 'ALKIRA_TENANT')
|
|
||||||
ALKIRA_USERNAME = config.get('alkira', 'ALKIRA_USERNAME')
|
|
||||||
ALKIRA_PASSWORD = config.get('alkira', 'ALKIRA_PASSWORD')
|
|
||||||
ALKIRA_BASE_URI = f'https://{ALKIRA_TENANT}/api'
|
|
||||||
|
|
||||||
###############################################
|
|
||||||
|
|
||||||
headers = {'Content-Type': "application/json"}
|
|
||||||
body = {'userName': ALKIRA_USERNAME,
|
|
||||||
'password': ALKIRA_PASSWORD}
|
|
||||||
s = requests.session()
|
|
||||||
|
|
||||||
url_login = f'{ALKIRA_BASE_URI}/login'
|
|
||||||
|
|
||||||
try:
|
|
||||||
r = s.post(url_login, data=json.dumps(body), headers=headers)
|
|
||||||
r.raise_for_status()
|
|
||||||
except Exception as e:
|
|
||||||
print(f'Error: {str(e)}')
|
|
||||||
sys.exit(1)
|
|
||||||
|
|
||||||
|
|
||||||
url = f'{ALKIRA_BASE_URI}/tenantnetworks'
|
|
||||||
r = s.get(url, headers=headers)
|
|
||||||
|
|
||||||
print (r.text)
|
|
||||||
|
|
||||||
data = r.json()
|
|
||||||
|
|
||||||
print (data[0]['name'])
|
|
||||||
print (data[0]['id'])
|
|
||||||
|
|
132
api-03.py
132
api-03.py
|
@ -1,132 +0,0 @@
|
||||||
#!/usr/bin/env python3
|
|
||||||
#
|
|
||||||
# Copyright 2022, Mischa Peters <mischa AT alkira DOT net>, Alkira.
|
|
||||||
#
|
|
||||||
# Permission to use, copy, modify, and distribute this software for any
|
|
||||||
# purpose with or without fee is hereby granted, provided that the above
|
|
||||||
# copyright notice and this permission notice appear in all copies.
|
|
||||||
#
|
|
||||||
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
|
||||||
# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
|
||||||
# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
|
||||||
# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
||||||
# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
|
||||||
# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
|
||||||
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
||||||
#
|
|
||||||
import os
|
|
||||||
import sys
|
|
||||||
import re
|
|
||||||
import json
|
|
||||||
import time
|
|
||||||
import logging
|
|
||||||
import requests
|
|
||||||
import configparser
|
|
||||||
|
|
||||||
###############################################
|
|
||||||
|
|
||||||
CONFIG_FILE = "/Users/mischa/Alkira/xDev/alkira.cnf"
|
|
||||||
if not os.path.isfile(CONFIG_FILE):
|
|
||||||
logging.error(f"The config file {CONFIG_FILE} doesn't exist")
|
|
||||||
sys.exit(1)
|
|
||||||
config = configparser.RawConfigParser()
|
|
||||||
config.read(CONFIG_FILE)
|
|
||||||
|
|
||||||
ALKIRA_TENANT = config.get('alkira', 'ALKIRA_TENANT')
|
|
||||||
ALKIRA_USERNAME = config.get('alkira', 'ALKIRA_USERNAME')
|
|
||||||
ALKIRA_PASSWORD = config.get('alkira', 'ALKIRA_PASSWORD')
|
|
||||||
ALKIRA_BASE_URI = f'https://{ALKIRA_TENANT}/api'
|
|
||||||
|
|
||||||
###############################################
|
|
||||||
|
|
||||||
# Set default headers
|
|
||||||
headers = {'Content-Type': "application/json"}
|
|
||||||
|
|
||||||
# Set logging.INFO to logging.DEBUG for debug information
|
|
||||||
logging.basicConfig(level=logging.INFO)
|
|
||||||
logging = logging.getLogger('AlkiraAPI')
|
|
||||||
|
|
||||||
def alkira_login():
|
|
||||||
body = {'userName': ALKIRA_USERNAME,
|
|
||||||
'password': ALKIRA_PASSWORD}
|
|
||||||
session = requests.session()
|
|
||||||
response = alkira_post(session, '/login', body)
|
|
||||||
return session
|
|
||||||
|
|
||||||
def alkira_post(session, uri, body):
|
|
||||||
url = f'{ALKIRA_BASE_URI}{uri}'
|
|
||||||
try:
|
|
||||||
response = session.post(url, data=json.dumps(body), headers=headers)
|
|
||||||
response.raise_for_status()
|
|
||||||
except Exception as e:
|
|
||||||
logging.error(f'Error: {str(e)}')
|
|
||||||
sys.exit(1)
|
|
||||||
return response
|
|
||||||
|
|
||||||
def alkira_get(session, uri):
|
|
||||||
url = f'{ALKIRA_BASE_URI}{uri}'
|
|
||||||
try:
|
|
||||||
response = session.get(url, headers=headers)
|
|
||||||
response.raise_for_status()
|
|
||||||
except Exception as e:
|
|
||||||
logging.error(f'Error: {str(e)}')
|
|
||||||
sys.exit(1)
|
|
||||||
return response
|
|
||||||
|
|
||||||
def alkira_delete(session, uri):
|
|
||||||
url = f'{ALKIRA_BASE_URI}{uri}'
|
|
||||||
try:
|
|
||||||
response = session.delete(url, headers=headers)
|
|
||||||
response.raise_for_status()
|
|
||||||
except Exception as e:
|
|
||||||
logging.error(f'Error: {str(e)}')
|
|
||||||
sys.exit(1)
|
|
||||||
return response
|
|
||||||
|
|
||||||
# Authenticate
|
|
||||||
s = alkira_login()
|
|
||||||
logging.debug(s)
|
|
||||||
|
|
||||||
# Get TenantID
|
|
||||||
r = alkira_get(s, '/tenantnetworks')
|
|
||||||
data = r.json()
|
|
||||||
print('Tenant Name:', data[0]['name'])
|
|
||||||
print('Tenant ID:', data[0]['id'])
|
|
||||||
tenantNetworkId = data[0]['id']
|
|
||||||
|
|
||||||
r = alkira_get(s, f'/tenantnetworks/{tenantNetworkId}/connectors')
|
|
||||||
data = r.json()
|
|
||||||
#print(json.dumps(data, indent=4))
|
|
||||||
for item in data:
|
|
||||||
#print("ID:", item.get('id'))
|
|
||||||
#print("Name:", item.get('name'))
|
|
||||||
#print("Type:", item.get('type'))
|
|
||||||
name = item.get('name')
|
|
||||||
connectorId = item.get('id')
|
|
||||||
type = item.get('type').lower().replace('_', '')
|
|
||||||
if (type == 'saas'):
|
|
||||||
type = 'internet'
|
|
||||||
#print(f'/tenantnetworks/{tenantNetworkId}/{type}connectors/{connectorId}')
|
|
||||||
logging.info(f'Removing {name}')
|
|
||||||
r = alkira_delete(s, f'/tenantnetworks/{tenantNetworkId}/{type}connectors/{connectorId}')
|
|
||||||
logging.info(r.status_code)
|
|
||||||
|
|
||||||
r = alkira_get(s, f'/tenantnetworks/{tenantNetworkId}/services')
|
|
||||||
data = r.json()
|
|
||||||
#print(json.dumps(data, indent=4))
|
|
||||||
for item in data:
|
|
||||||
#print("ID:", item.get('id'))
|
|
||||||
#print("Name:", item.get('name'))
|
|
||||||
##print("Type:", item.get('type'))
|
|
||||||
name = item.get('name')
|
|
||||||
serviceId = item.get('id')
|
|
||||||
type = item.get('type').lower()
|
|
||||||
if (type == 'pan'):
|
|
||||||
type = 'panfw'
|
|
||||||
if (type == 'ftntfw'):
|
|
||||||
type = 'ftnt-fw-'
|
|
||||||
#print(f'/tenantnetworks/{tenantNetworkId}/{type}services/{serviceId}')
|
|
||||||
logging.info(f'Removing {name}')
|
|
||||||
r = alkira_delete(s, f'/tenantnetworks/{tenantNetworkId}/{type}services/{serviceId}')
|
|
||||||
logging.info(r.status_code)
|
|
||||||
|
|
Loading…
Reference in New Issue