Popularity
6.8
Stable
Activity
0.0
Stable
9
6
4

Monthly Downloads: 7
Programming language: Haskell
License: MIT License
Tags: Data     Network    

DOH alternatives and similar packages

Based on the "network" category.
Alternatively, view DOH alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of DOH or a related project?

Add another 'network' Package

README

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: http://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.