Attention!
DEPRECATED This is no longer being maintained and no future changes, updates or enhancements will be added.
This is a wrapper for the asgard api.
The api mapping is in pyasgard/endpoints.py
Example usage:
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)
The Asgard.asg.create()
command requires some hacking to support a
dynamic keyword argument. This is documented in the command docstring as
well.
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})
To run the unit tests, create a config.py
file and run tox
:
# Unit test contants
ENC_PASSWD = 'dGVzdHBhc3N3ZA=='
URL = 'http://asgard.demo.com'
USERNAME = 'happydog'