amazonka-iot-1.4.1: gen/Network/AWS/IoT/ListCACertificates.hs
{-# 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 #-}
-- Derived from AWS service descriptions, licensed under Apache 2.0.
-- |
-- Module : Network.AWS.IoT.ListCACertificates
-- Copyright : (c) 2013-2016 Brendan Hay
-- License : Mozilla Public License, v. 2.0.
-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>
-- Stability : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Lists the CA certificates registered for your AWS account.
--
-- The results are paginated with a default page size of 25. You can use
-- the returned marker to retrieve additional results.
module Network.AWS.IoT.ListCACertificates
(
-- * Creating a Request
listCACertificates
, ListCACertificates
-- * Request Lenses
, lcacMarker
, lcacAscendingOrder
, lcacPageSize
-- * Destructuring the Response
, listCACertificatesResponse
, ListCACertificatesResponse
-- * Response Lenses
, lcacrsCertificates
, lcacrsNextMarker
, lcacrsResponseStatus
) where
import Network.AWS.IoT.Types
import Network.AWS.IoT.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
-- | Input for the ListCACertificates operation.
--
-- /See:/ 'listCACertificates' smart constructor.
data ListCACertificates = ListCACertificates'
{ _lcacMarker :: !(Maybe Text)
, _lcacAscendingOrder :: !(Maybe Bool)
, _lcacPageSize :: !(Maybe Nat)
} deriving (Eq,Read,Show,Data,Typeable,Generic)
-- | Creates a value of 'ListCACertificates' with the minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
-- * 'lcacMarker'
--
-- * 'lcacAscendingOrder'
--
-- * 'lcacPageSize'
listCACertificates
:: ListCACertificates
listCACertificates =
ListCACertificates'
{ _lcacMarker = Nothing
, _lcacAscendingOrder = Nothing
, _lcacPageSize = Nothing
}
-- | The marker for the next set of results.
lcacMarker :: Lens' ListCACertificates (Maybe Text)
lcacMarker = lens _lcacMarker (\ s a -> s{_lcacMarker = a});
-- | Determines the order of the results.
lcacAscendingOrder :: Lens' ListCACertificates (Maybe Bool)
lcacAscendingOrder = lens _lcacAscendingOrder (\ s a -> s{_lcacAscendingOrder = a});
-- | The result page size.
lcacPageSize :: Lens' ListCACertificates (Maybe Natural)
lcacPageSize = lens _lcacPageSize (\ s a -> s{_lcacPageSize = a}) . mapping _Nat;
instance AWSRequest ListCACertificates where
type Rs ListCACertificates =
ListCACertificatesResponse
request = get ioT
response
= receiveJSON
(\ s h x ->
ListCACertificatesResponse' <$>
(x .?> "certificates" .!@ mempty) <*>
(x .?> "nextMarker")
<*> (pure (fromEnum s)))
instance Hashable ListCACertificates
instance NFData ListCACertificates
instance ToHeaders ListCACertificates where
toHeaders = const mempty
instance ToPath ListCACertificates where
toPath = const "/cacertificates"
instance ToQuery ListCACertificates where
toQuery ListCACertificates'{..}
= mconcat
["marker" =: _lcacMarker,
"isAscendingOrder" =: _lcacAscendingOrder,
"pageSize" =: _lcacPageSize]
-- | The output from the ListCACertificates operation.
--
-- /See:/ 'listCACertificatesResponse' smart constructor.
data ListCACertificatesResponse = ListCACertificatesResponse'
{ _lcacrsCertificates :: !(Maybe [CACertificate])
, _lcacrsNextMarker :: !(Maybe Text)
, _lcacrsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
-- | Creates a value of 'ListCACertificatesResponse' with the minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
-- * 'lcacrsCertificates'
--
-- * 'lcacrsNextMarker'
--
-- * 'lcacrsResponseStatus'
listCACertificatesResponse
:: Int -- ^ 'lcacrsResponseStatus'
-> ListCACertificatesResponse
listCACertificatesResponse pResponseStatus_ =
ListCACertificatesResponse'
{ _lcacrsCertificates = Nothing
, _lcacrsNextMarker = Nothing
, _lcacrsResponseStatus = pResponseStatus_
}
-- | The CA certificates registered in your AWS account.
lcacrsCertificates :: Lens' ListCACertificatesResponse [CACertificate]
lcacrsCertificates = lens _lcacrsCertificates (\ s a -> s{_lcacrsCertificates = a}) . _Default . _Coerce;
-- | The current position within the list of CA certificates.
lcacrsNextMarker :: Lens' ListCACertificatesResponse (Maybe Text)
lcacrsNextMarker = lens _lcacrsNextMarker (\ s a -> s{_lcacrsNextMarker = a});
-- | The response status code.
lcacrsResponseStatus :: Lens' ListCACertificatesResponse Int
lcacrsResponseStatus = lens _lcacrsResponseStatus (\ s a -> s{_lcacrsResponseStatus = a});
instance NFData ListCACertificatesResponse