{-# 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.Config.DescribeConfigurationRecorderStatus
(
describeConfigurationRecorderStatus
, DescribeConfigurationRecorderStatus
, dcrsConfigurationRecorderNames
, describeConfigurationRecorderStatusResponse
, DescribeConfigurationRecorderStatusResponse
, dcrsrsConfigurationRecordersStatus
, dcrsrsResponseStatus
) where
import Network.AWS.Config.Types
import Network.AWS.Config.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
newtype DescribeConfigurationRecorderStatus = DescribeConfigurationRecorderStatus'
{ _dcrsConfigurationRecorderNames :: Maybe [Text]
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeConfigurationRecorderStatus
:: DescribeConfigurationRecorderStatus
describeConfigurationRecorderStatus =
DescribeConfigurationRecorderStatus'
{_dcrsConfigurationRecorderNames = Nothing}
dcrsConfigurationRecorderNames :: Lens' DescribeConfigurationRecorderStatus [Text]
dcrsConfigurationRecorderNames = lens _dcrsConfigurationRecorderNames (\ s a -> s{_dcrsConfigurationRecorderNames = a}) . _Default . _Coerce
instance AWSRequest
DescribeConfigurationRecorderStatus
where
type Rs DescribeConfigurationRecorderStatus =
DescribeConfigurationRecorderStatusResponse
request = postJSON config
response
= receiveJSON
(\ s h x ->
DescribeConfigurationRecorderStatusResponse' <$>
(x .?> "ConfigurationRecordersStatus" .!@ mempty) <*>
(pure (fromEnum s)))
instance Hashable DescribeConfigurationRecorderStatus
where
instance NFData DescribeConfigurationRecorderStatus
where
instance ToHeaders
DescribeConfigurationRecorderStatus
where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("StarlingDoveService.DescribeConfigurationRecorderStatus"
:: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON DescribeConfigurationRecorderStatus
where
toJSON DescribeConfigurationRecorderStatus'{..}
= object
(catMaybes
[("ConfigurationRecorderNames" .=) <$>
_dcrsConfigurationRecorderNames])
instance ToPath DescribeConfigurationRecorderStatus
where
toPath = const "/"
instance ToQuery DescribeConfigurationRecorderStatus
where
toQuery = const mempty
data DescribeConfigurationRecorderStatusResponse = DescribeConfigurationRecorderStatusResponse'
{ _dcrsrsConfigurationRecordersStatus :: !(Maybe [ConfigurationRecorderStatus])
, _dcrsrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeConfigurationRecorderStatusResponse
:: Int
-> DescribeConfigurationRecorderStatusResponse
describeConfigurationRecorderStatusResponse pResponseStatus_ =
DescribeConfigurationRecorderStatusResponse'
{ _dcrsrsConfigurationRecordersStatus = Nothing
, _dcrsrsResponseStatus = pResponseStatus_
}
dcrsrsConfigurationRecordersStatus :: Lens' DescribeConfigurationRecorderStatusResponse [ConfigurationRecorderStatus]
dcrsrsConfigurationRecordersStatus = lens _dcrsrsConfigurationRecordersStatus (\ s a -> s{_dcrsrsConfigurationRecordersStatus = a}) . _Default . _Coerce
dcrsrsResponseStatus :: Lens' DescribeConfigurationRecorderStatusResponse Int
dcrsrsResponseStatus = lens _dcrsrsResponseStatus (\ s a -> s{_dcrsrsResponseStatus = a})
instance NFData
DescribeConfigurationRecorderStatusResponse
where