module Stratosphere.AppMesh.VirtualGateway (
module Exports, VirtualGateway(..), mkVirtualGateway
) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.AppMesh.VirtualGateway.VirtualGatewaySpecProperty as Exports
import Stratosphere.ResourceProperties
import Stratosphere.Tag
import Stratosphere.Value
data VirtualGateway
=
VirtualGateway {VirtualGateway -> ()
haddock_workaround_ :: (),
VirtualGateway -> Value Text
meshName :: (Value Prelude.Text),
VirtualGateway -> Maybe (Value Text)
meshOwner :: (Prelude.Maybe (Value Prelude.Text)),
VirtualGateway -> VirtualGatewaySpecProperty
spec :: VirtualGatewaySpecProperty,
VirtualGateway -> Maybe [Tag]
tags :: (Prelude.Maybe [Tag]),
VirtualGateway -> Maybe (Value Text)
virtualGatewayName :: (Prelude.Maybe (Value Prelude.Text))}
deriving stock (VirtualGateway -> VirtualGateway -> Bool
(VirtualGateway -> VirtualGateway -> Bool)
-> (VirtualGateway -> VirtualGateway -> Bool) -> Eq VirtualGateway
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: VirtualGateway -> VirtualGateway -> Bool
== :: VirtualGateway -> VirtualGateway -> Bool
$c/= :: VirtualGateway -> VirtualGateway -> Bool
/= :: VirtualGateway -> VirtualGateway -> Bool
Prelude.Eq, Int -> VirtualGateway -> ShowS
[VirtualGateway] -> ShowS
VirtualGateway -> String
(Int -> VirtualGateway -> ShowS)
-> (VirtualGateway -> String)
-> ([VirtualGateway] -> ShowS)
-> Show VirtualGateway
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> VirtualGateway -> ShowS
showsPrec :: Int -> VirtualGateway -> ShowS
$cshow :: VirtualGateway -> String
show :: VirtualGateway -> String
$cshowList :: [VirtualGateway] -> ShowS
showList :: [VirtualGateway] -> ShowS
Prelude.Show)
mkVirtualGateway ::
Value Prelude.Text -> VirtualGatewaySpecProperty -> VirtualGateway
mkVirtualGateway :: Value Text -> VirtualGatewaySpecProperty -> VirtualGateway
mkVirtualGateway Value Text
meshName VirtualGatewaySpecProperty
spec
= VirtualGateway
{haddock_workaround_ :: ()
haddock_workaround_ = (), meshName :: Value Text
meshName = Value Text
meshName, spec :: VirtualGatewaySpecProperty
spec = VirtualGatewaySpecProperty
spec,
meshOwner :: Maybe (Value Text)
meshOwner = Maybe (Value Text)
forall a. Maybe a
Prelude.Nothing, tags :: Maybe [Tag]
tags = Maybe [Tag]
forall a. Maybe a
Prelude.Nothing,
virtualGatewayName :: Maybe (Value Text)
virtualGatewayName = Maybe (Value Text)
forall a. Maybe a
Prelude.Nothing}
instance ToResourceProperties VirtualGateway where
toResourceProperties :: VirtualGateway -> ResourceProperties
toResourceProperties VirtualGateway {Maybe [Tag]
Maybe (Value Text)
()
Value Text
VirtualGatewaySpecProperty
haddock_workaround_ :: VirtualGateway -> ()
meshName :: VirtualGateway -> Value Text
meshOwner :: VirtualGateway -> Maybe (Value Text)
spec :: VirtualGateway -> VirtualGatewaySpecProperty
tags :: VirtualGateway -> Maybe [Tag]
virtualGatewayName :: VirtualGateway -> Maybe (Value Text)
haddock_workaround_ :: ()
meshName :: Value Text
meshOwner :: Maybe (Value Text)
spec :: VirtualGatewaySpecProperty
tags :: Maybe [Tag]
virtualGatewayName :: Maybe (Value Text)
..}
= ResourceProperties
{awsType :: Text
awsType = Text
"AWS::AppMesh::VirtualGateway",
supportsTags :: Bool
supportsTags = Bool
Prelude.True,
properties :: Object
properties = [Item Object] -> Object
forall l. IsList l => [Item l] -> l
Prelude.fromList
([(Key, Value)] -> [(Key, Value)] -> [(Key, Value)]
forall a. Semigroup a => a -> a -> a
(Prelude.<>)
[Key
"MeshName" Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Text
meshName, Key
"Spec" Key -> VirtualGatewaySpecProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= VirtualGatewaySpecProperty
spec]
([Maybe (Key, Value)] -> [(Key, Value)]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
[Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"MeshOwner" (Value Text -> (Key, Value))
-> Maybe (Value Text) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Text)
meshOwner,
Key -> [Tag] -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"Tags" ([Tag] -> (Key, Value)) -> Maybe [Tag] -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [Tag]
tags,
Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"VirtualGatewayName" (Value Text -> (Key, Value))
-> Maybe (Value Text) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Text)
virtualGatewayName]))}
instance JSON.ToJSON VirtualGateway where
toJSON :: VirtualGateway -> Value
toJSON VirtualGateway {Maybe [Tag]
Maybe (Value Text)
()
Value Text
VirtualGatewaySpecProperty
haddock_workaround_ :: VirtualGateway -> ()
meshName :: VirtualGateway -> Value Text
meshOwner :: VirtualGateway -> Maybe (Value Text)
spec :: VirtualGateway -> VirtualGatewaySpecProperty
tags :: VirtualGateway -> Maybe [Tag]
virtualGatewayName :: VirtualGateway -> Maybe (Value Text)
haddock_workaround_ :: ()
meshName :: Value Text
meshOwner :: Maybe (Value Text)
spec :: VirtualGatewaySpecProperty
tags :: Maybe [Tag]
virtualGatewayName :: Maybe (Value Text)
..}
= [(Key, Value)] -> Value
JSON.object
([Item [(Key, Value)]] -> [(Key, Value)]
forall l. IsList l => [Item l] -> l
Prelude.fromList
([(Key, Value)] -> [(Key, Value)] -> [(Key, Value)]
forall a. Semigroup a => a -> a -> a
(Prelude.<>)
[Key
"MeshName" Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Text
meshName, Key
"Spec" Key -> VirtualGatewaySpecProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= VirtualGatewaySpecProperty
spec]
([Maybe (Key, Value)] -> [(Key, Value)]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
[Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"MeshOwner" (Value Text -> (Key, Value))
-> Maybe (Value Text) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Text)
meshOwner,
Key -> [Tag] -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"Tags" ([Tag] -> (Key, Value)) -> Maybe [Tag] -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [Tag]
tags,
Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"VirtualGatewayName" (Value Text -> (Key, Value))
-> Maybe (Value Text) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Text)
virtualGatewayName])))
instance Property "MeshName" VirtualGateway where
type PropertyType "MeshName" VirtualGateway = Value Prelude.Text
set :: PropertyType "MeshName" VirtualGateway
-> VirtualGateway -> VirtualGateway
set PropertyType "MeshName" VirtualGateway
newValue VirtualGateway {Maybe [Tag]
Maybe (Value Text)
()
Value Text
VirtualGatewaySpecProperty
haddock_workaround_ :: VirtualGateway -> ()
meshName :: VirtualGateway -> Value Text
meshOwner :: VirtualGateway -> Maybe (Value Text)
spec :: VirtualGateway -> VirtualGatewaySpecProperty
tags :: VirtualGateway -> Maybe [Tag]
virtualGatewayName :: VirtualGateway -> Maybe (Value Text)
haddock_workaround_ :: ()
meshName :: Value Text
meshOwner :: Maybe (Value Text)
spec :: VirtualGatewaySpecProperty
tags :: Maybe [Tag]
virtualGatewayName :: Maybe (Value Text)
..}
= VirtualGateway {meshName :: Value Text
meshName = PropertyType "MeshName" VirtualGateway
Value Text
newValue, Maybe [Tag]
Maybe (Value Text)
()
VirtualGatewaySpecProperty
haddock_workaround_ :: ()
meshOwner :: Maybe (Value Text)
spec :: VirtualGatewaySpecProperty
tags :: Maybe [Tag]
virtualGatewayName :: Maybe (Value Text)
haddock_workaround_ :: ()
meshOwner :: Maybe (Value Text)
spec :: VirtualGatewaySpecProperty
tags :: Maybe [Tag]
virtualGatewayName :: Maybe (Value Text)
..}
instance Property "MeshOwner" VirtualGateway where
type PropertyType "MeshOwner" VirtualGateway = Value Prelude.Text
set :: PropertyType "MeshOwner" VirtualGateway
-> VirtualGateway -> VirtualGateway
set PropertyType "MeshOwner" VirtualGateway
newValue VirtualGateway {Maybe [Tag]
Maybe (Value Text)
()
Value Text
VirtualGatewaySpecProperty
haddock_workaround_ :: VirtualGateway -> ()
meshName :: VirtualGateway -> Value Text
meshOwner :: VirtualGateway -> Maybe (Value Text)
spec :: VirtualGateway -> VirtualGatewaySpecProperty
tags :: VirtualGateway -> Maybe [Tag]
virtualGatewayName :: VirtualGateway -> Maybe (Value Text)
haddock_workaround_ :: ()
meshName :: Value Text
meshOwner :: Maybe (Value Text)
spec :: VirtualGatewaySpecProperty
tags :: Maybe [Tag]
virtualGatewayName :: Maybe (Value Text)
..}
= VirtualGateway {meshOwner :: Maybe (Value Text)
meshOwner = Value Text -> Maybe (Value Text)
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "MeshOwner" VirtualGateway
Value Text
newValue, Maybe [Tag]
Maybe (Value Text)
()
Value Text
VirtualGatewaySpecProperty
haddock_workaround_ :: ()
meshName :: Value Text
spec :: VirtualGatewaySpecProperty
tags :: Maybe [Tag]
virtualGatewayName :: Maybe (Value Text)
haddock_workaround_ :: ()
meshName :: Value Text
spec :: VirtualGatewaySpecProperty
tags :: Maybe [Tag]
virtualGatewayName :: Maybe (Value Text)
..}
instance Property "Spec" VirtualGateway where
type PropertyType "Spec" VirtualGateway = VirtualGatewaySpecProperty
set :: PropertyType "Spec" VirtualGateway
-> VirtualGateway -> VirtualGateway
set PropertyType "Spec" VirtualGateway
newValue VirtualGateway {Maybe [Tag]
Maybe (Value Text)
()
Value Text
VirtualGatewaySpecProperty
haddock_workaround_ :: VirtualGateway -> ()
meshName :: VirtualGateway -> Value Text
meshOwner :: VirtualGateway -> Maybe (Value Text)
spec :: VirtualGateway -> VirtualGatewaySpecProperty
tags :: VirtualGateway -> Maybe [Tag]
virtualGatewayName :: VirtualGateway -> Maybe (Value Text)
haddock_workaround_ :: ()
meshName :: Value Text
meshOwner :: Maybe (Value Text)
spec :: VirtualGatewaySpecProperty
tags :: Maybe [Tag]
virtualGatewayName :: Maybe (Value Text)
..}
= VirtualGateway {spec :: VirtualGatewaySpecProperty
spec = PropertyType "Spec" VirtualGateway
VirtualGatewaySpecProperty
newValue, Maybe [Tag]
Maybe (Value Text)
()
Value Text
haddock_workaround_ :: ()
meshName :: Value Text
meshOwner :: Maybe (Value Text)
tags :: Maybe [Tag]
virtualGatewayName :: Maybe (Value Text)
haddock_workaround_ :: ()
meshName :: Value Text
meshOwner :: Maybe (Value Text)
tags :: Maybe [Tag]
virtualGatewayName :: Maybe (Value Text)
..}
instance Property "Tags" VirtualGateway where
type PropertyType "Tags" VirtualGateway = [Tag]
set :: PropertyType "Tags" VirtualGateway
-> VirtualGateway -> VirtualGateway
set PropertyType "Tags" VirtualGateway
newValue VirtualGateway {Maybe [Tag]
Maybe (Value Text)
()
Value Text
VirtualGatewaySpecProperty
haddock_workaround_ :: VirtualGateway -> ()
meshName :: VirtualGateway -> Value Text
meshOwner :: VirtualGateway -> Maybe (Value Text)
spec :: VirtualGateway -> VirtualGatewaySpecProperty
tags :: VirtualGateway -> Maybe [Tag]
virtualGatewayName :: VirtualGateway -> Maybe (Value Text)
haddock_workaround_ :: ()
meshName :: Value Text
meshOwner :: Maybe (Value Text)
spec :: VirtualGatewaySpecProperty
tags :: Maybe [Tag]
virtualGatewayName :: Maybe (Value Text)
..}
= VirtualGateway {tags :: Maybe [Tag]
tags = [Tag] -> Maybe [Tag]
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure [Tag]
PropertyType "Tags" VirtualGateway
newValue, Maybe (Value Text)
()
Value Text
VirtualGatewaySpecProperty
haddock_workaround_ :: ()
meshName :: Value Text
meshOwner :: Maybe (Value Text)
spec :: VirtualGatewaySpecProperty
virtualGatewayName :: Maybe (Value Text)
haddock_workaround_ :: ()
meshName :: Value Text
meshOwner :: Maybe (Value Text)
spec :: VirtualGatewaySpecProperty
virtualGatewayName :: Maybe (Value Text)
..}
instance Property "VirtualGatewayName" VirtualGateway where
type PropertyType "VirtualGatewayName" VirtualGateway = Value Prelude.Text
set :: PropertyType "VirtualGatewayName" VirtualGateway
-> VirtualGateway -> VirtualGateway
set PropertyType "VirtualGatewayName" VirtualGateway
newValue VirtualGateway {Maybe [Tag]
Maybe (Value Text)
()
Value Text
VirtualGatewaySpecProperty
haddock_workaround_ :: VirtualGateway -> ()
meshName :: VirtualGateway -> Value Text
meshOwner :: VirtualGateway -> Maybe (Value Text)
spec :: VirtualGateway -> VirtualGatewaySpecProperty
tags :: VirtualGateway -> Maybe [Tag]
virtualGatewayName :: VirtualGateway -> Maybe (Value Text)
haddock_workaround_ :: ()
meshName :: Value Text
meshOwner :: Maybe (Value Text)
spec :: VirtualGatewaySpecProperty
tags :: Maybe [Tag]
virtualGatewayName :: Maybe (Value Text)
..}
= VirtualGateway {virtualGatewayName :: Maybe (Value Text)
virtualGatewayName = Value Text -> Maybe (Value Text)
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "VirtualGatewayName" VirtualGateway
Value Text
newValue, Maybe [Tag]
Maybe (Value Text)
()
Value Text
VirtualGatewaySpecProperty
haddock_workaround_ :: ()
meshName :: Value Text
meshOwner :: Maybe (Value Text)
spec :: VirtualGatewaySpecProperty
tags :: Maybe [Tag]
haddock_workaround_ :: ()
meshName :: Value Text
meshOwner :: Maybe (Value Text)
spec :: VirtualGatewaySpecProperty
tags :: Maybe [Tag]
..}