packages feed

aws-ec2 0.3.6 → 0.3.7

raw patch · 2 files changed

+113/−3 lines, 2 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

+ Aws.Ec2.Commands.DescribeInstanceStatus: DInitializing :: InstanceStatusDetailStatus
+ Aws.Ec2.Commands.DescribeInstanceStatus: DInsufficientData :: InstanceStatusDetailStatus
+ Aws.Ec2.Commands.DescribeInstanceStatus: DescribeInstanceStatusResponse :: [InstanceStatus] -> DescribeInstanceStatusResponse
+ Aws.Ec2.Commands.DescribeInstanceStatus: Failed :: InstanceStatusDetailStatus
+ Aws.Ec2.Commands.DescribeInstanceStatus: Impaired :: InstanceStatusStatus
+ Aws.Ec2.Commands.DescribeInstanceStatus: Initializing :: InstanceStatusStatus
+ Aws.Ec2.Commands.DescribeInstanceStatus: InstanceStatus :: Text -> Text -> Maybe InstanceStatusSummary -> Maybe InstanceStatusSummary -> Maybe InstanceState -> InstanceStatus
+ Aws.Ec2.Commands.DescribeInstanceStatus: InstanceStatusDetails :: InstanceStatusDetailName -> InstanceStatusDetailStatus -> InstanceStatusDetails
+ Aws.Ec2.Commands.DescribeInstanceStatus: InstanceStatusSummary :: InstanceStatusStatus -> [InstanceStatusDetails] -> InstanceStatusSummary
+ Aws.Ec2.Commands.DescribeInstanceStatus: InsufficientData :: InstanceStatusStatus
+ Aws.Ec2.Commands.DescribeInstanceStatus: NotApplicable :: InstanceStatusStatus
+ Aws.Ec2.Commands.DescribeInstanceStatus: Ok :: InstanceStatusStatus
+ Aws.Ec2.Commands.DescribeInstanceStatus: Passed :: InstanceStatusDetailStatus
+ Aws.Ec2.Commands.DescribeInstanceStatus: Reachability :: InstanceStatusDetailName
+ Aws.Ec2.Commands.DescribeInstanceStatus: [disrInstanceStatuses] :: DescribeInstanceStatusResponse -> [InstanceStatus]
+ Aws.Ec2.Commands.DescribeInstanceStatus: [isAvailabilityZone] :: InstanceStatus -> Text
+ Aws.Ec2.Commands.DescribeInstanceStatus: [isInstanceId] :: InstanceStatus -> Text
+ Aws.Ec2.Commands.DescribeInstanceStatus: [isInstanceStatus] :: InstanceStatus -> Maybe InstanceStatusSummary
+ Aws.Ec2.Commands.DescribeInstanceStatus: [isState] :: InstanceStatus -> Maybe InstanceState
+ Aws.Ec2.Commands.DescribeInstanceStatus: [isSystemStatus] :: InstanceStatus -> Maybe InstanceStatusSummary
+ Aws.Ec2.Commands.DescribeInstanceStatus: [isdName] :: InstanceStatusDetails -> InstanceStatusDetailName
+ Aws.Ec2.Commands.DescribeInstanceStatus: [isdStatus] :: InstanceStatusDetails -> InstanceStatusDetailStatus
+ Aws.Ec2.Commands.DescribeInstanceStatus: [siDetails] :: InstanceStatusSummary -> [InstanceStatusDetails]
+ Aws.Ec2.Commands.DescribeInstanceStatus: [siStatus] :: InstanceStatusSummary -> InstanceStatusStatus
+ Aws.Ec2.Commands.DescribeInstanceStatus: data InstanceStatus
+ Aws.Ec2.Commands.DescribeInstanceStatus: data InstanceStatusDetailName
+ Aws.Ec2.Commands.DescribeInstanceStatus: data InstanceStatusDetailStatus
+ Aws.Ec2.Commands.DescribeInstanceStatus: data InstanceStatusDetails
+ Aws.Ec2.Commands.DescribeInstanceStatus: data InstanceStatusStatus
+ Aws.Ec2.Commands.DescribeInstanceStatus: data InstanceStatusSummary
+ Aws.Ec2.Commands.DescribeInstanceStatus: instance Data.Aeson.Types.Class.FromJSON Aws.Ec2.Commands.DescribeInstanceStatus.DescribeInstanceStatusResponse
+ Aws.Ec2.Commands.DescribeInstanceStatus: instance Data.Aeson.Types.Class.FromJSON Aws.Ec2.Commands.DescribeInstanceStatus.InstanceStatus
+ Aws.Ec2.Commands.DescribeInstanceStatus: instance Data.Aeson.Types.Class.FromJSON Aws.Ec2.Commands.DescribeInstanceStatus.InstanceStatusDetails
+ Aws.Ec2.Commands.DescribeInstanceStatus: instance Data.Aeson.Types.Class.FromJSON Aws.Ec2.Commands.DescribeInstanceStatus.InstanceStatusSummary
+ Aws.Ec2.Commands.DescribeInstanceStatus: instance GHC.Classes.Eq Aws.Ec2.Commands.DescribeInstanceStatus.InstanceStatusDetailName
+ Aws.Ec2.Commands.DescribeInstanceStatus: instance GHC.Classes.Eq Aws.Ec2.Commands.DescribeInstanceStatus.InstanceStatusDetailStatus
+ Aws.Ec2.Commands.DescribeInstanceStatus: instance GHC.Classes.Eq Aws.Ec2.Commands.DescribeInstanceStatus.InstanceStatusStatus
+ Aws.Ec2.Commands.DescribeInstanceStatus: instance GHC.Read.Read Aws.Ec2.Commands.DescribeInstanceStatus.InstanceStatusDetailName
+ Aws.Ec2.Commands.DescribeInstanceStatus: instance GHC.Read.Read Aws.Ec2.Commands.DescribeInstanceStatus.InstanceStatusDetailStatus
+ Aws.Ec2.Commands.DescribeInstanceStatus: instance GHC.Read.Read Aws.Ec2.Commands.DescribeInstanceStatus.InstanceStatusStatus
+ Aws.Ec2.Commands.DescribeInstanceStatus: instance GHC.Show.Show Aws.Ec2.Commands.DescribeInstanceStatus.DescribeInstanceStatusResponse
+ Aws.Ec2.Commands.DescribeInstanceStatus: instance GHC.Show.Show Aws.Ec2.Commands.DescribeInstanceStatus.InstanceStatus
+ Aws.Ec2.Commands.DescribeInstanceStatus: instance GHC.Show.Show Aws.Ec2.Commands.DescribeInstanceStatus.InstanceStatusDetailName
+ Aws.Ec2.Commands.DescribeInstanceStatus: instance GHC.Show.Show Aws.Ec2.Commands.DescribeInstanceStatus.InstanceStatusDetailStatus
+ Aws.Ec2.Commands.DescribeInstanceStatus: instance GHC.Show.Show Aws.Ec2.Commands.DescribeInstanceStatus.InstanceStatusDetails
+ Aws.Ec2.Commands.DescribeInstanceStatus: instance GHC.Show.Show Aws.Ec2.Commands.DescribeInstanceStatus.InstanceStatusStatus
+ Aws.Ec2.Commands.DescribeInstanceStatus: instance GHC.Show.Show Aws.Ec2.Commands.DescribeInstanceStatus.InstanceStatusSummary
+ Aws.Ec2.Commands.DescribeInstanceStatus: newtype DescribeInstanceStatusResponse

