module Aws.Ec2.Commands.StopInstances where
import Data.Text ()
import Data.ByteString.Char8 (pack)
import qualified Network.HTTP.Types as HTTP
import Data.Monoid
import Aws.Ec2.TH
data StopInstances = StopInstances
{ stop_instanceIds :: [Text]
} deriving (Show)
instance SignQuery StopInstances where
type ServiceConfiguration StopInstances = EC2Configuration
signQuery StopInstances{..} = ec2SignQuery $
main
+++ enumerateInstances (zip [1..] stop_instanceIds)
where
main :: HTTP.Query
main = [ ("Action", qArg "StopInstances")
, defVersion
]
enumerateInstances :: [(Int,Text)] -> HTTP.Query
enumerateInstances [] = []
enumerateInstances ((i,x):xs) = [("InstanceId." <> pack (show i), qArg x)] +++ enumerateInstances xs
ec2ValueTransaction ''StopInstances "StopInstancesResponse"