From 25d904332226f22e8325345c8780877a3c68314b Mon Sep 17 00:00:00 2001 From: mischa Date: Fri, 17 Jun 2022 16:06:14 +0200 Subject: [PATCH] removed api-XX.py --- .gitignore | 1 + api-00.py | 66 ------------------- api-01.py | 66 ------------------- api-03.py | 132 -------------------------------------- api-02.py => wip-users.py | 0 5 files changed, 1 insertion(+), 264 deletions(-) delete mode 100755 api-00.py delete mode 100755 api-01.py delete mode 100755 api-03.py rename api-02.py => wip-users.py (100%) diff --git a/.gitignore b/.gitignore index 0c0881a..6cdd631 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ alkira.cnf +dump.txt diff --git a/api-00.py b/api-00.py deleted file mode 100755 index 3db09e0..0000000 --- a/api-00.py +++ /dev/null @@ -1,66 +0,0 @@ -#!/usr/bin/env python3 -# -# Copyright 2022, Mischa Peters , 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']) - diff --git a/api-01.py b/api-01.py deleted file mode 100755 index 3db09e0..0000000 --- a/api-01.py +++ /dev/null @@ -1,66 +0,0 @@ -#!/usr/bin/env python3 -# -# Copyright 2022, Mischa Peters , 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']) - diff --git a/api-03.py b/api-03.py deleted file mode 100755 index e5d083b..0000000 --- a/api-03.py +++ /dev/null @@ -1,132 +0,0 @@ -#!/usr/bin/env python3 -# -# Copyright 2022, Mischa Peters , 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) - diff --git a/api-02.py b/wip-users.py similarity index 100% rename from api-02.py rename to wip-users.py