digital-ocean
digital-ocean copied to clipboard
Idiomatic Clojure client for Digital Ocean that makes it easy to boot virtual servers from your REPL
Digital-ocean
Clojure interface for Digital Ocean
[digitalocean "1.2"]
V2 API
Authentication
You can pass in an OAuth token directly to every function.
You can get a token from your Digital Ocean account user settings.
Getting started
(ns myproject
(:require [digitalocean.v2.core :as do]))
(defonce token "YOURAUTHTOKEN")
Droplets
Get all droplets
(do/droplets token)
Get a droplet by ID
(do/get-droplet token 123)
Boot up a new droplet. All droplets require an image id to boot from.
Note that certain fields are required. See the Digital Ocean API V2 docs for all params
(do/create-droplet token nil
{:name "ubuntu-s-1vcpu-2gb-lon1-01"
:region "lon1"
:size "s-1vcpu-2gb"
:image "ubuntu-16-04-x64"
:tags ["web"]
})
Delete a droplet by ID
(do/delete-droplet token 123)
Domains
Get all
(do/domains token)
Get one domain by name
(do/get-domain token "fshionable.com")
Domain records
Get records for a domain
(do/records token "fshionable.com")
Images
Get all images
(do/images token)
Keys
;; Get all keys
(do/keys token)
;; Create a new one
(do/create-key token nil {
:name "Blah"
:public_key "Blah"})
Regions
Get all regions
(do/regions token)
Sizes
Get all sizes
(do/sizes token)
License
Copyright © 2014 Owain Lewis
Distributed under the Eclipse Public License, the same as Clojure.