module Network.AWS.Support.DescribeTrustedAdvisorChecks
(
describeTrustedAdvisorChecks
, DescribeTrustedAdvisorChecks
, dtacLanguage
, describeTrustedAdvisorChecksResponse
, DescribeTrustedAdvisorChecksResponse
, dtacrsStatus
, dtacrsChecks
) where
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
import Network.AWS.Support.Types
import Network.AWS.Support.Types.Product
newtype DescribeTrustedAdvisorChecks = DescribeTrustedAdvisorChecks'
{ _dtacLanguage :: Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describeTrustedAdvisorChecks
:: Text
-> DescribeTrustedAdvisorChecks
describeTrustedAdvisorChecks pLanguage_ =
DescribeTrustedAdvisorChecks'
{ _dtacLanguage = pLanguage_
}
dtacLanguage :: Lens' DescribeTrustedAdvisorChecks Text
dtacLanguage = lens _dtacLanguage (\ s a -> s{_dtacLanguage = a});
instance AWSRequest DescribeTrustedAdvisorChecks
where
type Rs DescribeTrustedAdvisorChecks =
DescribeTrustedAdvisorChecksResponse
request = postJSON support
response
= receiveJSON
(\ s h x ->
DescribeTrustedAdvisorChecksResponse' <$>
(pure (fromEnum s)) <*> (x .?> "checks" .!@ mempty))
instance ToHeaders DescribeTrustedAdvisorChecks where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("AWSSupport_20130415.DescribeTrustedAdvisorChecks"
:: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON DescribeTrustedAdvisorChecks where
toJSON DescribeTrustedAdvisorChecks'{..}
= object
(catMaybes [Just ("language" .= _dtacLanguage)])
instance ToPath DescribeTrustedAdvisorChecks where
toPath = const "/"
instance ToQuery DescribeTrustedAdvisorChecks where
toQuery = const mempty
data DescribeTrustedAdvisorChecksResponse = DescribeTrustedAdvisorChecksResponse'
{ _dtacrsStatus :: !Int
, _dtacrsChecks :: ![TrustedAdvisorCheckDescription]
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describeTrustedAdvisorChecksResponse
:: Int
-> DescribeTrustedAdvisorChecksResponse
describeTrustedAdvisorChecksResponse pStatus_ =
DescribeTrustedAdvisorChecksResponse'
{ _dtacrsStatus = pStatus_
, _dtacrsChecks = mempty
}
dtacrsStatus :: Lens' DescribeTrustedAdvisorChecksResponse Int
dtacrsStatus = lens _dtacrsStatus (\ s a -> s{_dtacrsStatus = a});
dtacrsChecks :: Lens' DescribeTrustedAdvisorChecksResponse [TrustedAdvisorCheckDescription]
dtacrsChecks = lens _dtacrsChecks (\ s a -> s{_dtacrsChecks = a}) . _Coerce;