{-# 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.GetLink
(
GetLink (..),
newGetLink,
getLink_identifier,
GetLinkResponse (..),
newGetLinkResponse,
getLinkResponse_arn,
getLinkResponse_id,
getLinkResponse_label,
getLinkResponse_labelTemplate,
getLinkResponse_resourceTypes,
getLinkResponse_sinkArn,
getLinkResponse_tags,
getLinkResponse_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 GetLink = GetLink'
{
GetLink -> Text
identifier :: Prelude.Text
}
deriving (GetLink -> GetLink -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetLink -> GetLink -> Bool
$c/= :: GetLink -> GetLink -> Bool
== :: GetLink -> GetLink -> Bool
$c== :: GetLink -> GetLink -> Bool
Prelude.Eq, ReadPrec [GetLink]
ReadPrec GetLink
Int -> ReadS GetLink
ReadS [GetLink]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetLink]
$creadListPrec :: ReadPrec [GetLink]
readPrec :: ReadPrec GetLink
$creadPrec :: ReadPrec GetLink
readList :: ReadS [GetLink]
$creadList :: ReadS [GetLink]
readsPrec :: Int -> ReadS GetLink
$creadsPrec :: Int -> ReadS GetLink
Prelude.Read, Int -> GetLink -> ShowS
[GetLink] -> ShowS
GetLink -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetLink] -> ShowS
$cshowList :: [GetLink] -> ShowS
show :: GetLink -> String
$cshow :: GetLink -> String
showsPrec :: Int -> GetLink -> ShowS
$cshowsPrec :: Int -> GetLink -> ShowS
Prelude.Show, forall x. Rep GetLink x -> GetLink
forall x. GetLink -> Rep GetLink x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GetLink x -> GetLink
$cfrom :: forall x. GetLink -> Rep GetLink x
Prelude.Generic)
newGetLink ::
Prelude.Text ->
GetLink
newGetLink :: Text -> GetLink
newGetLink Text
pIdentifier_ =
GetLink' {$sel:identifier:GetLink' :: Text
identifier = Text
pIdentifier_}
getLink_identifier :: Lens.Lens' GetLink Prelude.Text
getLink_identifier :: Lens' GetLink Text
getLink_identifier = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetLink' {Text
identifier :: Text
$sel:identifier:GetLink' :: GetLink -> Text
identifier} -> Text
identifier) (\s :: GetLink
s@GetLink' {} Text
a -> GetLink
s {$sel:identifier:GetLink' :: Text
identifier = Text
a} :: GetLink)
instance Core.AWSRequest GetLink where
type AWSResponse GetLink = GetLinkResponse
request :: (Service -> Service) -> GetLink -> Request GetLink
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 GetLink
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse GetLink)))
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 Text
-> Maybe [Text]
-> Maybe Text
-> Maybe (HashMap Text Text)
-> Int
-> GetLinkResponse
GetLinkResponse'
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
"Label")
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
"LabelTemplate")
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
"ResourceTypes" 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.<*> (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
"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 GetLink where
hashWithSalt :: Int -> GetLink -> Int
hashWithSalt Int
_salt GetLink' {Text
identifier :: Text
$sel:identifier:GetLink' :: GetLink -> Text
..} =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
identifier
instance Prelude.NFData GetLink where
rnf :: GetLink -> ()
rnf GetLink' {Text
identifier :: Text
$sel:identifier:GetLink' :: GetLink -> Text
..} = forall a. NFData a => a -> ()
Prelude.rnf Text
identifier
instance Data.ToHeaders GetLink where
toHeaders :: GetLink -> 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 GetLink where
toJSON :: GetLink -> Value
toJSON GetLink' {Text
identifier :: Text
$sel:identifier:GetLink' :: GetLink -> 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 GetLink where
toPath :: GetLink -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/GetLink"
instance Data.ToQuery GetLink where
toQuery :: GetLink -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data GetLinkResponse = GetLinkResponse'
{
GetLinkResponse -> Maybe Text
arn :: Prelude.Maybe Prelude.Text,
GetLinkResponse -> Maybe Text
id :: Prelude.Maybe Prelude.Text,
GetLinkResponse -> Maybe Text
label :: Prelude.Maybe Prelude.Text,
GetLinkResponse -> Maybe Text
labelTemplate :: Prelude.Maybe Prelude.Text,
GetLinkResponse -> Maybe [Text]
resourceTypes :: Prelude.Maybe [Prelude.Text],
GetLinkResponse -> Maybe Text
sinkArn :: Prelude.Maybe Prelude.Text,
GetLinkResponse -> Maybe (HashMap Text Text)
tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),
GetLinkResponse -> Int
httpStatus :: Prelude.Int
}
deriving (GetLinkResponse -> GetLinkResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetLinkResponse -> GetLinkResponse -> Bool
$c/= :: GetLinkResponse -> GetLinkResponse -> Bool
== :: GetLinkResponse -> GetLinkResponse -> Bool
$c== :: GetLinkResponse -> GetLinkResponse -> Bool
Prelude.Eq, ReadPrec [GetLinkResponse]
ReadPrec GetLinkResponse
Int -> ReadS GetLinkResponse
ReadS [GetLinkResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetLinkResponse]
$creadListPrec :: ReadPrec [GetLinkResponse]
readPrec :: ReadPrec GetLinkResponse
$creadPrec :: ReadPrec GetLinkResponse
readList :: ReadS [GetLinkResponse]
$creadList :: ReadS [GetLinkResponse]
readsPrec :: Int -> ReadS GetLinkResponse
$creadsPrec :: Int -> ReadS GetLinkResponse
Prelude.Read, Int -> GetLinkResponse -> ShowS
[GetLinkResponse] -> ShowS
GetLinkResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetLinkResponse] -> ShowS
$cshowList :: [GetLinkResponse] -> ShowS
show :: GetLinkResponse -> String
$cshow :: GetLinkResponse -> String
showsPrec :: Int -> GetLinkResponse -> ShowS
$cshowsPrec :: Int -> GetLinkResponse -> ShowS
Prelude.Show, forall x. Rep GetLinkResponse x -> GetLinkResponse
forall x. GetLinkResponse -> Rep GetLinkResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GetLinkResponse x -> GetLinkResponse
$cfrom :: forall x. GetLinkResponse -> Rep GetLinkResponse x
Prelude.Generic)
newGetLinkResponse ::
Prelude.Int ->
GetLinkResponse
newGetLinkResponse :: Int -> GetLinkResponse
newGetLinkResponse Int
pHttpStatus_ =
GetLinkResponse'
{ $sel:arn:GetLinkResponse' :: Maybe Text
arn = forall a. Maybe a
Prelude.Nothing,
$sel:id:GetLinkResponse' :: Maybe Text
id = forall a. Maybe a
Prelude.Nothing,
$sel:label:GetLinkResponse' :: Maybe Text
label = forall a. Maybe a
Prelude.Nothing,
$sel:labelTemplate:GetLinkResponse' :: Maybe Text
labelTemplate = forall a. Maybe a
Prelude.Nothing,
$sel:resourceTypes:GetLinkResponse' :: Maybe [Text]
resourceTypes = forall a. Maybe a
Prelude.Nothing,
$sel:sinkArn:GetLinkResponse' :: Maybe Text
sinkArn = forall a. Maybe a
Prelude.Nothing,
$sel:tags:GetLinkResponse' :: Maybe (HashMap Text Text)
tags = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:GetLinkResponse' :: Int
httpStatus = Int
pHttpStatus_
}
getLinkResponse_arn :: Lens.Lens' GetLinkResponse (Prelude.Maybe Prelude.Text)
getLinkResponse_arn :: Lens' GetLinkResponse (Maybe Text)
getLinkResponse_arn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetLinkResponse' {Maybe Text
arn :: Maybe Text
$sel:arn:GetLinkResponse' :: GetLinkResponse -> Maybe Text
arn} -> Maybe Text
arn) (\s :: GetLinkResponse
s@GetLinkResponse' {} Maybe Text
a -> GetLinkResponse
s {$sel:arn:GetLinkResponse' :: Maybe Text
arn = Maybe Text
a} :: GetLinkResponse)
getLinkResponse_id :: Lens.Lens' GetLinkResponse (Prelude.Maybe Prelude.Text)
getLinkResponse_id :: Lens' GetLinkResponse (Maybe Text)
getLinkResponse_id = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetLinkResponse' {Maybe Text
id :: Maybe Text
$sel:id:GetLinkResponse' :: GetLinkResponse -> Maybe Text
id} -> Maybe Text
id) (\s :: GetLinkResponse
s@GetLinkResponse' {} Maybe Text
a -> GetLinkResponse
s {$sel:id:GetLinkResponse' :: Maybe Text
id = Maybe Text
a} :: GetLinkResponse)
getLinkResponse_label :: Lens.Lens' GetLinkResponse (Prelude.Maybe Prelude.Text)
getLinkResponse_label :: Lens' GetLinkResponse (Maybe Text)
getLinkResponse_label = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetLinkResponse' {Maybe Text
label :: Maybe Text
$sel:label:GetLinkResponse' :: GetLinkResponse -> Maybe Text
label} -> Maybe Text
label) (\s :: GetLinkResponse
s@GetLinkResponse' {} Maybe Text
a -> GetLinkResponse
s {$sel:label:GetLinkResponse' :: Maybe Text
label = Maybe Text
a} :: GetLinkResponse)
getLinkResponse_labelTemplate :: Lens.Lens' GetLinkResponse (Prelude.Maybe Prelude.Text)
getLinkResponse_labelTemplate :: Lens' GetLinkResponse (Maybe Text)
getLinkResponse_labelTemplate = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetLinkResponse' {Maybe Text
labelTemplate :: Maybe Text
$sel:labelTemplate:GetLinkResponse' :: GetLinkResponse -> Maybe Text
labelTemplate} -> Maybe Text
labelTemplate) (\s :: GetLinkResponse
s@GetLinkResponse' {} Maybe Text
a -> GetLinkResponse
s {$sel:labelTemplate:GetLinkResponse' :: Maybe Text
labelTemplate = Maybe Text
a} :: GetLinkResponse)
getLinkResponse_resourceTypes :: Lens.Lens' GetLinkResponse (Prelude.Maybe [Prelude.Text])
getLinkResponse_resourceTypes :: Lens' GetLinkResponse (Maybe [Text])
getLinkResponse_resourceTypes = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetLinkResponse' {Maybe [Text]
resourceTypes :: Maybe [Text]
$sel:resourceTypes:GetLinkResponse' :: GetLinkResponse -> Maybe [Text]
resourceTypes} -> Maybe [Text]
resourceTypes) (\s :: GetLinkResponse
s@GetLinkResponse' {} Maybe [Text]
a -> GetLinkResponse
s {$sel:resourceTypes:GetLinkResponse' :: Maybe [Text]
resourceTypes = Maybe [Text]
a} :: GetLinkResponse) 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
getLinkResponse_sinkArn :: Lens.Lens' GetLinkResponse (Prelude.Maybe Prelude.Text)
getLinkResponse_sinkArn :: Lens' GetLinkResponse (Maybe Text)
getLinkResponse_sinkArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetLinkResponse' {Maybe Text
sinkArn :: Maybe Text
$sel:sinkArn:GetLinkResponse' :: GetLinkResponse -> Maybe Text
sinkArn} -> Maybe Text
sinkArn) (\s :: GetLinkResponse
s@GetLinkResponse' {} Maybe Text
a -> GetLinkResponse
s {$sel:sinkArn:GetLinkResponse' :: Maybe Text
sinkArn = Maybe Text
a} :: GetLinkResponse)
getLinkResponse_tags :: Lens.Lens' GetLinkResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))
getLinkResponse_tags :: Lens' GetLinkResponse (Maybe (HashMap Text Text))
getLinkResponse_tags = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetLinkResponse' {Maybe (HashMap Text Text)
tags :: Maybe (HashMap Text Text)
$sel:tags:GetLinkResponse' :: GetLinkResponse -> Maybe (HashMap Text Text)
tags} -> Maybe (HashMap Text Text)
tags) (\s :: GetLinkResponse
s@GetLinkResponse' {} Maybe (HashMap Text Text)
a -> GetLinkResponse
s {$sel:tags:GetLinkResponse' :: Maybe (HashMap Text Text)
tags = Maybe (HashMap Text Text)
a} :: GetLinkResponse) 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
getLinkResponse_httpStatus :: Lens.Lens' GetLinkResponse Prelude.Int
getLinkResponse_httpStatus :: Lens' GetLinkResponse Int
getLinkResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetLinkResponse' {Int
httpStatus :: Int
$sel:httpStatus:GetLinkResponse' :: GetLinkResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: GetLinkResponse
s@GetLinkResponse' {} Int
a -> GetLinkResponse
s {$sel:httpStatus:GetLinkResponse' :: Int
httpStatus = Int
a} :: GetLinkResponse)
instance Prelude.NFData GetLinkResponse where
rnf :: GetLinkResponse -> ()
rnf GetLinkResponse' {Int
Maybe [Text]
Maybe Text
Maybe (HashMap Text Text)
httpStatus :: Int
tags :: Maybe (HashMap Text Text)
sinkArn :: Maybe Text
resourceTypes :: Maybe [Text]
labelTemplate :: Maybe Text
label :: Maybe Text
id :: Maybe Text
arn :: Maybe Text
$sel:httpStatus:GetLinkResponse' :: GetLinkResponse -> Int
$sel:tags:GetLinkResponse' :: GetLinkResponse -> Maybe (HashMap Text Text)
$sel:sinkArn:GetLinkResponse' :: GetLinkResponse -> Maybe Text
$sel:resourceTypes:GetLinkResponse' :: GetLinkResponse -> Maybe [Text]
$sel:labelTemplate:GetLinkResponse' :: GetLinkResponse -> Maybe Text
$sel:label:GetLinkResponse' :: GetLinkResponse -> Maybe Text
$sel:id:GetLinkResponse' :: GetLinkResponse -> Maybe Text
$sel:arn:GetLinkResponse' :: GetLinkResponse -> 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
label
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
labelTemplate
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Text]
resourceTypes
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 (HashMap Text Text)
tags
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus