{-# 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.UpdateVirtualNode
(
UpdateVirtualNode (..),
newUpdateVirtualNode,
updateVirtualNode_clientToken,
updateVirtualNode_meshOwner,
updateVirtualNode_meshName,
updateVirtualNode_spec,
updateVirtualNode_virtualNodeName,
UpdateVirtualNodeResponse (..),
newUpdateVirtualNodeResponse,
updateVirtualNodeResponse_httpStatus,
updateVirtualNodeResponse_virtualNode,
)
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 UpdateVirtualNode = UpdateVirtualNode'
{
UpdateVirtualNode -> Maybe Text
clientToken :: Prelude.Maybe Prelude.Text,
UpdateVirtualNode -> Maybe Text
meshOwner :: Prelude.Maybe Prelude.Text,
UpdateVirtualNode -> Text
meshName :: Prelude.Text,
UpdateVirtualNode -> VirtualNodeSpec
spec :: VirtualNodeSpec,
UpdateVirtualNode -> Text
virtualNodeName :: Prelude.Text
}
deriving (UpdateVirtualNode -> UpdateVirtualNode -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateVirtualNode -> UpdateVirtualNode -> Bool
$c/= :: UpdateVirtualNode -> UpdateVirtualNode -> Bool
== :: UpdateVirtualNode -> UpdateVirtualNode -> Bool
$c== :: UpdateVirtualNode -> UpdateVirtualNode -> Bool
Prelude.Eq, ReadPrec [UpdateVirtualNode]
ReadPrec UpdateVirtualNode
Int -> ReadS UpdateVirtualNode
ReadS [UpdateVirtualNode]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateVirtualNode]
$creadListPrec :: ReadPrec [UpdateVirtualNode]
readPrec :: ReadPrec UpdateVirtualNode
$creadPrec :: ReadPrec UpdateVirtualNode
readList :: ReadS [UpdateVirtualNode]
$creadList :: ReadS [UpdateVirtualNode]
readsPrec :: Int -> ReadS UpdateVirtualNode
$creadsPrec :: Int -> ReadS UpdateVirtualNode
Prelude.Read, Int -> UpdateVirtualNode -> ShowS
[UpdateVirtualNode] -> ShowS
UpdateVirtualNode -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateVirtualNode] -> ShowS
$cshowList :: [UpdateVirtualNode] -> ShowS
show :: UpdateVirtualNode -> String
$cshow :: UpdateVirtualNode -> String
showsPrec :: Int -> UpdateVirtualNode -> ShowS
$cshowsPrec :: Int -> UpdateVirtualNode -> ShowS
Prelude.Show, forall x. Rep UpdateVirtualNode x -> UpdateVirtualNode
forall x. UpdateVirtualNode -> Rep UpdateVirtualNode x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep UpdateVirtualNode x -> UpdateVirtualNode
$cfrom :: forall x. UpdateVirtualNode -> Rep UpdateVirtualNode x
Prelude.Generic)
newUpdateVirtualNode ::
Prelude.Text ->
VirtualNodeSpec ->
Prelude.Text ->
UpdateVirtualNode
newUpdateVirtualNode :: Text -> VirtualNodeSpec -> Text -> UpdateVirtualNode
newUpdateVirtualNode
Text
pMeshName_
VirtualNodeSpec
pSpec_
Text
pVirtualNodeName_ =
UpdateVirtualNode'
{ $sel:clientToken:UpdateVirtualNode' :: Maybe Text
clientToken = forall a. Maybe a
Prelude.Nothing,
$sel:meshOwner:UpdateVirtualNode' :: Maybe Text
meshOwner = forall a. Maybe a
Prelude.Nothing,
$sel:meshName:UpdateVirtualNode' :: Text
meshName = Text
pMeshName_,
$sel:spec:UpdateVirtualNode' :: VirtualNodeSpec
spec = VirtualNodeSpec
pSpec_,
$sel:virtualNodeName:UpdateVirtualNode' :: Text
virtualNodeName = Text
pVirtualNodeName_
}
updateVirtualNode_clientToken :: Lens.Lens' UpdateVirtualNode (Prelude.Maybe Prelude.Text)
updateVirtualNode_clientToken :: Lens' UpdateVirtualNode (Maybe Text)
updateVirtualNode_clientToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateVirtualNode' {Maybe Text
clientToken :: Maybe Text
$sel:clientToken:UpdateVirtualNode' :: UpdateVirtualNode -> Maybe Text
clientToken} -> Maybe Text
clientToken) (\s :: UpdateVirtualNode
s@UpdateVirtualNode' {} Maybe Text
a -> UpdateVirtualNode
s {$sel:clientToken:UpdateVirtualNode' :: Maybe Text
clientToken = Maybe Text
a} :: UpdateVirtualNode)
updateVirtualNode_meshOwner :: Lens.Lens' UpdateVirtualNode (Prelude.Maybe Prelude.Text)
updateVirtualNode_meshOwner :: Lens' UpdateVirtualNode (Maybe Text)
updateVirtualNode_meshOwner = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateVirtualNode' {Maybe Text
meshOwner :: Maybe Text
$sel:meshOwner:UpdateVirtualNode' :: UpdateVirtualNode -> Maybe Text
meshOwner} -> Maybe Text
meshOwner) (\s :: UpdateVirtualNode
s@UpdateVirtualNode' {} Maybe Text
a -> UpdateVirtualNode
s {$sel:meshOwner:UpdateVirtualNode' :: Maybe Text
meshOwner = Maybe Text
a} :: UpdateVirtualNode)
updateVirtualNode_meshName :: Lens.Lens' UpdateVirtualNode Prelude.Text
updateVirtualNode_meshName :: Lens' UpdateVirtualNode Text
updateVirtualNode_meshName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateVirtualNode' {Text
meshName :: Text
$sel:meshName:UpdateVirtualNode' :: UpdateVirtualNode -> Text
meshName} -> Text
meshName) (\s :: UpdateVirtualNode
s@UpdateVirtualNode' {} Text
a -> UpdateVirtualNode
s {$sel:meshName:UpdateVirtualNode' :: Text
meshName = Text
a} :: UpdateVirtualNode)
updateVirtualNode_spec :: Lens.Lens' UpdateVirtualNode VirtualNodeSpec
updateVirtualNode_spec :: Lens' UpdateVirtualNode VirtualNodeSpec
updateVirtualNode_spec = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateVirtualNode' {VirtualNodeSpec
spec :: VirtualNodeSpec
$sel:spec:UpdateVirtualNode' :: UpdateVirtualNode -> VirtualNodeSpec
spec} -> VirtualNodeSpec
spec) (\s :: UpdateVirtualNode
s@UpdateVirtualNode' {} VirtualNodeSpec
a -> UpdateVirtualNode
s {$sel:spec:UpdateVirtualNode' :: VirtualNodeSpec
spec = VirtualNodeSpec
a} :: UpdateVirtualNode)
updateVirtualNode_virtualNodeName :: Lens.Lens' UpdateVirtualNode Prelude.Text
updateVirtualNode_virtualNodeName :: Lens' UpdateVirtualNode Text
updateVirtualNode_virtualNodeName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateVirtualNode' {Text
virtualNodeName :: Text
$sel:virtualNodeName:UpdateVirtualNode' :: UpdateVirtualNode -> Text
virtualNodeName} -> Text
virtualNodeName) (\s :: UpdateVirtualNode
s@UpdateVirtualNode' {} Text
a -> UpdateVirtualNode
s {$sel:virtualNodeName:UpdateVirtualNode' :: Text
virtualNodeName = Text
a} :: UpdateVirtualNode)
instance Core.AWSRequest UpdateVirtualNode where
type
AWSResponse UpdateVirtualNode =
UpdateVirtualNodeResponse
request :: (Service -> Service)
-> UpdateVirtualNode -> Request UpdateVirtualNode
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 UpdateVirtualNode
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse UpdateVirtualNode)))
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 -> VirtualNodeData -> UpdateVirtualNodeResponse
UpdateVirtualNodeResponse'
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 UpdateVirtualNode where
hashWithSalt :: Int -> UpdateVirtualNode -> Int
hashWithSalt Int
_salt UpdateVirtualNode' {Maybe Text
Text
VirtualNodeSpec
virtualNodeName :: Text
spec :: VirtualNodeSpec
meshName :: Text
meshOwner :: Maybe Text
clientToken :: Maybe Text
$sel:virtualNodeName:UpdateVirtualNode' :: UpdateVirtualNode -> Text
$sel:spec:UpdateVirtualNode' :: UpdateVirtualNode -> VirtualNodeSpec
$sel:meshName:UpdateVirtualNode' :: UpdateVirtualNode -> Text
$sel:meshOwner:UpdateVirtualNode' :: UpdateVirtualNode -> Maybe Text
$sel:clientToken:UpdateVirtualNode' :: UpdateVirtualNode -> 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` VirtualNodeSpec
spec
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
virtualNodeName
instance Prelude.NFData UpdateVirtualNode where
rnf :: UpdateVirtualNode -> ()
rnf UpdateVirtualNode' {Maybe Text
Text
VirtualNodeSpec
virtualNodeName :: Text
spec :: VirtualNodeSpec
meshName :: Text
meshOwner :: Maybe Text
clientToken :: Maybe Text
$sel:virtualNodeName:UpdateVirtualNode' :: UpdateVirtualNode -> Text
$sel:spec:UpdateVirtualNode' :: UpdateVirtualNode -> VirtualNodeSpec
$sel:meshName:UpdateVirtualNode' :: UpdateVirtualNode -> Text
$sel:meshOwner:UpdateVirtualNode' :: UpdateVirtualNode -> Maybe Text
$sel:clientToken:UpdateVirtualNode' :: UpdateVirtualNode -> 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 VirtualNodeSpec
spec
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
virtualNodeName
instance Data.ToHeaders UpdateVirtualNode where
toHeaders :: UpdateVirtualNode -> 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 UpdateVirtualNode where
toJSON :: UpdateVirtualNode -> Value
toJSON UpdateVirtualNode' {Maybe Text
Text
VirtualNodeSpec
virtualNodeName :: Text
spec :: VirtualNodeSpec
meshName :: Text
meshOwner :: Maybe Text
clientToken :: Maybe Text
$sel:virtualNodeName:UpdateVirtualNode' :: UpdateVirtualNode -> Text
$sel:spec:UpdateVirtualNode' :: UpdateVirtualNode -> VirtualNodeSpec
$sel:meshName:UpdateVirtualNode' :: UpdateVirtualNode -> Text
$sel:meshOwner:UpdateVirtualNode' :: UpdateVirtualNode -> Maybe Text
$sel:clientToken:UpdateVirtualNode' :: UpdateVirtualNode -> 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..= VirtualNodeSpec
spec)
]
)
instance Data.ToPath UpdateVirtualNode where
toPath :: UpdateVirtualNode -> ByteString
toPath UpdateVirtualNode' {Maybe Text
Text
VirtualNodeSpec
virtualNodeName :: Text
spec :: VirtualNodeSpec
meshName :: Text
meshOwner :: Maybe Text
clientToken :: Maybe Text
$sel:virtualNodeName:UpdateVirtualNode' :: UpdateVirtualNode -> Text
$sel:spec:UpdateVirtualNode' :: UpdateVirtualNode -> VirtualNodeSpec
$sel:meshName:UpdateVirtualNode' :: UpdateVirtualNode -> Text
$sel:meshOwner:UpdateVirtualNode' :: UpdateVirtualNode -> Maybe Text
$sel:clientToken:UpdateVirtualNode' :: UpdateVirtualNode -> Maybe Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"/v20190125/meshes/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
meshName,
ByteString
"/virtualNodes/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
virtualNodeName
]
instance Data.ToQuery UpdateVirtualNode where
toQuery :: UpdateVirtualNode -> QueryString
toQuery UpdateVirtualNode' {Maybe Text
Text
VirtualNodeSpec
virtualNodeName :: Text
spec :: VirtualNodeSpec
meshName :: Text
meshOwner :: Maybe Text
clientToken :: Maybe Text
$sel:virtualNodeName:UpdateVirtualNode' :: UpdateVirtualNode -> Text
$sel:spec:UpdateVirtualNode' :: UpdateVirtualNode -> VirtualNodeSpec
$sel:meshName:UpdateVirtualNode' :: UpdateVirtualNode -> Text
$sel:meshOwner:UpdateVirtualNode' :: UpdateVirtualNode -> Maybe Text
$sel:clientToken:UpdateVirtualNode' :: UpdateVirtualNode -> Maybe Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat [ByteString
"meshOwner" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
meshOwner]
data UpdateVirtualNodeResponse = UpdateVirtualNodeResponse'
{
UpdateVirtualNodeResponse -> Int
httpStatus :: Prelude.Int,
UpdateVirtualNodeResponse -> VirtualNodeData
virtualNode :: VirtualNodeData
}
deriving (UpdateVirtualNodeResponse -> UpdateVirtualNodeResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateVirtualNodeResponse -> UpdateVirtualNodeResponse -> Bool
$c/= :: UpdateVirtualNodeResponse -> UpdateVirtualNodeResponse -> Bool
== :: UpdateVirtualNodeResponse -> UpdateVirtualNodeResponse -> Bool
$c== :: UpdateVirtualNodeResponse -> UpdateVirtualNodeResponse -> Bool
Prelude.Eq, ReadPrec [UpdateVirtualNodeResponse]
ReadPrec UpdateVirtualNodeResponse
Int -> ReadS UpdateVirtualNodeResponse
ReadS [UpdateVirtualNodeResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateVirtualNodeResponse]
$creadListPrec :: ReadPrec [UpdateVirtualNodeResponse]
readPrec :: ReadPrec UpdateVirtualNodeResponse
$creadPrec :: ReadPrec UpdateVirtualNodeResponse
readList :: ReadS [UpdateVirtualNodeResponse]
$creadList :: ReadS [UpdateVirtualNodeResponse]
readsPrec :: Int -> ReadS UpdateVirtualNodeResponse
$creadsPrec :: Int -> ReadS UpdateVirtualNodeResponse
Prelude.Read, Int -> UpdateVirtualNodeResponse -> ShowS
[UpdateVirtualNodeResponse] -> ShowS
UpdateVirtualNodeResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateVirtualNodeResponse] -> ShowS
$cshowList :: [UpdateVirtualNodeResponse] -> ShowS
show :: UpdateVirtualNodeResponse -> String
$cshow :: UpdateVirtualNodeResponse -> String
showsPrec :: Int -> UpdateVirtualNodeResponse -> ShowS
$cshowsPrec :: Int -> UpdateVirtualNodeResponse -> ShowS
Prelude.Show, forall x.
Rep UpdateVirtualNodeResponse x -> UpdateVirtualNodeResponse
forall x.
UpdateVirtualNodeResponse -> Rep UpdateVirtualNodeResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdateVirtualNodeResponse x -> UpdateVirtualNodeResponse
$cfrom :: forall x.
UpdateVirtualNodeResponse -> Rep UpdateVirtualNodeResponse x
Prelude.Generic)
newUpdateVirtualNodeResponse ::
Prelude.Int ->
VirtualNodeData ->
UpdateVirtualNodeResponse
newUpdateVirtualNodeResponse :: Int -> VirtualNodeData -> UpdateVirtualNodeResponse
newUpdateVirtualNodeResponse
Int
pHttpStatus_
VirtualNodeData
pVirtualNode_ =
UpdateVirtualNodeResponse'
{ $sel:httpStatus:UpdateVirtualNodeResponse' :: Int
httpStatus =
Int
pHttpStatus_,
$sel:virtualNode:UpdateVirtualNodeResponse' :: VirtualNodeData
virtualNode = VirtualNodeData
pVirtualNode_
}
updateVirtualNodeResponse_httpStatus :: Lens.Lens' UpdateVirtualNodeResponse Prelude.Int
updateVirtualNodeResponse_httpStatus :: Lens' UpdateVirtualNodeResponse Int
updateVirtualNodeResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateVirtualNodeResponse' {Int
httpStatus :: Int
$sel:httpStatus:UpdateVirtualNodeResponse' :: UpdateVirtualNodeResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: UpdateVirtualNodeResponse
s@UpdateVirtualNodeResponse' {} Int
a -> UpdateVirtualNodeResponse
s {$sel:httpStatus:UpdateVirtualNodeResponse' :: Int
httpStatus = Int
a} :: UpdateVirtualNodeResponse)
updateVirtualNodeResponse_virtualNode :: Lens.Lens' UpdateVirtualNodeResponse VirtualNodeData
updateVirtualNodeResponse_virtualNode :: Lens' UpdateVirtualNodeResponse VirtualNodeData
updateVirtualNodeResponse_virtualNode = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateVirtualNodeResponse' {VirtualNodeData
virtualNode :: VirtualNodeData
$sel:virtualNode:UpdateVirtualNodeResponse' :: UpdateVirtualNodeResponse -> VirtualNodeData
virtualNode} -> VirtualNodeData
virtualNode) (\s :: UpdateVirtualNodeResponse
s@UpdateVirtualNodeResponse' {} VirtualNodeData
a -> UpdateVirtualNodeResponse
s {$sel:virtualNode:UpdateVirtualNodeResponse' :: VirtualNodeData
virtualNode = VirtualNodeData
a} :: UpdateVirtualNodeResponse)
instance Prelude.NFData UpdateVirtualNodeResponse where
rnf :: UpdateVirtualNodeResponse -> ()
rnf UpdateVirtualNodeResponse' {Int
VirtualNodeData
virtualNode :: VirtualNodeData
httpStatus :: Int
$sel:virtualNode:UpdateVirtualNodeResponse' :: UpdateVirtualNodeResponse -> VirtualNodeData
$sel:httpStatus:UpdateVirtualNodeResponse' :: UpdateVirtualNodeResponse -> 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 VirtualNodeData
virtualNode