##Digital Ocean Wrench
Complete CLI to the Digital Ocean API
###Installation
npm install -g dow
dow
will look for a DIGITALOCEAN_ACCESS_TOKEN
environment variable. You can create one here, and surface it by adding the following to your .profile
/.bash_profile
/etc.:
export DIGITALOCEAN_ACCESS_TOKEN="<your-access-token>"
If you really want, you can additionally pass your token via the --token
flag (see special flags). Read here about how to keep such commands out of your history.
###Usage
For now, the tool will pretty much explain how to use it. (Methods map pretty simply to the official documentation.) Top-level lists categories:
$ dow
usage: dow <command>
where <command> is one of:
actions
domains
domain-records
droplets
images
ssh-keys
regions
sizes
floating-ips
Categories list methods:
$ dow images
usage: dow images <method>
where <method> is one of:
list
get-by-id
get-by-slug
list-actions
update
delete
transfer
convert-to-snapshot
get-action
And methods explain themselves when misused:
$ dow images get-by-slug
usage: dow images get-by-slug <image-id>
or
$ dow droplet create
usage: dow droplets create
--name=<value>
--region=<value>
--size=<value>
--image=<value>
[--ssh_keys=<value-1>,<value-2>,...]
[--backups=<value>]
[--ipv6=<value>]
[--private_networking=<value>]
[--user_data=<value>]
Output tries to be common sense, but log is far from complete. You can use --raw
to get just the JSON response. The JSON combined with a command-line JSON manipulator like json give you plenty of flexibility. See the cookbook for some examples.
###Special flags
Special Flag | Explanation |
---|
--raw | Only write out Digital Ocean's JSON response |
--token=<token> | Manually provide access token |
--no-wait | Do not wait for actions to move out of 'in-progress' status or for droplets to move out of 'new' status. Without --no-wait , dow will poll new actions and droplets until they reach a resolution. |
--no-spin | Do not show a spinner |
--page=<page #> | Request an individual page of results (useful for actions + images, and maybe more) |
--force | Skip confirmation of DELETE methods |