Files

aws-ec2.cabal view
@@ -1,5 +1,5 @@ name: aws-ec2-version: 0.3.6+version: 0.3.7 cabal-version: >=1.10 build-type: Simple license: BSD3@@ -16,7 +16,7 @@ source-repository this     type: git     location: https://github.com/memcachier/aws-ec2.git-    tag: 0.3.6+    tag: 0.3.7  source-repository head     type: git
src/Aws/Ec2/Commands/DescribeInstanceStatus.hs view
@@ -4,14 +4,124 @@            , OverloadedStrings            , TemplateHaskell            , RecordWildCards-           , OverloadedStrings            #-}  module Aws.Ec2.Commands.DescribeInstanceStatus where +import Data.Aeson (Value(..), FromJSON, parseJSON, (.:), (.:?))+import Data.Aeson.Types (typeMismatch)+import qualified Data.Text as T+ import Aws.Ec2.TH+import Aws.Ec2.Types (InstanceState)  data DescribeInstanceStatus = DescribeInstanceStatus { dis_instanceIds :: [Text] }                        deriving (Show)  ec2ValueTransactionDef ''DescribeInstanceStatus 'DescribeInstanceStatus "instanceStatusSet" "InstanceId"+++data InstanceStatusDetailName = Reachability deriving Eq++instance Show InstanceStatusDetailName where+  show Reachability = "reachability"++instance Read InstanceStatusDetailName where+  readsPrec _ h =+    case h of+      "reachability" -> [(Reachability, "")]+      _ -> fail $ "Failed to parse " ++ h ++ " into InstanceStatusDetailName."+++data InstanceStatusDetailStatus = Passed+                                | Failed+                                | DInsufficientData+                                | DInitializing+                                deriving Eq++instance Show InstanceStatusDetailStatus where+  show Passed = "passed"+  show Failed = "failed"+  show DInsufficientData = "insufficient-data"+  show DInitializing = "initializing"++instance Read InstanceStatusDetailStatus where+  readsPrec _ h =+    case h of+      "passed" -> [(Passed, "")]+      "failed" -> [(Failed, "")]+      "insufficient-data" -> [(DInsufficientData, "")]+      "initializing" -> [(DInitializing, "")]+      _ -> fail $ "Failed to parse " ++ h ++ " into InstanceStatusDetailStatus."+++data InstanceStatusDetails =+  InstanceStatusDetails { isdName :: InstanceStatusDetailName+                        , isdStatus :: InstanceStatusDetailStatus+                        } deriving Show++instance FromJSON InstanceStatusDetails where+  parseJSON (Object v) = InstanceStatusDetails <$>+    (read <$> (v .: "name")) <*>+    (read <$> (v .: "status"))+  parseJSON invalid = typeMismatch "InstanceState" invalid+++data InstanceStatusStatus = Ok+                          | Impaired+                          | InsufficientData+                          | NotApplicable+                          | Initializing+                          deriving Eq++instance Show InstanceStatusStatus where+  show Ok = "ok"+  show Impaired = "impaired"+  show InsufficientData = "insufficient-data"+  show NotApplicable = "not-applicable"+  show Initializing = "initializing"++instance Read InstanceStatusStatus where+  readsPrec _ h =+    case h of+      "ok" -> [(Ok, "")]+      "impaired" -> [(Impaired, "")]+      "insufficient-data" -> [(InsufficientData, "")]+      "not-applicable" -> [(NotApplicable, "")]+      "initializing" -> [(Initializing, "")]+      _ -> fail $ "Failed to parse " ++ h ++ " into InstanceStatusStatus."++data InstanceStatusSummary =+  InstanceStatusSummary { siStatus :: InstanceStatusStatus+                        , siDetails :: [InstanceStatusDetails]+                        } deriving Show++instance FromJSON InstanceStatusSummary where+  parseJSON (Object v) = InstanceStatusSummary <$>+    (read <$> (v .: "status")) <*>+    v .: "details"+  parseJSON invalid = typeMismatch "InstanceStatusSummary" invalid++data InstanceStatus =+  InstanceStatus { isInstanceId :: T.Text+                 , isAvailabilityZone :: T.Text+                 , isInstanceStatus :: Maybe InstanceStatusSummary+                 , isSystemStatus :: Maybe InstanceStatusSummary+                 , isState :: Maybe InstanceState+                 } deriving Show++instance FromJSON InstanceStatus where+  parseJSON (Object v) = InstanceStatus <$>+    v .: "instanceId" <*>+    v .: "availabilityZone" <*>+    v .:? "instanceStatus" <*>+    v .:? "systemStatus" <*>+    v .:? "instanceState"+  parseJSON invalid = typeMismatch "InstanceStatusSummary" invalid++newtype DescribeInstanceStatusResponse =+  DescribeInstanceStatusResponse {disrInstanceStatuses :: [InstanceStatus]} deriving (Show)++instance FromJSON DescribeInstanceStatusResponse where+  parseJSON v = DescribeInstanceStatusResponse <$>+    (maybeToList <$> parseJSON v)