{-# 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.AppMesh.DescribeGatewayRoute
(
DescribeGatewayRoute (..),
newDescribeGatewayRoute,
describeGatewayRoute_meshOwner,
describeGatewayRoute_gatewayRouteName,
describeGatewayRoute_meshName,
describeGatewayRoute_virtualGatewayName,
DescribeGatewayRouteResponse (..),
newDescribeGatewayRouteResponse,
describeGatewayRouteResponse_httpStatus,
describeGatewayRouteResponse_gatewayRoute,
)
where
import Amazonka.AppMesh.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 DescribeGatewayRoute = DescribeGatewayRoute'
{
DescribeGatewayRoute -> Maybe Text
meshOwner :: Prelude.Maybe Prelude.Text,
DescribeGatewayRoute -> Text
gatewayRouteName :: Prelude.Text,
DescribeGatewayRoute -> Text
meshName :: Prelude.Text,
DescribeGatewayRoute -> Text
virtualGatewayName :: Prelude.Text
}
deriving (DescribeGatewayRoute -> DescribeGatewayRoute -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeGatewayRoute -> DescribeGatewayRoute -> Bool
$c/= :: DescribeGatewayRoute -> DescribeGatewayRoute -> Bool
== :: DescribeGatewayRoute -> DescribeGatewayRoute -> Bool
$c== :: DescribeGatewayRoute -> DescribeGatewayRoute -> Bool
Prelude.Eq, ReadPrec [DescribeGatewayRoute]
ReadPrec DescribeGatewayRoute
Int -> ReadS DescribeGatewayRoute
ReadS [DescribeGatewayRoute]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeGatewayRoute]
$creadListPrec :: ReadPrec [DescribeGatewayRoute]
readPrec :: ReadPrec DescribeGatewayRoute
$creadPrec :: ReadPrec DescribeGatewayRoute
readList :: ReadS [DescribeGatewayRoute]
$creadList :: ReadS [DescribeGatewayRoute]
readsPrec :: Int -> ReadS DescribeGatewayRoute
$creadsPrec :: Int -> ReadS DescribeGatewayRoute
Prelude.Read, Int -> DescribeGatewayRoute -> ShowS
[DescribeGatewayRoute] -> ShowS
DescribeGatewayRoute -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeGatewayRoute] -> ShowS
$cshowList :: [DescribeGatewayRoute] -> ShowS
show :: DescribeGatewayRoute -> String
$cshow :: DescribeGatewayRoute -> String
showsPrec :: Int -> DescribeGatewayRoute -> ShowS
$cshowsPrec :: Int -> DescribeGatewayRoute -> ShowS
Prelude.Show, forall x. Rep DescribeGatewayRoute x -> DescribeGatewayRoute
forall x. DescribeGatewayRoute -> Rep DescribeGatewayRoute x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeGatewayRoute x -> DescribeGatewayRoute
$cfrom :: forall x. DescribeGatewayRoute -> Rep DescribeGatewayRoute x
Prelude.Generic)
newDescribeGatewayRoute ::
Prelude.Text ->
Prelude.Text ->
Prelude.Text ->
DescribeGatewayRoute
newDescribeGatewayRoute :: Text -> Text -> Text -> DescribeGatewayRoute
newDescribeGatewayRoute
Text
pGatewayRouteName_
Text
pMeshName_
Text
pVirtualGatewayName_ =
DescribeGatewayRoute'
{ $sel:meshOwner:DescribeGatewayRoute' :: Maybe Text
meshOwner = forall a. Maybe a
Prelude.Nothing,
$sel:gatewayRouteName:DescribeGatewayRoute' :: Text
gatewayRouteName = Text
pGatewayRouteName_,
$sel:meshName:DescribeGatewayRoute' :: Text
meshName = Text
pMeshName_,
$sel:virtualGatewayName:DescribeGatewayRoute' :: Text
virtualGatewayName = Text
pVirtualGatewayName_
}
describeGatewayRoute_meshOwner :: Lens.Lens' DescribeGatewayRoute (Prelude.Maybe Prelude.Text)
describeGatewayRoute_meshOwner :: Lens' DescribeGatewayRoute (Maybe Text)
describeGatewayRoute_meshOwner = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeGatewayRoute' {Maybe Text
meshOwner :: Maybe Text
$sel:meshOwner:DescribeGatewayRoute' :: DescribeGatewayRoute -> Maybe Text
meshOwner} -> Maybe Text
meshOwner) (\s :: DescribeGatewayRoute
s@DescribeGatewayRoute' {} Maybe Text
a -> DescribeGatewayRoute
s {$sel:meshOwner:DescribeGatewayRoute' :: Maybe Text
meshOwner = Maybe Text
a} :: DescribeGatewayRoute)
describeGatewayRoute_gatewayRouteName :: Lens.Lens' DescribeGatewayRoute Prelude.Text
describeGatewayRoute_gatewayRouteName :: Lens' DescribeGatewayRoute Text
describeGatewayRoute_gatewayRouteName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeGatewayRoute' {Text
gatewayRouteName :: Text
$sel:gatewayRouteName:DescribeGatewayRoute' :: DescribeGatewayRoute -> Text
gatewayRouteName} -> Text
gatewayRouteName) (\s :: DescribeGatewayRoute
s@DescribeGatewayRoute' {} Text
a -> DescribeGatewayRoute
s {$sel:gatewayRouteName:DescribeGatewayRoute' :: Text
gatewayRouteName = Text
a} :: DescribeGatewayRoute)
describeGatewayRoute_meshName :: Lens.Lens' DescribeGatewayRoute Prelude.Text
describeGatewayRoute_meshName :: Lens' DescribeGatewayRoute Text
describeGatewayRoute_meshName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeGatewayRoute' {Text
meshName :: Text
$sel:meshName:DescribeGatewayRoute' :: DescribeGatewayRoute -> Text
meshName} -> Text
meshName) (\s :: DescribeGatewayRoute
s@DescribeGatewayRoute' {} Text
a -> DescribeGatewayRoute
s {$sel:meshName:DescribeGatewayRoute' :: Text
meshName = Text
a} :: DescribeGatewayRoute)
describeGatewayRoute_virtualGatewayName :: Lens.Lens' DescribeGatewayRoute Prelude.Text
describeGatewayRoute_virtualGatewayName :: Lens' DescribeGatewayRoute Text
describeGatewayRoute_virtualGatewayName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeGatewayRoute' {Text
virtualGatewayName :: Text
$sel:virtualGatewayName:DescribeGatewayRoute' :: DescribeGatewayRoute -> Text
virtualGatewayName} -> Text
virtualGatewayName) (\s :: DescribeGatewayRoute
s@DescribeGatewayRoute' {} Text
a -> DescribeGatewayRoute
s {$sel:virtualGatewayName:DescribeGatewayRoute' :: Text
virtualGatewayName = Text
a} :: DescribeGatewayRoute)
instance Core.AWSRequest DescribeGatewayRoute where
type
AWSResponse DescribeGatewayRoute =
DescribeGatewayRouteResponse
request :: (Service -> Service)
-> DescribeGatewayRoute -> Request DescribeGatewayRoute
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 DescribeGatewayRoute
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse DescribeGatewayRoute)))
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 ->
Int -> GatewayRouteData -> DescribeGatewayRouteResponse
DescribeGatewayRouteResponse'
forall (f :: * -> *) a b. Functor 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))
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (forall a. FromJSON a => Object -> Either String a
Data.eitherParseJSON Object
x)
)
instance Prelude.Hashable DescribeGatewayRoute where
hashWithSalt :: Int -> DescribeGatewayRoute -> Int
hashWithSalt Int
_salt DescribeGatewayRoute' {Maybe Text
Text
virtualGatewayName :: Text
meshName :: Text
gatewayRouteName :: Text
meshOwner :: Maybe Text
$sel:virtualGatewayName:DescribeGatewayRoute' :: DescribeGatewayRoute -> Text
$sel:meshName:DescribeGatewayRoute' :: DescribeGatewayRoute -> Text
$sel:gatewayRouteName:DescribeGatewayRoute' :: DescribeGatewayRoute -> Text
$sel:meshOwner:DescribeGatewayRoute' :: DescribeGatewayRoute -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
meshOwner
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
gatewayRouteName
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
meshName
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
virtualGatewayName
instance Prelude.NFData DescribeGatewayRoute where
rnf :: DescribeGatewayRoute -> ()
rnf DescribeGatewayRoute' {Maybe Text
Text
virtualGatewayName :: Text
meshName :: Text
gatewayRouteName :: Text
meshOwner :: Maybe Text
$sel:virtualGatewayName:DescribeGatewayRoute' :: DescribeGatewayRoute -> Text
$sel:meshName:DescribeGatewayRoute' :: DescribeGatewayRoute -> Text
$sel:gatewayRouteName:DescribeGatewayRoute' :: DescribeGatewayRoute -> Text
$sel:meshOwner:DescribeGatewayRoute' :: DescribeGatewayRoute -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
meshOwner
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
gatewayRouteName
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
meshName
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
virtualGatewayName
instance Data.ToHeaders DescribeGatewayRoute where
toHeaders :: DescribeGatewayRoute -> 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.ToPath DescribeGatewayRoute where
toPath :: DescribeGatewayRoute -> ByteString
toPath DescribeGatewayRoute' {Maybe Text
Text
virtualGatewayName :: Text
meshName :: Text
gatewayRouteName :: Text
meshOwner :: Maybe Text
$sel:virtualGatewayName:DescribeGatewayRoute' :: DescribeGatewayRoute -> Text
$sel:meshName:DescribeGatewayRoute' :: DescribeGatewayRoute -> Text
$sel:gatewayRouteName:DescribeGatewayRoute' :: DescribeGatewayRoute -> Text
$sel:meshOwner:DescribeGatewayRoute' :: DescribeGatewayRoute -> Maybe Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"/v20190125/meshes/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
meshName,
ByteString
"/virtualGateway/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
virtualGatewayName,
ByteString
"/gatewayRoutes/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
gatewayRouteName
]
instance Data.ToQuery DescribeGatewayRoute where
toQuery :: DescribeGatewayRoute -> QueryString
toQuery DescribeGatewayRoute' {Maybe Text
Text
virtualGatewayName :: Text
meshName :: Text
gatewayRouteName :: Text
meshOwner :: Maybe Text
$sel:virtualGatewayName:DescribeGatewayRoute' :: DescribeGatewayRoute -> Text
$sel:meshName:DescribeGatewayRoute' :: DescribeGatewayRoute -> Text
$sel:gatewayRouteName:DescribeGatewayRoute' :: DescribeGatewayRoute -> Text
$sel:meshOwner:DescribeGatewayRoute' :: DescribeGatewayRoute -> Maybe Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat [ByteString
"meshOwner" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
meshOwner]
data DescribeGatewayRouteResponse = DescribeGatewayRouteResponse'
{
DescribeGatewayRouteResponse -> Int
httpStatus :: Prelude.Int,
DescribeGatewayRouteResponse -> GatewayRouteData
gatewayRoute :: GatewayRouteData
}
deriving (DescribeGatewayRouteResponse
-> DescribeGatewayRouteResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeGatewayRouteResponse
-> DescribeGatewayRouteResponse -> Bool
$c/= :: DescribeGatewayRouteResponse
-> DescribeGatewayRouteResponse -> Bool
== :: DescribeGatewayRouteResponse
-> DescribeGatewayRouteResponse -> Bool
$c== :: DescribeGatewayRouteResponse
-> DescribeGatewayRouteResponse -> Bool
Prelude.Eq, ReadPrec [DescribeGatewayRouteResponse]
ReadPrec DescribeGatewayRouteResponse
Int -> ReadS DescribeGatewayRouteResponse
ReadS [DescribeGatewayRouteResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeGatewayRouteResponse]
$creadListPrec :: ReadPrec [DescribeGatewayRouteResponse]
readPrec :: ReadPrec DescribeGatewayRouteResponse
$creadPrec :: ReadPrec DescribeGatewayRouteResponse
readList :: ReadS [DescribeGatewayRouteResponse]
$creadList :: ReadS [DescribeGatewayRouteResponse]
readsPrec :: Int -> ReadS DescribeGatewayRouteResponse
$creadsPrec :: Int -> ReadS DescribeGatewayRouteResponse
Prelude.Read, Int -> DescribeGatewayRouteResponse -> ShowS
[DescribeGatewayRouteResponse] -> ShowS
DescribeGatewayRouteResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeGatewayRouteResponse] -> ShowS
$cshowList :: [DescribeGatewayRouteResponse] -> ShowS
show :: DescribeGatewayRouteResponse -> String
$cshow :: DescribeGatewayRouteResponse -> String
showsPrec :: Int -> DescribeGatewayRouteResponse -> ShowS
$cshowsPrec :: Int -> DescribeGatewayRouteResponse -> ShowS
Prelude.Show, forall x.
Rep DescribeGatewayRouteResponse x -> DescribeGatewayRouteResponse
forall x.
DescribeGatewayRouteResponse -> Rep DescribeGatewayRouteResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeGatewayRouteResponse x -> DescribeGatewayRouteResponse
$cfrom :: forall x.
DescribeGatewayRouteResponse -> Rep DescribeGatewayRouteResponse x
Prelude.Generic)
newDescribeGatewayRouteResponse ::
Prelude.Int ->
GatewayRouteData ->
DescribeGatewayRouteResponse
newDescribeGatewayRouteResponse :: Int -> GatewayRouteData -> DescribeGatewayRouteResponse
newDescribeGatewayRouteResponse
Int
pHttpStatus_
GatewayRouteData
pGatewayRoute_ =
DescribeGatewayRouteResponse'
{ $sel:httpStatus:DescribeGatewayRouteResponse' :: Int
httpStatus =
Int
pHttpStatus_,
$sel:gatewayRoute:DescribeGatewayRouteResponse' :: GatewayRouteData
gatewayRoute = GatewayRouteData
pGatewayRoute_
}
describeGatewayRouteResponse_httpStatus :: Lens.Lens' DescribeGatewayRouteResponse Prelude.Int
describeGatewayRouteResponse_httpStatus :: Lens' DescribeGatewayRouteResponse Int
describeGatewayRouteResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeGatewayRouteResponse' {Int
httpStatus :: Int
$sel:httpStatus:DescribeGatewayRouteResponse' :: DescribeGatewayRouteResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DescribeGatewayRouteResponse
s@DescribeGatewayRouteResponse' {} Int
a -> DescribeGatewayRouteResponse
s {$sel:httpStatus:DescribeGatewayRouteResponse' :: Int
httpStatus = Int
a} :: DescribeGatewayRouteResponse)
describeGatewayRouteResponse_gatewayRoute :: Lens.Lens' DescribeGatewayRouteResponse GatewayRouteData
describeGatewayRouteResponse_gatewayRoute :: Lens' DescribeGatewayRouteResponse GatewayRouteData
describeGatewayRouteResponse_gatewayRoute = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeGatewayRouteResponse' {GatewayRouteData
gatewayRoute :: GatewayRouteData
$sel:gatewayRoute:DescribeGatewayRouteResponse' :: DescribeGatewayRouteResponse -> GatewayRouteData
gatewayRoute} -> GatewayRouteData
gatewayRoute) (\s :: DescribeGatewayRouteResponse
s@DescribeGatewayRouteResponse' {} GatewayRouteData
a -> DescribeGatewayRouteResponse
s {$sel:gatewayRoute:DescribeGatewayRouteResponse' :: GatewayRouteData
gatewayRoute = GatewayRouteData
a} :: DescribeGatewayRouteResponse)
instance Prelude.NFData DescribeGatewayRouteResponse where
rnf :: DescribeGatewayRouteResponse -> ()
rnf DescribeGatewayRouteResponse' {Int
GatewayRouteData
gatewayRoute :: GatewayRouteData
httpStatus :: Int
$sel:gatewayRoute:DescribeGatewayRouteResponse' :: DescribeGatewayRouteResponse -> GatewayRouteData
$sel:httpStatus:DescribeGatewayRouteResponse' :: DescribeGatewayRouteResponse -> Int
..} =
forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf GatewayRouteData
gatewayRoute