An interface to execute Azure CLI commands using Python
Project description
Az.Cli
Python azure.cli.core interface to execute az
Azure CLI commands in python.
The method returns a named tuple AzResult = namedtuple('AzResult', ['exit_code', 'result_dict', 'log'])
. The error_code
where 0 == success. A result_dict
containing successfull return as a python dictionary. On failure (error_code
> 0) a log message inside log
as a string.
Usage
Install the package
pip install az.cli
Login using az login
, see sign in using a service principal.
Under the hood the package uses the ~/.azure folder to persist and retrieve config.
Example
from az.cli import az
# AzResult = namedtuple('AzResult', ['exit_code', 'result_dict', 'log'])
exit_code, result_dict, logs = az("group show -n test")
# On 0 (SUCCESS) print result_dict, otherwise get info from `logs`
if exit_code == 0:
print (result_dict)
else:
print(logs)
Interactive
You can run the command interactively to traverse the dictionary.
Navigate to src
and run python3
.
Import the library from az.cli import az
and run any command by executing the method az("<my command>")
to invoke Azure CLI.
# cd src
# python3
from az.cli import az
# on Success, the `error_code` is 0 and the result_dict contains the output
az("group list") # list return tuple (exit_code, result_dict, log)
az("group list")[0] # 0
az("group list")[1] # print result_dict
az("group list")[1][0]['id'] # enumerate the id of the first element in dictionary
# On Error, the `error_code` will be != 1 and the log is present
az("group show -n does-not-exsist") # list return tuple (exit_code, result_dict, log)
az("group show -n does-not-exsist")[0] # 3
az("group show -n does-not-exsist")[2] # print the log
Build
To build the image run the following in order.
# Runs docker build & create
make create
Run
After the container is build & created you can run the az.cli
interactivly.
# Run docker run
make run
see interactive
Local Development
- install python3
- install
REQUIREMENTS.txt
usingmake init
I recommend to use Python3 virtual environments.
python3 -m venv env
source env/bin/activate
make init
Known Bugs
az('login')
https://github.com/MarkWarneke/Az.Cli/issues/1
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.