{-# 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.Inspector.DescribeFindings
(
describeFindings
, DescribeFindings
, dfLocale
, dfFindingARNs
, describeFindingsResponse
, DescribeFindingsResponse
, dfrsResponseStatus
, dfrsFindings
, dfrsFailedItems
) where
import Network.AWS.Inspector.Types
import Network.AWS.Inspector.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data DescribeFindings = DescribeFindings'
{ _dfLocale :: !(Maybe Locale)
, _dfFindingARNs :: !(List1 Text)
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describeFindings
:: NonEmpty Text
-> DescribeFindings
describeFindings pFindingARNs_ =
DescribeFindings'
{ _dfLocale = Nothing
, _dfFindingARNs = _List1 # pFindingARNs_
}
dfLocale :: Lens' DescribeFindings (Maybe Locale)
dfLocale = lens _dfLocale (\ s a -> s{_dfLocale = a});
dfFindingARNs :: Lens' DescribeFindings (NonEmpty Text)
dfFindingARNs = lens _dfFindingARNs (\ s a -> s{_dfFindingARNs = a}) . _List1;
instance AWSRequest DescribeFindings where
type Rs DescribeFindings = DescribeFindingsResponse
request = postJSON inspector
response
= receiveJSON
(\ s h x ->
DescribeFindingsResponse' <$>
(pure (fromEnum s)) <*> (x .?> "findings" .!@ mempty)
<*> (x .?> "failedItems" .!@ mempty))
instance Hashable DescribeFindings
instance NFData DescribeFindings
instance ToHeaders DescribeFindings where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("InspectorService.DescribeFindings" :: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON DescribeFindings where
toJSON DescribeFindings'{..}
= object
(catMaybes
[("locale" .=) <$> _dfLocale,
Just ("findingArns" .= _dfFindingARNs)])
instance ToPath DescribeFindings where
toPath = const "/"
instance ToQuery DescribeFindings where
toQuery = const mempty
data DescribeFindingsResponse = DescribeFindingsResponse'
{ _dfrsResponseStatus :: !Int
, _dfrsFindings :: ![Finding]
, _dfrsFailedItems :: !(Map Text FailedItemDetails)
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describeFindingsResponse
:: Int
-> DescribeFindingsResponse
describeFindingsResponse pResponseStatus_ =
DescribeFindingsResponse'
{ _dfrsResponseStatus = pResponseStatus_
, _dfrsFindings = mempty
, _dfrsFailedItems = mempty
}
dfrsResponseStatus :: Lens' DescribeFindingsResponse Int
dfrsResponseStatus = lens _dfrsResponseStatus (\ s a -> s{_dfrsResponseStatus = a});
dfrsFindings :: Lens' DescribeFindingsResponse [Finding]
dfrsFindings = lens _dfrsFindings (\ s a -> s{_dfrsFindings = a}) . _Coerce;
dfrsFailedItems :: Lens' DescribeFindingsResponse (HashMap Text FailedItemDetails)
dfrsFailedItems = lens _dfrsFailedItems (\ s a -> s{_dfrsFailedItems = a}) . _Map;
instance NFData DescribeFindingsResponse