module Network.AWS.IAM.GetOpenIDConnectProvider
(
GetOpenIDConnectProvider
, getOpenIDConnectProvider
, goidcpOpenIDConnectProviderArn
, GetOpenIDConnectProviderResponse
, getOpenIDConnectProviderResponse
, goidcprClientIDList
, goidcprCreateDate
, goidcprThumbprintList
, goidcprUrl
) where
import Network.AWS.Prelude
import Network.AWS.Request.Query
import Network.AWS.IAM.Types
import qualified GHC.Exts
newtype GetOpenIDConnectProvider = GetOpenIDConnectProvider
{ _goidcpOpenIDConnectProviderArn :: Text
} deriving (Eq, Ord, Show, Monoid, IsString)
getOpenIDConnectProvider :: Text
-> GetOpenIDConnectProvider
getOpenIDConnectProvider p1 = GetOpenIDConnectProvider
{ _goidcpOpenIDConnectProviderArn = p1
}
goidcpOpenIDConnectProviderArn :: Lens' GetOpenIDConnectProvider Text
goidcpOpenIDConnectProviderArn =
lens _goidcpOpenIDConnectProviderArn
(\s a -> s { _goidcpOpenIDConnectProviderArn = a })
data GetOpenIDConnectProviderResponse = GetOpenIDConnectProviderResponse
{ _goidcprClientIDList :: List "member" Text
, _goidcprCreateDate :: Maybe ISO8601
, _goidcprThumbprintList :: List "member" Text
, _goidcprUrl :: Maybe Text
} deriving (Eq, Ord, Show)
getOpenIDConnectProviderResponse :: GetOpenIDConnectProviderResponse
getOpenIDConnectProviderResponse = GetOpenIDConnectProviderResponse
{ _goidcprUrl = Nothing
, _goidcprClientIDList = mempty
, _goidcprThumbprintList = mempty
, _goidcprCreateDate = Nothing
}
goidcprClientIDList :: Lens' GetOpenIDConnectProviderResponse [Text]
goidcprClientIDList =
lens _goidcprClientIDList (\s a -> s { _goidcprClientIDList = a })
. _List
goidcprCreateDate :: Lens' GetOpenIDConnectProviderResponse (Maybe UTCTime)
goidcprCreateDate =
lens _goidcprCreateDate (\s a -> s { _goidcprCreateDate = a })
. mapping _Time
goidcprThumbprintList :: Lens' GetOpenIDConnectProviderResponse [Text]
goidcprThumbprintList =
lens _goidcprThumbprintList (\s a -> s { _goidcprThumbprintList = a })
. _List
goidcprUrl :: Lens' GetOpenIDConnectProviderResponse (Maybe Text)
goidcprUrl = lens _goidcprUrl (\s a -> s { _goidcprUrl = a })
instance ToPath GetOpenIDConnectProvider where
toPath = const "/"
instance ToQuery GetOpenIDConnectProvider where
toQuery GetOpenIDConnectProvider{..} = mconcat
[ "OpenIDConnectProviderArn" =? _goidcpOpenIDConnectProviderArn
]
instance ToHeaders GetOpenIDConnectProvider
instance AWSRequest GetOpenIDConnectProvider where
type Sv GetOpenIDConnectProvider = IAM
type Rs GetOpenIDConnectProvider = GetOpenIDConnectProviderResponse
request = post "GetOpenIDConnectProvider"
response = xmlResponse
instance FromXML GetOpenIDConnectProviderResponse where
parseXML = withElement "GetOpenIDConnectProviderResult" $ \x -> GetOpenIDConnectProviderResponse
<$> x .@? "ClientIDList" .!@ mempty
<*> x .@? "CreateDate"
<*> x .@? "ThumbprintList" .!@ mempty
<*> x .@? "Url"