packages feed

aws-sdk 0.10.0 → 0.11.0

raw patch · 26 files changed

+859/−172 lines, 26 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

- AWS.CloudWatch: runCloudWatch' :: Monad m => Manager -> Credential -> CloudWatch m a -> m a
- AWS.ELB: runELB' :: Monad m => Manager -> Credential -> ELB m a -> m a
- AWS.RDS: runRDS' :: Monad m => Manager -> Credential -> RDS m a -> m a
+ AWS.CloudWatch: deleteAlarms :: (MonadBaseControl IO m, MonadResource m) => [Text] -> CloudWatch m ()
+ AWS.CloudWatch: describeAlarmHistory :: (MonadBaseControl IO m, MonadResource m) => Maybe Text -> Maybe UTCTime -> Maybe HistoryType -> Maybe Int -> Maybe Text -> Maybe UTCTime -> CloudWatch m ([AlarmHistory], Maybe Text)
+ AWS.CloudWatch: describeAlarms :: (MonadBaseControl IO m, MonadResource m) => Maybe Text -> AlarmNameSpec -> Maybe Int -> Maybe Text -> Maybe StateValue -> CloudWatch m ([MetricAlarm], Maybe Text)
+ AWS.CloudWatch: describeAlarmsForMetric :: (MonadBaseControl IO m, MonadResource m) => [Dimension] -> Text -> Text -> Int -> Statistic -> Maybe Text -> CloudWatch m [MetricAlarm]
+ AWS.CloudWatch: disableAlarmActions :: (MonadBaseControl IO m, MonadResource m) => [Text] -> CloudWatch m ()
+ AWS.CloudWatch: enableAlarmActions :: (MonadBaseControl IO m, MonadResource m) => [Text] -> CloudWatch m ()
+ AWS.CloudWatch: putMetricAlarm :: (MonadBaseControl IO m, MonadResource m) => PutMetricAlarmRequest -> CloudWatch m ()
+ AWS.CloudWatch: putMetricData :: (MonadBaseControl IO m, MonadResource m) => [MetricDatum] -> Text -> CloudWatch m ()
+ AWS.CloudWatch: runCloudWatchwithManager :: Monad m => Manager -> Credential -> CloudWatch m a -> m a
+ AWS.CloudWatch: setAlarmState :: (MonadBaseControl IO m, MonadResource m) => Text -> Text -> Text -> StateValue -> CloudWatch m ()
+ AWS.CloudWatch.Types: AlarmHistory :: UTCTime -> HistoryType -> Text -> Text -> Text -> AlarmHistory
+ AWS.CloudWatch.Types: AlarmSpecNamePrefix :: Text -> AlarmNameSpec
+ AWS.CloudWatch.Types: AlarmSpecNames :: [Text] -> AlarmNameSpec
+ AWS.CloudWatch.Types: AlarmSpecNothing :: AlarmNameSpec
+ AWS.CloudWatch.Types: GreaterThanOrEqualToThreshold :: ComparisonOperator
+ AWS.CloudWatch.Types: GreaterThanThreshold :: ComparisonOperator
+ AWS.CloudWatch.Types: HistoryTypeAction :: HistoryType
+ AWS.CloudWatch.Types: HistoryTypeConfigurationUpdate :: HistoryType
+ AWS.CloudWatch.Types: HistoryTypeStateUpdate :: HistoryType
+ AWS.CloudWatch.Types: LessThanOrEqualToThreshold :: ComparisonOperator
+ AWS.CloudWatch.Types: LessThanThreshold :: ComparisonOperator
+ AWS.CloudWatch.Types: MetricAlarm :: Maybe Text -> UTCTime -> [Text] -> Maybe Text -> Text -> UTCTime -> Text -> StateValue -> Int -> [Text] -> Bool -> Text -> Double -> Int -> Statistic -> [Text] -> Maybe Text -> Maybe Text -> [Dimension] -> ComparisonOperator -> Text -> MetricAlarm
+ AWS.CloudWatch.Types: MetricDatum :: [Dimension] -> Text -> Maybe UTCTime -> Maybe Text -> MetricDatumValue -> MetricDatum
+ AWS.CloudWatch.Types: MetricDatumStatisticValues :: StatisticSet -> MetricDatumValue
+ AWS.CloudWatch.Types: MetricDatumValue :: Double -> MetricDatumValue
+ AWS.CloudWatch.Types: PutMetricAlarmRequest :: Maybe Bool -> [Text] -> Maybe Text -> Text -> ComparisonOperator -> [Dimension] -> Int -> [Text] -> Text -> Text -> [Text] -> Int -> Statistic -> Double -> Maybe Text -> PutMetricAlarmRequest
+ AWS.CloudWatch.Types: StateValueAlarm :: StateValue
+ AWS.CloudWatch.Types: StateValueInsufficientData :: StateValue
+ AWS.CloudWatch.Types: StateValueOk :: StateValue
+ AWS.CloudWatch.Types: StatisticSet :: Double -> Double -> Double -> Double -> StatisticSet
+ AWS.CloudWatch.Types: alarmHistoryAlarmName :: AlarmHistory -> Text
+ AWS.CloudWatch.Types: alarmHistoryHistoryData :: AlarmHistory -> Text
+ AWS.CloudWatch.Types: alarmHistoryHistoryItemType :: AlarmHistory -> HistoryType
+ AWS.CloudWatch.Types: alarmHistoryHistorySummary :: AlarmHistory -> Text
+ AWS.CloudWatch.Types: alarmHistoryTimestamp :: AlarmHistory -> UTCTime
+ AWS.CloudWatch.Types: data AlarmHistory
+ AWS.CloudWatch.Types: data AlarmNameSpec
+ AWS.CloudWatch.Types: data ComparisonOperator
+ AWS.CloudWatch.Types: data HistoryType
+ AWS.CloudWatch.Types: data MetricAlarm
+ AWS.CloudWatch.Types: data MetricDatum
+ AWS.CloudWatch.Types: data MetricDatumValue
+ AWS.CloudWatch.Types: data PutMetricAlarmRequest
+ AWS.CloudWatch.Types: data StateValue
+ AWS.CloudWatch.Types: data StatisticSet
+ AWS.CloudWatch.Types: instance Eq AlarmHistory
+ AWS.CloudWatch.Types: instance Eq AlarmNameSpec
+ AWS.CloudWatch.Types: instance Eq ComparisonOperator
+ AWS.CloudWatch.Types: instance Eq HistoryType
+ AWS.CloudWatch.Types: instance Eq MetricAlarm
+ AWS.CloudWatch.Types: instance Eq MetricDatum
+ AWS.CloudWatch.Types: instance Eq MetricDatumValue
+ AWS.CloudWatch.Types: instance Eq PutMetricAlarmRequest
+ AWS.CloudWatch.Types: instance Eq StateValue
+ AWS.CloudWatch.Types: instance Eq StatisticSet
+ AWS.CloudWatch.Types: instance FromText ComparisonOperator
+ AWS.CloudWatch.Types: instance FromText HistoryType
+ AWS.CloudWatch.Types: instance FromText StateValue
+ AWS.CloudWatch.Types: instance FromText Statistic
+ AWS.CloudWatch.Types: instance Read ComparisonOperator
+ AWS.CloudWatch.Types: instance Read HistoryType
+ AWS.CloudWatch.Types: instance Read StateValue
+ AWS.CloudWatch.Types: instance Read Statistic
+ AWS.CloudWatch.Types: instance Show AlarmHistory
+ AWS.CloudWatch.Types: instance Show AlarmNameSpec
+ AWS.CloudWatch.Types: instance Show ComparisonOperator
+ AWS.CloudWatch.Types: instance Show HistoryType
+ AWS.CloudWatch.Types: instance Show MetricAlarm
+ AWS.CloudWatch.Types: instance Show MetricDatum
+ AWS.CloudWatch.Types: instance Show MetricDatumValue
+ AWS.CloudWatch.Types: instance Show PutMetricAlarmRequest
+ AWS.CloudWatch.Types: instance Show StateValue
+ AWS.CloudWatch.Types: instance Show StatisticSet
+ AWS.CloudWatch.Types: metricAlarmActionsEnabled :: MetricAlarm -> Bool
+ AWS.CloudWatch.Types: metricAlarmAlarmActions :: MetricAlarm -> [Text]
+ AWS.CloudWatch.Types: metricAlarmAlarmArn :: MetricAlarm -> Text
+ AWS.CloudWatch.Types: metricAlarmAlarmDescription :: MetricAlarm -> Maybe Text
+ AWS.CloudWatch.Types: metricAlarmAlarmName :: MetricAlarm -> Text
+ AWS.CloudWatch.Types: metricAlarmComparisonOperator :: MetricAlarm -> ComparisonOperator
+ AWS.CloudWatch.Types: metricAlarmConfigurationUpdatedTimestamp :: MetricAlarm -> UTCTime
+ AWS.CloudWatch.Types: metricAlarmDimensions :: MetricAlarm -> [Dimension]
+ AWS.CloudWatch.Types: metricAlarmEvaluationPeriods :: MetricAlarm -> Int
+ AWS.CloudWatch.Types: metricAlarmInsufficientDataActions :: MetricAlarm -> [Text]
+ AWS.CloudWatch.Types: metricAlarmMetricName :: MetricAlarm -> Text
+ AWS.CloudWatch.Types: metricAlarmNamespace :: MetricAlarm -> Text
+ AWS.CloudWatch.Types: metricAlarmOKActions :: MetricAlarm -> [Text]
+ AWS.CloudWatch.Types: metricAlarmPeriod :: MetricAlarm -> Int
+ AWS.CloudWatch.Types: metricAlarmStateReason :: MetricAlarm -> Maybe Text
+ AWS.CloudWatch.Types: metricAlarmStateReasonData :: MetricAlarm -> Maybe Text
+ AWS.CloudWatch.Types: metricAlarmStateUpdatedTimestamp :: MetricAlarm -> UTCTime
+ AWS.CloudWatch.Types: metricAlarmStateValue :: MetricAlarm -> StateValue
+ AWS.CloudWatch.Types: metricAlarmStatistic :: MetricAlarm -> Statistic
+ AWS.CloudWatch.Types: metricAlarmThreshold :: MetricAlarm -> Double
+ AWS.CloudWatch.Types: metricAlarmUnit :: MetricAlarm -> Maybe Text
+ AWS.CloudWatch.Types: metricDatumDimensions :: MetricDatum -> [Dimension]
+ AWS.CloudWatch.Types: metricDatumMetricName :: MetricDatum -> Text
+ AWS.CloudWatch.Types: metricDatumTimestamp :: MetricDatum -> Maybe UTCTime
+ AWS.CloudWatch.Types: metricDatumUnit :: MetricDatum -> Maybe Text
+ AWS.CloudWatch.Types: metricDatumValue :: MetricDatum -> MetricDatumValue
+ AWS.CloudWatch.Types: putMetricAlarmActionsEnabled :: PutMetricAlarmRequest -> Maybe Bool
+ AWS.CloudWatch.Types: putMetricAlarmAlarmActions :: PutMetricAlarmRequest -> [Text]
+ AWS.CloudWatch.Types: putMetricAlarmAlarmDescription :: PutMetricAlarmRequest -> Maybe Text
+ AWS.CloudWatch.Types: putMetricAlarmAlarmName :: PutMetricAlarmRequest -> Text
+ AWS.CloudWatch.Types: putMetricAlarmComparisonOperator :: PutMetricAlarmRequest -> ComparisonOperator
+ AWS.CloudWatch.Types: putMetricAlarmDimensions :: PutMetricAlarmRequest -> [Dimension]
+ AWS.CloudWatch.Types: putMetricAlarmEvaluationPeriods :: PutMetricAlarmRequest -> Int
+ AWS.CloudWatch.Types: putMetricAlarmInsufficientDataActions :: PutMetricAlarmRequest -> [Text]
+ AWS.CloudWatch.Types: putMetricAlarmMetricName :: PutMetricAlarmRequest -> Text
+ AWS.CloudWatch.Types: putMetricAlarmNamespace :: PutMetricAlarmRequest -> Text
+ AWS.CloudWatch.Types: putMetricAlarmOKActions :: PutMetricAlarmRequest -> [Text]
+ AWS.CloudWatch.Types: putMetricAlarmPeriod :: PutMetricAlarmRequest -> Int
+ AWS.CloudWatch.Types: putMetricAlarmStatistic :: PutMetricAlarmRequest -> Statistic
+ AWS.CloudWatch.Types: putMetricAlarmThreshold :: PutMetricAlarmRequest -> Double
+ AWS.CloudWatch.Types: putMetricAlarmUnit :: PutMetricAlarmRequest -> Maybe Text
+ AWS.CloudWatch.Types: statisticSetMaximum :: StatisticSet -> Double
+ AWS.CloudWatch.Types: statisticSetMinimum :: StatisticSet -> Double
+ AWS.CloudWatch.Types: statisticSetSampleCount :: StatisticSet -> Double
+ AWS.CloudWatch.Types: statisticSetSum :: StatisticSet -> Double
+ AWS.EC2: apiVersion :: ByteString
+ AWS.EC2: runEC2withManager :: Monad m => Manager -> Credential -> AWS AWSContext m a -> m a
+ AWS.ELB: runELBwithManager :: Monad m => Manager -> Credential -> ELB m a -> m a
+ AWS.RDS: createDBInstance :: (MonadBaseControl IO m, MonadResource m) => CreateDBInstanceRequest -> RDS m DBInstance
+ AWS.RDS: createDBInstanceReadReplica :: (MonadBaseControl IO m, MonadResource m) => CreateReadReplicaRequest -> RDS m DBInstance
+ AWS.RDS: createDBParameterGroup :: (MonadBaseControl IO m, MonadResource m) => Text -> Text -> Text -> RDS m DBParameterGroup
+ AWS.RDS: createDBSecurityGroup :: (MonadBaseControl IO m, MonadResource m) => Text -> Text -> RDS m DBSecurityGroup
+ AWS.RDS: createDBSubnetGroup :: (MonadBaseControl IO m, MonadResource m) => Text -> [Text] -> Text -> RDS m DBSubnetGroup
+ AWS.RDS: deleteDBInstance :: (MonadBaseControl IO m, MonadResource m) => Text -> FinalSnapshot -> RDS m DBInstance
+ AWS.RDS: deleteDBParameterGroup :: (MonadBaseControl IO m, MonadResource m) => Text -> RDS m ()
+ AWS.RDS: deleteDBSecurityGroup :: (MonadBaseControl IO m, MonadResource m) => Text -> RDS m ()
+ AWS.RDS: deleteDBSubnetGroup :: (MonadBaseControl IO m, MonadResource m) => Text -> RDS m ()
+ AWS.RDS: runRDSwithManager :: Monad m => Manager -> Credential -> RDS m a -> m a
+ AWS.RDS.Types: BringYourOwnLicense :: LicenseModel
+ AWS.RDS.Types: CreateDBInstanceRequest :: Int -> Maybe Bool -> Maybe Text -> Maybe Int -> Maybe Text -> DBInstanceClass -> Text -> Maybe Text -> Maybe Text -> [Text] -> Maybe Text -> Engine -> Maybe Text -> Maybe Int -> Maybe LicenseModel -> Text -> Text -> Maybe Bool -> Maybe Text -> Maybe Int -> Maybe Text -> Maybe Text -> Maybe Bool -> [Text] -> CreateDBInstanceRequest
+ AWS.RDS.Types: CreateReadReplicaRequest :: Maybe Bool -> Maybe Text -> DBInstanceClass -> Text -> Maybe Int -> Maybe Text -> Maybe Int -> Maybe Bool -> Text -> CreateReadReplicaRequest
+ 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: FinalSnapshotIdentifier :: Text -> FinalSnapshot
+ AWS.RDS.Types: GeneralPublicLicense :: LicenseModel
+ AWS.RDS.Types: LicenseIncluded :: LicenseModel
+ AWS.RDS.Types: PMVDBInstanceIdentifier :: Text -> PendingModifiedValue
+ AWS.RDS.Types: SkipFinalSnapshot :: FinalSnapshot
+ AWS.RDS.Types: createDBInstanceAllocatedStorage :: CreateDBInstanceRequest -> Int
+ AWS.RDS.Types: createDBInstanceAutoMinorVersionUpgrade :: CreateDBInstanceRequest -> Maybe Bool
+ AWS.RDS.Types: createDBInstanceAvailabilityZone :: CreateDBInstanceRequest -> Maybe Text
+ AWS.RDS.Types: createDBInstanceBackupRetentionPeriod :: CreateDBInstanceRequest -> Maybe Int
+ AWS.RDS.Types: createDBInstanceCharacterSetName :: CreateDBInstanceRequest -> Maybe Text
+ AWS.RDS.Types: createDBInstanceDBInstanceClass :: CreateDBInstanceRequest -> DBInstanceClass
+ AWS.RDS.Types: createDBInstanceDBInstanceIdentifier :: CreateDBInstanceRequest -> Text
+ AWS.RDS.Types: createDBInstanceDBName :: CreateDBInstanceRequest -> Maybe Text
+ AWS.RDS.Types: createDBInstanceDBParameterGroupName :: CreateDBInstanceRequest -> Maybe Text
+ AWS.RDS.Types: createDBInstanceDBSecurityGroups :: CreateDBInstanceRequest -> [Text]
+ AWS.RDS.Types: createDBInstanceDBSubnetGroupName :: CreateDBInstanceRequest -> Maybe Text
+ AWS.RDS.Types: createDBInstanceEngine :: CreateDBInstanceRequest -> Engine
+ AWS.RDS.Types: createDBInstanceEngineVersion :: CreateDBInstanceRequest -> Maybe Text
+ AWS.RDS.Types: createDBInstanceIops :: CreateDBInstanceRequest -> Maybe Int
+ AWS.RDS.Types: createDBInstanceLicenseModel :: CreateDBInstanceRequest -> Maybe LicenseModel
+ AWS.RDS.Types: createDBInstanceMasterUserPassword :: CreateDBInstanceRequest -> Text
+ AWS.RDS.Types: createDBInstanceMasterUsername :: CreateDBInstanceRequest -> Text
+ AWS.RDS.Types: createDBInstanceMultiAZ :: CreateDBInstanceRequest -> Maybe Bool
+ AWS.RDS.Types: createDBInstanceOptionGroupName :: CreateDBInstanceRequest -> Maybe Text
+ AWS.RDS.Types: createDBInstancePort :: CreateDBInstanceRequest -> Maybe Int
+ AWS.RDS.Types: createDBInstancePreferredBackupWindow :: CreateDBInstanceRequest -> Maybe Text
+ AWS.RDS.Types: createDBInstancePreferredMaintenanceWindow :: CreateDBInstanceRequest -> Maybe Text
+ AWS.RDS.Types: createDBInstancePubliclyAccessible :: CreateDBInstanceRequest -> Maybe Bool
+ AWS.RDS.Types: createDBInstanceVpcSecurityGroupIds :: CreateDBInstanceRequest -> [Text]
+ AWS.RDS.Types: createReadReplicaAutoMinorVersionUpgrade :: CreateReadReplicaRequest -> Maybe Bool
+ AWS.RDS.Types: createReadReplicaAvailabilityZone :: CreateReadReplicaRequest -> Maybe Text
+ AWS.RDS.Types: createReadReplicaDBInstanceClass :: CreateReadReplicaRequest -> DBInstanceClass
+ AWS.RDS.Types: createReadReplicaDBInstanceIdentifier :: CreateReadReplicaRequest -> Text
+ AWS.RDS.Types: createReadReplicaIops :: CreateReadReplicaRequest -> Maybe Int
+ AWS.RDS.Types: createReadReplicaOptionGroupName :: CreateReadReplicaRequest -> Maybe Text
+ AWS.RDS.Types: createReadReplicaPort :: CreateReadReplicaRequest -> Maybe Int
+ AWS.RDS.Types: createReadReplicaPubliclyAccessible :: CreateReadReplicaRequest -> Maybe Bool
+ AWS.RDS.Types: createReadReplicaSourceDBInstanceIdentifier :: CreateReadReplicaRequest -> Text
+ AWS.RDS.Types: data CreateDBInstanceRequest
+ AWS.RDS.Types: data CreateReadReplicaRequest
+ AWS.RDS.Types: data DBInstanceClass
+ AWS.RDS.Types: data Engine
+ AWS.RDS.Types: data FinalSnapshot
+ AWS.RDS.Types: data LicenseModel
- AWS.CloudWatch: listMetrics :: (MonadBaseControl IO m, MonadResource m) => [DimensionFilter] -> Maybe Text -> Maybe Text -> Maybe Text -> CloudWatch m [Metric]
+ AWS.CloudWatch: listMetrics :: (MonadBaseControl IO m, MonadResource m) => [DimensionFilter] -> Maybe Text -> Maybe Text -> Maybe Text -> CloudWatch m ([Metric], Maybe Text)
- AWS.EC2.Types: NetworkAclEntry :: Int -> Int -> NetworkAclRuleAction -> Bool -> Text -> Maybe IcmpTypeCode -> Maybe PortRange -> NetworkAclEntry
+ AWS.EC2.Types: NetworkAclEntry :: Int -> Int -> NetworkAclRuleAction -> Bool -> AddrRange IPv4 -> Maybe IcmpTypeCode -> Maybe PortRange -> NetworkAclEntry
- AWS.EC2.Types: NetworkAclEntryRequest :: Text -> Int -> Int -> NetworkAclRuleAction -> Bool -> Text -> Maybe IcmpTypeCode -> Maybe PortRange -> NetworkAclEntryRequest
+ AWS.EC2.Types: NetworkAclEntryRequest :: Text -> Int -> Int -> NetworkAclRuleAction -> Bool -> AddrRange IPv4 -> Maybe IcmpTypeCode -> Maybe PortRange -> NetworkAclEntryRequest
- AWS.EC2.Types: networkAclEntryCidrBlock :: NetworkAclEntry -> Text
+ AWS.EC2.Types: networkAclEntryCidrBlock :: NetworkAclEntry -> AddrRange IPv4
- AWS.EC2.Types: networkAclEntryRequestCidrBlock :: NetworkAclEntryRequest -> Text
+ AWS.EC2.Types: networkAclEntryRequestCidrBlock :: NetworkAclEntryRequest -> AddrRange IPv4
- AWS.RDS.Types: DBInstance :: Maybe Int -> Int -> Maybe Text -> Bool -> [VpcSecurityGroupMembership] -> Text -> Text -> Text -> Maybe OptionGroupMembership -> Text -> Maybe UTCTime -> [Text] -> Text -> [PendingModifiedValue] -> Maybe Text -> Text -> Maybe DBSubnetGroup -> [DBParameterGroupStatus] -> Maybe Endpoint -> Text -> Maybe Text -> Bool -> [DBSecurityGroupMembership] -> Bool -> Maybe Text -> Maybe UTCTime -> Int -> Text -> Text -> DBInstance
+ AWS.RDS.Types: DBInstance :: Maybe Int -> Int -> Maybe Text -> Bool -> [VpcSecurityGroupMembership] -> Text -> Text -> Text -> Maybe OptionGroupMembership -> Maybe Text -> Maybe UTCTime -> [Text] -> Engine -> [PendingModifiedValue] -> Maybe Text -> LicenseModel -> Maybe DBSubnetGroup -> [DBParameterGroupStatus] -> Maybe Endpoint -> Text -> Maybe Text -> Bool -> [DBSecurityGroupMembership] -> Bool -> Maybe Text -> Maybe UTCTime -> Int -> DBInstanceClass -> Text -> DBInstance
- AWS.RDS.Types: EC2SecurityGroup :: EC2SecurityGroupStatus -> Maybe Text -> Text -> Maybe Text -> EC2SecurityGroup
+ AWS.RDS.Types: EC2SecurityGroup :: EC2SecurityGroupStatus -> Text -> Maybe Text -> Maybe Text -> EC2SecurityGroup
- AWS.RDS.Types: dbiAvailabilityZone :: DBInstance -> Text
+ AWS.RDS.Types: dbiAvailabilityZone :: DBInstance -> Maybe Text
- AWS.RDS.Types: dbiDBInstanceClass :: DBInstance -> Text
+ AWS.RDS.Types: dbiDBInstanceClass :: DBInstance -> DBInstanceClass
- AWS.RDS.Types: dbiEngine :: DBInstance -> Text
+ AWS.RDS.Types: dbiEngine :: DBInstance -> Engine
- AWS.RDS.Types: dbiLicenseModel :: DBInstance -> Text
+ AWS.RDS.Types: dbiLicenseModel :: DBInstance -> LicenseModel

