{-# 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.VirtualRouterData where
import Amazonka.AppMesh.Types.ResourceMetadata
import Amazonka.AppMesh.Types.VirtualRouterSpec
import Amazonka.AppMesh.Types.VirtualRouterStatus
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 VirtualRouterData = VirtualRouterData'
{
VirtualRouterData -> Text
meshName :: Prelude.Text,
VirtualRouterData -> ResourceMetadata
metadata :: ResourceMetadata,
VirtualRouterData -> VirtualRouterSpec
spec :: VirtualRouterSpec,
VirtualRouterData -> VirtualRouterStatus
status :: VirtualRouterStatus,
VirtualRouterData -> Text
virtualRouterName :: Prelude.Text
}
deriving (VirtualRouterData -> VirtualRouterData -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: VirtualRouterData -> VirtualRouterData -> Bool
$c/= :: VirtualRouterData -> VirtualRouterData -> Bool
== :: VirtualRouterData -> VirtualRouterData -> Bool
$c== :: VirtualRouterData -> VirtualRouterData -> Bool
Prelude.Eq, ReadPrec [VirtualRouterData]
ReadPrec VirtualRouterData
Int -> ReadS VirtualRouterData
ReadS [VirtualRouterData]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [VirtualRouterData]
$creadListPrec :: ReadPrec [VirtualRouterData]
readPrec :: ReadPrec VirtualRouterData
$creadPrec :: ReadPrec VirtualRouterData
readList :: ReadS [VirtualRouterData]
$creadList :: ReadS [VirtualRouterData]
readsPrec :: Int -> ReadS VirtualRouterData
$creadsPrec :: Int -> ReadS VirtualRouterData
Prelude.Read, Int -> VirtualRouterData -> ShowS
[VirtualRouterData] -> ShowS
VirtualRouterData -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [VirtualRouterData] -> ShowS
$cshowList :: [VirtualRouterData] -> ShowS
show :: VirtualRouterData -> String
$cshow :: VirtualRouterData -> String
showsPrec :: Int -> VirtualRouterData -> ShowS
$cshowsPrec :: Int -> VirtualRouterData -> ShowS
Prelude.Show, forall x. Rep VirtualRouterData x -> VirtualRouterData
forall x. VirtualRouterData -> Rep VirtualRouterData x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep VirtualRouterData x -> VirtualRouterData
$cfrom :: forall x. VirtualRouterData -> Rep VirtualRouterData x
Prelude.Generic)
newVirtualRouterData ::
Prelude.Text ->
ResourceMetadata ->
VirtualRouterSpec ->
VirtualRouterStatus ->
Prelude.Text ->
VirtualRouterData
newVirtualRouterData :: Text
-> ResourceMetadata
-> VirtualRouterSpec
-> VirtualRouterStatus
-> Text
-> VirtualRouterData
newVirtualRouterData
Text
pMeshName_
ResourceMetadata
pMetadata_
VirtualRouterSpec
pSpec_
VirtualRouterStatus
pStatus_
Text
pVirtualRouterName_ =
VirtualRouterData'
{ $sel:meshName:VirtualRouterData' :: Text
meshName = Text
pMeshName_,
$sel:metadata:VirtualRouterData' :: ResourceMetadata
metadata = ResourceMetadata
pMetadata_,
$sel:spec:VirtualRouterData' :: VirtualRouterSpec
spec = VirtualRouterSpec
pSpec_,
$sel:status:VirtualRouterData' :: VirtualRouterStatus
status = VirtualRouterStatus
pStatus_,
$sel:virtualRouterName:VirtualRouterData' :: Text
virtualRouterName = Text
pVirtualRouterName_
}
virtualRouterData_meshName :: Lens.Lens' VirtualRouterData Prelude.Text
virtualRouterData_meshName :: Lens' VirtualRouterData Text
virtualRouterData_meshName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\VirtualRouterData' {Text
meshName :: Text
$sel:meshName:VirtualRouterData' :: VirtualRouterData -> Text
meshName} -> Text
meshName) (\s :: VirtualRouterData
s@VirtualRouterData' {} Text
a -> VirtualRouterData
s {$sel:meshName:VirtualRouterData' :: Text
meshName = Text
a} :: VirtualRouterData)
virtualRouterData_metadata :: Lens.Lens' VirtualRouterData ResourceMetadata
virtualRouterData_metadata :: Lens' VirtualRouterData ResourceMetadata
virtualRouterData_metadata = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\VirtualRouterData' {ResourceMetadata
metadata :: ResourceMetadata
$sel:metadata:VirtualRouterData' :: VirtualRouterData -> ResourceMetadata
metadata} -> ResourceMetadata
metadata) (\s :: VirtualRouterData
s@VirtualRouterData' {} ResourceMetadata
a -> VirtualRouterData
s {$sel:metadata:VirtualRouterData' :: ResourceMetadata
metadata = ResourceMetadata
a} :: VirtualRouterData)
virtualRouterData_spec :: Lens.Lens' VirtualRouterData VirtualRouterSpec
virtualRouterData_spec :: Lens' VirtualRouterData VirtualRouterSpec
virtualRouterData_spec = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\VirtualRouterData' {VirtualRouterSpec
spec :: VirtualRouterSpec
$sel:spec:VirtualRouterData' :: VirtualRouterData -> VirtualRouterSpec
spec} -> VirtualRouterSpec
spec) (\s :: VirtualRouterData
s@VirtualRouterData' {} VirtualRouterSpec
a -> VirtualRouterData
s {$sel:spec:VirtualRouterData' :: VirtualRouterSpec
spec = VirtualRouterSpec
a} :: VirtualRouterData)
virtualRouterData_status :: Lens.Lens' VirtualRouterData VirtualRouterStatus
virtualRouterData_status :: Lens' VirtualRouterData VirtualRouterStatus
virtualRouterData_status = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\VirtualRouterData' {VirtualRouterStatus
status :: VirtualRouterStatus
$sel:status:VirtualRouterData' :: VirtualRouterData -> VirtualRouterStatus
status} -> VirtualRouterStatus
status) (\s :: VirtualRouterData
s@VirtualRouterData' {} VirtualRouterStatus
a -> VirtualRouterData
s {$sel:status:VirtualRouterData' :: VirtualRouterStatus
status = VirtualRouterStatus
a} :: VirtualRouterData)
virtualRouterData_virtualRouterName :: Lens.Lens' VirtualRouterData Prelude.Text
virtualRouterData_virtualRouterName :: Lens' VirtualRouterData Text
virtualRouterData_virtualRouterName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\VirtualRouterData' {Text
virtualRouterName :: Text
$sel:virtualRouterName:VirtualRouterData' :: VirtualRouterData -> Text
virtualRouterName} -> Text
virtualRouterName) (\s :: VirtualRouterData
s@VirtualRouterData' {} Text
a -> VirtualRouterData
s {$sel:virtualRouterName:VirtualRouterData' :: Text
virtualRouterName = Text
a} :: VirtualRouterData)
instance Data.FromJSON VirtualRouterData where
parseJSON :: Value -> Parser VirtualRouterData
parseJSON =
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
String
"VirtualRouterData"
( \Object
x ->
Text
-> ResourceMetadata
-> VirtualRouterSpec
-> VirtualRouterStatus
-> Text
-> VirtualRouterData
VirtualRouterData'
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
"virtualRouterName")
)
instance Prelude.Hashable VirtualRouterData where
hashWithSalt :: Int -> VirtualRouterData -> Int
hashWithSalt Int
_salt VirtualRouterData' {Text
ResourceMetadata
VirtualRouterSpec
VirtualRouterStatus
virtualRouterName :: Text
status :: VirtualRouterStatus
spec :: VirtualRouterSpec
metadata :: ResourceMetadata
meshName :: Text
$sel:virtualRouterName:VirtualRouterData' :: VirtualRouterData -> Text
$sel:status:VirtualRouterData' :: VirtualRouterData -> VirtualRouterStatus
$sel:spec:VirtualRouterData' :: VirtualRouterData -> VirtualRouterSpec
$sel:metadata:VirtualRouterData' :: VirtualRouterData -> ResourceMetadata
$sel:meshName:VirtualRouterData' :: VirtualRouterData -> 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` VirtualRouterSpec
spec
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` VirtualRouterStatus
status
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
virtualRouterName
instance Prelude.NFData VirtualRouterData where
rnf :: VirtualRouterData -> ()
rnf VirtualRouterData' {Text
ResourceMetadata
VirtualRouterSpec
VirtualRouterStatus
virtualRouterName :: Text
status :: VirtualRouterStatus
spec :: VirtualRouterSpec
metadata :: ResourceMetadata
meshName :: Text
$sel:virtualRouterName:VirtualRouterData' :: VirtualRouterData -> Text
$sel:status:VirtualRouterData' :: VirtualRouterData -> VirtualRouterStatus
$sel:spec:VirtualRouterData' :: VirtualRouterData -> VirtualRouterSpec
$sel:metadata:VirtualRouterData' :: VirtualRouterData -> ResourceMetadata
$sel:meshName:VirtualRouterData' :: VirtualRouterData -> 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 VirtualRouterSpec
spec
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf VirtualRouterStatus
status
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
virtualRouterName