DOH 0.1.1.0 → 0.1.1.1
raw patch · 5 files changed
+149/−6 lines, 5 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
+ Network.DigitalOcean.Services.Image: Cassandra :: PublicImage
+ Network.DigitalOcean.Services.Image: Centos65x32 :: PublicImage
+ Network.DigitalOcean.Services.Image: Centos65x64 :: PublicImage
+ Network.DigitalOcean.Services.Image: Centos6x32 :: PublicImage
+ Network.DigitalOcean.Services.Image: Centos6x64 :: PublicImage
+ Network.DigitalOcean.Services.Image: Centos70x64 :: PublicImage
+ Network.DigitalOcean.Services.Image: Centos7x64 :: PublicImage
+ Network.DigitalOcean.Services.Image: CoreosAlpha :: PublicImage
+ Network.DigitalOcean.Services.Image: CoreosBeta :: PublicImage
+ Network.DigitalOcean.Services.Image: CoreosStable :: PublicImage
+ Network.DigitalOcean.Services.Image: Debian70x32 :: PublicImage
+ Network.DigitalOcean.Services.Image: Debian70x64 :: PublicImage
+ Network.DigitalOcean.Services.Image: Debian7x32 :: PublicImage
+ Network.DigitalOcean.Services.Image: Debian7x64 :: PublicImage
+ Network.DigitalOcean.Services.Image: Debian8x32 :: PublicImage
+ Network.DigitalOcean.Services.Image: Debian8x64 :: PublicImage
+ Network.DigitalOcean.Services.Image: Debian9x64 :: PublicImage
+ Network.DigitalOcean.Services.Image: Discourse1604 :: PublicImage
+ Network.DigitalOcean.Services.Image: Django1604 :: PublicImage
+ Network.DigitalOcean.Services.Image: Docker :: PublicImage
+ Network.DigitalOcean.Services.Image: Docker1604 :: PublicImage
+ Network.DigitalOcean.Services.Image: Dokku1604 :: PublicImage
+ Network.DigitalOcean.Services.Image: Drupal :: PublicImage
+ Network.DigitalOcean.Services.Image: Elk :: PublicImage
+ Network.DigitalOcean.Services.Image: Fedora24x64 :: PublicImage
+ Network.DigitalOcean.Services.Image: Fedora25x64 :: PublicImage
+ Network.DigitalOcean.Services.Image: Fedora25x64Atomic :: PublicImage
+ Network.DigitalOcean.Services.Image: Fedora26x64 :: PublicImage
+ Network.DigitalOcean.Services.Image: Fedora26x64Atomic :: PublicImage
+ Network.DigitalOcean.Services.Image: Freebsd103x64 :: PublicImage
+ Network.DigitalOcean.Services.Image: Freebsd103x64Zfs :: PublicImage
+ Network.DigitalOcean.Services.Image: Freebsd110x64 :: PublicImage
+ Network.DigitalOcean.Services.Image: Freebsd110x64Zfs :: PublicImage
+ Network.DigitalOcean.Services.Image: Ghost1604 :: PublicImage
+ Network.DigitalOcean.Services.Image: Gitlab1604 :: PublicImage
+ Network.DigitalOcean.Services.Image: Lamp :: PublicImage
+ Network.DigitalOcean.Services.Image: Lamp1604 :: PublicImage
+ Network.DigitalOcean.Services.Image: Lemp :: PublicImage
+ Network.DigitalOcean.Services.Image: Lemp1604 :: PublicImage
+ Network.DigitalOcean.Services.Image: Magento :: PublicImage
+ Network.DigitalOcean.Services.Image: Mean :: PublicImage
+ Network.DigitalOcean.Services.Image: Mean1604 :: PublicImage
+ Network.DigitalOcean.Services.Image: Mediawiki :: PublicImage
+ Network.DigitalOcean.Services.Image: Mongodb :: PublicImage
+ Network.DigitalOcean.Services.Image: Mongodb1604 :: PublicImage
+ Network.DigitalOcean.Services.Image: Mysql1604 :: PublicImage
+ Network.DigitalOcean.Services.Image: Node :: PublicImage
+ Network.DigitalOcean.Services.Image: Node1604 :: PublicImage
+ Network.DigitalOcean.Services.Image: Owncloud1604 :: PublicImage
+ Network.DigitalOcean.Services.Image: Phpmyadmin :: PublicImage
+ Network.DigitalOcean.Services.Image: Phpmyadmin1604 :: PublicImage
+ Network.DigitalOcean.Services.Image: Rancheros :: PublicImage
+ Network.DigitalOcean.Services.Image: Redis :: PublicImage
+ Network.DigitalOcean.Services.Image: Redmine :: PublicImage
+ Network.DigitalOcean.Services.Image: RubyOnRails :: PublicImage
+ Network.DigitalOcean.Services.Image: RubyOnRails1604 :: PublicImage
+ Network.DigitalOcean.Services.Image: Ubuntu1404x32 :: PublicImage
+ Network.DigitalOcean.Services.Image: Ubuntu1404x32Do :: PublicImage
+ Network.DigitalOcean.Services.Image: Ubuntu1404x64 :: PublicImage
+ Network.DigitalOcean.Services.Image: Ubuntu1404x64Do :: PublicImage
+ Network.DigitalOcean.Services.Image: Ubuntu1604x32 :: PublicImage
+ Network.DigitalOcean.Services.Image: Ubuntu1604x64 :: PublicImage
+ Network.DigitalOcean.Services.Image: Ubuntu1610x32 :: PublicImage
+ Network.DigitalOcean.Services.Image: Ubuntu1610x64 :: PublicImage
+ Network.DigitalOcean.Services.Image: Ubuntu1704x32 :: PublicImage
+ Network.DigitalOcean.Services.Image: Ubuntu1704x64 :: PublicImage
+ Network.DigitalOcean.Services.Image: Wordpress :: PublicImage
+ Network.DigitalOcean.Services.Image: Wordpress1604 :: PublicImage
+ Network.DigitalOcean.Services.Image: data PublicImage
+ Network.DigitalOcean.Services.Image: instance Data.Aeson.Types.ToJSON.ToJSON Network.DigitalOcean.Services.Image.PublicImage
+ Network.DigitalOcean.Services.Image: instance GHC.Show.Show Network.DigitalOcean.Services.Image.PublicImage
- Network.DigitalOcean.Services.Droplet: IDropletPayload :: String -> String -> String -> Maybe [String] -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe String -> Maybe Bool -> Maybe [String] -> Maybe [String] -> IDropletPayload
+ Network.DigitalOcean.Services.Droplet: IDropletPayload :: String -> String -> PublicImage -> Maybe [String] -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe String -> Maybe Bool -> Maybe [String] -> Maybe [String] -> IDropletPayload
- Network.DigitalOcean.Services.Droplet: [dropletpayloadImage] :: IDropletPayload -> String
+ Network.DigitalOcean.Services.Droplet: [dropletpayloadImage] :: IDropletPayload -> PublicImage
Files
- DOH.cabal +1/−1
- README.md +2/−2
- src/Network/DigitalOcean.hs +2/−2
- src/Network/DigitalOcean/Services/Droplet.hs +1/−1
- src/Network/DigitalOcean/Services/Image.hs +143/−0
DOH.cabal view
@@ -2,7 +2,7 @@ -- see http://haskell.org/cabal/users-guide/ name: DOH-version: 0.1.1.0+version: 0.1.1.1 synopsis: Complete API bindings for DigitalOcean API V2 description: Complete API bindings for DigitalOcean API V2 .
README.md view
@@ -1,4 +1,4 @@-# DigitalOcean.hs+# DOH Complete API bindings for DigitalOcean API V2 # Getting Started@@ -34,7 +34,7 @@ sshKey <- createSSHKey (SSHKeyPayload "my api key" pubKey) -- Create 2 droplets with our newly uploaded ssh keys- let dropletPayload = IDropletPayload "nyc3" "512mb" "ubuntu-14-04-x64" (Just [sshkeyFingerprint sshKey]) Nothing Nothing Nothing Nothing Nothing Nothing Nothing+ 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
src/Network/DigitalOcean.hs view
@@ -17,7 +17,7 @@ module Main where -import 'Network.DigitalOcean'+import Network.DigitalOcean import Control.Monad.Except import Control.Monad.Reader @@ -38,7 +38,7 @@ sshKey <- 'createSSHKey' ('SSHKeyPayload' \"my ssh key\" pubKey) -- Create 2 droplets with our newly uploaded ssh keys- let dropletPayload = 'IDropletPayload' \"nyc3\" \"512mb\" \"ubuntu-14-04-x64\" (Just [sshkeyFingerprint sshKey]) Nothing Nothing Nothing Nothing Nothing Nothing Nothing+ 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
src/Network/DigitalOcean/Services/Droplet.hs view
@@ -143,7 +143,7 @@ data IDropletPayload = IDropletPayload { dropletpayloadRegion :: String , dropletpayloadSize :: String- , dropletpayloadImage :: String -- ^ number (if using an image ID), or String (if using a public image slug)+ , dropletpayloadImage :: PublicImage -- ^ number (if using an image ID), or String (if using a public image slug) , dropletpayloadSshKeys :: Maybe [String] , dropletpayloadBackups :: Maybe Bool , dropletpayloadIpv6 :: Maybe Bool
src/Network/DigitalOcean/Services/Image.hs view
@@ -75,3 +75,146 @@ toJSON ConvertToSnapshot = object [ actionType' "convert" ] instance Payload ImageAction++data PublicImage =+ CoreosBeta+ | Centos65x32+ | Centos65x64+ | Cassandra+ | Debian70x32+ | Debian70x64+ | Fedora24x64+ | Wordpress+ | Centos70x64+ | Debian7x64+ | Debian7x32+ | Freebsd103x64Zfs+ | Freebsd103x64+ | Ubuntu1404x64Do+ | Ubuntu1404x32Do+ | Freebsd110x64Zfs+ | Freebsd110x64+ | Rancheros+ | Centos6x32+ | Centos6x64+ | Centos7x64+ | Ubuntu1404x64+ | Ubuntu1404x32+ | Fedora25x64Atomic+ | Ubuntu1610x64+ | Ubuntu1610x32+ | Fedora25x64+ | Fedora26x64+ | CoreosStable+ | CoreosAlpha+ | Ubuntu1704x64+ | Ubuntu1704x32+ | Ubuntu1604x32+ | Ubuntu1604x64+ | Debian9x64+ | Debian8x32+ | Debian8x64+ | Fedora26x64Atomic+ | Elk+ | RubyOnRails+ | Mean+ | Redis+ | Drupal+ | Mongodb+ | Phpmyadmin+ | Mediawiki+ | Magento+ | Owncloud1604+ | Node+ | Lemp+ | Docker+ | Lamp+ | RubyOnRails1604+ | Django1604+ | Dokku1604+ | Discourse1604+ | Node1604+ | Lemp1604+ | Lamp1604+ | Mongodb1604+ | Phpmyadmin1604+ | Ghost1604+ | Mean1604+ | Mysql1604+ | Wordpress1604+ | Docker1604+ | Gitlab1604+ | Redmine++instance ToJSON PublicImage where+ toJSON = toJSON . show++instance Show PublicImage where+ show CoreosBeta = "coreos-beta"+ show Centos65x32 = "centos-6-5-x32"+ show Centos65x64 = "centos-6-5-x64"+ show Cassandra = "cassandra"+ show Debian70x32 = "debian-7-0-x32"+ show Debian70x64 = "debian-7-0-x64"+ show Fedora24x64 = "fedora-24-x64"+ show Wordpress = "wordpress"+ show Centos70x64 = "centos-7-0-x64"+ show Debian7x64 = "debian-7-x64"+ show Debian7x32 = "debian-7-x32"+ show Freebsd103x64Zfs = "freebsd-10-3-x64-zfs"+ show Freebsd103x64 = "freebsd-10-3-x64"+ show Ubuntu1404x64Do = "ubuntu-14-04-x64-do"+ show Ubuntu1404x32Do = "ubuntu-14-04-x32-do"+ show Freebsd110x64Zfs = "freebsd-11-0-x64-zfs"+ show Freebsd110x64 = "freebsd-11-0-x64"+ show Rancheros = "rancheros"+ show Centos6x32 = "centos-6-x32"+ show Centos6x64 = "centos-6-x64"+ show Centos7x64 = "centos-7-x64"+ show Ubuntu1404x64 = "ubuntu-14-04-x64"+ show Ubuntu1404x32 = "ubuntu-14-04-x32"+ show Fedora25x64Atomic = "fedora-25-x64-atomic"+ show Ubuntu1610x64 = "ubuntu-16-10-x64"+ show Ubuntu1610x32 = "ubuntu-16-10-x32"+ show Fedora25x64 = "fedora-25-x64"+ show Fedora26x64 = "fedora-26-x64"+ show CoreosStable = "coreos-stable"+ show CoreosAlpha = "coreos-alpha"+ show Ubuntu1704x64 = "ubuntu-17-04-x64"+ show Ubuntu1704x32 = "ubuntu-17-04-x32"+ show Ubuntu1604x32 = "ubuntu-16-04-x32"+ show Ubuntu1604x64 = "ubuntu-16-04-x64"+ show Debian9x64 = "debian-9-x64"+ show Debian8x32 = "debian-8-x32"+ show Debian8x64 = "debian-8-x64"+ show Fedora26x64Atomic = "fedora-26-x64-atomic"+ show Elk = "elk"+ show RubyOnRails = "ruby-on-rails"+ show Mean = "mean"+ show Redis = "redis"+ show Drupal = "drupal"+ show Mongodb = "mongodb"+ show Phpmyadmin = "phpmyadmin"+ show Mediawiki = "mediawiki"+ show Magento = "magento"+ show Owncloud1604 = "owncloud-16-04"+ show Node = "node"+ show Lemp = "lemp"+ show Docker = "docker"+ show Lamp = "lamp"+ show RubyOnRails1604 = "ruby-on-rails-16-04"+ show Django1604 = "django-16-04"+ show Dokku1604 = "dokku-16-04"+ show Discourse1604 = "discourse-16-04"+ show Node1604 = "node-16-04"+ show Lemp1604 = "lemp-16-04"+ show Lamp1604 = "lamp-16-04"+ show Mongodb1604 = "mongodb-16-04"+ show Phpmyadmin1604 = "phpmyadmin-16-04"+ show Ghost1604 = "ghost-16-04"+ show Mean1604 = "mean-16-04"+ show Mysql1604 = "mysql-16-04"+ show Wordpress1604 = "wordpress-16-04"+ show Docker1604 = "docker-16-04"+ show Gitlab1604 = "gitlab-16-04"+ show Redmine = "redmine"