This package provides proxy class for calling azure commands directly from Python.
Project description
az-pyproxy
This Python package provides a proxy class for calling az commands directly from Python.
Requirements
- azure cli
- Python 3.x
Installation
Via PIP
pip3 install azpyproxy
or
python3 -m pip install azpyproxy
Building from source
wget https://github.com/tomasvotava/az-pyproxy/archive/master.zip
unzip master.zip
cd az-pyproxy-master
python setup.py build
python setup.py install
Usage
from azure_pyproxy import Azure
az = Azure()
# command: az vm start virtual
az.vm_start("virtual")
# additional flags and parameters
# next method call expands like this:
# az resource list --resource-group="YOUR_RESOURCE_GROUP"
az.resource_list(resource_group="YOUR_RESOURCE_GROUP")
# positional arguments are simply concatenated after the command call, so commands can be also passed as arguments
az.vm("deallocate", name="virtual", resource_group="YOUR_RESOURCE_GROUP")
# expands as:
# az vm deallocate --name="virtual" --resource_group="YOUR_RESOURCE_GROUP"
# by default, underscores in flag names are replaced with dashes
az.vm_deallocate(name="virtual", resource_group="YOUR_RESOURCE_GROUP")
# az vm deallocate --name="virtual" --resource_group="YOUR_RESOURCE_GROUP"
# however, this can be overriden by specifying replace_underscore=False
az.vm_deallocate(name="virtual", resource_group="YOUR_RESOURCE_GROUP", replace_underscore=False)
# az vm deallocate --name="virtual" --resource_group="YOUR_RESOURCE_GROUP"
# the command returns json output from the commands, if you would like to redirect stdout/stderr/stdin instead, just pass keep_output=True
az.vm_deallocate(name="virtual", resource_group="YOUR_RESOURCE_GROUP", keep_stdout=True)
# Returns True/False based on errorcode of the command, prints all output
Default subscription and resource group
If you do not want to specify subscription/resource_group in each call and you did not set your defaults using az command or Azure web UI, you can use classmethods designed to deal with it for you.
from azure_pyproxy import Azure
az = Azure()
# Shows your default subscription
az.account_show()
az.account_show(subscription="another_subscription")
# Shows your "another_subscription"
Azure.set_subscription("another_subscription")
az.account_show()
# Shows your "another_subscription"
# If you have set your subscription using Azure.set_subscription
# and you need to use few calls using another one,
# you can always specify your subscription as a parameter (this overrides default setting)
Azure.set_subscription("another_subscription")
az.account_show(subscription="yet_another_one")
# Shows info for "yet_another_one"
# In case you want to switch back to your az default, you can reset your subscription:
Azure.reset_subscription()
All of the above works with resource groups as well:
from azure_pyproxy import Azure
az = Azure()
Azure.set_resource_group("resource-group")
az.vm_start(name="virtual")
Code above starts VM named virtual
in resource group resource-group
. Following code resets the setting for you:
Azure.reset_resource_group()
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
AzurePyProxy-1.1b0.tar.gz
(3.5 kB
view details)
File details
Details for the file AzurePyProxy-1.1b0.tar.gz
.
File metadata
- Download URL: AzurePyProxy-1.1b0.tar.gz
- Upload date:
- Size: 3.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.35.0 CPython/3.6.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | df1d192d308eccc517fbd65a372ba8a0b747852f4b04cadf62fc21f137dc17f6 |
|
MD5 | 4f1abc5bfd1818b16bd7d62415d0010b |
|
BLAKE2b-256 | b9adfbbb1a39adda06820ef2324de2a539760ff944c85c0cbe98a6a2246ecd11 |