module Network.AWS.Config.StopConfigurationRecorder
    (
    
      stopConfigurationRecorder
    , StopConfigurationRecorder
    
    , scrConfigurationRecorderName
    
    , stopConfigurationRecorderResponse
    , StopConfigurationRecorderResponse
    ) where
import           Network.AWS.Config.Types
import           Network.AWS.Config.Types.Product
import           Network.AWS.Prelude
import           Network.AWS.Request
import           Network.AWS.Response
newtype StopConfigurationRecorder = StopConfigurationRecorder'
    { _scrConfigurationRecorderName :: Text
    } deriving (Eq,Read,Show,Data,Typeable,Generic)
stopConfigurationRecorder
    :: Text 
    -> StopConfigurationRecorder
stopConfigurationRecorder pConfigurationRecorderName_ =
    StopConfigurationRecorder'
    { _scrConfigurationRecorderName = pConfigurationRecorderName_
    }
scrConfigurationRecorderName :: Lens' StopConfigurationRecorder Text
scrConfigurationRecorderName = lens _scrConfigurationRecorderName (\ s a -> s{_scrConfigurationRecorderName = a});
instance AWSRequest StopConfigurationRecorder where
        type Rs StopConfigurationRecorder =
             StopConfigurationRecorderResponse
        request = postJSON config
        response
          = receiveNull StopConfigurationRecorderResponse'
instance ToHeaders StopConfigurationRecorder where
        toHeaders
          = const
              (mconcat
                 ["X-Amz-Target" =#
                    ("StarlingDoveService.StopConfigurationRecorder" ::
                       ByteString),
                  "Content-Type" =#
                    ("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON StopConfigurationRecorder where
        toJSON StopConfigurationRecorder'{..}
          = object
              (catMaybes
                 [Just
                    ("ConfigurationRecorderName" .=
                       _scrConfigurationRecorderName)])
instance ToPath StopConfigurationRecorder where
        toPath = const "/"
instance ToQuery StopConfigurationRecorder where
        toQuery = const mempty
data StopConfigurationRecorderResponse =
    StopConfigurationRecorderResponse'
    deriving (Eq,Read,Show,Data,Typeable,Generic)
stopConfigurationRecorderResponse
    :: StopConfigurationRecorderResponse
stopConfigurationRecorderResponse = StopConfigurationRecorderResponse'