packages feed

aws-sdk 0.11.0 → 0.11.1

raw patch · 17 files changed

+180/−157 lines, 17 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

- AWS: TextConversionException :: Text -> AWSException
- AWS.RDS.Types: DBm1large :: DBInstanceClass
- AWS.RDS.Types: DBm1medium :: DBInstanceClass
- AWS.RDS.Types: DBm1small :: DBInstanceClass
- AWS.RDS.Types: DBm1xlarge :: DBInstanceClass
- AWS.RDS.Types: DBm22xlarge :: DBInstanceClass
- AWS.RDS.Types: DBm24xlarge :: DBInstanceClass
- AWS.RDS.Types: DBm2xlarge :: DBInstanceClass
- AWS.RDS.Types: DBt1micro :: DBInstanceClass
- AWS.RDS.Types: EngineMySQL :: Engine
- AWS.RDS.Types: EngineOracleEE :: Engine
- AWS.RDS.Types: EngineOracleSE :: Engine
- AWS.RDS.Types: EngineOracleSE1 :: Engine
- AWS.RDS.Types: EngineSqlServerEE :: Engine
- AWS.RDS.Types: EngineSqlServerEX :: Engine
- AWS.RDS.Types: EngineSqlServerSE :: Engine
- AWS.RDS.Types: EngineSqlServerWeb :: Engine
- AWS.RDS.Types: PMVAllocatedStorage :: Int -> PendingModifiedValue
- AWS.RDS.Types: PMVBackupRetentionPeriod :: Int -> PendingModifiedValue
- AWS.RDS.Types: PMVDBInstanceClass :: Text -> PendingModifiedValue
- AWS.RDS.Types: PMVDBInstanceIdentifier :: Text -> PendingModifiedValue
- AWS.RDS.Types: PMVEngineVersion :: Text -> PendingModifiedValue
- AWS.RDS.Types: PMVIops :: Int -> PendingModifiedValue
- AWS.RDS.Types: PMVMasterUserPassword :: Text -> PendingModifiedValue
- AWS.RDS.Types: PMVMultiAZ :: Bool -> PendingModifiedValue
- AWS.RDS.Types: PMVPort :: Int -> PendingModifiedValue
- AWS.RDS.Types: azName :: AvailabilityZone -> Text
- AWS.RDS.Types: azProvisionedIopsCapable :: AvailabilityZone -> Bool
- AWS.RDS.Types: data DBInstanceClass
- AWS.RDS.Types: data Engine
- AWS.RDS.Types: dbiAllocatedStorage :: DBInstance -> Int
- AWS.RDS.Types: dbiAutoMinorVersionUpgrade :: DBInstance -> Bool
- AWS.RDS.Types: dbiAvailabilityZone :: DBInstance -> Maybe Text
- AWS.RDS.Types: dbiBackupRetentionPeriod :: DBInstance -> Int
- AWS.RDS.Types: dbiCharacterSetName :: DBInstance -> Maybe Text
- AWS.RDS.Types: dbiDBInstanceClass :: DBInstance -> DBInstanceClass
- AWS.RDS.Types: dbiDBInstanceIdentifier :: DBInstance -> Text
- AWS.RDS.Types: dbiDBInstanceStatus :: DBInstance -> Maybe Text
- AWS.RDS.Types: dbiDBName :: DBInstance -> Maybe Text
- AWS.RDS.Types: dbiDBParameterGroups :: DBInstance -> [DBParameterGroupStatus]
- AWS.RDS.Types: dbiEndpoint :: DBInstance -> Maybe Endpoint
- AWS.RDS.Types: dbiEngine :: DBInstance -> Engine
- AWS.RDS.Types: dbiEngineVersion :: DBInstance -> Text
- AWS.RDS.Types: dbiInstanceCreateTime :: DBInstance -> Maybe UTCTime
- AWS.RDS.Types: dbiIops :: DBInstance -> Maybe Int
- AWS.RDS.Types: dbiLatestRestorableTime :: DBInstance -> Maybe UTCTime
- AWS.RDS.Types: dbiLicenseModel :: DBInstance -> LicenseModel
- AWS.RDS.Types: dbiMasterUsername :: DBInstance -> Text
- AWS.RDS.Types: dbiMultiAZ :: DBInstance -> Bool
- AWS.RDS.Types: dbiOptionGroupMembership :: DBInstance -> Maybe OptionGroupMembership
- AWS.RDS.Types: dbiPendingModifiedValues :: DBInstance -> [PendingModifiedValue]
- AWS.RDS.Types: dbiPreferredBackupWindow :: DBInstance -> Text
- AWS.RDS.Types: dbiPreferredMaintenanceWindow :: DBInstance -> Text
- AWS.RDS.Types: dbiPubliclyAccessible :: DBInstance -> Bool
- AWS.RDS.Types: dbiReadReplicaDBInstanceIdentifiers :: DBInstance -> [Text]
- AWS.RDS.Types: dbiReadReplicaSourceDBInstanceIdentifier :: DBInstance -> Maybe Text
- AWS.RDS.Types: dbiSecurityGroups :: DBInstance -> [DBSecurityGroupMembership]
- AWS.RDS.Types: dbiSubnetGroup :: DBInstance -> Maybe DBSubnetGroup
- AWS.RDS.Types: dbiVpcSecurityGroups :: DBInstance -> [VpcSecurityGroupMembership]
- AWS.RDS.Types: dbpgDBParameterGroupFamily :: DBParameterGroup -> Text
- AWS.RDS.Types: dbpgDBParameterGroupName :: DBParameterGroup -> Text
- AWS.RDS.Types: dbpgDescription :: DBParameterGroup -> Text
- AWS.RDS.Types: dbpgsDBParameterGroupName :: DBParameterGroupStatus -> Text
- AWS.RDS.Types: dbpgsParameterApplyStatus :: DBParameterGroupStatus -> Text
- AWS.RDS.Types: dbsAllocatedStorage :: DBSnapshot -> Int
- AWS.RDS.Types: dbsAvailabilityZone :: DBSnapshot -> Text
- AWS.RDS.Types: dbsDBInstanceIdentifier :: DBSnapshot -> Text
- AWS.RDS.Types: dbsDBSnapshotIdentifier :: DBSnapshot -> Text
- AWS.RDS.Types: dbsEngine :: DBSnapshot -> Text
- AWS.RDS.Types: dbsEngineVersion :: DBSnapshot -> Text
- AWS.RDS.Types: dbsInstanceCreateTime :: DBSnapshot -> UTCTime
- AWS.RDS.Types: dbsIops :: DBSnapshot -> Maybe Int
- AWS.RDS.Types: dbsLicenseModel :: DBSnapshot -> Text
- AWS.RDS.Types: dbsMasterUsername :: DBSnapshot -> Text
- AWS.RDS.Types: dbsPort :: DBSnapshot -> Int
- AWS.RDS.Types: dbsSnapshotCreateTime :: DBSnapshot -> Maybe UTCTime
- AWS.RDS.Types: dbsSnapshotType :: DBSnapshot -> Text
- AWS.RDS.Types: dbsStatus :: DBSnapshot -> Text
- AWS.RDS.Types: dbsVpcId :: DBSnapshot -> Maybe Text
- AWS.RDS.Types: dbsgDBSecurityGroupDescription :: DBSecurityGroup -> Text
- AWS.RDS.Types: dbsgDBSecurityGroupName :: DBSecurityGroup -> Text
- AWS.RDS.Types: dbsgEC2SecurityGroups :: DBSecurityGroup -> [EC2SecurityGroup]
- AWS.RDS.Types: dbsgIPRanges :: DBSecurityGroup -> [IPRange]
- AWS.RDS.Types: dbsgOwnerId :: DBSecurityGroup -> Text
- AWS.RDS.Types: dbsgVpcId :: DBSecurityGroup -> Maybe Text
- AWS.RDS.Types: dbsgmDBSecurityGroupName :: DBSecurityGroupMembership -> Text
- AWS.RDS.Types: dbsgmStatus :: DBSecurityGroupMembership -> Text
- AWS.RDS.Types: dbsngDBSubnetGroupDescription :: DBSubnetGroup -> Text
- AWS.RDS.Types: dbsngDBSubnetGroupName :: DBSubnetGroup -> Text
- AWS.RDS.Types: dbsngSubnetGroupStatus :: DBSubnetGroup -> Text
- AWS.RDS.Types: dbsngSubnets :: DBSubnetGroup -> [Subnet]
- AWS.RDS.Types: dbsngVpcId :: DBSubnetGroup -> Text
- AWS.RDS.Types: epAddress :: Endpoint -> Text
- AWS.RDS.Types: epPort :: Endpoint -> Int
- AWS.RDS.Types: eventEventCategories :: Event -> [Text]
- AWS.RDS.Types: ogmOptionGroupName :: OptionGroupMembership -> Text
- AWS.RDS.Types: ogmStatus :: OptionGroupMembership -> Text
- AWS.RDS.Types: vpcSecurityGroupMembershipStatus :: VpcSecurityGroupMembership -> Text
- AWS.RDS.Types: vpcSecurityGroupMembershipVpcSecurityGroupId :: VpcSecurityGroupMembership -> Text
+ AWS: ConnectionException :: e -> AWSException
+ AWS: FromTextError :: Text -> AWSException
+ AWS: OtherInternalException :: e -> AWSException
+ AWS: ServerError :: AWSException
+ AWS: XmlParserError :: XmlException -> AWSException
+ AWS.RDS.Types: PendingModifiedValueAllocatedStorage :: Int -> PendingModifiedValue
+ AWS.RDS.Types: PendingModifiedValueBackupRetentionPeriod :: Int -> PendingModifiedValue
+ AWS.RDS.Types: PendingModifiedValueDBInstanceClass :: Text -> PendingModifiedValue
+ AWS.RDS.Types: PendingModifiedValueDBInstanceIdentifier :: Text -> PendingModifiedValue
+ AWS.RDS.Types: PendingModifiedValueEngineVersion :: Text -> PendingModifiedValue
+ AWS.RDS.Types: PendingModifiedValueIops :: Int -> PendingModifiedValue
+ AWS.RDS.Types: PendingModifiedValueMasterUserPassword :: Text -> PendingModifiedValue
+ AWS.RDS.Types: PendingModifiedValueMultiAZ :: Bool -> PendingModifiedValue
+ AWS.RDS.Types: PendingModifiedValuePort :: Int -> PendingModifiedValue
+ AWS.RDS.Types: availabilityZoneName :: AvailabilityZone -> Text
+ AWS.RDS.Types: availabilityZoneProvisionedIopsCapable :: AvailabilityZone -> Bool
+ AWS.RDS.Types: dbInstanceAllocatedStorage :: DBInstance -> Int
+ AWS.RDS.Types: dbInstanceAutoMinorVersionUpgrade :: DBInstance -> Bool
+ AWS.RDS.Types: dbInstanceAvailabilityZone :: DBInstance -> Maybe Text
+ AWS.RDS.Types: dbInstanceBackupRetentionPeriod :: DBInstance -> Int
+ AWS.RDS.Types: dbInstanceCharacterSetName :: DBInstance -> Maybe Text
+ AWS.RDS.Types: dbInstanceDBInstanceClass :: DBInstance -> DBInstanceClass
+ AWS.RDS.Types: dbInstanceDBInstanceIdentifier :: DBInstance -> Text
+ AWS.RDS.Types: dbInstanceDBInstanceStatus :: DBInstance -> Maybe Text
+ AWS.RDS.Types: dbInstanceDBName :: DBInstance -> Maybe Text
+ AWS.RDS.Types: dbInstanceDBParameterGroups :: DBInstance -> [DBParameterGroupStatus]
+ AWS.RDS.Types: dbInstanceEndpoint :: DBInstance -> Maybe Endpoint
+ AWS.RDS.Types: dbInstanceEngine :: DBInstance -> Engine
+ AWS.RDS.Types: dbInstanceEngineVersion :: DBInstance -> Text
+ AWS.RDS.Types: dbInstanceInstanceCreateTime :: DBInstance -> Maybe UTCTime
+ AWS.RDS.Types: dbInstanceIops :: DBInstance -> Maybe Int
+ AWS.RDS.Types: dbInstanceLatestRestorableTime :: DBInstance -> Maybe UTCTime
+ AWS.RDS.Types: dbInstanceLicenseModel :: DBInstance -> LicenseModel
+ AWS.RDS.Types: dbInstanceMasterUsername :: DBInstance -> Text
+ AWS.RDS.Types: dbInstanceMultiAZ :: DBInstance -> Bool
+ AWS.RDS.Types: dbInstanceOptionGroupMembership :: DBInstance -> Maybe OptionGroupMembership
+ AWS.RDS.Types: dbInstancePendingModifiedValues :: DBInstance -> [PendingModifiedValue]
+ AWS.RDS.Types: dbInstancePreferredBackupWindow :: DBInstance -> Text
+ AWS.RDS.Types: dbInstancePreferredMaintenanceWindow :: DBInstance -> Text
+ AWS.RDS.Types: dbInstancePubliclyAccessible :: DBInstance -> Bool
+ AWS.RDS.Types: dbInstanceReadReplicaDBInstanceIdentifiers :: DBInstance -> [Text]
+ AWS.RDS.Types: dbInstanceReadReplicaSourceDBInstanceIdentifier :: DBInstance -> Maybe Text
+ AWS.RDS.Types: dbInstanceSecurityGroups :: DBInstance -> [DBSecurityGroupMembership]
+ AWS.RDS.Types: dbInstanceSubnetGroup :: DBInstance -> Maybe DBSubnetGroup
+ AWS.RDS.Types: dbInstanceVpcSecurityGroups :: DBInstance -> [VpcSecurityGroupMembership]
+ AWS.RDS.Types: dbParameterGroupDescription :: DBParameterGroup -> Text
+ AWS.RDS.Types: dbParameterGroupFamily :: DBParameterGroup -> Text
+ AWS.RDS.Types: dbParameterGroupName :: DBParameterGroup -> Text
+ AWS.RDS.Types: dbParameterGroupStatusName :: DBParameterGroupStatus -> Text
+ AWS.RDS.Types: dbParameterGroupStatusStatus :: DBParameterGroupStatus -> Text
+ AWS.RDS.Types: dbSecurityGroupDescription :: DBSecurityGroup -> Text
+ AWS.RDS.Types: dbSecurityGroupEC2SecurityGroups :: DBSecurityGroup -> [EC2SecurityGroup]
+ AWS.RDS.Types: dbSecurityGroupIPRanges :: DBSecurityGroup -> [IPRange]
+ AWS.RDS.Types: dbSecurityGroupMembershipName :: DBSecurityGroupMembership -> Text
+ AWS.RDS.Types: dbSecurityGroupMembershipStatus :: DBSecurityGroupMembership -> Text
+ AWS.RDS.Types: dbSecurityGroupName :: DBSecurityGroup -> Text
+ AWS.RDS.Types: dbSecurityGroupOwnerId :: DBSecurityGroup -> Text
+ AWS.RDS.Types: dbSecurityGroupVpcId :: DBSecurityGroup -> Maybe Text
+ AWS.RDS.Types: dbSnapshotAllocatedStorage :: DBSnapshot -> Int
+ AWS.RDS.Types: dbSnapshotAvailabilityZone :: DBSnapshot -> Text
+ AWS.RDS.Types: dbSnapshotCreateTime :: DBSnapshot -> Maybe UTCTime
+ AWS.RDS.Types: dbSnapshotDBInstanceIdentifier :: DBSnapshot -> Text
+ AWS.RDS.Types: dbSnapshotEngine :: DBSnapshot -> Text
+ AWS.RDS.Types: dbSnapshotEngineVersion :: DBSnapshot -> Text
+ AWS.RDS.Types: dbSnapshotIdentifier :: DBSnapshot -> Text
+ AWS.RDS.Types: dbSnapshotInstanceCreateTime :: DBSnapshot -> UTCTime
+ AWS.RDS.Types: dbSnapshotIops :: DBSnapshot -> Maybe Int
+ AWS.RDS.Types: dbSnapshotLicenseModel :: DBSnapshot -> Text
+ AWS.RDS.Types: dbSnapshotMasterUsername :: DBSnapshot -> Text
+ AWS.RDS.Types: dbSnapshotPort :: DBSnapshot -> Int
+ AWS.RDS.Types: dbSnapshotStatus :: DBSnapshot -> Text
+ AWS.RDS.Types: dbSnapshotType :: DBSnapshot -> Text
+ AWS.RDS.Types: dbSnapshotVpcId :: DBSnapshot -> Maybe Text
+ AWS.RDS.Types: dbSubnetGroupDescription :: DBSubnetGroup -> Text
+ AWS.RDS.Types: dbSubnetGroupName :: DBSubnetGroup -> Text
+ AWS.RDS.Types: dbSubnetGroupStatus :: DBSubnetGroup -> Text
+ AWS.RDS.Types: dbSubnetGroupVpcId :: DBSubnetGroup -> Text
+ AWS.RDS.Types: dbSubnets :: DBSubnetGroup -> [Subnet]
+ AWS.RDS.Types: endpointAddress :: Endpoint -> Text
+ AWS.RDS.Types: endpointPort :: Endpoint -> Int
+ AWS.RDS.Types: eventCategories :: Event -> [Text]
+ AWS.RDS.Types: optionGroupName :: OptionGroupMembership -> Text
+ AWS.RDS.Types: optionGroupStatus :: OptionGroupMembership -> Text
+ AWS.RDS.Types: type DBInstanceClass = Text
+ AWS.RDS.Types: type Engine = Text
+ AWS.RDS.Types: vpcSecurityGroupId :: VpcSecurityGroupMembership -> Text
+ AWS.RDS.Types: vpcSecurityGroupStatus :: VpcSecurityGroupMembership -> Text
+ AWS.RDS.Util: createDBInstanceRequest :: DBInstance -> Text -> Text -> CreateDBInstanceRequest