Files

AWS/Class.hs view
@@ -9,7 +9,7 @@ module AWS.Class     ( AWS     , runAWS-    , runAWS'+    , runAWSwithManager     , AWSException(..)     , AWSContext(..)     , getLastRequestId@@ -105,15 +105,15 @@     -> m a runAWS ctx cred app = do     mgr <- liftIO $ HTTP.newManager HTTP.def-    runAWS' mgr ctx cred app+    runAWSwithManager mgr ctx cred app -runAWS' :: Monad m+runAWSwithManager :: Monad m     => HTTP.Manager     -> (HTTP.Manager -> c)     -> Credential     -> AWS c m a     -> m a-runAWS' mgr ctx cred app =+runAWSwithManager mgr ctx cred app =     R.runReaderT         (S.evalStateT (runAWST app) $ ctx mgr)         cred
AWS/CloudWatch.hs view
@@ -4,11 +4,12 @@     ( -- * CloudWatch Environment       CloudWatch     , runCloudWatch-    , runCloudWatch'+    , runCloudWatchwithManager     , setRegion     , apiVersion       -- * Metric     , module AWS.CloudWatch.Metric+    , module AWS.CloudWatch.Alarm     ) where  import Data.Text (Text)@@ -24,6 +25,7 @@ import AWS import AWS.CloudWatch.Internal import AWS.CloudWatch.Metric+import AWS.CloudWatch.Alarm  initialCloudWatchContext :: HTTP.Manager -> AWSContext initialCloudWatchContext mgr = AWSContext@@ -35,9 +37,10 @@ runCloudWatch :: MonadIO m => Credential -> CloudWatch m a -> m a runCloudWatch = runAWS initialCloudWatchContext -runCloudWatch' :: Monad m+runCloudWatchwithManager :: Monad m     => HTTP.Manager -> Credential -> CloudWatch m a -> m a-runCloudWatch' mgr = runAWS' mgr initialCloudWatchContext+runCloudWatchwithManager mgr =+    runAWSwithManager mgr initialCloudWatchContext  setRegion     :: (MonadBaseControl IO m, MonadResource m)
+ AWS/CloudWatch/Alarm.hs view
@@ -0,0 +1,195 @@+{-# LANGUAGE FlexibleContexts, RecordWildCards #-}+module AWS.CloudWatch.Alarm+    ( describeAlarms+    , describeAlarmsForMetric+    , putMetricAlarm+    , deleteAlarms+    , describeAlarmHistory+    , enableAlarmActions+    , disableAlarmActions+    , setAlarmState+    ) where++import Control.Applicative+import Data.Conduit+import Data.Text (Text)+import Data.Time (UTCTime)+import Data.XML.Types (Event)++import AWS.CloudWatch.Internal+import AWS.CloudWatch.Types+import AWS.Lib.Parser (getT, getT_, members, text)+import AWS.Lib.Query+import AWS.Util (toText, boolToText, timeToText)++describeAlarms+    :: (MonadBaseControl IO m, MonadResource m)+    => Maybe Text -- ^ The action name prefix.+    -> AlarmNameSpec -- ^ The alarm name prefix or a list of alarm names to retrieve information for.+    -> Maybe Int -- ^ The maximum number of alarm descriptions to retrieve.+    -> Maybe Text -- ^ The token returned by a previous call to indicate that there is more data available.+    -> Maybe StateValue -- ^ The state value to be used in matching alarms.+    -> CloudWatch m ([MetricAlarm], Maybe Text) -- ^ A list of information for the specified alarms and NextToken.+describeAlarms prefix spec maxRecords nextToken state =+    cloudWatchQuery "DescribeAlarms" params $+        (,) <$> members "MetricAlarms" sinkMetricAlarm <*> getT "NextToken"+  where+    params =+        [ "ActionPrefix" |=? prefix+        , specParam spec+        , "MaxRecords" |=? toText <$> maxRecords+        , "NextToken" |=? nextToken+        , "StateValue" |=? stringifyStateValue <$> state+        ]+    specParam AlarmSpecNothing = nothingParam+    specParam (AlarmSpecNamePrefix p) = "AlarmNamePrefix" |= p+    specParam (AlarmSpecNames ns) = "AlarmNames.member" |.#= ns++stringifyStateValue :: StateValue -> Text+stringifyStateValue StateValueOk = "OK"+stringifyStateValue StateValueAlarm = "ALARM"+stringifyStateValue StateValueInsufficientData = "INSUFFICIENT_DATA"++sinkMetricAlarm :: MonadThrow m => GLSink Event m MetricAlarm+sinkMetricAlarm =+    MetricAlarm+    <$> getT "AlarmDescription"+    <*> getT "StateUpdatedTimestamp"+    <*> members "InsufficientDataActions" text+    <*> getT "StateReasonData"+    <*> getT "AlarmArn"+    <*> getT "AlarmConfigurationUpdatedTimestamp"+    <*> getT "AlarmName"+    <*> getT "StateValue"+    <*> getT "Period"+    <*> members "OKActions" text+    <*> getT "ActionsEnabled"+    <*> getT "Namespace"+    <*> getT "Threshold"+    <*> getT "EvaluationPeriods"+    <*> getT "Statistic"+    <*> members "AlarmActions" text+    <*> getT "Unit"+    <*> getT "StateReason"+    <*> members "Dimensions" sinkDimension+    <*> getT "ComparisonOperator"+    <*> getT "MetricName"++describeAlarmsForMetric+    :: (MonadBaseControl IO m, MonadResource m)+    => [Dimension] -- ^ The list of dimensions associated with the metric.+    -> Text -- ^ The name of the metric.+    -> Text -- ^ The namespace of the metric.+    -> Int -- ^ The period in seconds over which the statistic is applied.+    -> Statistic -- ^ The statistic for the metric.+    -> Maybe Text -- ^  The unit for the metric.+    -> CloudWatch m [MetricAlarm]+describeAlarmsForMetric dims name ns period stat unit =+    cloudWatchQuery "DescribeAlarmsForMetric" params $ members "MetricAlarms" sinkMetricAlarm+  where+    params =+        [ "Dimensions.member" |.#. map fromDimension dims+        , "MetricName" |= name+        , "Namespace" |= ns+        , "Period" |= toText period+        , "Statistic" |= stringifyStatistic stat+        , "Unit" |=? unit+        ]++putMetricAlarm+    :: (MonadBaseControl IO m, MonadResource m)+    => PutMetricAlarmRequest+    -> CloudWatch m ()+putMetricAlarm PutMetricAlarmRequest{..} =+    cloudWatchQuery "PutMetricAlarm" params $ getT_ "PutMetricAlarmResult"+  where+    params =+        [ "ActionsEnabled" |=? boolToText <$> putMetricAlarmActionsEnabled+        , "AlarmActions.member" |.#= putMetricAlarmAlarmActions+        , "AlarmDescription" |=? putMetricAlarmAlarmDescription+        , "AlarmName" |= putMetricAlarmAlarmName+        , "ComparisonOperator" |= toText putMetricAlarmComparisonOperator+        , "Dimensions.member" |.#. map fromDimension putMetricAlarmDimensions+        , "EvaluationPeriods" |= toText putMetricAlarmEvaluationPeriods+        , "InsufficientDataActions.member" |.#= putMetricAlarmInsufficientDataActions+        , "MetricName" |= putMetricAlarmMetricName+        , "Namespace" |= putMetricAlarmNamespace+        , "OKActions.member" |.#= putMetricAlarmOKActions+        , "Period" |= toText putMetricAlarmPeriod+        , "Statistic" |= stringifyStatistic putMetricAlarmStatistic+        , "Threshold" |= toText putMetricAlarmThreshold+        , "Unit" |=? putMetricAlarmUnit+        ]++deleteAlarms+    :: (MonadBaseControl IO m, MonadResource m)+    => [Text] -- ^ A list of alarms to be deleted.+    -> CloudWatch m ()+deleteAlarms names = cloudWatchQuery "DeleteAlarms" ["AlarmNames.member" |.#= names] $ return ()++describeAlarmHistory+    :: (MonadBaseControl IO m, MonadResource m)+    => Maybe Text -- ^ The name of the alarm.+    -> Maybe UTCTime -- ^ The ending date to retrieve alarm history.+    -> Maybe HistoryType -- ^ The type of alarm histories to retrieve.+    -> Maybe Int -- ^ The maximum number of alarm history records to retrieve.+    -> Maybe Text -- ^ The token returned by a previous call to indicate that there is more data available.+    -> Maybe UTCTime -- ^ The starting date to retrieve alarm history.+    -> CloudWatch m ([AlarmHistory], Maybe Text)+describeAlarmHistory alarm endDate type_ maxRecords nextToken startDate =+    cloudWatchQuery "DescribeAlarmHistory" params $+        (,) <$> members "AlarmHistoryItems" sinkAlarmHistory <*> getT "NextToken"+  where+    params =+        [ "AlarmName" |=? alarm+        , "EndDate" |=? timeToText <$> endDate+        , "HistoryItemType" |=? stringifyHistoryType <$> type_+        , "MaxRecords" |=? toText <$> maxRecords+        , "NextToken" |=? nextToken+        , "StartDate" |=? timeToText <$> startDate+        ]++stringifyHistoryType :: HistoryType -> Text+stringifyHistoryType HistoryTypeConfigurationUpdate = "ConfigurationUpdate"+stringifyHistoryType HistoryTypeStateUpdate = "StateUpdate"+stringifyHistoryType HistoryTypeAction = "Action"++sinkAlarmHistory :: MonadThrow m => GLSink Event m AlarmHistory+sinkAlarmHistory =+    AlarmHistory+    <$> getT "Timestamp"+    <*> getT "HistoryItemType"+    <*> getT "AlarmName"+    <*> getT "HistoryData"+    <*> getT "HistorySummary"++enableAlarmActions+    :: (MonadBaseControl IO m, MonadResource m)+    => [Text] -- ^ The names of the alarms to enable actions for.+    -> CloudWatch m ()+enableAlarmActions alarms =+    cloudWatchQuery "EnableAlarmActions" ["AlarmNames.member" |.#= alarms] $ return ()++disableAlarmActions+    :: (MonadBaseControl IO m, MonadResource m)+    => [Text] -- ^ The names of the alarms to enable actions for.+    -> CloudWatch m ()+disableAlarmActions alarms =+    cloudWatchQuery "DisableAlarmActions" ["AlarmNames.member" |.#= alarms] $ return ()++setAlarmState+    :: (MonadBaseControl IO m, MonadResource m)+    => Text -- ^ The name for the alarm.+    -> Text -- ^ The reason that this alarm is set to this specific state (in human-readable text format) +    -> Text -- ^ The reason that this alarm is set to this specific state (in machine-readable JSON format)+    -> StateValue -- ^ The value of the state.+    -> CloudWatch m ()+setAlarmState alarm reason dat state =+    cloudWatchQuery "SetAlarmState" params $ return ()+  where+    params =+        [ "AlarmName" |= alarm+        , "StateReason" |= reason+        , "StateReasonData" |= dat+        , "StateValue" |= stringifyStateValue state+        ]
AWS/CloudWatch/Internal.hs view
@@ -1,8 +1,9 @@-{-# LANGUAGE FlexibleContexts, RankNTypes #-}+{-# LANGUAGE FlexibleContexts, RankNTypes, RecordWildCards #-}  module AWS.CloudWatch.Internal     where +import Control.Applicative import Data.ByteString (ByteString) import Data.Text (Text) import Data.Conduit@@ -12,7 +13,9 @@ import AWS.Class import AWS.Lib.Query import AWS.Lib.Parser+import AWS.CloudWatch.Types +-- | Ver.2010-08-01 apiVersion :: ByteString apiVersion = "2010-08-01" @@ -31,3 +34,19 @@     -> GLSink Event m a     -> GLSink Event m [a] elements name f = element (name <> "s") $ listConsumer name f++sinkDimension :: MonadThrow m => GLSink Event m Dimension+sinkDimension = Dimension <$> getT "Name" <*> getT "Value"++fromDimension :: Dimension -> [QueryParam]+fromDimension Dimension{..} =+    [ "Name" |= dimensionName+    , "Value" |= dimensionValue+    ]++stringifyStatistic :: Statistic -> Text+stringifyStatistic StatisticAverage     = "Average"+stringifyStatistic StatisticSum         = "Sum"+stringifyStatistic StatisticSampleCount = "SampleCount"+stringifyStatistic StatisticMaximum     = "Maximum"+stringifyStatistic StatisticMinimum     = "Minimum"
AWS/CloudWatch/Metric.hs view
@@ -1,13 +1,15 @@-{-# LANGUAGE FlexibleContexts, RankNTypes #-}+{-# LANGUAGE FlexibleContexts, RankNTypes, RecordWildCards #-}  module AWS.CloudWatch.Metric     ( listMetrics     , getMetricStatistics+    , putMetricData     ) where  import Data.Text (Text) import Data.Time (UTCTime) import Data.Conduit+import Data.XML.Types (Event) import Control.Applicative  import AWS.Util@@ -31,15 +33,9 @@     -> Maybe Text -- ^ MetricName     -> Maybe Text -- ^ Namespace     -> Maybe Text -- ^ NextToken-    -> CloudWatch m [Metric]+    -> CloudWatch m ([Metric], Maybe Text) listMetrics ds mn ns nt = cloudWatchQuery "ListMetrics" params $-    members "Metrics" $ Metric-        <$> members "Dimensions" (Dimension-            <$> getT "Name"-            <*> getT "Value"-            )-        <*> getT "MetricName"-        <*> getT "Namespace"+    (,) <$> members "Metrics" sinkMetric <*> getT "NextToken"   where     params =         [ dimensionFiltersParam ds@@ -48,6 +44,13 @@         , "NextToken" |=? nt         ] +sinkMetric :: MonadThrow m => GLSink Event m Metric+sinkMetric =+    Metric+    <$> members "Dimensions" sinkDimension+    <*> getT "MetricName"+    <*> getT "Namespace"+ getMetricStatistics     :: (MonadBaseControl IO m, MonadResource m)     => [DimensionFilter]@@ -79,11 +82,40 @@         , "MetricName" |= mn         , "Namespace" |= ns         , "Period" |= toText pe-        , "Statistics" |.+ "member" |.#= map s sts+        , "Statistics" |.+ "member" |.#= map stringifyStatistic sts         , "Unit" |=? unit         ]-    s StatisticAverage     = "Average"-    s StatisticSum         = "Sum"-    s StatisticSampleCount = "SampleCount"-    s StatisticMaximum     = "Maximum"-    s StatisticMinimum     = "Minimum"++putMetricData+    :: (MonadBaseControl IO m, MonadResource m)+    => [MetricDatum] -- ^ A list of data describing the metric.+    -> Text -- ^ The namespace for the metric data.+    -> CloudWatch m ()+putMetricData dats ns =+    cloudWatchQuery "PutMetricData" params $ return ()+  where+    params =+        [ "MetricData.member" |.#. map fromMetricDatum dats+        , "Namespace" |= ns+        ]++fromMetricDatum :: MetricDatum -> [QueryParam]+fromMetricDatum MetricDatum{..} =+    [ "Dimensions.member" |.#. map fromDimension metricDatumDimensions+    , "MetricName" |= metricDatumMetricName+    , metricDatumValueParam metricDatumValue+    , "Timestamp" |=? timeToText <$> metricDatumTimestamp+    , "Unit" |=? metricDatumUnit+    ]++metricDatumValueParam :: MetricDatumValue -> QueryParam+metricDatumValueParam (MetricDatumValue v) = "Value" |= toText v+metricDatumValueParam (MetricDatumStatisticValues s) = "StatisticValues" |. fromStatisticSet s++fromStatisticSet :: StatisticSet -> [QueryParam]+fromStatisticSet StatisticSet{..} =+    [ "Maximum" |= toText statisticSetMaximum+    , "Minimum" |= toText statisticSetMinimum+    , "SampleCount" |= toText statisticSetSampleCount+    , "Sum" |= toText statisticSetSum+    ]
AWS/CloudWatch/Types.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE TemplateHaskell #-} module AWS.CloudWatch.Types     where @@ -35,7 +36,8 @@     | StatisticSampleCount     | StatisticMaximum     | StatisticMinimum-  deriving (Show, Eq)+  deriving (Show, Eq, Read)+deriveFromText "Statistic" ["Average", "Sum", "SampleCount", "Maximum", "Minimum"]  allStatistics :: [Statistic] allStatistics =@@ -45,3 +47,111 @@     , StatisticMaximum     , StatisticMinimum     ]++data AlarmNameSpec+    = AlarmSpecNothing+    | AlarmSpecNamePrefix Text+    | AlarmSpecNames [Text]+  deriving (Show, Eq)++data StateValue+    = StateValueOk+    | StateValueAlarm+    | StateValueInsufficientData+  deriving (Show, Eq, Read)+deriveFromText "StateValue" ["OK", "ALARM", "INSUFFICIENT_DATA"]++data ComparisonOperator+    = GreaterThanOrEqualToThreshold+    | GreaterThanThreshold+    | LessThanThreshold+    | LessThanOrEqualToThreshold+  deriving (Show, Eq, Read)+deriveFromText "ComparisonOperator"+    [ "GreaterThanOrEqualToThreshold"+    , "GreaterThanThreshold"+    , "LessThanThreshold"+    , "LessThanOrEqualToThreshold"+    ]++data MetricAlarm = MetricAlarm+    { metricAlarmAlarmDescription :: Maybe Text+    , metricAlarmStateUpdatedTimestamp :: UTCTime+    , metricAlarmInsufficientDataActions :: [Text]+    , metricAlarmStateReasonData :: Maybe Text+    , metricAlarmAlarmArn :: Text+    , metricAlarmConfigurationUpdatedTimestamp :: UTCTime+    , metricAlarmAlarmName :: Text+    , metricAlarmStateValue :: StateValue+    , metricAlarmPeriod :: Int+    , metricAlarmOKActions :: [Text]+    , metricAlarmActionsEnabled :: Bool+    , metricAlarmNamespace :: Text+    , metricAlarmThreshold :: Double+    , metricAlarmEvaluationPeriods :: Int+    , metricAlarmStatistic :: Statistic+    , metricAlarmAlarmActions :: [Text]+    , metricAlarmUnit :: Maybe Text+    , metricAlarmStateReason :: Maybe Text+    , metricAlarmDimensions :: [Dimension]+    , metricAlarmComparisonOperator :: ComparisonOperator+    , metricAlarmMetricName :: Text+    }+  deriving (Show, Eq)++data PutMetricAlarmRequest = PutMetricAlarmRequest+    { putMetricAlarmActionsEnabled :: Maybe Bool+    , putMetricAlarmAlarmActions :: [Text]+    , putMetricAlarmAlarmDescription :: Maybe Text+    , putMetricAlarmAlarmName :: Text+    , putMetricAlarmComparisonOperator :: ComparisonOperator+    , putMetricAlarmDimensions :: [Dimension]+    , putMetricAlarmEvaluationPeriods :: Int+    , putMetricAlarmInsufficientDataActions :: [Text]+    , putMetricAlarmMetricName :: Text+    , putMetricAlarmNamespace :: Text+    , putMetricAlarmOKActions :: [Text]+    , putMetricAlarmPeriod :: Int+    , putMetricAlarmStatistic :: Statistic+    , putMetricAlarmThreshold :: Double+    , putMetricAlarmUnit :: Maybe Text+    }+  deriving (Show, Eq)++data AlarmHistory = AlarmHistory+    { alarmHistoryTimestamp :: UTCTime+    , alarmHistoryHistoryItemType :: HistoryType+    , alarmHistoryAlarmName :: Text+    , alarmHistoryHistoryData :: Text+    , alarmHistoryHistorySummary :: Text+    }+  deriving (Show, Eq)++data HistoryType+    = HistoryTypeConfigurationUpdate+    | HistoryTypeStateUpdate+    | HistoryTypeAction+  deriving (Show, Eq, Read)+deriveFromText "HistoryType" ["ConfigurationUpdate", "StateUpdate", "Action"]++data MetricDatum = MetricDatum+    { metricDatumDimensions :: [Dimension]+    , metricDatumMetricName :: Text+    , metricDatumTimestamp :: Maybe UTCTime+    , metricDatumUnit :: Maybe Text+    , metricDatumValue :: MetricDatumValue+    }+  deriving (Show, Eq)++data MetricDatumValue+    = MetricDatumValue Double+    | MetricDatumStatisticValues StatisticSet+  deriving (Show, Eq)++data StatisticSet = StatisticSet+    { statisticSetMaximum :: Double+    , statisticSetMinimum :: Double+    , statisticSetSampleCount :: Double+    , statisticSetSum :: Double+    }+  deriving (Show, Eq)
AWS/EC2.hs view
@@ -5,8 +5,10 @@     ( -- * EC2 Environment       EC2     , runEC2+    , runEC2withManager     , setRegion     , setEndpoint+    , apiVersion       -- * Instances     , module AWS.EC2.Instance       -- * Images@@ -27,6 +29,7 @@       -- * Placements     , module AWS.EC2.Region     , module AWS.EC2.AvailabilityZone+    , module AWS.EC2.PlacementGroup       -- * Tags     , module AWS.EC2.Tag       -- * VPC@@ -35,7 +38,6 @@     , module AWS.EC2.Acl     , module AWS.EC2.RouteTable     , module AWS.EC2.Route-    , module AWS.EC2.PlacementGroup       -- * Tasks     , module AWS.EC2.ConversionTask     ) where@@ -50,6 +52,7 @@ import AWS.EC2.Internal import AWS.EC2.Types import qualified AWS.EC2.Util as Util+import AWS.EC2.Query (apiVersion)  import AWS.EC2.Image import AWS.EC2.Region
AWS/EC2/Acl.hs view
@@ -111,7 +111,7 @@         , "RuleAction" |=             ruleToText (networkAclEntryRequestRuleAction req)         , "CidrBlock" |=-            networkAclEntryRequestCidrBlock req+            toText (networkAclEntryRequestCidrBlock req)         , "Egress" |=             boolToText (networkAclEntryRequestEgress req)         , "Icmp" |.? icmpParams <$> networkAclEntryRequestIcmp req
AWS/EC2/Internal.hs view
@@ -6,7 +6,7 @@     , EC2     , initialEC2Context     , runEC2-    , runEC2'+    , runEC2withManager     , itemConduit     , itemsSet     , resourceTagSink@@ -45,9 +45,10 @@ runEC2 :: MonadIO m => Credential -> AWS AWSContext m a -> m a runEC2 = runAWS initialEC2Context -runEC2' :: Monad m+runEC2withManager :: Monad m     => HTTP.Manager -> Credential -> AWS AWSContext m a -> m a-runEC2' mgr = runAWS' mgr initialEC2Context+runEC2withManager mgr =+    runAWSwithManager mgr initialEC2Context  itemConduit :: MonadThrow m     => Text
AWS/EC2/Query.hs view
@@ -4,9 +4,6 @@     ( ec2Query     , ec2QuerySource     , ec2QuerySource'-#ifdef DEBUG-    , ec2QueryDebug-#endif     , ec2Delete     , module AWS.Lib.Query     , apiVersion@@ -20,25 +17,18 @@ import qualified Data.Conduit.List as CL import qualified Text.XML.Stream.Parse as XmlP import Control.Monad.Trans.Class (lift)-import Control.Monad.IO.Class (MonadIO) import qualified Control.Monad.State as State import qualified Control.Monad.Reader as Reader import Control.Exception.Lifted as E import Data.Text (Text) import Control.Applicative-import Data.Conduit.Internal as CI  import AWS.Class import AWS.EC2.Internal import AWS.Lib.Parser hiding (sinkError) import AWS.Lib.Query -#ifdef DEBUG-import Debug.Trace-import Control.Monad.IO.Class (liftIO)-import qualified Data.Conduit.Binary as CB-#endif-+-- | Ver.2012-12-01 apiVersion :: ByteString apiVersion = "2012-12-01" @@ -77,14 +67,6 @@ ec2QuerySource action params cond = do     ec2QuerySource' action params Nothing cond -($=+) :: MonadIO m-    => ResumableSource m a-    -> Conduit a m b-    -> m (ResumableSource m b)-a $=+ b = do-    (sa, fa) <- unwrapResumable a-    return $ CI.ResumableSource (sa $= b) fa- ec2QuerySource'     :: (MonadResource m, MonadBaseControl IO m)     => ByteString@@ -106,15 +88,6 @@  nextToken :: MonadThrow m => Conduit Event m o nextToken = getT "nextToken" >>= maybe (return ()) (E.throw . NextToken)--#ifdef DEBUG-ec2QueryDebug-    :: (MonadResource m, MonadBaseControl IO m)-    => ByteString-    -> [QueryParam]-    -> EC2 m a-ec2QueryDebug = debugQuery apiVersion-#endif  ec2Delete     :: (MonadResource m, MonadBaseControl IO m)
AWS/EC2/Types/Acl.hs view
@@ -41,7 +41,7 @@     , networkAclEntryProtocol :: Int     , networkAclEntryRuleAction :: NetworkAclRuleAction     , networkAclEntryEgress :: Bool-    , networkAclEntryCidrBlock :: Text+    , networkAclEntryCidrBlock :: AddrRange IPv4     , networkAclEntryIcmpTypeCode :: Maybe IcmpTypeCode     , networkAclEntryPortRange :: Maybe PortRange     }@@ -54,7 +54,7 @@       -- ^ Protocol Number <http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xml>     , networkAclEntryRequestRuleAction :: NetworkAclRuleAction     , networkAclEntryRequestEgress :: Bool-    , networkAclEntryRequestCidrBlock :: Text+    , networkAclEntryRequestCidrBlock :: AddrRange IPv4     , networkAclEntryRequestIcmp :: Maybe IcmpTypeCode     , networkAclEntryRequestPortRange :: Maybe PortRange     }
AWS/ELB.hs view
@@ -4,7 +4,7 @@     ( -- * ELB Environment       ELB     , runELB-    , runELB'+    , runELBwithManager     , setRegion     , apiVersion       -- * LoadBalancer@@ -35,9 +35,9 @@ runELB :: MonadIO m => Credential -> ELB m a -> m a runELB = runAWS initialELBContext -runELB' :: Monad m+runELBwithManager :: Monad m     => HTTP.Manager -> Credential -> ELB m a -> m a-runELB' mgr = runAWS' mgr initialELBContext+runELBwithManager mgr = runAWSwithManager mgr initialELBContext  setRegion     :: (MonadBaseControl IO m, MonadResource m)
AWS/ELB/Internal.hs view
@@ -10,6 +10,7 @@ import AWS.Class import AWS.Lib.Query +-- | Ver.2012-06-01 apiVersion :: ByteString apiVersion = "2012-06-01" 
AWS/Lib/Parser.hs view
@@ -120,8 +120,12 @@ sinkResponse action sink = do     sinkEventBeginDocument     element (action <> "Response") $ (,)-        <$> element (action <> "Result") sink -- XXX: parse Marker+        <$> sinkResult         <*> sinkResponseMetadata+  where+    sinkResult =+        elementM (action <> "Result") sink -- XXX: parse Marker. This marker may not occur (e.g., PutMetricAlarm).+        >>= maybe sink return  sinkResponseMetadata     :: MonadThrow m
AWS/Lib/Query.hs view
@@ -12,11 +12,9 @@     , (|=), (|.)     , (|=?), (|.?)     , (|.#=), (|.#.)+    , ($=+)     , requestQuery     , commonQuery-#ifdef DEBUG-    , debugQuery-#endif     , textToBS     ) where @@ -31,6 +29,7 @@ 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 Data.Time (UTCTime, formatTime, getCurrentTime)@@ -53,7 +52,7 @@ import AWS.EC2.Types (Filter)  #ifdef DEBUG-import qualified Data.Conduit.Binary as CB+import qualified System.IO as IO #endif  data QueryParam@@ -206,6 +205,14 @@ clientError status rsrc errSink =     rsrc $$+- XmlP.parseBytes XmlP.def =$ errSink status +($=+) :: MonadIO m+    => ResumableSource m a+    -> Conduit a m b+    -> m (ResumableSource m b)+a $=+ b = do+    (sa, fa) <- unwrapResumable a+    return $ CI.ResumableSource (sa $= b) fa+ requestQuery     :: (MonadResource m, MonadBaseControl IO m)     => Credential@@ -221,16 +228,46 @@     time <- liftIO getCurrentTime     let url = mkUrl ep cred time action params ver     request <- liftIO $ HTTP.parseUrl (BSC.unpack url)-    let req = request { HTTP.checkStatus = checkStatus' }+    let req = request+            { HTTP.checkStatus = checkStatus'+            , HTTP.responseTimeout = Just 30000000+            }     response <- HTTP.http req mgr     let body = HTTP.responseBody response     let st = H.statusCode $ HTTP.responseStatus response     if st < 400+#ifdef DEBUG+        then body $=+ conduitLog "aws-sdk.log" url+        else do+            body' <- body $=+ conduitLog "aws-sdk-error.log" url+            clientError st body' $ errSink action+            fail "not reached"+#else         then return body         else do             clientError st body $ errSink action             fail "not reached"+#endif +#ifdef DEBUG+conduitLog :: MonadResource m => FilePath -> ByteString -> GInfConduit ByteString m ByteString+conduitLog path url = bracketP (E.try $ IO.openBinaryFile path IO.AppendMode) release go+  where+    release :: Either SomeException IO.Handle -> IO ()+    release (Left _) = return ()+    release (Right h) = do+        liftIO $ BSC.hPutStrLn h ""+        IO.hClose h++    go :: MonadResource m => Either SomeException IO.Handle -> GInfConduit ByteString m ByteString+    go (Left _) = awaitForever yield+    go (Right h) = do+        liftIO $ do+            time <- getCurrentTime+            BSC.hPutStrLn h $ "[" <> awsTimeFormat time <> "] " <> url+        awaitForever $ \bs -> liftIO (BS.hPut h bs) >> yield bs+#endif+ commonQuery     :: (MonadBaseControl IO m, MonadResource m)     => ByteString -- ^ apiVersion@@ -246,25 +283,3 @@         XmlP.parseBytes XmlP.def =$ sinkResponse (bsToText action) sink     State.put ctx { lastRequestId = Just rid }     return res--#ifdef DEBUG-debugQuery-    :: (MonadBaseControl IO m, MonadResource m)-    => ByteString -- ^ apiVersion-    -> ByteString -- ^ Action-    -> [QueryParam]-    -> AWS AWSContext m a-debugQuery ver action params = do-    ctx <- State.get-    cred <- Reader.ask-    let mgr = manager ctx-    let ep = endpoint ctx-    time <- liftIO getCurrentTime-    let url = mkUrl ep cred time action params ver-    liftIO $ print url-    request <- liftIO $ HTTP.parseUrl (BSC.unpack url)-    let req = request { HTTP.checkStatus = checkStatus' }-    response <- lift $ HTTP.http req mgr-    lift $ HTTP.responseBody response $$+- CB.sinkFile "debug.txt"-    fail "debug"-#endif
AWS/RDS.hs view
@@ -4,7 +4,7 @@     ( -- * RDS Environment       RDS     , runRDS-    , runRDS'+    , runRDSwithManager     , setRegion       -- * DBInstance     , module AWS.RDS.DBInstance@@ -49,9 +49,9 @@ runRDS :: MonadIO m => Credential -> RDS m a -> m a runRDS = runAWS initialRDSContext -runRDS' :: Monad m+runRDSwithManager :: Monad m     => HTTP.Manager -> Credential -> RDS m a -> m a-runRDS' mgr = runAWS' mgr initialRDSContext+runRDSwithManager mgr = runAWSwithManager mgr initialRDSContext  setRegion     :: (MonadBaseControl IO m, MonadResource m)
AWS/RDS/DBInstance.hs view
@@ -1,7 +1,10 @@-{-# LANGUAGE FlexibleContexts, RankNTypes #-}+{-# LANGUAGE FlexibleContexts, RankNTypes, RecordWildCards #-}  module AWS.RDS.DBInstance     ( describeDBInstances+    , createDBInstance+    , deleteDBInstance+    , createDBInstanceReadReplica     ) where  import Data.Text (Text)@@ -24,7 +27,8 @@     -> Maybe Text -- ^ Marker     -> RDS m [DBInstance] describeDBInstances dbid maxRecords marker =-    rdsQuery "DescribeDBInstances" params sinkDBInstances+    rdsQuery "DescribeDBInstances" params $+        elements "DBInstance" sinkDBInstance   where     params =         [ "DBInstanceIdentifier" |=? dbid@@ -32,11 +36,10 @@         , "Marker" |=? marker         ] -sinkDBInstances+sinkDBInstance     :: MonadThrow m-    => GLSink Event m [DBInstance]-sinkDBInstances = elements "DBInstance" $-    DBInstance+    => GLSink Event m DBInstance+sinkDBInstance = DBInstance     <$> getT "Iops"     <*> getT "BackupRetentionPeriod"     <*> getT "DBInstanceStatus"@@ -97,9 +100,105 @@         , f PMVMultiAZ "MultiAZ"         , f PMVAllocatedStorage "AllocatedStorage"         , f PMVEngineVersion "EngineVersion"+        , f PMVDBInstanceIdentifier "DBInstanceIdentifier"         , f PMVDBInstanceClass "DBInstanceClass"         , f PMVBackupRetentionPeriod "BackupRetentionPeriod"         , f PMVPort "Port"         ]   where     f c name = fmap c <$> getT name++createDBInstance+    :: (MonadBaseControl IO m, MonadResource m)+    => CreateDBInstanceRequest -- ^ data type of CreateDBInstance+    -> RDS m DBInstance+createDBInstance CreateDBInstanceRequest{..} =+    rdsQuery "CreateDBInstance" params $+        element "DBInstance" sinkDBInstance+  where+    params =+        [ "AllocatedStorage" |=+            toText createDBInstanceAllocatedStorage+        , "AutoMinorVersionUpgrade" |=?+            boolToText <$> createDBInstanceAutoMinorVersionUpgrade+        , "AvailabilityZone" |=?+            createDBInstanceAvailabilityZone+        , "BackupRetentionPeriod" |=?+            toText <$> createDBInstanceBackupRetentionPeriod+        , "CharacterSetName" |=?+            createDBInstanceCharacterSetName+        , "DBInstanceClass" |=+            toText createDBInstanceDBInstanceClass+        , "DBInstanceIdentifier" |=+            createDBInstanceDBInstanceIdentifier+        , "DBName" |=? createDBInstanceDBName+        , "DBParameterGroupName" |=?+            createDBInstanceDBParameterGroupName+        , "DBSecurityGroups.member" |.#=+            createDBInstanceDBSecurityGroups+        , "DBSubnetGroupName" |=?+            createDBInstanceDBSubnetGroupName+        , "Engine" |= toText createDBInstanceEngine+        , "EngineVersion" |=? createDBInstanceEngineVersion+        , "Iops" |=? toText <$> createDBInstanceIops+        , "LicenseModel" |=?+            toText <$> createDBInstanceLicenseModel+        , "MasterUserPassword" |= createDBInstanceMasterUserPassword+        , "MasterUsername" |= createDBInstanceMasterUsername+        , "MultiAZ" |=? boolToText <$> createDBInstanceMultiAZ+        , "OptionGroupName" |=? createDBInstanceOptionGroupName+        , "Port" |=? toText <$> createDBInstancePort+        , "PreferredBackupWindow" |=?+            createDBInstancePreferredBackupWindow+        , "PreferredMaintenanceWindow" |=?+            createDBInstancePreferredMaintenanceWindow+        , "PubliclyAccessible" |=?+            boolToText <$> createDBInstancePubliclyAccessible+        , "VpcSecurityGroupIds" |.#=+            createDBInstanceVpcSecurityGroupIds+        ]++deleteDBInstance+    :: (MonadBaseControl IO m, MonadResource m)+    => Text -- ^ DBInstanceIdentifier+    -> FinalSnapshot -- ^ FinalSnapshot+    -> RDS m DBInstance+deleteDBInstance dbiid final =+    rdsQuery "DeleteDBInstance" params $+        element "DBInstance" sinkDBInstance+  where+    params =+        [ "DBInstanceIdentifier" |= dbiid+        ] ++ finalSnapshotParams final+    finalSnapshotParams SkipFinalSnapshot =+        [ "SkipFinalSnapshot" |= boolToText True ]+    finalSnapshotParams (FinalSnapshotIdentifier sid) =+        [ "SkipFinalSnapshot" |= boolToText False+        , "FinalSnapshotIdentifier" |= sid+        ]++createDBInstanceReadReplica+    :: (MonadBaseControl IO m, MonadResource m)+    => CreateReadReplicaRequest+    -> RDS m DBInstance+createDBInstanceReadReplica CreateReadReplicaRequest{..} =+    rdsQuery "CreateDBInstanceReadReplica" params $+        element "DBInstance" sinkDBInstance+  where+    params =+        [ "AutoMinorVersionUpgrade" |=?+            boolToText <$> createReadReplicaAutoMinorVersionUpgrade+        , "AvailabilityZone" |=?+            createReadReplicaAvailabilityZone+        , "DBInstanceClass" |=+            toText createReadReplicaDBInstanceClass+        , "DBInstanceIdentifier" |=+            createReadReplicaDBInstanceIdentifier+        , "Iops" |=? toText <$> createReadReplicaIops+        , "OptionGroupName" |=? createReadReplicaOptionGroupName+        , "Port" |=? toText <$> createReadReplicaPort+        , "PubliclyAccessible" |=?+            boolToText <$> createReadReplicaPubliclyAccessible+        , "SourceDBInstanceIdentifier" |=+            createReadReplicaSourceDBInstanceIdentifier+        ]
AWS/RDS/DBParameterGroup.hs view
@@ -2,6 +2,8 @@  module AWS.RDS.DBParameterGroup     ( describeDBParameterGroups+    , createDBParameterGroup+    , deleteDBParameterGroup     ) where  import Control.Applicative ((<$>), (<*>))@@ -9,9 +11,9 @@ import Data.Text (Text) import Data.XML.Types (Event) -import AWS.Lib.Parser (getT)-import AWS.Lib.Query ((|=?))-import AWS.RDS.Internal (RDS, rdsQuery, elements)+import AWS.Lib.Parser (getT, element)+import AWS.Lib.Query ((|=), (|=?))+import AWS.RDS.Internal (RDS, rdsQuery, rdsQueryOnlyMetadata, elements) import AWS.RDS.Types hiding (Event) import AWS.Util (toText) @@ -38,3 +40,27 @@     <$> getT "DBParameterGroupFamily"     <*> getT "Description"     <*> getT "DBParameterGroupName"++createDBParameterGroup+    :: (MonadBaseControl IO m, MonadResource m)+    => Text -- ^ DBParameterGroupFamily+    -> Text -- ^ DBParameterGroupName+    -> Text -- ^ Description+    -> RDS m DBParameterGroup+createDBParameterGroup family name desc =+    rdsQuery "CreateDBParameterGroup" params $+        element "DBParameterGroup" dbParameterGroupSink+  where+    params =+        [ "DBParameterGroupFamily" |= family+        , "DBParameterGroupName" |= name+        , "Description" |= desc+        ]++deleteDBParameterGroup+    :: (MonadBaseControl IO m, MonadResource m)+    => Text -- ^ DBParameterGroupName+    -> RDS m ()+deleteDBParameterGroup name =+    rdsQueryOnlyMetadata "DeleteDBParameterGroup"+        ["DBParameterGroupName" |= name]
AWS/RDS/DBSecurityGroup.hs view
@@ -2,6 +2,8 @@  module AWS.RDS.DBSecurityGroup     ( describeDBSecurityGroups+    , createDBSecurityGroup+    , deleteDBSecurityGroup     ) where  import Control.Applicative ((<$>), (<*>))@@ -9,9 +11,9 @@ import Data.Text (Text) import Data.XML.Types (Event) -import AWS.Lib.Parser (getT)-import AWS.Lib.Query ((|=?))-import AWS.RDS.Internal (RDS, rdsQuery, elements)+import AWS.Lib.Parser (getT, element)+import AWS.Lib.Query ((|=), (|=?))+import AWS.RDS.Internal (RDS, rdsQuery, rdsQueryOnlyMetadata, elements) import AWS.RDS.Types hiding (Event) import AWS.Util (toText) @@ -38,8 +40,8 @@     <$> elements "EC2SecurityGroup" (         EC2SecurityGroup         <$> getT "Status"-        <*> getT "EC2SecurityGroupOwnerId"         <*> getT "EC2SecurityGroupName"+        <*> getT "EC2SecurityGroupOwnerId"         <*> getT "EC2SecurityGroupId"         )     <*> getT "DBSecurityGroupDescription"@@ -51,3 +53,25 @@     <*> getT "VpcId"     <*> getT "OwnerId"     <*> getT "DBSecurityGroupName"++createDBSecurityGroup+    :: (MonadBaseControl IO m, MonadResource m)+    => Text -- ^ DBSecurityGroupName+    -> Text -- ^ DBSecurityGroupDescription+    -> RDS m DBSecurityGroup+createDBSecurityGroup name desc =+    rdsQuery "CreateDBSecurityGroup" params $+        element "DBSecurityGroup" dbSecurityGroupSink+  where+    params =+        [ "DBSecurityGroupName" |= name+        , "DBSecurityGroupDescription" |= desc+        ]++deleteDBSecurityGroup+    :: (MonadBaseControl IO m, MonadResource m)+    => Text -- ^ DBSecurityGroupName+    -> RDS m ()+deleteDBSecurityGroup name =+    rdsQueryOnlyMetadata "DeleteDBSecurityGroup"+        ["DBSecurityGroupName" |= name]
AWS/RDS/DBSubnetGroup.hs view
@@ -2,13 +2,16 @@  module AWS.RDS.DBSubnetGroup     ( describeDBSubnetGroups+    , createDBSubnetGroup+    , deleteDBSubnetGroup     ) where  import Control.Applicative ((<$>)) import Data.Conduit import Data.Text (Text) -import AWS.Lib.Query ((|=?))+import AWS.Lib.Parser (element)+import AWS.Lib.Query ((|=), (|=?), (|.#=)) import AWS.RDS.Internal import AWS.RDS.Types (DBSubnetGroup) import AWS.Util (toText)@@ -28,3 +31,27 @@         , "Marker" |=? marker         , "MaxRecords" |=? toText <$> maxRecords         ]++createDBSubnetGroup+    :: (MonadBaseControl IO m, MonadResource m)+    => Text -- ^ DBSubnetGroupName+    -> [Text] -- ^ SubnetIds+    -> Text -- ^ DBSubnetGroupDescription+    -> RDS m DBSubnetGroup+createDBSubnetGroup name ids desc =+    rdsQuery "CreateDBSubnetGroup" params $+        element "DBSubnetGroup" dbSubnetGroupSink+  where+    params =+        [ "DBSubnetGroupName" |= name+        , "SubnetIds.member" |.#= ids+        , "DBSubnetGroupDescription" |= desc+        ]++deleteDBSubnetGroup+    :: (MonadBaseControl IO m, MonadResource m)+    => Text -- ^ DBSubnetGroupName+    -> RDS m ()+deleteDBSubnetGroup name =+    rdsQueryOnlyMetadata "DeleteDBSubnetGroup"+        ["DBSubnetGroupName" |= name]
AWS/RDS/Internal.hs view
@@ -4,27 +4,31 @@     ( apiVersion     , RDS     , rdsQuery+    , rdsQueryOnlyMetadata     , elements     , elements'-#ifdef DEBUG-    , rdsQueryDebug-#endif     , dbSubnetGroupSink     ) where  import Control.Applicative ((<$>), (<*>))+import qualified Control.Monad.Reader as Reader+import qualified Control.Monad.State as State+import Control.Monad.Trans.Class (lift) import Data.ByteString (ByteString) import Data.Text (Text) import Data.Conduit import Data.Monoid ((<>)) import Data.XML.Types (Event(..)) import Data.Maybe (fromMaybe)+import qualified Text.XML.Stream.Parse as XmlP  import AWS.Class import AWS.Lib.Query import AWS.Lib.Parser import AWS.RDS.Types (DBSubnetGroup(..), Subnet(..), AvailabilityZone(..))+import AWS.Util +-- | Ver.2013-01-10 apiVersion :: ByteString apiVersion = "2013-01-10" @@ -38,6 +42,29 @@     -> RDS m a rdsQuery = commonQuery apiVersion +rdsQueryOnlyMetadata+    :: (MonadBaseControl IO m, MonadResource m)+    => ByteString+    -> [QueryParam]+    -> RDS m ()+rdsQueryOnlyMetadata action params = do+    ctx <- State.get+    cred <- Reader.ask+    rs <- lift $ requestQuery cred ctx action params apiVersion sinkError+    rid <- lift $ rs $$+-+        XmlP.parseBytes XmlP.def =$+            sinkResponseOnlyMetadata (bsToText action)+    State.put ctx { lastRequestId = Just rid }+    return ()++sinkResponseOnlyMetadata+    :: MonadThrow m+    => Text+    -> GLSink Event m RequestId+sinkResponseOnlyMetadata action = do+    sinkEventBeginDocument+    element (action <> "Response") $ sinkResponseMetadata+ elements :: MonadThrow m     => Text     -> GLSink Event m a@@ -51,15 +78,6 @@     -> GLSink Event m [a] elements' setName itemName inner =     fromMaybe [] <$> elementM setName (listConsumer itemName inner)--#ifdef DEBUG-rdsQueryDebug-    :: (MonadResource m, MonadBaseControl IO m)-    => ByteString-    -> [QueryParam]-    -> RDS m a-rdsQueryDebug = debugQuery apiVersion-#endif  dbSubnetGroupSink     :: MonadThrow m
AWS/RDS/Types/DBInstance.hs view
@@ -1,3 +1,5 @@+{-# LANGUAGE TemplateHaskell #-}+ module AWS.RDS.Types.DBInstance     ( DBInstance(..)     , VpcSecurityGroupMembership(..)@@ -6,9 +8,15 @@     , Endpoint(..)     , OptionGroupMembership(..)     , PendingModifiedValue(..)+    , CreateDBInstanceRequest(..)+    , DBInstanceClass(..)+    , Engine(..)+    , LicenseModel(..)+    , FinalSnapshot(..)+    , CreateReadReplicaRequest(..)     ) where -import AWS.Lib.FromText (Text, UTCTime)+import AWS.Lib.FromText (Text, UTCTime, deriveFromText) import AWS.RDS.Types.DBSubnetGroup (DBSubnetGroup)  data DBInstance = DBInstance@@ -21,13 +29,13 @@     , dbiPreferredBackupWindow :: Text     , dbiPreferredMaintenanceWindow :: Text     , dbiOptionGroupMembership :: Maybe OptionGroupMembership-    , dbiAvailabilityZone :: Text+    , dbiAvailabilityZone :: Maybe Text     , dbiLatestRestorableTime :: Maybe UTCTime     , dbiReadReplicaDBInstanceIdentifiers :: [Text]-    , dbiEngine :: Text+    , dbiEngine :: Engine     , dbiPendingModifiedValues :: [PendingModifiedValue]     , dbiCharacterSetName :: Maybe Text-    , dbiLicenseModel :: Text+    , dbiLicenseModel :: LicenseModel     , dbiSubnetGroup :: Maybe DBSubnetGroup     , dbiDBParameterGroups :: [DBParameterGroupStatus]     , dbiEndpoint :: Maybe Endpoint@@ -39,7 +47,7 @@     , dbiDBName :: Maybe Text     , dbiInstanceCreateTime :: Maybe UTCTime     , dbiAllocatedStorage :: Int -- ^ storage size in gigabytes-    , dbiDBInstanceClass :: Text+    , dbiDBInstanceClass :: DBInstanceClass     , dbiMasterUsername :: Text     }   deriving (Show, Eq)@@ -83,4 +91,117 @@     | PMVMasterUserPassword Text     | PMVMultiAZ Bool     | PMVPort Int+    | PMVDBInstanceIdentifier Text   deriving (Show, Eq)++data CreateDBInstanceRequest = CreateDBInstanceRequest+    { createDBInstanceAllocatedStorage :: Int+    , createDBInstanceAutoMinorVersionUpgrade :: Maybe Bool+    , createDBInstanceAvailabilityZone :: Maybe Text+    , createDBInstanceBackupRetentionPeriod :: Maybe Int+    , createDBInstanceCharacterSetName :: Maybe Text+    , createDBInstanceDBInstanceClass :: DBInstanceClass+    , createDBInstanceDBInstanceIdentifier :: Text+    , createDBInstanceDBName :: Maybe Text+    , createDBInstanceDBParameterGroupName :: Maybe Text+    , createDBInstanceDBSecurityGroups :: [Text]+    , createDBInstanceDBSubnetGroupName :: Maybe Text+    , createDBInstanceEngine :: Engine+    , createDBInstanceEngineVersion :: Maybe Text+    , createDBInstanceIops :: Maybe Int+    , createDBInstanceLicenseModel :: Maybe LicenseModel+    , createDBInstanceMasterUserPassword :: Text+    , createDBInstanceMasterUsername :: Text+    , createDBInstanceMultiAZ :: Maybe Bool+    , createDBInstanceOptionGroupName :: Maybe Text+    , createDBInstancePort :: Maybe Int+    , createDBInstancePreferredBackupWindow :: Maybe Text+    , createDBInstancePreferredMaintenanceWindow :: Maybe Text+    , createDBInstancePubliclyAccessible :: Maybe Bool+    , createDBInstanceVpcSecurityGroupIds :: [Text]+    }+  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)++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"++data LicenseModel+    = LicenseIncluded+    | BringYourOwnLicense+    | GeneralPublicLicense+  deriving (Read, Eq)++instance Show LicenseModel where+    show LicenseIncluded = "license-included"+    show BringYourOwnLicense = "bring-your-own-license"+    show GeneralPublicLicense = "general-public-license"++data FinalSnapshot+    = FinalSnapshotIdentifier Text+    | SkipFinalSnapshot++data CreateReadReplicaRequest = CreateReadReplicaRequest+    { createReadReplicaAutoMinorVersionUpgrade :: Maybe Bool+    , createReadReplicaAvailabilityZone :: Maybe Text+    , createReadReplicaDBInstanceClass :: DBInstanceClass+    , createReadReplicaDBInstanceIdentifier :: Text+    , createReadReplicaIops :: Maybe Int+    , createReadReplicaOptionGroupName :: Maybe Text+    , createReadReplicaPort :: Maybe Int+    , createReadReplicaPubliclyAccessible :: Maybe Bool+    , createReadReplicaSourceDBInstanceIdentifier :: Text+    }+  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/DBSecurityGroup.hs view
@@ -22,8 +22,8 @@  data EC2SecurityGroup = EC2SecurityGroup     { ec2SecurityGroupStatus :: EC2SecurityGroupStatus-    , ec2SecurityGroupOwnerId :: Maybe Text     , ec2SecurityGroupName :: Text+    , ec2SecurityGroupOwnerId :: Maybe Text     , ec2SecurityGroupId :: Maybe Text     }   deriving (Show, Eq)
− Tests/Main.hs
@@ -1,43 +0,0 @@-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE NoMonomorphismRestriction #-}-{-# OPTIONS_GHC -fno-warn-orphans #-}--module Main where--import AWSTests.EC2Tests-import AWSTests.RDSTests-import AWSTests.ELBTests--main :: IO ()-main = do-    -- EC2 Tests-    runInstanceTests-    runVpcTests-    runAddressTests-    runSnapshotTests-    runImageTests-    runSubnetsTests-    runVolumeTests-    runSecurityGroupTests-    runRouteTests-    runRouteTableTests-    runRegionTests-    runInstanceTests-    runAvailabilityZoneTests-    runTagTests-    runKeyPairTests-    runNetworkInterfaceTests-    runNetworkInterfaceAttributeTests-    runPlacementGroupTests-    runConversionTaskTests--    -- RDS Tests-    runDBInstanceTests-    runDBParameterGroupTests-    runDBSecurityGroupTests-    runDBSnapshotTests-    runDBSubnetGroupTests-    runEventTests--    -- ELB Tests-    runLoadBalancerTests
aws-sdk.cabal view
@@ -1,5 +1,5 @@ name:                aws-sdk-version:             0.10.0+version:             0.11.0 synopsis:            AWS SDK for Haskell description: AWS (Amazon Web Services) sdk for Haskell.              .@@ -22,9 +22,12 @@ build-type:          Simple cabal-version:       >=1.8 +flag debug+    description: enable debug logging+    default: False+ library   exposed-modules:   AWS-                   , AWS.Types                    , AWS.EC2                    , AWS.EC2.Types                    , AWS.EC2.Util@@ -36,7 +39,9 @@                    , AWS.ELB.Types                    , AWS.CloudWatch                    , AWS.CloudWatch.Types-  other-modules:     AWS.Util , AWS.Credential+  other-modules:     AWS.Util+                   , AWS.Credential+                   , AWS.Types                    , AWS.Class                    , AWS.EC2.Internal                    , AWS.EC2.Address@@ -99,8 +104,12 @@                    , AWS.ELB.LoadBalancer                    , AWS.CloudWatch.Internal                    , AWS.CloudWatch.Metric+                   , AWS.CloudWatch.Alarm   ghc-options:       -Wall                      -fno-warn-unused-do-bind+  if flag(debug)+      cpp-options: -DDEBUG+   extensions: OverloadedStrings   build-depends:     base >= 4 && < 5                    , containers@@ -132,7 +141,7 @@ test-suite test     type:              exitcode-stdio-1.0     main-is:           Main.hs-    hs-source-dirs:    Tests+    hs-source-dirs:    tests     ghc-options:       -Wall                        -threaded                        -fno-warn-unused-do-bind@@ -151,6 +160,7 @@                  , lifted-base                  , iproute                  , tls+                 , time  source-repository head     type:            git
+ tests/Main.hs view
@@ -0,0 +1,49 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE NoMonomorphismRestriction #-}+{-# OPTIONS_GHC -fno-warn-orphans #-}++module Main where++import AWSTests.EC2Tests+import AWSTests.RDSTests+import AWSTests.ELBTests+import AWSTests.CloudWatchTests++main :: IO ()+main = do+    -- EC2 Tests+    runInstanceTests+    runVpcTests+    runAddressTests+    runSnapshotTests+    runImageTests+    runSubnetsTests+    runVolumeTests+    runSecurityGroupTests+    runRouteTests+    runRouteTableTests+    runRegionTests+    runInstanceTests+    runAvailabilityZoneTests+    runTagTests+    runKeyPairTests+    runNetworkInterfaceTests+    runNetworkInterfaceAttributeTests+    runPlacementGroupTests+    runConversionTaskTests+    runAclTests++    -- RDS Tests+    runDBInstanceTests+    runDBParameterGroupTests+    runDBSecurityGroupTests+    runDBSnapshotTests+    runDBSubnetGroupTests+    runEventTests++    -- ELB Tests+    runLoadBalancerTests++    -- CloudWatch Tests+    runAlarmTests+    runMetricTests