{-# 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.IAM.ListServiceSpecificCredentials
(
listServiceSpecificCredentials
, ListServiceSpecificCredentials
, lsscUserName
, lsscServiceName
, listServiceSpecificCredentialsResponse
, ListServiceSpecificCredentialsResponse
, lsscrsServiceSpecificCredentials
, lsscrsResponseStatus
) where
import Network.AWS.IAM.Types
import Network.AWS.IAM.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data ListServiceSpecificCredentials = ListServiceSpecificCredentials'
{ _lsscUserName :: !(Maybe Text)
, _lsscServiceName :: !(Maybe Text)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
listServiceSpecificCredentials
:: ListServiceSpecificCredentials
listServiceSpecificCredentials =
ListServiceSpecificCredentials'
{_lsscUserName = Nothing, _lsscServiceName = Nothing}
lsscUserName :: Lens' ListServiceSpecificCredentials (Maybe Text)
lsscUserName = lens _lsscUserName (\ s a -> s{_lsscUserName = a})
lsscServiceName :: Lens' ListServiceSpecificCredentials (Maybe Text)
lsscServiceName = lens _lsscServiceName (\ s a -> s{_lsscServiceName = a})
instance AWSRequest ListServiceSpecificCredentials
where
type Rs ListServiceSpecificCredentials =
ListServiceSpecificCredentialsResponse
request = postQuery iam
response
= receiveXMLWrapper
"ListServiceSpecificCredentialsResult"
(\ s h x ->
ListServiceSpecificCredentialsResponse' <$>
(x .@? "ServiceSpecificCredentials" .!@ mempty >>=
may (parseXMLList "member"))
<*> (pure (fromEnum s)))
instance Hashable ListServiceSpecificCredentials
where
instance NFData ListServiceSpecificCredentials where
instance ToHeaders ListServiceSpecificCredentials
where
toHeaders = const mempty
instance ToPath ListServiceSpecificCredentials where
toPath = const "/"
instance ToQuery ListServiceSpecificCredentials where
toQuery ListServiceSpecificCredentials'{..}
= mconcat
["Action" =:
("ListServiceSpecificCredentials" :: ByteString),
"Version" =: ("2010-05-08" :: ByteString),
"UserName" =: _lsscUserName,
"ServiceName" =: _lsscServiceName]
data ListServiceSpecificCredentialsResponse = ListServiceSpecificCredentialsResponse'
{ _lsscrsServiceSpecificCredentials :: !(Maybe [ServiceSpecificCredentialMetadata])
, _lsscrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
listServiceSpecificCredentialsResponse
:: Int
-> ListServiceSpecificCredentialsResponse
listServiceSpecificCredentialsResponse pResponseStatus_ =
ListServiceSpecificCredentialsResponse'
{ _lsscrsServiceSpecificCredentials = Nothing
, _lsscrsResponseStatus = pResponseStatus_
}
lsscrsServiceSpecificCredentials :: Lens' ListServiceSpecificCredentialsResponse [ServiceSpecificCredentialMetadata]
lsscrsServiceSpecificCredentials = lens _lsscrsServiceSpecificCredentials (\ s a -> s{_lsscrsServiceSpecificCredentials = a}) . _Default . _Coerce
lsscrsResponseStatus :: Lens' ListServiceSpecificCredentialsResponse Int
lsscrsResponseStatus = lens _lsscrsResponseStatus (\ s a -> s{_lsscrsResponseStatus = a})
instance NFData
ListServiceSpecificCredentialsResponse
where