{-# 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.ListRoleAliases -- Copyright : (c) 2013-2018 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- Lists the role aliases registered in your account. -- -- module Network.AWS.IoT.ListRoleAliases ( -- * Creating a Request listRoleAliases , ListRoleAliases -- * Request Lenses , lraMarker , lraAscendingOrder , lraPageSize -- * Destructuring the Response , listRoleAliasesResponse , ListRoleAliasesResponse -- * Response Lenses , 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 -- | /See:/ 'listRoleAliases' smart constructor. data ListRoleAliases = ListRoleAliases' { _lraMarker :: !(Maybe Text) , _lraAscendingOrder :: !(Maybe Bool) , _lraPageSize :: !(Maybe Nat) } deriving (Eq, Read, Show, Data, Typeable, Generic) -- | Creates a value of 'ListRoleAliases' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'lraMarker' - A marker used to get the next set of results. -- -- * 'lraAscendingOrder' - Return the list of role aliases in ascending alphabetical order. -- -- * 'lraPageSize' - The maximum number of results to return at one time. listRoleAliases :: ListRoleAliases listRoleAliases = ListRoleAliases' {_lraMarker = Nothing, _lraAscendingOrder = Nothing, _lraPageSize = Nothing} -- | A marker used to get the next set of results. lraMarker :: Lens' ListRoleAliases (Maybe Text) lraMarker = lens _lraMarker (\ s a -> s{_lraMarker = a}) -- | Return the list of role aliases in ascending alphabetical order. lraAscendingOrder :: Lens' ListRoleAliases (Maybe Bool) lraAscendingOrder = lens _lraAscendingOrder (\ s a -> s{_lraAscendingOrder = a}) -- | The maximum number of results to return at one time. 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] -- | /See:/ 'listRoleAliasesResponse' smart constructor. data ListRoleAliasesResponse = ListRoleAliasesResponse' { _lrarsRoleAliases :: !(Maybe [Text]) , _lrarsNextMarker :: !(Maybe Text) , _lrarsResponseStatus :: !Int } deriving (Eq, Read, Show, Data, Typeable, Generic) -- | Creates a value of 'ListRoleAliasesResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'lrarsRoleAliases' - The role aliases. -- -- * 'lrarsNextMarker' - A marker used to get the next set of results. -- -- * 'lrarsResponseStatus' - -- | The response status code. listRoleAliasesResponse :: Int -- ^ 'lrarsResponseStatus' -> ListRoleAliasesResponse listRoleAliasesResponse pResponseStatus_ = ListRoleAliasesResponse' { _lrarsRoleAliases = Nothing , _lrarsNextMarker = Nothing , _lrarsResponseStatus = pResponseStatus_ } -- | The role aliases. lrarsRoleAliases :: Lens' ListRoleAliasesResponse [Text] lrarsRoleAliases = lens _lrarsRoleAliases (\ s a -> s{_lrarsRoleAliases = a}) . _Default . _Coerce -- | A marker used to get the next set of results. lrarsNextMarker :: Lens' ListRoleAliasesResponse (Maybe Text) lrarsNextMarker = lens _lrarsNextMarker (\ s a -> s{_lrarsNextMarker = a}) -- | -- | The response status code. lrarsResponseStatus :: Lens' ListRoleAliasesResponse Int lrarsResponseStatus = lens _lrarsResponseStatus (\ s a -> s{_lrarsResponseStatus = a}) instance NFData ListRoleAliasesResponse where