{-# 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.DescribeRulesPackages
(
describeRulesPackages
, DescribeRulesPackages
, drpLocale
, drpRulesPackageARNs
, describeRulesPackagesResponse
, DescribeRulesPackagesResponse
, drprsResponseStatus
, drprsRulesPackages
, drprsFailedItems
) 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 DescribeRulesPackages = DescribeRulesPackages'
{ _drpLocale :: !(Maybe Locale)
, _drpRulesPackageARNs :: !(List1 Text)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeRulesPackages
:: NonEmpty Text
-> DescribeRulesPackages
describeRulesPackages pRulesPackageARNs_ =
DescribeRulesPackages'
{_drpLocale = Nothing, _drpRulesPackageARNs = _List1 # pRulesPackageARNs_}
drpLocale :: Lens' DescribeRulesPackages (Maybe Locale)
drpLocale = lens _drpLocale (\ s a -> s{_drpLocale = a})
drpRulesPackageARNs :: Lens' DescribeRulesPackages (NonEmpty Text)
drpRulesPackageARNs = lens _drpRulesPackageARNs (\ s a -> s{_drpRulesPackageARNs = a}) . _List1
instance AWSRequest DescribeRulesPackages where
type Rs DescribeRulesPackages =
DescribeRulesPackagesResponse
request = postJSON inspector
response
= receiveJSON
(\ s h x ->
DescribeRulesPackagesResponse' <$>
(pure (fromEnum s)) <*>
(x .?> "rulesPackages" .!@ mempty)
<*> (x .?> "failedItems" .!@ mempty))
instance Hashable DescribeRulesPackages where
instance NFData DescribeRulesPackages where
instance ToHeaders DescribeRulesPackages where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("InspectorService.DescribeRulesPackages" ::
ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON DescribeRulesPackages where
toJSON DescribeRulesPackages'{..}
= object
(catMaybes
[("locale" .=) <$> _drpLocale,
Just ("rulesPackageArns" .= _drpRulesPackageARNs)])
instance ToPath DescribeRulesPackages where
toPath = const "/"
instance ToQuery DescribeRulesPackages where
toQuery = const mempty
data DescribeRulesPackagesResponse = DescribeRulesPackagesResponse'
{ _drprsResponseStatus :: !Int
, _drprsRulesPackages :: ![RulesPackage]
, _drprsFailedItems :: !(Map Text FailedItemDetails)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeRulesPackagesResponse
:: Int
-> DescribeRulesPackagesResponse
describeRulesPackagesResponse pResponseStatus_ =
DescribeRulesPackagesResponse'
{ _drprsResponseStatus = pResponseStatus_
, _drprsRulesPackages = mempty
, _drprsFailedItems = mempty
}
drprsResponseStatus :: Lens' DescribeRulesPackagesResponse Int
drprsResponseStatus = lens _drprsResponseStatus (\ s a -> s{_drprsResponseStatus = a})
drprsRulesPackages :: Lens' DescribeRulesPackagesResponse [RulesPackage]
drprsRulesPackages = lens _drprsRulesPackages (\ s a -> s{_drprsRulesPackages = a}) . _Coerce
drprsFailedItems :: Lens' DescribeRulesPackagesResponse (HashMap Text FailedItemDetails)
drprsFailedItems = lens _drprsFailedItems (\ s a -> s{_drprsFailedItems = a}) . _Map
instance NFData DescribeRulesPackagesResponse where