{-# 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.IoT.ListIndices
(
listIndices
, ListIndices
, liNextToken
, liMaxResults
, listIndicesResponse
, ListIndicesResponse
, lirsNextToken
, lirsIndexNames
, lirsResponseStatus
) 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
data ListIndices = ListIndices'
{ _liNextToken :: !(Maybe Text)
, _liMaxResults :: !(Maybe Nat)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
listIndices
:: ListIndices
listIndices = ListIndices' {_liNextToken = Nothing, _liMaxResults = Nothing}
liNextToken :: Lens' ListIndices (Maybe Text)
liNextToken = lens _liNextToken (\ s a -> s{_liNextToken = a})
liMaxResults :: Lens' ListIndices (Maybe Natural)
liMaxResults = lens _liMaxResults (\ s a -> s{_liMaxResults = a}) . mapping _Nat
instance AWSRequest ListIndices where
type Rs ListIndices = ListIndicesResponse
request = get ioT
response
= receiveJSON
(\ s h x ->
ListIndicesResponse' <$>
(x .?> "nextToken") <*>
(x .?> "indexNames" .!@ mempty)
<*> (pure (fromEnum s)))
instance Hashable ListIndices where
instance NFData ListIndices where
instance ToHeaders ListIndices where
toHeaders = const mempty
instance ToPath ListIndices where
toPath = const "/indices"
instance ToQuery ListIndices where
toQuery ListIndices'{..}
= mconcat
["nextToken" =: _liNextToken,
"maxResults" =: _liMaxResults]
data ListIndicesResponse = ListIndicesResponse'
{ _lirsNextToken :: !(Maybe Text)
, _lirsIndexNames :: !(Maybe [Text])
, _lirsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
listIndicesResponse
:: Int
-> ListIndicesResponse
listIndicesResponse pResponseStatus_ =
ListIndicesResponse'
{ _lirsNextToken = Nothing
, _lirsIndexNames = Nothing
, _lirsResponseStatus = pResponseStatus_
}
lirsNextToken :: Lens' ListIndicesResponse (Maybe Text)
lirsNextToken = lens _lirsNextToken (\ s a -> s{_lirsNextToken = a})
lirsIndexNames :: Lens' ListIndicesResponse [Text]
lirsIndexNames = lens _lirsIndexNames (\ s a -> s{_lirsIndexNames = a}) . _Default . _Coerce
lirsResponseStatus :: Lens' ListIndicesResponse Int
lirsResponseStatus = lens _lirsResponseStatus (\ s a -> s{_lirsResponseStatus = a})
instance NFData ListIndicesResponse where