{-# 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.GetSink
(
GetSink (..),
newGetSink,
getSink_identifier,
GetSinkResponse (..),
newGetSinkResponse,
getSinkResponse_arn,
getSinkResponse_id,
getSinkResponse_name,
getSinkResponse_tags,
getSinkResponse_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 GetSink = GetSink'
{
GetSink -> Text
identifier :: Prelude.Text
}
deriving (GetSink -> GetSink -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetSink -> GetSink -> Bool
$c/= :: GetSink -> GetSink -> Bool
== :: GetSink -> GetSink -> Bool
$c== :: GetSink -> GetSink -> Bool
Prelude.Eq, ReadPrec [GetSink]
ReadPrec GetSink
Int -> ReadS GetSink
ReadS [GetSink]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetSink]
$creadListPrec :: ReadPrec [GetSink]
readPrec :: ReadPrec GetSink
$creadPrec :: ReadPrec GetSink
readList :: ReadS [GetSink]
$creadList :: ReadS [GetSink]
readsPrec :: Int -> ReadS GetSink
$creadsPrec :: Int -> ReadS GetSink
Prelude.Read, Int -> GetSink -> ShowS
[GetSink] -> ShowS
GetSink -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetSink] -> ShowS
$cshowList :: [GetSink] -> ShowS
show :: GetSink -> String
$cshow :: GetSink -> String
showsPrec :: Int -> GetSink -> ShowS
$cshowsPrec :: Int -> GetSink -> ShowS
Prelude.Show, forall x. Rep GetSink x -> GetSink
forall x. GetSink -> Rep GetSink x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GetSink x -> GetSink
$cfrom :: forall x. GetSink -> Rep GetSink x
Prelude.Generic)
newGetSink ::
Prelude.Text ->
GetSink
newGetSink :: Text -> GetSink
newGetSink Text
pIdentifier_ =
GetSink' {$sel:identifier:GetSink' :: Text
identifier = Text
pIdentifier_}
getSink_identifier :: Lens.Lens' GetSink Prelude.Text
getSink_identifier :: Lens' GetSink Text
getSink_identifier = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetSink' {Text
identifier :: Text
$sel:identifier:GetSink' :: GetSink -> Text
identifier} -> Text
identifier) (\s :: GetSink
s@GetSink' {} Text
a -> GetSink
s {$sel:identifier:GetSink' :: Text
identifier = Text
a} :: GetSink)
instance Core.AWSRequest GetSink where
type AWSResponse GetSink = GetSinkResponse
request :: (Service -> Service) -> GetSink -> Request GetSink
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 GetSink
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse GetSink)))
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
-> Maybe (HashMap Text Text)
-> Int
-> GetSinkResponse
GetSinkResponse'
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
"Arn")
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
"Id")
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
"Name")
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
"Tags" forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty)
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 GetSink where
hashWithSalt :: Int -> GetSink -> Int
hashWithSalt Int
_salt GetSink' {Text
identifier :: Text
$sel:identifier:GetSink' :: GetSink -> Text
..} =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
identifier
instance Prelude.NFData GetSink where
rnf :: GetSink -> ()
rnf GetSink' {Text
identifier :: Text
$sel:identifier:GetSink' :: GetSink -> Text
..} = forall a. NFData a => a -> ()
Prelude.rnf Text
identifier
instance Data.ToHeaders GetSink where
toHeaders :: GetSink -> 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 GetSink where
toJSON :: GetSink -> Value
toJSON GetSink' {Text
identifier :: Text
$sel:identifier:GetSink' :: GetSink -> Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[forall a. a -> Maybe a
Prelude.Just (Key
"Identifier" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
identifier)]
)
instance Data.ToPath GetSink where
toPath :: GetSink -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/GetSink"
instance Data.ToQuery GetSink where
toQuery :: GetSink -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data GetSinkResponse = GetSinkResponse'
{
GetSinkResponse -> Maybe Text
arn :: Prelude.Maybe Prelude.Text,
GetSinkResponse -> Maybe Text
id :: Prelude.Maybe Prelude.Text,
GetSinkResponse -> Maybe Text
name :: Prelude.Maybe Prelude.Text,
GetSinkResponse -> Maybe (HashMap Text Text)
tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),
GetSinkResponse -> Int
httpStatus :: Prelude.Int
}
deriving (GetSinkResponse -> GetSinkResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetSinkResponse -> GetSinkResponse -> Bool
$c/= :: GetSinkResponse -> GetSinkResponse -> Bool
== :: GetSinkResponse -> GetSinkResponse -> Bool
$c== :: GetSinkResponse -> GetSinkResponse -> Bool
Prelude.Eq, ReadPrec [GetSinkResponse]
ReadPrec GetSinkResponse
Int -> ReadS GetSinkResponse
ReadS [GetSinkResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetSinkResponse]
$creadListPrec :: ReadPrec [GetSinkResponse]
readPrec :: ReadPrec GetSinkResponse
$creadPrec :: ReadPrec GetSinkResponse
readList :: ReadS [GetSinkResponse]
$creadList :: ReadS [GetSinkResponse]
readsPrec :: Int -> ReadS GetSinkResponse
$creadsPrec :: Int -> ReadS GetSinkResponse
Prelude.Read, Int -> GetSinkResponse -> ShowS
[GetSinkResponse] -> ShowS
GetSinkResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetSinkResponse] -> ShowS
$cshowList :: [GetSinkResponse] -> ShowS
show :: GetSinkResponse -> String
$cshow :: GetSinkResponse -> String
showsPrec :: Int -> GetSinkResponse -> ShowS
$cshowsPrec :: Int -> GetSinkResponse -> ShowS
Prelude.Show, forall x. Rep GetSinkResponse x -> GetSinkResponse
forall x. GetSinkResponse -> Rep GetSinkResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GetSinkResponse x -> GetSinkResponse
$cfrom :: forall x. GetSinkResponse -> Rep GetSinkResponse x
Prelude.Generic)
newGetSinkResponse ::
Prelude.Int ->
GetSinkResponse
newGetSinkResponse :: Int -> GetSinkResponse
newGetSinkResponse Int
pHttpStatus_ =
GetSinkResponse'
{ $sel:arn:GetSinkResponse' :: Maybe Text
arn = forall a. Maybe a
Prelude.Nothing,
$sel:id:GetSinkResponse' :: Maybe Text
id = forall a. Maybe a
Prelude.Nothing,
$sel:name:GetSinkResponse' :: Maybe Text
name = forall a. Maybe a
Prelude.Nothing,
$sel:tags:GetSinkResponse' :: Maybe (HashMap Text Text)
tags = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:GetSinkResponse' :: Int
httpStatus = Int
pHttpStatus_
}
getSinkResponse_arn :: Lens.Lens' GetSinkResponse (Prelude.Maybe Prelude.Text)
getSinkResponse_arn :: Lens' GetSinkResponse (Maybe Text)
getSinkResponse_arn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetSinkResponse' {Maybe Text
arn :: Maybe Text
$sel:arn:GetSinkResponse' :: GetSinkResponse -> Maybe Text
arn} -> Maybe Text
arn) (\s :: GetSinkResponse
s@GetSinkResponse' {} Maybe Text
a -> GetSinkResponse
s {$sel:arn:GetSinkResponse' :: Maybe Text
arn = Maybe Text
a} :: GetSinkResponse)
getSinkResponse_id :: Lens.Lens' GetSinkResponse (Prelude.Maybe Prelude.Text)
getSinkResponse_id :: Lens' GetSinkResponse (Maybe Text)
getSinkResponse_id = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetSinkResponse' {Maybe Text
id :: Maybe Text
$sel:id:GetSinkResponse' :: GetSinkResponse -> Maybe Text
id} -> Maybe Text
id) (\s :: GetSinkResponse
s@GetSinkResponse' {} Maybe Text
a -> GetSinkResponse
s {$sel:id:GetSinkResponse' :: Maybe Text
id = Maybe Text
a} :: GetSinkResponse)
getSinkResponse_name :: Lens.Lens' GetSinkResponse (Prelude.Maybe Prelude.Text)
getSinkResponse_name :: Lens' GetSinkResponse (Maybe Text)
getSinkResponse_name = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetSinkResponse' {Maybe Text
name :: Maybe Text
$sel:name:GetSinkResponse' :: GetSinkResponse -> Maybe Text
name} -> Maybe Text
name) (\s :: GetSinkResponse
s@GetSinkResponse' {} Maybe Text
a -> GetSinkResponse
s {$sel:name:GetSinkResponse' :: Maybe Text
name = Maybe Text
a} :: GetSinkResponse)
getSinkResponse_tags :: Lens.Lens' GetSinkResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))
getSinkResponse_tags :: Lens' GetSinkResponse (Maybe (HashMap Text Text))
getSinkResponse_tags = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetSinkResponse' {Maybe (HashMap Text Text)
tags :: Maybe (HashMap Text Text)
$sel:tags:GetSinkResponse' :: GetSinkResponse -> Maybe (HashMap Text Text)
tags} -> Maybe (HashMap Text Text)
tags) (\s :: GetSinkResponse
s@GetSinkResponse' {} Maybe (HashMap Text Text)
a -> GetSinkResponse
s {$sel:tags:GetSinkResponse' :: Maybe (HashMap Text Text)
tags = Maybe (HashMap Text Text)
a} :: GetSinkResponse) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
getSinkResponse_httpStatus :: Lens.Lens' GetSinkResponse Prelude.Int
getSinkResponse_httpStatus :: Lens' GetSinkResponse Int
getSinkResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetSinkResponse' {Int
httpStatus :: Int
$sel:httpStatus:GetSinkResponse' :: GetSinkResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: GetSinkResponse
s@GetSinkResponse' {} Int
a -> GetSinkResponse
s {$sel:httpStatus:GetSinkResponse' :: Int
httpStatus = Int
a} :: GetSinkResponse)
instance Prelude.NFData GetSinkResponse where
rnf :: GetSinkResponse -> ()
rnf GetSinkResponse' {Int
Maybe Text
Maybe (HashMap Text Text)
httpStatus :: Int
tags :: Maybe (HashMap Text Text)
name :: Maybe Text
id :: Maybe Text
arn :: Maybe Text
$sel:httpStatus:GetSinkResponse' :: GetSinkResponse -> Int
$sel:tags:GetSinkResponse' :: GetSinkResponse -> Maybe (HashMap Text Text)
$sel:name:GetSinkResponse' :: GetSinkResponse -> Maybe Text
$sel:id:GetSinkResponse' :: GetSinkResponse -> Maybe Text
$sel:arn:GetSinkResponse' :: GetSinkResponse -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
arn
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
id
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
name
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (HashMap Text Text)
tags
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus