{-# 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.ListRoleAliases
(
listRoleAliases
, ListRoleAliases
, lraMarker
, lraAscendingOrder
, lraPageSize
, listRoleAliasesResponse
, ListRoleAliasesResponse
, lrarsRoleAliases
, lrarsNextMarker
, lrarsResponseStatus
) 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 ListRoleAliases = ListRoleAliases'
{ _lraMarker :: !(Maybe Text)
, _lraAscendingOrder :: !(Maybe Bool)
, _lraPageSize :: !(Maybe Nat)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
listRoleAliases
:: ListRoleAliases
listRoleAliases =
ListRoleAliases'
{_lraMarker = Nothing, _lraAscendingOrder = Nothing, _lraPageSize = Nothing}
lraMarker :: Lens' ListRoleAliases (Maybe Text)
lraMarker = lens _lraMarker (\ s a -> s{_lraMarker = a})
lraAscendingOrder :: Lens' ListRoleAliases (Maybe Bool)
lraAscendingOrder = lens _lraAscendingOrder (\ s a -> s{_lraAscendingOrder = a})
lraPageSize :: Lens' ListRoleAliases (Maybe Natural)
lraPageSize = lens _lraPageSize (\ s a -> s{_lraPageSize = a}) . mapping _Nat
instance AWSRequest ListRoleAliases where
type Rs ListRoleAliases = ListRoleAliasesResponse
request = get ioT
response
= receiveJSON
(\ s h x ->
ListRoleAliasesResponse' <$>
(x .?> "roleAliases" .!@ mempty) <*>
(x .?> "nextMarker")
<*> (pure (fromEnum s)))
instance Hashable ListRoleAliases where
instance NFData ListRoleAliases where
instance ToHeaders ListRoleAliases where
toHeaders = const mempty
instance ToPath ListRoleAliases where
toPath = const "/role-aliases"
instance ToQuery ListRoleAliases where
toQuery ListRoleAliases'{..}
= mconcat
["marker" =: _lraMarker,
"isAscendingOrder" =: _lraAscendingOrder,
"pageSize" =: _lraPageSize]
data ListRoleAliasesResponse = ListRoleAliasesResponse'
{ _lrarsRoleAliases :: !(Maybe [Text])
, _lrarsNextMarker :: !(Maybe Text)
, _lrarsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
listRoleAliasesResponse
:: Int
-> ListRoleAliasesResponse
listRoleAliasesResponse pResponseStatus_ =
ListRoleAliasesResponse'
{ _lrarsRoleAliases = Nothing
, _lrarsNextMarker = Nothing
, _lrarsResponseStatus = pResponseStatus_
}
lrarsRoleAliases :: Lens' ListRoleAliasesResponse [Text]
lrarsRoleAliases = lens _lrarsRoleAliases (\ s a -> s{_lrarsRoleAliases = a}) . _Default . _Coerce
lrarsNextMarker :: Lens' ListRoleAliasesResponse (Maybe Text)
lrarsNextMarker = lens _lrarsNextMarker (\ s a -> s{_lrarsNextMarker = a})
lrarsResponseStatus :: Lens' ListRoleAliasesResponse Int
lrarsResponseStatus = lens _lrarsResponseStatus (\ s a -> s{_lrarsResponseStatus = a})
instance NFData ListRoleAliasesResponse where