Metadata-Version: 1.2
Name: agipy
Version: 0.2.2
Summary: destroy cloud infrastructure in a hurry
Home-page: https://github.com/shimst3r/agipy
Author: Nils P. Müller
Author-email: shimst3r@gmail.com
License: GPL
Download-URL: https://github.com/shimst3r/agipy/archive/0.2.2.tar.gz
Description: 
        agipy
        =====
        
        
        .. image:: https://travis-ci.org/shimst3r/agipy.svg?branch=master
           :target: https://travis-ci.org/shimst3r/agipy
           :alt: Build Status
        
        
        ..
        
           /əˈdʒɪˈpaɪ/, portmanteau of AgI (chemical formula of silver iodide) and Python
        
        
        ``agipy`` enables you to destroy cloud infrastructure in a hurry. Whether you want to destroy a demo
        environment you no longer need or want to purge artifacts a colleague left behind, ``agipy`` is here
        to help you dissolving your cloud problems.
        
        About the name
        --------------
        
        ``agipy`` is a portmanteau of the chemical formula AgI for silver iodide and the word Python.
        
        Silver iodide is a chemical used for `cloud seeding <https://en.wikipedia.org/wiki/Cloud_seeding#Methodology>`_.
        Cloud seeding is a weather modification that changes the amount or type of precipitation that falls from clouds;
        in my opinion that is an appropriate metaphor for deleting cloud infrastructure, especially compared to
        alternatives that include "nukes" or "EMPs".
        
        `Python <https://www.python.org/>`_ is the language ``agipy`` is implemented in. It is a great language for
        everything concerning cloud infrastructure and automation, and it happens to be the language I feel most
        comfortable with.
        
        How to use ``agipy``
        ------------------------
        
        ``agipy`` is available on `PyPI <https://pypi.org/project/agipy/>`_\ , so you can install it using ``pip``\ :
        
        .. code-block:: sh
        
           pip install --user agipy
        
        In addition you can clone the repository and then install it from source via:
        
        .. code-block:: sh
        
           python3 setup.py install
        
        To find out how the CLI works, use the built-in help function:
        
        .. code-block:: sh
        
           agipy --help
        
        ``agipy`` is based on the concept of *providers*\ : For each public cloud provider, a ``agipy``\ -specific
        provider module has to be implemented. At the moment, the following provider modules exist:
        
        
        * `Microsoft Azure <https://azure.microsoft.com/en-us/>`_
        
        Because each provider has its own semantics, please refer to the respective subsection.
        
        How to use the ``azure`` provider
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        
        As of yet, the ``azure`` provider is capable of deleting all resource groups with a specific prefix.
        For using the provider, you have to set the following environment variables:
        
        
        * ``AZURE_CLIENT_ID``\ , the service principal ID
        * ``AZURE_CLIENT_SECRET``\ , the service principal secret
        * ``AZURE_SUBSCRIPTION_ID``
        * ``AZURE_TENANT_ID``
        
        Alternatively you can provide any of these values via command line arguments, see below.
        
        You can call the provider via:
        
        .. code-block:: sh
        
           agipy azure --prefix=${RG_PREFIX} [--client-id=${AZURE_CLIENT_ID}] [--client-secret=${AZURE_CLIENT_SECRET}] [--subscription-id=${AZURE_SUBSCRIPTION_ID}] [--tenant-id=${AZURE_TENANT_ID}]
        
        How to Test
        -----------
        
        The test suite is based on the great `\ ``pytest`` <https://docs.pytest.org/en/latest/>`_ library. Once installed, the automatic test
        discovery can be used via
        
        .. code-block:: sh
        
           pytest agipy
        
        In order to keep the tests clean and run smoothly, I try to use subtests and patches where possible.
        
        How to Contribute
        -----------------
        
        This project is released under the GPL license, so I am happy for contributions, forks, and feedback!
        This can be done in many ways:
        
        
        * Open PRs with improvements,
        * add issues if you find bugs,
        * add issues for new features,
        * use ``agipy`` and spread the word.
        
        PRs have to comply with:
        
        
        * `\ ``black`` <https://black.readthedocs.io/en/stable/>`_\ ,
        * `\ ``mypy`` <http://mypy-lang.org>`_\ ,
        * and `\ ``pylint`` <https://www.pylint.org>`_.
        
        New features must be covered by proper tests (idealy unit tests and functional tests) using the `\ ``pytest`` <https://docs.pytest.org/en/latest/>`_ library.
        
        Contributors
        ------------
        
        
        * `shimst3r <https://twitter.com/shimst3r>`_
        
        License
        -------
        
        ..
        
           agipy enables you to destroy cloud infrastructure in a hurry.
           Copyright (C) 2019  Nils Müller shimst3r@gmail.com
        
           This program is free software: you can redistribute it and/or modify
           it under the terms of the GNU General Public License as published by
           the Free Software Foundation, either version 3 of the License, or
           (at your option) any later version.
        
           This program is distributed in the hope that it will be useful,
           but WITHOUT ANY WARRANTY; without even the implied warranty of
           MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
           GNU General Public License for more details.
        
           You should have received a copy of the GNU General Public License
           along with this program.  If not, see https://www.gnu.org/licenses/
        
        
Keywords: azure,cli,cloud,devops,sysadmin,tool
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Requires-Python: >=3.7
