| CARVIEW |
Select Language
HTTP/1.1 200 OK
Connection: keep-alive
Server: nginx/1.24.0 (Ubuntu)
Content-Type: text/html; charset=utf-8
Cache-Control: public, max-age=300
Content-Encoding: gzip
Via: 1.1 varnish, 1.1 varnish
Accept-Ranges: bytes
Age: 0
Date: Sat, 17 Jan 2026 04:58:17 GMT
X-Served-By: cache-dfw-kdal2120131-DFW, cache-bom-vanm7210072-BOM
X-Cache: MISS, MISS
X-Cache-Hits: 0, 0
X-Timer: S1768625897.453085,VS0,VE518
Vary: Accept, Accept-Encoding
transfer-encoding: chunked
DOH: Complete API bindings for DigitalOcean API V2
[Skip to Readme]
DOH: Complete API bindings for DigitalOcean API V2
Complete API bindings for DigitalOcean API V2
To get started, see Network.DigitalOcean module below.
[Skip to Readme]
Modules
[Index]
- Network
- Network.DigitalOcean
- Network.DigitalOcean.Http
- Network.DigitalOcean.Services
- Network.DigitalOcean.Services.Account
- Network.DigitalOcean.Services.Action
- Network.DigitalOcean.Services.Certificate
- Network.DigitalOcean.Services.Domain
- Network.DigitalOcean.Services.DomainRecord
- Network.DigitalOcean.Services.Droplet
- Network.DigitalOcean.Services.Firewall
- Network.DigitalOcean.Services.FloatingIp
- Network.DigitalOcean.Services.Image
- Network.DigitalOcean.Services.LoadBalancer
- Network.DigitalOcean.Services.Region
- Network.DigitalOcean.Services.SSHKey
- Network.DigitalOcean.Services.Size
- Network.DigitalOcean.Services.Snapshot
- Network.DigitalOcean.Services.Volume
- Network.DigitalOcean.Types
- Utils
- Network.DigitalOcean
Downloads
- DOH-0.1.4.0.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
- No Candidates
| Versions [RSS] | 0.1.0.0, 0.1.1.0, 0.1.1.1, 0.1.2.0, 0.1.3.0, 0.1.4.0 |
|---|---|
| Dependencies | aeson, aeson-casing, base (>=4.9 && <=5.0), bytestring, containers, filepath, http-client, http-client-tls, http-types, lens, mtl, network-uri, text, time, unordered-containers [details] |
| License | MIT |
| Author | Yiğit Özkavcı |
| Maintainer | yigitozkavci8@gmail.com |
| Uploaded | by yigitozkavci at 2018-06-20T07:59:04Z |
| Category | Network |
| Source repo | head: git clone https://github.com/inzva/DOH |
| Distributions | |
| Reverse Dependencies | 1 direct, 0 indirect [details] |
| Downloads | 4442 total (25 in the last 30 days) |
| Rating | 2.0 (votes: 1) [estimated by Bayesian average] |
| Your Rating |
|
| Status | Docs available [build log] Last success reported on 2018-06-20 [all 1 reports] |
Readme for DOH-0.1.4.0
[back to package description]DOH
Complete API bindings for DigitalOcean API V2
Getting Started
Here is an example usage of the API:
{-# LANGUAGE OverloadedStrings #-}
module Main where
-----------------------------------------------------------------
import Network.DigitalOcean
import Network.DigitalOcean.Types
import Network.DigitalOcean.Services
-----------------------------------------------------------------
import Control.Monad.Except
import Control.Monad.Reader
-----------------------------------------------------------------
client :: Client
client = Client "your api key"
main :: IO ()
main = do
result <- runExceptT $ (runReaderT $ runDO createViaSshKeys) client
case result of
Left err -> print err
Right _ -> return ()
createViaSshKeys :: DO ()
createViaSshKeys = do
-- Read a public key from a key pair and create ssh keys on DigitalOcean with it
pubKey <- liftIO $ readFile "/Users/yigitozkavci/.ssh/do_api_rsa.pub"
sshKey <- createSSHKey (SSHKeyPayload "my api key" pubKey)
-- Create 2 droplets with our newly uploaded ssh keys
let dropletPayload = IDropletPayload "nyc3" "512mb" Ubuntu1404x64 (Just [sshkeyFingerprint sshKey]) Nothing Nothing Nothing Nothing Nothing Nothing Nothing
droplets <- map dropletId <$> createDroplets ["droplet-1", "droplet-2"] dropletPayload
-- Take snapshot of our newly created droplets
forM_ droplets $ \dropletId -> performDropletAction dropletId (TakeSnapshot (Just "bulk snapshot"))
For full documentation and reference, see: https://hackage.haskell.org/package/DOH-0.1.2.0
Contributing
What can you do?
- You can open an issue for unexpected / needed behaviors
- Better, you can send a Pull Request
Any kind of contributions are welcome, even if it's updating docs / improving commenting / improving tests.