{-# 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.UpdateSAMLProvider
(
UpdateSAMLProvider (..),
newUpdateSAMLProvider,
updateSAMLProvider_sAMLMetadataDocument,
updateSAMLProvider_sAMLProviderArn,
UpdateSAMLProviderResponse (..),
newUpdateSAMLProviderResponse,
updateSAMLProviderResponse_sAMLProviderArn,
updateSAMLProviderResponse_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 UpdateSAMLProvider = UpdateSAMLProvider'
{
UpdateSAMLProvider -> Text
sAMLMetadataDocument :: Prelude.Text,
UpdateSAMLProvider -> Text
sAMLProviderArn :: Prelude.Text
}
deriving (UpdateSAMLProvider -> UpdateSAMLProvider -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateSAMLProvider -> UpdateSAMLProvider -> Bool
$c/= :: UpdateSAMLProvider -> UpdateSAMLProvider -> Bool
== :: UpdateSAMLProvider -> UpdateSAMLProvider -> Bool
$c== :: UpdateSAMLProvider -> UpdateSAMLProvider -> Bool
Prelude.Eq, ReadPrec [UpdateSAMLProvider]
ReadPrec UpdateSAMLProvider
Int -> ReadS UpdateSAMLProvider
ReadS [UpdateSAMLProvider]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateSAMLProvider]
$creadListPrec :: ReadPrec [UpdateSAMLProvider]
readPrec :: ReadPrec UpdateSAMLProvider
$creadPrec :: ReadPrec UpdateSAMLProvider
readList :: ReadS [UpdateSAMLProvider]
$creadList :: ReadS [UpdateSAMLProvider]
readsPrec :: Int -> ReadS UpdateSAMLProvider
$creadsPrec :: Int -> ReadS UpdateSAMLProvider
Prelude.Read, Int -> UpdateSAMLProvider -> ShowS
[UpdateSAMLProvider] -> ShowS
UpdateSAMLProvider -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateSAMLProvider] -> ShowS
$cshowList :: [UpdateSAMLProvider] -> ShowS
show :: UpdateSAMLProvider -> String
$cshow :: UpdateSAMLProvider -> String
showsPrec :: Int -> UpdateSAMLProvider -> ShowS
$cshowsPrec :: Int -> UpdateSAMLProvider -> ShowS
Prelude.Show, forall x. Rep UpdateSAMLProvider x -> UpdateSAMLProvider
forall x. UpdateSAMLProvider -> Rep UpdateSAMLProvider x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep UpdateSAMLProvider x -> UpdateSAMLProvider
$cfrom :: forall x. UpdateSAMLProvider -> Rep UpdateSAMLProvider x
Prelude.Generic)
newUpdateSAMLProvider ::
Prelude.Text ->
Prelude.Text ->
UpdateSAMLProvider
newUpdateSAMLProvider :: Text -> Text -> UpdateSAMLProvider
newUpdateSAMLProvider
Text
pSAMLMetadataDocument_
Text
pSAMLProviderArn_ =
UpdateSAMLProvider'
{ $sel:sAMLMetadataDocument:UpdateSAMLProvider' :: Text
sAMLMetadataDocument =
Text
pSAMLMetadataDocument_,
$sel:sAMLProviderArn:UpdateSAMLProvider' :: Text
sAMLProviderArn = Text
pSAMLProviderArn_
}
updateSAMLProvider_sAMLMetadataDocument :: Lens.Lens' UpdateSAMLProvider Prelude.Text
updateSAMLProvider_sAMLMetadataDocument :: Lens' UpdateSAMLProvider Text
updateSAMLProvider_sAMLMetadataDocument = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateSAMLProvider' {Text
sAMLMetadataDocument :: Text
$sel:sAMLMetadataDocument:UpdateSAMLProvider' :: UpdateSAMLProvider -> Text
sAMLMetadataDocument} -> Text
sAMLMetadataDocument) (\s :: UpdateSAMLProvider
s@UpdateSAMLProvider' {} Text
a -> UpdateSAMLProvider
s {$sel:sAMLMetadataDocument:UpdateSAMLProvider' :: Text
sAMLMetadataDocument = Text
a} :: UpdateSAMLProvider)
updateSAMLProvider_sAMLProviderArn :: Lens.Lens' UpdateSAMLProvider Prelude.Text
updateSAMLProvider_sAMLProviderArn :: Lens' UpdateSAMLProvider Text
updateSAMLProvider_sAMLProviderArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateSAMLProvider' {Text
sAMLProviderArn :: Text
$sel:sAMLProviderArn:UpdateSAMLProvider' :: UpdateSAMLProvider -> Text
sAMLProviderArn} -> Text
sAMLProviderArn) (\s :: UpdateSAMLProvider
s@UpdateSAMLProvider' {} Text
a -> UpdateSAMLProvider
s {$sel:sAMLProviderArn:UpdateSAMLProvider' :: Text
sAMLProviderArn = Text
a} :: UpdateSAMLProvider)
instance Core.AWSRequest UpdateSAMLProvider where
type
AWSResponse UpdateSAMLProvider =
UpdateSAMLProviderResponse
request :: (Service -> Service)
-> UpdateSAMLProvider -> Request UpdateSAMLProvider
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 UpdateSAMLProvider
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse UpdateSAMLProvider)))
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
"UpdateSAMLProviderResult"
( \Int
s ResponseHeaders
h [Node]
x ->
Maybe Text -> Int -> UpdateSAMLProviderResponse
UpdateSAMLProviderResponse'
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
"SAMLProviderArn")
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 UpdateSAMLProvider where
hashWithSalt :: Int -> UpdateSAMLProvider -> Int
hashWithSalt Int
_salt UpdateSAMLProvider' {Text
sAMLProviderArn :: Text
sAMLMetadataDocument :: Text
$sel:sAMLProviderArn:UpdateSAMLProvider' :: UpdateSAMLProvider -> Text
$sel:sAMLMetadataDocument:UpdateSAMLProvider' :: UpdateSAMLProvider -> Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
sAMLMetadataDocument
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
sAMLProviderArn
instance Prelude.NFData UpdateSAMLProvider where
rnf :: UpdateSAMLProvider -> ()
rnf UpdateSAMLProvider' {Text
sAMLProviderArn :: Text
sAMLMetadataDocument :: Text
$sel:sAMLProviderArn:UpdateSAMLProvider' :: UpdateSAMLProvider -> Text
$sel:sAMLMetadataDocument:UpdateSAMLProvider' :: UpdateSAMLProvider -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
sAMLMetadataDocument
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
sAMLProviderArn
instance Data.ToHeaders UpdateSAMLProvider where
toHeaders :: UpdateSAMLProvider -> ResponseHeaders
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
instance Data.ToPath UpdateSAMLProvider where
toPath :: UpdateSAMLProvider -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery UpdateSAMLProvider where
toQuery :: UpdateSAMLProvider -> QueryString
toQuery UpdateSAMLProvider' {Text
sAMLProviderArn :: Text
sAMLMetadataDocument :: Text
$sel:sAMLProviderArn:UpdateSAMLProvider' :: UpdateSAMLProvider -> Text
$sel:sAMLMetadataDocument:UpdateSAMLProvider' :: UpdateSAMLProvider -> Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"Action"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"UpdateSAMLProvider" :: Prelude.ByteString),
ByteString
"Version"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"2010-05-08" :: Prelude.ByteString),
ByteString
"SAMLMetadataDocument" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Text
sAMLMetadataDocument,
ByteString
"SAMLProviderArn" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Text
sAMLProviderArn
]
data UpdateSAMLProviderResponse = UpdateSAMLProviderResponse'
{
UpdateSAMLProviderResponse -> Maybe Text
sAMLProviderArn :: Prelude.Maybe Prelude.Text,
UpdateSAMLProviderResponse -> Int
httpStatus :: Prelude.Int
}
deriving (UpdateSAMLProviderResponse -> UpdateSAMLProviderResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateSAMLProviderResponse -> UpdateSAMLProviderResponse -> Bool
$c/= :: UpdateSAMLProviderResponse -> UpdateSAMLProviderResponse -> Bool
== :: UpdateSAMLProviderResponse -> UpdateSAMLProviderResponse -> Bool
$c== :: UpdateSAMLProviderResponse -> UpdateSAMLProviderResponse -> Bool
Prelude.Eq, ReadPrec [UpdateSAMLProviderResponse]
ReadPrec UpdateSAMLProviderResponse
Int -> ReadS UpdateSAMLProviderResponse
ReadS [UpdateSAMLProviderResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateSAMLProviderResponse]
$creadListPrec :: ReadPrec [UpdateSAMLProviderResponse]
readPrec :: ReadPrec UpdateSAMLProviderResponse
$creadPrec :: ReadPrec UpdateSAMLProviderResponse
readList :: ReadS [UpdateSAMLProviderResponse]
$creadList :: ReadS [UpdateSAMLProviderResponse]
readsPrec :: Int -> ReadS UpdateSAMLProviderResponse
$creadsPrec :: Int -> ReadS UpdateSAMLProviderResponse
Prelude.Read, Int -> UpdateSAMLProviderResponse -> ShowS
[UpdateSAMLProviderResponse] -> ShowS
UpdateSAMLProviderResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateSAMLProviderResponse] -> ShowS
$cshowList :: [UpdateSAMLProviderResponse] -> ShowS
show :: UpdateSAMLProviderResponse -> String
$cshow :: UpdateSAMLProviderResponse -> String
showsPrec :: Int -> UpdateSAMLProviderResponse -> ShowS
$cshowsPrec :: Int -> UpdateSAMLProviderResponse -> ShowS
Prelude.Show, forall x.
Rep UpdateSAMLProviderResponse x -> UpdateSAMLProviderResponse
forall x.
UpdateSAMLProviderResponse -> Rep UpdateSAMLProviderResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdateSAMLProviderResponse x -> UpdateSAMLProviderResponse
$cfrom :: forall x.
UpdateSAMLProviderResponse -> Rep UpdateSAMLProviderResponse x
Prelude.Generic)
newUpdateSAMLProviderResponse ::
Prelude.Int ->
UpdateSAMLProviderResponse
newUpdateSAMLProviderResponse :: Int -> UpdateSAMLProviderResponse
newUpdateSAMLProviderResponse Int
pHttpStatus_ =
UpdateSAMLProviderResponse'
{ $sel:sAMLProviderArn:UpdateSAMLProviderResponse' :: Maybe Text
sAMLProviderArn =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:UpdateSAMLProviderResponse' :: Int
httpStatus = Int
pHttpStatus_
}
updateSAMLProviderResponse_sAMLProviderArn :: Lens.Lens' UpdateSAMLProviderResponse (Prelude.Maybe Prelude.Text)
updateSAMLProviderResponse_sAMLProviderArn :: Lens' UpdateSAMLProviderResponse (Maybe Text)
updateSAMLProviderResponse_sAMLProviderArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateSAMLProviderResponse' {Maybe Text
sAMLProviderArn :: Maybe Text
$sel:sAMLProviderArn:UpdateSAMLProviderResponse' :: UpdateSAMLProviderResponse -> Maybe Text
sAMLProviderArn} -> Maybe Text
sAMLProviderArn) (\s :: UpdateSAMLProviderResponse
s@UpdateSAMLProviderResponse' {} Maybe Text
a -> UpdateSAMLProviderResponse
s {$sel:sAMLProviderArn:UpdateSAMLProviderResponse' :: Maybe Text
sAMLProviderArn = Maybe Text
a} :: UpdateSAMLProviderResponse)
updateSAMLProviderResponse_httpStatus :: Lens.Lens' UpdateSAMLProviderResponse Prelude.Int
updateSAMLProviderResponse_httpStatus :: Lens' UpdateSAMLProviderResponse Int
updateSAMLProviderResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateSAMLProviderResponse' {Int
httpStatus :: Int
$sel:httpStatus:UpdateSAMLProviderResponse' :: UpdateSAMLProviderResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: UpdateSAMLProviderResponse
s@UpdateSAMLProviderResponse' {} Int
a -> UpdateSAMLProviderResponse
s {$sel:httpStatus:UpdateSAMLProviderResponse' :: Int
httpStatus = Int
a} :: UpdateSAMLProviderResponse)
instance Prelude.NFData UpdateSAMLProviderResponse where
rnf :: UpdateSAMLProviderResponse -> ()
rnf UpdateSAMLProviderResponse' {Int
Maybe Text
httpStatus :: Int
sAMLProviderArn :: Maybe Text
$sel:httpStatus:UpdateSAMLProviderResponse' :: UpdateSAMLProviderResponse -> Int
$sel:sAMLProviderArn:UpdateSAMLProviderResponse' :: UpdateSAMLProviderResponse -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
sAMLProviderArn
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus