packages feed

machines-amazonka 0.6.2 → 0.7.0

raw patch · 10 files changed

+174/−66 lines, 10 filesdep +amazonka-autoscalingPVP ok

version bump matches the API change (PVP)

Dependencies added: amazonka-autoscaling

API changes (from Hackage documentation)

+ Network.AWS.Machines.AutoScaleGroup: autoScalingGroups :: [RequestMod DescribeAutoScalingGroups] -> AWSSourceT m AutoScalingGroup
+ Network.AWS.Machines.AutoScaleGroup: data AutoScalingGroup :: *
+ Network.AWS.Machines.LaunchConfigurations: launchConfigurations :: [RequestMod DescribeLaunchConfigurations] -> AWSSourceT m LaunchConfiguration
+ Network.AWS.Machines.SecurityGroups: securityGroups :: [RequestMod DescribeSecurityGroups] -> AWSSourceT m SecurityGroup
+ Network.AWS.Machines.Types: data IO a :: * -> *
+ Network.AWS.Machines.Types: type AWSProcessT m a b = AWSMachineT m (Is a) b
+ Network.AWS.Machines.Types: type AWSSourceT m b = forall k. AWSMachineT m k b
+ Network.AWS.Machines.Types: type GetResponse f a c = (AWSRequest a, Foldable f) => Getting (f c) (Rs a) (f c)
+ Network.AWS.Machines.Types: type M m = (MonadBaseControl IO m, MonadAWS (AWST' Env (ResourceT m)))
+ Network.AWS.Machines.Types: type AWSMachineT m k b = M m => MachineT (AWST' Env (ResourceT m)) k b
+ Network.AWS.Machines.Types: type RequestMod a = a -> a
- Network.AWS.Machines.Instances: stopT :: AWSProcessT m Instance InstanceStateChange
+ Network.AWS.Machines.Instances: stopT :: (MonadThrow m, M m, MonadIO m) => AWSProcessT m Instance InstanceStateChange

Files

− Source/Library/Network/AWS/Machines.hs
@@ -1,25 +0,0 @@-{-|-Module:             Network.AWS.Machines-Description:        Machines transducers for Amazonka functions.-Copyright:          © 2017 All rights reserved.-License:            GPL-3-Maintainer:         Evan Cofsky <evan@theunixman.com>-Stability:          experimental-Portability:        POSIX--}--module Network.AWS.Machines (-    module Network.AWS.Machines.AWS,-    module Network.AWS.Machines.Filters,-    module Network.AWS.Machines.Images,-    module Network.AWS.Machines.Instances,-    module Network.AWS.Machines.Subnets,-    module Network.AWS.Machines.SpotPrices-    ) where--import Network.AWS.Machines.AWS-import Network.AWS.Machines.Filters-import Network.AWS.Machines.Images-import Network.AWS.Machines.Instances-import Network.AWS.Machines.SpotPrices-import Network.AWS.Machines.Subnets
Source/Library/Network/AWS/Machines/AWS.hs view
@@ -9,8 +9,6 @@ -}  module Network.AWS.Machines.AWS (-    module Machine,-    module Lawless,     AWSProcessT,     AWSSourceT,     RequestMod,@@ -46,36 +44,12 @@     (<~),     (<>)     )-import Network.AWS hiding (send, within)-import Control.Monad.Trans.AWS-import Control.Monad.IO.Class-import Control.Monad.Trans.Control-import Control.Monad.Catch+import IO import Text-import Control.Monad.Trans.Resource import Machine+import Network.AWS.Machines.Types  default (Text)---- | The base monad constraints for an 'AWSMachineT'.-type M m = (MonadBaseControl IO m, MonadAWS (AWST' Env (ResourceT m)))---- | Any 'MachineT' operating in the AWST' stack.-type AWSMachineT m k b = M m ⇒ MachineT (AWST' Env (ResourceT m)) k b---- | A process transducing a stream of AWS values.-type AWSProcessT m a b = AWSMachineT m (Is a) b---- | A stream of AWS values.-type AWSSourceT m b = ∀ k. AWSMachineT m k b---- | A 'Getter' for extracting values from an 'Rs' 'AWSRequest'.-type GetResponse f a c =-    (AWSRequest a, Foldable f) ⇒ Getting (f c) (Rs a) (f c)---- | Modifies an 'AWSRequest' after the smart constructor has created--- it.-type RequestMod a = a → a  -- | Run an AWSProcessT. withAWS ∷ (MonadCatch m, MonadIO m, M m) ⇒
+ Source/Library/Network/AWS/Machines/AutoScaleGroup.hs view
@@ -0,0 +1,29 @@+{-|+Module:             Network.AWS.Machines.LaunchConfigurations+Description:        Pull launch configuration information from AWS.+Copyright:          © 2017 All rights reserved.+License:            GPL-3+Maintainer:         Evan Cofsky <evan@theunixman.com>+Stability:          experimental+Portability:        POSIX+-}++module Network.AWS.Machines.AutoScaleGroup (+    autoScalingGroups,+    AutoScalingGroup) where++import Network.AWS.Machines.AWS+import Network.AWS.AutoScaling++autoScalingGroups ∷+    [RequestMod DescribeAutoScalingGroups] → AWSSourceT m AutoScalingGroup+autoScalingGroups ms = pagedSource dasgrsAutoScalingGroups ms describeAutoScalingGroups++-- -- | Create or update tags on a batch of 'AutoScaleGroup's,+-- -- yielding the launch configurations.+-- createOrUpdateTags ∷+--     [Tag] → AWSProcessT m AutoScalingGroup LaunchConfiguration+-- createOrUpdateTags tags = repeatedly $ do+--     lc ← await+--     let tgs = over traversed (\t → t & tagResourceId .~ lc ^. )+--     await ≫= coutTags (over traversed (flip set ))
Source/Library/Network/AWS/Machines/Images.hs view
@@ -12,6 +12,7 @@  module Network.AWS.Machines.Images where +import Lawless hiding (mapping) import Network.AWS.EC2 import Network.AWS.Machines.Filters import Network.AWS.Machines.AWS@@ -20,6 +21,7 @@ import Textual hiding (toText) import Data.Time.Format import Text+import Machine  images ∷ [RequestMod DescribeImages] → AWSSourceT m Image images ms = awsSource desrsImages ms describeImages
Source/Library/Network/AWS/Machines/Instances.hs view
@@ -10,18 +10,20 @@  module Network.AWS.Machines.Instances where -import Network.AWS+import Lawless hiding (mapping)+import Machine import Network.AWS.Machines.AWS+import Network.AWS.Machines.Types hiding (Instance) import Network.AWS.EC2  reservations ∷ [RequestMod DescribeInstances] → AWSSourceT m Reservation reservations ms = pagedSource dirsReservations ms describeInstances  instances ∷  AWSProcessT m Reservation Instance-instances = mapping (view rInstances) ~> asParts+instances = mapping (view rInstances) ⇝ asParts -stopT ∷ AWSProcessT m Instance InstanceStateChange-stopT = buffered 50 ~> autoM stop' ~> asParts+stopT ∷ (MonadThrow m, M m, MonadIO m) ⇒ AWSProcessT m Instance InstanceStateChange+stopT = buffered 50 ~> autoM stop' ⇝ asParts     where         srq iids = stopInstances                    & siInstanceIds
+ Source/Library/Network/AWS/Machines/LaunchConfigurations.hs view
@@ -0,0 +1,45 @@+{-|+Module:             Network.AWS.Machines.LaunchConfigurations+Description:        Pull launch configuration information from AWS.+Copyright:          © 2017 All rights reserved.+License:            GPL-3+Maintainer:         Evan Cofsky <evan@theunixman.com>+Stability:          experimental+Portability:        POSIX+-}++module Network.AWS.Machines.LaunchConfigurations (+    module Network.AWS.AutoScaling.CreateLaunchConfiguration,+    module Network.AWS.AutoScaling.DescribeLaunchConfigurations,+    launchConfigurations+    ) where++import Network.AWS.Machines.AWS+import Network.AWS.Machines.Types hiding (await)+import Network.AWS.AutoScaling.CreateLaunchConfiguration+import Network.AWS.AutoScaling.DescribeLaunchConfigurations++launchConfigurations ∷+    [RequestMod DescribeLaunchConfigurations] → AWSSourceT m LaunchConfiguration+launchConfigurations ms =+    pagedSource dlcrsLaunchConfigurations ms describeLaunchConfigurations++-- -- | Create a new launch configuration for each+-- -- 'CreateLaunchConfiguration' that comes through. Return the actual+-- -- created 'LaunchConfiguration' by searching for the name.+-- createLaunchConfiguration ∷+--     [CreateLaunchConfiguration] →+--     AWSProcessT m CreateLaunchConfiguration LaunchConfiguration+-- createLaunchConfiguration =+--     let+--         c = repeatedly $ do+--             rq ← await+--             send  rq+--             yield $ rq ^. lcLaunchConfigurationName+--         bc = buffered 100+--         lcs = repeatedly $+--             await+--             ≫= launchConfigurations ∘ over traversed (flip set dlcLaunchConfigurationNames)+--             ≫= yield+--     in+--         c ⇝ bc ⇝ asParts ⇝ lcs
+ Source/Library/Network/AWS/Machines/SecurityGroups.hs view
@@ -0,0 +1,17 @@+{-|+Module:             Network.AWS.Machines.+Description:        Machines producing instances+Copyright:          © 2017 All rights reserved.+License:            GPL-3+Maintainer:         Evan Cofsky <evan@theunixman.com>+Stability:          experimental+Portability:        POSIX+-}++module Network.AWS.Machines.SecurityGroups where++import Network.AWS.Machines.AWS+import Network.AWS.EC2++securityGroups ∷ [RequestMod DescribeSecurityGroups] → AWSSourceT m SecurityGroup+securityGroups ms = awsSource dsgrsSecurityGroups ms describeSecurityGroups
Source/Library/Network/AWS/Machines/SpotPrices.hs view
@@ -15,12 +15,14 @@ import Lawless hiding (filtered, mapping) import Network.AWS.EC2 import Network.AWS.Machines.AWS+import Network.AWS.Machines.Types import Network.AWS.Data.Text (toText)  import Time import Data.Fixed import Textual (Textual(..), Printable(..), fromText, hcat, fsep) import Text+import Machine  -- | An 'AWSSourceT' for 'SpotPrice's. type SpotPriceSourceT m = AWSSourceT m SpotPrice
+ Source/Library/Network/AWS/Machines/Types.hs view
@@ -0,0 +1,58 @@+{-|+Module:             Network.AWS.Machines.AWS.Types+Description:        Type reexports from Network.AWS.+Copyright:          © 2017 All rights reserved.+License:            GPL-3+Maintainer:         Evan Cofsky <evan@theunixman.com>+Stability:          experimental+Portability:        POSIX+-}++module Network.AWS.Machines.Types (+    module Network.AWS,+    module Control.Monad.Trans.AWS,+    module Control.Monad.IO.Class,+    module Control.Monad.Trans.Control,+    module Control.Monad.Catch,+    module Control.Monad.Trans.Resource,+    module Network.AWS.Types,+    module Network.AWS.AutoScaling.Types,+    M,+    AWSMachineT,+    AWSProcessT,+    AWSSourceT,+    GetResponse,+    RequestMod,+    IO+    ) where++import Lawless+import Network.AWS (MonadAWS, liftAWS, )+import Control.Monad.Trans.AWS+import Control.Monad.IO.Class+import Control.Monad.Trans.Control+import Control.Monad.Catch+import Control.Monad.Trans.Resource+import Network.AWS.Types+import Network.AWS.AutoScaling.Types+import Machine++-- | The base monad constraints for an 'AWSMachineT'.+type M m = (MonadBaseControl IO m, MonadAWS (AWST' Env (ResourceT m)))++-- | Any 'MachineT' operating in the AWST' stack.+type AWSMachineT m k b = M m ⇒ MachineT (AWST' Env (ResourceT m)) k b++-- | A process transducing a stream of AWS values.+type AWSProcessT m a b = AWSMachineT m (Is a) b++-- | A stream of AWS values.+type AWSSourceT m b = ∀ k. AWSMachineT m k b++-- | A 'Getter' for extracting values from an 'Rs' 'AWSRequest'.+type GetResponse f a c =+    (AWSRequest a, Foldable f) ⇒ Getting (f c) (Rs a) (f c)++-- | Modifies an 'AWSRequest' after the smart constructor has created+-- it.+type RequestMod a = a → a
machines-amazonka.cabal view
@@ -1,5 +1,5 @@ name:                machines-amazonka-version:             0.6.2+version:             0.7.0 synopsis:            Machine transducers for Amazonka calls. description:         This provides several modules for managing AWS                      resources using the Machines library. It supports@@ -25,20 +25,23 @@ source-repository this                   type: git                   location: git@gitlab.com:theunixman/machines-amazonka.git-                  tag: v0.6.2+                  tag: v0.7.0  library   ghc-options:               -Wall               -O2   exposed-modules:-                  Network.AWS.Machines-                  Network.AWS.Machines.AWS-                  Network.AWS.Machines.Filters-                  Network.AWS.Machines.Images-                  Network.AWS.Machines.Instances-                  Network.AWS.Machines.SpotPrices-                  Network.AWS.Machines.Subnets+        Network.AWS.Machines.AWS+        Network.AWS.Machines.AutoScaleGroup+        Network.AWS.Machines.Filters+        Network.AWS.Machines.Images+        Network.AWS.Machines.Instances+        Network.AWS.Machines.LaunchConfigurations+        Network.AWS.Machines.SecurityGroups+        Network.AWS.Machines.SpotPrices+        Network.AWS.Machines.Subnets+        Network.AWS.Machines.Types   default-extensions:  NoImplicitPrelude                        UnicodeSyntax                        LambdaCase@@ -64,6 +67,7 @@   build-depends:                 amazonka >= 1.4.5 && < 1.5,                 amazonka-core >= 1.4.5 && < 1.5,+                amazonka-autoscaling >= 1.4.5 && < 1.5,                 amazonka-ec2 >= 1.4.5 && < 1.5,                 amazonka-s3 >= 1.4.5 && < 1.5,                 amazonka-sts >= 1.4.5 && < 1.5,