Git Product home page Git Product logo

barge's Introduction

Barge

Gem Version Build Status Coverage Status Code Climate Dependency Status

Ruby library for version 2 of DigitalOcean's API.

Please note that version 2 of DigitalOcean's API is in beta, and is still being developed. Everything is subject to change.

Installation

gem install barge

Ruby 1.9 and up is required. See the .travis.yml file for a list of supported rubies.

Initialize

barge = Barge::Client.new(access_token: 'token')

or

barge = Barge::Client.new do |config|
  config.access_token = 'token'
end

Resources

General

Hashie::Mash

Hashie::Mash is used so that attributes can be accessed using dot notation:

droplet = barge.droplet.show(droplet_id)
droplet.name        # => "foo"
droplet.image.id    # => 123
droplet.size!.vcpus # => 1

Notice that size! and not size was used. This is because size already is a method, and Hashie::Mash will not override it. You can also use square brackets:

droplet[:size][:vcpus]   # => 1
droplet['size']['vcpus'] # => 1

success?

You can use success? to check if a successful HTTP status code was returned:

barge.droplet.create(options).success? # => true

Action

Show all actions

barge.action.all

Show action

barge.action.show(action_id)

Droplet

Create droplet

barge.droplet.create(options)

See the API documentation for options.

Show all droplets

barge.droplet.all

Show droplet

barge.droplet.show(droplet_id)

Show droplet backups

barge.droplet.backups(droplet_id)

Show droplet snapshots

barge.droplet.snapshots(droplet_id)

Destroy droplet

barge.droplet.destroy(droplet_id)

Rename droplet

barge.droplet.rename(droplet_id, 'new name')

Reboot droplet

barge.droplet.reboot(droplet_id)

Shutdown droplet

barge.droplet.shutdown(droplet_id)

Power off droplet

barge.droplet.power_off(droplet_id)

Power cycle droplet

barge.droplet.power_cycle(droplet_id)

Power on droplet

barge.droplet.power_on(droplet_id)

Resize droplet

barge.droplet.resize(droplet_id, 'size slug')

Where size slug is for example 1024mb.

Rebuild droplet

barge.droplet.rebuild(droplet_id, image_id)

Restore droplet

barge.droplet.restore(droplet_id, image_id)

Reset a droplet's password

barge.droplet.password_reset(droplet_id)

Show droplet action

barge.droplet.show_action(droplet_id, action_id)

Image

Show all images

barge.image.all

Show image

By ID:

barge.image.show(image_id)

By image slug (public images):

barge.image.show('image slug')

Where image slug is for example ubuntu-13-10-x64.

Update image

barge.image.update(image_id, options)

See the API documentation for options.

Destroy image

barge.image.destroy(image_id)

Transfer image

barge.image.transfer(image_id, 'region slug')

Where region slug is for example sfo1.

Show image action

barge.image.show_action(image_id, action_id)

Domain

Create domain

barge.domain.create(options)

See the API documentation for options.

Show all domains

barge.domain.all

Show domain

barge.domain.show(domain_name)

Destroy domain

barge.domain.destroy(domain_name)

Create domain record

barge.domain.create_record(domain_name, options)

See the API documentation for options.

Show all domain records

barge.domain.records

Show domain record

barge.domain.show_record(domain_name, record_id)

Update domain record

barge.domain.update_record(domain_name, record_id, options)

Destroy domain record

barge.domain.destroy_record(domain_name, record_id)

Key

Create key

barge.key.create(options)

See the API documentation for options.

Show all keys

barge.key.all

Show key

barge.key.show(key_id_or_fingerprint)

Destroy key

barge.key.destroy(key_id)

Region

Show all regions

barge.region.all

Size

Show all sizes

barge.size.all

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.