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

nuwan_ag a4e5389002 Improved tests for instance type and image attributes. 10 年 前
cloudbridge e802e658be Moved aws_instance_info_url to a NeCTAR bucket. 10 年 前
docs 969b541dec Updated docs - changed markdown to rst. 10 年 前
test a4e5389002 Improved tests for instance type and image attributes. 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 4e7e7ebf66 Changes to support mock driver use in tox 10 年 前
setup.py 4e7e7ebf66 Changes to support mock driver use in tox 10 年 前
tox.ini 4e7e7ebf66 Changes to support mock driver use in tox 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/