Files

AWS/Class.hs view
@@ -4,6 +4,8 @@  , MultiParamTypeClasses  , UndecidableInstances  , DeriveDataTypeable+ , ExistentialQuantification+ , StandaloneDeriving  #-}  module AWS.Class@@ -13,6 +15,7 @@     , AWSException(..)     , AWSContext(..)     , getLastRequestId+      -- * re-export     , monadThrow     ) where @@ -35,6 +38,7 @@ import Control.Exception (Exception) import Data.Typeable (Typeable) import Data.Conduit (MonadThrow, monadThrow)+import Text.XML.Stream.Parse (XmlException)  import qualified Network.HTTP.Conduit as HTTP import Data.Text (Text)@@ -51,11 +55,16 @@         , errorMessage :: Maybe Text         , errorRequestId :: Text         } -- ^ This error is caused by client requests.+    | ServerError -- ^ XXX: Not implimented. Internal error of AWS.     | ResponseParseError Text-    | TextConversionException Text+    | FromTextError Text         -- ^ parse error: cannot convert Text to oher data type.+    | XmlParserError XmlException+    | forall e . Exception e => ConnectionException e+    | forall e . Exception e => OtherInternalException e -- ^ bug     | NextToken Text -- ^ This response has next token.-  deriving (Show, Typeable)+  deriving (Typeable)+deriving instance Show AWSException  instance Exception AWSException 
AWS/EC2/Internal.hs view
@@ -87,7 +87,7 @@ volumeType :: MonadThrow m => Text -> Maybe Int -> m VolumeType volumeType t Nothing  | t == "standard" = return $ VolumeTypeStandard volumeType t (Just i) | t == "io1"      = return $ VolumeTypeIO1 i-volumeType t _ = monadThrow $ TextConversionException t+volumeType t _ = monadThrow $ FromTextError t  volumeTypeSink :: MonadThrow m     => Pipe Event Event o u m VolumeType
AWS/EC2/NetworkInterface.hs view
@@ -18,7 +18,6 @@  import AWS.EC2.Internal import AWS.EC2.Types-import AWS.EC2.Params import AWS.EC2.Query import AWS.Lib.Parser import AWS.Util@@ -37,7 +36,7 @@         , either f g epip         , "AllowReassignment" |=? boolToText <$> ar         ]-    f = privateIpAddressesParam "PrivateIpAddress"+    f = ("PrivateIpAddress" |.#=) . map toText     g = ("SecondaryPrivateIpAddressCount" |=) . toText  unassignPrivateIpAddresses@@ -50,7 +49,7 @@   where     params =         [ "NetworkInterfaceId" |= niid-        , privateIpAddressesParam "PrivateIpAddress" addrs+        , "PrivateIpAddress" |.#= map toText addrs         ]  describeNetworkInterfaces
AWS/EC2/Query.hs view
@@ -77,7 +77,7 @@ ec2QuerySource' action params token cond = do     cred <- Reader.ask     ctx <- State.get-    (src1, rid) <- lift $ do+    (src1, rid) <- lift $ E.handle exceptionTransform $ do         response <- requestQuery cred ctx action params' apiVersion sinkError         res <- response $=+ XmlP.parseBytes XmlP.def         res $$++ sinkRequestId
AWS/EC2/Types/Address.hs view
@@ -33,7 +33,7 @@     fromMaybeText _name (Just t)         | t == "standard" = return AddressDomainStandard         | t == "vpc"      = return AddressDomainVPC-        | otherwise       = monadThrow $ TextConversionException t+        | otherwise       = monadThrow $ FromTextError t  data AllocateAddress = AllocateAddress     { allocateAddressPublicIp :: IPv4
AWS/EC2/Types/Instance.hs view
@@ -149,7 +149,7 @@     fromMaybeText _name Nothing  = return LifecycleNone     fromMaybeText _name (Just t)         | t == "spot" = return LifecycleSpot-        | otherwise   = monadThrow $ TextConversionException t+        | otherwise   = monadThrow $ FromTextError t  data InstanceMonitoringState     = MonitoringDisabled
AWS/Lib/FromText.hs view
@@ -31,7 +31,7 @@   where     fromText :: MonadThrow m => Text -> m a     fromText t-        = maybe (monadThrow $ TextConversionException t) return+        = maybe (monadThrow $ FromTextError t) return         . fromTextMay         $ t @@ -41,7 +41,7 @@     fromMaybeText :: MonadThrow m => Text -> Maybe Text -> m a     fromMaybeText name         = maybe-            (monadThrow $ TextConversionException $ "no text: " <> name)+            (monadThrow $ FromTextError $ "no text: " <> name)             fromText  instance FromText a => FromText (Maybe a)
AWS/Lib/Query.hs view
@@ -15,6 +15,7 @@     , ($=+)     , requestQuery     , commonQuery+    , exceptionTransform     , textToBS     ) where @@ -26,17 +27,21 @@ import qualified Data.Text as T  import Data.List (transpose)+import Data.Maybe import Data.Monoid import Data.XML.Types (Event(..)) import Data.Conduit import qualified Data.Conduit.Internal as CI import qualified Network.HTTP.Conduit as HTTP import qualified Text.XML.Stream.Parse as XmlP+import Text.XML.Stream.Parse (XmlException) import Data.Time (UTCTime, formatTime, getCurrentTime) import System.Locale (defaultTimeLocale, iso8601DateFormat) import qualified Data.Map as Map import Data.Map (Map)+import Network.HTTP.Conduit (HttpException) import qualified Network.HTTP.Types as H+import Network.TLS (HandshakeFailed) import qualified Data.Digest.Pure.SHA as SHA import qualified Data.ByteString.Base64 as BASE import Control.Monad.IO.Class (MonadIO, liftIO)@@ -278,8 +283,26 @@ commonQuery apiVersion action params sink = do     ctx <- State.get     cred <- Reader.ask-    rs <- lift $ requestQuery cred ctx action params apiVersion sinkError-    (res, rid) <- lift $ rs $$+--        XmlP.parseBytes XmlP.def =$ sinkResponse (bsToText action) sink+    (res, rid) <- lift $ E.handle exceptionTransform $ do+        rs <- requestQuery cred ctx action params apiVersion sinkError+        rs $$+- XmlP.parseBytes XmlP.def+           =$   sinkResponse (bsToText action) sink     State.put ctx { lastRequestId = Just rid }     return res++exceptionTransform+    :: (MonadBaseControl IO m, MonadResource m)+    => SomeException -> m a+exceptionTransform e+    | isJust awse  = throw $ fromJust awse+    | isJust xmle  = throw $ XmlParserError $ fromJust xmle+    | isJust httpe = throw $ ConnectionException $ fromJust httpe+    | isJust tlse  = throw $ ConnectionException $ fromJust tlse+    | isJust ioe   = throw $ ConnectionException $ fromJust ioe+    | otherwise    = throw $ OtherInternalException e+  where+    awse = fromException e :: Maybe AWSException+    xmle = fromException e :: Maybe XmlException+    httpe = fromException e :: Maybe HttpException+    tlse  = fromException e :: Maybe HandshakeFailed+    ioe   = fromException e :: Maybe IOException
AWS/RDS/DBInstance.hs view
@@ -95,15 +95,15 @@     => GLSink Event m [PendingModifiedValue] sinkPendingModifiedValues = element "PendingModifiedValues" $     catMaybes <$> sequence-        [ f PMVMasterUserPassword "MasterUserPassword"-        , f PMVIops "Iops"-        , f PMVMultiAZ "MultiAZ"-        , f PMVAllocatedStorage "AllocatedStorage"-        , f PMVEngineVersion "EngineVersion"-        , f PMVDBInstanceIdentifier "DBInstanceIdentifier"-        , f PMVDBInstanceClass "DBInstanceClass"-        , f PMVBackupRetentionPeriod "BackupRetentionPeriod"-        , f PMVPort "Port"+        [ f PendingModifiedValueMasterUserPassword "MasterUserPassword"+        , f PendingModifiedValueIops "Iops"+        , f PendingModifiedValueMultiAZ "MultiAZ"+        , f PendingModifiedValueAllocatedStorage "AllocatedStorage"+        , f PendingModifiedValueEngineVersion "EngineVersion"+        , f PendingModifiedValueDBInstanceIdentifier "DBInstanceIdentifier"+        , f PendingModifiedValueDBInstanceClass "DBInstanceClass"+        , f PendingModifiedValueBackupRetentionPeriod "BackupRetentionPeriod"+        , f PendingModifiedValuePort "Port"         ]   where     f c name = fmap c <$> getT name
AWS/RDS/Types/DBInstance.hs view
@@ -9,8 +9,8 @@     , OptionGroupMembership(..)     , PendingModifiedValue(..)     , CreateDBInstanceRequest(..)-    , DBInstanceClass(..)-    , Engine(..)+    , DBInstanceClass+    , Engine     , LicenseModel(..)     , FinalSnapshot(..)     , CreateReadReplicaRequest(..)@@ -20,78 +20,78 @@ import AWS.RDS.Types.DBSubnetGroup (DBSubnetGroup)  data DBInstance = DBInstance-    { dbiIops :: Maybe Int-    , dbiBackupRetentionPeriod :: Int-    , dbiDBInstanceStatus :: Maybe Text-    , dbiMultiAZ :: Bool-    , dbiVpcSecurityGroups :: [VpcSecurityGroupMembership]-    , dbiDBInstanceIdentifier :: Text-    , dbiPreferredBackupWindow :: Text-    , dbiPreferredMaintenanceWindow :: Text-    , dbiOptionGroupMembership :: Maybe OptionGroupMembership-    , dbiAvailabilityZone :: Maybe Text-    , dbiLatestRestorableTime :: Maybe UTCTime-    , dbiReadReplicaDBInstanceIdentifiers :: [Text]-    , dbiEngine :: Engine-    , dbiPendingModifiedValues :: [PendingModifiedValue]-    , dbiCharacterSetName :: Maybe Text-    , dbiLicenseModel :: LicenseModel-    , dbiSubnetGroup :: Maybe DBSubnetGroup-    , dbiDBParameterGroups :: [DBParameterGroupStatus]-    , dbiEndpoint :: Maybe Endpoint-    , dbiEngineVersion :: Text-    , dbiReadReplicaSourceDBInstanceIdentifier :: Maybe Text-    , dbiPubliclyAccessible :: Bool-    , dbiSecurityGroups :: [DBSecurityGroupMembership]-    , dbiAutoMinorVersionUpgrade :: Bool-    , dbiDBName :: Maybe Text-    , dbiInstanceCreateTime :: Maybe UTCTime-    , dbiAllocatedStorage :: Int -- ^ storage size in gigabytes-    , dbiDBInstanceClass :: DBInstanceClass-    , dbiMasterUsername :: Text+    { dbInstanceIops :: Maybe Int+    , dbInstanceBackupRetentionPeriod :: Int+    , dbInstanceDBInstanceStatus :: Maybe Text+    , dbInstanceMultiAZ :: Bool+    , dbInstanceVpcSecurityGroups :: [VpcSecurityGroupMembership]+    , dbInstanceDBInstanceIdentifier :: Text+    , dbInstancePreferredBackupWindow :: Text+    , dbInstancePreferredMaintenanceWindow :: Text+    , dbInstanceOptionGroupMembership :: Maybe OptionGroupMembership+    , dbInstanceAvailabilityZone :: Maybe Text+    , dbInstanceLatestRestorableTime :: Maybe UTCTime+    , dbInstanceReadReplicaDBInstanceIdentifiers :: [Text]+    , dbInstanceEngine :: Engine+    , dbInstancePendingModifiedValues :: [PendingModifiedValue]+    , dbInstanceCharacterSetName :: Maybe Text+    , dbInstanceLicenseModel :: LicenseModel+    , dbInstanceSubnetGroup :: Maybe DBSubnetGroup+    , dbInstanceDBParameterGroups :: [DBParameterGroupStatus]+    , dbInstanceEndpoint :: Maybe Endpoint+    , dbInstanceEngineVersion :: Text+    , dbInstanceReadReplicaSourceDBInstanceIdentifier :: Maybe Text+    , dbInstancePubliclyAccessible :: Bool+    , dbInstanceSecurityGroups :: [DBSecurityGroupMembership]+    , dbInstanceAutoMinorVersionUpgrade :: Bool+    , dbInstanceDBName :: Maybe Text+    , dbInstanceInstanceCreateTime :: Maybe UTCTime+    , dbInstanceAllocatedStorage :: Int -- ^ storage size in gigabytes+    , dbInstanceDBInstanceClass :: DBInstanceClass+    , dbInstanceMasterUsername :: Text     }   deriving (Show, Eq)  data VpcSecurityGroupMembership = VpcSecurityGroupMembership-    { vpcSecurityGroupMembershipStatus :: Text-    , vpcSecurityGroupMembershipVpcSecurityGroupId :: Text+    { vpcSecurityGroupStatus :: Text+    , vpcSecurityGroupId :: Text     }   deriving (Show, Eq)  data DBParameterGroupStatus = DBParameterGroupStatus-    { dbpgsParameterApplyStatus :: Text-    , dbpgsDBParameterGroupName :: Text+    { dbParameterGroupStatusStatus :: Text+    , dbParameterGroupStatusName :: Text     }   deriving (Show, Eq)  data DBSecurityGroupMembership = DBSecurityGroupMembership-    { dbsgmStatus :: Text-    , dbsgmDBSecurityGroupName :: Text+    { dbSecurityGroupMembershipStatus :: Text+    , dbSecurityGroupMembershipName :: Text     }   deriving (Show, Eq)  data Endpoint = Endpoint-    { epPort :: Int-    , epAddress :: Text+    { endpointPort :: Int+    , endpointAddress :: Text     }   deriving (Show, Eq)  data OptionGroupMembership = OptionGroupMembership-    { ogmOptionGroupName :: Text-    , ogmStatus :: Text+    { optionGroupName :: Text+    , optionGroupStatus :: Text     }   deriving (Show, Eq)  data PendingModifiedValue-    = PMVAllocatedStorage Int-    | PMVBackupRetentionPeriod Int-    | PMVDBInstanceClass Text-    | PMVEngineVersion Text-    | PMVIops Int-    | PMVMasterUserPassword Text-    | PMVMultiAZ Bool-    | PMVPort Int-    | PMVDBInstanceIdentifier Text+    = PendingModifiedValueAllocatedStorage Int+    | PendingModifiedValueBackupRetentionPeriod Int+    | PendingModifiedValueDBInstanceClass Text+    | PendingModifiedValueEngineVersion Text+    | PendingModifiedValueIops Int+    | PendingModifiedValueMasterUserPassword Text+    | PendingModifiedValueMultiAZ Bool+    | PendingModifiedValuePort Int+    | PendingModifiedValueDBInstanceIdentifier Text   deriving (Show, Eq)  data CreateDBInstanceRequest = CreateDBInstanceRequest@@ -122,47 +122,13 @@     }   deriving (Show, Eq) -data DBInstanceClass-    = DBt1micro-    | DBm1small-    | DBm1medium-    | DBm1large-    | DBm1xlarge-    | DBm2xlarge-    | DBm22xlarge-    | DBm24xlarge-  deriving (Read, Eq)--instance Show DBInstanceClass where-    show DBt1micro = "db.t1.micro"-    show DBm1small = "db.m1.small"-    show DBm1medium = "db.m1.medium"-    show DBm1large = "db.m1.large"-    show DBm1xlarge = "db.m1.xlarge"-    show DBm2xlarge = "db.m2.xlarge"-    show DBm22xlarge = "db.m2.2xlarge"-    show DBm24xlarge = "db.m2.4xlarge"--data Engine-    = EngineMySQL-    | EngineOracleSE1-    | EngineOracleSE-    | EngineOracleEE-    | EngineSqlServerEE-    | EngineSqlServerSE-    | EngineSqlServerEX-    | EngineSqlServerWeb-  deriving (Read, Eq)+-- | db.t1.micro, db.m1.small, db.m1.medium, db.m1.large,+--   db.m1.xlarge, db.m2.xlarge, db.m2.2xlarge, db.m2.4xlarge+type DBInstanceClass = Text -instance Show Engine where-    show EngineMySQL = "MySQL"-    show EngineOracleSE1 = "oracle-se1"-    show EngineOracleSE = "oracle-se"-    show EngineOracleEE = "oracle-ee"-    show EngineSqlServerEE = "sqlserver-ee"-    show EngineSqlServerSE = "sqlserver-se"-    show EngineSqlServerEX = "sqlserver-ex"-    show EngineSqlServerWeb = "sqlserver-web"+-- | mysql, oracle-se1, oracle-se, oracle-ee, sqlserver-ee,+--   sqlserver-se, sqlserver-ex, sqlserver-web+type Engine = Text  data LicenseModel     = LicenseIncluded@@ -192,16 +158,6 @@     }   deriving (Show, Eq) -deriveFromText "DBInstanceClass"-    [ "db.t1.micro", "db.m1.small", "db.m1.medium"-    , "db.m1.large", "db.m1.xlarge", "db.m2.xlarge"-    , "db.m2.2xlarge", "db.m2.4xlarge"-    ]-deriveFromText "Engine"-    [ "mysql", "oracle-se1", "oracle-se"-    , "oracle-ee", "sqlserver-ee", "sqlserver-se"-    , "sqlserver-ex", "sqlserver-web"-    ] deriveFromText "LicenseModel"     [ "license-included", "bring-your-own-license", "general-public-license"     ]
AWS/RDS/Types/DBParameterGroup.hs view
@@ -5,8 +5,8 @@ import AWS.Lib.FromText (Text)  data DBParameterGroup = DBParameterGroup-    { dbpgDBParameterGroupFamily :: Text-    , dbpgDescription :: Text-    , dbpgDBParameterGroupName :: Text+    { dbParameterGroupFamily :: Text+    , dbParameterGroupDescription :: Text+    , dbParameterGroupName :: Text     }   deriving (Show, Eq)
AWS/RDS/Types/DBSecurityGroup.hs view
@@ -11,12 +11,12 @@ import AWS.Lib.FromText (deriveFromText, AddrRange, IPv4, Text)  data DBSecurityGroup = DBSecurityGroup-    { dbsgEC2SecurityGroups :: [EC2SecurityGroup]-    , dbsgDBSecurityGroupDescription :: Text-    , dbsgIPRanges :: [IPRange]-    , dbsgVpcId :: Maybe Text-    , dbsgOwnerId :: Text-    , dbsgDBSecurityGroupName :: Text+    { dbSecurityGroupEC2SecurityGroups :: [EC2SecurityGroup]+    , dbSecurityGroupDescription :: Text+    , dbSecurityGroupIPRanges :: [IPRange]+    , dbSecurityGroupVpcId :: Maybe Text+    , dbSecurityGroupOwnerId :: Text+    , dbSecurityGroupName :: Text     }   deriving (Show, Eq) 
AWS/RDS/Types/DBSnapshot.hs view
@@ -5,20 +5,20 @@ import AWS.Lib.FromText (Text, UTCTime)  data DBSnapshot = DBSnapshot-    { dbsPort :: Int-    , dbsIops :: Maybe Int-    , dbsEngine :: Text-    , dbsStatus :: Text-    , dbsSnapshotType :: Text-    , dbsLicenseModel :: Text-    , dbsDBInstanceIdentifier :: Text-    , dbsEngineVersion :: Text-    , dbsDBSnapshotIdentifier :: Text-    , dbsSnapshotCreateTime :: Maybe UTCTime-    , dbsVpcId :: Maybe Text-    , dbsAvailabilityZone :: Text-    , dbsInstanceCreateTime :: UTCTime-    , dbsAllocatedStorage :: Int-    , dbsMasterUsername :: Text+    { dbSnapshotPort :: Int+    , dbSnapshotIops :: Maybe Int+    , dbSnapshotEngine :: Text+    , dbSnapshotStatus :: Text+    , dbSnapshotType :: Text+    , dbSnapshotLicenseModel :: Text+    , dbSnapshotDBInstanceIdentifier :: Text+    , dbSnapshotEngineVersion :: Text+    , dbSnapshotIdentifier :: Text+    , dbSnapshotCreateTime :: Maybe UTCTime+    , dbSnapshotVpcId :: Maybe Text+    , dbSnapshotAvailabilityZone :: Text+    , dbSnapshotInstanceCreateTime :: UTCTime+    , dbSnapshotAllocatedStorage :: Int+    , dbSnapshotMasterUsername :: Text     }   deriving (Show, Eq)
AWS/RDS/Types/DBSubnetGroup.hs view
@@ -7,11 +7,11 @@ import AWS.Lib.FromText (Text)  data DBSubnetGroup = DBSubnetGroup-    { dbsngVpcId :: Text-    , dbsngSubnetGroupStatus :: Text-    , dbsngDBSubnetGroupDescription :: Text-    , dbsngDBSubnetGroupName :: Text-    , dbsngSubnets :: [Subnet]+    { dbSubnetGroupVpcId :: Text+    , dbSubnetGroupStatus :: Text+    , dbSubnetGroupDescription :: Text+    , dbSubnetGroupName :: Text+    , dbSubnets :: [Subnet]     }   deriving (Show, Eq) @@ -23,7 +23,7 @@   deriving (Show, Eq)  data AvailabilityZone = AvailabilityZone-    { azName :: Text-    , azProvisionedIopsCapable :: Bool+    { availabilityZoneName :: Text+    , availabilityZoneProvisionedIopsCapable :: Bool     }   deriving (Show, Eq)
AWS/RDS/Types/Event.hs view
@@ -10,7 +10,7 @@ data Event = Event     { eventMessage :: Text     , eventSourceType :: SourceType-    , eventEventCategories :: [Text]+    , eventCategories :: [Text]     , eventDate :: UTCTime     , eventSourceIdentifier :: Text     }@@ -23,4 +23,5 @@     | SourceTypeDBSnapshot   deriving (Show, Read, Eq) -deriveFromText "SourceType" ["db-instance", "db-parameter-group", "db-security-group", "db-snapshot"]+deriveFromText "SourceType"+    ["db-instance", "db-parameter-group", "db-security-group", "db-snapshot"]
AWS/RDS/Util.hs view
@@ -1,5 +1,6 @@ module AWS.RDS.Util     ( wait+    , createDBInstanceRequest     ) where  import Control.Applicative ((<$>))@@ -10,6 +11,7 @@ import Safe  import AWS.RDS+import AWS.RDS.Types  wait     :: (MonadIO m, Functor m)@@ -26,3 +28,35 @@             else do                 liftIO $ CC.threadDelay 10000000                 wait f g rid++-- | copy from DBInstance+createDBInstanceRequest+    :: DBInstance+    -> Text -- ^ New DBIdentifier+    -> Text -- ^ MasterUserPassword+    -> CreateDBInstanceRequest+createDBInstanceRequest db newid passwd = CreateDBInstanceRequest+    (dbInstanceAllocatedStorage db)+    (Just $ dbInstanceAutoMinorVersionUpgrade db)+    (dbInstanceAvailabilityZone db)+    (Just $ dbInstanceBackupRetentionPeriod db)+    (dbInstanceCharacterSetName db)+    (dbInstanceDBInstanceClass db)+    newid+    (dbInstanceDBName db)+    (fmap dbParameterGroupStatusName $ headMay $ dbInstanceDBParameterGroups db)+    (map dbSecurityGroupMembershipName $ dbInstanceSecurityGroups db)+    (dbSubnetGroupName <$> dbInstanceSubnetGroup db)+    (dbInstanceEngine db)+    (Just $ dbInstanceEngineVersion db)+    (dbInstanceIops db)+    (Just $ dbInstanceLicenseModel db)+    passwd+    (dbInstanceMasterUsername db)+    (Just $ dbInstanceMultiAZ db)+    (optionGroupName <$> dbInstanceOptionGroupMembership db)+    (endpointPort <$> dbInstanceEndpoint db)+    (Just $ dbInstancePreferredBackupWindow db)+    (Just $ dbInstancePreferredMaintenanceWindow db)+    (Just $ dbInstancePubliclyAccessible db)+    (map vpcSecurityGroupId $ dbInstanceVpcSecurityGroups db)
aws-sdk.cabal view
@@ -1,5 +1,5 @@ name:                aws-sdk-version:             0.11.0+version:             0.11.1 synopsis:            AWS SDK for Haskell description: AWS (Amazon Web Services) sdk for Haskell.              .@@ -137,6 +137,7 @@                    , template-haskell                    , parallel                    , iproute >= 1.2.9+                   , tls  test-suite test     type:              exitcode-stdio-1.0