{-# 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.LicenseManagerUserSubscriptions.UpdateIdentityProviderSettings
(
UpdateIdentityProviderSettings (..),
newUpdateIdentityProviderSettings,
updateIdentityProviderSettings_identityProvider,
updateIdentityProviderSettings_product,
updateIdentityProviderSettings_updateSettings,
UpdateIdentityProviderSettingsResponse (..),
newUpdateIdentityProviderSettingsResponse,
updateIdentityProviderSettingsResponse_httpStatus,
updateIdentityProviderSettingsResponse_identityProviderSummary,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.LicenseManagerUserSubscriptions.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data UpdateIdentityProviderSettings = UpdateIdentityProviderSettings'
{ UpdateIdentityProviderSettings -> IdentityProvider
identityProvider :: IdentityProvider,
UpdateIdentityProviderSettings -> Text
product :: Prelude.Text,
UpdateIdentityProviderSettings -> UpdateSettings
updateSettings :: UpdateSettings
}
deriving (UpdateIdentityProviderSettings
-> UpdateIdentityProviderSettings -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateIdentityProviderSettings
-> UpdateIdentityProviderSettings -> Bool
$c/= :: UpdateIdentityProviderSettings
-> UpdateIdentityProviderSettings -> Bool
== :: UpdateIdentityProviderSettings
-> UpdateIdentityProviderSettings -> Bool
$c== :: UpdateIdentityProviderSettings
-> UpdateIdentityProviderSettings -> Bool
Prelude.Eq, ReadPrec [UpdateIdentityProviderSettings]
ReadPrec UpdateIdentityProviderSettings
Int -> ReadS UpdateIdentityProviderSettings
ReadS [UpdateIdentityProviderSettings]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateIdentityProviderSettings]
$creadListPrec :: ReadPrec [UpdateIdentityProviderSettings]
readPrec :: ReadPrec UpdateIdentityProviderSettings
$creadPrec :: ReadPrec UpdateIdentityProviderSettings
readList :: ReadS [UpdateIdentityProviderSettings]
$creadList :: ReadS [UpdateIdentityProviderSettings]
readsPrec :: Int -> ReadS UpdateIdentityProviderSettings
$creadsPrec :: Int -> ReadS UpdateIdentityProviderSettings
Prelude.Read, Int -> UpdateIdentityProviderSettings -> ShowS
[UpdateIdentityProviderSettings] -> ShowS
UpdateIdentityProviderSettings -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateIdentityProviderSettings] -> ShowS
$cshowList :: [UpdateIdentityProviderSettings] -> ShowS
show :: UpdateIdentityProviderSettings -> String
$cshow :: UpdateIdentityProviderSettings -> String
showsPrec :: Int -> UpdateIdentityProviderSettings -> ShowS
$cshowsPrec :: Int -> UpdateIdentityProviderSettings -> ShowS
Prelude.Show, forall x.
Rep UpdateIdentityProviderSettings x
-> UpdateIdentityProviderSettings
forall x.
UpdateIdentityProviderSettings
-> Rep UpdateIdentityProviderSettings x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdateIdentityProviderSettings x
-> UpdateIdentityProviderSettings
$cfrom :: forall x.
UpdateIdentityProviderSettings
-> Rep UpdateIdentityProviderSettings x
Prelude.Generic)
newUpdateIdentityProviderSettings ::
IdentityProvider ->
Prelude.Text ->
UpdateSettings ->
UpdateIdentityProviderSettings
newUpdateIdentityProviderSettings :: IdentityProvider
-> Text -> UpdateSettings -> UpdateIdentityProviderSettings
newUpdateIdentityProviderSettings
IdentityProvider
pIdentityProvider_
Text
pProduct_
UpdateSettings
pUpdateSettings_ =
UpdateIdentityProviderSettings'
{ $sel:identityProvider:UpdateIdentityProviderSettings' :: IdentityProvider
identityProvider =
IdentityProvider
pIdentityProvider_,
$sel:product:UpdateIdentityProviderSettings' :: Text
product = Text
pProduct_,
$sel:updateSettings:UpdateIdentityProviderSettings' :: UpdateSettings
updateSettings = UpdateSettings
pUpdateSettings_
}
updateIdentityProviderSettings_identityProvider :: Lens.Lens' UpdateIdentityProviderSettings IdentityProvider
updateIdentityProviderSettings_identityProvider :: Lens' UpdateIdentityProviderSettings IdentityProvider
updateIdentityProviderSettings_identityProvider = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateIdentityProviderSettings' {IdentityProvider
identityProvider :: IdentityProvider
$sel:identityProvider:UpdateIdentityProviderSettings' :: UpdateIdentityProviderSettings -> IdentityProvider
identityProvider} -> IdentityProvider
identityProvider) (\s :: UpdateIdentityProviderSettings
s@UpdateIdentityProviderSettings' {} IdentityProvider
a -> UpdateIdentityProviderSettings
s {$sel:identityProvider:UpdateIdentityProviderSettings' :: IdentityProvider
identityProvider = IdentityProvider
a} :: UpdateIdentityProviderSettings)
updateIdentityProviderSettings_product :: Lens.Lens' UpdateIdentityProviderSettings Prelude.Text
updateIdentityProviderSettings_product :: Lens' UpdateIdentityProviderSettings Text
updateIdentityProviderSettings_product = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateIdentityProviderSettings' {Text
product :: Text
$sel:product:UpdateIdentityProviderSettings' :: UpdateIdentityProviderSettings -> Text
product} -> Text
product) (\s :: UpdateIdentityProviderSettings
s@UpdateIdentityProviderSettings' {} Text
a -> UpdateIdentityProviderSettings
s {$sel:product:UpdateIdentityProviderSettings' :: Text
product = Text
a} :: UpdateIdentityProviderSettings)
updateIdentityProviderSettings_updateSettings :: Lens.Lens' UpdateIdentityProviderSettings UpdateSettings
updateIdentityProviderSettings_updateSettings :: Lens' UpdateIdentityProviderSettings UpdateSettings
updateIdentityProviderSettings_updateSettings = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateIdentityProviderSettings' {UpdateSettings
updateSettings :: UpdateSettings
$sel:updateSettings:UpdateIdentityProviderSettings' :: UpdateIdentityProviderSettings -> UpdateSettings
updateSettings} -> UpdateSettings
updateSettings) (\s :: UpdateIdentityProviderSettings
s@UpdateIdentityProviderSettings' {} UpdateSettings
a -> UpdateIdentityProviderSettings
s {$sel:updateSettings:UpdateIdentityProviderSettings' :: UpdateSettings
updateSettings = UpdateSettings
a} :: UpdateIdentityProviderSettings)
instance
Core.AWSRequest
UpdateIdentityProviderSettings
where
type
AWSResponse UpdateIdentityProviderSettings =
UpdateIdentityProviderSettingsResponse
request :: (Service -> Service)
-> UpdateIdentityProviderSettings
-> Request UpdateIdentityProviderSettings
request Service -> Service
overrides =
forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy UpdateIdentityProviderSettings
-> ClientResponse ClientBody
-> m (Either
Error
(ClientResponse (AWSResponse UpdateIdentityProviderSettings)))
response =
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
( \Int
s ResponseHeaders
h Object
x ->
Int
-> IdentityProviderSummary
-> UpdateIdentityProviderSettingsResponse
UpdateIdentityProviderSettingsResponse'
forall (f :: * -> *) a b. Functor 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))
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String a
Data..:> Key
"IdentityProviderSummary")
)
instance
Prelude.Hashable
UpdateIdentityProviderSettings
where
hashWithSalt :: Int -> UpdateIdentityProviderSettings -> Int
hashWithSalt
Int
_salt
UpdateIdentityProviderSettings' {Text
IdentityProvider
UpdateSettings
updateSettings :: UpdateSettings
product :: Text
identityProvider :: IdentityProvider
$sel:updateSettings:UpdateIdentityProviderSettings' :: UpdateIdentityProviderSettings -> UpdateSettings
$sel:product:UpdateIdentityProviderSettings' :: UpdateIdentityProviderSettings -> Text
$sel:identityProvider:UpdateIdentityProviderSettings' :: UpdateIdentityProviderSettings -> IdentityProvider
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` IdentityProvider
identityProvider
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
product
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` UpdateSettings
updateSettings
instance
Prelude.NFData
UpdateIdentityProviderSettings
where
rnf :: UpdateIdentityProviderSettings -> ()
rnf UpdateIdentityProviderSettings' {Text
IdentityProvider
UpdateSettings
updateSettings :: UpdateSettings
product :: Text
identityProvider :: IdentityProvider
$sel:updateSettings:UpdateIdentityProviderSettings' :: UpdateIdentityProviderSettings -> UpdateSettings
$sel:product:UpdateIdentityProviderSettings' :: UpdateIdentityProviderSettings -> Text
$sel:identityProvider:UpdateIdentityProviderSettings' :: UpdateIdentityProviderSettings -> IdentityProvider
..} =
forall a. NFData a => a -> ()
Prelude.rnf IdentityProvider
identityProvider
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
product
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf UpdateSettings
updateSettings
instance
Data.ToHeaders
UpdateIdentityProviderSettings
where
toHeaders :: UpdateIdentityProviderSettings -> ResponseHeaders
toHeaders =
forall a b. a -> b -> a
Prelude.const
( forall a. Monoid a => [a] -> a
Prelude.mconcat
[ HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance Data.ToJSON UpdateIdentityProviderSettings where
toJSON :: UpdateIdentityProviderSettings -> Value
toJSON UpdateIdentityProviderSettings' {Text
IdentityProvider
UpdateSettings
updateSettings :: UpdateSettings
product :: Text
identityProvider :: IdentityProvider
$sel:updateSettings:UpdateIdentityProviderSettings' :: UpdateIdentityProviderSettings -> UpdateSettings
$sel:product:UpdateIdentityProviderSettings' :: UpdateIdentityProviderSettings -> Text
$sel:identityProvider:UpdateIdentityProviderSettings' :: UpdateIdentityProviderSettings -> IdentityProvider
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ forall a. a -> Maybe a
Prelude.Just
(Key
"IdentityProvider" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= IdentityProvider
identityProvider),
forall a. a -> Maybe a
Prelude.Just (Key
"Product" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
product),
forall a. a -> Maybe a
Prelude.Just
(Key
"UpdateSettings" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= UpdateSettings
updateSettings)
]
)
instance Data.ToPath UpdateIdentityProviderSettings where
toPath :: UpdateIdentityProviderSettings -> ByteString
toPath =
forall a b. a -> b -> a
Prelude.const
ByteString
"/identity-provider/UpdateIdentityProviderSettings"
instance Data.ToQuery UpdateIdentityProviderSettings where
toQuery :: UpdateIdentityProviderSettings -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data UpdateIdentityProviderSettingsResponse = UpdateIdentityProviderSettingsResponse'
{
UpdateIdentityProviderSettingsResponse -> Int
httpStatus :: Prelude.Int,
UpdateIdentityProviderSettingsResponse -> IdentityProviderSummary
identityProviderSummary :: IdentityProviderSummary
}
deriving (UpdateIdentityProviderSettingsResponse
-> UpdateIdentityProviderSettingsResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateIdentityProviderSettingsResponse
-> UpdateIdentityProviderSettingsResponse -> Bool
$c/= :: UpdateIdentityProviderSettingsResponse
-> UpdateIdentityProviderSettingsResponse -> Bool
== :: UpdateIdentityProviderSettingsResponse
-> UpdateIdentityProviderSettingsResponse -> Bool
$c== :: UpdateIdentityProviderSettingsResponse
-> UpdateIdentityProviderSettingsResponse -> Bool
Prelude.Eq, ReadPrec [UpdateIdentityProviderSettingsResponse]
ReadPrec UpdateIdentityProviderSettingsResponse
Int -> ReadS UpdateIdentityProviderSettingsResponse
ReadS [UpdateIdentityProviderSettingsResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateIdentityProviderSettingsResponse]
$creadListPrec :: ReadPrec [UpdateIdentityProviderSettingsResponse]
readPrec :: ReadPrec UpdateIdentityProviderSettingsResponse
$creadPrec :: ReadPrec UpdateIdentityProviderSettingsResponse
readList :: ReadS [UpdateIdentityProviderSettingsResponse]
$creadList :: ReadS [UpdateIdentityProviderSettingsResponse]
readsPrec :: Int -> ReadS UpdateIdentityProviderSettingsResponse
$creadsPrec :: Int -> ReadS UpdateIdentityProviderSettingsResponse
Prelude.Read, Int -> UpdateIdentityProviderSettingsResponse -> ShowS
[UpdateIdentityProviderSettingsResponse] -> ShowS
UpdateIdentityProviderSettingsResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateIdentityProviderSettingsResponse] -> ShowS
$cshowList :: [UpdateIdentityProviderSettingsResponse] -> ShowS
show :: UpdateIdentityProviderSettingsResponse -> String
$cshow :: UpdateIdentityProviderSettingsResponse -> String
showsPrec :: Int -> UpdateIdentityProviderSettingsResponse -> ShowS
$cshowsPrec :: Int -> UpdateIdentityProviderSettingsResponse -> ShowS
Prelude.Show, forall x.
Rep UpdateIdentityProviderSettingsResponse x
-> UpdateIdentityProviderSettingsResponse
forall x.
UpdateIdentityProviderSettingsResponse
-> Rep UpdateIdentityProviderSettingsResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdateIdentityProviderSettingsResponse x
-> UpdateIdentityProviderSettingsResponse
$cfrom :: forall x.
UpdateIdentityProviderSettingsResponse
-> Rep UpdateIdentityProviderSettingsResponse x
Prelude.Generic)
newUpdateIdentityProviderSettingsResponse ::
Prelude.Int ->
IdentityProviderSummary ->
UpdateIdentityProviderSettingsResponse
newUpdateIdentityProviderSettingsResponse :: Int
-> IdentityProviderSummary
-> UpdateIdentityProviderSettingsResponse
newUpdateIdentityProviderSettingsResponse
Int
pHttpStatus_
IdentityProviderSummary
pIdentityProviderSummary_ =
UpdateIdentityProviderSettingsResponse'
{ $sel:httpStatus:UpdateIdentityProviderSettingsResponse' :: Int
httpStatus =
Int
pHttpStatus_,
$sel:identityProviderSummary:UpdateIdentityProviderSettingsResponse' :: IdentityProviderSummary
identityProviderSummary =
IdentityProviderSummary
pIdentityProviderSummary_
}
updateIdentityProviderSettingsResponse_httpStatus :: Lens.Lens' UpdateIdentityProviderSettingsResponse Prelude.Int
updateIdentityProviderSettingsResponse_httpStatus :: Lens' UpdateIdentityProviderSettingsResponse Int
updateIdentityProviderSettingsResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateIdentityProviderSettingsResponse' {Int
httpStatus :: Int
$sel:httpStatus:UpdateIdentityProviderSettingsResponse' :: UpdateIdentityProviderSettingsResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: UpdateIdentityProviderSettingsResponse
s@UpdateIdentityProviderSettingsResponse' {} Int
a -> UpdateIdentityProviderSettingsResponse
s {$sel:httpStatus:UpdateIdentityProviderSettingsResponse' :: Int
httpStatus = Int
a} :: UpdateIdentityProviderSettingsResponse)
updateIdentityProviderSettingsResponse_identityProviderSummary :: Lens.Lens' UpdateIdentityProviderSettingsResponse IdentityProviderSummary
updateIdentityProviderSettingsResponse_identityProviderSummary :: Lens'
UpdateIdentityProviderSettingsResponse IdentityProviderSummary
updateIdentityProviderSettingsResponse_identityProviderSummary = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateIdentityProviderSettingsResponse' {IdentityProviderSummary
identityProviderSummary :: IdentityProviderSummary
$sel:identityProviderSummary:UpdateIdentityProviderSettingsResponse' :: UpdateIdentityProviderSettingsResponse -> IdentityProviderSummary
identityProviderSummary} -> IdentityProviderSummary
identityProviderSummary) (\s :: UpdateIdentityProviderSettingsResponse
s@UpdateIdentityProviderSettingsResponse' {} IdentityProviderSummary
a -> UpdateIdentityProviderSettingsResponse
s {$sel:identityProviderSummary:UpdateIdentityProviderSettingsResponse' :: IdentityProviderSummary
identityProviderSummary = IdentityProviderSummary
a} :: UpdateIdentityProviderSettingsResponse)
instance
Prelude.NFData
UpdateIdentityProviderSettingsResponse
where
rnf :: UpdateIdentityProviderSettingsResponse -> ()
rnf UpdateIdentityProviderSettingsResponse' {Int
IdentityProviderSummary
identityProviderSummary :: IdentityProviderSummary
httpStatus :: Int
$sel:identityProviderSummary:UpdateIdentityProviderSettingsResponse' :: UpdateIdentityProviderSettingsResponse -> IdentityProviderSummary
$sel:httpStatus:UpdateIdentityProviderSettingsResponse' :: UpdateIdentityProviderSettingsResponse -> Int
..} =
forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf IdentityProviderSummary
identityProviderSummary