{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
module Amazonka.AppMesh.Types.VirtualNodeData where
import Amazonka.AppMesh.Types.ResourceMetadata
import Amazonka.AppMesh.Types.VirtualNodeSpec
import Amazonka.AppMesh.Types.VirtualNodeStatus
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
data VirtualNodeData = VirtualNodeData'
{
VirtualNodeData -> Text
meshName :: Prelude.Text,
VirtualNodeData -> ResourceMetadata
metadata :: ResourceMetadata,
VirtualNodeData -> VirtualNodeSpec
spec :: VirtualNodeSpec,
VirtualNodeData -> VirtualNodeStatus
status :: VirtualNodeStatus,
VirtualNodeData -> Text
virtualNodeName :: Prelude.Text
}
deriving (VirtualNodeData -> VirtualNodeData -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: VirtualNodeData -> VirtualNodeData -> Bool
$c/= :: VirtualNodeData -> VirtualNodeData -> Bool
== :: VirtualNodeData -> VirtualNodeData -> Bool
$c== :: VirtualNodeData -> VirtualNodeData -> Bool
Prelude.Eq, ReadPrec [VirtualNodeData]
ReadPrec VirtualNodeData
Int -> ReadS VirtualNodeData
ReadS [VirtualNodeData]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [VirtualNodeData]
$creadListPrec :: ReadPrec [VirtualNodeData]
readPrec :: ReadPrec VirtualNodeData
$creadPrec :: ReadPrec VirtualNodeData
readList :: ReadS [VirtualNodeData]
$creadList :: ReadS [VirtualNodeData]
readsPrec :: Int -> ReadS VirtualNodeData
$creadsPrec :: Int -> ReadS VirtualNodeData
Prelude.Read, Int -> VirtualNodeData -> ShowS
[VirtualNodeData] -> ShowS
VirtualNodeData -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [VirtualNodeData] -> ShowS
$cshowList :: [VirtualNodeData] -> ShowS
show :: VirtualNodeData -> String
$cshow :: VirtualNodeData -> String
showsPrec :: Int -> VirtualNodeData -> ShowS
$cshowsPrec :: Int -> VirtualNodeData -> ShowS
Prelude.Show, forall x. Rep VirtualNodeData x -> VirtualNodeData
forall x. VirtualNodeData -> Rep VirtualNodeData x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep VirtualNodeData x -> VirtualNodeData
$cfrom :: forall x. VirtualNodeData -> Rep VirtualNodeData x
Prelude.Generic)
newVirtualNodeData ::
Prelude.Text ->
ResourceMetadata ->
VirtualNodeSpec ->
VirtualNodeStatus ->
Prelude.Text ->
VirtualNodeData
newVirtualNodeData :: Text
-> ResourceMetadata
-> VirtualNodeSpec
-> VirtualNodeStatus
-> Text
-> VirtualNodeData
newVirtualNodeData
Text
pMeshName_
ResourceMetadata
pMetadata_
VirtualNodeSpec
pSpec_
VirtualNodeStatus
pStatus_
Text
pVirtualNodeName_ =
VirtualNodeData'
{ $sel:meshName:VirtualNodeData' :: Text
meshName = Text
pMeshName_,
$sel:metadata:VirtualNodeData' :: ResourceMetadata
metadata = ResourceMetadata
pMetadata_,
$sel:spec:VirtualNodeData' :: VirtualNodeSpec
spec = VirtualNodeSpec
pSpec_,
$sel:status:VirtualNodeData' :: VirtualNodeStatus
status = VirtualNodeStatus
pStatus_,
$sel:virtualNodeName:VirtualNodeData' :: Text
virtualNodeName = Text
pVirtualNodeName_
}
virtualNodeData_meshName :: Lens.Lens' VirtualNodeData Prelude.Text
virtualNodeData_meshName :: Lens' VirtualNodeData Text
virtualNodeData_meshName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\VirtualNodeData' {Text
meshName :: Text
$sel:meshName:VirtualNodeData' :: VirtualNodeData -> Text
meshName} -> Text
meshName) (\s :: VirtualNodeData
s@VirtualNodeData' {} Text
a -> VirtualNodeData
s {$sel:meshName:VirtualNodeData' :: Text
meshName = Text
a} :: VirtualNodeData)
virtualNodeData_metadata :: Lens.Lens' VirtualNodeData ResourceMetadata
virtualNodeData_metadata :: Lens' VirtualNodeData ResourceMetadata
virtualNodeData_metadata = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\VirtualNodeData' {ResourceMetadata
metadata :: ResourceMetadata
$sel:metadata:VirtualNodeData' :: VirtualNodeData -> ResourceMetadata
metadata} -> ResourceMetadata
metadata) (\s :: VirtualNodeData
s@VirtualNodeData' {} ResourceMetadata
a -> VirtualNodeData
s {$sel:metadata:VirtualNodeData' :: ResourceMetadata
metadata = ResourceMetadata
a} :: VirtualNodeData)
virtualNodeData_spec :: Lens.Lens' VirtualNodeData VirtualNodeSpec
virtualNodeData_spec :: Lens' VirtualNodeData VirtualNodeSpec
virtualNodeData_spec = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\VirtualNodeData' {VirtualNodeSpec
spec :: VirtualNodeSpec
$sel:spec:VirtualNodeData' :: VirtualNodeData -> VirtualNodeSpec
spec} -> VirtualNodeSpec
spec) (\s :: VirtualNodeData
s@VirtualNodeData' {} VirtualNodeSpec
a -> VirtualNodeData
s {$sel:spec:VirtualNodeData' :: VirtualNodeSpec
spec = VirtualNodeSpec
a} :: VirtualNodeData)
virtualNodeData_status :: Lens.Lens' VirtualNodeData VirtualNodeStatus
virtualNodeData_status :: Lens' VirtualNodeData VirtualNodeStatus
virtualNodeData_status = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\VirtualNodeData' {VirtualNodeStatus
status :: VirtualNodeStatus
$sel:status:VirtualNodeData' :: VirtualNodeData -> VirtualNodeStatus
status} -> VirtualNodeStatus
status) (\s :: VirtualNodeData
s@VirtualNodeData' {} VirtualNodeStatus
a -> VirtualNodeData
s {$sel:status:VirtualNodeData' :: VirtualNodeStatus
status = VirtualNodeStatus
a} :: VirtualNodeData)
virtualNodeData_virtualNodeName :: Lens.Lens' VirtualNodeData Prelude.Text
virtualNodeData_virtualNodeName :: Lens' VirtualNodeData Text
virtualNodeData_virtualNodeName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\VirtualNodeData' {Text
virtualNodeName :: Text
$sel:virtualNodeName:VirtualNodeData' :: VirtualNodeData -> Text
virtualNodeName} -> Text
virtualNodeName) (\s :: VirtualNodeData
s@VirtualNodeData' {} Text
a -> VirtualNodeData
s {$sel:virtualNodeName:VirtualNodeData' :: Text
virtualNodeName = Text
a} :: VirtualNodeData)
instance Data.FromJSON VirtualNodeData where
parseJSON :: Value -> Parser VirtualNodeData
parseJSON =
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
String
"VirtualNodeData"
( \Object
x ->
Text
-> ResourceMetadata
-> VirtualNodeSpec
-> VirtualNodeStatus
-> Text
-> VirtualNodeData
VirtualNodeData'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Parser a
Data..: Key
"meshName")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser a
Data..: Key
"metadata")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser a
Data..: Key
"spec")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser a
Data..: Key
"status")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser a
Data..: Key
"virtualNodeName")
)
instance Prelude.Hashable VirtualNodeData where
hashWithSalt :: Int -> VirtualNodeData -> Int
hashWithSalt Int
_salt VirtualNodeData' {Text
ResourceMetadata
VirtualNodeStatus
VirtualNodeSpec
virtualNodeName :: Text
status :: VirtualNodeStatus
spec :: VirtualNodeSpec
metadata :: ResourceMetadata
meshName :: Text
$sel:virtualNodeName:VirtualNodeData' :: VirtualNodeData -> Text
$sel:status:VirtualNodeData' :: VirtualNodeData -> VirtualNodeStatus
$sel:spec:VirtualNodeData' :: VirtualNodeData -> VirtualNodeSpec
$sel:metadata:VirtualNodeData' :: VirtualNodeData -> ResourceMetadata
$sel:meshName:VirtualNodeData' :: VirtualNodeData -> Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
meshName
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` ResourceMetadata
metadata
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` VirtualNodeSpec
spec
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` VirtualNodeStatus
status
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
virtualNodeName
instance Prelude.NFData VirtualNodeData where
rnf :: VirtualNodeData -> ()
rnf VirtualNodeData' {Text
ResourceMetadata
VirtualNodeStatus
VirtualNodeSpec
virtualNodeName :: Text
status :: VirtualNodeStatus
spec :: VirtualNodeSpec
metadata :: ResourceMetadata
meshName :: Text
$sel:virtualNodeName:VirtualNodeData' :: VirtualNodeData -> Text
$sel:status:VirtualNodeData' :: VirtualNodeData -> VirtualNodeStatus
$sel:spec:VirtualNodeData' :: VirtualNodeData -> VirtualNodeSpec
$sel:metadata:VirtualNodeData' :: VirtualNodeData -> ResourceMetadata
$sel:meshName:VirtualNodeData' :: VirtualNodeData -> Text
..} =
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 ResourceMetadata
metadata
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 VirtualNodeStatus
status
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
virtualNodeName