A consistent interface to multiple IaaS clouds; in Python http://cloudbridge.cloudve.org

Enis Afgan 559882d42e Add a link to the docs on RTD vor 11 Jahren
cloudbridge 9017a14223 Fix for boto quirkiness vor 11 Jahren
docs 969b541dec Updated docs - changed markdown to rst. vor 11 Jahren
test fa74704c89 Add a tests for security services vor 11 Jahren
.gitignore bc79e797a9 Add .DS_Store to .gitignore vor 11 Jahren
.travis.yml 718e5fdd05 Removed osx from travis build. vor 11 Jahren
LICENSE 1500caecff Initial commit vor 11 Jahren
README.rst 559882d42e Add a link to the docs on RTD vor 11 Jahren
example.py 1cfae21f31 Merge branch 'master' of https://github.com/gvlproject/cloudbridge vor 11 Jahren
requirements.txt 4b12ccfb9b Added setup.py vor 11 Jahren
setup.py 4b4087cf0c Fixed some errors in image fetching and tried to make it more robust on vor 11 Jahren
tox.ini 629e1ed12a Renamed aws environment variables vor 11 Jahren

README.rst

cloudbridge
===========

cloudbridge provides a layer of abstraction over different cloud providers.
It's a straightfoward implementation of the `bridge pattern`_.

.. image:: https://codeclimate.com/github/gvlproject/cloudbridge/badges/gpa.svg
:target: https://codeclimate.com/github/gvlproject/cloudbridge
:alt: Code Climate

.. image:: https://landscape.io/github/gvlproject/cloudbridge/master/landscape.svg?style=flat
:target: https://landscape.io/github/gvlproject/cloudbridge/master
:alt: Landscape Code Health

.. image:: https://coveralls.io/repos/gvlproject/cloudbridge/badge.svg?branch=master&service=github
:target: https://coveralls.io/github/gvlproject/cloudbridge?branch=master
:alt: Code Coverage

.. image:: https://travis-ci.org/gvlproject/cloudbridge.svg?branch=master
:target: https://travis-ci.org/gvlproject/cloudbridge
:alt: Travis Build Status

.. image:: https://img.shields.io/pypi/status/cloudbridge.svg
:target: https://pypi.python.org/pypi/cloudbridge/
:alt: latest version available on PyPI

Usage example
~~~~~~~~~~~~~

The simplest possible example for doing something useful with cloudbridge would
look like the following.

.. code-block:: python

from cloudbridge.providers.factory import CloudProviderFactory, ProviderList

provider = CloudProviderFactory().create_provider(ProviderList.AWS, {})
print(provider.security.key_pairs.list())

In the example above, the AWS_ACCESS_KEY and AWS_SECRET_KEY environment variables
must be set to your cloud credentials.


Documentation
~~~~~~~~~~~~~
Complete documentation can be found at .


Running tests
~~~~~~~~~~~~~
To run the test suite locally, install `tox`_ with :code:`pip install tox`
and run ``tox`` command. This will run all the tests for
all the environments defined in file ``tox.ini``. In order to properly run the
tests, you should have all the environment variables listed in
``tox.ini`` file (under ``passenv``) exported.

If you’d like to run the tests on a specific environment only, use a command
like this: ``tox -e py27`` (or ``python setup.py test`` directly). If you'd
like to run the tests for a specific cloud only, you should export env var
``CB_TEST_PROVIDER`` and specify the desired provider name (e.g., ``aws`` or
``openstack``) and then run the ``tox`` command.

Note that running the tests will create various cloud resources, for which you
may incur costs.


.. _`bridge pattern`: https://en.wikipedia.org/wiki/Bridge_pattern
.. _`tox`: https://tox.readthedocs.org/en/latest/