{-# 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.SSOAdmin.ProvisionPermissionSet
(
ProvisionPermissionSet (..),
newProvisionPermissionSet,
provisionPermissionSet_targetId,
provisionPermissionSet_instanceArn,
provisionPermissionSet_permissionSetArn,
provisionPermissionSet_targetType,
ProvisionPermissionSetResponse (..),
newProvisionPermissionSetResponse,
provisionPermissionSetResponse_permissionSetProvisioningStatus,
provisionPermissionSetResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
import Amazonka.SSOAdmin.Types
data ProvisionPermissionSet = ProvisionPermissionSet'
{
ProvisionPermissionSet -> Maybe Text
targetId :: Prelude.Maybe Prelude.Text,
ProvisionPermissionSet -> Text
instanceArn :: Prelude.Text,
ProvisionPermissionSet -> Text
permissionSetArn :: Prelude.Text,
ProvisionPermissionSet -> ProvisionTargetType
targetType :: ProvisionTargetType
}
deriving (ProvisionPermissionSet -> ProvisionPermissionSet -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ProvisionPermissionSet -> ProvisionPermissionSet -> Bool
$c/= :: ProvisionPermissionSet -> ProvisionPermissionSet -> Bool
== :: ProvisionPermissionSet -> ProvisionPermissionSet -> Bool
$c== :: ProvisionPermissionSet -> ProvisionPermissionSet -> Bool
Prelude.Eq, ReadPrec [ProvisionPermissionSet]
ReadPrec ProvisionPermissionSet
Int -> ReadS ProvisionPermissionSet
ReadS [ProvisionPermissionSet]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ProvisionPermissionSet]
$creadListPrec :: ReadPrec [ProvisionPermissionSet]
readPrec :: ReadPrec ProvisionPermissionSet
$creadPrec :: ReadPrec ProvisionPermissionSet
readList :: ReadS [ProvisionPermissionSet]
$creadList :: ReadS [ProvisionPermissionSet]
readsPrec :: Int -> ReadS ProvisionPermissionSet
$creadsPrec :: Int -> ReadS ProvisionPermissionSet
Prelude.Read, Int -> ProvisionPermissionSet -> ShowS
[ProvisionPermissionSet] -> ShowS
ProvisionPermissionSet -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ProvisionPermissionSet] -> ShowS
$cshowList :: [ProvisionPermissionSet] -> ShowS
show :: ProvisionPermissionSet -> String
$cshow :: ProvisionPermissionSet -> String
showsPrec :: Int -> ProvisionPermissionSet -> ShowS
$cshowsPrec :: Int -> ProvisionPermissionSet -> ShowS
Prelude.Show, forall x. Rep ProvisionPermissionSet x -> ProvisionPermissionSet
forall x. ProvisionPermissionSet -> Rep ProvisionPermissionSet x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ProvisionPermissionSet x -> ProvisionPermissionSet
$cfrom :: forall x. ProvisionPermissionSet -> Rep ProvisionPermissionSet x
Prelude.Generic)
newProvisionPermissionSet ::
Prelude.Text ->
Prelude.Text ->
ProvisionTargetType ->
ProvisionPermissionSet
newProvisionPermissionSet :: Text -> Text -> ProvisionTargetType -> ProvisionPermissionSet
newProvisionPermissionSet
Text
pInstanceArn_
Text
pPermissionSetArn_
ProvisionTargetType
pTargetType_ =
ProvisionPermissionSet'
{ $sel:targetId:ProvisionPermissionSet' :: Maybe Text
targetId = forall a. Maybe a
Prelude.Nothing,
$sel:instanceArn:ProvisionPermissionSet' :: Text
instanceArn = Text
pInstanceArn_,
$sel:permissionSetArn:ProvisionPermissionSet' :: Text
permissionSetArn = Text
pPermissionSetArn_,
$sel:targetType:ProvisionPermissionSet' :: ProvisionTargetType
targetType = ProvisionTargetType
pTargetType_
}
provisionPermissionSet_targetId :: Lens.Lens' ProvisionPermissionSet (Prelude.Maybe Prelude.Text)
provisionPermissionSet_targetId :: Lens' ProvisionPermissionSet (Maybe Text)
provisionPermissionSet_targetId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ProvisionPermissionSet' {Maybe Text
targetId :: Maybe Text
$sel:targetId:ProvisionPermissionSet' :: ProvisionPermissionSet -> Maybe Text
targetId} -> Maybe Text
targetId) (\s :: ProvisionPermissionSet
s@ProvisionPermissionSet' {} Maybe Text
a -> ProvisionPermissionSet
s {$sel:targetId:ProvisionPermissionSet' :: Maybe Text
targetId = Maybe Text
a} :: ProvisionPermissionSet)
provisionPermissionSet_instanceArn :: Lens.Lens' ProvisionPermissionSet Prelude.Text
provisionPermissionSet_instanceArn :: Lens' ProvisionPermissionSet Text
provisionPermissionSet_instanceArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ProvisionPermissionSet' {Text
instanceArn :: Text
$sel:instanceArn:ProvisionPermissionSet' :: ProvisionPermissionSet -> Text
instanceArn} -> Text
instanceArn) (\s :: ProvisionPermissionSet
s@ProvisionPermissionSet' {} Text
a -> ProvisionPermissionSet
s {$sel:instanceArn:ProvisionPermissionSet' :: Text
instanceArn = Text
a} :: ProvisionPermissionSet)
provisionPermissionSet_permissionSetArn :: Lens.Lens' ProvisionPermissionSet Prelude.Text
provisionPermissionSet_permissionSetArn :: Lens' ProvisionPermissionSet Text
provisionPermissionSet_permissionSetArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ProvisionPermissionSet' {Text
permissionSetArn :: Text
$sel:permissionSetArn:ProvisionPermissionSet' :: ProvisionPermissionSet -> Text
permissionSetArn} -> Text
permissionSetArn) (\s :: ProvisionPermissionSet
s@ProvisionPermissionSet' {} Text
a -> ProvisionPermissionSet
s {$sel:permissionSetArn:ProvisionPermissionSet' :: Text
permissionSetArn = Text
a} :: ProvisionPermissionSet)
provisionPermissionSet_targetType :: Lens.Lens' ProvisionPermissionSet ProvisionTargetType
provisionPermissionSet_targetType :: Lens' ProvisionPermissionSet ProvisionTargetType
provisionPermissionSet_targetType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ProvisionPermissionSet' {ProvisionTargetType
targetType :: ProvisionTargetType
$sel:targetType:ProvisionPermissionSet' :: ProvisionPermissionSet -> ProvisionTargetType
targetType} -> ProvisionTargetType
targetType) (\s :: ProvisionPermissionSet
s@ProvisionPermissionSet' {} ProvisionTargetType
a -> ProvisionPermissionSet
s {$sel:targetType:ProvisionPermissionSet' :: ProvisionTargetType
targetType = ProvisionTargetType
a} :: ProvisionPermissionSet)
instance Core.AWSRequest ProvisionPermissionSet where
type
AWSResponse ProvisionPermissionSet =
ProvisionPermissionSetResponse
request :: (Service -> Service)
-> ProvisionPermissionSet -> Request ProvisionPermissionSet
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 ProvisionPermissionSet
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse ProvisionPermissionSet)))
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 ->
Maybe PermissionSetProvisioningStatus
-> Int -> ProvisionPermissionSetResponse
ProvisionPermissionSetResponse'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"PermissionSetProvisioningStatus")
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 ProvisionPermissionSet where
hashWithSalt :: Int -> ProvisionPermissionSet -> Int
hashWithSalt Int
_salt ProvisionPermissionSet' {Maybe Text
Text
ProvisionTargetType
targetType :: ProvisionTargetType
permissionSetArn :: Text
instanceArn :: Text
targetId :: Maybe Text
$sel:targetType:ProvisionPermissionSet' :: ProvisionPermissionSet -> ProvisionTargetType
$sel:permissionSetArn:ProvisionPermissionSet' :: ProvisionPermissionSet -> Text
$sel:instanceArn:ProvisionPermissionSet' :: ProvisionPermissionSet -> Text
$sel:targetId:ProvisionPermissionSet' :: ProvisionPermissionSet -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
targetId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
instanceArn
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
permissionSetArn
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` ProvisionTargetType
targetType
instance Prelude.NFData ProvisionPermissionSet where
rnf :: ProvisionPermissionSet -> ()
rnf ProvisionPermissionSet' {Maybe Text
Text
ProvisionTargetType
targetType :: ProvisionTargetType
permissionSetArn :: Text
instanceArn :: Text
targetId :: Maybe Text
$sel:targetType:ProvisionPermissionSet' :: ProvisionPermissionSet -> ProvisionTargetType
$sel:permissionSetArn:ProvisionPermissionSet' :: ProvisionPermissionSet -> Text
$sel:instanceArn:ProvisionPermissionSet' :: ProvisionPermissionSet -> Text
$sel:targetId:ProvisionPermissionSet' :: ProvisionPermissionSet -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
targetId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
instanceArn
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
permissionSetArn
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf ProvisionTargetType
targetType
instance Data.ToHeaders ProvisionPermissionSet where
toHeaders :: ProvisionPermissionSet -> ResponseHeaders
toHeaders =
forall a b. a -> b -> a
Prelude.const
( forall a. Monoid a => [a] -> a
Prelude.mconcat
[ HeaderName
"X-Amz-Target"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"SWBExternalService.ProvisionPermissionSet" ::
Prelude.ByteString
),
HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance Data.ToJSON ProvisionPermissionSet where
toJSON :: ProvisionPermissionSet -> Value
toJSON ProvisionPermissionSet' {Maybe Text
Text
ProvisionTargetType
targetType :: ProvisionTargetType
permissionSetArn :: Text
instanceArn :: Text
targetId :: Maybe Text
$sel:targetType:ProvisionPermissionSet' :: ProvisionPermissionSet -> ProvisionTargetType
$sel:permissionSetArn:ProvisionPermissionSet' :: ProvisionPermissionSet -> Text
$sel:instanceArn:ProvisionPermissionSet' :: ProvisionPermissionSet -> Text
$sel:targetId:ProvisionPermissionSet' :: ProvisionPermissionSet -> Maybe Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"TargetId" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
targetId,
forall a. a -> Maybe a
Prelude.Just (Key
"InstanceArn" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
instanceArn),
forall a. a -> Maybe a
Prelude.Just
(Key
"PermissionSetArn" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
permissionSetArn),
forall a. a -> Maybe a
Prelude.Just (Key
"TargetType" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= ProvisionTargetType
targetType)
]
)
instance Data.ToPath ProvisionPermissionSet where
toPath :: ProvisionPermissionSet -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery ProvisionPermissionSet where
toQuery :: ProvisionPermissionSet -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data ProvisionPermissionSetResponse = ProvisionPermissionSetResponse'
{
ProvisionPermissionSetResponse
-> Maybe PermissionSetProvisioningStatus
permissionSetProvisioningStatus :: Prelude.Maybe PermissionSetProvisioningStatus,
ProvisionPermissionSetResponse -> Int
httpStatus :: Prelude.Int
}
deriving (ProvisionPermissionSetResponse
-> ProvisionPermissionSetResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ProvisionPermissionSetResponse
-> ProvisionPermissionSetResponse -> Bool
$c/= :: ProvisionPermissionSetResponse
-> ProvisionPermissionSetResponse -> Bool
== :: ProvisionPermissionSetResponse
-> ProvisionPermissionSetResponse -> Bool
$c== :: ProvisionPermissionSetResponse
-> ProvisionPermissionSetResponse -> Bool
Prelude.Eq, ReadPrec [ProvisionPermissionSetResponse]
ReadPrec ProvisionPermissionSetResponse
Int -> ReadS ProvisionPermissionSetResponse
ReadS [ProvisionPermissionSetResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ProvisionPermissionSetResponse]
$creadListPrec :: ReadPrec [ProvisionPermissionSetResponse]
readPrec :: ReadPrec ProvisionPermissionSetResponse
$creadPrec :: ReadPrec ProvisionPermissionSetResponse
readList :: ReadS [ProvisionPermissionSetResponse]
$creadList :: ReadS [ProvisionPermissionSetResponse]
readsPrec :: Int -> ReadS ProvisionPermissionSetResponse
$creadsPrec :: Int -> ReadS ProvisionPermissionSetResponse
Prelude.Read, Int -> ProvisionPermissionSetResponse -> ShowS
[ProvisionPermissionSetResponse] -> ShowS
ProvisionPermissionSetResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ProvisionPermissionSetResponse] -> ShowS
$cshowList :: [ProvisionPermissionSetResponse] -> ShowS
show :: ProvisionPermissionSetResponse -> String
$cshow :: ProvisionPermissionSetResponse -> String
showsPrec :: Int -> ProvisionPermissionSetResponse -> ShowS
$cshowsPrec :: Int -> ProvisionPermissionSetResponse -> ShowS
Prelude.Show, forall x.
Rep ProvisionPermissionSetResponse x
-> ProvisionPermissionSetResponse
forall x.
ProvisionPermissionSetResponse
-> Rep ProvisionPermissionSetResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep ProvisionPermissionSetResponse x
-> ProvisionPermissionSetResponse
$cfrom :: forall x.
ProvisionPermissionSetResponse
-> Rep ProvisionPermissionSetResponse x
Prelude.Generic)
newProvisionPermissionSetResponse ::
Prelude.Int ->
ProvisionPermissionSetResponse
newProvisionPermissionSetResponse :: Int -> ProvisionPermissionSetResponse
newProvisionPermissionSetResponse Int
pHttpStatus_ =
ProvisionPermissionSetResponse'
{ $sel:permissionSetProvisioningStatus:ProvisionPermissionSetResponse' :: Maybe PermissionSetProvisioningStatus
permissionSetProvisioningStatus =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:ProvisionPermissionSetResponse' :: Int
httpStatus = Int
pHttpStatus_
}
provisionPermissionSetResponse_permissionSetProvisioningStatus :: Lens.Lens' ProvisionPermissionSetResponse (Prelude.Maybe PermissionSetProvisioningStatus)
provisionPermissionSetResponse_permissionSetProvisioningStatus :: Lens'
ProvisionPermissionSetResponse
(Maybe PermissionSetProvisioningStatus)
provisionPermissionSetResponse_permissionSetProvisioningStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ProvisionPermissionSetResponse' {Maybe PermissionSetProvisioningStatus
permissionSetProvisioningStatus :: Maybe PermissionSetProvisioningStatus
$sel:permissionSetProvisioningStatus:ProvisionPermissionSetResponse' :: ProvisionPermissionSetResponse
-> Maybe PermissionSetProvisioningStatus
permissionSetProvisioningStatus} -> Maybe PermissionSetProvisioningStatus
permissionSetProvisioningStatus) (\s :: ProvisionPermissionSetResponse
s@ProvisionPermissionSetResponse' {} Maybe PermissionSetProvisioningStatus
a -> ProvisionPermissionSetResponse
s {$sel:permissionSetProvisioningStatus:ProvisionPermissionSetResponse' :: Maybe PermissionSetProvisioningStatus
permissionSetProvisioningStatus = Maybe PermissionSetProvisioningStatus
a} :: ProvisionPermissionSetResponse)
provisionPermissionSetResponse_httpStatus :: Lens.Lens' ProvisionPermissionSetResponse Prelude.Int
provisionPermissionSetResponse_httpStatus :: Lens' ProvisionPermissionSetResponse Int
provisionPermissionSetResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ProvisionPermissionSetResponse' {Int
httpStatus :: Int
$sel:httpStatus:ProvisionPermissionSetResponse' :: ProvisionPermissionSetResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: ProvisionPermissionSetResponse
s@ProvisionPermissionSetResponse' {} Int
a -> ProvisionPermissionSetResponse
s {$sel:httpStatus:ProvisionPermissionSetResponse' :: Int
httpStatus = Int
a} :: ProvisionPermissionSetResponse)
instance
Prelude.NFData
ProvisionPermissionSetResponse
where
rnf :: ProvisionPermissionSetResponse -> ()
rnf ProvisionPermissionSetResponse' {Int
Maybe PermissionSetProvisioningStatus
httpStatus :: Int
permissionSetProvisioningStatus :: Maybe PermissionSetProvisioningStatus
$sel:httpStatus:ProvisionPermissionSetResponse' :: ProvisionPermissionSetResponse -> Int
$sel:permissionSetProvisioningStatus:ProvisionPermissionSetResponse' :: ProvisionPermissionSetResponse
-> Maybe PermissionSetProvisioningStatus
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe PermissionSetProvisioningStatus
permissionSetProvisioningStatus
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus