module Network.AWS.KMS.ListAliases
(
listAliases
, ListAliases
, laMarker
, laLimit
, listAliasesResponse
, ListAliasesResponse
, larsTruncated
, larsAliases
, larsNextMarker
, larsResponseStatus
) where
import Network.AWS.KMS.Types
import Network.AWS.KMS.Types.Product
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data ListAliases = ListAliases'
{ _laMarker :: !(Maybe Text)
, _laLimit :: !(Maybe Nat)
} deriving (Eq,Read,Show,Data,Typeable,Generic)
listAliases
:: ListAliases
listAliases =
ListAliases'
{ _laMarker = Nothing
, _laLimit = Nothing
}
laMarker :: Lens' ListAliases (Maybe Text)
laMarker = lens _laMarker (\ s a -> s{_laMarker = a});
laLimit :: Lens' ListAliases (Maybe Natural)
laLimit = lens _laLimit (\ s a -> s{_laLimit = a}) . mapping _Nat;
instance AWSRequest ListAliases where
type Rs ListAliases = ListAliasesResponse
request = postJSON kMS
response
= receiveJSON
(\ s h x ->
ListAliasesResponse' <$>
(x .?> "Truncated") <*> (x .?> "Aliases" .!@ mempty)
<*> (x .?> "NextMarker")
<*> (pure (fromEnum s)))
instance ToHeaders ListAliases where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("TrentService.ListAliases" :: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON ListAliases where
toJSON ListAliases'{..}
= object
(catMaybes
[("Marker" .=) <$> _laMarker,
("Limit" .=) <$> _laLimit])
instance ToPath ListAliases where
toPath = const "/"
instance ToQuery ListAliases where
toQuery = const mempty
data ListAliasesResponse = ListAliasesResponse'
{ _larsTruncated :: !(Maybe Bool)
, _larsAliases :: !(Maybe [AliasListEntry])
, _larsNextMarker :: !(Maybe Text)
, _larsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
listAliasesResponse
:: Int
-> ListAliasesResponse
listAliasesResponse pResponseStatus_ =
ListAliasesResponse'
{ _larsTruncated = Nothing
, _larsAliases = Nothing
, _larsNextMarker = Nothing
, _larsResponseStatus = pResponseStatus_
}
larsTruncated :: Lens' ListAliasesResponse (Maybe Bool)
larsTruncated = lens _larsTruncated (\ s a -> s{_larsTruncated = a});
larsAliases :: Lens' ListAliasesResponse [AliasListEntry]
larsAliases = lens _larsAliases (\ s a -> s{_larsAliases = a}) . _Default . _Coerce;
larsNextMarker :: Lens' ListAliasesResponse (Maybe Text)
larsNextMarker = lens _larsNextMarker (\ s a -> s{_larsNextMarker = a});
larsResponseStatus :: Lens' ListAliasesResponse Int
larsResponseStatus = lens _larsResponseStatus (\ s a -> s{_larsResponseStatus = a});