{-# 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 #-} -- Derived from AWS service descriptions, licensed under Apache 2.0. -- | -- Module : Network.AWS.CloudWatch.SetAlarmState -- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- Temporarily sets the state of an alarm. When the updated 'StateValue' -- differs from the previous value, the action configured for the -- appropriate state is invoked. For example, if your alarm is configured -- to send an Amazon SNS message when an alarm is triggered, temporarily -- changing the alarm\'s state to __ALARM__ will send an Amazon SNS -- message. This is not a permanent change. The next periodic alarm check -- (in about a minute) will set the alarm to its actual state. Because the -- alarm state change happens very quickly, it is typically only visibile -- in the alarm\'s __History__ tab in the Amazon CloudWatch console or -- through 'DescribeAlarmHistory'. module Network.AWS.CloudWatch.SetAlarmState ( -- * Creating a Request setAlarmState , SetAlarmState -- * Request Lenses , sasStateReasonData , sasAlarmName , sasStateValue , sasStateReason -- * Destructuring the Response , 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 -- | /See:/ 'setAlarmState' smart constructor. data SetAlarmState = SetAlarmState' { _sasStateReasonData :: !(Maybe Text) , _sasAlarmName :: !Text , _sasStateValue :: !StateValue , _sasStateReason :: !Text } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'SetAlarmState' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'sasStateReasonData' -- -- * 'sasAlarmName' -- -- * 'sasStateValue' -- -- * 'sasStateReason' setAlarmState :: Text -- ^ 'sasAlarmName' -> StateValue -- ^ 'sasStateValue' -> Text -- ^ 'sasStateReason' -> SetAlarmState setAlarmState pAlarmName_ pStateValue_ pStateReason_ = SetAlarmState' { _sasStateReasonData = Nothing , _sasAlarmName = pAlarmName_ , _sasStateValue = pStateValue_ , _sasStateReason = pStateReason_ } -- | The reason that this alarm is set to this specific state (in -- machine-readable JSON format) sasStateReasonData :: Lens' SetAlarmState (Maybe Text) sasStateReasonData = lens _sasStateReasonData (\ s a -> s{_sasStateReasonData = a}); -- | The descriptive name for the alarm. This name must be unique within the -- user\'s AWS account. The maximum length is 255 characters. sasAlarmName :: Lens' SetAlarmState Text sasAlarmName = lens _sasAlarmName (\ s a -> s{_sasAlarmName = a}); -- | The value of the state. sasStateValue :: Lens' SetAlarmState StateValue sasStateValue = lens _sasStateValue (\ s a -> s{_sasStateValue = a}); -- | The reason that this alarm is set to this specific state (in -- human-readable text format) 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 instance NFData SetAlarmState 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] -- | /See:/ 'setAlarmStateResponse' smart constructor. data SetAlarmStateResponse = SetAlarmStateResponse' deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'SetAlarmStateResponse' with the minimum fields required to make a request. -- setAlarmStateResponse :: SetAlarmStateResponse setAlarmStateResponse = SetAlarmStateResponse' instance NFData SetAlarmStateResponse