{-# 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.APIGateway.GetVpcLink
(
GetVpcLink (..),
newGetVpcLink,
getVpcLink_vpcLinkId,
VpcLink (..),
newVpcLink,
vpcLink_description,
vpcLink_id,
vpcLink_name,
vpcLink_status,
vpcLink_statusMessage,
vpcLink_tags,
vpcLink_targetArns,
)
where
import Amazonka.APIGateway.Types
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
data GetVpcLink = GetVpcLink'
{
GetVpcLink -> Text
vpcLinkId :: Prelude.Text
}
deriving (GetVpcLink -> GetVpcLink -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetVpcLink -> GetVpcLink -> Bool
$c/= :: GetVpcLink -> GetVpcLink -> Bool
== :: GetVpcLink -> GetVpcLink -> Bool
$c== :: GetVpcLink -> GetVpcLink -> Bool
Prelude.Eq, ReadPrec [GetVpcLink]
ReadPrec GetVpcLink
Int -> ReadS GetVpcLink
ReadS [GetVpcLink]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetVpcLink]
$creadListPrec :: ReadPrec [GetVpcLink]
readPrec :: ReadPrec GetVpcLink
$creadPrec :: ReadPrec GetVpcLink
readList :: ReadS [GetVpcLink]
$creadList :: ReadS [GetVpcLink]
readsPrec :: Int -> ReadS GetVpcLink
$creadsPrec :: Int -> ReadS GetVpcLink
Prelude.Read, Int -> GetVpcLink -> ShowS
[GetVpcLink] -> ShowS
GetVpcLink -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetVpcLink] -> ShowS
$cshowList :: [GetVpcLink] -> ShowS
show :: GetVpcLink -> String
$cshow :: GetVpcLink -> String
showsPrec :: Int -> GetVpcLink -> ShowS
$cshowsPrec :: Int -> GetVpcLink -> ShowS
Prelude.Show, forall x. Rep GetVpcLink x -> GetVpcLink
forall x. GetVpcLink -> Rep GetVpcLink x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GetVpcLink x -> GetVpcLink
$cfrom :: forall x. GetVpcLink -> Rep GetVpcLink x
Prelude.Generic)
newGetVpcLink ::
Prelude.Text ->
GetVpcLink
newGetVpcLink :: Text -> GetVpcLink
newGetVpcLink Text
pVpcLinkId_ =
GetVpcLink' {$sel:vpcLinkId:GetVpcLink' :: Text
vpcLinkId = Text
pVpcLinkId_}
getVpcLink_vpcLinkId :: Lens.Lens' GetVpcLink Prelude.Text
getVpcLink_vpcLinkId :: Lens' GetVpcLink Text
getVpcLink_vpcLinkId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetVpcLink' {Text
vpcLinkId :: Text
$sel:vpcLinkId:GetVpcLink' :: GetVpcLink -> Text
vpcLinkId} -> Text
vpcLinkId) (\s :: GetVpcLink
s@GetVpcLink' {} Text
a -> GetVpcLink
s {$sel:vpcLinkId:GetVpcLink' :: Text
vpcLinkId = Text
a} :: GetVpcLink)
instance Core.AWSRequest GetVpcLink where
type AWSResponse GetVpcLink = VpcLink
request :: (Service -> Service) -> GetVpcLink -> Request GetVpcLink
request Service -> Service
overrides =
forall a. ToRequest a => Service -> a -> Request a
Request.get (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy GetVpcLink
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse GetVpcLink)))
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 -> forall a. FromJSON a => Object -> Either String a
Data.eitherParseJSON Object
x)
instance Prelude.Hashable GetVpcLink where
hashWithSalt :: Int -> GetVpcLink -> Int
hashWithSalt Int
_salt GetVpcLink' {Text
vpcLinkId :: Text
$sel:vpcLinkId:GetVpcLink' :: GetVpcLink -> Text
..} =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
vpcLinkId
instance Prelude.NFData GetVpcLink where
rnf :: GetVpcLink -> ()
rnf GetVpcLink' {Text
vpcLinkId :: Text
$sel:vpcLinkId:GetVpcLink' :: GetVpcLink -> Text
..} = forall a. NFData a => a -> ()
Prelude.rnf Text
vpcLinkId
instance Data.ToHeaders GetVpcLink where
toHeaders :: GetVpcLink -> ResponseHeaders
toHeaders =
forall a b. a -> b -> a
Prelude.const
( forall a. Monoid a => [a] -> a
Prelude.mconcat
[ HeaderName
"Accept"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# (ByteString
"application/json" :: Prelude.ByteString)
]
)
instance Data.ToPath GetVpcLink where
toPath :: GetVpcLink -> ByteString
toPath GetVpcLink' {Text
vpcLinkId :: Text
$sel:vpcLinkId:GetVpcLink' :: GetVpcLink -> Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat [ByteString
"/vpclinks/", forall a. ToByteString a => a -> ByteString
Data.toBS Text
vpcLinkId]
instance Data.ToQuery GetVpcLink where
toQuery :: GetVpcLink -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty