{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE TypeFamilies #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
module Network.AWS.CloudWatch.SetAlarmState
(
setAlarmState
, SetAlarmState
, sasStateReasonData
, sasAlarmName
, sasStateValue
, sasStateReason
, setAlarmStateResponse
, SetAlarmStateResponse
) where
import Network.AWS.CloudWatch.Types
import Network.AWS.CloudWatch.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data SetAlarmState = SetAlarmState'
{ _sasStateReasonData :: !(Maybe Text)
, _sasAlarmName :: !Text
, _sasStateValue :: !StateValue
, _sasStateReason :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
setAlarmState
:: Text
-> StateValue
-> Text
-> SetAlarmState
setAlarmState pAlarmName_ pStateValue_ pStateReason_ =
SetAlarmState'
{ _sasStateReasonData = Nothing
, _sasAlarmName = pAlarmName_
, _sasStateValue = pStateValue_
, _sasStateReason = pStateReason_
}
sasStateReasonData :: Lens' SetAlarmState (Maybe Text)
sasStateReasonData = lens _sasStateReasonData (\ s a -> s{_sasStateReasonData = a})
sasAlarmName :: Lens' SetAlarmState Text
sasAlarmName = lens _sasAlarmName (\ s a -> s{_sasAlarmName = a})
sasStateValue :: Lens' SetAlarmState StateValue
sasStateValue = lens _sasStateValue (\ s a -> s{_sasStateValue = a})
sasStateReason :: Lens' SetAlarmState Text
sasStateReason = lens _sasStateReason (\ s a -> s{_sasStateReason = a})
instance AWSRequest SetAlarmState where
type Rs SetAlarmState = SetAlarmStateResponse
request = postQuery cloudWatch
response = receiveNull SetAlarmStateResponse'
instance Hashable SetAlarmState where
instance NFData SetAlarmState where
instance ToHeaders SetAlarmState where
toHeaders = const mempty
instance ToPath SetAlarmState where
toPath = const "/"
instance ToQuery SetAlarmState where
toQuery SetAlarmState'{..}
= mconcat
["Action" =: ("SetAlarmState" :: ByteString),
"Version" =: ("2010-08-01" :: ByteString),
"StateReasonData" =: _sasStateReasonData,
"AlarmName" =: _sasAlarmName,
"StateValue" =: _sasStateValue,
"StateReason" =: _sasStateReason]
data SetAlarmStateResponse =
SetAlarmStateResponse'
deriving (Eq, Read, Show, Data, Typeable, Generic)
setAlarmStateResponse
:: SetAlarmStateResponse
setAlarmStateResponse = SetAlarmStateResponse'
instance NFData SetAlarmStateResponse where