module Stratosphere.AppMesh.Mesh.MeshSpecProperty (
module Exports, MeshSpecProperty(..), mkMeshSpecProperty
) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.AppMesh.Mesh.EgressFilterProperty as Exports
import {-# SOURCE #-} Stratosphere.AppMesh.Mesh.MeshServiceDiscoveryProperty as Exports
import Stratosphere.ResourceProperties
data MeshSpecProperty
=
MeshSpecProperty {MeshSpecProperty -> ()
haddock_workaround_ :: (),
MeshSpecProperty -> Maybe EgressFilterProperty
egressFilter :: (Prelude.Maybe EgressFilterProperty),
MeshSpecProperty -> Maybe MeshServiceDiscoveryProperty
serviceDiscovery :: (Prelude.Maybe MeshServiceDiscoveryProperty)}
deriving stock (MeshSpecProperty -> MeshSpecProperty -> Bool
(MeshSpecProperty -> MeshSpecProperty -> Bool)
-> (MeshSpecProperty -> MeshSpecProperty -> Bool)
-> Eq MeshSpecProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: MeshSpecProperty -> MeshSpecProperty -> Bool
== :: MeshSpecProperty -> MeshSpecProperty -> Bool
$c/= :: MeshSpecProperty -> MeshSpecProperty -> Bool
/= :: MeshSpecProperty -> MeshSpecProperty -> Bool
Prelude.Eq, Int -> MeshSpecProperty -> ShowS
[MeshSpecProperty] -> ShowS
MeshSpecProperty -> String
(Int -> MeshSpecProperty -> ShowS)
-> (MeshSpecProperty -> String)
-> ([MeshSpecProperty] -> ShowS)
-> Show MeshSpecProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> MeshSpecProperty -> ShowS
showsPrec :: Int -> MeshSpecProperty -> ShowS
$cshow :: MeshSpecProperty -> String
show :: MeshSpecProperty -> String
$cshowList :: [MeshSpecProperty] -> ShowS
showList :: [MeshSpecProperty] -> ShowS
Prelude.Show)
mkMeshSpecProperty :: MeshSpecProperty
mkMeshSpecProperty :: MeshSpecProperty
mkMeshSpecProperty
= MeshSpecProperty
{haddock_workaround_ :: ()
haddock_workaround_ = (), egressFilter :: Maybe EgressFilterProperty
egressFilter = Maybe EgressFilterProperty
forall a. Maybe a
Prelude.Nothing,
serviceDiscovery :: Maybe MeshServiceDiscoveryProperty
serviceDiscovery = Maybe MeshServiceDiscoveryProperty
forall a. Maybe a
Prelude.Nothing}
instance ToResourceProperties MeshSpecProperty where
toResourceProperties :: MeshSpecProperty -> ResourceProperties
toResourceProperties MeshSpecProperty {Maybe EgressFilterProperty
Maybe MeshServiceDiscoveryProperty
()
haddock_workaround_ :: MeshSpecProperty -> ()
egressFilter :: MeshSpecProperty -> Maybe EgressFilterProperty
serviceDiscovery :: MeshSpecProperty -> Maybe MeshServiceDiscoveryProperty
haddock_workaround_ :: ()
egressFilter :: Maybe EgressFilterProperty
serviceDiscovery :: Maybe MeshServiceDiscoveryProperty
..}
= ResourceProperties
{awsType :: Text
awsType = Text
"AWS::AppMesh::Mesh.MeshSpec",
supportsTags :: Bool
supportsTags = Bool
Prelude.False,
properties :: Object
properties = [Item Object] -> Object
forall l. IsList l => [Item l] -> l
Prelude.fromList
([Maybe (Key, Value)] -> [(Key, Value)]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
[Key -> EgressFilterProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"EgressFilter" (EgressFilterProperty -> (Key, Value))
-> Maybe EgressFilterProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe EgressFilterProperty
egressFilter,
Key -> MeshServiceDiscoveryProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"ServiceDiscovery" (MeshServiceDiscoveryProperty -> (Key, Value))
-> Maybe MeshServiceDiscoveryProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe MeshServiceDiscoveryProperty
serviceDiscovery])}
instance JSON.ToJSON MeshSpecProperty where
toJSON :: MeshSpecProperty -> Value
toJSON MeshSpecProperty {Maybe EgressFilterProperty
Maybe MeshServiceDiscoveryProperty
()
haddock_workaround_ :: MeshSpecProperty -> ()
egressFilter :: MeshSpecProperty -> Maybe EgressFilterProperty
serviceDiscovery :: MeshSpecProperty -> Maybe MeshServiceDiscoveryProperty
haddock_workaround_ :: ()
egressFilter :: Maybe EgressFilterProperty
serviceDiscovery :: Maybe MeshServiceDiscoveryProperty
..}
= [(Key, Value)] -> Value
JSON.object
([Item [(Key, Value)]] -> [(Key, Value)]
forall l. IsList l => [Item l] -> l
Prelude.fromList
([Maybe (Key, Value)] -> [(Key, Value)]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
[Key -> EgressFilterProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"EgressFilter" (EgressFilterProperty -> (Key, Value))
-> Maybe EgressFilterProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe EgressFilterProperty
egressFilter,
Key -> MeshServiceDiscoveryProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"ServiceDiscovery" (MeshServiceDiscoveryProperty -> (Key, Value))
-> Maybe MeshServiceDiscoveryProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe MeshServiceDiscoveryProperty
serviceDiscovery]))
instance Property "EgressFilter" MeshSpecProperty where
type PropertyType "EgressFilter" MeshSpecProperty = EgressFilterProperty
set :: PropertyType "EgressFilter" MeshSpecProperty
-> MeshSpecProperty -> MeshSpecProperty
set PropertyType "EgressFilter" MeshSpecProperty
newValue MeshSpecProperty {Maybe EgressFilterProperty
Maybe MeshServiceDiscoveryProperty
()
haddock_workaround_ :: MeshSpecProperty -> ()
egressFilter :: MeshSpecProperty -> Maybe EgressFilterProperty
serviceDiscovery :: MeshSpecProperty -> Maybe MeshServiceDiscoveryProperty
haddock_workaround_ :: ()
egressFilter :: Maybe EgressFilterProperty
serviceDiscovery :: Maybe MeshServiceDiscoveryProperty
..}
= MeshSpecProperty {egressFilter :: Maybe EgressFilterProperty
egressFilter = EgressFilterProperty -> Maybe EgressFilterProperty
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "EgressFilter" MeshSpecProperty
EgressFilterProperty
newValue, Maybe MeshServiceDiscoveryProperty
()
haddock_workaround_ :: ()
serviceDiscovery :: Maybe MeshServiceDiscoveryProperty
haddock_workaround_ :: ()
serviceDiscovery :: Maybe MeshServiceDiscoveryProperty
..}
instance Property "ServiceDiscovery" MeshSpecProperty where
type PropertyType "ServiceDiscovery" MeshSpecProperty = MeshServiceDiscoveryProperty
set :: PropertyType "ServiceDiscovery" MeshSpecProperty
-> MeshSpecProperty -> MeshSpecProperty
set PropertyType "ServiceDiscovery" MeshSpecProperty
newValue MeshSpecProperty {Maybe EgressFilterProperty
Maybe MeshServiceDiscoveryProperty
()
haddock_workaround_ :: MeshSpecProperty -> ()
egressFilter :: MeshSpecProperty -> Maybe EgressFilterProperty
serviceDiscovery :: MeshSpecProperty -> Maybe MeshServiceDiscoveryProperty
haddock_workaround_ :: ()
egressFilter :: Maybe EgressFilterProperty
serviceDiscovery :: Maybe MeshServiceDiscoveryProperty
..}
= MeshSpecProperty {serviceDiscovery :: Maybe MeshServiceDiscoveryProperty
serviceDiscovery = MeshServiceDiscoveryProperty -> Maybe MeshServiceDiscoveryProperty
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "ServiceDiscovery" MeshSpecProperty
MeshServiceDiscoveryProperty
newValue, Maybe EgressFilterProperty
()
haddock_workaround_ :: ()
egressFilter :: Maybe EgressFilterProperty
haddock_workaround_ :: ()
egressFilter :: Maybe EgressFilterProperty
..}