module Network.AWS.IAM.GetOpenIdConnectProvider
(
getOpenIdConnectProvider
, GetOpenIdConnectProvider
, goicpOpenIdConnectProviderARN
, getOpenIdConnectProviderResponse
, GetOpenIdConnectProviderResponse
, goicprsCreateDate
, goicprsURL
, goicprsThumbprintList
, goicprsClientIdList
, goicprsResponseStatus
) where
import Network.AWS.IAM.Types
import Network.AWS.IAM.Types.Product
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
newtype GetOpenIdConnectProvider = GetOpenIdConnectProvider'
{ _goicpOpenIdConnectProviderARN :: Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
getOpenIdConnectProvider
:: Text
-> GetOpenIdConnectProvider
getOpenIdConnectProvider pOpenIdConnectProviderARN_ =
GetOpenIdConnectProvider'
{ _goicpOpenIdConnectProviderARN = pOpenIdConnectProviderARN_
}
goicpOpenIdConnectProviderARN :: Lens' GetOpenIdConnectProvider Text
goicpOpenIdConnectProviderARN = lens _goicpOpenIdConnectProviderARN (\ s a -> s{_goicpOpenIdConnectProviderARN = a});
instance AWSRequest GetOpenIdConnectProvider where
type Rs GetOpenIdConnectProvider =
GetOpenIdConnectProviderResponse
request = postQuery iAM
response
= receiveXMLWrapper "GetOpenIDConnectProviderResult"
(\ s h x ->
GetOpenIdConnectProviderResponse' <$>
(x .@? "CreateDate") <*> (x .@? "Url") <*>
(x .@? "ThumbprintList" .!@ mempty >>=
may (parseXMLList "member"))
<*>
(x .@? "ClientIDList" .!@ mempty >>=
may (parseXMLList "member"))
<*> (pure (fromEnum s)))
instance ToHeaders GetOpenIdConnectProvider where
toHeaders = const mempty
instance ToPath GetOpenIdConnectProvider where
toPath = const "/"
instance ToQuery GetOpenIdConnectProvider where
toQuery GetOpenIdConnectProvider'{..}
= mconcat
["Action" =:
("GetOpenIDConnectProvider" :: ByteString),
"Version" =: ("2010-05-08" :: ByteString),
"OpenIDConnectProviderArn" =:
_goicpOpenIdConnectProviderARN]
data GetOpenIdConnectProviderResponse = GetOpenIdConnectProviderResponse'
{ _goicprsCreateDate :: !(Maybe ISO8601)
, _goicprsURL :: !(Maybe Text)
, _goicprsThumbprintList :: !(Maybe [Text])
, _goicprsClientIdList :: !(Maybe [Text])
, _goicprsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
getOpenIdConnectProviderResponse
:: Int
-> GetOpenIdConnectProviderResponse
getOpenIdConnectProviderResponse pResponseStatus_ =
GetOpenIdConnectProviderResponse'
{ _goicprsCreateDate = Nothing
, _goicprsURL = Nothing
, _goicprsThumbprintList = Nothing
, _goicprsClientIdList = Nothing
, _goicprsResponseStatus = pResponseStatus_
}
goicprsCreateDate :: Lens' GetOpenIdConnectProviderResponse (Maybe UTCTime)
goicprsCreateDate = lens _goicprsCreateDate (\ s a -> s{_goicprsCreateDate = a}) . mapping _Time;
goicprsURL :: Lens' GetOpenIdConnectProviderResponse (Maybe Text)
goicprsURL = lens _goicprsURL (\ s a -> s{_goicprsURL = a});
goicprsThumbprintList :: Lens' GetOpenIdConnectProviderResponse [Text]
goicprsThumbprintList = lens _goicprsThumbprintList (\ s a -> s{_goicprsThumbprintList = a}) . _Default . _Coerce;
goicprsClientIdList :: Lens' GetOpenIdConnectProviderResponse [Text]
goicprsClientIdList = lens _goicprsClientIdList (\ s a -> s{_goicprsClientIdList = a}) . _Default . _Coerce;
goicprsResponseStatus :: Lens' GetOpenIdConnectProviderResponse Int
goicprsResponseStatus = lens _goicprsResponseStatus (\ s a -> s{_goicprsResponseStatus = a});