{-# 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.ServiceCatalog.DisassociatePrincipalFromPortfolio
(
DisassociatePrincipalFromPortfolio (..),
newDisassociatePrincipalFromPortfolio,
disassociatePrincipalFromPortfolio_acceptLanguage,
disassociatePrincipalFromPortfolio_principalType,
disassociatePrincipalFromPortfolio_portfolioId,
disassociatePrincipalFromPortfolio_principalARN,
DisassociatePrincipalFromPortfolioResponse (..),
newDisassociatePrincipalFromPortfolioResponse,
disassociatePrincipalFromPortfolioResponse_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.ServiceCatalog.Types
data DisassociatePrincipalFromPortfolio = DisassociatePrincipalFromPortfolio'
{
DisassociatePrincipalFromPortfolio -> Maybe Text
acceptLanguage :: Prelude.Maybe Prelude.Text,
DisassociatePrincipalFromPortfolio -> Maybe PrincipalType
principalType :: Prelude.Maybe PrincipalType,
DisassociatePrincipalFromPortfolio -> Text
portfolioId :: Prelude.Text,
DisassociatePrincipalFromPortfolio -> Text
principalARN :: Prelude.Text
}
deriving (DisassociatePrincipalFromPortfolio
-> DisassociatePrincipalFromPortfolio -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DisassociatePrincipalFromPortfolio
-> DisassociatePrincipalFromPortfolio -> Bool
$c/= :: DisassociatePrincipalFromPortfolio
-> DisassociatePrincipalFromPortfolio -> Bool
== :: DisassociatePrincipalFromPortfolio
-> DisassociatePrincipalFromPortfolio -> Bool
$c== :: DisassociatePrincipalFromPortfolio
-> DisassociatePrincipalFromPortfolio -> Bool
Prelude.Eq, ReadPrec [DisassociatePrincipalFromPortfolio]
ReadPrec DisassociatePrincipalFromPortfolio
Int -> ReadS DisassociatePrincipalFromPortfolio
ReadS [DisassociatePrincipalFromPortfolio]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DisassociatePrincipalFromPortfolio]
$creadListPrec :: ReadPrec [DisassociatePrincipalFromPortfolio]
readPrec :: ReadPrec DisassociatePrincipalFromPortfolio
$creadPrec :: ReadPrec DisassociatePrincipalFromPortfolio
readList :: ReadS [DisassociatePrincipalFromPortfolio]
$creadList :: ReadS [DisassociatePrincipalFromPortfolio]
readsPrec :: Int -> ReadS DisassociatePrincipalFromPortfolio
$creadsPrec :: Int -> ReadS DisassociatePrincipalFromPortfolio
Prelude.Read, Int -> DisassociatePrincipalFromPortfolio -> ShowS
[DisassociatePrincipalFromPortfolio] -> ShowS
DisassociatePrincipalFromPortfolio -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DisassociatePrincipalFromPortfolio] -> ShowS
$cshowList :: [DisassociatePrincipalFromPortfolio] -> ShowS
show :: DisassociatePrincipalFromPortfolio -> String
$cshow :: DisassociatePrincipalFromPortfolio -> String
showsPrec :: Int -> DisassociatePrincipalFromPortfolio -> ShowS
$cshowsPrec :: Int -> DisassociatePrincipalFromPortfolio -> ShowS
Prelude.Show, forall x.
Rep DisassociatePrincipalFromPortfolio x
-> DisassociatePrincipalFromPortfolio
forall x.
DisassociatePrincipalFromPortfolio
-> Rep DisassociatePrincipalFromPortfolio x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DisassociatePrincipalFromPortfolio x
-> DisassociatePrincipalFromPortfolio
$cfrom :: forall x.
DisassociatePrincipalFromPortfolio
-> Rep DisassociatePrincipalFromPortfolio x
Prelude.Generic)
newDisassociatePrincipalFromPortfolio ::
Prelude.Text ->
Prelude.Text ->
DisassociatePrincipalFromPortfolio
newDisassociatePrincipalFromPortfolio :: Text -> Text -> DisassociatePrincipalFromPortfolio
newDisassociatePrincipalFromPortfolio
Text
pPortfolioId_
Text
pPrincipalARN_ =
DisassociatePrincipalFromPortfolio'
{ $sel:acceptLanguage:DisassociatePrincipalFromPortfolio' :: Maybe Text
acceptLanguage =
forall a. Maybe a
Prelude.Nothing,
$sel:principalType:DisassociatePrincipalFromPortfolio' :: Maybe PrincipalType
principalType = forall a. Maybe a
Prelude.Nothing,
$sel:portfolioId:DisassociatePrincipalFromPortfolio' :: Text
portfolioId = Text
pPortfolioId_,
$sel:principalARN:DisassociatePrincipalFromPortfolio' :: Text
principalARN = Text
pPrincipalARN_
}
disassociatePrincipalFromPortfolio_acceptLanguage :: Lens.Lens' DisassociatePrincipalFromPortfolio (Prelude.Maybe Prelude.Text)
disassociatePrincipalFromPortfolio_acceptLanguage :: Lens' DisassociatePrincipalFromPortfolio (Maybe Text)
disassociatePrincipalFromPortfolio_acceptLanguage = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DisassociatePrincipalFromPortfolio' {Maybe Text
acceptLanguage :: Maybe Text
$sel:acceptLanguage:DisassociatePrincipalFromPortfolio' :: DisassociatePrincipalFromPortfolio -> Maybe Text
acceptLanguage} -> Maybe Text
acceptLanguage) (\s :: DisassociatePrincipalFromPortfolio
s@DisassociatePrincipalFromPortfolio' {} Maybe Text
a -> DisassociatePrincipalFromPortfolio
s {$sel:acceptLanguage:DisassociatePrincipalFromPortfolio' :: Maybe Text
acceptLanguage = Maybe Text
a} :: DisassociatePrincipalFromPortfolio)
disassociatePrincipalFromPortfolio_principalType :: Lens.Lens' DisassociatePrincipalFromPortfolio (Prelude.Maybe PrincipalType)
disassociatePrincipalFromPortfolio_principalType :: Lens' DisassociatePrincipalFromPortfolio (Maybe PrincipalType)
disassociatePrincipalFromPortfolio_principalType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DisassociatePrincipalFromPortfolio' {Maybe PrincipalType
principalType :: Maybe PrincipalType
$sel:principalType:DisassociatePrincipalFromPortfolio' :: DisassociatePrincipalFromPortfolio -> Maybe PrincipalType
principalType} -> Maybe PrincipalType
principalType) (\s :: DisassociatePrincipalFromPortfolio
s@DisassociatePrincipalFromPortfolio' {} Maybe PrincipalType
a -> DisassociatePrincipalFromPortfolio
s {$sel:principalType:DisassociatePrincipalFromPortfolio' :: Maybe PrincipalType
principalType = Maybe PrincipalType
a} :: DisassociatePrincipalFromPortfolio)
disassociatePrincipalFromPortfolio_portfolioId :: Lens.Lens' DisassociatePrincipalFromPortfolio Prelude.Text
disassociatePrincipalFromPortfolio_portfolioId :: Lens' DisassociatePrincipalFromPortfolio Text
disassociatePrincipalFromPortfolio_portfolioId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DisassociatePrincipalFromPortfolio' {Text
portfolioId :: Text
$sel:portfolioId:DisassociatePrincipalFromPortfolio' :: DisassociatePrincipalFromPortfolio -> Text
portfolioId} -> Text
portfolioId) (\s :: DisassociatePrincipalFromPortfolio
s@DisassociatePrincipalFromPortfolio' {} Text
a -> DisassociatePrincipalFromPortfolio
s {$sel:portfolioId:DisassociatePrincipalFromPortfolio' :: Text
portfolioId = Text
a} :: DisassociatePrincipalFromPortfolio)
disassociatePrincipalFromPortfolio_principalARN :: Lens.Lens' DisassociatePrincipalFromPortfolio Prelude.Text
disassociatePrincipalFromPortfolio_principalARN :: Lens' DisassociatePrincipalFromPortfolio Text
disassociatePrincipalFromPortfolio_principalARN = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DisassociatePrincipalFromPortfolio' {Text
principalARN :: Text
$sel:principalARN:DisassociatePrincipalFromPortfolio' :: DisassociatePrincipalFromPortfolio -> Text
principalARN} -> Text
principalARN) (\s :: DisassociatePrincipalFromPortfolio
s@DisassociatePrincipalFromPortfolio' {} Text
a -> DisassociatePrincipalFromPortfolio
s {$sel:principalARN:DisassociatePrincipalFromPortfolio' :: Text
principalARN = Text
a} :: DisassociatePrincipalFromPortfolio)
instance
Core.AWSRequest
DisassociatePrincipalFromPortfolio
where
type
AWSResponse DisassociatePrincipalFromPortfolio =
DisassociatePrincipalFromPortfolioResponse
request :: (Service -> Service)
-> DisassociatePrincipalFromPortfolio
-> Request DisassociatePrincipalFromPortfolio
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 DisassociatePrincipalFromPortfolio
-> ClientResponse ClientBody
-> m (Either
Error
(ClientResponse (AWSResponse DisassociatePrincipalFromPortfolio)))
response =
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> () -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveEmpty
( \Int
s ResponseHeaders
h ()
x ->
Int -> DisassociatePrincipalFromPortfolioResponse
DisassociatePrincipalFromPortfolioResponse'
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))
)
instance
Prelude.Hashable
DisassociatePrincipalFromPortfolio
where
hashWithSalt :: Int -> DisassociatePrincipalFromPortfolio -> Int
hashWithSalt
Int
_salt
DisassociatePrincipalFromPortfolio' {Maybe Text
Maybe PrincipalType
Text
principalARN :: Text
portfolioId :: Text
principalType :: Maybe PrincipalType
acceptLanguage :: Maybe Text
$sel:principalARN:DisassociatePrincipalFromPortfolio' :: DisassociatePrincipalFromPortfolio -> Text
$sel:portfolioId:DisassociatePrincipalFromPortfolio' :: DisassociatePrincipalFromPortfolio -> Text
$sel:principalType:DisassociatePrincipalFromPortfolio' :: DisassociatePrincipalFromPortfolio -> Maybe PrincipalType
$sel:acceptLanguage:DisassociatePrincipalFromPortfolio' :: DisassociatePrincipalFromPortfolio -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
acceptLanguage
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe PrincipalType
principalType
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
portfolioId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
principalARN
instance
Prelude.NFData
DisassociatePrincipalFromPortfolio
where
rnf :: DisassociatePrincipalFromPortfolio -> ()
rnf DisassociatePrincipalFromPortfolio' {Maybe Text
Maybe PrincipalType
Text
principalARN :: Text
portfolioId :: Text
principalType :: Maybe PrincipalType
acceptLanguage :: Maybe Text
$sel:principalARN:DisassociatePrincipalFromPortfolio' :: DisassociatePrincipalFromPortfolio -> Text
$sel:portfolioId:DisassociatePrincipalFromPortfolio' :: DisassociatePrincipalFromPortfolio -> Text
$sel:principalType:DisassociatePrincipalFromPortfolio' :: DisassociatePrincipalFromPortfolio -> Maybe PrincipalType
$sel:acceptLanguage:DisassociatePrincipalFromPortfolio' :: DisassociatePrincipalFromPortfolio -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
acceptLanguage
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe PrincipalType
principalType
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
portfolioId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
principalARN
instance
Data.ToHeaders
DisassociatePrincipalFromPortfolio
where
toHeaders :: DisassociatePrincipalFromPortfolio -> 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
"AWS242ServiceCatalogService.DisassociatePrincipalFromPortfolio" ::
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
DisassociatePrincipalFromPortfolio
where
toJSON :: DisassociatePrincipalFromPortfolio -> Value
toJSON DisassociatePrincipalFromPortfolio' {Maybe Text
Maybe PrincipalType
Text
principalARN :: Text
portfolioId :: Text
principalType :: Maybe PrincipalType
acceptLanguage :: Maybe Text
$sel:principalARN:DisassociatePrincipalFromPortfolio' :: DisassociatePrincipalFromPortfolio -> Text
$sel:portfolioId:DisassociatePrincipalFromPortfolio' :: DisassociatePrincipalFromPortfolio -> Text
$sel:principalType:DisassociatePrincipalFromPortfolio' :: DisassociatePrincipalFromPortfolio -> Maybe PrincipalType
$sel:acceptLanguage:DisassociatePrincipalFromPortfolio' :: DisassociatePrincipalFromPortfolio -> Maybe Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"AcceptLanguage" 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
acceptLanguage,
(Key
"PrincipalType" 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 PrincipalType
principalType,
forall a. a -> Maybe a
Prelude.Just (Key
"PortfolioId" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
portfolioId),
forall a. a -> Maybe a
Prelude.Just (Key
"PrincipalARN" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
principalARN)
]
)
instance
Data.ToPath
DisassociatePrincipalFromPortfolio
where
toPath :: DisassociatePrincipalFromPortfolio -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance
Data.ToQuery
DisassociatePrincipalFromPortfolio
where
toQuery :: DisassociatePrincipalFromPortfolio -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data DisassociatePrincipalFromPortfolioResponse = DisassociatePrincipalFromPortfolioResponse'
{
DisassociatePrincipalFromPortfolioResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DisassociatePrincipalFromPortfolioResponse
-> DisassociatePrincipalFromPortfolioResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DisassociatePrincipalFromPortfolioResponse
-> DisassociatePrincipalFromPortfolioResponse -> Bool
$c/= :: DisassociatePrincipalFromPortfolioResponse
-> DisassociatePrincipalFromPortfolioResponse -> Bool
== :: DisassociatePrincipalFromPortfolioResponse
-> DisassociatePrincipalFromPortfolioResponse -> Bool
$c== :: DisassociatePrincipalFromPortfolioResponse
-> DisassociatePrincipalFromPortfolioResponse -> Bool
Prelude.Eq, ReadPrec [DisassociatePrincipalFromPortfolioResponse]
ReadPrec DisassociatePrincipalFromPortfolioResponse
Int -> ReadS DisassociatePrincipalFromPortfolioResponse
ReadS [DisassociatePrincipalFromPortfolioResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DisassociatePrincipalFromPortfolioResponse]
$creadListPrec :: ReadPrec [DisassociatePrincipalFromPortfolioResponse]
readPrec :: ReadPrec DisassociatePrincipalFromPortfolioResponse
$creadPrec :: ReadPrec DisassociatePrincipalFromPortfolioResponse
readList :: ReadS [DisassociatePrincipalFromPortfolioResponse]
$creadList :: ReadS [DisassociatePrincipalFromPortfolioResponse]
readsPrec :: Int -> ReadS DisassociatePrincipalFromPortfolioResponse
$creadsPrec :: Int -> ReadS DisassociatePrincipalFromPortfolioResponse
Prelude.Read, Int -> DisassociatePrincipalFromPortfolioResponse -> ShowS
[DisassociatePrincipalFromPortfolioResponse] -> ShowS
DisassociatePrincipalFromPortfolioResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DisassociatePrincipalFromPortfolioResponse] -> ShowS
$cshowList :: [DisassociatePrincipalFromPortfolioResponse] -> ShowS
show :: DisassociatePrincipalFromPortfolioResponse -> String
$cshow :: DisassociatePrincipalFromPortfolioResponse -> String
showsPrec :: Int -> DisassociatePrincipalFromPortfolioResponse -> ShowS
$cshowsPrec :: Int -> DisassociatePrincipalFromPortfolioResponse -> ShowS
Prelude.Show, forall x.
Rep DisassociatePrincipalFromPortfolioResponse x
-> DisassociatePrincipalFromPortfolioResponse
forall x.
DisassociatePrincipalFromPortfolioResponse
-> Rep DisassociatePrincipalFromPortfolioResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DisassociatePrincipalFromPortfolioResponse x
-> DisassociatePrincipalFromPortfolioResponse
$cfrom :: forall x.
DisassociatePrincipalFromPortfolioResponse
-> Rep DisassociatePrincipalFromPortfolioResponse x
Prelude.Generic)
newDisassociatePrincipalFromPortfolioResponse ::
Prelude.Int ->
DisassociatePrincipalFromPortfolioResponse
newDisassociatePrincipalFromPortfolioResponse :: Int -> DisassociatePrincipalFromPortfolioResponse
newDisassociatePrincipalFromPortfolioResponse
Int
pHttpStatus_ =
DisassociatePrincipalFromPortfolioResponse'
{ $sel:httpStatus:DisassociatePrincipalFromPortfolioResponse' :: Int
httpStatus =
Int
pHttpStatus_
}
disassociatePrincipalFromPortfolioResponse_httpStatus :: Lens.Lens' DisassociatePrincipalFromPortfolioResponse Prelude.Int
disassociatePrincipalFromPortfolioResponse_httpStatus :: Lens' DisassociatePrincipalFromPortfolioResponse Int
disassociatePrincipalFromPortfolioResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DisassociatePrincipalFromPortfolioResponse' {Int
httpStatus :: Int
$sel:httpStatus:DisassociatePrincipalFromPortfolioResponse' :: DisassociatePrincipalFromPortfolioResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DisassociatePrincipalFromPortfolioResponse
s@DisassociatePrincipalFromPortfolioResponse' {} Int
a -> DisassociatePrincipalFromPortfolioResponse
s {$sel:httpStatus:DisassociatePrincipalFromPortfolioResponse' :: Int
httpStatus = Int
a} :: DisassociatePrincipalFromPortfolioResponse)
instance
Prelude.NFData
DisassociatePrincipalFromPortfolioResponse
where
rnf :: DisassociatePrincipalFromPortfolioResponse -> ()
rnf DisassociatePrincipalFromPortfolioResponse' {Int
httpStatus :: Int
$sel:httpStatus:DisassociatePrincipalFromPortfolioResponse' :: DisassociatePrincipalFromPortfolioResponse -> Int
..} =
forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus