A python client library for uwsgi.it.
pip install uwsgiit-py
To use the API
from uwsgiit.api import UwsgiItClient
client = UwsgiItClient("kratos", "deimos", "https://foobar.com/api")
# Plain Usage
curl https://kratos:deimos@foobar.com/api/news/
client.news()
# Plain Usage
curl https://kratos:deimos@foobar.com/api/me/
client.me()
# Plain Usage
curl -X POST -d '{"company": "God of War 4 S.p.a."}' https://kratos:deimos@foobar.com/api/me/
client.update_me({'company': 'God of War 4 S.p.a.'})
# Plain Usage
curl -X POST -d '{"password": "deimos17"}' https://kratos:deimos@foobar.com/api/me/
client.update_me({'password': 'deimos17'})
# Plain Usage
curl https://kratos:deimos17@foobar.com/api/me/containers/
client.containers()
# Plain Usage
curl https://kratos:deimos17@foobar.com/api/containers/30009
client.container(30009)
# Plain Usage
curl https://kratos:deimos17@foobar.com/api/distros/
client.distros()
# Plain Usage
curl -X POST -d '{"distro": 2}' https://kratos:deimos17@foobar.com/api/containers/30009
client.container_set_distro(30009, 2)
# Plain Usage
curl -X POST -d '{"ssh_keys": ["ssh-rsa ........."]}' https://kratos:deimos17@foobar.com/api/containers/30009
client.container_set_keys(30009, ["ssh-rsa ........."])
# Plain Usage
curl https://kratos:deimos17@foobar.com/api/domains/
client.domains()
# Plain Usage
curl -X POST -d '{"name":"mynewdomain.org"}' https://kratos:deimos17@foobar.com/api/domains/
client.add_domain("mynewdomain.org")
# Plain Usage
curl -X DELETE -d '{"name":"mynewdomain.org"}' https://kratos:deimos17@foobar.com/api/domains/
client.delete_domain("mynewdomain.org")
All the client methods return a requests' Request instance. To ease error handling the instance is augmentend with two more attributes:
- uerror: a boolean that indicate if an HTTP error occured
- umessage: the error message in plain text
Mikamai's ruby client used as reference