machines-amazonka-0.4.0: Source/Library/Network/AWS/Machines/Instances.hs
{-|
Module: Network.AWS.Machines.Instances
Description: Machines producing instances
Copyright: © 2017 All rights reserved.
License: GPL-3
Maintainer: Evan Cofsky <>
Stability: experimental
Portability: POSIX
-}
module Network.AWS.Machines.Instances where
import Network.AWS
import Network.AWS.Machines.AWS
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
stopT ∷ AWSProcessT m Instance InstanceStateChange
stopT = buffered 50 ~> autoM stop' ~> asParts
where
srq iids = stopInstances
& siInstanceIds
<>~ over traversed (view insInstanceId) iids
stop' iids = (send $ srq iids) >>= return ∘ view sirsStoppingInstances