{-# 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.CertificateManagerPCA.ListCertificateAuthorities
(
listCertificateAuthorities
, ListCertificateAuthorities
, lcaNextToken
, lcaMaxResults
, listCertificateAuthoritiesResponse
, ListCertificateAuthoritiesResponse
, lcarsCertificateAuthorities
, lcarsNextToken
, lcarsResponseStatus
) where
import Network.AWS.CertificateManagerPCA.Types
import Network.AWS.CertificateManagerPCA.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data ListCertificateAuthorities = ListCertificateAuthorities'
{ _lcaNextToken :: !(Maybe Text)
, _lcaMaxResults :: !(Maybe Nat)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
listCertificateAuthorities
:: ListCertificateAuthorities
listCertificateAuthorities =
ListCertificateAuthorities'
{_lcaNextToken = Nothing, _lcaMaxResults = Nothing}
lcaNextToken :: Lens' ListCertificateAuthorities (Maybe Text)
lcaNextToken = lens _lcaNextToken (\ s a -> s{_lcaNextToken = a})
lcaMaxResults :: Lens' ListCertificateAuthorities (Maybe Natural)
lcaMaxResults = lens _lcaMaxResults (\ s a -> s{_lcaMaxResults = a}) . mapping _Nat
instance AWSRequest ListCertificateAuthorities where
type Rs ListCertificateAuthorities =
ListCertificateAuthoritiesResponse
request = postJSON certificateManagerPCA
response
= receiveJSON
(\ s h x ->
ListCertificateAuthoritiesResponse' <$>
(x .?> "CertificateAuthorities" .!@ mempty) <*>
(x .?> "NextToken")
<*> (pure (fromEnum s)))
instance Hashable ListCertificateAuthorities where
instance NFData ListCertificateAuthorities where
instance ToHeaders ListCertificateAuthorities where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("ACMPrivateCA.ListCertificateAuthorities" ::
ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON ListCertificateAuthorities where
toJSON ListCertificateAuthorities'{..}
= object
(catMaybes
[("NextToken" .=) <$> _lcaNextToken,
("MaxResults" .=) <$> _lcaMaxResults])
instance ToPath ListCertificateAuthorities where
toPath = const "/"
instance ToQuery ListCertificateAuthorities where
toQuery = const mempty
data ListCertificateAuthoritiesResponse = ListCertificateAuthoritiesResponse'
{ _lcarsCertificateAuthorities :: !(Maybe [CertificateAuthority])
, _lcarsNextToken :: !(Maybe Text)
, _lcarsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
listCertificateAuthoritiesResponse
:: Int
-> ListCertificateAuthoritiesResponse
listCertificateAuthoritiesResponse pResponseStatus_ =
ListCertificateAuthoritiesResponse'
{ _lcarsCertificateAuthorities = Nothing
, _lcarsNextToken = Nothing
, _lcarsResponseStatus = pResponseStatus_
}
lcarsCertificateAuthorities :: Lens' ListCertificateAuthoritiesResponse [CertificateAuthority]
lcarsCertificateAuthorities = lens _lcarsCertificateAuthorities (\ s a -> s{_lcarsCertificateAuthorities = a}) . _Default . _Coerce
lcarsNextToken :: Lens' ListCertificateAuthoritiesResponse (Maybe Text)
lcarsNextToken = lens _lcarsNextToken (\ s a -> s{_lcarsNextToken = a})
lcarsResponseStatus :: Lens' ListCertificateAuthoritiesResponse Int
lcarsResponseStatus = lens _lcarsResponseStatus (\ s a -> s{_lcarsResponseStatus = a})
instance NFData ListCertificateAuthoritiesResponse
where