{-# 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.Support.DescribeTrustedAdvisorChecks
(
describeTrustedAdvisorChecks
, DescribeTrustedAdvisorChecks
, dtacLanguage
, describeTrustedAdvisorChecksResponse
, DescribeTrustedAdvisorChecksResponse
, dtacrsResponseStatus
, dtacrsChecks
) where
import Network.AWS.Lens
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 Hashable DescribeTrustedAdvisorChecks where
instance NFData DescribeTrustedAdvisorChecks where
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'
{ _dtacrsResponseStatus :: !Int
, _dtacrsChecks :: ![TrustedAdvisorCheckDescription]
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeTrustedAdvisorChecksResponse
:: Int
-> DescribeTrustedAdvisorChecksResponse
describeTrustedAdvisorChecksResponse pResponseStatus_ =
DescribeTrustedAdvisorChecksResponse'
{_dtacrsResponseStatus = pResponseStatus_, _dtacrsChecks = mempty}
dtacrsResponseStatus :: Lens' DescribeTrustedAdvisorChecksResponse Int
dtacrsResponseStatus = lens _dtacrsResponseStatus (\ s a -> s{_dtacrsResponseStatus = a})
dtacrsChecks :: Lens' DescribeTrustedAdvisorChecksResponse [TrustedAdvisorCheckDescription]
dtacrsChecks = lens _dtacrsChecks (\ s a -> s{_dtacrsChecks = a}) . _Coerce
instance NFData DescribeTrustedAdvisorChecksResponse
where