{-# 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.UpdateVirtualService
(
UpdateVirtualService (..),
newUpdateVirtualService,
updateVirtualService_clientToken,
updateVirtualService_meshOwner,
updateVirtualService_meshName,
updateVirtualService_spec,
updateVirtualService_virtualServiceName,
UpdateVirtualServiceResponse (..),
newUpdateVirtualServiceResponse,
updateVirtualServiceResponse_httpStatus,
updateVirtualServiceResponse_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 UpdateVirtualService = UpdateVirtualService'
{
UpdateVirtualService -> Maybe Text
clientToken :: Prelude.Maybe Prelude.Text,
UpdateVirtualService -> Maybe Text
meshOwner :: Prelude.Maybe Prelude.Text,
UpdateVirtualService -> Text
meshName :: Prelude.Text,
UpdateVirtualService -> VirtualServiceSpec
spec :: VirtualServiceSpec,
UpdateVirtualService -> Text
virtualServiceName :: Prelude.Text
}
deriving (UpdateVirtualService -> UpdateVirtualService -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateVirtualService -> UpdateVirtualService -> Bool
$c/= :: UpdateVirtualService -> UpdateVirtualService -> Bool
== :: UpdateVirtualService -> UpdateVirtualService -> Bool
$c== :: UpdateVirtualService -> UpdateVirtualService -> Bool
Prelude.Eq, ReadPrec [UpdateVirtualService]
ReadPrec UpdateVirtualService
Int -> ReadS UpdateVirtualService
ReadS [UpdateVirtualService]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateVirtualService]
$creadListPrec :: ReadPrec [UpdateVirtualService]
readPrec :: ReadPrec UpdateVirtualService
$creadPrec :: ReadPrec UpdateVirtualService
readList :: ReadS [UpdateVirtualService]
$creadList :: ReadS [UpdateVirtualService]
readsPrec :: Int -> ReadS UpdateVirtualService
$creadsPrec :: Int -> ReadS UpdateVirtualService
Prelude.Read, Int -> UpdateVirtualService -> ShowS
[UpdateVirtualService] -> ShowS
UpdateVirtualService -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateVirtualService] -> ShowS
$cshowList :: [UpdateVirtualService] -> ShowS
show :: UpdateVirtualService -> String
$cshow :: UpdateVirtualService -> String
showsPrec :: Int -> UpdateVirtualService -> ShowS
$cshowsPrec :: Int -> UpdateVirtualService -> ShowS
Prelude.Show, forall x. Rep UpdateVirtualService x -> UpdateVirtualService
forall x. UpdateVirtualService -> Rep UpdateVirtualService x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep UpdateVirtualService x -> UpdateVirtualService
$cfrom :: forall x. UpdateVirtualService -> Rep UpdateVirtualService x
Prelude.Generic)
newUpdateVirtualService ::
Prelude.Text ->
VirtualServiceSpec ->
Prelude.Text ->
UpdateVirtualService
newUpdateVirtualService :: Text -> VirtualServiceSpec -> Text -> UpdateVirtualService
newUpdateVirtualService
Text
pMeshName_
VirtualServiceSpec
pSpec_
Text
pVirtualServiceName_ =
UpdateVirtualService'
{ $sel:clientToken:UpdateVirtualService' :: Maybe Text
clientToken =
forall a. Maybe a
Prelude.Nothing,
$sel:meshOwner:UpdateVirtualService' :: Maybe Text
meshOwner = forall a. Maybe a
Prelude.Nothing,
$sel:meshName:UpdateVirtualService' :: Text
meshName = Text
pMeshName_,
$sel:spec:UpdateVirtualService' :: VirtualServiceSpec
spec = VirtualServiceSpec
pSpec_,
$sel:virtualServiceName:UpdateVirtualService' :: Text
virtualServiceName = Text
pVirtualServiceName_
}
updateVirtualService_clientToken :: Lens.Lens' UpdateVirtualService (Prelude.Maybe Prelude.Text)
updateVirtualService_clientToken :: Lens' UpdateVirtualService (Maybe Text)
updateVirtualService_clientToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateVirtualService' {Maybe Text
clientToken :: Maybe Text
$sel:clientToken:UpdateVirtualService' :: UpdateVirtualService -> Maybe Text
clientToken} -> Maybe Text
clientToken) (\s :: UpdateVirtualService
s@UpdateVirtualService' {} Maybe Text
a -> UpdateVirtualService
s {$sel:clientToken:UpdateVirtualService' :: Maybe Text
clientToken = Maybe Text
a} :: UpdateVirtualService)
updateVirtualService_meshOwner :: Lens.Lens' UpdateVirtualService (Prelude.Maybe Prelude.Text)
updateVirtualService_meshOwner :: Lens' UpdateVirtualService (Maybe Text)
updateVirtualService_meshOwner = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateVirtualService' {Maybe Text
meshOwner :: Maybe Text
$sel:meshOwner:UpdateVirtualService' :: UpdateVirtualService -> Maybe Text
meshOwner} -> Maybe Text
meshOwner) (\s :: UpdateVirtualService
s@UpdateVirtualService' {} Maybe Text
a -> UpdateVirtualService
s {$sel:meshOwner:UpdateVirtualService' :: Maybe Text
meshOwner = Maybe Text
a} :: UpdateVirtualService)
updateVirtualService_meshName :: Lens.Lens' UpdateVirtualService Prelude.Text
updateVirtualService_meshName :: Lens' UpdateVirtualService Text
updateVirtualService_meshName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateVirtualService' {Text
meshName :: Text
$sel:meshName:UpdateVirtualService' :: UpdateVirtualService -> Text
meshName} -> Text
meshName) (\s :: UpdateVirtualService
s@UpdateVirtualService' {} Text
a -> UpdateVirtualService
s {$sel:meshName:UpdateVirtualService' :: Text
meshName = Text
a} :: UpdateVirtualService)
updateVirtualService_spec :: Lens.Lens' UpdateVirtualService VirtualServiceSpec
updateVirtualService_spec :: Lens' UpdateVirtualService VirtualServiceSpec
updateVirtualService_spec = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateVirtualService' {VirtualServiceSpec
spec :: VirtualServiceSpec
$sel:spec:UpdateVirtualService' :: UpdateVirtualService -> VirtualServiceSpec
spec} -> VirtualServiceSpec
spec) (\s :: UpdateVirtualService
s@UpdateVirtualService' {} VirtualServiceSpec
a -> UpdateVirtualService
s {$sel:spec:UpdateVirtualService' :: VirtualServiceSpec
spec = VirtualServiceSpec
a} :: UpdateVirtualService)
updateVirtualService_virtualServiceName :: Lens.Lens' UpdateVirtualService Prelude.Text
updateVirtualService_virtualServiceName :: Lens' UpdateVirtualService Text
updateVirtualService_virtualServiceName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateVirtualService' {Text
virtualServiceName :: Text
$sel:virtualServiceName:UpdateVirtualService' :: UpdateVirtualService -> Text
virtualServiceName} -> Text
virtualServiceName) (\s :: UpdateVirtualService
s@UpdateVirtualService' {} Text
a -> UpdateVirtualService
s {$sel:virtualServiceName:UpdateVirtualService' :: Text
virtualServiceName = Text
a} :: UpdateVirtualService)
instance Core.AWSRequest UpdateVirtualService where
type
AWSResponse UpdateVirtualService =
UpdateVirtualServiceResponse
request :: (Service -> Service)
-> UpdateVirtualService -> Request UpdateVirtualService
request Service -> Service
overrides =
forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.putJSON (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy UpdateVirtualService
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse UpdateVirtualService)))
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 -> UpdateVirtualServiceResponse
UpdateVirtualServiceResponse'
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 UpdateVirtualService where
hashWithSalt :: Int -> UpdateVirtualService -> Int
hashWithSalt Int
_salt UpdateVirtualService' {Maybe Text
Text
VirtualServiceSpec
virtualServiceName :: Text
spec :: VirtualServiceSpec
meshName :: Text
meshOwner :: Maybe Text
clientToken :: Maybe Text
$sel:virtualServiceName:UpdateVirtualService' :: UpdateVirtualService -> Text
$sel:spec:UpdateVirtualService' :: UpdateVirtualService -> VirtualServiceSpec
$sel:meshName:UpdateVirtualService' :: UpdateVirtualService -> Text
$sel:meshOwner:UpdateVirtualService' :: UpdateVirtualService -> Maybe Text
$sel:clientToken:UpdateVirtualService' :: UpdateVirtualService -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
clientToken
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` VirtualServiceSpec
spec
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
virtualServiceName
instance Prelude.NFData UpdateVirtualService where
rnf :: UpdateVirtualService -> ()
rnf UpdateVirtualService' {Maybe Text
Text
VirtualServiceSpec
virtualServiceName :: Text
spec :: VirtualServiceSpec
meshName :: Text
meshOwner :: Maybe Text
clientToken :: Maybe Text
$sel:virtualServiceName:UpdateVirtualService' :: UpdateVirtualService -> Text
$sel:spec:UpdateVirtualService' :: UpdateVirtualService -> VirtualServiceSpec
$sel:meshName:UpdateVirtualService' :: UpdateVirtualService -> Text
$sel:meshOwner:UpdateVirtualService' :: UpdateVirtualService -> Maybe Text
$sel:clientToken:UpdateVirtualService' :: UpdateVirtualService -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
clientToken
seq :: forall a b. a -> b -> b
`Prelude.seq` 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 VirtualServiceSpec
spec
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
virtualServiceName
instance Data.ToHeaders UpdateVirtualService where
toHeaders :: UpdateVirtualService -> 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 UpdateVirtualService where
toJSON :: UpdateVirtualService -> Value
toJSON UpdateVirtualService' {Maybe Text
Text
VirtualServiceSpec
virtualServiceName :: Text
spec :: VirtualServiceSpec
meshName :: Text
meshOwner :: Maybe Text
clientToken :: Maybe Text
$sel:virtualServiceName:UpdateVirtualService' :: UpdateVirtualService -> Text
$sel:spec:UpdateVirtualService' :: UpdateVirtualService -> VirtualServiceSpec
$sel:meshName:UpdateVirtualService' :: UpdateVirtualService -> Text
$sel:meshOwner:UpdateVirtualService' :: UpdateVirtualService -> Maybe Text
$sel:clientToken:UpdateVirtualService' :: UpdateVirtualService -> Maybe Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"clientToken" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
clientToken,
forall a. a -> Maybe a
Prelude.Just (Key
"spec" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= VirtualServiceSpec
spec)
]
)
instance Data.ToPath UpdateVirtualService where
toPath :: UpdateVirtualService -> ByteString
toPath UpdateVirtualService' {Maybe Text
Text
VirtualServiceSpec
virtualServiceName :: Text
spec :: VirtualServiceSpec
meshName :: Text
meshOwner :: Maybe Text
clientToken :: Maybe Text
$sel:virtualServiceName:UpdateVirtualService' :: UpdateVirtualService -> Text
$sel:spec:UpdateVirtualService' :: UpdateVirtualService -> VirtualServiceSpec
$sel:meshName:UpdateVirtualService' :: UpdateVirtualService -> Text
$sel:meshOwner:UpdateVirtualService' :: UpdateVirtualService -> Maybe Text
$sel:clientToken:UpdateVirtualService' :: UpdateVirtualService -> 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 UpdateVirtualService where
toQuery :: UpdateVirtualService -> QueryString
toQuery UpdateVirtualService' {Maybe Text
Text
VirtualServiceSpec
virtualServiceName :: Text
spec :: VirtualServiceSpec
meshName :: Text
meshOwner :: Maybe Text
clientToken :: Maybe Text
$sel:virtualServiceName:UpdateVirtualService' :: UpdateVirtualService -> Text
$sel:spec:UpdateVirtualService' :: UpdateVirtualService -> VirtualServiceSpec
$sel:meshName:UpdateVirtualService' :: UpdateVirtualService -> Text
$sel:meshOwner:UpdateVirtualService' :: UpdateVirtualService -> Maybe Text
$sel:clientToken:UpdateVirtualService' :: UpdateVirtualService -> Maybe Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat [ByteString
"meshOwner" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
meshOwner]
data UpdateVirtualServiceResponse = UpdateVirtualServiceResponse'
{
UpdateVirtualServiceResponse -> Int
httpStatus :: Prelude.Int,
UpdateVirtualServiceResponse -> VirtualServiceData
virtualService :: VirtualServiceData
}
deriving (UpdateVirtualServiceResponse
-> UpdateVirtualServiceResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateVirtualServiceResponse
-> UpdateVirtualServiceResponse -> Bool
$c/= :: UpdateVirtualServiceResponse
-> UpdateVirtualServiceResponse -> Bool
== :: UpdateVirtualServiceResponse
-> UpdateVirtualServiceResponse -> Bool
$c== :: UpdateVirtualServiceResponse
-> UpdateVirtualServiceResponse -> Bool
Prelude.Eq, ReadPrec [UpdateVirtualServiceResponse]
ReadPrec UpdateVirtualServiceResponse
Int -> ReadS UpdateVirtualServiceResponse
ReadS [UpdateVirtualServiceResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateVirtualServiceResponse]
$creadListPrec :: ReadPrec [UpdateVirtualServiceResponse]
readPrec :: ReadPrec UpdateVirtualServiceResponse
$creadPrec :: ReadPrec UpdateVirtualServiceResponse
readList :: ReadS [UpdateVirtualServiceResponse]
$creadList :: ReadS [UpdateVirtualServiceResponse]
readsPrec :: Int -> ReadS UpdateVirtualServiceResponse
$creadsPrec :: Int -> ReadS UpdateVirtualServiceResponse
Prelude.Read, Int -> UpdateVirtualServiceResponse -> ShowS
[UpdateVirtualServiceResponse] -> ShowS
UpdateVirtualServiceResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateVirtualServiceResponse] -> ShowS
$cshowList :: [UpdateVirtualServiceResponse] -> ShowS
show :: UpdateVirtualServiceResponse -> String
$cshow :: UpdateVirtualServiceResponse -> String
showsPrec :: Int -> UpdateVirtualServiceResponse -> ShowS
$cshowsPrec :: Int -> UpdateVirtualServiceResponse -> ShowS
Prelude.Show, forall x.
Rep UpdateVirtualServiceResponse x -> UpdateVirtualServiceResponse
forall x.
UpdateVirtualServiceResponse -> Rep UpdateVirtualServiceResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdateVirtualServiceResponse x -> UpdateVirtualServiceResponse
$cfrom :: forall x.
UpdateVirtualServiceResponse -> Rep UpdateVirtualServiceResponse x
Prelude.Generic)
newUpdateVirtualServiceResponse ::
Prelude.Int ->
VirtualServiceData ->
UpdateVirtualServiceResponse
newUpdateVirtualServiceResponse :: Int -> VirtualServiceData -> UpdateVirtualServiceResponse
newUpdateVirtualServiceResponse
Int
pHttpStatus_
VirtualServiceData
pVirtualService_ =
UpdateVirtualServiceResponse'
{ $sel:httpStatus:UpdateVirtualServiceResponse' :: Int
httpStatus =
Int
pHttpStatus_,
$sel:virtualService:UpdateVirtualServiceResponse' :: VirtualServiceData
virtualService = VirtualServiceData
pVirtualService_
}
updateVirtualServiceResponse_httpStatus :: Lens.Lens' UpdateVirtualServiceResponse Prelude.Int
updateVirtualServiceResponse_httpStatus :: Lens' UpdateVirtualServiceResponse Int
updateVirtualServiceResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateVirtualServiceResponse' {Int
httpStatus :: Int
$sel:httpStatus:UpdateVirtualServiceResponse' :: UpdateVirtualServiceResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: UpdateVirtualServiceResponse
s@UpdateVirtualServiceResponse' {} Int
a -> UpdateVirtualServiceResponse
s {$sel:httpStatus:UpdateVirtualServiceResponse' :: Int
httpStatus = Int
a} :: UpdateVirtualServiceResponse)
updateVirtualServiceResponse_virtualService :: Lens.Lens' UpdateVirtualServiceResponse VirtualServiceData
updateVirtualServiceResponse_virtualService :: Lens' UpdateVirtualServiceResponse VirtualServiceData
updateVirtualServiceResponse_virtualService = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateVirtualServiceResponse' {VirtualServiceData
virtualService :: VirtualServiceData
$sel:virtualService:UpdateVirtualServiceResponse' :: UpdateVirtualServiceResponse -> VirtualServiceData
virtualService} -> VirtualServiceData
virtualService) (\s :: UpdateVirtualServiceResponse
s@UpdateVirtualServiceResponse' {} VirtualServiceData
a -> UpdateVirtualServiceResponse
s {$sel:virtualService:UpdateVirtualServiceResponse' :: VirtualServiceData
virtualService = VirtualServiceData
a} :: UpdateVirtualServiceResponse)
instance Prelude.NFData UpdateVirtualServiceResponse where
rnf :: UpdateVirtualServiceResponse -> ()
rnf UpdateVirtualServiceResponse' {Int
VirtualServiceData
virtualService :: VirtualServiceData
httpStatus :: Int
$sel:virtualService:UpdateVirtualServiceResponse' :: UpdateVirtualServiceResponse -> VirtualServiceData
$sel:httpStatus:UpdateVirtualServiceResponse' :: UpdateVirtualServiceResponse -> 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