{-# 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.GuardDuty.UpdateDetector
(
updateDetector
, UpdateDetector
, udEnable
, udDetectorId
, updateDetectorResponse
, UpdateDetectorResponse
, udrsResponseStatus
) where
import Network.AWS.GuardDuty.Types
import Network.AWS.GuardDuty.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data UpdateDetector = UpdateDetector'
{ _udEnable :: !(Maybe Bool)
, _udDetectorId :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
updateDetector
:: Text
-> UpdateDetector
updateDetector pDetectorId_ =
UpdateDetector' {_udEnable = Nothing, _udDetectorId = pDetectorId_}
udEnable :: Lens' UpdateDetector (Maybe Bool)
udEnable = lens _udEnable (\ s a -> s{_udEnable = a})
udDetectorId :: Lens' UpdateDetector Text
udDetectorId = lens _udDetectorId (\ s a -> s{_udDetectorId = a})
instance AWSRequest UpdateDetector where
type Rs UpdateDetector = UpdateDetectorResponse
request = postJSON guardDuty
response
= receiveEmpty
(\ s h x ->
UpdateDetectorResponse' <$> (pure (fromEnum s)))
instance Hashable UpdateDetector where
instance NFData UpdateDetector where
instance ToHeaders UpdateDetector where
toHeaders
= const
(mconcat
["Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON UpdateDetector where
toJSON UpdateDetector'{..}
= object (catMaybes [("enable" .=) <$> _udEnable])
instance ToPath UpdateDetector where
toPath UpdateDetector'{..}
= mconcat ["/detector/", toBS _udDetectorId]
instance ToQuery UpdateDetector where
toQuery = const mempty
newtype UpdateDetectorResponse = UpdateDetectorResponse'
{ _udrsResponseStatus :: Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
updateDetectorResponse
:: Int
-> UpdateDetectorResponse
updateDetectorResponse pResponseStatus_ =
UpdateDetectorResponse' {_udrsResponseStatus = pResponseStatus_}
udrsResponseStatus :: Lens' UpdateDetectorResponse Int
udrsResponseStatus = lens _udrsResponseStatus (\ s a -> s{_udrsResponseStatus = a})
instance NFData UpdateDetectorResponse where