module Network.AWS.EC2.UnmonitorInstances
(
UnmonitorInstances
, unmonitorInstances
, uiDryRun
, uiInstanceIds
, UnmonitorInstancesResponse
, unmonitorInstancesResponse
, uirInstanceMonitorings
) where
import Network.AWS.Prelude
import Network.AWS.Request.Query
import Network.AWS.EC2.Types
import qualified GHC.Exts
data UnmonitorInstances = UnmonitorInstances
{ _uiDryRun :: Maybe Bool
, _uiInstanceIds :: List "InstanceId" Text
} deriving (Eq, Ord, Read, Show)
unmonitorInstances :: UnmonitorInstances
unmonitorInstances = UnmonitorInstances
{ _uiDryRun = Nothing
, _uiInstanceIds = mempty
}
uiDryRun :: Lens' UnmonitorInstances (Maybe Bool)
uiDryRun = lens _uiDryRun (\s a -> s { _uiDryRun = a })
uiInstanceIds :: Lens' UnmonitorInstances [Text]
uiInstanceIds = lens _uiInstanceIds (\s a -> s { _uiInstanceIds = a }) . _List
newtype UnmonitorInstancesResponse = UnmonitorInstancesResponse
{ _uirInstanceMonitorings :: List "item" InstanceMonitoring
} deriving (Eq, Read, Show, Monoid, Semigroup)
unmonitorInstancesResponse :: UnmonitorInstancesResponse
unmonitorInstancesResponse = UnmonitorInstancesResponse
{ _uirInstanceMonitorings = mempty
}
uirInstanceMonitorings :: Lens' UnmonitorInstancesResponse [InstanceMonitoring]
uirInstanceMonitorings =
lens _uirInstanceMonitorings (\s a -> s { _uirInstanceMonitorings = a })
. _List
instance ToPath UnmonitorInstances where
toPath = const "/"
instance ToQuery UnmonitorInstances where
toQuery UnmonitorInstances{..} = mconcat
[ "DryRun" =? _uiDryRun
, "InstanceId" `toQueryList` _uiInstanceIds
]
instance ToHeaders UnmonitorInstances
instance AWSRequest UnmonitorInstances where
type Sv UnmonitorInstances = EC2
type Rs UnmonitorInstances = UnmonitorInstancesResponse
request = post "UnmonitorInstances"
response = xmlResponse
instance FromXML UnmonitorInstancesResponse where
parseXML x = UnmonitorInstancesResponse
<$> x .@? "instancesSet" .!@ mempty