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

nuwan_ag ef82f9a67a Make sure instance is deleted after test_instance_properties, and 10 年之前
cloudbridge 8a032d624b set validate=True when calling boto update() to make sure deleted 10 年之前
docs 969b541dec Updated docs - changed markdown to rst. 10 年之前
test ef82f9a67a Make sure instance is deleted after test_instance_properties, and 10 年之前
.gitignore bc79e797a9 Add .DS_Store to .gitignore 10 年之前
.travis.yml 718e5fdd05 Removed osx from travis build. 10 年之前
LICENSE 1500caecff Initial commit 10 年之前
README.rst c47542e170 Documentation changes and formatting fixes. 10 年之前
example.py 1cfae21f31 Merge branch 'master' of https://github.com/gvlproject/cloudbridge 10 年之前
requirements.txt 4b12ccfb9b Added setup.py 10 年之前
setup.py e17073a0e0 Fixed public and private ip properties for openstack 10 年之前
tox.ini 9726a4cc99 Fixed bug in aws get_instance and added region_name and service_name env 10 年之前

README.rst

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

cloudbridge provides a layer of abstraction over different cloud providers.
It's a straightfoward implementation of the `bridge pattern`_. It is currently
under development and is in a Pre-Alpha state.

.. 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
~~~~~~~~~~~~~
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/