{-# 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.GetFilter
(
getFilter
, GetFilter
, gDetectorId
, gFilterName
, getFilterResponse
, GetFilterResponse
, gfrsFindingCriteria
, gfrsAction
, gfrsName
, gfrsDescription
, gfrsRank
, gfrsResponseStatus
) 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 GetFilter = GetFilter'
{ _gDetectorId :: !Text
, _gFilterName :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
getFilter
:: Text
-> Text
-> GetFilter
getFilter pDetectorId_ pFilterName_ =
GetFilter' {_gDetectorId = pDetectorId_, _gFilterName = pFilterName_}
gDetectorId :: Lens' GetFilter Text
gDetectorId = lens _gDetectorId (\ s a -> s{_gDetectorId = a})
gFilterName :: Lens' GetFilter Text
gFilterName = lens _gFilterName (\ s a -> s{_gFilterName = a})
instance AWSRequest GetFilter where
type Rs GetFilter = GetFilterResponse
request = get guardDuty
response
= receiveJSON
(\ s h x ->
GetFilterResponse' <$>
(x .?> "findingCriteria") <*> (x .?> "action") <*>
(x .?> "name")
<*> (x .?> "description")
<*> (x .?> "rank")
<*> (pure (fromEnum s)))
instance Hashable GetFilter where
instance NFData GetFilter where
instance ToHeaders GetFilter where
toHeaders
= const
(mconcat
["Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToPath GetFilter where
toPath GetFilter'{..}
= mconcat
["/detector/", toBS _gDetectorId, "/filter/",
toBS _gFilterName]
instance ToQuery GetFilter where
toQuery = const mempty
data GetFilterResponse = GetFilterResponse'
{ _gfrsFindingCriteria :: !(Maybe FindingCriteria)
, _gfrsAction :: !(Maybe FilterAction)
, _gfrsName :: !(Maybe Text)
, _gfrsDescription :: !(Maybe Text)
, _gfrsRank :: !(Maybe Int)
, _gfrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
getFilterResponse
:: Int
-> GetFilterResponse
getFilterResponse pResponseStatus_ =
GetFilterResponse'
{ _gfrsFindingCriteria = Nothing
, _gfrsAction = Nothing
, _gfrsName = Nothing
, _gfrsDescription = Nothing
, _gfrsRank = Nothing
, _gfrsResponseStatus = pResponseStatus_
}
gfrsFindingCriteria :: Lens' GetFilterResponse (Maybe FindingCriteria)
gfrsFindingCriteria = lens _gfrsFindingCriteria (\ s a -> s{_gfrsFindingCriteria = a})
gfrsAction :: Lens' GetFilterResponse (Maybe FilterAction)
gfrsAction = lens _gfrsAction (\ s a -> s{_gfrsAction = a})
gfrsName :: Lens' GetFilterResponse (Maybe Text)
gfrsName = lens _gfrsName (\ s a -> s{_gfrsName = a})
gfrsDescription :: Lens' GetFilterResponse (Maybe Text)
gfrsDescription = lens _gfrsDescription (\ s a -> s{_gfrsDescription = a})
gfrsRank :: Lens' GetFilterResponse (Maybe Int)
gfrsRank = lens _gfrsRank (\ s a -> s{_gfrsRank = a})
gfrsResponseStatus :: Lens' GetFilterResponse Int
gfrsResponseStatus = lens _gfrsResponseStatus (\ s a -> s{_gfrsResponseStatus = a})
instance NFData GetFilterResponse where