{-# 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.OAM.GetSinkPolicy
(
GetSinkPolicy (..),
newGetSinkPolicy,
getSinkPolicy_sinkIdentifier,
GetSinkPolicyResponse (..),
newGetSinkPolicyResponse,
getSinkPolicyResponse_policy,
getSinkPolicyResponse_sinkArn,
getSinkPolicyResponse_sinkId,
getSinkPolicyResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.OAM.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data GetSinkPolicy = GetSinkPolicy'
{
GetSinkPolicy -> Text
sinkIdentifier :: Prelude.Text
}
deriving (GetSinkPolicy -> GetSinkPolicy -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetSinkPolicy -> GetSinkPolicy -> Bool
$c/= :: GetSinkPolicy -> GetSinkPolicy -> Bool
== :: GetSinkPolicy -> GetSinkPolicy -> Bool
$c== :: GetSinkPolicy -> GetSinkPolicy -> Bool
Prelude.Eq, ReadPrec [GetSinkPolicy]
ReadPrec GetSinkPolicy
Int -> ReadS GetSinkPolicy
ReadS [GetSinkPolicy]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetSinkPolicy]
$creadListPrec :: ReadPrec [GetSinkPolicy]
readPrec :: ReadPrec GetSinkPolicy
$creadPrec :: ReadPrec GetSinkPolicy
readList :: ReadS [GetSinkPolicy]
$creadList :: ReadS [GetSinkPolicy]
readsPrec :: Int -> ReadS GetSinkPolicy
$creadsPrec :: Int -> ReadS GetSinkPolicy
Prelude.Read, Int -> GetSinkPolicy -> ShowS
[GetSinkPolicy] -> ShowS
GetSinkPolicy -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetSinkPolicy] -> ShowS
$cshowList :: [GetSinkPolicy] -> ShowS
show :: GetSinkPolicy -> String
$cshow :: GetSinkPolicy -> String
showsPrec :: Int -> GetSinkPolicy -> ShowS
$cshowsPrec :: Int -> GetSinkPolicy -> ShowS
Prelude.Show, forall x. Rep GetSinkPolicy x -> GetSinkPolicy
forall x. GetSinkPolicy -> Rep GetSinkPolicy x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GetSinkPolicy x -> GetSinkPolicy
$cfrom :: forall x. GetSinkPolicy -> Rep GetSinkPolicy x
Prelude.Generic)
newGetSinkPolicy ::
Prelude.Text ->
GetSinkPolicy
newGetSinkPolicy :: Text -> GetSinkPolicy
newGetSinkPolicy Text
pSinkIdentifier_ =
GetSinkPolicy' {$sel:sinkIdentifier:GetSinkPolicy' :: Text
sinkIdentifier = Text
pSinkIdentifier_}
getSinkPolicy_sinkIdentifier :: Lens.Lens' GetSinkPolicy Prelude.Text
getSinkPolicy_sinkIdentifier :: Lens' GetSinkPolicy Text
getSinkPolicy_sinkIdentifier = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetSinkPolicy' {Text
sinkIdentifier :: Text
$sel:sinkIdentifier:GetSinkPolicy' :: GetSinkPolicy -> Text
sinkIdentifier} -> Text
sinkIdentifier) (\s :: GetSinkPolicy
s@GetSinkPolicy' {} Text
a -> GetSinkPolicy
s {$sel:sinkIdentifier:GetSinkPolicy' :: Text
sinkIdentifier = Text
a} :: GetSinkPolicy)
instance Core.AWSRequest GetSinkPolicy where
type
AWSResponse GetSinkPolicy =
GetSinkPolicyResponse
request :: (Service -> Service) -> GetSinkPolicy -> Request GetSinkPolicy
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 GetSinkPolicy
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse GetSinkPolicy)))
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 Text
-> Maybe Text -> Maybe Text -> Int -> GetSinkPolicyResponse
GetSinkPolicyResponse'
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
"Policy")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"SinkArn")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"SinkId")
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 GetSinkPolicy where
hashWithSalt :: Int -> GetSinkPolicy -> Int
hashWithSalt Int
_salt GetSinkPolicy' {Text
sinkIdentifier :: Text
$sel:sinkIdentifier:GetSinkPolicy' :: GetSinkPolicy -> Text
..} =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
sinkIdentifier
instance Prelude.NFData GetSinkPolicy where
rnf :: GetSinkPolicy -> ()
rnf GetSinkPolicy' {Text
sinkIdentifier :: Text
$sel:sinkIdentifier:GetSinkPolicy' :: GetSinkPolicy -> Text
..} = forall a. NFData a => a -> ()
Prelude.rnf Text
sinkIdentifier
instance Data.ToHeaders GetSinkPolicy where
toHeaders :: GetSinkPolicy -> 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 GetSinkPolicy where
toJSON :: GetSinkPolicy -> Value
toJSON GetSinkPolicy' {Text
sinkIdentifier :: Text
$sel:sinkIdentifier:GetSinkPolicy' :: GetSinkPolicy -> Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ forall a. a -> Maybe a
Prelude.Just
(Key
"SinkIdentifier" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
sinkIdentifier)
]
)
instance Data.ToPath GetSinkPolicy where
toPath :: GetSinkPolicy -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/GetSinkPolicy"
instance Data.ToQuery GetSinkPolicy where
toQuery :: GetSinkPolicy -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data GetSinkPolicyResponse = GetSinkPolicyResponse'
{
GetSinkPolicyResponse -> Maybe Text
policy :: Prelude.Maybe Prelude.Text,
GetSinkPolicyResponse -> Maybe Text
sinkArn :: Prelude.Maybe Prelude.Text,
GetSinkPolicyResponse -> Maybe Text
sinkId :: Prelude.Maybe Prelude.Text,
GetSinkPolicyResponse -> Int
httpStatus :: Prelude.Int
}
deriving (GetSinkPolicyResponse -> GetSinkPolicyResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetSinkPolicyResponse -> GetSinkPolicyResponse -> Bool
$c/= :: GetSinkPolicyResponse -> GetSinkPolicyResponse -> Bool
== :: GetSinkPolicyResponse -> GetSinkPolicyResponse -> Bool
$c== :: GetSinkPolicyResponse -> GetSinkPolicyResponse -> Bool
Prelude.Eq, ReadPrec [GetSinkPolicyResponse]
ReadPrec GetSinkPolicyResponse
Int -> ReadS GetSinkPolicyResponse
ReadS [GetSinkPolicyResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetSinkPolicyResponse]
$creadListPrec :: ReadPrec [GetSinkPolicyResponse]
readPrec :: ReadPrec GetSinkPolicyResponse
$creadPrec :: ReadPrec GetSinkPolicyResponse
readList :: ReadS [GetSinkPolicyResponse]
$creadList :: ReadS [GetSinkPolicyResponse]
readsPrec :: Int -> ReadS GetSinkPolicyResponse
$creadsPrec :: Int -> ReadS GetSinkPolicyResponse
Prelude.Read, Int -> GetSinkPolicyResponse -> ShowS
[GetSinkPolicyResponse] -> ShowS
GetSinkPolicyResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetSinkPolicyResponse] -> ShowS
$cshowList :: [GetSinkPolicyResponse] -> ShowS
show :: GetSinkPolicyResponse -> String
$cshow :: GetSinkPolicyResponse -> String
showsPrec :: Int -> GetSinkPolicyResponse -> ShowS
$cshowsPrec :: Int -> GetSinkPolicyResponse -> ShowS
Prelude.Show, forall x. Rep GetSinkPolicyResponse x -> GetSinkPolicyResponse
forall x. GetSinkPolicyResponse -> Rep GetSinkPolicyResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GetSinkPolicyResponse x -> GetSinkPolicyResponse
$cfrom :: forall x. GetSinkPolicyResponse -> Rep GetSinkPolicyResponse x
Prelude.Generic)
newGetSinkPolicyResponse ::
Prelude.Int ->
GetSinkPolicyResponse
newGetSinkPolicyResponse :: Int -> GetSinkPolicyResponse
newGetSinkPolicyResponse Int
pHttpStatus_ =
GetSinkPolicyResponse'
{ $sel:policy:GetSinkPolicyResponse' :: Maybe Text
policy = forall a. Maybe a
Prelude.Nothing,
$sel:sinkArn:GetSinkPolicyResponse' :: Maybe Text
sinkArn = forall a. Maybe a
Prelude.Nothing,
$sel:sinkId:GetSinkPolicyResponse' :: Maybe Text
sinkId = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:GetSinkPolicyResponse' :: Int
httpStatus = Int
pHttpStatus_
}
getSinkPolicyResponse_policy :: Lens.Lens' GetSinkPolicyResponse (Prelude.Maybe Prelude.Text)
getSinkPolicyResponse_policy :: Lens' GetSinkPolicyResponse (Maybe Text)
getSinkPolicyResponse_policy = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetSinkPolicyResponse' {Maybe Text
policy :: Maybe Text
$sel:policy:GetSinkPolicyResponse' :: GetSinkPolicyResponse -> Maybe Text
policy} -> Maybe Text
policy) (\s :: GetSinkPolicyResponse
s@GetSinkPolicyResponse' {} Maybe Text
a -> GetSinkPolicyResponse
s {$sel:policy:GetSinkPolicyResponse' :: Maybe Text
policy = Maybe Text
a} :: GetSinkPolicyResponse)
getSinkPolicyResponse_sinkArn :: Lens.Lens' GetSinkPolicyResponse (Prelude.Maybe Prelude.Text)
getSinkPolicyResponse_sinkArn :: Lens' GetSinkPolicyResponse (Maybe Text)
getSinkPolicyResponse_sinkArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetSinkPolicyResponse' {Maybe Text
sinkArn :: Maybe Text
$sel:sinkArn:GetSinkPolicyResponse' :: GetSinkPolicyResponse -> Maybe Text
sinkArn} -> Maybe Text
sinkArn) (\s :: GetSinkPolicyResponse
s@GetSinkPolicyResponse' {} Maybe Text
a -> GetSinkPolicyResponse
s {$sel:sinkArn:GetSinkPolicyResponse' :: Maybe Text
sinkArn = Maybe Text
a} :: GetSinkPolicyResponse)
getSinkPolicyResponse_sinkId :: Lens.Lens' GetSinkPolicyResponse (Prelude.Maybe Prelude.Text)
getSinkPolicyResponse_sinkId :: Lens' GetSinkPolicyResponse (Maybe Text)
getSinkPolicyResponse_sinkId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetSinkPolicyResponse' {Maybe Text
sinkId :: Maybe Text
$sel:sinkId:GetSinkPolicyResponse' :: GetSinkPolicyResponse -> Maybe Text
sinkId} -> Maybe Text
sinkId) (\s :: GetSinkPolicyResponse
s@GetSinkPolicyResponse' {} Maybe Text
a -> GetSinkPolicyResponse
s {$sel:sinkId:GetSinkPolicyResponse' :: Maybe Text
sinkId = Maybe Text
a} :: GetSinkPolicyResponse)
getSinkPolicyResponse_httpStatus :: Lens.Lens' GetSinkPolicyResponse Prelude.Int
getSinkPolicyResponse_httpStatus :: Lens' GetSinkPolicyResponse Int
getSinkPolicyResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetSinkPolicyResponse' {Int
httpStatus :: Int
$sel:httpStatus:GetSinkPolicyResponse' :: GetSinkPolicyResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: GetSinkPolicyResponse
s@GetSinkPolicyResponse' {} Int
a -> GetSinkPolicyResponse
s {$sel:httpStatus:GetSinkPolicyResponse' :: Int
httpStatus = Int
a} :: GetSinkPolicyResponse)
instance Prelude.NFData GetSinkPolicyResponse where
rnf :: GetSinkPolicyResponse -> ()
rnf GetSinkPolicyResponse' {Int
Maybe Text
httpStatus :: Int
sinkId :: Maybe Text
sinkArn :: Maybe Text
policy :: Maybe Text
$sel:httpStatus:GetSinkPolicyResponse' :: GetSinkPolicyResponse -> Int
$sel:sinkId:GetSinkPolicyResponse' :: GetSinkPolicyResponse -> Maybe Text
$sel:sinkArn:GetSinkPolicyResponse' :: GetSinkPolicyResponse -> Maybe Text
$sel:policy:GetSinkPolicyResponse' :: GetSinkPolicyResponse -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
policy
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
sinkArn
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
sinkId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus