Metadata-Version: 2.0
Name: pyasgard
Version: 1.4.1
Summary: Python library for working with the Asgard api.
Home-page: https://github.com/gogoit/pyasgard
Author: Sijis Aviles
Author-email: saviles@gogoair.com
License: MIT
Download-URL: https://github.com/gogoit/pyasgard
Keywords: asgard api python netflixoss
Platform: OS Independent
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Dist: beautifulsoup4
Requires-Dist: requests

Asgard Python Library
---------------------

This is a wrapper for the asgard api.

The api mapping is in ``pyasgard/endpoints.py``

Example usage:

.. code:: python

    from pyasgard import Asgard

    # With authentication
    # from base64 import b64encode
    # asgard = Asgard('http://asgard.example.com',
    #                 username='user',
    #                 password=b64encode('secret'))
    asgard = Asgard('http://asgard.example.com')

    asgard.ami.list()
    asgard.ami.show(ami_id='ami-i1234x')

    asgard.cluster.list()
    asgard.cluster.resize(name='appname', minAndMaxSize=4)

Warning
=======

The ``Asgard.asg.create()`` command requires some hacking to support a
dynamic keyword argument. This is documented in the command docstring as
well.

.. code:: python

    client = Asgard('http://test.com')

    vpc_id = 'vpc-something'
    lb_list = ['lb-something']
    lb_param = 'selectedLoadBalancersForVpcId{0}'.format(vpc_id)

    api = client.mapping_table['asg']['create']['default_params']
    api[lb_param] = lb_list

    client.asg.create(**{lotsofparams})

Testing
=======

To run the unit tests, create a ``config.py`` file and run ``tox``:

.. code:: python

    # Unit test contants
    ENC_PASSWD = 'dGVzdHBhc3N3ZA=='
    URL = 'http://asgard.demo.com'
    USERNAME = 'happydog'


