{-# 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.GetSAMLProvider
(
getSAMLProvider
, GetSAMLProvider
, gsamlpSAMLProviderARN
, getSAMLProviderResponse
, GetSAMLProviderResponse
, gsamlprsCreateDate
, gsamlprsValidUntil
, gsamlprsSAMLMetadataDocument
, gsamlprsResponseStatus
) 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
newtype GetSAMLProvider = GetSAMLProvider'
{ _gsamlpSAMLProviderARN :: Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
getSAMLProvider
:: Text
-> GetSAMLProvider
getSAMLProvider pSAMLProviderARN_ =
GetSAMLProvider' {_gsamlpSAMLProviderARN = pSAMLProviderARN_}
gsamlpSAMLProviderARN :: Lens' GetSAMLProvider Text
gsamlpSAMLProviderARN = lens _gsamlpSAMLProviderARN (\ s a -> s{_gsamlpSAMLProviderARN = a})
instance AWSRequest GetSAMLProvider where
type Rs GetSAMLProvider = GetSAMLProviderResponse
request = postQuery iam
response
= receiveXMLWrapper "GetSAMLProviderResult"
(\ s h x ->
GetSAMLProviderResponse' <$>
(x .@? "CreateDate") <*> (x .@? "ValidUntil") <*>
(x .@? "SAMLMetadataDocument")
<*> (pure (fromEnum s)))
instance Hashable GetSAMLProvider where
instance NFData GetSAMLProvider where
instance ToHeaders GetSAMLProvider where
toHeaders = const mempty
instance ToPath GetSAMLProvider where
toPath = const "/"
instance ToQuery GetSAMLProvider where
toQuery GetSAMLProvider'{..}
= mconcat
["Action" =: ("GetSAMLProvider" :: ByteString),
"Version" =: ("2010-05-08" :: ByteString),
"SAMLProviderArn" =: _gsamlpSAMLProviderARN]
data GetSAMLProviderResponse = GetSAMLProviderResponse'
{ _gsamlprsCreateDate :: !(Maybe ISO8601)
, _gsamlprsValidUntil :: !(Maybe ISO8601)
, _gsamlprsSAMLMetadataDocument :: !(Maybe Text)
, _gsamlprsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
getSAMLProviderResponse
:: Int
-> GetSAMLProviderResponse
getSAMLProviderResponse pResponseStatus_ =
GetSAMLProviderResponse'
{ _gsamlprsCreateDate = Nothing
, _gsamlprsValidUntil = Nothing
, _gsamlprsSAMLMetadataDocument = Nothing
, _gsamlprsResponseStatus = pResponseStatus_
}
gsamlprsCreateDate :: Lens' GetSAMLProviderResponse (Maybe UTCTime)
gsamlprsCreateDate = lens _gsamlprsCreateDate (\ s a -> s{_gsamlprsCreateDate = a}) . mapping _Time
gsamlprsValidUntil :: Lens' GetSAMLProviderResponse (Maybe UTCTime)
gsamlprsValidUntil = lens _gsamlprsValidUntil (\ s a -> s{_gsamlprsValidUntil = a}) . mapping _Time
gsamlprsSAMLMetadataDocument :: Lens' GetSAMLProviderResponse (Maybe Text)
gsamlprsSAMLMetadataDocument = lens _gsamlprsSAMLMetadataDocument (\ s a -> s{_gsamlprsSAMLMetadataDocument = a})
gsamlprsResponseStatus :: Lens' GetSAMLProviderResponse Int
gsamlprsResponseStatus = lens _gsamlprsResponseStatus (\ s a -> s{_gsamlprsResponseStatus = a})
instance NFData GetSAMLProviderResponse where