semvec/pypi-packages huggingface dataset:
fabric-digitalocean 0.1
A collection of fabric tools for working with DigitalOcean
License: BSD-2-Clause

===================
fabric-digitalocean
===================

.. image:: https://travis-ci.org/andrewsomething/fabric-digitalocean.svg?branch=master
    :target: https://travis-ci.org/andrewsomething/fabric-digitalocean

fabric-digitalocean is a collection of tools aiming to make it easy to use
`Fabric`_ and `DigitalOcean`_ together.

It was inspired by `fabric-aws`_

Installation
------------

.. code-block::

    pip install fabric-digitalocean


Usage
-----

With fabric-digitalocean, you can decorate Fabric tasks to run on a set of
DigitalOcean Droplet. The `@droplets` decorator can take a list of Droplet IDs,
a tag, or a region as an argument. If you use a tag or region, it will be
expanded to a list of all Droplets with that tag applied or in that region.
They can also be used together.

The environmental variable `FABRIC_DIGITALOCEAN_TOKEN` must contain a
DigitalOcean API token.

See below for an example:

.. code-block:: python

    from fabric.api import task, run
    from fabric_digitalocean.decorators import droplets


    @task
    @droplets(ids=[8043964, 7997777])
    def task_by_ids():
        run('hostname')
        run('uptime')


    @task
    @droplets(tag='demo')
    def task_by_tag():
        run('hostname')
        run('uptime')


    @task
    @droplets(region='nyc3')
    def task_by_region():
        run('hostname')
        run('uptime')


    @task
    @droplets(region='nyc2', tag='demo')
    def task_by_both():
        run('hostname')
        run('uptime')


Testing
-------

To run the test suite, use:

.. code-block::

    nosetests -v --with-coverage --cover-package=fabric_digitalocean


.. _Fabric: http://www.fabfile.org/
.. _DigitalOcean: https://www.digitalocean.com
.. _fabric-aws: https://github.com/EverythingMe/fabric-aws