alkira/api-00.py

67 lines
1.9 KiB
Python
Executable File

#!/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'])