{-# 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.DescribeVirtualService
(
DescribeVirtualService (..),
newDescribeVirtualService,
describeVirtualService_meshOwner,
describeVirtualService_meshName,
describeVirtualService_virtualServiceName,
DescribeVirtualServiceResponse (..),
newDescribeVirtualServiceResponse,
describeVirtualServiceResponse_httpStatus,
describeVirtualServiceResponse_virtualService,
)
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 DescribeVirtualService = DescribeVirtualService'
{
DescribeVirtualService -> Maybe Text
meshOwner :: Prelude.Maybe Prelude.Text,
DescribeVirtualService -> Text
meshName :: Prelude.Text,
DescribeVirtualService -> Text
virtualServiceName :: Prelude.Text
}
deriving (DescribeVirtualService -> DescribeVirtualService -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeVirtualService -> DescribeVirtualService -> Bool
$c/= :: DescribeVirtualService -> DescribeVirtualService -> Bool
== :: DescribeVirtualService -> DescribeVirtualService -> Bool
$c== :: DescribeVirtualService -> DescribeVirtualService -> Bool
Prelude.Eq, ReadPrec [DescribeVirtualService]
ReadPrec DescribeVirtualService
Int -> ReadS DescribeVirtualService
ReadS [DescribeVirtualService]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeVirtualService]
$creadListPrec :: ReadPrec [DescribeVirtualService]
readPrec :: ReadPrec DescribeVirtualService
$creadPrec :: ReadPrec DescribeVirtualService
readList :: ReadS [DescribeVirtualService]
$creadList :: ReadS [DescribeVirtualService]
readsPrec :: Int -> ReadS DescribeVirtualService
$creadsPrec :: Int -> ReadS DescribeVirtualService
Prelude.Read, Int -> DescribeVirtualService -> ShowS
[DescribeVirtualService] -> ShowS
DescribeVirtualService -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeVirtualService] -> ShowS
$cshowList :: [DescribeVirtualService] -> ShowS
show :: DescribeVirtualService -> String
$cshow :: DescribeVirtualService -> String
showsPrec :: Int -> DescribeVirtualService -> ShowS
$cshowsPrec :: Int -> DescribeVirtualService -> ShowS
Prelude.Show, forall x. Rep DescribeVirtualService x -> DescribeVirtualService
forall x. DescribeVirtualService -> Rep DescribeVirtualService x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeVirtualService x -> DescribeVirtualService
$cfrom :: forall x. DescribeVirtualService -> Rep DescribeVirtualService x
Prelude.Generic)
newDescribeVirtualService ::
Prelude.Text ->
Prelude.Text ->
DescribeVirtualService
newDescribeVirtualService :: Text -> Text -> DescribeVirtualService
newDescribeVirtualService
Text
pMeshName_
Text
pVirtualServiceName_ =
DescribeVirtualService'
{ $sel:meshOwner:DescribeVirtualService' :: Maybe Text
meshOwner =
forall a. Maybe a
Prelude.Nothing,
$sel:meshName:DescribeVirtualService' :: Text
meshName = Text
pMeshName_,
$sel:virtualServiceName:DescribeVirtualService' :: Text
virtualServiceName = Text
pVirtualServiceName_
}
describeVirtualService_meshOwner :: Lens.Lens' DescribeVirtualService (Prelude.Maybe Prelude.Text)
describeVirtualService_meshOwner :: Lens' DescribeVirtualService (Maybe Text)
describeVirtualService_meshOwner = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeVirtualService' {Maybe Text
meshOwner :: Maybe Text
$sel:meshOwner:DescribeVirtualService' :: DescribeVirtualService -> Maybe Text
meshOwner} -> Maybe Text
meshOwner) (\s :: DescribeVirtualService
s@DescribeVirtualService' {} Maybe Text
a -> DescribeVirtualService
s {$sel:meshOwner:DescribeVirtualService' :: Maybe Text
meshOwner = Maybe Text
a} :: DescribeVirtualService)
describeVirtualService_meshName :: Lens.Lens' DescribeVirtualService Prelude.Text
describeVirtualService_meshName :: Lens' DescribeVirtualService Text
describeVirtualService_meshName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeVirtualService' {Text
meshName :: Text
$sel:meshName:DescribeVirtualService' :: DescribeVirtualService -> Text
meshName} -> Text
meshName) (\s :: DescribeVirtualService
s@DescribeVirtualService' {} Text
a -> DescribeVirtualService
s {$sel:meshName:DescribeVirtualService' :: Text
meshName = Text
a} :: DescribeVirtualService)
describeVirtualService_virtualServiceName :: Lens.Lens' DescribeVirtualService Prelude.Text
describeVirtualService_virtualServiceName :: Lens' DescribeVirtualService Text
describeVirtualService_virtualServiceName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeVirtualService' {Text
virtualServiceName :: Text
$sel:virtualServiceName:DescribeVirtualService' :: DescribeVirtualService -> Text
virtualServiceName} -> Text
virtualServiceName) (\s :: DescribeVirtualService
s@DescribeVirtualService' {} Text
a -> DescribeVirtualService
s {$sel:virtualServiceName:DescribeVirtualService' :: Text
virtualServiceName = Text
a} :: DescribeVirtualService)
instance Core.AWSRequest DescribeVirtualService where
type
AWSResponse DescribeVirtualService =
DescribeVirtualServiceResponse
request :: (Service -> Service)
-> DescribeVirtualService -> Request DescribeVirtualService
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 DescribeVirtualService
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse DescribeVirtualService)))
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 -> VirtualServiceData -> DescribeVirtualServiceResponse
DescribeVirtualServiceResponse'
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 DescribeVirtualService where
hashWithSalt :: Int -> DescribeVirtualService -> Int
hashWithSalt Int
_salt DescribeVirtualService' {Maybe Text
Text
virtualServiceName :: Text
meshName :: Text
meshOwner :: Maybe Text
$sel:virtualServiceName:DescribeVirtualService' :: DescribeVirtualService -> Text
$sel:meshName:DescribeVirtualService' :: DescribeVirtualService -> Text
$sel:meshOwner:DescribeVirtualService' :: DescribeVirtualService -> 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
meshName
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
virtualServiceName
instance Prelude.NFData DescribeVirtualService where
rnf :: DescribeVirtualService -> ()
rnf DescribeVirtualService' {Maybe Text
Text
virtualServiceName :: Text
meshName :: Text
meshOwner :: Maybe Text
$sel:virtualServiceName:DescribeVirtualService' :: DescribeVirtualService -> Text
$sel:meshName:DescribeVirtualService' :: DescribeVirtualService -> Text
$sel:meshOwner:DescribeVirtualService' :: DescribeVirtualService -> 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
meshName
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
virtualServiceName
instance Data.ToHeaders DescribeVirtualService where
toHeaders :: DescribeVirtualService -> 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 DescribeVirtualService where
toPath :: DescribeVirtualService -> ByteString
toPath DescribeVirtualService' {Maybe Text
Text
virtualServiceName :: Text
meshName :: Text
meshOwner :: Maybe Text
$sel:virtualServiceName:DescribeVirtualService' :: DescribeVirtualService -> Text
$sel:meshName:DescribeVirtualService' :: DescribeVirtualService -> Text
$sel:meshOwner:DescribeVirtualService' :: DescribeVirtualService -> Maybe Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"/v20190125/meshes/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
meshName,
ByteString
"/virtualServices/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
virtualServiceName
]
instance Data.ToQuery DescribeVirtualService where
toQuery :: DescribeVirtualService -> QueryString
toQuery DescribeVirtualService' {Maybe Text
Text
virtualServiceName :: Text
meshName :: Text
meshOwner :: Maybe Text
$sel:virtualServiceName:DescribeVirtualService' :: DescribeVirtualService -> Text
$sel:meshName:DescribeVirtualService' :: DescribeVirtualService -> Text
$sel:meshOwner:DescribeVirtualService' :: DescribeVirtualService -> Maybe Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat [ByteString
"meshOwner" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
meshOwner]
data DescribeVirtualServiceResponse = DescribeVirtualServiceResponse'
{
DescribeVirtualServiceResponse -> Int
httpStatus :: Prelude.Int,
DescribeVirtualServiceResponse -> VirtualServiceData
virtualService :: VirtualServiceData
}
deriving (DescribeVirtualServiceResponse
-> DescribeVirtualServiceResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeVirtualServiceResponse
-> DescribeVirtualServiceResponse -> Bool
$c/= :: DescribeVirtualServiceResponse
-> DescribeVirtualServiceResponse -> Bool
== :: DescribeVirtualServiceResponse
-> DescribeVirtualServiceResponse -> Bool
$c== :: DescribeVirtualServiceResponse
-> DescribeVirtualServiceResponse -> Bool
Prelude.Eq, ReadPrec [DescribeVirtualServiceResponse]
ReadPrec DescribeVirtualServiceResponse
Int -> ReadS DescribeVirtualServiceResponse
ReadS [DescribeVirtualServiceResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeVirtualServiceResponse]
$creadListPrec :: ReadPrec [DescribeVirtualServiceResponse]
readPrec :: ReadPrec DescribeVirtualServiceResponse
$creadPrec :: ReadPrec DescribeVirtualServiceResponse
readList :: ReadS [DescribeVirtualServiceResponse]
$creadList :: ReadS [DescribeVirtualServiceResponse]
readsPrec :: Int -> ReadS DescribeVirtualServiceResponse
$creadsPrec :: Int -> ReadS DescribeVirtualServiceResponse
Prelude.Read, Int -> DescribeVirtualServiceResponse -> ShowS
[DescribeVirtualServiceResponse] -> ShowS
DescribeVirtualServiceResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeVirtualServiceResponse] -> ShowS
$cshowList :: [DescribeVirtualServiceResponse] -> ShowS
show :: DescribeVirtualServiceResponse -> String
$cshow :: DescribeVirtualServiceResponse -> String
showsPrec :: Int -> DescribeVirtualServiceResponse -> ShowS
$cshowsPrec :: Int -> DescribeVirtualServiceResponse -> ShowS
Prelude.Show, forall x.
Rep DescribeVirtualServiceResponse x
-> DescribeVirtualServiceResponse
forall x.
DescribeVirtualServiceResponse
-> Rep DescribeVirtualServiceResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeVirtualServiceResponse x
-> DescribeVirtualServiceResponse
$cfrom :: forall x.
DescribeVirtualServiceResponse
-> Rep DescribeVirtualServiceResponse x
Prelude.Generic)
newDescribeVirtualServiceResponse ::
Prelude.Int ->
VirtualServiceData ->
DescribeVirtualServiceResponse
newDescribeVirtualServiceResponse :: Int -> VirtualServiceData -> DescribeVirtualServiceResponse
newDescribeVirtualServiceResponse
Int
pHttpStatus_
VirtualServiceData
pVirtualService_ =
DescribeVirtualServiceResponse'
{ $sel:httpStatus:DescribeVirtualServiceResponse' :: Int
httpStatus =
Int
pHttpStatus_,
$sel:virtualService:DescribeVirtualServiceResponse' :: VirtualServiceData
virtualService = VirtualServiceData
pVirtualService_
}
describeVirtualServiceResponse_httpStatus :: Lens.Lens' DescribeVirtualServiceResponse Prelude.Int
describeVirtualServiceResponse_httpStatus :: Lens' DescribeVirtualServiceResponse Int
describeVirtualServiceResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeVirtualServiceResponse' {Int
httpStatus :: Int
$sel:httpStatus:DescribeVirtualServiceResponse' :: DescribeVirtualServiceResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DescribeVirtualServiceResponse
s@DescribeVirtualServiceResponse' {} Int
a -> DescribeVirtualServiceResponse
s {$sel:httpStatus:DescribeVirtualServiceResponse' :: Int
httpStatus = Int
a} :: DescribeVirtualServiceResponse)
describeVirtualServiceResponse_virtualService :: Lens.Lens' DescribeVirtualServiceResponse VirtualServiceData
describeVirtualServiceResponse_virtualService :: Lens' DescribeVirtualServiceResponse VirtualServiceData
describeVirtualServiceResponse_virtualService = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeVirtualServiceResponse' {VirtualServiceData
virtualService :: VirtualServiceData
$sel:virtualService:DescribeVirtualServiceResponse' :: DescribeVirtualServiceResponse -> VirtualServiceData
virtualService} -> VirtualServiceData
virtualService) (\s :: DescribeVirtualServiceResponse
s@DescribeVirtualServiceResponse' {} VirtualServiceData
a -> DescribeVirtualServiceResponse
s {$sel:virtualService:DescribeVirtualServiceResponse' :: VirtualServiceData
virtualService = VirtualServiceData
a} :: DescribeVirtualServiceResponse)
instance
Prelude.NFData
DescribeVirtualServiceResponse
where
rnf :: DescribeVirtualServiceResponse -> ()
rnf DescribeVirtualServiceResponse' {Int
VirtualServiceData
virtualService :: VirtualServiceData
httpStatus :: Int
$sel:virtualService:DescribeVirtualServiceResponse' :: DescribeVirtualServiceResponse -> VirtualServiceData
$sel:httpStatus:DescribeVirtualServiceResponse' :: DescribeVirtualServiceResponse -> 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 VirtualServiceData
virtualService