{ "info": { "author": "Tomas Votava", "author_email": "info@tomasvotava.eu", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Topic :: Software Development :: Build Tools" ], "description": "# az-pyproxy\n\nThis Python package provides a proxy class for calling az commands directly from Python.\n\n## Requirements\n\n- [azure cli](https://docs.microsoft.com/en-us/cli/azure/install-azure-cli?view=azure-cli-latest)\n- Python 3.x\n\n## Installation\n\n## Via PIP\n\n```console\npip3 install azpyproxy\n```\n\nor\n\n```console\npython3 -m pip install azpyproxy\n```\n\n## Building from source\n\n```console\nwget https://github.com/tomasvotava/az-pyproxy/archive/master.zip\nunzip master.zip\ncd az-pyproxy-master\npython setup.py build\npython setup.py install\n```\n\n## Usage\n\n```python\nfrom azure_pyproxy import Azure\naz = Azure()\n\n# command: az vm start virtual\naz.vm_start(\"virtual\")\n\n# additional flags and parameters\n# next method call expands like this:\n# az resource list --resource-group=\"YOUR_RESOURCE_GROUP\"\naz.resource_list(resource_group=\"YOUR_RESOURCE_GROUP\")\n\n# positional arguments are simply concatenated after the command call, so commands can be also passed as arguments\naz.vm(\"deallocate\", name=\"virtual\", resource_group=\"YOUR_RESOURCE_GROUP\")\n# expands as:\n# az vm deallocate --name=\"virtual\" --resource_group=\"YOUR_RESOURCE_GROUP\"\n\n# by default, underscores in flag names are replaced with dashes\naz.vm_deallocate(name=\"virtual\", resource_group=\"YOUR_RESOURCE_GROUP\")\n# az vm deallocate --name=\"virtual\" --resource_group=\"YOUR_RESOURCE_GROUP\"\n\n# however, this can be overriden by specifying replace_underscore=False\naz.vm_deallocate(name=\"virtual\", resource_group=\"YOUR_RESOURCE_GROUP\", replace_underscore=False)\n# az vm deallocate --name=\"virtual\" --resource_group=\"YOUR_RESOURCE_GROUP\"\n\n# the command returns json output from the commands, if you would like to redirect stdout/stderr/stdin instead, just pass keep_output=True\naz.vm_deallocate(name=\"virtual\", resource_group=\"YOUR_RESOURCE_GROUP\", keep_stdout=True)\n# Returns True/False based on errorcode of the command, prints all output\n```\n\n## Default subscription and resource group\n\nIf 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.\n\n```python\nfrom azure_pyproxy import Azure\n\naz = Azure()\n\n# Shows your default subscription\naz.account_show()\n\naz.account_show(subscription=\"another_subscription\")\n# Shows your \"another_subscription\"\n\nAzure.set_subscription(\"another_subscription\")\naz.account_show()\n# Shows your \"another_subscription\"\n\n# If you have set your subscription using Azure.set_subscription\n# and you need to use few calls using another one,\n# you can always specify your subscription as a parameter (this overrides default setting)\nAzure.set_subscription(\"another_subscription\")\naz.account_show(subscription=\"yet_another_one\")\n# Shows info for \"yet_another_one\"\n\n# In case you want to switch back to your az default, you can reset your subscription:\nAzure.reset_subscription()\n```\n\nAll of the above works with resource groups as well:\n\n```python\nfrom azure_pyproxy import Azure\naz = Azure()\n\nAzure.set_resource_group(\"resource-group\")\n\naz.vm_start(name=\"virtual\")\n```\n\nCode above starts VM named `virtual` in resource group `resource-group`. Following code resets the setting for you:\n\n```python\nAzure.reset_resource_group()\n```", "description_content_type": "text/markdown", "docs_url": null, "download_url": "https://github.com/tomasvotava/azure-pyproxy/archive/master.zip", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/tomasvotava/azure-pyproxy", "keywords": "azure platform azure python proxy", "license": "MIT License", "maintainer": "", "maintainer_email": "", "name": "AzurePyProxy", "package_url": "https://pypi.org/project/AzurePyProxy/", "platform": "", "project_url": "https://pypi.org/project/AzurePyProxy/", "project_urls": { "Bug Tracker": "https://github.com/tomasvotava/azure-pyproxy/issues", "Documentation": "https://github.com/tomasvotava/azure-pyproxy/blob/master/README.md", "Download": "https://github.com/tomasvotava/azure-pyproxy/archive/master.zip", "Homepage": "https://github.com/tomasvotava/azure-pyproxy", "Source Code": "https://github.com/tomasvotava/azure-pyproxy" }, "release_url": "https://pypi.org/project/AzurePyProxy/1.1b0/", "requires_dist": null, "requires_python": "", "summary": "This package provides proxy class for calling azure commands directly from Python.", "version": "1.1b0" }, "last_serial": 5766543, "releases": { "1.0b0": [ { "comment_text": "", "digests": { "md5": "afa19ca302ceb5d451af72a29fd3dfae", "sha256": "2a5bd4b3c87e124c2108cc781e0c4ee2e50055a346c78797e5cad3cdbae2e1fa" }, "downloads": -1, "filename": "AzurePyProxy-1.0b0-py3.6.egg", "has_sig": false, "md5_digest": "afa19ca302ceb5d451af72a29fd3dfae", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": null, "size": 4197, "upload_time": "2019-09-01T09:09:00", "url": "https://files.pythonhosted.org/packages/c5/d2/a46da229d27f072ca8726dabf9563f0f726beb947fcfb8a38c2e8e258bca/AzurePyProxy-1.0b0-py3.6.egg" }, { "comment_text": "", "digests": { "md5": "9e6d65b1fe7a384da64fdf7ac9b31dad", "sha256": "2658c82601d7ed8db4b810897e15afe2fe3d8b3c420344ac07a2602fa861b2a6" }, "downloads": -1, "filename": "AzurePyProxy-1.0b0.tar.gz", "has_sig": false, "md5_digest": "9e6d65b1fe7a384da64fdf7ac9b31dad", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2882, "upload_time": "2019-09-01T09:09:03", "url": "https://files.pythonhosted.org/packages/06/78/d107cd6d7b37780a101258e3a95e15bdb7ea16bdb494f922c5ca34f8a84f/AzurePyProxy-1.0b0.tar.gz" } ], "1.1b0": [ { "comment_text": "", "digests": { "md5": "4f1abc5bfd1818b16bd7d62415d0010b", "sha256": "df1d192d308eccc517fbd65a372ba8a0b747852f4b04cadf62fc21f137dc17f6" }, "downloads": -1, "filename": "AzurePyProxy-1.1b0.tar.gz", "has_sig": false, "md5_digest": "4f1abc5bfd1818b16bd7d62415d0010b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3532, "upload_time": "2019-09-01T09:59:42", "url": "https://files.pythonhosted.org/packages/b9/ad/fbbb1a39adda06820ef2324de2a539760ff944c85c0cbe98a6a2246ecd11/AzurePyProxy-1.1b0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "4f1abc5bfd1818b16bd7d62415d0010b", "sha256": "df1d192d308eccc517fbd65a372ba8a0b747852f4b04cadf62fc21f137dc17f6" }, "downloads": -1, "filename": "AzurePyProxy-1.1b0.tar.gz", "has_sig": false, "md5_digest": "4f1abc5bfd1818b16bd7d62415d0010b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3532, "upload_time": "2019-09-01T09:59:42", "url": "https://files.pythonhosted.org/packages/b9/ad/fbbb1a39adda06820ef2324de2a539760ff944c85c0cbe98a6a2246ecd11/AzurePyProxy-1.1b0.tar.gz" } ] }