{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
module Amazonka.IAM.GetSAMLProvider
(
GetSAMLProvider (..),
newGetSAMLProvider,
getSAMLProvider_sAMLProviderArn,
GetSAMLProviderResponse (..),
newGetSAMLProviderResponse,
getSAMLProviderResponse_createDate,
getSAMLProviderResponse_sAMLMetadataDocument,
getSAMLProviderResponse_tags,
getSAMLProviderResponse_validUntil,
getSAMLProviderResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.IAM.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data GetSAMLProvider = GetSAMLProvider'
{
GetSAMLProvider -> Text
sAMLProviderArn :: Prelude.Text
}
deriving (GetSAMLProvider -> GetSAMLProvider -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetSAMLProvider -> GetSAMLProvider -> Bool
$c/= :: GetSAMLProvider -> GetSAMLProvider -> Bool
== :: GetSAMLProvider -> GetSAMLProvider -> Bool
$c== :: GetSAMLProvider -> GetSAMLProvider -> Bool
Prelude.Eq, ReadPrec [GetSAMLProvider]
ReadPrec GetSAMLProvider
Int -> ReadS GetSAMLProvider
ReadS [GetSAMLProvider]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetSAMLProvider]
$creadListPrec :: ReadPrec [GetSAMLProvider]
readPrec :: ReadPrec GetSAMLProvider
$creadPrec :: ReadPrec GetSAMLProvider
readList :: ReadS [GetSAMLProvider]
$creadList :: ReadS [GetSAMLProvider]
readsPrec :: Int -> ReadS GetSAMLProvider
$creadsPrec :: Int -> ReadS GetSAMLProvider
Prelude.Read, Int -> GetSAMLProvider -> ShowS
[GetSAMLProvider] -> ShowS
GetSAMLProvider -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetSAMLProvider] -> ShowS
$cshowList :: [GetSAMLProvider] -> ShowS
show :: GetSAMLProvider -> String
$cshow :: GetSAMLProvider -> String
showsPrec :: Int -> GetSAMLProvider -> ShowS
$cshowsPrec :: Int -> GetSAMLProvider -> ShowS
Prelude.Show, forall x. Rep GetSAMLProvider x -> GetSAMLProvider
forall x. GetSAMLProvider -> Rep GetSAMLProvider x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GetSAMLProvider x -> GetSAMLProvider
$cfrom :: forall x. GetSAMLProvider -> Rep GetSAMLProvider x
Prelude.Generic)
newGetSAMLProvider ::
Prelude.Text ->
GetSAMLProvider
newGetSAMLProvider :: Text -> GetSAMLProvider
newGetSAMLProvider Text
pSAMLProviderArn_ =
GetSAMLProvider'
{ $sel:sAMLProviderArn:GetSAMLProvider' :: Text
sAMLProviderArn =
Text
pSAMLProviderArn_
}
getSAMLProvider_sAMLProviderArn :: Lens.Lens' GetSAMLProvider Prelude.Text
getSAMLProvider_sAMLProviderArn :: Lens' GetSAMLProvider Text
getSAMLProvider_sAMLProviderArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetSAMLProvider' {Text
sAMLProviderArn :: Text
$sel:sAMLProviderArn:GetSAMLProvider' :: GetSAMLProvider -> Text
sAMLProviderArn} -> Text
sAMLProviderArn) (\s :: GetSAMLProvider
s@GetSAMLProvider' {} Text
a -> GetSAMLProvider
s {$sel:sAMLProviderArn:GetSAMLProvider' :: Text
sAMLProviderArn = Text
a} :: GetSAMLProvider)
instance Core.AWSRequest GetSAMLProvider where
type
AWSResponse GetSAMLProvider =
GetSAMLProviderResponse
request :: (Service -> Service) -> GetSAMLProvider -> Request GetSAMLProvider
request Service -> Service
overrides =
forall a. ToRequest a => Service -> a -> Request a
Request.postQuery (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy GetSAMLProvider
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse GetSAMLProvider)))
response =
forall (m :: * -> *) a.
MonadResource m =>
Text
-> (Int
-> ResponseHeaders -> [Node] -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveXMLWrapper
Text
"GetSAMLProviderResult"
( \Int
s ResponseHeaders
h [Node]
x ->
Maybe ISO8601
-> Maybe Text
-> Maybe [Tag]
-> Maybe ISO8601
-> Int
-> GetSAMLProviderResponse
GetSAMLProviderResponse'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"CreateDate")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"SAMLMetadataDocument")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( [Node]
x
forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"Tags"
forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
Prelude.>>= forall (f :: * -> *) a b.
Applicative f =>
([a] -> f b) -> [a] -> f (Maybe b)
Core.may (forall a. FromXML a => Text -> [Node] -> Either String [a]
Data.parseXMLList Text
"member")
)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"ValidUntil")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
)
instance Prelude.Hashable GetSAMLProvider where
hashWithSalt :: Int -> GetSAMLProvider -> Int
hashWithSalt Int
_salt GetSAMLProvider' {Text
sAMLProviderArn :: Text
$sel:sAMLProviderArn:GetSAMLProvider' :: GetSAMLProvider -> Text
..} =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
sAMLProviderArn
instance Prelude.NFData GetSAMLProvider where
rnf :: GetSAMLProvider -> ()
rnf GetSAMLProvider' {Text
sAMLProviderArn :: Text
$sel:sAMLProviderArn:GetSAMLProvider' :: GetSAMLProvider -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
sAMLProviderArn
instance Data.ToHeaders GetSAMLProvider where
toHeaders :: GetSAMLProvider -> ResponseHeaders
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
instance Data.ToPath GetSAMLProvider where
toPath :: GetSAMLProvider -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery GetSAMLProvider where
toQuery :: GetSAMLProvider -> QueryString
toQuery GetSAMLProvider' {Text
sAMLProviderArn :: Text
$sel:sAMLProviderArn:GetSAMLProvider' :: GetSAMLProvider -> Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"Action"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"GetSAMLProvider" :: Prelude.ByteString),
ByteString
"Version"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"2010-05-08" :: Prelude.ByteString),
ByteString
"SAMLProviderArn" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Text
sAMLProviderArn
]
data GetSAMLProviderResponse = GetSAMLProviderResponse'
{
GetSAMLProviderResponse -> Maybe ISO8601
createDate :: Prelude.Maybe Data.ISO8601,
GetSAMLProviderResponse -> Maybe Text
sAMLMetadataDocument :: Prelude.Maybe Prelude.Text,
GetSAMLProviderResponse -> Maybe [Tag]
tags :: Prelude.Maybe [Tag],
GetSAMLProviderResponse -> Maybe ISO8601
validUntil :: Prelude.Maybe Data.ISO8601,
GetSAMLProviderResponse -> Int
httpStatus :: Prelude.Int
}
deriving (GetSAMLProviderResponse -> GetSAMLProviderResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetSAMLProviderResponse -> GetSAMLProviderResponse -> Bool
$c/= :: GetSAMLProviderResponse -> GetSAMLProviderResponse -> Bool
== :: GetSAMLProviderResponse -> GetSAMLProviderResponse -> Bool
$c== :: GetSAMLProviderResponse -> GetSAMLProviderResponse -> Bool
Prelude.Eq, ReadPrec [GetSAMLProviderResponse]
ReadPrec GetSAMLProviderResponse
Int -> ReadS GetSAMLProviderResponse
ReadS [GetSAMLProviderResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetSAMLProviderResponse]
$creadListPrec :: ReadPrec [GetSAMLProviderResponse]
readPrec :: ReadPrec GetSAMLProviderResponse
$creadPrec :: ReadPrec GetSAMLProviderResponse
readList :: ReadS [GetSAMLProviderResponse]
$creadList :: ReadS [GetSAMLProviderResponse]
readsPrec :: Int -> ReadS GetSAMLProviderResponse
$creadsPrec :: Int -> ReadS GetSAMLProviderResponse
Prelude.Read, Int -> GetSAMLProviderResponse -> ShowS
[GetSAMLProviderResponse] -> ShowS
GetSAMLProviderResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetSAMLProviderResponse] -> ShowS
$cshowList :: [GetSAMLProviderResponse] -> ShowS
show :: GetSAMLProviderResponse -> String
$cshow :: GetSAMLProviderResponse -> String
showsPrec :: Int -> GetSAMLProviderResponse -> ShowS
$cshowsPrec :: Int -> GetSAMLProviderResponse -> ShowS
Prelude.Show, forall x. Rep GetSAMLProviderResponse x -> GetSAMLProviderResponse
forall x. GetSAMLProviderResponse -> Rep GetSAMLProviderResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GetSAMLProviderResponse x -> GetSAMLProviderResponse
$cfrom :: forall x. GetSAMLProviderResponse -> Rep GetSAMLProviderResponse x
Prelude.Generic)
newGetSAMLProviderResponse ::
Prelude.Int ->
GetSAMLProviderResponse
newGetSAMLProviderResponse :: Int -> GetSAMLProviderResponse
newGetSAMLProviderResponse Int
pHttpStatus_ =
GetSAMLProviderResponse'
{ $sel:createDate:GetSAMLProviderResponse' :: Maybe ISO8601
createDate =
forall a. Maybe a
Prelude.Nothing,
$sel:sAMLMetadataDocument:GetSAMLProviderResponse' :: Maybe Text
sAMLMetadataDocument = forall a. Maybe a
Prelude.Nothing,
$sel:tags:GetSAMLProviderResponse' :: Maybe [Tag]
tags = forall a. Maybe a
Prelude.Nothing,
$sel:validUntil:GetSAMLProviderResponse' :: Maybe ISO8601
validUntil = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:GetSAMLProviderResponse' :: Int
httpStatus = Int
pHttpStatus_
}
getSAMLProviderResponse_createDate :: Lens.Lens' GetSAMLProviderResponse (Prelude.Maybe Prelude.UTCTime)
getSAMLProviderResponse_createDate :: Lens' GetSAMLProviderResponse (Maybe UTCTime)
getSAMLProviderResponse_createDate = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetSAMLProviderResponse' {Maybe ISO8601
createDate :: Maybe ISO8601
$sel:createDate:GetSAMLProviderResponse' :: GetSAMLProviderResponse -> Maybe ISO8601
createDate} -> Maybe ISO8601
createDate) (\s :: GetSAMLProviderResponse
s@GetSAMLProviderResponse' {} Maybe ISO8601
a -> GetSAMLProviderResponse
s {$sel:createDate:GetSAMLProviderResponse' :: Maybe ISO8601
createDate = Maybe ISO8601
a} :: GetSAMLProviderResponse) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall (a :: Format). Iso' (Time a) UTCTime
Data._Time
getSAMLProviderResponse_sAMLMetadataDocument :: Lens.Lens' GetSAMLProviderResponse (Prelude.Maybe Prelude.Text)
getSAMLProviderResponse_sAMLMetadataDocument :: Lens' GetSAMLProviderResponse (Maybe Text)
getSAMLProviderResponse_sAMLMetadataDocument = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetSAMLProviderResponse' {Maybe Text
sAMLMetadataDocument :: Maybe Text
$sel:sAMLMetadataDocument:GetSAMLProviderResponse' :: GetSAMLProviderResponse -> Maybe Text
sAMLMetadataDocument} -> Maybe Text
sAMLMetadataDocument) (\s :: GetSAMLProviderResponse
s@GetSAMLProviderResponse' {} Maybe Text
a -> GetSAMLProviderResponse
s {$sel:sAMLMetadataDocument:GetSAMLProviderResponse' :: Maybe Text
sAMLMetadataDocument = Maybe Text
a} :: GetSAMLProviderResponse)
getSAMLProviderResponse_tags :: Lens.Lens' GetSAMLProviderResponse (Prelude.Maybe [Tag])
getSAMLProviderResponse_tags :: Lens' GetSAMLProviderResponse (Maybe [Tag])
getSAMLProviderResponse_tags = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetSAMLProviderResponse' {Maybe [Tag]
tags :: Maybe [Tag]
$sel:tags:GetSAMLProviderResponse' :: GetSAMLProviderResponse -> Maybe [Tag]
tags} -> Maybe [Tag]
tags) (\s :: GetSAMLProviderResponse
s@GetSAMLProviderResponse' {} Maybe [Tag]
a -> GetSAMLProviderResponse
s {$sel:tags:GetSAMLProviderResponse' :: Maybe [Tag]
tags = Maybe [Tag]
a} :: GetSAMLProviderResponse) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
getSAMLProviderResponse_validUntil :: Lens.Lens' GetSAMLProviderResponse (Prelude.Maybe Prelude.UTCTime)
getSAMLProviderResponse_validUntil :: Lens' GetSAMLProviderResponse (Maybe UTCTime)
getSAMLProviderResponse_validUntil = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetSAMLProviderResponse' {Maybe ISO8601
validUntil :: Maybe ISO8601
$sel:validUntil:GetSAMLProviderResponse' :: GetSAMLProviderResponse -> Maybe ISO8601
validUntil} -> Maybe ISO8601
validUntil) (\s :: GetSAMLProviderResponse
s@GetSAMLProviderResponse' {} Maybe ISO8601
a -> GetSAMLProviderResponse
s {$sel:validUntil:GetSAMLProviderResponse' :: Maybe ISO8601
validUntil = Maybe ISO8601
a} :: GetSAMLProviderResponse) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall (a :: Format). Iso' (Time a) UTCTime
Data._Time
getSAMLProviderResponse_httpStatus :: Lens.Lens' GetSAMLProviderResponse Prelude.Int
getSAMLProviderResponse_httpStatus :: Lens' GetSAMLProviderResponse Int
getSAMLProviderResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetSAMLProviderResponse' {Int
httpStatus :: Int
$sel:httpStatus:GetSAMLProviderResponse' :: GetSAMLProviderResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: GetSAMLProviderResponse
s@GetSAMLProviderResponse' {} Int
a -> GetSAMLProviderResponse
s {$sel:httpStatus:GetSAMLProviderResponse' :: Int
httpStatus = Int
a} :: GetSAMLProviderResponse)
instance Prelude.NFData GetSAMLProviderResponse where
rnf :: GetSAMLProviderResponse -> ()
rnf GetSAMLProviderResponse' {Int
Maybe [Tag]
Maybe Text
Maybe ISO8601
httpStatus :: Int
validUntil :: Maybe ISO8601
tags :: Maybe [Tag]
sAMLMetadataDocument :: Maybe Text
createDate :: Maybe ISO8601
$sel:httpStatus:GetSAMLProviderResponse' :: GetSAMLProviderResponse -> Int
$sel:validUntil:GetSAMLProviderResponse' :: GetSAMLProviderResponse -> Maybe ISO8601
$sel:tags:GetSAMLProviderResponse' :: GetSAMLProviderResponse -> Maybe [Tag]
$sel:sAMLMetadataDocument:GetSAMLProviderResponse' :: GetSAMLProviderResponse -> Maybe Text
$sel:createDate:GetSAMLProviderResponse' :: GetSAMLProviderResponse -> Maybe ISO8601
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe ISO8601
createDate
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
sAMLMetadataDocument
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Tag]
tags
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ISO8601
validUntil
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus