{-# 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.UnarchiveFindings
(
unarchiveFindings
, UnarchiveFindings
, uFindingIds
, uDetectorId
, unarchiveFindingsResponse
, UnarchiveFindingsResponse
, ursResponseStatus
) 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 UnarchiveFindings = UnarchiveFindings'
{ _uFindingIds :: !(Maybe [Text])
, _uDetectorId :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
unarchiveFindings
:: Text
-> UnarchiveFindings
unarchiveFindings pDetectorId_ =
UnarchiveFindings' {_uFindingIds = Nothing, _uDetectorId = pDetectorId_}
uFindingIds :: Lens' UnarchiveFindings [Text]
uFindingIds = lens _uFindingIds (\ s a -> s{_uFindingIds = a}) . _Default . _Coerce
uDetectorId :: Lens' UnarchiveFindings Text
uDetectorId = lens _uDetectorId (\ s a -> s{_uDetectorId = a})
instance AWSRequest UnarchiveFindings where
type Rs UnarchiveFindings = UnarchiveFindingsResponse
request = postJSON guardDuty
response
= receiveEmpty
(\ s h x ->
UnarchiveFindingsResponse' <$> (pure (fromEnum s)))
instance Hashable UnarchiveFindings where
instance NFData UnarchiveFindings where
instance ToHeaders UnarchiveFindings where
toHeaders
= const
(mconcat
["Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON UnarchiveFindings where
toJSON UnarchiveFindings'{..}
= object
(catMaybes [("findingIds" .=) <$> _uFindingIds])
instance ToPath UnarchiveFindings where
toPath UnarchiveFindings'{..}
= mconcat
["/detector/", toBS _uDetectorId,
"/findings/unarchive"]
instance ToQuery UnarchiveFindings where
toQuery = const mempty
newtype UnarchiveFindingsResponse = UnarchiveFindingsResponse'
{ _ursResponseStatus :: Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
unarchiveFindingsResponse
:: Int
-> UnarchiveFindingsResponse
unarchiveFindingsResponse pResponseStatus_ =
UnarchiveFindingsResponse' {_ursResponseStatus = pResponseStatus_}
ursResponseStatus :: Lens' UnarchiveFindingsResponse Int
ursResponseStatus = lens _ursResponseStatus (\ s a -> s{_ursResponseStatus = a})
instance NFData UnarchiveFindingsResponse where