{-# 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 #-}

-- Derived from AWS service descriptions, licensed under Apache 2.0.

-- |
-- Module      : Amazonka.OAM.GetLink
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Returns complete information about one link.
--
-- To use this operation, provide the link ARN. To retrieve a list of link
-- ARNs, use
-- <https://docs.aws.amazon.com/OAM/latest/APIReference/API_ListLinks.html ListLinks>.
module Amazonka.OAM.GetLink
  ( -- * Creating a Request
    GetLink (..),
    newGetLink,

    -- * Request Lenses
    getLink_identifier,

    -- * Destructuring the Response
    GetLinkResponse (..),
    newGetLinkResponse,

    -- * Response Lenses
    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

-- | /See:/ 'newGetLink' smart constructor.
data GetLink = GetLink'
  { -- | The ARN of the link to retrieve information for.
    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)

-- |
-- Create a value of 'GetLink' with all optional fields omitted.
--
-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
--
-- The following record fields are available, with the corresponding lenses provided
-- for backwards compatibility:
--
-- 'identifier', 'getLink_identifier' - The ARN of the link to retrieve information for.
newGetLink ::
  -- | 'identifier'
  Prelude.Text ->
  GetLink
newGetLink :: Text -> GetLink
newGetLink Text
pIdentifier_ =
  GetLink' {$sel:identifier:GetLink' :: Text
identifier = Text
pIdentifier_}

-- | The ARN of the link to retrieve information for.
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

-- | /See:/ 'newGetLinkResponse' smart constructor.
data GetLinkResponse = GetLinkResponse'
  { -- | The ARN of the link.
    GetLinkResponse -> Maybe Text
arn :: Prelude.Maybe Prelude.Text,
    -- | The random ID string that Amazon Web Services generated as part of the
    -- link ARN.
    GetLinkResponse -> Maybe Text
id :: Prelude.Maybe Prelude.Text,
    -- | The label that you assigned to this link, with the variables resolved to
    -- their actual values.
    GetLinkResponse -> Maybe Text
label :: Prelude.Maybe Prelude.Text,
    -- | The exact label template that was specified when the link was created,
    -- with the template variables not resolved.
    GetLinkResponse -> Maybe Text
labelTemplate :: Prelude.Maybe Prelude.Text,
    -- | The resource types supported by this link.
    GetLinkResponse -> Maybe [Text]
resourceTypes :: Prelude.Maybe [Prelude.Text],
    -- | The ARN of the sink that is used for this link.
    GetLinkResponse -> Maybe Text
sinkArn :: Prelude.Maybe Prelude.Text,
    -- | The tags assigned to the link.
    GetLinkResponse -> Maybe (HashMap Text Text)
tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),
    -- | The response's http status code.
    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)

-- |
-- Create a value of 'GetLinkResponse' with all optional fields omitted.
--
-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
--
-- The following record fields are available, with the corresponding lenses provided
-- for backwards compatibility:
--
-- 'arn', 'getLinkResponse_arn' - The ARN of the link.
--
-- 'id', 'getLinkResponse_id' - The random ID string that Amazon Web Services generated as part of the
-- link ARN.
--
-- 'label', 'getLinkResponse_label' - The label that you assigned to this link, with the variables resolved to
-- their actual values.
--
-- 'labelTemplate', 'getLinkResponse_labelTemplate' - The exact label template that was specified when the link was created,
-- with the template variables not resolved.
--
-- 'resourceTypes', 'getLinkResponse_resourceTypes' - The resource types supported by this link.
--
-- 'sinkArn', 'getLinkResponse_sinkArn' - The ARN of the sink that is used for this link.
--
-- 'tags', 'getLinkResponse_tags' - The tags assigned to the link.
--
-- 'httpStatus', 'getLinkResponse_httpStatus' - The response's http status code.
newGetLinkResponse ::
  -- | 'httpStatus'
  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_
    }

-- | The ARN of the link.
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)

-- | The random ID string that Amazon Web Services generated as part of the
-- link ARN.
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)

-- | The label that you assigned to this link, with the variables resolved to
-- their actual values.
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)

-- | The exact label template that was specified when the link was created,
-- with the template variables not resolved.
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)

-- | The resource types supported by this link.
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

-- | The ARN of the sink that is used for this link.
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)

-- | The tags assigned to the link.
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

-- | The response's http status code.
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