packages feed

stratosphere-appmesh (empty) → 1.0.0

raw patch · 275 files changed

+8511/−0 lines, 275 filesdep +aesondep +basedep +stratosphere

Dependencies added: aeson, base, stratosphere

Files

+ LICENSE.md view
@@ -0,0 +1,20 @@+Copyright (c) 2016 David Reaver+Copyright (c) 2022 Markus Schirp++Permission is hereby granted, free of charge, to any person obtaining a copy of+this software and associated documentation files (the "Software"), to deal in+the Software without restriction, including without limitation the rights to+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies+of the Software, and to permit persons to whom the Software is furnished to do+so, subject to the following conditions:++The above copyright notice and this permission notice shall be included in all+copies or substantial portions of the Software.++THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE+SOFTWARE.
+ gen/Stratosphere/AppMesh/GatewayRoute.hs view
@@ -0,0 +1,82 @@+module Stratosphere.AppMesh.GatewayRoute (+        module Exports, GatewayRoute(..), mkGatewayRoute+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.GatewayRoute.GatewayRouteSpecProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Tag+import Stratosphere.Value+data GatewayRoute+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-gatewayroute.html>+    GatewayRoute {haddock_workaround_ :: (),+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-gatewayroute.html#cfn-appmesh-gatewayroute-gatewayroutename>+                  gatewayRouteName :: (Prelude.Maybe (Value Prelude.Text)),+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-gatewayroute.html#cfn-appmesh-gatewayroute-meshname>+                  meshName :: (Value Prelude.Text),+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-gatewayroute.html#cfn-appmesh-gatewayroute-meshowner>+                  meshOwner :: (Prelude.Maybe (Value Prelude.Text)),+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-gatewayroute.html#cfn-appmesh-gatewayroute-spec>+                  spec :: GatewayRouteSpecProperty,+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-gatewayroute.html#cfn-appmesh-gatewayroute-tags>+                  tags :: (Prelude.Maybe [Tag]),+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-gatewayroute.html#cfn-appmesh-gatewayroute-virtualgatewayname>+                  virtualGatewayName :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkGatewayRoute ::+  Value Prelude.Text+  -> GatewayRouteSpecProperty -> Value Prelude.Text -> GatewayRoute+mkGatewayRoute meshName spec virtualGatewayName+  = GatewayRoute+      {haddock_workaround_ = (), meshName = meshName, spec = spec,+       virtualGatewayName = virtualGatewayName,+       gatewayRouteName = Prelude.Nothing, meshOwner = Prelude.Nothing,+       tags = Prelude.Nothing}+instance ToResourceProperties GatewayRoute where+  toResourceProperties GatewayRoute {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::GatewayRoute",+         supportsTags = Prelude.True,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["MeshName" JSON..= meshName, "Spec" JSON..= spec,+                            "VirtualGatewayName" JSON..= virtualGatewayName]+                           (Prelude.catMaybes+                              [(JSON..=) "GatewayRouteName" Prelude.<$> gatewayRouteName,+                               (JSON..=) "MeshOwner" Prelude.<$> meshOwner,+                               (JSON..=) "Tags" Prelude.<$> tags]))}+instance JSON.ToJSON GatewayRoute where+  toJSON GatewayRoute {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["MeshName" JSON..= meshName, "Spec" JSON..= spec,+               "VirtualGatewayName" JSON..= virtualGatewayName]+              (Prelude.catMaybes+                 [(JSON..=) "GatewayRouteName" Prelude.<$> gatewayRouteName,+                  (JSON..=) "MeshOwner" Prelude.<$> meshOwner,+                  (JSON..=) "Tags" Prelude.<$> tags])))+instance Property "GatewayRouteName" GatewayRoute where+  type PropertyType "GatewayRouteName" GatewayRoute = Value Prelude.Text+  set newValue GatewayRoute {..}+    = GatewayRoute {gatewayRouteName = Prelude.pure newValue, ..}+instance Property "MeshName" GatewayRoute where+  type PropertyType "MeshName" GatewayRoute = Value Prelude.Text+  set newValue GatewayRoute {..}+    = GatewayRoute {meshName = newValue, ..}+instance Property "MeshOwner" GatewayRoute where+  type PropertyType "MeshOwner" GatewayRoute = Value Prelude.Text+  set newValue GatewayRoute {..}+    = GatewayRoute {meshOwner = Prelude.pure newValue, ..}+instance Property "Spec" GatewayRoute where+  type PropertyType "Spec" GatewayRoute = GatewayRouteSpecProperty+  set newValue GatewayRoute {..} = GatewayRoute {spec = newValue, ..}+instance Property "Tags" GatewayRoute where+  type PropertyType "Tags" GatewayRoute = [Tag]+  set newValue GatewayRoute {..}+    = GatewayRoute {tags = Prelude.pure newValue, ..}+instance Property "VirtualGatewayName" GatewayRoute where+  type PropertyType "VirtualGatewayName" GatewayRoute = Value Prelude.Text+  set newValue GatewayRoute {..}+    = GatewayRoute {virtualGatewayName = newValue, ..}
+ gen/Stratosphere/AppMesh/GatewayRoute/GatewayRouteHostnameMatchProperty.hs view
@@ -0,0 +1,49 @@+module Stratosphere.AppMesh.GatewayRoute.GatewayRouteHostnameMatchProperty (+        GatewayRouteHostnameMatchProperty(..),+        mkGatewayRouteHostnameMatchProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data GatewayRouteHostnameMatchProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-gatewayroutehostnamematch.html>+    GatewayRouteHostnameMatchProperty {haddock_workaround_ :: (),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-gatewayroutehostnamematch.html#cfn-appmesh-gatewayroute-gatewayroutehostnamematch-exact>+                                       exact :: (Prelude.Maybe (Value Prelude.Text)),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-gatewayroutehostnamematch.html#cfn-appmesh-gatewayroute-gatewayroutehostnamematch-suffix>+                                       suffix :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkGatewayRouteHostnameMatchProperty ::+  GatewayRouteHostnameMatchProperty+mkGatewayRouteHostnameMatchProperty+  = GatewayRouteHostnameMatchProperty+      {haddock_workaround_ = (), exact = Prelude.Nothing,+       suffix = Prelude.Nothing}+instance ToResourceProperties GatewayRouteHostnameMatchProperty where+  toResourceProperties GatewayRouteHostnameMatchProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::GatewayRoute.GatewayRouteHostnameMatch",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Exact" Prelude.<$> exact,+                            (JSON..=) "Suffix" Prelude.<$> suffix])}+instance JSON.ToJSON GatewayRouteHostnameMatchProperty where+  toJSON GatewayRouteHostnameMatchProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Exact" Prelude.<$> exact,+               (JSON..=) "Suffix" Prelude.<$> suffix]))+instance Property "Exact" GatewayRouteHostnameMatchProperty where+  type PropertyType "Exact" GatewayRouteHostnameMatchProperty = Value Prelude.Text+  set newValue GatewayRouteHostnameMatchProperty {..}+    = GatewayRouteHostnameMatchProperty+        {exact = Prelude.pure newValue, ..}+instance Property "Suffix" GatewayRouteHostnameMatchProperty where+  type PropertyType "Suffix" GatewayRouteHostnameMatchProperty = Value Prelude.Text+  set newValue GatewayRouteHostnameMatchProperty {..}+    = GatewayRouteHostnameMatchProperty+        {suffix = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppMesh/GatewayRoute/GatewayRouteHostnameMatchProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.GatewayRoute.GatewayRouteHostnameMatchProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data GatewayRouteHostnameMatchProperty :: Prelude.Type+instance ToResourceProperties GatewayRouteHostnameMatchProperty+instance Prelude.Eq GatewayRouteHostnameMatchProperty+instance Prelude.Show GatewayRouteHostnameMatchProperty+instance JSON.ToJSON GatewayRouteHostnameMatchProperty
+ gen/Stratosphere/AppMesh/GatewayRoute/GatewayRouteHostnameRewriteProperty.hs view
@@ -0,0 +1,41 @@+module Stratosphere.AppMesh.GatewayRoute.GatewayRouteHostnameRewriteProperty (+        GatewayRouteHostnameRewriteProperty(..),+        mkGatewayRouteHostnameRewriteProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data GatewayRouteHostnameRewriteProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-gatewayroutehostnamerewrite.html>+    GatewayRouteHostnameRewriteProperty {haddock_workaround_ :: (),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-gatewayroutehostnamerewrite.html#cfn-appmesh-gatewayroute-gatewayroutehostnamerewrite-defaulttargethostname>+                                         defaultTargetHostname :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkGatewayRouteHostnameRewriteProperty ::+  GatewayRouteHostnameRewriteProperty+mkGatewayRouteHostnameRewriteProperty+  = GatewayRouteHostnameRewriteProperty+      {haddock_workaround_ = (), defaultTargetHostname = Prelude.Nothing}+instance ToResourceProperties GatewayRouteHostnameRewriteProperty where+  toResourceProperties GatewayRouteHostnameRewriteProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::GatewayRoute.GatewayRouteHostnameRewrite",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "DefaultTargetHostname"+                              Prelude.<$> defaultTargetHostname])}+instance JSON.ToJSON GatewayRouteHostnameRewriteProperty where+  toJSON GatewayRouteHostnameRewriteProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "DefaultTargetHostname"+                 Prelude.<$> defaultTargetHostname]))+instance Property "DefaultTargetHostname" GatewayRouteHostnameRewriteProperty where+  type PropertyType "DefaultTargetHostname" GatewayRouteHostnameRewriteProperty = Value Prelude.Text+  set newValue GatewayRouteHostnameRewriteProperty {..}+    = GatewayRouteHostnameRewriteProperty+        {defaultTargetHostname = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppMesh/GatewayRoute/GatewayRouteHostnameRewriteProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.GatewayRoute.GatewayRouteHostnameRewriteProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data GatewayRouteHostnameRewriteProperty :: Prelude.Type+instance ToResourceProperties GatewayRouteHostnameRewriteProperty+instance Prelude.Eq GatewayRouteHostnameRewriteProperty+instance Prelude.Show GatewayRouteHostnameRewriteProperty+instance JSON.ToJSON GatewayRouteHostnameRewriteProperty
+ gen/Stratosphere/AppMesh/GatewayRoute/GatewayRouteMetadataMatchProperty.hs view
@@ -0,0 +1,78 @@+module Stratosphere.AppMesh.GatewayRoute.GatewayRouteMetadataMatchProperty (+        module Exports, GatewayRouteMetadataMatchProperty(..),+        mkGatewayRouteMetadataMatchProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.GatewayRoute.GatewayRouteRangeMatchProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data GatewayRouteMetadataMatchProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-gatewayroutemetadatamatch.html>+    GatewayRouteMetadataMatchProperty {haddock_workaround_ :: (),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-gatewayroutemetadatamatch.html#cfn-appmesh-gatewayroute-gatewayroutemetadatamatch-exact>+                                       exact :: (Prelude.Maybe (Value Prelude.Text)),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-gatewayroutemetadatamatch.html#cfn-appmesh-gatewayroute-gatewayroutemetadatamatch-prefix>+                                       prefix :: (Prelude.Maybe (Value Prelude.Text)),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-gatewayroutemetadatamatch.html#cfn-appmesh-gatewayroute-gatewayroutemetadatamatch-range>+                                       range :: (Prelude.Maybe GatewayRouteRangeMatchProperty),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-gatewayroutemetadatamatch.html#cfn-appmesh-gatewayroute-gatewayroutemetadatamatch-regex>+                                       regex :: (Prelude.Maybe (Value Prelude.Text)),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-gatewayroutemetadatamatch.html#cfn-appmesh-gatewayroute-gatewayroutemetadatamatch-suffix>+                                       suffix :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkGatewayRouteMetadataMatchProperty ::+  GatewayRouteMetadataMatchProperty+mkGatewayRouteMetadataMatchProperty+  = GatewayRouteMetadataMatchProperty+      {haddock_workaround_ = (), exact = Prelude.Nothing,+       prefix = Prelude.Nothing, range = Prelude.Nothing,+       regex = Prelude.Nothing, suffix = Prelude.Nothing}+instance ToResourceProperties GatewayRouteMetadataMatchProperty where+  toResourceProperties GatewayRouteMetadataMatchProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::GatewayRoute.GatewayRouteMetadataMatch",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Exact" Prelude.<$> exact,+                            (JSON..=) "Prefix" Prelude.<$> prefix,+                            (JSON..=) "Range" Prelude.<$> range,+                            (JSON..=) "Regex" Prelude.<$> regex,+                            (JSON..=) "Suffix" Prelude.<$> suffix])}+instance JSON.ToJSON GatewayRouteMetadataMatchProperty where+  toJSON GatewayRouteMetadataMatchProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Exact" Prelude.<$> exact,+               (JSON..=) "Prefix" Prelude.<$> prefix,+               (JSON..=) "Range" Prelude.<$> range,+               (JSON..=) "Regex" Prelude.<$> regex,+               (JSON..=) "Suffix" Prelude.<$> suffix]))+instance Property "Exact" GatewayRouteMetadataMatchProperty where+  type PropertyType "Exact" GatewayRouteMetadataMatchProperty = Value Prelude.Text+  set newValue GatewayRouteMetadataMatchProperty {..}+    = GatewayRouteMetadataMatchProperty+        {exact = Prelude.pure newValue, ..}+instance Property "Prefix" GatewayRouteMetadataMatchProperty where+  type PropertyType "Prefix" GatewayRouteMetadataMatchProperty = Value Prelude.Text+  set newValue GatewayRouteMetadataMatchProperty {..}+    = GatewayRouteMetadataMatchProperty+        {prefix = Prelude.pure newValue, ..}+instance Property "Range" GatewayRouteMetadataMatchProperty where+  type PropertyType "Range" GatewayRouteMetadataMatchProperty = GatewayRouteRangeMatchProperty+  set newValue GatewayRouteMetadataMatchProperty {..}+    = GatewayRouteMetadataMatchProperty+        {range = Prelude.pure newValue, ..}+instance Property "Regex" GatewayRouteMetadataMatchProperty where+  type PropertyType "Regex" GatewayRouteMetadataMatchProperty = Value Prelude.Text+  set newValue GatewayRouteMetadataMatchProperty {..}+    = GatewayRouteMetadataMatchProperty+        {regex = Prelude.pure newValue, ..}+instance Property "Suffix" GatewayRouteMetadataMatchProperty where+  type PropertyType "Suffix" GatewayRouteMetadataMatchProperty = Value Prelude.Text+  set newValue GatewayRouteMetadataMatchProperty {..}+    = GatewayRouteMetadataMatchProperty+        {suffix = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppMesh/GatewayRoute/GatewayRouteMetadataMatchProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.GatewayRoute.GatewayRouteMetadataMatchProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data GatewayRouteMetadataMatchProperty :: Prelude.Type+instance ToResourceProperties GatewayRouteMetadataMatchProperty+instance Prelude.Eq GatewayRouteMetadataMatchProperty+instance Prelude.Show GatewayRouteMetadataMatchProperty+instance JSON.ToJSON GatewayRouteMetadataMatchProperty
+ gen/Stratosphere/AppMesh/GatewayRoute/GatewayRouteRangeMatchProperty.hs view
@@ -0,0 +1,40 @@+module Stratosphere.AppMesh.GatewayRoute.GatewayRouteRangeMatchProperty (+        GatewayRouteRangeMatchProperty(..),+        mkGatewayRouteRangeMatchProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data GatewayRouteRangeMatchProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-gatewayrouterangematch.html>+    GatewayRouteRangeMatchProperty {haddock_workaround_ :: (),+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-gatewayrouterangematch.html#cfn-appmesh-gatewayroute-gatewayrouterangematch-end>+                                    end :: (Value Prelude.Integer),+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-gatewayrouterangematch.html#cfn-appmesh-gatewayroute-gatewayrouterangematch-start>+                                    start :: (Value Prelude.Integer)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkGatewayRouteRangeMatchProperty ::+  Value Prelude.Integer+  -> Value Prelude.Integer -> GatewayRouteRangeMatchProperty+mkGatewayRouteRangeMatchProperty end start+  = GatewayRouteRangeMatchProperty+      {haddock_workaround_ = (), end = end, start = start}+instance ToResourceProperties GatewayRouteRangeMatchProperty where+  toResourceProperties GatewayRouteRangeMatchProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::GatewayRoute.GatewayRouteRangeMatch",+         supportsTags = Prelude.False,+         properties = ["End" JSON..= end, "Start" JSON..= start]}+instance JSON.ToJSON GatewayRouteRangeMatchProperty where+  toJSON GatewayRouteRangeMatchProperty {..}+    = JSON.object ["End" JSON..= end, "Start" JSON..= start]+instance Property "End" GatewayRouteRangeMatchProperty where+  type PropertyType "End" GatewayRouteRangeMatchProperty = Value Prelude.Integer+  set newValue GatewayRouteRangeMatchProperty {..}+    = GatewayRouteRangeMatchProperty {end = newValue, ..}+instance Property "Start" GatewayRouteRangeMatchProperty where+  type PropertyType "Start" GatewayRouteRangeMatchProperty = Value Prelude.Integer+  set newValue GatewayRouteRangeMatchProperty {..}+    = GatewayRouteRangeMatchProperty {start = newValue, ..}
+ gen/Stratosphere/AppMesh/GatewayRoute/GatewayRouteRangeMatchProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.GatewayRoute.GatewayRouteRangeMatchProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data GatewayRouteRangeMatchProperty :: Prelude.Type+instance ToResourceProperties GatewayRouteRangeMatchProperty+instance Prelude.Eq GatewayRouteRangeMatchProperty+instance Prelude.Show GatewayRouteRangeMatchProperty+instance JSON.ToJSON GatewayRouteRangeMatchProperty
+ gen/Stratosphere/AppMesh/GatewayRoute/GatewayRouteSpecProperty.hs view
@@ -0,0 +1,65 @@+module Stratosphere.AppMesh.GatewayRoute.GatewayRouteSpecProperty (+        module Exports, GatewayRouteSpecProperty(..),+        mkGatewayRouteSpecProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.GatewayRoute.GrpcGatewayRouteProperty as Exports+import {-# SOURCE #-} Stratosphere.AppMesh.GatewayRoute.HttpGatewayRouteProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data GatewayRouteSpecProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-gatewayroutespec.html>+    GatewayRouteSpecProperty {haddock_workaround_ :: (),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-gatewayroutespec.html#cfn-appmesh-gatewayroute-gatewayroutespec-grpcroute>+                              grpcRoute :: (Prelude.Maybe GrpcGatewayRouteProperty),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-gatewayroutespec.html#cfn-appmesh-gatewayroute-gatewayroutespec-http2route>+                              http2Route :: (Prelude.Maybe HttpGatewayRouteProperty),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-gatewayroutespec.html#cfn-appmesh-gatewayroute-gatewayroutespec-httproute>+                              httpRoute :: (Prelude.Maybe HttpGatewayRouteProperty),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-gatewayroutespec.html#cfn-appmesh-gatewayroute-gatewayroutespec-priority>+                              priority :: (Prelude.Maybe (Value Prelude.Integer))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkGatewayRouteSpecProperty :: GatewayRouteSpecProperty+mkGatewayRouteSpecProperty+  = GatewayRouteSpecProperty+      {haddock_workaround_ = (), grpcRoute = Prelude.Nothing,+       http2Route = Prelude.Nothing, httpRoute = Prelude.Nothing,+       priority = Prelude.Nothing}+instance ToResourceProperties GatewayRouteSpecProperty where+  toResourceProperties GatewayRouteSpecProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::GatewayRoute.GatewayRouteSpec",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "GrpcRoute" Prelude.<$> grpcRoute,+                            (JSON..=) "Http2Route" Prelude.<$> http2Route,+                            (JSON..=) "HttpRoute" Prelude.<$> httpRoute,+                            (JSON..=) "Priority" Prelude.<$> priority])}+instance JSON.ToJSON GatewayRouteSpecProperty where+  toJSON GatewayRouteSpecProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "GrpcRoute" Prelude.<$> grpcRoute,+               (JSON..=) "Http2Route" Prelude.<$> http2Route,+               (JSON..=) "HttpRoute" Prelude.<$> httpRoute,+               (JSON..=) "Priority" Prelude.<$> priority]))+instance Property "GrpcRoute" GatewayRouteSpecProperty where+  type PropertyType "GrpcRoute" GatewayRouteSpecProperty = GrpcGatewayRouteProperty+  set newValue GatewayRouteSpecProperty {..}+    = GatewayRouteSpecProperty {grpcRoute = Prelude.pure newValue, ..}+instance Property "Http2Route" GatewayRouteSpecProperty where+  type PropertyType "Http2Route" GatewayRouteSpecProperty = HttpGatewayRouteProperty+  set newValue GatewayRouteSpecProperty {..}+    = GatewayRouteSpecProperty {http2Route = Prelude.pure newValue, ..}+instance Property "HttpRoute" GatewayRouteSpecProperty where+  type PropertyType "HttpRoute" GatewayRouteSpecProperty = HttpGatewayRouteProperty+  set newValue GatewayRouteSpecProperty {..}+    = GatewayRouteSpecProperty {httpRoute = Prelude.pure newValue, ..}+instance Property "Priority" GatewayRouteSpecProperty where+  type PropertyType "Priority" GatewayRouteSpecProperty = Value Prelude.Integer+  set newValue GatewayRouteSpecProperty {..}+    = GatewayRouteSpecProperty {priority = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppMesh/GatewayRoute/GatewayRouteSpecProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.GatewayRoute.GatewayRouteSpecProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data GatewayRouteSpecProperty :: Prelude.Type+instance ToResourceProperties GatewayRouteSpecProperty+instance Prelude.Eq GatewayRouteSpecProperty+instance Prelude.Show GatewayRouteSpecProperty+instance JSON.ToJSON GatewayRouteSpecProperty
+ gen/Stratosphere/AppMesh/GatewayRoute/GatewayRouteTargetProperty.hs view
@@ -0,0 +1,48 @@+module Stratosphere.AppMesh.GatewayRoute.GatewayRouteTargetProperty (+        module Exports, GatewayRouteTargetProperty(..),+        mkGatewayRouteTargetProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.GatewayRoute.GatewayRouteVirtualServiceProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data GatewayRouteTargetProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-gatewayroutetarget.html>+    GatewayRouteTargetProperty {haddock_workaround_ :: (),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-gatewayroutetarget.html#cfn-appmesh-gatewayroute-gatewayroutetarget-port>+                                port :: (Prelude.Maybe (Value Prelude.Integer)),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-gatewayroutetarget.html#cfn-appmesh-gatewayroute-gatewayroutetarget-virtualservice>+                                virtualService :: GatewayRouteVirtualServiceProperty}+  deriving stock (Prelude.Eq, Prelude.Show)+mkGatewayRouteTargetProperty ::+  GatewayRouteVirtualServiceProperty -> GatewayRouteTargetProperty+mkGatewayRouteTargetProperty virtualService+  = GatewayRouteTargetProperty+      {haddock_workaround_ = (), virtualService = virtualService,+       port = Prelude.Nothing}+instance ToResourceProperties GatewayRouteTargetProperty where+  toResourceProperties GatewayRouteTargetProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::GatewayRoute.GatewayRouteTarget",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["VirtualService" JSON..= virtualService]+                           (Prelude.catMaybes [(JSON..=) "Port" Prelude.<$> port]))}+instance JSON.ToJSON GatewayRouteTargetProperty where+  toJSON GatewayRouteTargetProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["VirtualService" JSON..= virtualService]+              (Prelude.catMaybes [(JSON..=) "Port" Prelude.<$> port])))+instance Property "Port" GatewayRouteTargetProperty where+  type PropertyType "Port" GatewayRouteTargetProperty = Value Prelude.Integer+  set newValue GatewayRouteTargetProperty {..}+    = GatewayRouteTargetProperty {port = Prelude.pure newValue, ..}+instance Property "VirtualService" GatewayRouteTargetProperty where+  type PropertyType "VirtualService" GatewayRouteTargetProperty = GatewayRouteVirtualServiceProperty+  set newValue GatewayRouteTargetProperty {..}+    = GatewayRouteTargetProperty {virtualService = newValue, ..}
+ gen/Stratosphere/AppMesh/GatewayRoute/GatewayRouteTargetProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.GatewayRoute.GatewayRouteTargetProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data GatewayRouteTargetProperty :: Prelude.Type+instance ToResourceProperties GatewayRouteTargetProperty+instance Prelude.Eq GatewayRouteTargetProperty+instance Prelude.Show GatewayRouteTargetProperty+instance JSON.ToJSON GatewayRouteTargetProperty
+ gen/Stratosphere/AppMesh/GatewayRoute/GatewayRouteVirtualServiceProperty.hs view
@@ -0,0 +1,34 @@+module Stratosphere.AppMesh.GatewayRoute.GatewayRouteVirtualServiceProperty (+        GatewayRouteVirtualServiceProperty(..),+        mkGatewayRouteVirtualServiceProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data GatewayRouteVirtualServiceProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-gatewayroutevirtualservice.html>+    GatewayRouteVirtualServiceProperty {haddock_workaround_ :: (),+                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-gatewayroutevirtualservice.html#cfn-appmesh-gatewayroute-gatewayroutevirtualservice-virtualservicename>+                                        virtualServiceName :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkGatewayRouteVirtualServiceProperty ::+  Value Prelude.Text -> GatewayRouteVirtualServiceProperty+mkGatewayRouteVirtualServiceProperty virtualServiceName+  = GatewayRouteVirtualServiceProperty+      {haddock_workaround_ = (), virtualServiceName = virtualServiceName}+instance ToResourceProperties GatewayRouteVirtualServiceProperty where+  toResourceProperties GatewayRouteVirtualServiceProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::GatewayRoute.GatewayRouteVirtualService",+         supportsTags = Prelude.False,+         properties = ["VirtualServiceName" JSON..= virtualServiceName]}+instance JSON.ToJSON GatewayRouteVirtualServiceProperty where+  toJSON GatewayRouteVirtualServiceProperty {..}+    = JSON.object ["VirtualServiceName" JSON..= virtualServiceName]+instance Property "VirtualServiceName" GatewayRouteVirtualServiceProperty where+  type PropertyType "VirtualServiceName" GatewayRouteVirtualServiceProperty = Value Prelude.Text+  set newValue GatewayRouteVirtualServiceProperty {..}+    = GatewayRouteVirtualServiceProperty+        {virtualServiceName = newValue, ..}
+ gen/Stratosphere/AppMesh/GatewayRoute/GatewayRouteVirtualServiceProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.GatewayRoute.GatewayRouteVirtualServiceProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data GatewayRouteVirtualServiceProperty :: Prelude.Type+instance ToResourceProperties GatewayRouteVirtualServiceProperty+instance Prelude.Eq GatewayRouteVirtualServiceProperty+instance Prelude.Show GatewayRouteVirtualServiceProperty+instance JSON.ToJSON GatewayRouteVirtualServiceProperty
+ gen/Stratosphere/AppMesh/GatewayRoute/GrpcGatewayRouteActionProperty.hs view
@@ -0,0 +1,49 @@+module Stratosphere.AppMesh.GatewayRoute.GrpcGatewayRouteActionProperty (+        module Exports, GrpcGatewayRouteActionProperty(..),+        mkGrpcGatewayRouteActionProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.GatewayRoute.GatewayRouteTargetProperty as Exports+import {-# SOURCE #-} Stratosphere.AppMesh.GatewayRoute.GrpcGatewayRouteRewriteProperty as Exports+import Stratosphere.ResourceProperties+data GrpcGatewayRouteActionProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-grpcgatewayrouteaction.html>+    GrpcGatewayRouteActionProperty {haddock_workaround_ :: (),+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-grpcgatewayrouteaction.html#cfn-appmesh-gatewayroute-grpcgatewayrouteaction-rewrite>+                                    rewrite :: (Prelude.Maybe GrpcGatewayRouteRewriteProperty),+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-grpcgatewayrouteaction.html#cfn-appmesh-gatewayroute-grpcgatewayrouteaction-target>+                                    target :: GatewayRouteTargetProperty}+  deriving stock (Prelude.Eq, Prelude.Show)+mkGrpcGatewayRouteActionProperty ::+  GatewayRouteTargetProperty -> GrpcGatewayRouteActionProperty+mkGrpcGatewayRouteActionProperty target+  = GrpcGatewayRouteActionProperty+      {haddock_workaround_ = (), target = target,+       rewrite = Prelude.Nothing}+instance ToResourceProperties GrpcGatewayRouteActionProperty where+  toResourceProperties GrpcGatewayRouteActionProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::GatewayRoute.GrpcGatewayRouteAction",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Target" JSON..= target]+                           (Prelude.catMaybes [(JSON..=) "Rewrite" Prelude.<$> rewrite]))}+instance JSON.ToJSON GrpcGatewayRouteActionProperty where+  toJSON GrpcGatewayRouteActionProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Target" JSON..= target]+              (Prelude.catMaybes [(JSON..=) "Rewrite" Prelude.<$> rewrite])))+instance Property "Rewrite" GrpcGatewayRouteActionProperty where+  type PropertyType "Rewrite" GrpcGatewayRouteActionProperty = GrpcGatewayRouteRewriteProperty+  set newValue GrpcGatewayRouteActionProperty {..}+    = GrpcGatewayRouteActionProperty+        {rewrite = Prelude.pure newValue, ..}+instance Property "Target" GrpcGatewayRouteActionProperty where+  type PropertyType "Target" GrpcGatewayRouteActionProperty = GatewayRouteTargetProperty+  set newValue GrpcGatewayRouteActionProperty {..}+    = GrpcGatewayRouteActionProperty {target = newValue, ..}
+ gen/Stratosphere/AppMesh/GatewayRoute/GrpcGatewayRouteActionProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.GatewayRoute.GrpcGatewayRouteActionProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data GrpcGatewayRouteActionProperty :: Prelude.Type+instance ToResourceProperties GrpcGatewayRouteActionProperty+instance Prelude.Eq GrpcGatewayRouteActionProperty+instance Prelude.Show GrpcGatewayRouteActionProperty+instance JSON.ToJSON GrpcGatewayRouteActionProperty
+ gen/Stratosphere/AppMesh/GatewayRoute/GrpcGatewayRouteMatchProperty.hs view
@@ -0,0 +1,68 @@+module Stratosphere.AppMesh.GatewayRoute.GrpcGatewayRouteMatchProperty (+        module Exports, GrpcGatewayRouteMatchProperty(..),+        mkGrpcGatewayRouteMatchProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.GatewayRoute.GatewayRouteHostnameMatchProperty as Exports+import {-# SOURCE #-} Stratosphere.AppMesh.GatewayRoute.GrpcGatewayRouteMetadataProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data GrpcGatewayRouteMatchProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-grpcgatewayroutematch.html>+    GrpcGatewayRouteMatchProperty {haddock_workaround_ :: (),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-grpcgatewayroutematch.html#cfn-appmesh-gatewayroute-grpcgatewayroutematch-hostname>+                                   hostname :: (Prelude.Maybe GatewayRouteHostnameMatchProperty),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-grpcgatewayroutematch.html#cfn-appmesh-gatewayroute-grpcgatewayroutematch-metadata>+                                   metadata :: (Prelude.Maybe [GrpcGatewayRouteMetadataProperty]),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-grpcgatewayroutematch.html#cfn-appmesh-gatewayroute-grpcgatewayroutematch-port>+                                   port :: (Prelude.Maybe (Value Prelude.Integer)),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-grpcgatewayroutematch.html#cfn-appmesh-gatewayroute-grpcgatewayroutematch-servicename>+                                   serviceName :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkGrpcGatewayRouteMatchProperty :: GrpcGatewayRouteMatchProperty+mkGrpcGatewayRouteMatchProperty+  = GrpcGatewayRouteMatchProperty+      {haddock_workaround_ = (), hostname = Prelude.Nothing,+       metadata = Prelude.Nothing, port = Prelude.Nothing,+       serviceName = Prelude.Nothing}+instance ToResourceProperties GrpcGatewayRouteMatchProperty where+  toResourceProperties GrpcGatewayRouteMatchProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::GatewayRoute.GrpcGatewayRouteMatch",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Hostname" Prelude.<$> hostname,+                            (JSON..=) "Metadata" Prelude.<$> metadata,+                            (JSON..=) "Port" Prelude.<$> port,+                            (JSON..=) "ServiceName" Prelude.<$> serviceName])}+instance JSON.ToJSON GrpcGatewayRouteMatchProperty where+  toJSON GrpcGatewayRouteMatchProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Hostname" Prelude.<$> hostname,+               (JSON..=) "Metadata" Prelude.<$> metadata,+               (JSON..=) "Port" Prelude.<$> port,+               (JSON..=) "ServiceName" Prelude.<$> serviceName]))+instance Property "Hostname" GrpcGatewayRouteMatchProperty where+  type PropertyType "Hostname" GrpcGatewayRouteMatchProperty = GatewayRouteHostnameMatchProperty+  set newValue GrpcGatewayRouteMatchProperty {..}+    = GrpcGatewayRouteMatchProperty+        {hostname = Prelude.pure newValue, ..}+instance Property "Metadata" GrpcGatewayRouteMatchProperty where+  type PropertyType "Metadata" GrpcGatewayRouteMatchProperty = [GrpcGatewayRouteMetadataProperty]+  set newValue GrpcGatewayRouteMatchProperty {..}+    = GrpcGatewayRouteMatchProperty+        {metadata = Prelude.pure newValue, ..}+instance Property "Port" GrpcGatewayRouteMatchProperty where+  type PropertyType "Port" GrpcGatewayRouteMatchProperty = Value Prelude.Integer+  set newValue GrpcGatewayRouteMatchProperty {..}+    = GrpcGatewayRouteMatchProperty {port = Prelude.pure newValue, ..}+instance Property "ServiceName" GrpcGatewayRouteMatchProperty where+  type PropertyType "ServiceName" GrpcGatewayRouteMatchProperty = Value Prelude.Text+  set newValue GrpcGatewayRouteMatchProperty {..}+    = GrpcGatewayRouteMatchProperty+        {serviceName = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppMesh/GatewayRoute/GrpcGatewayRouteMatchProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.GatewayRoute.GrpcGatewayRouteMatchProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data GrpcGatewayRouteMatchProperty :: Prelude.Type+instance ToResourceProperties GrpcGatewayRouteMatchProperty+instance Prelude.Eq GrpcGatewayRouteMatchProperty+instance Prelude.Show GrpcGatewayRouteMatchProperty+instance JSON.ToJSON GrpcGatewayRouteMatchProperty
+ gen/Stratosphere/AppMesh/GatewayRoute/GrpcGatewayRouteMetadataProperty.hs view
@@ -0,0 +1,60 @@+module Stratosphere.AppMesh.GatewayRoute.GrpcGatewayRouteMetadataProperty (+        module Exports, GrpcGatewayRouteMetadataProperty(..),+        mkGrpcGatewayRouteMetadataProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.GatewayRoute.GatewayRouteMetadataMatchProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data GrpcGatewayRouteMetadataProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-grpcgatewayroutemetadata.html>+    GrpcGatewayRouteMetadataProperty {haddock_workaround_ :: (),+                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-grpcgatewayroutemetadata.html#cfn-appmesh-gatewayroute-grpcgatewayroutemetadata-invert>+                                      invert :: (Prelude.Maybe (Value Prelude.Bool)),+                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-grpcgatewayroutemetadata.html#cfn-appmesh-gatewayroute-grpcgatewayroutemetadata-match>+                                      match :: (Prelude.Maybe GatewayRouteMetadataMatchProperty),+                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-grpcgatewayroutemetadata.html#cfn-appmesh-gatewayroute-grpcgatewayroutemetadata-name>+                                      name :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkGrpcGatewayRouteMetadataProperty ::+  Value Prelude.Text -> GrpcGatewayRouteMetadataProperty+mkGrpcGatewayRouteMetadataProperty name+  = GrpcGatewayRouteMetadataProperty+      {haddock_workaround_ = (), name = name, invert = Prelude.Nothing,+       match = Prelude.Nothing}+instance ToResourceProperties GrpcGatewayRouteMetadataProperty where+  toResourceProperties GrpcGatewayRouteMetadataProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::GatewayRoute.GrpcGatewayRouteMetadata",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Name" JSON..= name]+                           (Prelude.catMaybes+                              [(JSON..=) "Invert" Prelude.<$> invert,+                               (JSON..=) "Match" Prelude.<$> match]))}+instance JSON.ToJSON GrpcGatewayRouteMetadataProperty where+  toJSON GrpcGatewayRouteMetadataProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Name" JSON..= name]+              (Prelude.catMaybes+                 [(JSON..=) "Invert" Prelude.<$> invert,+                  (JSON..=) "Match" Prelude.<$> match])))+instance Property "Invert" GrpcGatewayRouteMetadataProperty where+  type PropertyType "Invert" GrpcGatewayRouteMetadataProperty = Value Prelude.Bool+  set newValue GrpcGatewayRouteMetadataProperty {..}+    = GrpcGatewayRouteMetadataProperty+        {invert = Prelude.pure newValue, ..}+instance Property "Match" GrpcGatewayRouteMetadataProperty where+  type PropertyType "Match" GrpcGatewayRouteMetadataProperty = GatewayRouteMetadataMatchProperty+  set newValue GrpcGatewayRouteMetadataProperty {..}+    = GrpcGatewayRouteMetadataProperty+        {match = Prelude.pure newValue, ..}+instance Property "Name" GrpcGatewayRouteMetadataProperty where+  type PropertyType "Name" GrpcGatewayRouteMetadataProperty = Value Prelude.Text+  set newValue GrpcGatewayRouteMetadataProperty {..}+    = GrpcGatewayRouteMetadataProperty {name = newValue, ..}
+ gen/Stratosphere/AppMesh/GatewayRoute/GrpcGatewayRouteMetadataProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.GatewayRoute.GrpcGatewayRouteMetadataProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data GrpcGatewayRouteMetadataProperty :: Prelude.Type+instance ToResourceProperties GrpcGatewayRouteMetadataProperty+instance Prelude.Eq GrpcGatewayRouteMetadataProperty+instance Prelude.Show GrpcGatewayRouteMetadataProperty+instance JSON.ToJSON GrpcGatewayRouteMetadataProperty
+ gen/Stratosphere/AppMesh/GatewayRoute/GrpcGatewayRouteProperty.hs view
@@ -0,0 +1,41 @@+module Stratosphere.AppMesh.GatewayRoute.GrpcGatewayRouteProperty (+        module Exports, GrpcGatewayRouteProperty(..),+        mkGrpcGatewayRouteProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.GatewayRoute.GrpcGatewayRouteActionProperty as Exports+import {-# SOURCE #-} Stratosphere.AppMesh.GatewayRoute.GrpcGatewayRouteMatchProperty as Exports+import Stratosphere.ResourceProperties+data GrpcGatewayRouteProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-grpcgatewayroute.html>+    GrpcGatewayRouteProperty {haddock_workaround_ :: (),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-grpcgatewayroute.html#cfn-appmesh-gatewayroute-grpcgatewayroute-action>+                              action :: GrpcGatewayRouteActionProperty,+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-grpcgatewayroute.html#cfn-appmesh-gatewayroute-grpcgatewayroute-match>+                              match :: GrpcGatewayRouteMatchProperty}+  deriving stock (Prelude.Eq, Prelude.Show)+mkGrpcGatewayRouteProperty ::+  GrpcGatewayRouteActionProperty+  -> GrpcGatewayRouteMatchProperty -> GrpcGatewayRouteProperty+mkGrpcGatewayRouteProperty action match+  = GrpcGatewayRouteProperty+      {haddock_workaround_ = (), action = action, match = match}+instance ToResourceProperties GrpcGatewayRouteProperty where+  toResourceProperties GrpcGatewayRouteProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::GatewayRoute.GrpcGatewayRoute",+         supportsTags = Prelude.False,+         properties = ["Action" JSON..= action, "Match" JSON..= match]}+instance JSON.ToJSON GrpcGatewayRouteProperty where+  toJSON GrpcGatewayRouteProperty {..}+    = JSON.object ["Action" JSON..= action, "Match" JSON..= match]+instance Property "Action" GrpcGatewayRouteProperty where+  type PropertyType "Action" GrpcGatewayRouteProperty = GrpcGatewayRouteActionProperty+  set newValue GrpcGatewayRouteProperty {..}+    = GrpcGatewayRouteProperty {action = newValue, ..}+instance Property "Match" GrpcGatewayRouteProperty where+  type PropertyType "Match" GrpcGatewayRouteProperty = GrpcGatewayRouteMatchProperty+  set newValue GrpcGatewayRouteProperty {..}+    = GrpcGatewayRouteProperty {match = newValue, ..}
+ gen/Stratosphere/AppMesh/GatewayRoute/GrpcGatewayRouteProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.GatewayRoute.GrpcGatewayRouteProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data GrpcGatewayRouteProperty :: Prelude.Type+instance ToResourceProperties GrpcGatewayRouteProperty+instance Prelude.Eq GrpcGatewayRouteProperty+instance Prelude.Show GrpcGatewayRouteProperty+instance JSON.ToJSON GrpcGatewayRouteProperty
+ gen/Stratosphere/AppMesh/GatewayRoute/GrpcGatewayRouteRewriteProperty.hs view
@@ -0,0 +1,37 @@+module Stratosphere.AppMesh.GatewayRoute.GrpcGatewayRouteRewriteProperty (+        module Exports, GrpcGatewayRouteRewriteProperty(..),+        mkGrpcGatewayRouteRewriteProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.GatewayRoute.GatewayRouteHostnameRewriteProperty as Exports+import Stratosphere.ResourceProperties+data GrpcGatewayRouteRewriteProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-grpcgatewayrouterewrite.html>+    GrpcGatewayRouteRewriteProperty {haddock_workaround_ :: (),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-grpcgatewayrouterewrite.html#cfn-appmesh-gatewayroute-grpcgatewayrouterewrite-hostname>+                                     hostname :: (Prelude.Maybe GatewayRouteHostnameRewriteProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkGrpcGatewayRouteRewriteProperty ::+  GrpcGatewayRouteRewriteProperty+mkGrpcGatewayRouteRewriteProperty+  = GrpcGatewayRouteRewriteProperty+      {haddock_workaround_ = (), hostname = Prelude.Nothing}+instance ToResourceProperties GrpcGatewayRouteRewriteProperty where+  toResourceProperties GrpcGatewayRouteRewriteProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::GatewayRoute.GrpcGatewayRouteRewrite",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes [(JSON..=) "Hostname" Prelude.<$> hostname])}+instance JSON.ToJSON GrpcGatewayRouteRewriteProperty where+  toJSON GrpcGatewayRouteRewriteProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes [(JSON..=) "Hostname" Prelude.<$> hostname]))+instance Property "Hostname" GrpcGatewayRouteRewriteProperty where+  type PropertyType "Hostname" GrpcGatewayRouteRewriteProperty = GatewayRouteHostnameRewriteProperty+  set newValue GrpcGatewayRouteRewriteProperty {..}+    = GrpcGatewayRouteRewriteProperty+        {hostname = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppMesh/GatewayRoute/GrpcGatewayRouteRewriteProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.GatewayRoute.GrpcGatewayRouteRewriteProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data GrpcGatewayRouteRewriteProperty :: Prelude.Type+instance ToResourceProperties GrpcGatewayRouteRewriteProperty+instance Prelude.Eq GrpcGatewayRouteRewriteProperty+instance Prelude.Show GrpcGatewayRouteRewriteProperty+instance JSON.ToJSON GrpcGatewayRouteRewriteProperty
+ gen/Stratosphere/AppMesh/GatewayRoute/HttpGatewayRouteActionProperty.hs view
@@ -0,0 +1,49 @@+module Stratosphere.AppMesh.GatewayRoute.HttpGatewayRouteActionProperty (+        module Exports, HttpGatewayRouteActionProperty(..),+        mkHttpGatewayRouteActionProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.GatewayRoute.GatewayRouteTargetProperty as Exports+import {-# SOURCE #-} Stratosphere.AppMesh.GatewayRoute.HttpGatewayRouteRewriteProperty as Exports+import Stratosphere.ResourceProperties+data HttpGatewayRouteActionProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayrouteaction.html>+    HttpGatewayRouteActionProperty {haddock_workaround_ :: (),+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayrouteaction.html#cfn-appmesh-gatewayroute-httpgatewayrouteaction-rewrite>+                                    rewrite :: (Prelude.Maybe HttpGatewayRouteRewriteProperty),+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayrouteaction.html#cfn-appmesh-gatewayroute-httpgatewayrouteaction-target>+                                    target :: GatewayRouteTargetProperty}+  deriving stock (Prelude.Eq, Prelude.Show)+mkHttpGatewayRouteActionProperty ::+  GatewayRouteTargetProperty -> HttpGatewayRouteActionProperty+mkHttpGatewayRouteActionProperty target+  = HttpGatewayRouteActionProperty+      {haddock_workaround_ = (), target = target,+       rewrite = Prelude.Nothing}+instance ToResourceProperties HttpGatewayRouteActionProperty where+  toResourceProperties HttpGatewayRouteActionProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::GatewayRoute.HttpGatewayRouteAction",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Target" JSON..= target]+                           (Prelude.catMaybes [(JSON..=) "Rewrite" Prelude.<$> rewrite]))}+instance JSON.ToJSON HttpGatewayRouteActionProperty where+  toJSON HttpGatewayRouteActionProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Target" JSON..= target]+              (Prelude.catMaybes [(JSON..=) "Rewrite" Prelude.<$> rewrite])))+instance Property "Rewrite" HttpGatewayRouteActionProperty where+  type PropertyType "Rewrite" HttpGatewayRouteActionProperty = HttpGatewayRouteRewriteProperty+  set newValue HttpGatewayRouteActionProperty {..}+    = HttpGatewayRouteActionProperty+        {rewrite = Prelude.pure newValue, ..}+instance Property "Target" HttpGatewayRouteActionProperty where+  type PropertyType "Target" HttpGatewayRouteActionProperty = GatewayRouteTargetProperty+  set newValue HttpGatewayRouteActionProperty {..}+    = HttpGatewayRouteActionProperty {target = newValue, ..}
+ gen/Stratosphere/AppMesh/GatewayRoute/HttpGatewayRouteActionProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.GatewayRoute.HttpGatewayRouteActionProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data HttpGatewayRouteActionProperty :: Prelude.Type+instance ToResourceProperties HttpGatewayRouteActionProperty+instance Prelude.Eq HttpGatewayRouteActionProperty+instance Prelude.Show HttpGatewayRouteActionProperty+instance JSON.ToJSON HttpGatewayRouteActionProperty
+ gen/Stratosphere/AppMesh/GatewayRoute/HttpGatewayRouteHeaderMatchProperty.hs view
@@ -0,0 +1,78 @@+module Stratosphere.AppMesh.GatewayRoute.HttpGatewayRouteHeaderMatchProperty (+        module Exports, HttpGatewayRouteHeaderMatchProperty(..),+        mkHttpGatewayRouteHeaderMatchProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.GatewayRoute.GatewayRouteRangeMatchProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data HttpGatewayRouteHeaderMatchProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayrouteheadermatch.html>+    HttpGatewayRouteHeaderMatchProperty {haddock_workaround_ :: (),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayrouteheadermatch.html#cfn-appmesh-gatewayroute-httpgatewayrouteheadermatch-exact>+                                         exact :: (Prelude.Maybe (Value Prelude.Text)),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayrouteheadermatch.html#cfn-appmesh-gatewayroute-httpgatewayrouteheadermatch-prefix>+                                         prefix :: (Prelude.Maybe (Value Prelude.Text)),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayrouteheadermatch.html#cfn-appmesh-gatewayroute-httpgatewayrouteheadermatch-range>+                                         range :: (Prelude.Maybe GatewayRouteRangeMatchProperty),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayrouteheadermatch.html#cfn-appmesh-gatewayroute-httpgatewayrouteheadermatch-regex>+                                         regex :: (Prelude.Maybe (Value Prelude.Text)),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayrouteheadermatch.html#cfn-appmesh-gatewayroute-httpgatewayrouteheadermatch-suffix>+                                         suffix :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkHttpGatewayRouteHeaderMatchProperty ::+  HttpGatewayRouteHeaderMatchProperty+mkHttpGatewayRouteHeaderMatchProperty+  = HttpGatewayRouteHeaderMatchProperty+      {haddock_workaround_ = (), exact = Prelude.Nothing,+       prefix = Prelude.Nothing, range = Prelude.Nothing,+       regex = Prelude.Nothing, suffix = Prelude.Nothing}+instance ToResourceProperties HttpGatewayRouteHeaderMatchProperty where+  toResourceProperties HttpGatewayRouteHeaderMatchProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::GatewayRoute.HttpGatewayRouteHeaderMatch",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Exact" Prelude.<$> exact,+                            (JSON..=) "Prefix" Prelude.<$> prefix,+                            (JSON..=) "Range" Prelude.<$> range,+                            (JSON..=) "Regex" Prelude.<$> regex,+                            (JSON..=) "Suffix" Prelude.<$> suffix])}+instance JSON.ToJSON HttpGatewayRouteHeaderMatchProperty where+  toJSON HttpGatewayRouteHeaderMatchProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Exact" Prelude.<$> exact,+               (JSON..=) "Prefix" Prelude.<$> prefix,+               (JSON..=) "Range" Prelude.<$> range,+               (JSON..=) "Regex" Prelude.<$> regex,+               (JSON..=) "Suffix" Prelude.<$> suffix]))+instance Property "Exact" HttpGatewayRouteHeaderMatchProperty where+  type PropertyType "Exact" HttpGatewayRouteHeaderMatchProperty = Value Prelude.Text+  set newValue HttpGatewayRouteHeaderMatchProperty {..}+    = HttpGatewayRouteHeaderMatchProperty+        {exact = Prelude.pure newValue, ..}+instance Property "Prefix" HttpGatewayRouteHeaderMatchProperty where+  type PropertyType "Prefix" HttpGatewayRouteHeaderMatchProperty = Value Prelude.Text+  set newValue HttpGatewayRouteHeaderMatchProperty {..}+    = HttpGatewayRouteHeaderMatchProperty+        {prefix = Prelude.pure newValue, ..}+instance Property "Range" HttpGatewayRouteHeaderMatchProperty where+  type PropertyType "Range" HttpGatewayRouteHeaderMatchProperty = GatewayRouteRangeMatchProperty+  set newValue HttpGatewayRouteHeaderMatchProperty {..}+    = HttpGatewayRouteHeaderMatchProperty+        {range = Prelude.pure newValue, ..}+instance Property "Regex" HttpGatewayRouteHeaderMatchProperty where+  type PropertyType "Regex" HttpGatewayRouteHeaderMatchProperty = Value Prelude.Text+  set newValue HttpGatewayRouteHeaderMatchProperty {..}+    = HttpGatewayRouteHeaderMatchProperty+        {regex = Prelude.pure newValue, ..}+instance Property "Suffix" HttpGatewayRouteHeaderMatchProperty where+  type PropertyType "Suffix" HttpGatewayRouteHeaderMatchProperty = Value Prelude.Text+  set newValue HttpGatewayRouteHeaderMatchProperty {..}+    = HttpGatewayRouteHeaderMatchProperty+        {suffix = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppMesh/GatewayRoute/HttpGatewayRouteHeaderMatchProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.GatewayRoute.HttpGatewayRouteHeaderMatchProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data HttpGatewayRouteHeaderMatchProperty :: Prelude.Type+instance ToResourceProperties HttpGatewayRouteHeaderMatchProperty+instance Prelude.Eq HttpGatewayRouteHeaderMatchProperty+instance Prelude.Show HttpGatewayRouteHeaderMatchProperty+instance JSON.ToJSON HttpGatewayRouteHeaderMatchProperty
+ gen/Stratosphere/AppMesh/GatewayRoute/HttpGatewayRouteHeaderProperty.hs view
@@ -0,0 +1,60 @@+module Stratosphere.AppMesh.GatewayRoute.HttpGatewayRouteHeaderProperty (+        module Exports, HttpGatewayRouteHeaderProperty(..),+        mkHttpGatewayRouteHeaderProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.GatewayRoute.HttpGatewayRouteHeaderMatchProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data HttpGatewayRouteHeaderProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayrouteheader.html>+    HttpGatewayRouteHeaderProperty {haddock_workaround_ :: (),+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayrouteheader.html#cfn-appmesh-gatewayroute-httpgatewayrouteheader-invert>+                                    invert :: (Prelude.Maybe (Value Prelude.Bool)),+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayrouteheader.html#cfn-appmesh-gatewayroute-httpgatewayrouteheader-match>+                                    match :: (Prelude.Maybe HttpGatewayRouteHeaderMatchProperty),+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayrouteheader.html#cfn-appmesh-gatewayroute-httpgatewayrouteheader-name>+                                    name :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkHttpGatewayRouteHeaderProperty ::+  Value Prelude.Text -> HttpGatewayRouteHeaderProperty+mkHttpGatewayRouteHeaderProperty name+  = HttpGatewayRouteHeaderProperty+      {haddock_workaround_ = (), name = name, invert = Prelude.Nothing,+       match = Prelude.Nothing}+instance ToResourceProperties HttpGatewayRouteHeaderProperty where+  toResourceProperties HttpGatewayRouteHeaderProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::GatewayRoute.HttpGatewayRouteHeader",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Name" JSON..= name]+                           (Prelude.catMaybes+                              [(JSON..=) "Invert" Prelude.<$> invert,+                               (JSON..=) "Match" Prelude.<$> match]))}+instance JSON.ToJSON HttpGatewayRouteHeaderProperty where+  toJSON HttpGatewayRouteHeaderProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Name" JSON..= name]+              (Prelude.catMaybes+                 [(JSON..=) "Invert" Prelude.<$> invert,+                  (JSON..=) "Match" Prelude.<$> match])))+instance Property "Invert" HttpGatewayRouteHeaderProperty where+  type PropertyType "Invert" HttpGatewayRouteHeaderProperty = Value Prelude.Bool+  set newValue HttpGatewayRouteHeaderProperty {..}+    = HttpGatewayRouteHeaderProperty+        {invert = Prelude.pure newValue, ..}+instance Property "Match" HttpGatewayRouteHeaderProperty where+  type PropertyType "Match" HttpGatewayRouteHeaderProperty = HttpGatewayRouteHeaderMatchProperty+  set newValue HttpGatewayRouteHeaderProperty {..}+    = HttpGatewayRouteHeaderProperty+        {match = Prelude.pure newValue, ..}+instance Property "Name" HttpGatewayRouteHeaderProperty where+  type PropertyType "Name" HttpGatewayRouteHeaderProperty = Value Prelude.Text+  set newValue HttpGatewayRouteHeaderProperty {..}+    = HttpGatewayRouteHeaderProperty {name = newValue, ..}
+ gen/Stratosphere/AppMesh/GatewayRoute/HttpGatewayRouteHeaderProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.GatewayRoute.HttpGatewayRouteHeaderProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data HttpGatewayRouteHeaderProperty :: Prelude.Type+instance ToResourceProperties HttpGatewayRouteHeaderProperty+instance Prelude.Eq HttpGatewayRouteHeaderProperty+instance Prelude.Show HttpGatewayRouteHeaderProperty+instance JSON.ToJSON HttpGatewayRouteHeaderProperty
+ gen/Stratosphere/AppMesh/GatewayRoute/HttpGatewayRouteMatchProperty.hs view
@@ -0,0 +1,97 @@+module Stratosphere.AppMesh.GatewayRoute.HttpGatewayRouteMatchProperty (+        module Exports, HttpGatewayRouteMatchProperty(..),+        mkHttpGatewayRouteMatchProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.GatewayRoute.GatewayRouteHostnameMatchProperty as Exports+import {-# SOURCE #-} Stratosphere.AppMesh.GatewayRoute.HttpGatewayRouteHeaderProperty as Exports+import {-# SOURCE #-} Stratosphere.AppMesh.GatewayRoute.HttpPathMatchProperty as Exports+import {-# SOURCE #-} Stratosphere.AppMesh.GatewayRoute.QueryParameterProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data HttpGatewayRouteMatchProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayroutematch.html>+    HttpGatewayRouteMatchProperty {haddock_workaround_ :: (),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayroutematch.html#cfn-appmesh-gatewayroute-httpgatewayroutematch-headers>+                                   headers :: (Prelude.Maybe [HttpGatewayRouteHeaderProperty]),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayroutematch.html#cfn-appmesh-gatewayroute-httpgatewayroutematch-hostname>+                                   hostname :: (Prelude.Maybe GatewayRouteHostnameMatchProperty),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayroutematch.html#cfn-appmesh-gatewayroute-httpgatewayroutematch-method>+                                   method :: (Prelude.Maybe (Value Prelude.Text)),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayroutematch.html#cfn-appmesh-gatewayroute-httpgatewayroutematch-path>+                                   path :: (Prelude.Maybe HttpPathMatchProperty),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayroutematch.html#cfn-appmesh-gatewayroute-httpgatewayroutematch-port>+                                   port :: (Prelude.Maybe (Value Prelude.Integer)),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayroutematch.html#cfn-appmesh-gatewayroute-httpgatewayroutematch-prefix>+                                   prefix :: (Prelude.Maybe (Value Prelude.Text)),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayroutematch.html#cfn-appmesh-gatewayroute-httpgatewayroutematch-queryparameters>+                                   queryParameters :: (Prelude.Maybe [QueryParameterProperty])}+  deriving stock (Prelude.Eq, Prelude.Show)+mkHttpGatewayRouteMatchProperty :: HttpGatewayRouteMatchProperty+mkHttpGatewayRouteMatchProperty+  = HttpGatewayRouteMatchProperty+      {haddock_workaround_ = (), headers = Prelude.Nothing,+       hostname = Prelude.Nothing, method = Prelude.Nothing,+       path = Prelude.Nothing, port = Prelude.Nothing,+       prefix = Prelude.Nothing, queryParameters = Prelude.Nothing}+instance ToResourceProperties HttpGatewayRouteMatchProperty where+  toResourceProperties HttpGatewayRouteMatchProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::GatewayRoute.HttpGatewayRouteMatch",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Headers" Prelude.<$> headers,+                            (JSON..=) "Hostname" Prelude.<$> hostname,+                            (JSON..=) "Method" Prelude.<$> method,+                            (JSON..=) "Path" Prelude.<$> path,+                            (JSON..=) "Port" Prelude.<$> port,+                            (JSON..=) "Prefix" Prelude.<$> prefix,+                            (JSON..=) "QueryParameters" Prelude.<$> queryParameters])}+instance JSON.ToJSON HttpGatewayRouteMatchProperty where+  toJSON HttpGatewayRouteMatchProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Headers" Prelude.<$> headers,+               (JSON..=) "Hostname" Prelude.<$> hostname,+               (JSON..=) "Method" Prelude.<$> method,+               (JSON..=) "Path" Prelude.<$> path,+               (JSON..=) "Port" Prelude.<$> port,+               (JSON..=) "Prefix" Prelude.<$> prefix,+               (JSON..=) "QueryParameters" Prelude.<$> queryParameters]))+instance Property "Headers" HttpGatewayRouteMatchProperty where+  type PropertyType "Headers" HttpGatewayRouteMatchProperty = [HttpGatewayRouteHeaderProperty]+  set newValue HttpGatewayRouteMatchProperty {..}+    = HttpGatewayRouteMatchProperty+        {headers = Prelude.pure newValue, ..}+instance Property "Hostname" HttpGatewayRouteMatchProperty where+  type PropertyType "Hostname" HttpGatewayRouteMatchProperty = GatewayRouteHostnameMatchProperty+  set newValue HttpGatewayRouteMatchProperty {..}+    = HttpGatewayRouteMatchProperty+        {hostname = Prelude.pure newValue, ..}+instance Property "Method" HttpGatewayRouteMatchProperty where+  type PropertyType "Method" HttpGatewayRouteMatchProperty = Value Prelude.Text+  set newValue HttpGatewayRouteMatchProperty {..}+    = HttpGatewayRouteMatchProperty+        {method = Prelude.pure newValue, ..}+instance Property "Path" HttpGatewayRouteMatchProperty where+  type PropertyType "Path" HttpGatewayRouteMatchProperty = HttpPathMatchProperty+  set newValue HttpGatewayRouteMatchProperty {..}+    = HttpGatewayRouteMatchProperty {path = Prelude.pure newValue, ..}+instance Property "Port" HttpGatewayRouteMatchProperty where+  type PropertyType "Port" HttpGatewayRouteMatchProperty = Value Prelude.Integer+  set newValue HttpGatewayRouteMatchProperty {..}+    = HttpGatewayRouteMatchProperty {port = Prelude.pure newValue, ..}+instance Property "Prefix" HttpGatewayRouteMatchProperty where+  type PropertyType "Prefix" HttpGatewayRouteMatchProperty = Value Prelude.Text+  set newValue HttpGatewayRouteMatchProperty {..}+    = HttpGatewayRouteMatchProperty+        {prefix = Prelude.pure newValue, ..}+instance Property "QueryParameters" HttpGatewayRouteMatchProperty where+  type PropertyType "QueryParameters" HttpGatewayRouteMatchProperty = [QueryParameterProperty]+  set newValue HttpGatewayRouteMatchProperty {..}+    = HttpGatewayRouteMatchProperty+        {queryParameters = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppMesh/GatewayRoute/HttpGatewayRouteMatchProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.GatewayRoute.HttpGatewayRouteMatchProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data HttpGatewayRouteMatchProperty :: Prelude.Type+instance ToResourceProperties HttpGatewayRouteMatchProperty+instance Prelude.Eq HttpGatewayRouteMatchProperty+instance Prelude.Show HttpGatewayRouteMatchProperty+instance JSON.ToJSON HttpGatewayRouteMatchProperty
+ gen/Stratosphere/AppMesh/GatewayRoute/HttpGatewayRoutePathRewriteProperty.hs view
@@ -0,0 +1,37 @@+module Stratosphere.AppMesh.GatewayRoute.HttpGatewayRoutePathRewriteProperty (+        HttpGatewayRoutePathRewriteProperty(..),+        mkHttpGatewayRoutePathRewriteProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data HttpGatewayRoutePathRewriteProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayroutepathrewrite.html>+    HttpGatewayRoutePathRewriteProperty {haddock_workaround_ :: (),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayroutepathrewrite.html#cfn-appmesh-gatewayroute-httpgatewayroutepathrewrite-exact>+                                         exact :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkHttpGatewayRoutePathRewriteProperty ::+  HttpGatewayRoutePathRewriteProperty+mkHttpGatewayRoutePathRewriteProperty+  = HttpGatewayRoutePathRewriteProperty+      {haddock_workaround_ = (), exact = Prelude.Nothing}+instance ToResourceProperties HttpGatewayRoutePathRewriteProperty where+  toResourceProperties HttpGatewayRoutePathRewriteProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::GatewayRoute.HttpGatewayRoutePathRewrite",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes [(JSON..=) "Exact" Prelude.<$> exact])}+instance JSON.ToJSON HttpGatewayRoutePathRewriteProperty where+  toJSON HttpGatewayRoutePathRewriteProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes [(JSON..=) "Exact" Prelude.<$> exact]))+instance Property "Exact" HttpGatewayRoutePathRewriteProperty where+  type PropertyType "Exact" HttpGatewayRoutePathRewriteProperty = Value Prelude.Text+  set newValue HttpGatewayRoutePathRewriteProperty {..}+    = HttpGatewayRoutePathRewriteProperty+        {exact = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppMesh/GatewayRoute/HttpGatewayRoutePathRewriteProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.GatewayRoute.HttpGatewayRoutePathRewriteProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data HttpGatewayRoutePathRewriteProperty :: Prelude.Type+instance ToResourceProperties HttpGatewayRoutePathRewriteProperty+instance Prelude.Eq HttpGatewayRoutePathRewriteProperty+instance Prelude.Show HttpGatewayRoutePathRewriteProperty+instance JSON.ToJSON HttpGatewayRoutePathRewriteProperty
+ gen/Stratosphere/AppMesh/GatewayRoute/HttpGatewayRoutePrefixRewriteProperty.hs view
@@ -0,0 +1,49 @@+module Stratosphere.AppMesh.GatewayRoute.HttpGatewayRoutePrefixRewriteProperty (+        HttpGatewayRoutePrefixRewriteProperty(..),+        mkHttpGatewayRoutePrefixRewriteProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data HttpGatewayRoutePrefixRewriteProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayrouteprefixrewrite.html>+    HttpGatewayRoutePrefixRewriteProperty {haddock_workaround_ :: (),+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayrouteprefixrewrite.html#cfn-appmesh-gatewayroute-httpgatewayrouteprefixrewrite-defaultprefix>+                                           defaultPrefix :: (Prelude.Maybe (Value Prelude.Text)),+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayrouteprefixrewrite.html#cfn-appmesh-gatewayroute-httpgatewayrouteprefixrewrite-value>+                                           value :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkHttpGatewayRoutePrefixRewriteProperty ::+  HttpGatewayRoutePrefixRewriteProperty+mkHttpGatewayRoutePrefixRewriteProperty+  = HttpGatewayRoutePrefixRewriteProperty+      {haddock_workaround_ = (), defaultPrefix = Prelude.Nothing,+       value = Prelude.Nothing}+instance ToResourceProperties HttpGatewayRoutePrefixRewriteProperty where+  toResourceProperties HttpGatewayRoutePrefixRewriteProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::GatewayRoute.HttpGatewayRoutePrefixRewrite",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "DefaultPrefix" Prelude.<$> defaultPrefix,+                            (JSON..=) "Value" Prelude.<$> value])}+instance JSON.ToJSON HttpGatewayRoutePrefixRewriteProperty where+  toJSON HttpGatewayRoutePrefixRewriteProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "DefaultPrefix" Prelude.<$> defaultPrefix,+               (JSON..=) "Value" Prelude.<$> value]))+instance Property "DefaultPrefix" HttpGatewayRoutePrefixRewriteProperty where+  type PropertyType "DefaultPrefix" HttpGatewayRoutePrefixRewriteProperty = Value Prelude.Text+  set newValue HttpGatewayRoutePrefixRewriteProperty {..}+    = HttpGatewayRoutePrefixRewriteProperty+        {defaultPrefix = Prelude.pure newValue, ..}+instance Property "Value" HttpGatewayRoutePrefixRewriteProperty where+  type PropertyType "Value" HttpGatewayRoutePrefixRewriteProperty = Value Prelude.Text+  set newValue HttpGatewayRoutePrefixRewriteProperty {..}+    = HttpGatewayRoutePrefixRewriteProperty+        {value = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppMesh/GatewayRoute/HttpGatewayRoutePrefixRewriteProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.GatewayRoute.HttpGatewayRoutePrefixRewriteProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data HttpGatewayRoutePrefixRewriteProperty :: Prelude.Type+instance ToResourceProperties HttpGatewayRoutePrefixRewriteProperty+instance Prelude.Eq HttpGatewayRoutePrefixRewriteProperty+instance Prelude.Show HttpGatewayRoutePrefixRewriteProperty+instance JSON.ToJSON HttpGatewayRoutePrefixRewriteProperty
+ gen/Stratosphere/AppMesh/GatewayRoute/HttpGatewayRouteProperty.hs view
@@ -0,0 +1,41 @@+module Stratosphere.AppMesh.GatewayRoute.HttpGatewayRouteProperty (+        module Exports, HttpGatewayRouteProperty(..),+        mkHttpGatewayRouteProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.GatewayRoute.HttpGatewayRouteActionProperty as Exports+import {-# SOURCE #-} Stratosphere.AppMesh.GatewayRoute.HttpGatewayRouteMatchProperty as Exports+import Stratosphere.ResourceProperties+data HttpGatewayRouteProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayroute.html>+    HttpGatewayRouteProperty {haddock_workaround_ :: (),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayroute.html#cfn-appmesh-gatewayroute-httpgatewayroute-action>+                              action :: HttpGatewayRouteActionProperty,+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayroute.html#cfn-appmesh-gatewayroute-httpgatewayroute-match>+                              match :: HttpGatewayRouteMatchProperty}+  deriving stock (Prelude.Eq, Prelude.Show)+mkHttpGatewayRouteProperty ::+  HttpGatewayRouteActionProperty+  -> HttpGatewayRouteMatchProperty -> HttpGatewayRouteProperty+mkHttpGatewayRouteProperty action match+  = HttpGatewayRouteProperty+      {haddock_workaround_ = (), action = action, match = match}+instance ToResourceProperties HttpGatewayRouteProperty where+  toResourceProperties HttpGatewayRouteProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::GatewayRoute.HttpGatewayRoute",+         supportsTags = Prelude.False,+         properties = ["Action" JSON..= action, "Match" JSON..= match]}+instance JSON.ToJSON HttpGatewayRouteProperty where+  toJSON HttpGatewayRouteProperty {..}+    = JSON.object ["Action" JSON..= action, "Match" JSON..= match]+instance Property "Action" HttpGatewayRouteProperty where+  type PropertyType "Action" HttpGatewayRouteProperty = HttpGatewayRouteActionProperty+  set newValue HttpGatewayRouteProperty {..}+    = HttpGatewayRouteProperty {action = newValue, ..}+instance Property "Match" HttpGatewayRouteProperty where+  type PropertyType "Match" HttpGatewayRouteProperty = HttpGatewayRouteMatchProperty+  set newValue HttpGatewayRouteProperty {..}+    = HttpGatewayRouteProperty {match = newValue, ..}
+ gen/Stratosphere/AppMesh/GatewayRoute/HttpGatewayRouteProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.GatewayRoute.HttpGatewayRouteProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data HttpGatewayRouteProperty :: Prelude.Type+instance ToResourceProperties HttpGatewayRouteProperty+instance Prelude.Eq HttpGatewayRouteProperty+instance Prelude.Show HttpGatewayRouteProperty+instance JSON.ToJSON HttpGatewayRouteProperty
+ gen/Stratosphere/AppMesh/GatewayRoute/HttpGatewayRouteRewriteProperty.hs view
@@ -0,0 +1,60 @@+module Stratosphere.AppMesh.GatewayRoute.HttpGatewayRouteRewriteProperty (+        module Exports, HttpGatewayRouteRewriteProperty(..),+        mkHttpGatewayRouteRewriteProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.GatewayRoute.GatewayRouteHostnameRewriteProperty as Exports+import {-# SOURCE #-} Stratosphere.AppMesh.GatewayRoute.HttpGatewayRoutePathRewriteProperty as Exports+import {-# SOURCE #-} Stratosphere.AppMesh.GatewayRoute.HttpGatewayRoutePrefixRewriteProperty as Exports+import Stratosphere.ResourceProperties+data HttpGatewayRouteRewriteProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayrouterewrite.html>+    HttpGatewayRouteRewriteProperty {haddock_workaround_ :: (),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayrouterewrite.html#cfn-appmesh-gatewayroute-httpgatewayrouterewrite-hostname>+                                     hostname :: (Prelude.Maybe GatewayRouteHostnameRewriteProperty),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayrouterewrite.html#cfn-appmesh-gatewayroute-httpgatewayrouterewrite-path>+                                     path :: (Prelude.Maybe HttpGatewayRoutePathRewriteProperty),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayrouterewrite.html#cfn-appmesh-gatewayroute-httpgatewayrouterewrite-prefix>+                                     prefix :: (Prelude.Maybe HttpGatewayRoutePrefixRewriteProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkHttpGatewayRouteRewriteProperty ::+  HttpGatewayRouteRewriteProperty+mkHttpGatewayRouteRewriteProperty+  = HttpGatewayRouteRewriteProperty+      {haddock_workaround_ = (), hostname = Prelude.Nothing,+       path = Prelude.Nothing, prefix = Prelude.Nothing}+instance ToResourceProperties HttpGatewayRouteRewriteProperty where+  toResourceProperties HttpGatewayRouteRewriteProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::GatewayRoute.HttpGatewayRouteRewrite",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Hostname" Prelude.<$> hostname,+                            (JSON..=) "Path" Prelude.<$> path,+                            (JSON..=) "Prefix" Prelude.<$> prefix])}+instance JSON.ToJSON HttpGatewayRouteRewriteProperty where+  toJSON HttpGatewayRouteRewriteProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Hostname" Prelude.<$> hostname,+               (JSON..=) "Path" Prelude.<$> path,+               (JSON..=) "Prefix" Prelude.<$> prefix]))+instance Property "Hostname" HttpGatewayRouteRewriteProperty where+  type PropertyType "Hostname" HttpGatewayRouteRewriteProperty = GatewayRouteHostnameRewriteProperty+  set newValue HttpGatewayRouteRewriteProperty {..}+    = HttpGatewayRouteRewriteProperty+        {hostname = Prelude.pure newValue, ..}+instance Property "Path" HttpGatewayRouteRewriteProperty where+  type PropertyType "Path" HttpGatewayRouteRewriteProperty = HttpGatewayRoutePathRewriteProperty+  set newValue HttpGatewayRouteRewriteProperty {..}+    = HttpGatewayRouteRewriteProperty+        {path = Prelude.pure newValue, ..}+instance Property "Prefix" HttpGatewayRouteRewriteProperty where+  type PropertyType "Prefix" HttpGatewayRouteRewriteProperty = HttpGatewayRoutePrefixRewriteProperty+  set newValue HttpGatewayRouteRewriteProperty {..}+    = HttpGatewayRouteRewriteProperty+        {prefix = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppMesh/GatewayRoute/HttpGatewayRouteRewriteProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.GatewayRoute.HttpGatewayRouteRewriteProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data HttpGatewayRouteRewriteProperty :: Prelude.Type+instance ToResourceProperties HttpGatewayRouteRewriteProperty+instance Prelude.Eq HttpGatewayRouteRewriteProperty+instance Prelude.Show HttpGatewayRouteRewriteProperty+instance JSON.ToJSON HttpGatewayRouteRewriteProperty
+ gen/Stratosphere/AppMesh/GatewayRoute/HttpPathMatchProperty.hs view
@@ -0,0 +1,45 @@+module Stratosphere.AppMesh.GatewayRoute.HttpPathMatchProperty (+        HttpPathMatchProperty(..), mkHttpPathMatchProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data HttpPathMatchProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httppathmatch.html>+    HttpPathMatchProperty {haddock_workaround_ :: (),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httppathmatch.html#cfn-appmesh-gatewayroute-httppathmatch-exact>+                           exact :: (Prelude.Maybe (Value Prelude.Text)),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httppathmatch.html#cfn-appmesh-gatewayroute-httppathmatch-regex>+                           regex :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkHttpPathMatchProperty :: HttpPathMatchProperty+mkHttpPathMatchProperty+  = HttpPathMatchProperty+      {haddock_workaround_ = (), exact = Prelude.Nothing,+       regex = Prelude.Nothing}+instance ToResourceProperties HttpPathMatchProperty where+  toResourceProperties HttpPathMatchProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::GatewayRoute.HttpPathMatch",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Exact" Prelude.<$> exact,+                            (JSON..=) "Regex" Prelude.<$> regex])}+instance JSON.ToJSON HttpPathMatchProperty where+  toJSON HttpPathMatchProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Exact" Prelude.<$> exact,+               (JSON..=) "Regex" Prelude.<$> regex]))+instance Property "Exact" HttpPathMatchProperty where+  type PropertyType "Exact" HttpPathMatchProperty = Value Prelude.Text+  set newValue HttpPathMatchProperty {..}+    = HttpPathMatchProperty {exact = Prelude.pure newValue, ..}+instance Property "Regex" HttpPathMatchProperty where+  type PropertyType "Regex" HttpPathMatchProperty = Value Prelude.Text+  set newValue HttpPathMatchProperty {..}+    = HttpPathMatchProperty {regex = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppMesh/GatewayRoute/HttpPathMatchProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.GatewayRoute.HttpPathMatchProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data HttpPathMatchProperty :: Prelude.Type+instance ToResourceProperties HttpPathMatchProperty+instance Prelude.Eq HttpPathMatchProperty+instance Prelude.Show HttpPathMatchProperty+instance JSON.ToJSON HttpPathMatchProperty
+ gen/Stratosphere/AppMesh/GatewayRoute/HttpQueryParameterMatchProperty.hs view
@@ -0,0 +1,37 @@+module Stratosphere.AppMesh.GatewayRoute.HttpQueryParameterMatchProperty (+        HttpQueryParameterMatchProperty(..),+        mkHttpQueryParameterMatchProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data HttpQueryParameterMatchProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpqueryparametermatch.html>+    HttpQueryParameterMatchProperty {haddock_workaround_ :: (),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpqueryparametermatch.html#cfn-appmesh-gatewayroute-httpqueryparametermatch-exact>+                                     exact :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkHttpQueryParameterMatchProperty ::+  HttpQueryParameterMatchProperty+mkHttpQueryParameterMatchProperty+  = HttpQueryParameterMatchProperty+      {haddock_workaround_ = (), exact = Prelude.Nothing}+instance ToResourceProperties HttpQueryParameterMatchProperty where+  toResourceProperties HttpQueryParameterMatchProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::GatewayRoute.HttpQueryParameterMatch",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes [(JSON..=) "Exact" Prelude.<$> exact])}+instance JSON.ToJSON HttpQueryParameterMatchProperty where+  toJSON HttpQueryParameterMatchProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes [(JSON..=) "Exact" Prelude.<$> exact]))+instance Property "Exact" HttpQueryParameterMatchProperty where+  type PropertyType "Exact" HttpQueryParameterMatchProperty = Value Prelude.Text+  set newValue HttpQueryParameterMatchProperty {..}+    = HttpQueryParameterMatchProperty+        {exact = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppMesh/GatewayRoute/HttpQueryParameterMatchProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.GatewayRoute.HttpQueryParameterMatchProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data HttpQueryParameterMatchProperty :: Prelude.Type+instance ToResourceProperties HttpQueryParameterMatchProperty+instance Prelude.Eq HttpQueryParameterMatchProperty+instance Prelude.Show HttpQueryParameterMatchProperty+instance JSON.ToJSON HttpQueryParameterMatchProperty
+ gen/Stratosphere/AppMesh/GatewayRoute/QueryParameterProperty.hs view
@@ -0,0 +1,47 @@+module Stratosphere.AppMesh.GatewayRoute.QueryParameterProperty (+        module Exports, QueryParameterProperty(..),+        mkQueryParameterProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.GatewayRoute.HttpQueryParameterMatchProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data QueryParameterProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-queryparameter.html>+    QueryParameterProperty {haddock_workaround_ :: (),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-queryparameter.html#cfn-appmesh-gatewayroute-queryparameter-match>+                            match :: (Prelude.Maybe HttpQueryParameterMatchProperty),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-queryparameter.html#cfn-appmesh-gatewayroute-queryparameter-name>+                            name :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkQueryParameterProperty ::+  Value Prelude.Text -> QueryParameterProperty+mkQueryParameterProperty name+  = QueryParameterProperty+      {haddock_workaround_ = (), name = name, match = Prelude.Nothing}+instance ToResourceProperties QueryParameterProperty where+  toResourceProperties QueryParameterProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::GatewayRoute.QueryParameter",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Name" JSON..= name]+                           (Prelude.catMaybes [(JSON..=) "Match" Prelude.<$> match]))}+instance JSON.ToJSON QueryParameterProperty where+  toJSON QueryParameterProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Name" JSON..= name]+              (Prelude.catMaybes [(JSON..=) "Match" Prelude.<$> match])))+instance Property "Match" QueryParameterProperty where+  type PropertyType "Match" QueryParameterProperty = HttpQueryParameterMatchProperty+  set newValue QueryParameterProperty {..}+    = QueryParameterProperty {match = Prelude.pure newValue, ..}+instance Property "Name" QueryParameterProperty where+  type PropertyType "Name" QueryParameterProperty = Value Prelude.Text+  set newValue QueryParameterProperty {..}+    = QueryParameterProperty {name = newValue, ..}
+ gen/Stratosphere/AppMesh/GatewayRoute/QueryParameterProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.GatewayRoute.QueryParameterProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data QueryParameterProperty :: Prelude.Type+instance ToResourceProperties QueryParameterProperty+instance Prelude.Eq QueryParameterProperty+instance Prelude.Show QueryParameterProperty+instance JSON.ToJSON QueryParameterProperty
+ gen/Stratosphere/AppMesh/Mesh.hs view
@@ -0,0 +1,52 @@+module Stratosphere.AppMesh.Mesh (+        module Exports, Mesh(..), mkMesh+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.Mesh.MeshSpecProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Tag+import Stratosphere.Value+data Mesh+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-mesh.html>+    Mesh {haddock_workaround_ :: (),+          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-mesh.html#cfn-appmesh-mesh-meshname>+          meshName :: (Prelude.Maybe (Value Prelude.Text)),+          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-mesh.html#cfn-appmesh-mesh-spec>+          spec :: (Prelude.Maybe MeshSpecProperty),+          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-mesh.html#cfn-appmesh-mesh-tags>+          tags :: (Prelude.Maybe [Tag])}+  deriving stock (Prelude.Eq, Prelude.Show)+mkMesh :: Mesh+mkMesh+  = Mesh+      {haddock_workaround_ = (), meshName = Prelude.Nothing,+       spec = Prelude.Nothing, tags = Prelude.Nothing}+instance ToResourceProperties Mesh where+  toResourceProperties Mesh {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::Mesh", supportsTags = Prelude.True,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "MeshName" Prelude.<$> meshName,+                            (JSON..=) "Spec" Prelude.<$> spec,+                            (JSON..=) "Tags" Prelude.<$> tags])}+instance JSON.ToJSON Mesh where+  toJSON Mesh {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "MeshName" Prelude.<$> meshName,+               (JSON..=) "Spec" Prelude.<$> spec,+               (JSON..=) "Tags" Prelude.<$> tags]))+instance Property "MeshName" Mesh where+  type PropertyType "MeshName" Mesh = Value Prelude.Text+  set newValue Mesh {..}+    = Mesh {meshName = Prelude.pure newValue, ..}+instance Property "Spec" Mesh where+  type PropertyType "Spec" Mesh = MeshSpecProperty+  set newValue Mesh {..} = Mesh {spec = Prelude.pure newValue, ..}+instance Property "Tags" Mesh where+  type PropertyType "Tags" Mesh = [Tag]+  set newValue Mesh {..} = Mesh {tags = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppMesh/Mesh/EgressFilterProperty.hs view
@@ -0,0 +1,30 @@+module Stratosphere.AppMesh.Mesh.EgressFilterProperty (+        EgressFilterProperty(..), mkEgressFilterProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data EgressFilterProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-mesh-egressfilter.html>+    EgressFilterProperty {haddock_workaround_ :: (),+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-mesh-egressfilter.html#cfn-appmesh-mesh-egressfilter-type>+                          type' :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkEgressFilterProperty ::+  Value Prelude.Text -> EgressFilterProperty+mkEgressFilterProperty type'+  = EgressFilterProperty {haddock_workaround_ = (), type' = type'}+instance ToResourceProperties EgressFilterProperty where+  toResourceProperties EgressFilterProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::Mesh.EgressFilter",+         supportsTags = Prelude.False, properties = ["Type" JSON..= type']}+instance JSON.ToJSON EgressFilterProperty where+  toJSON EgressFilterProperty {..}+    = JSON.object ["Type" JSON..= type']+instance Property "Type" EgressFilterProperty where+  type PropertyType "Type" EgressFilterProperty = Value Prelude.Text+  set newValue EgressFilterProperty {..}+    = EgressFilterProperty {type' = newValue, ..}
+ gen/Stratosphere/AppMesh/Mesh/EgressFilterProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.Mesh.EgressFilterProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data EgressFilterProperty :: Prelude.Type+instance ToResourceProperties EgressFilterProperty+instance Prelude.Eq EgressFilterProperty+instance Prelude.Show EgressFilterProperty+instance JSON.ToJSON EgressFilterProperty
+ gen/Stratosphere/AppMesh/Mesh/MeshServiceDiscoveryProperty.hs view
@@ -0,0 +1,37 @@+module Stratosphere.AppMesh.Mesh.MeshServiceDiscoveryProperty (+        MeshServiceDiscoveryProperty(..), mkMeshServiceDiscoveryProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data MeshServiceDiscoveryProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-mesh-meshservicediscovery.html>+    MeshServiceDiscoveryProperty {haddock_workaround_ :: (),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-mesh-meshservicediscovery.html#cfn-appmesh-mesh-meshservicediscovery-ippreference>+                                  ipPreference :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkMeshServiceDiscoveryProperty :: MeshServiceDiscoveryProperty+mkMeshServiceDiscoveryProperty+  = MeshServiceDiscoveryProperty+      {haddock_workaround_ = (), ipPreference = Prelude.Nothing}+instance ToResourceProperties MeshServiceDiscoveryProperty where+  toResourceProperties MeshServiceDiscoveryProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::Mesh.MeshServiceDiscovery",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "IpPreference" Prelude.<$> ipPreference])}+instance JSON.ToJSON MeshServiceDiscoveryProperty where+  toJSON MeshServiceDiscoveryProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "IpPreference" Prelude.<$> ipPreference]))+instance Property "IpPreference" MeshServiceDiscoveryProperty where+  type PropertyType "IpPreference" MeshServiceDiscoveryProperty = Value Prelude.Text+  set newValue MeshServiceDiscoveryProperty {..}+    = MeshServiceDiscoveryProperty+        {ipPreference = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppMesh/Mesh/MeshServiceDiscoveryProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.Mesh.MeshServiceDiscoveryProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data MeshServiceDiscoveryProperty :: Prelude.Type+instance ToResourceProperties MeshServiceDiscoveryProperty+instance Prelude.Eq MeshServiceDiscoveryProperty+instance Prelude.Show MeshServiceDiscoveryProperty+instance JSON.ToJSON MeshServiceDiscoveryProperty
+ gen/Stratosphere/AppMesh/Mesh/MeshSpecProperty.hs view
@@ -0,0 +1,46 @@+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+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-mesh-meshspec.html>+    MeshSpecProperty {haddock_workaround_ :: (),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-mesh-meshspec.html#cfn-appmesh-mesh-meshspec-egressfilter>+                      egressFilter :: (Prelude.Maybe EgressFilterProperty),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-mesh-meshspec.html#cfn-appmesh-mesh-meshspec-servicediscovery>+                      serviceDiscovery :: (Prelude.Maybe MeshServiceDiscoveryProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkMeshSpecProperty :: MeshSpecProperty+mkMeshSpecProperty+  = MeshSpecProperty+      {haddock_workaround_ = (), egressFilter = Prelude.Nothing,+       serviceDiscovery = Prelude.Nothing}+instance ToResourceProperties MeshSpecProperty where+  toResourceProperties MeshSpecProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::Mesh.MeshSpec",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "EgressFilter" Prelude.<$> egressFilter,+                            (JSON..=) "ServiceDiscovery" Prelude.<$> serviceDiscovery])}+instance JSON.ToJSON MeshSpecProperty where+  toJSON MeshSpecProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "EgressFilter" Prelude.<$> egressFilter,+               (JSON..=) "ServiceDiscovery" Prelude.<$> serviceDiscovery]))+instance Property "EgressFilter" MeshSpecProperty where+  type PropertyType "EgressFilter" MeshSpecProperty = EgressFilterProperty+  set newValue MeshSpecProperty {..}+    = MeshSpecProperty {egressFilter = Prelude.pure newValue, ..}+instance Property "ServiceDiscovery" MeshSpecProperty where+  type PropertyType "ServiceDiscovery" MeshSpecProperty = MeshServiceDiscoveryProperty+  set newValue MeshSpecProperty {..}+    = MeshSpecProperty {serviceDiscovery = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppMesh/Mesh/MeshSpecProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.Mesh.MeshSpecProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data MeshSpecProperty :: Prelude.Type+instance ToResourceProperties MeshSpecProperty+instance Prelude.Eq MeshSpecProperty+instance Prelude.Show MeshSpecProperty+instance JSON.ToJSON MeshSpecProperty
+ gen/Stratosphere/AppMesh/Route.hs view
@@ -0,0 +1,77 @@+module Stratosphere.AppMesh.Route (+        module Exports, Route(..), mkRoute+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.Route.RouteSpecProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Tag+import Stratosphere.Value+data Route+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-route.html>+    Route {haddock_workaround_ :: (),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-route.html#cfn-appmesh-route-meshname>+           meshName :: (Value Prelude.Text),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-route.html#cfn-appmesh-route-meshowner>+           meshOwner :: (Prelude.Maybe (Value Prelude.Text)),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-route.html#cfn-appmesh-route-routename>+           routeName :: (Prelude.Maybe (Value Prelude.Text)),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-route.html#cfn-appmesh-route-spec>+           spec :: RouteSpecProperty,+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-route.html#cfn-appmesh-route-tags>+           tags :: (Prelude.Maybe [Tag]),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-route.html#cfn-appmesh-route-virtualroutername>+           virtualRouterName :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkRoute ::+  Value Prelude.Text+  -> RouteSpecProperty -> Value Prelude.Text -> Route+mkRoute meshName spec virtualRouterName+  = Route+      {haddock_workaround_ = (), meshName = meshName, spec = spec,+       virtualRouterName = virtualRouterName, meshOwner = Prelude.Nothing,+       routeName = Prelude.Nothing, tags = Prelude.Nothing}+instance ToResourceProperties Route where+  toResourceProperties Route {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::Route", supportsTags = Prelude.True,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["MeshName" JSON..= meshName, "Spec" JSON..= spec,+                            "VirtualRouterName" JSON..= virtualRouterName]+                           (Prelude.catMaybes+                              [(JSON..=) "MeshOwner" Prelude.<$> meshOwner,+                               (JSON..=) "RouteName" Prelude.<$> routeName,+                               (JSON..=) "Tags" Prelude.<$> tags]))}+instance JSON.ToJSON Route where+  toJSON Route {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["MeshName" JSON..= meshName, "Spec" JSON..= spec,+               "VirtualRouterName" JSON..= virtualRouterName]+              (Prelude.catMaybes+                 [(JSON..=) "MeshOwner" Prelude.<$> meshOwner,+                  (JSON..=) "RouteName" Prelude.<$> routeName,+                  (JSON..=) "Tags" Prelude.<$> tags])))+instance Property "MeshName" Route where+  type PropertyType "MeshName" Route = Value Prelude.Text+  set newValue Route {..} = Route {meshName = newValue, ..}+instance Property "MeshOwner" Route where+  type PropertyType "MeshOwner" Route = Value Prelude.Text+  set newValue Route {..}+    = Route {meshOwner = Prelude.pure newValue, ..}+instance Property "RouteName" Route where+  type PropertyType "RouteName" Route = Value Prelude.Text+  set newValue Route {..}+    = Route {routeName = Prelude.pure newValue, ..}+instance Property "Spec" Route where+  type PropertyType "Spec" Route = RouteSpecProperty+  set newValue Route {..} = Route {spec = newValue, ..}+instance Property "Tags" Route where+  type PropertyType "Tags" Route = [Tag]+  set newValue Route {..} = Route {tags = Prelude.pure newValue, ..}+instance Property "VirtualRouterName" Route where+  type PropertyType "VirtualRouterName" Route = Value Prelude.Text+  set newValue Route {..} = Route {virtualRouterName = newValue, ..}
+ gen/Stratosphere/AppMesh/Route/DurationProperty.hs view
@@ -0,0 +1,38 @@+module Stratosphere.AppMesh.Route.DurationProperty (+        DurationProperty(..), mkDurationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data DurationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-duration.html>+    DurationProperty {haddock_workaround_ :: (),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-duration.html#cfn-appmesh-route-duration-unit>+                      unit :: (Value Prelude.Text),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-duration.html#cfn-appmesh-route-duration-value>+                      value :: (Value Prelude.Integer)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkDurationProperty ::+  Value Prelude.Text -> Value Prelude.Integer -> DurationProperty+mkDurationProperty unit value+  = DurationProperty+      {haddock_workaround_ = (), unit = unit, value = value}+instance ToResourceProperties DurationProperty where+  toResourceProperties DurationProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::Route.Duration",+         supportsTags = Prelude.False,+         properties = ["Unit" JSON..= unit, "Value" JSON..= value]}+instance JSON.ToJSON DurationProperty where+  toJSON DurationProperty {..}+    = JSON.object ["Unit" JSON..= unit, "Value" JSON..= value]+instance Property "Unit" DurationProperty where+  type PropertyType "Unit" DurationProperty = Value Prelude.Text+  set newValue DurationProperty {..}+    = DurationProperty {unit = newValue, ..}+instance Property "Value" DurationProperty where+  type PropertyType "Value" DurationProperty = Value Prelude.Integer+  set newValue DurationProperty {..}+    = DurationProperty {value = newValue, ..}
+ gen/Stratosphere/AppMesh/Route/DurationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.Route.DurationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data DurationProperty :: Prelude.Type+instance ToResourceProperties DurationProperty+instance Prelude.Eq DurationProperty+instance Prelude.Show DurationProperty+instance JSON.ToJSON DurationProperty
+ gen/Stratosphere/AppMesh/Route/GrpcRetryPolicyProperty.hs view
@@ -0,0 +1,81 @@+module Stratosphere.AppMesh.Route.GrpcRetryPolicyProperty (+        module Exports, GrpcRetryPolicyProperty(..),+        mkGrpcRetryPolicyProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.Route.DurationProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data GrpcRetryPolicyProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcretrypolicy.html>+    GrpcRetryPolicyProperty {haddock_workaround_ :: (),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcretrypolicy.html#cfn-appmesh-route-grpcretrypolicy-grpcretryevents>+                             grpcRetryEvents :: (Prelude.Maybe (ValueList Prelude.Text)),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcretrypolicy.html#cfn-appmesh-route-grpcretrypolicy-httpretryevents>+                             httpRetryEvents :: (Prelude.Maybe (ValueList Prelude.Text)),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcretrypolicy.html#cfn-appmesh-route-grpcretrypolicy-maxretries>+                             maxRetries :: (Value Prelude.Integer),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcretrypolicy.html#cfn-appmesh-route-grpcretrypolicy-perretrytimeout>+                             perRetryTimeout :: DurationProperty,+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcretrypolicy.html#cfn-appmesh-route-grpcretrypolicy-tcpretryevents>+                             tcpRetryEvents :: (Prelude.Maybe (ValueList Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkGrpcRetryPolicyProperty ::+  Value Prelude.Integer+  -> DurationProperty -> GrpcRetryPolicyProperty+mkGrpcRetryPolicyProperty maxRetries perRetryTimeout+  = GrpcRetryPolicyProperty+      {haddock_workaround_ = (), maxRetries = maxRetries,+       perRetryTimeout = perRetryTimeout,+       grpcRetryEvents = Prelude.Nothing,+       httpRetryEvents = Prelude.Nothing,+       tcpRetryEvents = Prelude.Nothing}+instance ToResourceProperties GrpcRetryPolicyProperty where+  toResourceProperties GrpcRetryPolicyProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::Route.GrpcRetryPolicy",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["MaxRetries" JSON..= maxRetries,+                            "PerRetryTimeout" JSON..= perRetryTimeout]+                           (Prelude.catMaybes+                              [(JSON..=) "GrpcRetryEvents" Prelude.<$> grpcRetryEvents,+                               (JSON..=) "HttpRetryEvents" Prelude.<$> httpRetryEvents,+                               (JSON..=) "TcpRetryEvents" Prelude.<$> tcpRetryEvents]))}+instance JSON.ToJSON GrpcRetryPolicyProperty where+  toJSON GrpcRetryPolicyProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["MaxRetries" JSON..= maxRetries,+               "PerRetryTimeout" JSON..= perRetryTimeout]+              (Prelude.catMaybes+                 [(JSON..=) "GrpcRetryEvents" Prelude.<$> grpcRetryEvents,+                  (JSON..=) "HttpRetryEvents" Prelude.<$> httpRetryEvents,+                  (JSON..=) "TcpRetryEvents" Prelude.<$> tcpRetryEvents])))+instance Property "GrpcRetryEvents" GrpcRetryPolicyProperty where+  type PropertyType "GrpcRetryEvents" GrpcRetryPolicyProperty = ValueList Prelude.Text+  set newValue GrpcRetryPolicyProperty {..}+    = GrpcRetryPolicyProperty+        {grpcRetryEvents = Prelude.pure newValue, ..}+instance Property "HttpRetryEvents" GrpcRetryPolicyProperty where+  type PropertyType "HttpRetryEvents" GrpcRetryPolicyProperty = ValueList Prelude.Text+  set newValue GrpcRetryPolicyProperty {..}+    = GrpcRetryPolicyProperty+        {httpRetryEvents = Prelude.pure newValue, ..}+instance Property "MaxRetries" GrpcRetryPolicyProperty where+  type PropertyType "MaxRetries" GrpcRetryPolicyProperty = Value Prelude.Integer+  set newValue GrpcRetryPolicyProperty {..}+    = GrpcRetryPolicyProperty {maxRetries = newValue, ..}+instance Property "PerRetryTimeout" GrpcRetryPolicyProperty where+  type PropertyType "PerRetryTimeout" GrpcRetryPolicyProperty = DurationProperty+  set newValue GrpcRetryPolicyProperty {..}+    = GrpcRetryPolicyProperty {perRetryTimeout = newValue, ..}+instance Property "TcpRetryEvents" GrpcRetryPolicyProperty where+  type PropertyType "TcpRetryEvents" GrpcRetryPolicyProperty = ValueList Prelude.Text+  set newValue GrpcRetryPolicyProperty {..}+    = GrpcRetryPolicyProperty+        {tcpRetryEvents = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppMesh/Route/GrpcRetryPolicyProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.Route.GrpcRetryPolicyProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data GrpcRetryPolicyProperty :: Prelude.Type+instance ToResourceProperties GrpcRetryPolicyProperty+instance Prelude.Eq GrpcRetryPolicyProperty+instance Prelude.Show GrpcRetryPolicyProperty+instance JSON.ToJSON GrpcRetryPolicyProperty
+ gen/Stratosphere/AppMesh/Route/GrpcRouteActionProperty.hs view
@@ -0,0 +1,33 @@+module Stratosphere.AppMesh.Route.GrpcRouteActionProperty (+        module Exports, GrpcRouteActionProperty(..),+        mkGrpcRouteActionProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.Route.WeightedTargetProperty as Exports+import Stratosphere.ResourceProperties+data GrpcRouteActionProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcrouteaction.html>+    GrpcRouteActionProperty {haddock_workaround_ :: (),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcrouteaction.html#cfn-appmesh-route-grpcrouteaction-weightedtargets>+                             weightedTargets :: [WeightedTargetProperty]}+  deriving stock (Prelude.Eq, Prelude.Show)+mkGrpcRouteActionProperty ::+  [WeightedTargetProperty] -> GrpcRouteActionProperty+mkGrpcRouteActionProperty weightedTargets+  = GrpcRouteActionProperty+      {haddock_workaround_ = (), weightedTargets = weightedTargets}+instance ToResourceProperties GrpcRouteActionProperty where+  toResourceProperties GrpcRouteActionProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::Route.GrpcRouteAction",+         supportsTags = Prelude.False,+         properties = ["WeightedTargets" JSON..= weightedTargets]}+instance JSON.ToJSON GrpcRouteActionProperty where+  toJSON GrpcRouteActionProperty {..}+    = JSON.object ["WeightedTargets" JSON..= weightedTargets]+instance Property "WeightedTargets" GrpcRouteActionProperty where+  type PropertyType "WeightedTargets" GrpcRouteActionProperty = [WeightedTargetProperty]+  set newValue GrpcRouteActionProperty {..}+    = GrpcRouteActionProperty {weightedTargets = newValue, ..}
+ gen/Stratosphere/AppMesh/Route/GrpcRouteActionProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.Route.GrpcRouteActionProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data GrpcRouteActionProperty :: Prelude.Type+instance ToResourceProperties GrpcRouteActionProperty+instance Prelude.Eq GrpcRouteActionProperty+instance Prelude.Show GrpcRouteActionProperty+instance JSON.ToJSON GrpcRouteActionProperty
+ gen/Stratosphere/AppMesh/Route/GrpcRouteMatchProperty.hs view
@@ -0,0 +1,64 @@+module Stratosphere.AppMesh.Route.GrpcRouteMatchProperty (+        module Exports, GrpcRouteMatchProperty(..),+        mkGrpcRouteMatchProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.Route.GrpcRouteMetadataProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data GrpcRouteMatchProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcroutematch.html>+    GrpcRouteMatchProperty {haddock_workaround_ :: (),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcroutematch.html#cfn-appmesh-route-grpcroutematch-metadata>+                            metadata :: (Prelude.Maybe [GrpcRouteMetadataProperty]),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcroutematch.html#cfn-appmesh-route-grpcroutematch-methodname>+                            methodName :: (Prelude.Maybe (Value Prelude.Text)),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcroutematch.html#cfn-appmesh-route-grpcroutematch-port>+                            port :: (Prelude.Maybe (Value Prelude.Integer)),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcroutematch.html#cfn-appmesh-route-grpcroutematch-servicename>+                            serviceName :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkGrpcRouteMatchProperty :: GrpcRouteMatchProperty+mkGrpcRouteMatchProperty+  = GrpcRouteMatchProperty+      {haddock_workaround_ = (), metadata = Prelude.Nothing,+       methodName = Prelude.Nothing, port = Prelude.Nothing,+       serviceName = Prelude.Nothing}+instance ToResourceProperties GrpcRouteMatchProperty where+  toResourceProperties GrpcRouteMatchProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::Route.GrpcRouteMatch",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Metadata" Prelude.<$> metadata,+                            (JSON..=) "MethodName" Prelude.<$> methodName,+                            (JSON..=) "Port" Prelude.<$> port,+                            (JSON..=) "ServiceName" Prelude.<$> serviceName])}+instance JSON.ToJSON GrpcRouteMatchProperty where+  toJSON GrpcRouteMatchProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Metadata" Prelude.<$> metadata,+               (JSON..=) "MethodName" Prelude.<$> methodName,+               (JSON..=) "Port" Prelude.<$> port,+               (JSON..=) "ServiceName" Prelude.<$> serviceName]))+instance Property "Metadata" GrpcRouteMatchProperty where+  type PropertyType "Metadata" GrpcRouteMatchProperty = [GrpcRouteMetadataProperty]+  set newValue GrpcRouteMatchProperty {..}+    = GrpcRouteMatchProperty {metadata = Prelude.pure newValue, ..}+instance Property "MethodName" GrpcRouteMatchProperty where+  type PropertyType "MethodName" GrpcRouteMatchProperty = Value Prelude.Text+  set newValue GrpcRouteMatchProperty {..}+    = GrpcRouteMatchProperty {methodName = Prelude.pure newValue, ..}+instance Property "Port" GrpcRouteMatchProperty where+  type PropertyType "Port" GrpcRouteMatchProperty = Value Prelude.Integer+  set newValue GrpcRouteMatchProperty {..}+    = GrpcRouteMatchProperty {port = Prelude.pure newValue, ..}+instance Property "ServiceName" GrpcRouteMatchProperty where+  type PropertyType "ServiceName" GrpcRouteMatchProperty = Value Prelude.Text+  set newValue GrpcRouteMatchProperty {..}+    = GrpcRouteMatchProperty {serviceName = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppMesh/Route/GrpcRouteMatchProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.Route.GrpcRouteMatchProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data GrpcRouteMatchProperty :: Prelude.Type+instance ToResourceProperties GrpcRouteMatchProperty+instance Prelude.Eq GrpcRouteMatchProperty+instance Prelude.Show GrpcRouteMatchProperty+instance JSON.ToJSON GrpcRouteMatchProperty
+ gen/Stratosphere/AppMesh/Route/GrpcRouteMetadataMatchMethodProperty.hs view
@@ -0,0 +1,78 @@+module Stratosphere.AppMesh.Route.GrpcRouteMetadataMatchMethodProperty (+        module Exports, GrpcRouteMetadataMatchMethodProperty(..),+        mkGrpcRouteMetadataMatchMethodProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.Route.MatchRangeProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data GrpcRouteMetadataMatchMethodProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcroutemetadatamatchmethod.html>+    GrpcRouteMetadataMatchMethodProperty {haddock_workaround_ :: (),+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcroutemetadatamatchmethod.html#cfn-appmesh-route-grpcroutemetadatamatchmethod-exact>+                                          exact :: (Prelude.Maybe (Value Prelude.Text)),+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcroutemetadatamatchmethod.html#cfn-appmesh-route-grpcroutemetadatamatchmethod-prefix>+                                          prefix :: (Prelude.Maybe (Value Prelude.Text)),+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcroutemetadatamatchmethod.html#cfn-appmesh-route-grpcroutemetadatamatchmethod-range>+                                          range :: (Prelude.Maybe MatchRangeProperty),+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcroutemetadatamatchmethod.html#cfn-appmesh-route-grpcroutemetadatamatchmethod-regex>+                                          regex :: (Prelude.Maybe (Value Prelude.Text)),+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcroutemetadatamatchmethod.html#cfn-appmesh-route-grpcroutemetadatamatchmethod-suffix>+                                          suffix :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkGrpcRouteMetadataMatchMethodProperty ::+  GrpcRouteMetadataMatchMethodProperty+mkGrpcRouteMetadataMatchMethodProperty+  = GrpcRouteMetadataMatchMethodProperty+      {haddock_workaround_ = (), exact = Prelude.Nothing,+       prefix = Prelude.Nothing, range = Prelude.Nothing,+       regex = Prelude.Nothing, suffix = Prelude.Nothing}+instance ToResourceProperties GrpcRouteMetadataMatchMethodProperty where+  toResourceProperties GrpcRouteMetadataMatchMethodProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::Route.GrpcRouteMetadataMatchMethod",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Exact" Prelude.<$> exact,+                            (JSON..=) "Prefix" Prelude.<$> prefix,+                            (JSON..=) "Range" Prelude.<$> range,+                            (JSON..=) "Regex" Prelude.<$> regex,+                            (JSON..=) "Suffix" Prelude.<$> suffix])}+instance JSON.ToJSON GrpcRouteMetadataMatchMethodProperty where+  toJSON GrpcRouteMetadataMatchMethodProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Exact" Prelude.<$> exact,+               (JSON..=) "Prefix" Prelude.<$> prefix,+               (JSON..=) "Range" Prelude.<$> range,+               (JSON..=) "Regex" Prelude.<$> regex,+               (JSON..=) "Suffix" Prelude.<$> suffix]))+instance Property "Exact" GrpcRouteMetadataMatchMethodProperty where+  type PropertyType "Exact" GrpcRouteMetadataMatchMethodProperty = Value Prelude.Text+  set newValue GrpcRouteMetadataMatchMethodProperty {..}+    = GrpcRouteMetadataMatchMethodProperty+        {exact = Prelude.pure newValue, ..}+instance Property "Prefix" GrpcRouteMetadataMatchMethodProperty where+  type PropertyType "Prefix" GrpcRouteMetadataMatchMethodProperty = Value Prelude.Text+  set newValue GrpcRouteMetadataMatchMethodProperty {..}+    = GrpcRouteMetadataMatchMethodProperty+        {prefix = Prelude.pure newValue, ..}+instance Property "Range" GrpcRouteMetadataMatchMethodProperty where+  type PropertyType "Range" GrpcRouteMetadataMatchMethodProperty = MatchRangeProperty+  set newValue GrpcRouteMetadataMatchMethodProperty {..}+    = GrpcRouteMetadataMatchMethodProperty+        {range = Prelude.pure newValue, ..}+instance Property "Regex" GrpcRouteMetadataMatchMethodProperty where+  type PropertyType "Regex" GrpcRouteMetadataMatchMethodProperty = Value Prelude.Text+  set newValue GrpcRouteMetadataMatchMethodProperty {..}+    = GrpcRouteMetadataMatchMethodProperty+        {regex = Prelude.pure newValue, ..}+instance Property "Suffix" GrpcRouteMetadataMatchMethodProperty where+  type PropertyType "Suffix" GrpcRouteMetadataMatchMethodProperty = Value Prelude.Text+  set newValue GrpcRouteMetadataMatchMethodProperty {..}+    = GrpcRouteMetadataMatchMethodProperty+        {suffix = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppMesh/Route/GrpcRouteMetadataMatchMethodProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.Route.GrpcRouteMetadataMatchMethodProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data GrpcRouteMetadataMatchMethodProperty :: Prelude.Type+instance ToResourceProperties GrpcRouteMetadataMatchMethodProperty+instance Prelude.Eq GrpcRouteMetadataMatchMethodProperty+instance Prelude.Show GrpcRouteMetadataMatchMethodProperty+instance JSON.ToJSON GrpcRouteMetadataMatchMethodProperty
+ gen/Stratosphere/AppMesh/Route/GrpcRouteMetadataProperty.hs view
@@ -0,0 +1,58 @@+module Stratosphere.AppMesh.Route.GrpcRouteMetadataProperty (+        module Exports, GrpcRouteMetadataProperty(..),+        mkGrpcRouteMetadataProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.Route.GrpcRouteMetadataMatchMethodProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data GrpcRouteMetadataProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcroutemetadata.html>+    GrpcRouteMetadataProperty {haddock_workaround_ :: (),+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcroutemetadata.html#cfn-appmesh-route-grpcroutemetadata-invert>+                               invert :: (Prelude.Maybe (Value Prelude.Bool)),+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcroutemetadata.html#cfn-appmesh-route-grpcroutemetadata-match>+                               match :: (Prelude.Maybe GrpcRouteMetadataMatchMethodProperty),+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcroutemetadata.html#cfn-appmesh-route-grpcroutemetadata-name>+                               name :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkGrpcRouteMetadataProperty ::+  Value Prelude.Text -> GrpcRouteMetadataProperty+mkGrpcRouteMetadataProperty name+  = GrpcRouteMetadataProperty+      {haddock_workaround_ = (), name = name, invert = Prelude.Nothing,+       match = Prelude.Nothing}+instance ToResourceProperties GrpcRouteMetadataProperty where+  toResourceProperties GrpcRouteMetadataProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::Route.GrpcRouteMetadata",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Name" JSON..= name]+                           (Prelude.catMaybes+                              [(JSON..=) "Invert" Prelude.<$> invert,+                               (JSON..=) "Match" Prelude.<$> match]))}+instance JSON.ToJSON GrpcRouteMetadataProperty where+  toJSON GrpcRouteMetadataProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Name" JSON..= name]+              (Prelude.catMaybes+                 [(JSON..=) "Invert" Prelude.<$> invert,+                  (JSON..=) "Match" Prelude.<$> match])))+instance Property "Invert" GrpcRouteMetadataProperty where+  type PropertyType "Invert" GrpcRouteMetadataProperty = Value Prelude.Bool+  set newValue GrpcRouteMetadataProperty {..}+    = GrpcRouteMetadataProperty {invert = Prelude.pure newValue, ..}+instance Property "Match" GrpcRouteMetadataProperty where+  type PropertyType "Match" GrpcRouteMetadataProperty = GrpcRouteMetadataMatchMethodProperty+  set newValue GrpcRouteMetadataProperty {..}+    = GrpcRouteMetadataProperty {match = Prelude.pure newValue, ..}+instance Property "Name" GrpcRouteMetadataProperty where+  type PropertyType "Name" GrpcRouteMetadataProperty = Value Prelude.Text+  set newValue GrpcRouteMetadataProperty {..}+    = GrpcRouteMetadataProperty {name = newValue, ..}
+ gen/Stratosphere/AppMesh/Route/GrpcRouteMetadataProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.Route.GrpcRouteMetadataProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data GrpcRouteMetadataProperty :: Prelude.Type+instance ToResourceProperties GrpcRouteMetadataProperty+instance Prelude.Eq GrpcRouteMetadataProperty+instance Prelude.Show GrpcRouteMetadataProperty+instance JSON.ToJSON GrpcRouteMetadataProperty
+ gen/Stratosphere/AppMesh/Route/GrpcRouteProperty.hs view
@@ -0,0 +1,66 @@+module Stratosphere.AppMesh.Route.GrpcRouteProperty (+        module Exports, GrpcRouteProperty(..), mkGrpcRouteProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.Route.GrpcRetryPolicyProperty as Exports+import {-# SOURCE #-} Stratosphere.AppMesh.Route.GrpcRouteActionProperty as Exports+import {-# SOURCE #-} Stratosphere.AppMesh.Route.GrpcRouteMatchProperty as Exports+import {-# SOURCE #-} Stratosphere.AppMesh.Route.GrpcTimeoutProperty as Exports+import Stratosphere.ResourceProperties+data GrpcRouteProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcroute.html>+    GrpcRouteProperty {haddock_workaround_ :: (),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcroute.html#cfn-appmesh-route-grpcroute-action>+                       action :: GrpcRouteActionProperty,+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcroute.html#cfn-appmesh-route-grpcroute-match>+                       match :: GrpcRouteMatchProperty,+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcroute.html#cfn-appmesh-route-grpcroute-retrypolicy>+                       retryPolicy :: (Prelude.Maybe GrpcRetryPolicyProperty),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcroute.html#cfn-appmesh-route-grpcroute-timeout>+                       timeout :: (Prelude.Maybe GrpcTimeoutProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkGrpcRouteProperty ::+  GrpcRouteActionProperty+  -> GrpcRouteMatchProperty -> GrpcRouteProperty+mkGrpcRouteProperty action match+  = GrpcRouteProperty+      {haddock_workaround_ = (), action = action, match = match,+       retryPolicy = Prelude.Nothing, timeout = Prelude.Nothing}+instance ToResourceProperties GrpcRouteProperty where+  toResourceProperties GrpcRouteProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::Route.GrpcRoute",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Action" JSON..= action, "Match" JSON..= match]+                           (Prelude.catMaybes+                              [(JSON..=) "RetryPolicy" Prelude.<$> retryPolicy,+                               (JSON..=) "Timeout" Prelude.<$> timeout]))}+instance JSON.ToJSON GrpcRouteProperty where+  toJSON GrpcRouteProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Action" JSON..= action, "Match" JSON..= match]+              (Prelude.catMaybes+                 [(JSON..=) "RetryPolicy" Prelude.<$> retryPolicy,+                  (JSON..=) "Timeout" Prelude.<$> timeout])))+instance Property "Action" GrpcRouteProperty where+  type PropertyType "Action" GrpcRouteProperty = GrpcRouteActionProperty+  set newValue GrpcRouteProperty {..}+    = GrpcRouteProperty {action = newValue, ..}+instance Property "Match" GrpcRouteProperty where+  type PropertyType "Match" GrpcRouteProperty = GrpcRouteMatchProperty+  set newValue GrpcRouteProperty {..}+    = GrpcRouteProperty {match = newValue, ..}+instance Property "RetryPolicy" GrpcRouteProperty where+  type PropertyType "RetryPolicy" GrpcRouteProperty = GrpcRetryPolicyProperty+  set newValue GrpcRouteProperty {..}+    = GrpcRouteProperty {retryPolicy = Prelude.pure newValue, ..}+instance Property "Timeout" GrpcRouteProperty where+  type PropertyType "Timeout" GrpcRouteProperty = GrpcTimeoutProperty+  set newValue GrpcRouteProperty {..}+    = GrpcRouteProperty {timeout = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppMesh/Route/GrpcRouteProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.Route.GrpcRouteProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data GrpcRouteProperty :: Prelude.Type+instance ToResourceProperties GrpcRouteProperty+instance Prelude.Eq GrpcRouteProperty+instance Prelude.Show GrpcRouteProperty+instance JSON.ToJSON GrpcRouteProperty
+ gen/Stratosphere/AppMesh/Route/GrpcTimeoutProperty.hs view
@@ -0,0 +1,45 @@+module Stratosphere.AppMesh.Route.GrpcTimeoutProperty (+        module Exports, GrpcTimeoutProperty(..), mkGrpcTimeoutProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.Route.DurationProperty as Exports+import Stratosphere.ResourceProperties+data GrpcTimeoutProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpctimeout.html>+    GrpcTimeoutProperty {haddock_workaround_ :: (),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpctimeout.html#cfn-appmesh-route-grpctimeout-idle>+                         idle :: (Prelude.Maybe DurationProperty),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpctimeout.html#cfn-appmesh-route-grpctimeout-perrequest>+                         perRequest :: (Prelude.Maybe DurationProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkGrpcTimeoutProperty :: GrpcTimeoutProperty+mkGrpcTimeoutProperty+  = GrpcTimeoutProperty+      {haddock_workaround_ = (), idle = Prelude.Nothing,+       perRequest = Prelude.Nothing}+instance ToResourceProperties GrpcTimeoutProperty where+  toResourceProperties GrpcTimeoutProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::Route.GrpcTimeout",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Idle" Prelude.<$> idle,+                            (JSON..=) "PerRequest" Prelude.<$> perRequest])}+instance JSON.ToJSON GrpcTimeoutProperty where+  toJSON GrpcTimeoutProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Idle" Prelude.<$> idle,+               (JSON..=) "PerRequest" Prelude.<$> perRequest]))+instance Property "Idle" GrpcTimeoutProperty where+  type PropertyType "Idle" GrpcTimeoutProperty = DurationProperty+  set newValue GrpcTimeoutProperty {..}+    = GrpcTimeoutProperty {idle = Prelude.pure newValue, ..}+instance Property "PerRequest" GrpcTimeoutProperty where+  type PropertyType "PerRequest" GrpcTimeoutProperty = DurationProperty+  set newValue GrpcTimeoutProperty {..}+    = GrpcTimeoutProperty {perRequest = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppMesh/Route/GrpcTimeoutProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.Route.GrpcTimeoutProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data GrpcTimeoutProperty :: Prelude.Type+instance ToResourceProperties GrpcTimeoutProperty+instance Prelude.Eq GrpcTimeoutProperty+instance Prelude.Show GrpcTimeoutProperty+instance JSON.ToJSON GrpcTimeoutProperty
+ gen/Stratosphere/AppMesh/Route/HeaderMatchMethodProperty.hs view
@@ -0,0 +1,72 @@+module Stratosphere.AppMesh.Route.HeaderMatchMethodProperty (+        module Exports, HeaderMatchMethodProperty(..),+        mkHeaderMatchMethodProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.Route.MatchRangeProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data HeaderMatchMethodProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-headermatchmethod.html>+    HeaderMatchMethodProperty {haddock_workaround_ :: (),+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-headermatchmethod.html#cfn-appmesh-route-headermatchmethod-exact>+                               exact :: (Prelude.Maybe (Value Prelude.Text)),+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-headermatchmethod.html#cfn-appmesh-route-headermatchmethod-prefix>+                               prefix :: (Prelude.Maybe (Value Prelude.Text)),+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-headermatchmethod.html#cfn-appmesh-route-headermatchmethod-range>+                               range :: (Prelude.Maybe MatchRangeProperty),+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-headermatchmethod.html#cfn-appmesh-route-headermatchmethod-regex>+                               regex :: (Prelude.Maybe (Value Prelude.Text)),+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-headermatchmethod.html#cfn-appmesh-route-headermatchmethod-suffix>+                               suffix :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkHeaderMatchMethodProperty :: HeaderMatchMethodProperty+mkHeaderMatchMethodProperty+  = HeaderMatchMethodProperty+      {haddock_workaround_ = (), exact = Prelude.Nothing,+       prefix = Prelude.Nothing, range = Prelude.Nothing,+       regex = Prelude.Nothing, suffix = Prelude.Nothing}+instance ToResourceProperties HeaderMatchMethodProperty where+  toResourceProperties HeaderMatchMethodProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::Route.HeaderMatchMethod",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Exact" Prelude.<$> exact,+                            (JSON..=) "Prefix" Prelude.<$> prefix,+                            (JSON..=) "Range" Prelude.<$> range,+                            (JSON..=) "Regex" Prelude.<$> regex,+                            (JSON..=) "Suffix" Prelude.<$> suffix])}+instance JSON.ToJSON HeaderMatchMethodProperty where+  toJSON HeaderMatchMethodProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Exact" Prelude.<$> exact,+               (JSON..=) "Prefix" Prelude.<$> prefix,+               (JSON..=) "Range" Prelude.<$> range,+               (JSON..=) "Regex" Prelude.<$> regex,+               (JSON..=) "Suffix" Prelude.<$> suffix]))+instance Property "Exact" HeaderMatchMethodProperty where+  type PropertyType "Exact" HeaderMatchMethodProperty = Value Prelude.Text+  set newValue HeaderMatchMethodProperty {..}+    = HeaderMatchMethodProperty {exact = Prelude.pure newValue, ..}+instance Property "Prefix" HeaderMatchMethodProperty where+  type PropertyType "Prefix" HeaderMatchMethodProperty = Value Prelude.Text+  set newValue HeaderMatchMethodProperty {..}+    = HeaderMatchMethodProperty {prefix = Prelude.pure newValue, ..}+instance Property "Range" HeaderMatchMethodProperty where+  type PropertyType "Range" HeaderMatchMethodProperty = MatchRangeProperty+  set newValue HeaderMatchMethodProperty {..}+    = HeaderMatchMethodProperty {range = Prelude.pure newValue, ..}+instance Property "Regex" HeaderMatchMethodProperty where+  type PropertyType "Regex" HeaderMatchMethodProperty = Value Prelude.Text+  set newValue HeaderMatchMethodProperty {..}+    = HeaderMatchMethodProperty {regex = Prelude.pure newValue, ..}+instance Property "Suffix" HeaderMatchMethodProperty where+  type PropertyType "Suffix" HeaderMatchMethodProperty = Value Prelude.Text+  set newValue HeaderMatchMethodProperty {..}+    = HeaderMatchMethodProperty {suffix = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppMesh/Route/HeaderMatchMethodProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.Route.HeaderMatchMethodProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data HeaderMatchMethodProperty :: Prelude.Type+instance ToResourceProperties HeaderMatchMethodProperty+instance Prelude.Eq HeaderMatchMethodProperty+instance Prelude.Show HeaderMatchMethodProperty+instance JSON.ToJSON HeaderMatchMethodProperty
+ gen/Stratosphere/AppMesh/Route/HttpPathMatchProperty.hs view
@@ -0,0 +1,45 @@+module Stratosphere.AppMesh.Route.HttpPathMatchProperty (+        HttpPathMatchProperty(..), mkHttpPathMatchProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data HttpPathMatchProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httppathmatch.html>+    HttpPathMatchProperty {haddock_workaround_ :: (),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httppathmatch.html#cfn-appmesh-route-httppathmatch-exact>+                           exact :: (Prelude.Maybe (Value Prelude.Text)),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httppathmatch.html#cfn-appmesh-route-httppathmatch-regex>+                           regex :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkHttpPathMatchProperty :: HttpPathMatchProperty+mkHttpPathMatchProperty+  = HttpPathMatchProperty+      {haddock_workaround_ = (), exact = Prelude.Nothing,+       regex = Prelude.Nothing}+instance ToResourceProperties HttpPathMatchProperty where+  toResourceProperties HttpPathMatchProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::Route.HttpPathMatch",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Exact" Prelude.<$> exact,+                            (JSON..=) "Regex" Prelude.<$> regex])}+instance JSON.ToJSON HttpPathMatchProperty where+  toJSON HttpPathMatchProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Exact" Prelude.<$> exact,+               (JSON..=) "Regex" Prelude.<$> regex]))+instance Property "Exact" HttpPathMatchProperty where+  type PropertyType "Exact" HttpPathMatchProperty = Value Prelude.Text+  set newValue HttpPathMatchProperty {..}+    = HttpPathMatchProperty {exact = Prelude.pure newValue, ..}+instance Property "Regex" HttpPathMatchProperty where+  type PropertyType "Regex" HttpPathMatchProperty = Value Prelude.Text+  set newValue HttpPathMatchProperty {..}+    = HttpPathMatchProperty {regex = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppMesh/Route/HttpPathMatchProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.Route.HttpPathMatchProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data HttpPathMatchProperty :: Prelude.Type+instance ToResourceProperties HttpPathMatchProperty+instance Prelude.Eq HttpPathMatchProperty+instance Prelude.Show HttpPathMatchProperty+instance JSON.ToJSON HttpPathMatchProperty
+ gen/Stratosphere/AppMesh/Route/HttpQueryParameterMatchProperty.hs view
@@ -0,0 +1,37 @@+module Stratosphere.AppMesh.Route.HttpQueryParameterMatchProperty (+        HttpQueryParameterMatchProperty(..),+        mkHttpQueryParameterMatchProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data HttpQueryParameterMatchProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httpqueryparametermatch.html>+    HttpQueryParameterMatchProperty {haddock_workaround_ :: (),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httpqueryparametermatch.html#cfn-appmesh-route-httpqueryparametermatch-exact>+                                     exact :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkHttpQueryParameterMatchProperty ::+  HttpQueryParameterMatchProperty+mkHttpQueryParameterMatchProperty+  = HttpQueryParameterMatchProperty+      {haddock_workaround_ = (), exact = Prelude.Nothing}+instance ToResourceProperties HttpQueryParameterMatchProperty where+  toResourceProperties HttpQueryParameterMatchProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::Route.HttpQueryParameterMatch",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes [(JSON..=) "Exact" Prelude.<$> exact])}+instance JSON.ToJSON HttpQueryParameterMatchProperty where+  toJSON HttpQueryParameterMatchProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes [(JSON..=) "Exact" Prelude.<$> exact]))+instance Property "Exact" HttpQueryParameterMatchProperty where+  type PropertyType "Exact" HttpQueryParameterMatchProperty = Value Prelude.Text+  set newValue HttpQueryParameterMatchProperty {..}+    = HttpQueryParameterMatchProperty+        {exact = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppMesh/Route/HttpQueryParameterMatchProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.Route.HttpQueryParameterMatchProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data HttpQueryParameterMatchProperty :: Prelude.Type+instance ToResourceProperties HttpQueryParameterMatchProperty+instance Prelude.Eq HttpQueryParameterMatchProperty+instance Prelude.Show HttpQueryParameterMatchProperty+instance JSON.ToJSON HttpQueryParameterMatchProperty
+ gen/Stratosphere/AppMesh/Route/HttpRetryPolicyProperty.hs view
@@ -0,0 +1,71 @@+module Stratosphere.AppMesh.Route.HttpRetryPolicyProperty (+        module Exports, HttpRetryPolicyProperty(..),+        mkHttpRetryPolicyProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.Route.DurationProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data HttpRetryPolicyProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httpretrypolicy.html>+    HttpRetryPolicyProperty {haddock_workaround_ :: (),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httpretrypolicy.html#cfn-appmesh-route-httpretrypolicy-httpretryevents>+                             httpRetryEvents :: (Prelude.Maybe (ValueList Prelude.Text)),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httpretrypolicy.html#cfn-appmesh-route-httpretrypolicy-maxretries>+                             maxRetries :: (Value Prelude.Integer),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httpretrypolicy.html#cfn-appmesh-route-httpretrypolicy-perretrytimeout>+                             perRetryTimeout :: DurationProperty,+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httpretrypolicy.html#cfn-appmesh-route-httpretrypolicy-tcpretryevents>+                             tcpRetryEvents :: (Prelude.Maybe (ValueList Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkHttpRetryPolicyProperty ::+  Value Prelude.Integer+  -> DurationProperty -> HttpRetryPolicyProperty+mkHttpRetryPolicyProperty maxRetries perRetryTimeout+  = HttpRetryPolicyProperty+      {haddock_workaround_ = (), maxRetries = maxRetries,+       perRetryTimeout = perRetryTimeout,+       httpRetryEvents = Prelude.Nothing,+       tcpRetryEvents = Prelude.Nothing}+instance ToResourceProperties HttpRetryPolicyProperty where+  toResourceProperties HttpRetryPolicyProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::Route.HttpRetryPolicy",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["MaxRetries" JSON..= maxRetries,+                            "PerRetryTimeout" JSON..= perRetryTimeout]+                           (Prelude.catMaybes+                              [(JSON..=) "HttpRetryEvents" Prelude.<$> httpRetryEvents,+                               (JSON..=) "TcpRetryEvents" Prelude.<$> tcpRetryEvents]))}+instance JSON.ToJSON HttpRetryPolicyProperty where+  toJSON HttpRetryPolicyProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["MaxRetries" JSON..= maxRetries,+               "PerRetryTimeout" JSON..= perRetryTimeout]+              (Prelude.catMaybes+                 [(JSON..=) "HttpRetryEvents" Prelude.<$> httpRetryEvents,+                  (JSON..=) "TcpRetryEvents" Prelude.<$> tcpRetryEvents])))+instance Property "HttpRetryEvents" HttpRetryPolicyProperty where+  type PropertyType "HttpRetryEvents" HttpRetryPolicyProperty = ValueList Prelude.Text+  set newValue HttpRetryPolicyProperty {..}+    = HttpRetryPolicyProperty+        {httpRetryEvents = Prelude.pure newValue, ..}+instance Property "MaxRetries" HttpRetryPolicyProperty where+  type PropertyType "MaxRetries" HttpRetryPolicyProperty = Value Prelude.Integer+  set newValue HttpRetryPolicyProperty {..}+    = HttpRetryPolicyProperty {maxRetries = newValue, ..}+instance Property "PerRetryTimeout" HttpRetryPolicyProperty where+  type PropertyType "PerRetryTimeout" HttpRetryPolicyProperty = DurationProperty+  set newValue HttpRetryPolicyProperty {..}+    = HttpRetryPolicyProperty {perRetryTimeout = newValue, ..}+instance Property "TcpRetryEvents" HttpRetryPolicyProperty where+  type PropertyType "TcpRetryEvents" HttpRetryPolicyProperty = ValueList Prelude.Text+  set newValue HttpRetryPolicyProperty {..}+    = HttpRetryPolicyProperty+        {tcpRetryEvents = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppMesh/Route/HttpRetryPolicyProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.Route.HttpRetryPolicyProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data HttpRetryPolicyProperty :: Prelude.Type+instance ToResourceProperties HttpRetryPolicyProperty+instance Prelude.Eq HttpRetryPolicyProperty+instance Prelude.Show HttpRetryPolicyProperty+instance JSON.ToJSON HttpRetryPolicyProperty
+ gen/Stratosphere/AppMesh/Route/HttpRouteActionProperty.hs view
@@ -0,0 +1,33 @@+module Stratosphere.AppMesh.Route.HttpRouteActionProperty (+        module Exports, HttpRouteActionProperty(..),+        mkHttpRouteActionProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.Route.WeightedTargetProperty as Exports+import Stratosphere.ResourceProperties+data HttpRouteActionProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httprouteaction.html>+    HttpRouteActionProperty {haddock_workaround_ :: (),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httprouteaction.html#cfn-appmesh-route-httprouteaction-weightedtargets>+                             weightedTargets :: [WeightedTargetProperty]}+  deriving stock (Prelude.Eq, Prelude.Show)+mkHttpRouteActionProperty ::+  [WeightedTargetProperty] -> HttpRouteActionProperty+mkHttpRouteActionProperty weightedTargets+  = HttpRouteActionProperty+      {haddock_workaround_ = (), weightedTargets = weightedTargets}+instance ToResourceProperties HttpRouteActionProperty where+  toResourceProperties HttpRouteActionProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::Route.HttpRouteAction",+         supportsTags = Prelude.False,+         properties = ["WeightedTargets" JSON..= weightedTargets]}+instance JSON.ToJSON HttpRouteActionProperty where+  toJSON HttpRouteActionProperty {..}+    = JSON.object ["WeightedTargets" JSON..= weightedTargets]+instance Property "WeightedTargets" HttpRouteActionProperty where+  type PropertyType "WeightedTargets" HttpRouteActionProperty = [WeightedTargetProperty]+  set newValue HttpRouteActionProperty {..}+    = HttpRouteActionProperty {weightedTargets = newValue, ..}
+ gen/Stratosphere/AppMesh/Route/HttpRouteActionProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.Route.HttpRouteActionProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data HttpRouteActionProperty :: Prelude.Type+instance ToResourceProperties HttpRouteActionProperty+instance Prelude.Eq HttpRouteActionProperty+instance Prelude.Show HttpRouteActionProperty+instance JSON.ToJSON HttpRouteActionProperty
+ gen/Stratosphere/AppMesh/Route/HttpRouteHeaderProperty.hs view
@@ -0,0 +1,58 @@+module Stratosphere.AppMesh.Route.HttpRouteHeaderProperty (+        module Exports, HttpRouteHeaderProperty(..),+        mkHttpRouteHeaderProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.Route.HeaderMatchMethodProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data HttpRouteHeaderProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httprouteheader.html>+    HttpRouteHeaderProperty {haddock_workaround_ :: (),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httprouteheader.html#cfn-appmesh-route-httprouteheader-invert>+                             invert :: (Prelude.Maybe (Value Prelude.Bool)),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httprouteheader.html#cfn-appmesh-route-httprouteheader-match>+                             match :: (Prelude.Maybe HeaderMatchMethodProperty),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httprouteheader.html#cfn-appmesh-route-httprouteheader-name>+                             name :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkHttpRouteHeaderProperty ::+  Value Prelude.Text -> HttpRouteHeaderProperty+mkHttpRouteHeaderProperty name+  = HttpRouteHeaderProperty+      {haddock_workaround_ = (), name = name, invert = Prelude.Nothing,+       match = Prelude.Nothing}+instance ToResourceProperties HttpRouteHeaderProperty where+  toResourceProperties HttpRouteHeaderProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::Route.HttpRouteHeader",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Name" JSON..= name]+                           (Prelude.catMaybes+                              [(JSON..=) "Invert" Prelude.<$> invert,+                               (JSON..=) "Match" Prelude.<$> match]))}+instance JSON.ToJSON HttpRouteHeaderProperty where+  toJSON HttpRouteHeaderProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Name" JSON..= name]+              (Prelude.catMaybes+                 [(JSON..=) "Invert" Prelude.<$> invert,+                  (JSON..=) "Match" Prelude.<$> match])))+instance Property "Invert" HttpRouteHeaderProperty where+  type PropertyType "Invert" HttpRouteHeaderProperty = Value Prelude.Bool+  set newValue HttpRouteHeaderProperty {..}+    = HttpRouteHeaderProperty {invert = Prelude.pure newValue, ..}+instance Property "Match" HttpRouteHeaderProperty where+  type PropertyType "Match" HttpRouteHeaderProperty = HeaderMatchMethodProperty+  set newValue HttpRouteHeaderProperty {..}+    = HttpRouteHeaderProperty {match = Prelude.pure newValue, ..}+instance Property "Name" HttpRouteHeaderProperty where+  type PropertyType "Name" HttpRouteHeaderProperty = Value Prelude.Text+  set newValue HttpRouteHeaderProperty {..}+    = HttpRouteHeaderProperty {name = newValue, ..}
+ gen/Stratosphere/AppMesh/Route/HttpRouteHeaderProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.Route.HttpRouteHeaderProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data HttpRouteHeaderProperty :: Prelude.Type+instance ToResourceProperties HttpRouteHeaderProperty+instance Prelude.Eq HttpRouteHeaderProperty+instance Prelude.Show HttpRouteHeaderProperty+instance JSON.ToJSON HttpRouteHeaderProperty
+ gen/Stratosphere/AppMesh/Route/HttpRouteMatchProperty.hs view
@@ -0,0 +1,92 @@+module Stratosphere.AppMesh.Route.HttpRouteMatchProperty (+        module Exports, HttpRouteMatchProperty(..),+        mkHttpRouteMatchProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.Route.HttpPathMatchProperty as Exports+import {-# SOURCE #-} Stratosphere.AppMesh.Route.HttpRouteHeaderProperty as Exports+import {-# SOURCE #-} Stratosphere.AppMesh.Route.QueryParameterProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data HttpRouteMatchProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httproutematch.html>+    HttpRouteMatchProperty {haddock_workaround_ :: (),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httproutematch.html#cfn-appmesh-route-httproutematch-headers>+                            headers :: (Prelude.Maybe [HttpRouteHeaderProperty]),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httproutematch.html#cfn-appmesh-route-httproutematch-method>+                            method :: (Prelude.Maybe (Value Prelude.Text)),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httproutematch.html#cfn-appmesh-route-httproutematch-path>+                            path :: (Prelude.Maybe HttpPathMatchProperty),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httproutematch.html#cfn-appmesh-route-httproutematch-port>+                            port :: (Prelude.Maybe (Value Prelude.Integer)),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httproutematch.html#cfn-appmesh-route-httproutematch-prefix>+                            prefix :: (Prelude.Maybe (Value Prelude.Text)),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httproutematch.html#cfn-appmesh-route-httproutematch-queryparameters>+                            queryParameters :: (Prelude.Maybe [QueryParameterProperty]),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httproutematch.html#cfn-appmesh-route-httproutematch-scheme>+                            scheme :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkHttpRouteMatchProperty :: HttpRouteMatchProperty+mkHttpRouteMatchProperty+  = HttpRouteMatchProperty+      {haddock_workaround_ = (), headers = Prelude.Nothing,+       method = Prelude.Nothing, path = Prelude.Nothing,+       port = Prelude.Nothing, prefix = Prelude.Nothing,+       queryParameters = Prelude.Nothing, scheme = Prelude.Nothing}+instance ToResourceProperties HttpRouteMatchProperty where+  toResourceProperties HttpRouteMatchProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::Route.HttpRouteMatch",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Headers" Prelude.<$> headers,+                            (JSON..=) "Method" Prelude.<$> method,+                            (JSON..=) "Path" Prelude.<$> path,+                            (JSON..=) "Port" Prelude.<$> port,+                            (JSON..=) "Prefix" Prelude.<$> prefix,+                            (JSON..=) "QueryParameters" Prelude.<$> queryParameters,+                            (JSON..=) "Scheme" Prelude.<$> scheme])}+instance JSON.ToJSON HttpRouteMatchProperty where+  toJSON HttpRouteMatchProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Headers" Prelude.<$> headers,+               (JSON..=) "Method" Prelude.<$> method,+               (JSON..=) "Path" Prelude.<$> path,+               (JSON..=) "Port" Prelude.<$> port,+               (JSON..=) "Prefix" Prelude.<$> prefix,+               (JSON..=) "QueryParameters" Prelude.<$> queryParameters,+               (JSON..=) "Scheme" Prelude.<$> scheme]))+instance Property "Headers" HttpRouteMatchProperty where+  type PropertyType "Headers" HttpRouteMatchProperty = [HttpRouteHeaderProperty]+  set newValue HttpRouteMatchProperty {..}+    = HttpRouteMatchProperty {headers = Prelude.pure newValue, ..}+instance Property "Method" HttpRouteMatchProperty where+  type PropertyType "Method" HttpRouteMatchProperty = Value Prelude.Text+  set newValue HttpRouteMatchProperty {..}+    = HttpRouteMatchProperty {method = Prelude.pure newValue, ..}+instance Property "Path" HttpRouteMatchProperty where+  type PropertyType "Path" HttpRouteMatchProperty = HttpPathMatchProperty+  set newValue HttpRouteMatchProperty {..}+    = HttpRouteMatchProperty {path = Prelude.pure newValue, ..}+instance Property "Port" HttpRouteMatchProperty where+  type PropertyType "Port" HttpRouteMatchProperty = Value Prelude.Integer+  set newValue HttpRouteMatchProperty {..}+    = HttpRouteMatchProperty {port = Prelude.pure newValue, ..}+instance Property "Prefix" HttpRouteMatchProperty where+  type PropertyType "Prefix" HttpRouteMatchProperty = Value Prelude.Text+  set newValue HttpRouteMatchProperty {..}+    = HttpRouteMatchProperty {prefix = Prelude.pure newValue, ..}+instance Property "QueryParameters" HttpRouteMatchProperty where+  type PropertyType "QueryParameters" HttpRouteMatchProperty = [QueryParameterProperty]+  set newValue HttpRouteMatchProperty {..}+    = HttpRouteMatchProperty+        {queryParameters = Prelude.pure newValue, ..}+instance Property "Scheme" HttpRouteMatchProperty where+  type PropertyType "Scheme" HttpRouteMatchProperty = Value Prelude.Text+  set newValue HttpRouteMatchProperty {..}+    = HttpRouteMatchProperty {scheme = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppMesh/Route/HttpRouteMatchProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.Route.HttpRouteMatchProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data HttpRouteMatchProperty :: Prelude.Type+instance ToResourceProperties HttpRouteMatchProperty+instance Prelude.Eq HttpRouteMatchProperty+instance Prelude.Show HttpRouteMatchProperty+instance JSON.ToJSON HttpRouteMatchProperty
+ gen/Stratosphere/AppMesh/Route/HttpRouteProperty.hs view
@@ -0,0 +1,66 @@+module Stratosphere.AppMesh.Route.HttpRouteProperty (+        module Exports, HttpRouteProperty(..), mkHttpRouteProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.Route.HttpRetryPolicyProperty as Exports+import {-# SOURCE #-} Stratosphere.AppMesh.Route.HttpRouteActionProperty as Exports+import {-# SOURCE #-} Stratosphere.AppMesh.Route.HttpRouteMatchProperty as Exports+import {-# SOURCE #-} Stratosphere.AppMesh.Route.HttpTimeoutProperty as Exports+import Stratosphere.ResourceProperties+data HttpRouteProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httproute.html>+    HttpRouteProperty {haddock_workaround_ :: (),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httproute.html#cfn-appmesh-route-httproute-action>+                       action :: HttpRouteActionProperty,+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httproute.html#cfn-appmesh-route-httproute-match>+                       match :: HttpRouteMatchProperty,+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httproute.html#cfn-appmesh-route-httproute-retrypolicy>+                       retryPolicy :: (Prelude.Maybe HttpRetryPolicyProperty),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httproute.html#cfn-appmesh-route-httproute-timeout>+                       timeout :: (Prelude.Maybe HttpTimeoutProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkHttpRouteProperty ::+  HttpRouteActionProperty+  -> HttpRouteMatchProperty -> HttpRouteProperty+mkHttpRouteProperty action match+  = HttpRouteProperty+      {haddock_workaround_ = (), action = action, match = match,+       retryPolicy = Prelude.Nothing, timeout = Prelude.Nothing}+instance ToResourceProperties HttpRouteProperty where+  toResourceProperties HttpRouteProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::Route.HttpRoute",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Action" JSON..= action, "Match" JSON..= match]+                           (Prelude.catMaybes+                              [(JSON..=) "RetryPolicy" Prelude.<$> retryPolicy,+                               (JSON..=) "Timeout" Prelude.<$> timeout]))}+instance JSON.ToJSON HttpRouteProperty where+  toJSON HttpRouteProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Action" JSON..= action, "Match" JSON..= match]+              (Prelude.catMaybes+                 [(JSON..=) "RetryPolicy" Prelude.<$> retryPolicy,+                  (JSON..=) "Timeout" Prelude.<$> timeout])))+instance Property "Action" HttpRouteProperty where+  type PropertyType "Action" HttpRouteProperty = HttpRouteActionProperty+  set newValue HttpRouteProperty {..}+    = HttpRouteProperty {action = newValue, ..}+instance Property "Match" HttpRouteProperty where+  type PropertyType "Match" HttpRouteProperty = HttpRouteMatchProperty+  set newValue HttpRouteProperty {..}+    = HttpRouteProperty {match = newValue, ..}+instance Property "RetryPolicy" HttpRouteProperty where+  type PropertyType "RetryPolicy" HttpRouteProperty = HttpRetryPolicyProperty+  set newValue HttpRouteProperty {..}+    = HttpRouteProperty {retryPolicy = Prelude.pure newValue, ..}+instance Property "Timeout" HttpRouteProperty where+  type PropertyType "Timeout" HttpRouteProperty = HttpTimeoutProperty+  set newValue HttpRouteProperty {..}+    = HttpRouteProperty {timeout = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppMesh/Route/HttpRouteProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.Route.HttpRouteProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data HttpRouteProperty :: Prelude.Type+instance ToResourceProperties HttpRouteProperty+instance Prelude.Eq HttpRouteProperty+instance Prelude.Show HttpRouteProperty+instance JSON.ToJSON HttpRouteProperty
+ gen/Stratosphere/AppMesh/Route/HttpTimeoutProperty.hs view
@@ -0,0 +1,45 @@+module Stratosphere.AppMesh.Route.HttpTimeoutProperty (+        module Exports, HttpTimeoutProperty(..), mkHttpTimeoutProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.Route.DurationProperty as Exports+import Stratosphere.ResourceProperties+data HttpTimeoutProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httptimeout.html>+    HttpTimeoutProperty {haddock_workaround_ :: (),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httptimeout.html#cfn-appmesh-route-httptimeout-idle>+                         idle :: (Prelude.Maybe DurationProperty),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httptimeout.html#cfn-appmesh-route-httptimeout-perrequest>+                         perRequest :: (Prelude.Maybe DurationProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkHttpTimeoutProperty :: HttpTimeoutProperty+mkHttpTimeoutProperty+  = HttpTimeoutProperty+      {haddock_workaround_ = (), idle = Prelude.Nothing,+       perRequest = Prelude.Nothing}+instance ToResourceProperties HttpTimeoutProperty where+  toResourceProperties HttpTimeoutProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::Route.HttpTimeout",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Idle" Prelude.<$> idle,+                            (JSON..=) "PerRequest" Prelude.<$> perRequest])}+instance JSON.ToJSON HttpTimeoutProperty where+  toJSON HttpTimeoutProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Idle" Prelude.<$> idle,+               (JSON..=) "PerRequest" Prelude.<$> perRequest]))+instance Property "Idle" HttpTimeoutProperty where+  type PropertyType "Idle" HttpTimeoutProperty = DurationProperty+  set newValue HttpTimeoutProperty {..}+    = HttpTimeoutProperty {idle = Prelude.pure newValue, ..}+instance Property "PerRequest" HttpTimeoutProperty where+  type PropertyType "PerRequest" HttpTimeoutProperty = DurationProperty+  set newValue HttpTimeoutProperty {..}+    = HttpTimeoutProperty {perRequest = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppMesh/Route/HttpTimeoutProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.Route.HttpTimeoutProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data HttpTimeoutProperty :: Prelude.Type+instance ToResourceProperties HttpTimeoutProperty+instance Prelude.Eq HttpTimeoutProperty+instance Prelude.Show HttpTimeoutProperty+instance JSON.ToJSON HttpTimeoutProperty
+ gen/Stratosphere/AppMesh/Route/MatchRangeProperty.hs view
@@ -0,0 +1,39 @@+module Stratosphere.AppMesh.Route.MatchRangeProperty (+        MatchRangeProperty(..), mkMatchRangeProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data MatchRangeProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-matchrange.html>+    MatchRangeProperty {haddock_workaround_ :: (),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-matchrange.html#cfn-appmesh-route-matchrange-end>+                        end :: (Value Prelude.Integer),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-matchrange.html#cfn-appmesh-route-matchrange-start>+                        start :: (Value Prelude.Integer)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkMatchRangeProperty ::+  Value Prelude.Integer+  -> Value Prelude.Integer -> MatchRangeProperty+mkMatchRangeProperty end start+  = MatchRangeProperty+      {haddock_workaround_ = (), end = end, start = start}+instance ToResourceProperties MatchRangeProperty where+  toResourceProperties MatchRangeProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::Route.MatchRange",+         supportsTags = Prelude.False,+         properties = ["End" JSON..= end, "Start" JSON..= start]}+instance JSON.ToJSON MatchRangeProperty where+  toJSON MatchRangeProperty {..}+    = JSON.object ["End" JSON..= end, "Start" JSON..= start]+instance Property "End" MatchRangeProperty where+  type PropertyType "End" MatchRangeProperty = Value Prelude.Integer+  set newValue MatchRangeProperty {..}+    = MatchRangeProperty {end = newValue, ..}+instance Property "Start" MatchRangeProperty where+  type PropertyType "Start" MatchRangeProperty = Value Prelude.Integer+  set newValue MatchRangeProperty {..}+    = MatchRangeProperty {start = newValue, ..}
+ gen/Stratosphere/AppMesh/Route/MatchRangeProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.Route.MatchRangeProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data MatchRangeProperty :: Prelude.Type+instance ToResourceProperties MatchRangeProperty+instance Prelude.Eq MatchRangeProperty+instance Prelude.Show MatchRangeProperty+instance JSON.ToJSON MatchRangeProperty
+ gen/Stratosphere/AppMesh/Route/QueryParameterProperty.hs view
@@ -0,0 +1,47 @@+module Stratosphere.AppMesh.Route.QueryParameterProperty (+        module Exports, QueryParameterProperty(..),+        mkQueryParameterProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.Route.HttpQueryParameterMatchProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data QueryParameterProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-queryparameter.html>+    QueryParameterProperty {haddock_workaround_ :: (),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-queryparameter.html#cfn-appmesh-route-queryparameter-match>+                            match :: (Prelude.Maybe HttpQueryParameterMatchProperty),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-queryparameter.html#cfn-appmesh-route-queryparameter-name>+                            name :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkQueryParameterProperty ::+  Value Prelude.Text -> QueryParameterProperty+mkQueryParameterProperty name+  = QueryParameterProperty+      {haddock_workaround_ = (), name = name, match = Prelude.Nothing}+instance ToResourceProperties QueryParameterProperty where+  toResourceProperties QueryParameterProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::Route.QueryParameter",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Name" JSON..= name]+                           (Prelude.catMaybes [(JSON..=) "Match" Prelude.<$> match]))}+instance JSON.ToJSON QueryParameterProperty where+  toJSON QueryParameterProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Name" JSON..= name]+              (Prelude.catMaybes [(JSON..=) "Match" Prelude.<$> match])))+instance Property "Match" QueryParameterProperty where+  type PropertyType "Match" QueryParameterProperty = HttpQueryParameterMatchProperty+  set newValue QueryParameterProperty {..}+    = QueryParameterProperty {match = Prelude.pure newValue, ..}+instance Property "Name" QueryParameterProperty where+  type PropertyType "Name" QueryParameterProperty = Value Prelude.Text+  set newValue QueryParameterProperty {..}+    = QueryParameterProperty {name = newValue, ..}
+ gen/Stratosphere/AppMesh/Route/QueryParameterProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.Route.QueryParameterProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data QueryParameterProperty :: Prelude.Type+instance ToResourceProperties QueryParameterProperty+instance Prelude.Eq QueryParameterProperty+instance Prelude.Show QueryParameterProperty+instance JSON.ToJSON QueryParameterProperty
+ gen/Stratosphere/AppMesh/Route/RouteSpecProperty.hs view
@@ -0,0 +1,73 @@+module Stratosphere.AppMesh.Route.RouteSpecProperty (+        module Exports, RouteSpecProperty(..), mkRouteSpecProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.Route.GrpcRouteProperty as Exports+import {-# SOURCE #-} Stratosphere.AppMesh.Route.HttpRouteProperty as Exports+import {-# SOURCE #-} Stratosphere.AppMesh.Route.TcpRouteProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data RouteSpecProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-routespec.html>+    RouteSpecProperty {haddock_workaround_ :: (),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-routespec.html#cfn-appmesh-route-routespec-grpcroute>+                       grpcRoute :: (Prelude.Maybe GrpcRouteProperty),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-routespec.html#cfn-appmesh-route-routespec-http2route>+                       http2Route :: (Prelude.Maybe HttpRouteProperty),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-routespec.html#cfn-appmesh-route-routespec-httproute>+                       httpRoute :: (Prelude.Maybe HttpRouteProperty),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-routespec.html#cfn-appmesh-route-routespec-priority>+                       priority :: (Prelude.Maybe (Value Prelude.Integer)),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-routespec.html#cfn-appmesh-route-routespec-tcproute>+                       tcpRoute :: (Prelude.Maybe TcpRouteProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkRouteSpecProperty :: RouteSpecProperty+mkRouteSpecProperty+  = RouteSpecProperty+      {haddock_workaround_ = (), grpcRoute = Prelude.Nothing,+       http2Route = Prelude.Nothing, httpRoute = Prelude.Nothing,+       priority = Prelude.Nothing, tcpRoute = Prelude.Nothing}+instance ToResourceProperties RouteSpecProperty where+  toResourceProperties RouteSpecProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::Route.RouteSpec",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "GrpcRoute" Prelude.<$> grpcRoute,+                            (JSON..=) "Http2Route" Prelude.<$> http2Route,+                            (JSON..=) "HttpRoute" Prelude.<$> httpRoute,+                            (JSON..=) "Priority" Prelude.<$> priority,+                            (JSON..=) "TcpRoute" Prelude.<$> tcpRoute])}+instance JSON.ToJSON RouteSpecProperty where+  toJSON RouteSpecProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "GrpcRoute" Prelude.<$> grpcRoute,+               (JSON..=) "Http2Route" Prelude.<$> http2Route,+               (JSON..=) "HttpRoute" Prelude.<$> httpRoute,+               (JSON..=) "Priority" Prelude.<$> priority,+               (JSON..=) "TcpRoute" Prelude.<$> tcpRoute]))+instance Property "GrpcRoute" RouteSpecProperty where+  type PropertyType "GrpcRoute" RouteSpecProperty = GrpcRouteProperty+  set newValue RouteSpecProperty {..}+    = RouteSpecProperty {grpcRoute = Prelude.pure newValue, ..}+instance Property "Http2Route" RouteSpecProperty where+  type PropertyType "Http2Route" RouteSpecProperty = HttpRouteProperty+  set newValue RouteSpecProperty {..}+    = RouteSpecProperty {http2Route = Prelude.pure newValue, ..}+instance Property "HttpRoute" RouteSpecProperty where+  type PropertyType "HttpRoute" RouteSpecProperty = HttpRouteProperty+  set newValue RouteSpecProperty {..}+    = RouteSpecProperty {httpRoute = Prelude.pure newValue, ..}+instance Property "Priority" RouteSpecProperty where+  type PropertyType "Priority" RouteSpecProperty = Value Prelude.Integer+  set newValue RouteSpecProperty {..}+    = RouteSpecProperty {priority = Prelude.pure newValue, ..}+instance Property "TcpRoute" RouteSpecProperty where+  type PropertyType "TcpRoute" RouteSpecProperty = TcpRouteProperty+  set newValue RouteSpecProperty {..}+    = RouteSpecProperty {tcpRoute = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppMesh/Route/RouteSpecProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.Route.RouteSpecProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data RouteSpecProperty :: Prelude.Type+instance ToResourceProperties RouteSpecProperty+instance Prelude.Eq RouteSpecProperty+instance Prelude.Show RouteSpecProperty+instance JSON.ToJSON RouteSpecProperty
+ gen/Stratosphere/AppMesh/Route/TcpRouteActionProperty.hs view
@@ -0,0 +1,33 @@+module Stratosphere.AppMesh.Route.TcpRouteActionProperty (+        module Exports, TcpRouteActionProperty(..),+        mkTcpRouteActionProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.Route.WeightedTargetProperty as Exports+import Stratosphere.ResourceProperties+data TcpRouteActionProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-tcprouteaction.html>+    TcpRouteActionProperty {haddock_workaround_ :: (),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-tcprouteaction.html#cfn-appmesh-route-tcprouteaction-weightedtargets>+                            weightedTargets :: [WeightedTargetProperty]}+  deriving stock (Prelude.Eq, Prelude.Show)+mkTcpRouteActionProperty ::+  [WeightedTargetProperty] -> TcpRouteActionProperty+mkTcpRouteActionProperty weightedTargets+  = TcpRouteActionProperty+      {haddock_workaround_ = (), weightedTargets = weightedTargets}+instance ToResourceProperties TcpRouteActionProperty where+  toResourceProperties TcpRouteActionProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::Route.TcpRouteAction",+         supportsTags = Prelude.False,+         properties = ["WeightedTargets" JSON..= weightedTargets]}+instance JSON.ToJSON TcpRouteActionProperty where+  toJSON TcpRouteActionProperty {..}+    = JSON.object ["WeightedTargets" JSON..= weightedTargets]+instance Property "WeightedTargets" TcpRouteActionProperty where+  type PropertyType "WeightedTargets" TcpRouteActionProperty = [WeightedTargetProperty]+  set newValue TcpRouteActionProperty {..}+    = TcpRouteActionProperty {weightedTargets = newValue, ..}
+ gen/Stratosphere/AppMesh/Route/TcpRouteActionProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.Route.TcpRouteActionProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data TcpRouteActionProperty :: Prelude.Type+instance ToResourceProperties TcpRouteActionProperty+instance Prelude.Eq TcpRouteActionProperty+instance Prelude.Show TcpRouteActionProperty+instance JSON.ToJSON TcpRouteActionProperty
+ gen/Stratosphere/AppMesh/Route/TcpRouteMatchProperty.hs view
@@ -0,0 +1,34 @@+module Stratosphere.AppMesh.Route.TcpRouteMatchProperty (+        TcpRouteMatchProperty(..), mkTcpRouteMatchProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data TcpRouteMatchProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-tcproutematch.html>+    TcpRouteMatchProperty {haddock_workaround_ :: (),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-tcproutematch.html#cfn-appmesh-route-tcproutematch-port>+                           port :: (Prelude.Maybe (Value Prelude.Integer))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkTcpRouteMatchProperty :: TcpRouteMatchProperty+mkTcpRouteMatchProperty+  = TcpRouteMatchProperty+      {haddock_workaround_ = (), port = Prelude.Nothing}+instance ToResourceProperties TcpRouteMatchProperty where+  toResourceProperties TcpRouteMatchProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::Route.TcpRouteMatch",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes [(JSON..=) "Port" Prelude.<$> port])}+instance JSON.ToJSON TcpRouteMatchProperty where+  toJSON TcpRouteMatchProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes [(JSON..=) "Port" Prelude.<$> port]))+instance Property "Port" TcpRouteMatchProperty where+  type PropertyType "Port" TcpRouteMatchProperty = Value Prelude.Integer+  set newValue TcpRouteMatchProperty {..}+    = TcpRouteMatchProperty {port = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppMesh/Route/TcpRouteMatchProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.Route.TcpRouteMatchProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data TcpRouteMatchProperty :: Prelude.Type+instance ToResourceProperties TcpRouteMatchProperty+instance Prelude.Eq TcpRouteMatchProperty+instance Prelude.Show TcpRouteMatchProperty+instance JSON.ToJSON TcpRouteMatchProperty
+ gen/Stratosphere/AppMesh/Route/TcpRouteProperty.hs view
@@ -0,0 +1,57 @@+module Stratosphere.AppMesh.Route.TcpRouteProperty (+        module Exports, TcpRouteProperty(..), mkTcpRouteProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.Route.TcpRouteActionProperty as Exports+import {-# SOURCE #-} Stratosphere.AppMesh.Route.TcpRouteMatchProperty as Exports+import {-# SOURCE #-} Stratosphere.AppMesh.Route.TcpTimeoutProperty as Exports+import Stratosphere.ResourceProperties+data TcpRouteProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-tcproute.html>+    TcpRouteProperty {haddock_workaround_ :: (),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-tcproute.html#cfn-appmesh-route-tcproute-action>+                      action :: TcpRouteActionProperty,+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-tcproute.html#cfn-appmesh-route-tcproute-match>+                      match :: (Prelude.Maybe TcpRouteMatchProperty),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-tcproute.html#cfn-appmesh-route-tcproute-timeout>+                      timeout :: (Prelude.Maybe TcpTimeoutProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkTcpRouteProperty :: TcpRouteActionProperty -> TcpRouteProperty+mkTcpRouteProperty action+  = TcpRouteProperty+      {haddock_workaround_ = (), action = action,+       match = Prelude.Nothing, timeout = Prelude.Nothing}+instance ToResourceProperties TcpRouteProperty where+  toResourceProperties TcpRouteProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::Route.TcpRoute",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Action" JSON..= action]+                           (Prelude.catMaybes+                              [(JSON..=) "Match" Prelude.<$> match,+                               (JSON..=) "Timeout" Prelude.<$> timeout]))}+instance JSON.ToJSON TcpRouteProperty where+  toJSON TcpRouteProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Action" JSON..= action]+              (Prelude.catMaybes+                 [(JSON..=) "Match" Prelude.<$> match,+                  (JSON..=) "Timeout" Prelude.<$> timeout])))+instance Property "Action" TcpRouteProperty where+  type PropertyType "Action" TcpRouteProperty = TcpRouteActionProperty+  set newValue TcpRouteProperty {..}+    = TcpRouteProperty {action = newValue, ..}+instance Property "Match" TcpRouteProperty where+  type PropertyType "Match" TcpRouteProperty = TcpRouteMatchProperty+  set newValue TcpRouteProperty {..}+    = TcpRouteProperty {match = Prelude.pure newValue, ..}+instance Property "Timeout" TcpRouteProperty where+  type PropertyType "Timeout" TcpRouteProperty = TcpTimeoutProperty+  set newValue TcpRouteProperty {..}+    = TcpRouteProperty {timeout = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppMesh/Route/TcpRouteProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.Route.TcpRouteProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data TcpRouteProperty :: Prelude.Type+instance ToResourceProperties TcpRouteProperty+instance Prelude.Eq TcpRouteProperty+instance Prelude.Show TcpRouteProperty+instance JSON.ToJSON TcpRouteProperty
+ gen/Stratosphere/AppMesh/Route/TcpTimeoutProperty.hs view
@@ -0,0 +1,34 @@+module Stratosphere.AppMesh.Route.TcpTimeoutProperty (+        module Exports, TcpTimeoutProperty(..), mkTcpTimeoutProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.Route.DurationProperty as Exports+import Stratosphere.ResourceProperties+data TcpTimeoutProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-tcptimeout.html>+    TcpTimeoutProperty {haddock_workaround_ :: (),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-tcptimeout.html#cfn-appmesh-route-tcptimeout-idle>+                        idle :: (Prelude.Maybe DurationProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkTcpTimeoutProperty :: TcpTimeoutProperty+mkTcpTimeoutProperty+  = TcpTimeoutProperty+      {haddock_workaround_ = (), idle = Prelude.Nothing}+instance ToResourceProperties TcpTimeoutProperty where+  toResourceProperties TcpTimeoutProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::Route.TcpTimeout",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes [(JSON..=) "Idle" Prelude.<$> idle])}+instance JSON.ToJSON TcpTimeoutProperty where+  toJSON TcpTimeoutProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes [(JSON..=) "Idle" Prelude.<$> idle]))+instance Property "Idle" TcpTimeoutProperty where+  type PropertyType "Idle" TcpTimeoutProperty = DurationProperty+  set newValue TcpTimeoutProperty {..}+    = TcpTimeoutProperty {idle = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppMesh/Route/TcpTimeoutProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.Route.TcpTimeoutProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data TcpTimeoutProperty :: Prelude.Type+instance ToResourceProperties TcpTimeoutProperty+instance Prelude.Eq TcpTimeoutProperty+instance Prelude.Show TcpTimeoutProperty+instance JSON.ToJSON TcpTimeoutProperty
+ gen/Stratosphere/AppMesh/Route/WeightedTargetProperty.hs view
@@ -0,0 +1,53 @@+module Stratosphere.AppMesh.Route.WeightedTargetProperty (+        WeightedTargetProperty(..), mkWeightedTargetProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data WeightedTargetProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-weightedtarget.html>+    WeightedTargetProperty {haddock_workaround_ :: (),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-weightedtarget.html#cfn-appmesh-route-weightedtarget-port>+                            port :: (Prelude.Maybe (Value Prelude.Integer)),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-weightedtarget.html#cfn-appmesh-route-weightedtarget-virtualnode>+                            virtualNode :: (Value Prelude.Text),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-weightedtarget.html#cfn-appmesh-route-weightedtarget-weight>+                            weight :: (Value Prelude.Integer)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkWeightedTargetProperty ::+  Value Prelude.Text+  -> Value Prelude.Integer -> WeightedTargetProperty+mkWeightedTargetProperty virtualNode weight+  = WeightedTargetProperty+      {haddock_workaround_ = (), virtualNode = virtualNode,+       weight = weight, port = Prelude.Nothing}+instance ToResourceProperties WeightedTargetProperty where+  toResourceProperties WeightedTargetProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::Route.WeightedTarget",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["VirtualNode" JSON..= virtualNode, "Weight" JSON..= weight]+                           (Prelude.catMaybes [(JSON..=) "Port" Prelude.<$> port]))}+instance JSON.ToJSON WeightedTargetProperty where+  toJSON WeightedTargetProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["VirtualNode" JSON..= virtualNode, "Weight" JSON..= weight]+              (Prelude.catMaybes [(JSON..=) "Port" Prelude.<$> port])))+instance Property "Port" WeightedTargetProperty where+  type PropertyType "Port" WeightedTargetProperty = Value Prelude.Integer+  set newValue WeightedTargetProperty {..}+    = WeightedTargetProperty {port = Prelude.pure newValue, ..}+instance Property "VirtualNode" WeightedTargetProperty where+  type PropertyType "VirtualNode" WeightedTargetProperty = Value Prelude.Text+  set newValue WeightedTargetProperty {..}+    = WeightedTargetProperty {virtualNode = newValue, ..}+instance Property "Weight" WeightedTargetProperty where+  type PropertyType "Weight" WeightedTargetProperty = Value Prelude.Integer+  set newValue WeightedTargetProperty {..}+    = WeightedTargetProperty {weight = newValue, ..}
+ gen/Stratosphere/AppMesh/Route/WeightedTargetProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.Route.WeightedTargetProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data WeightedTargetProperty :: Prelude.Type+instance ToResourceProperties WeightedTargetProperty+instance Prelude.Eq WeightedTargetProperty+instance Prelude.Show WeightedTargetProperty+instance JSON.ToJSON WeightedTargetProperty
+ gen/Stratosphere/AppMesh/VirtualGateway.hs view
@@ -0,0 +1,73 @@+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+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualgateway.html>+    VirtualGateway {haddock_workaround_ :: (),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualgateway.html#cfn-appmesh-virtualgateway-meshname>+                    meshName :: (Value Prelude.Text),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualgateway.html#cfn-appmesh-virtualgateway-meshowner>+                    meshOwner :: (Prelude.Maybe (Value Prelude.Text)),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualgateway.html#cfn-appmesh-virtualgateway-spec>+                    spec :: VirtualGatewaySpecProperty,+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualgateway.html#cfn-appmesh-virtualgateway-tags>+                    tags :: (Prelude.Maybe [Tag]),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualgateway.html#cfn-appmesh-virtualgateway-virtualgatewayname>+                    virtualGatewayName :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkVirtualGateway ::+  Value Prelude.Text -> VirtualGatewaySpecProperty -> VirtualGateway+mkVirtualGateway meshName spec+  = VirtualGateway+      {haddock_workaround_ = (), meshName = meshName, spec = spec,+       meshOwner = Prelude.Nothing, tags = Prelude.Nothing,+       virtualGatewayName = Prelude.Nothing}+instance ToResourceProperties VirtualGateway where+  toResourceProperties VirtualGateway {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualGateway",+         supportsTags = Prelude.True,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["MeshName" JSON..= meshName, "Spec" JSON..= spec]+                           (Prelude.catMaybes+                              [(JSON..=) "MeshOwner" Prelude.<$> meshOwner,+                               (JSON..=) "Tags" Prelude.<$> tags,+                               (JSON..=) "VirtualGatewayName" Prelude.<$> virtualGatewayName]))}+instance JSON.ToJSON VirtualGateway where+  toJSON VirtualGateway {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["MeshName" JSON..= meshName, "Spec" JSON..= spec]+              (Prelude.catMaybes+                 [(JSON..=) "MeshOwner" Prelude.<$> meshOwner,+                  (JSON..=) "Tags" Prelude.<$> tags,+                  (JSON..=) "VirtualGatewayName" Prelude.<$> virtualGatewayName])))+instance Property "MeshName" VirtualGateway where+  type PropertyType "MeshName" VirtualGateway = Value Prelude.Text+  set newValue VirtualGateway {..}+    = VirtualGateway {meshName = newValue, ..}+instance Property "MeshOwner" VirtualGateway where+  type PropertyType "MeshOwner" VirtualGateway = Value Prelude.Text+  set newValue VirtualGateway {..}+    = VirtualGateway {meshOwner = Prelude.pure newValue, ..}+instance Property "Spec" VirtualGateway where+  type PropertyType "Spec" VirtualGateway = VirtualGatewaySpecProperty+  set newValue VirtualGateway {..}+    = VirtualGateway {spec = newValue, ..}+instance Property "Tags" VirtualGateway where+  type PropertyType "Tags" VirtualGateway = [Tag]+  set newValue VirtualGateway {..}+    = VirtualGateway {tags = Prelude.pure newValue, ..}+instance Property "VirtualGatewayName" VirtualGateway where+  type PropertyType "VirtualGatewayName" VirtualGateway = Value Prelude.Text+  set newValue VirtualGateway {..}+    = VirtualGateway {virtualGatewayName = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualGateway/JsonFormatRefProperty.hs view
@@ -0,0 +1,38 @@+module Stratosphere.AppMesh.VirtualGateway.JsonFormatRefProperty (+        JsonFormatRefProperty(..), mkJsonFormatRefProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data JsonFormatRefProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-jsonformatref.html>+    JsonFormatRefProperty {haddock_workaround_ :: (),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-jsonformatref.html#cfn-appmesh-virtualgateway-jsonformatref-key>+                           key :: (Value Prelude.Text),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-jsonformatref.html#cfn-appmesh-virtualgateway-jsonformatref-value>+                           value :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkJsonFormatRefProperty ::+  Value Prelude.Text -> Value Prelude.Text -> JsonFormatRefProperty+mkJsonFormatRefProperty key value+  = JsonFormatRefProperty+      {haddock_workaround_ = (), key = key, value = value}+instance ToResourceProperties JsonFormatRefProperty where+  toResourceProperties JsonFormatRefProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualGateway.JsonFormatRef",+         supportsTags = Prelude.False,+         properties = ["Key" JSON..= key, "Value" JSON..= value]}+instance JSON.ToJSON JsonFormatRefProperty where+  toJSON JsonFormatRefProperty {..}+    = JSON.object ["Key" JSON..= key, "Value" JSON..= value]+instance Property "Key" JsonFormatRefProperty where+  type PropertyType "Key" JsonFormatRefProperty = Value Prelude.Text+  set newValue JsonFormatRefProperty {..}+    = JsonFormatRefProperty {key = newValue, ..}+instance Property "Value" JsonFormatRefProperty where+  type PropertyType "Value" JsonFormatRefProperty = Value Prelude.Text+  set newValue JsonFormatRefProperty {..}+    = JsonFormatRefProperty {value = newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualGateway/JsonFormatRefProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.VirtualGateway.JsonFormatRefProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data JsonFormatRefProperty :: Prelude.Type+instance ToResourceProperties JsonFormatRefProperty+instance Prelude.Eq JsonFormatRefProperty+instance Prelude.Show JsonFormatRefProperty+instance JSON.ToJSON JsonFormatRefProperty
+ gen/Stratosphere/AppMesh/VirtualGateway/LoggingFormatProperty.hs view
@@ -0,0 +1,46 @@+module Stratosphere.AppMesh.VirtualGateway.LoggingFormatProperty (+        module Exports, LoggingFormatProperty(..), mkLoggingFormatProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualGateway.JsonFormatRefProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data LoggingFormatProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-loggingformat.html>+    LoggingFormatProperty {haddock_workaround_ :: (),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-loggingformat.html#cfn-appmesh-virtualgateway-loggingformat-json>+                           json :: (Prelude.Maybe [JsonFormatRefProperty]),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-loggingformat.html#cfn-appmesh-virtualgateway-loggingformat-text>+                           text :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkLoggingFormatProperty :: LoggingFormatProperty+mkLoggingFormatProperty+  = LoggingFormatProperty+      {haddock_workaround_ = (), json = Prelude.Nothing,+       text = Prelude.Nothing}+instance ToResourceProperties LoggingFormatProperty where+  toResourceProperties LoggingFormatProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualGateway.LoggingFormat",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Json" Prelude.<$> json,+                            (JSON..=) "Text" Prelude.<$> text])}+instance JSON.ToJSON LoggingFormatProperty where+  toJSON LoggingFormatProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Json" Prelude.<$> json,+               (JSON..=) "Text" Prelude.<$> text]))+instance Property "Json" LoggingFormatProperty where+  type PropertyType "Json" LoggingFormatProperty = [JsonFormatRefProperty]+  set newValue LoggingFormatProperty {..}+    = LoggingFormatProperty {json = Prelude.pure newValue, ..}+instance Property "Text" LoggingFormatProperty where+  type PropertyType "Text" LoggingFormatProperty = Value Prelude.Text+  set newValue LoggingFormatProperty {..}+    = LoggingFormatProperty {text = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualGateway/LoggingFormatProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.VirtualGateway.LoggingFormatProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data LoggingFormatProperty :: Prelude.Type+instance ToResourceProperties LoggingFormatProperty+instance Prelude.Eq LoggingFormatProperty+instance Prelude.Show LoggingFormatProperty+instance JSON.ToJSON LoggingFormatProperty
+ gen/Stratosphere/AppMesh/VirtualGateway/SubjectAlternativeNameMatchersProperty.hs view
@@ -0,0 +1,37 @@+module Stratosphere.AppMesh.VirtualGateway.SubjectAlternativeNameMatchersProperty (+        SubjectAlternativeNameMatchersProperty(..),+        mkSubjectAlternativeNameMatchersProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data SubjectAlternativeNameMatchersProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-subjectalternativenamematchers.html>+    SubjectAlternativeNameMatchersProperty {haddock_workaround_ :: (),+                                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-subjectalternativenamematchers.html#cfn-appmesh-virtualgateway-subjectalternativenamematchers-exact>+                                            exact :: (Prelude.Maybe (ValueList Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkSubjectAlternativeNameMatchersProperty ::+  SubjectAlternativeNameMatchersProperty+mkSubjectAlternativeNameMatchersProperty+  = SubjectAlternativeNameMatchersProperty+      {haddock_workaround_ = (), exact = Prelude.Nothing}+instance ToResourceProperties SubjectAlternativeNameMatchersProperty where+  toResourceProperties SubjectAlternativeNameMatchersProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualGateway.SubjectAlternativeNameMatchers",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes [(JSON..=) "Exact" Prelude.<$> exact])}+instance JSON.ToJSON SubjectAlternativeNameMatchersProperty where+  toJSON SubjectAlternativeNameMatchersProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes [(JSON..=) "Exact" Prelude.<$> exact]))+instance Property "Exact" SubjectAlternativeNameMatchersProperty where+  type PropertyType "Exact" SubjectAlternativeNameMatchersProperty = ValueList Prelude.Text+  set newValue SubjectAlternativeNameMatchersProperty {..}+    = SubjectAlternativeNameMatchersProperty+        {exact = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualGateway/SubjectAlternativeNameMatchersProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.VirtualGateway.SubjectAlternativeNameMatchersProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data SubjectAlternativeNameMatchersProperty :: Prelude.Type+instance ToResourceProperties SubjectAlternativeNameMatchersProperty+instance Prelude.Eq SubjectAlternativeNameMatchersProperty+instance Prelude.Show SubjectAlternativeNameMatchersProperty+instance JSON.ToJSON SubjectAlternativeNameMatchersProperty
+ gen/Stratosphere/AppMesh/VirtualGateway/SubjectAlternativeNamesProperty.hs view
@@ -0,0 +1,33 @@+module Stratosphere.AppMesh.VirtualGateway.SubjectAlternativeNamesProperty (+        module Exports, SubjectAlternativeNamesProperty(..),+        mkSubjectAlternativeNamesProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualGateway.SubjectAlternativeNameMatchersProperty as Exports+import Stratosphere.ResourceProperties+data SubjectAlternativeNamesProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-subjectalternativenames.html>+    SubjectAlternativeNamesProperty {haddock_workaround_ :: (),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-subjectalternativenames.html#cfn-appmesh-virtualgateway-subjectalternativenames-match>+                                     match :: SubjectAlternativeNameMatchersProperty}+  deriving stock (Prelude.Eq, Prelude.Show)+mkSubjectAlternativeNamesProperty ::+  SubjectAlternativeNameMatchersProperty+  -> SubjectAlternativeNamesProperty+mkSubjectAlternativeNamesProperty match+  = SubjectAlternativeNamesProperty+      {haddock_workaround_ = (), match = match}+instance ToResourceProperties SubjectAlternativeNamesProperty where+  toResourceProperties SubjectAlternativeNamesProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualGateway.SubjectAlternativeNames",+         supportsTags = Prelude.False, properties = ["Match" JSON..= match]}+instance JSON.ToJSON SubjectAlternativeNamesProperty where+  toJSON SubjectAlternativeNamesProperty {..}+    = JSON.object ["Match" JSON..= match]+instance Property "Match" SubjectAlternativeNamesProperty where+  type PropertyType "Match" SubjectAlternativeNamesProperty = SubjectAlternativeNameMatchersProperty+  set newValue SubjectAlternativeNamesProperty {..}+    = SubjectAlternativeNamesProperty {match = newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualGateway/SubjectAlternativeNamesProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.VirtualGateway.SubjectAlternativeNamesProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data SubjectAlternativeNamesProperty :: Prelude.Type+instance ToResourceProperties SubjectAlternativeNamesProperty+instance Prelude.Eq SubjectAlternativeNamesProperty+instance Prelude.Show SubjectAlternativeNamesProperty+instance JSON.ToJSON SubjectAlternativeNamesProperty
+ gen/Stratosphere/AppMesh/VirtualGateway/VirtualGatewayAccessLogProperty.hs view
@@ -0,0 +1,37 @@+module Stratosphere.AppMesh.VirtualGateway.VirtualGatewayAccessLogProperty (+        module Exports, VirtualGatewayAccessLogProperty(..),+        mkVirtualGatewayAccessLogProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualGateway.VirtualGatewayFileAccessLogProperty as Exports+import Stratosphere.ResourceProperties+data VirtualGatewayAccessLogProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayaccesslog.html>+    VirtualGatewayAccessLogProperty {haddock_workaround_ :: (),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayaccesslog.html#cfn-appmesh-virtualgateway-virtualgatewayaccesslog-file>+                                     file :: (Prelude.Maybe VirtualGatewayFileAccessLogProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkVirtualGatewayAccessLogProperty ::+  VirtualGatewayAccessLogProperty+mkVirtualGatewayAccessLogProperty+  = VirtualGatewayAccessLogProperty+      {haddock_workaround_ = (), file = Prelude.Nothing}+instance ToResourceProperties VirtualGatewayAccessLogProperty where+  toResourceProperties VirtualGatewayAccessLogProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualGateway.VirtualGatewayAccessLog",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes [(JSON..=) "File" Prelude.<$> file])}+instance JSON.ToJSON VirtualGatewayAccessLogProperty where+  toJSON VirtualGatewayAccessLogProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes [(JSON..=) "File" Prelude.<$> file]))+instance Property "File" VirtualGatewayAccessLogProperty where+  type PropertyType "File" VirtualGatewayAccessLogProperty = VirtualGatewayFileAccessLogProperty+  set newValue VirtualGatewayAccessLogProperty {..}+    = VirtualGatewayAccessLogProperty+        {file = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualGateway/VirtualGatewayAccessLogProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.VirtualGateway.VirtualGatewayAccessLogProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data VirtualGatewayAccessLogProperty :: Prelude.Type+instance ToResourceProperties VirtualGatewayAccessLogProperty+instance Prelude.Eq VirtualGatewayAccessLogProperty+instance Prelude.Show VirtualGatewayAccessLogProperty+instance JSON.ToJSON VirtualGatewayAccessLogProperty
+ gen/Stratosphere/AppMesh/VirtualGateway/VirtualGatewayBackendDefaultsProperty.hs view
@@ -0,0 +1,39 @@+module Stratosphere.AppMesh.VirtualGateway.VirtualGatewayBackendDefaultsProperty (+        module Exports, VirtualGatewayBackendDefaultsProperty(..),+        mkVirtualGatewayBackendDefaultsProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualGateway.VirtualGatewayClientPolicyProperty as Exports+import Stratosphere.ResourceProperties+data VirtualGatewayBackendDefaultsProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaybackenddefaults.html>+    VirtualGatewayBackendDefaultsProperty {haddock_workaround_ :: (),+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaybackenddefaults.html#cfn-appmesh-virtualgateway-virtualgatewaybackenddefaults-clientpolicy>+                                           clientPolicy :: (Prelude.Maybe VirtualGatewayClientPolicyProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkVirtualGatewayBackendDefaultsProperty ::+  VirtualGatewayBackendDefaultsProperty+mkVirtualGatewayBackendDefaultsProperty+  = VirtualGatewayBackendDefaultsProperty+      {haddock_workaround_ = (), clientPolicy = Prelude.Nothing}+instance ToResourceProperties VirtualGatewayBackendDefaultsProperty where+  toResourceProperties VirtualGatewayBackendDefaultsProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualGateway.VirtualGatewayBackendDefaults",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "ClientPolicy" Prelude.<$> clientPolicy])}+instance JSON.ToJSON VirtualGatewayBackendDefaultsProperty where+  toJSON VirtualGatewayBackendDefaultsProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "ClientPolicy" Prelude.<$> clientPolicy]))+instance Property "ClientPolicy" VirtualGatewayBackendDefaultsProperty where+  type PropertyType "ClientPolicy" VirtualGatewayBackendDefaultsProperty = VirtualGatewayClientPolicyProperty+  set newValue VirtualGatewayBackendDefaultsProperty {..}+    = VirtualGatewayBackendDefaultsProperty+        {clientPolicy = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualGateway/VirtualGatewayBackendDefaultsProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.VirtualGateway.VirtualGatewayBackendDefaultsProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data VirtualGatewayBackendDefaultsProperty :: Prelude.Type+instance ToResourceProperties VirtualGatewayBackendDefaultsProperty+instance Prelude.Eq VirtualGatewayBackendDefaultsProperty+instance Prelude.Show VirtualGatewayBackendDefaultsProperty+instance JSON.ToJSON VirtualGatewayBackendDefaultsProperty
+ gen/Stratosphere/AppMesh/VirtualGateway/VirtualGatewayClientPolicyProperty.hs view
@@ -0,0 +1,37 @@+module Stratosphere.AppMesh.VirtualGateway.VirtualGatewayClientPolicyProperty (+        module Exports, VirtualGatewayClientPolicyProperty(..),+        mkVirtualGatewayClientPolicyProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualGateway.VirtualGatewayClientPolicyTlsProperty as Exports+import Stratosphere.ResourceProperties+data VirtualGatewayClientPolicyProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayclientpolicy.html>+    VirtualGatewayClientPolicyProperty {haddock_workaround_ :: (),+                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayclientpolicy.html#cfn-appmesh-virtualgateway-virtualgatewayclientpolicy-tls>+                                        tLS :: (Prelude.Maybe VirtualGatewayClientPolicyTlsProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkVirtualGatewayClientPolicyProperty ::+  VirtualGatewayClientPolicyProperty+mkVirtualGatewayClientPolicyProperty+  = VirtualGatewayClientPolicyProperty+      {haddock_workaround_ = (), tLS = Prelude.Nothing}+instance ToResourceProperties VirtualGatewayClientPolicyProperty where+  toResourceProperties VirtualGatewayClientPolicyProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualGateway.VirtualGatewayClientPolicy",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes [(JSON..=) "TLS" Prelude.<$> tLS])}+instance JSON.ToJSON VirtualGatewayClientPolicyProperty where+  toJSON VirtualGatewayClientPolicyProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes [(JSON..=) "TLS" Prelude.<$> tLS]))+instance Property "TLS" VirtualGatewayClientPolicyProperty where+  type PropertyType "TLS" VirtualGatewayClientPolicyProperty = VirtualGatewayClientPolicyTlsProperty+  set newValue VirtualGatewayClientPolicyProperty {..}+    = VirtualGatewayClientPolicyProperty+        {tLS = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualGateway/VirtualGatewayClientPolicyProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.VirtualGateway.VirtualGatewayClientPolicyProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data VirtualGatewayClientPolicyProperty :: Prelude.Type+instance ToResourceProperties VirtualGatewayClientPolicyProperty+instance Prelude.Eq VirtualGatewayClientPolicyProperty+instance Prelude.Show VirtualGatewayClientPolicyProperty+instance JSON.ToJSON VirtualGatewayClientPolicyProperty
+ gen/Stratosphere/AppMesh/VirtualGateway/VirtualGatewayClientPolicyTlsProperty.hs view
@@ -0,0 +1,72 @@+module Stratosphere.AppMesh.VirtualGateway.VirtualGatewayClientPolicyTlsProperty (+        module Exports, VirtualGatewayClientPolicyTlsProperty(..),+        mkVirtualGatewayClientPolicyTlsProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualGateway.VirtualGatewayClientTlsCertificateProperty as Exports+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualGateway.VirtualGatewayTlsValidationContextProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data VirtualGatewayClientPolicyTlsProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayclientpolicytls.html>+    VirtualGatewayClientPolicyTlsProperty {haddock_workaround_ :: (),+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayclientpolicytls.html#cfn-appmesh-virtualgateway-virtualgatewayclientpolicytls-certificate>+                                           certificate :: (Prelude.Maybe VirtualGatewayClientTlsCertificateProperty),+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayclientpolicytls.html#cfn-appmesh-virtualgateway-virtualgatewayclientpolicytls-enforce>+                                           enforce :: (Prelude.Maybe (Value Prelude.Bool)),+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayclientpolicytls.html#cfn-appmesh-virtualgateway-virtualgatewayclientpolicytls-ports>+                                           ports :: (Prelude.Maybe (ValueList Prelude.Integer)),+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayclientpolicytls.html#cfn-appmesh-virtualgateway-virtualgatewayclientpolicytls-validation>+                                           validation :: VirtualGatewayTlsValidationContextProperty}+  deriving stock (Prelude.Eq, Prelude.Show)+mkVirtualGatewayClientPolicyTlsProperty ::+  VirtualGatewayTlsValidationContextProperty+  -> VirtualGatewayClientPolicyTlsProperty+mkVirtualGatewayClientPolicyTlsProperty validation+  = VirtualGatewayClientPolicyTlsProperty+      {haddock_workaround_ = (), validation = validation,+       certificate = Prelude.Nothing, enforce = Prelude.Nothing,+       ports = Prelude.Nothing}+instance ToResourceProperties VirtualGatewayClientPolicyTlsProperty where+  toResourceProperties VirtualGatewayClientPolicyTlsProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualGateway.VirtualGatewayClientPolicyTls",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Validation" JSON..= validation]+                           (Prelude.catMaybes+                              [(JSON..=) "Certificate" Prelude.<$> certificate,+                               (JSON..=) "Enforce" Prelude.<$> enforce,+                               (JSON..=) "Ports" Prelude.<$> ports]))}+instance JSON.ToJSON VirtualGatewayClientPolicyTlsProperty where+  toJSON VirtualGatewayClientPolicyTlsProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Validation" JSON..= validation]+              (Prelude.catMaybes+                 [(JSON..=) "Certificate" Prelude.<$> certificate,+                  (JSON..=) "Enforce" Prelude.<$> enforce,+                  (JSON..=) "Ports" Prelude.<$> ports])))+instance Property "Certificate" VirtualGatewayClientPolicyTlsProperty where+  type PropertyType "Certificate" VirtualGatewayClientPolicyTlsProperty = VirtualGatewayClientTlsCertificateProperty+  set newValue VirtualGatewayClientPolicyTlsProperty {..}+    = VirtualGatewayClientPolicyTlsProperty+        {certificate = Prelude.pure newValue, ..}+instance Property "Enforce" VirtualGatewayClientPolicyTlsProperty where+  type PropertyType "Enforce" VirtualGatewayClientPolicyTlsProperty = Value Prelude.Bool+  set newValue VirtualGatewayClientPolicyTlsProperty {..}+    = VirtualGatewayClientPolicyTlsProperty+        {enforce = Prelude.pure newValue, ..}+instance Property "Ports" VirtualGatewayClientPolicyTlsProperty where+  type PropertyType "Ports" VirtualGatewayClientPolicyTlsProperty = ValueList Prelude.Integer+  set newValue VirtualGatewayClientPolicyTlsProperty {..}+    = VirtualGatewayClientPolicyTlsProperty+        {ports = Prelude.pure newValue, ..}+instance Property "Validation" VirtualGatewayClientPolicyTlsProperty where+  type PropertyType "Validation" VirtualGatewayClientPolicyTlsProperty = VirtualGatewayTlsValidationContextProperty+  set newValue VirtualGatewayClientPolicyTlsProperty {..}+    = VirtualGatewayClientPolicyTlsProperty {validation = newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualGateway/VirtualGatewayClientPolicyTlsProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.VirtualGateway.VirtualGatewayClientPolicyTlsProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data VirtualGatewayClientPolicyTlsProperty :: Prelude.Type+instance ToResourceProperties VirtualGatewayClientPolicyTlsProperty+instance Prelude.Eq VirtualGatewayClientPolicyTlsProperty+instance Prelude.Show VirtualGatewayClientPolicyTlsProperty+instance JSON.ToJSON VirtualGatewayClientPolicyTlsProperty
+ gen/Stratosphere/AppMesh/VirtualGateway/VirtualGatewayClientTlsCertificateProperty.hs view
@@ -0,0 +1,51 @@+module Stratosphere.AppMesh.VirtualGateway.VirtualGatewayClientTlsCertificateProperty (+        module Exports, VirtualGatewayClientTlsCertificateProperty(..),+        mkVirtualGatewayClientTlsCertificateProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualGateway.VirtualGatewayListenerTlsFileCertificateProperty as Exports+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualGateway.VirtualGatewayListenerTlsSdsCertificateProperty as Exports+import Stratosphere.ResourceProperties+data VirtualGatewayClientTlsCertificateProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayclienttlscertificate.html>+    VirtualGatewayClientTlsCertificateProperty {haddock_workaround_ :: (),+                                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayclienttlscertificate.html#cfn-appmesh-virtualgateway-virtualgatewayclienttlscertificate-file>+                                                file :: (Prelude.Maybe VirtualGatewayListenerTlsFileCertificateProperty),+                                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayclienttlscertificate.html#cfn-appmesh-virtualgateway-virtualgatewayclienttlscertificate-sds>+                                                sDS :: (Prelude.Maybe VirtualGatewayListenerTlsSdsCertificateProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkVirtualGatewayClientTlsCertificateProperty ::+  VirtualGatewayClientTlsCertificateProperty+mkVirtualGatewayClientTlsCertificateProperty+  = VirtualGatewayClientTlsCertificateProperty+      {haddock_workaround_ = (), file = Prelude.Nothing,+       sDS = Prelude.Nothing}+instance ToResourceProperties VirtualGatewayClientTlsCertificateProperty where+  toResourceProperties+    VirtualGatewayClientTlsCertificateProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualGateway.VirtualGatewayClientTlsCertificate",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "File" Prelude.<$> file,+                            (JSON..=) "SDS" Prelude.<$> sDS])}+instance JSON.ToJSON VirtualGatewayClientTlsCertificateProperty where+  toJSON VirtualGatewayClientTlsCertificateProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "File" Prelude.<$> file,+               (JSON..=) "SDS" Prelude.<$> sDS]))+instance Property "File" VirtualGatewayClientTlsCertificateProperty where+  type PropertyType "File" VirtualGatewayClientTlsCertificateProperty = VirtualGatewayListenerTlsFileCertificateProperty+  set newValue VirtualGatewayClientTlsCertificateProperty {..}+    = VirtualGatewayClientTlsCertificateProperty+        {file = Prelude.pure newValue, ..}+instance Property "SDS" VirtualGatewayClientTlsCertificateProperty where+  type PropertyType "SDS" VirtualGatewayClientTlsCertificateProperty = VirtualGatewayListenerTlsSdsCertificateProperty+  set newValue VirtualGatewayClientTlsCertificateProperty {..}+    = VirtualGatewayClientTlsCertificateProperty+        {sDS = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualGateway/VirtualGatewayClientTlsCertificateProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.VirtualGateway.VirtualGatewayClientTlsCertificateProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data VirtualGatewayClientTlsCertificateProperty :: Prelude.Type+instance ToResourceProperties VirtualGatewayClientTlsCertificateProperty+instance Prelude.Eq VirtualGatewayClientTlsCertificateProperty+instance Prelude.Show VirtualGatewayClientTlsCertificateProperty+instance JSON.ToJSON VirtualGatewayClientTlsCertificateProperty
+ gen/Stratosphere/AppMesh/VirtualGateway/VirtualGatewayConnectionPoolProperty.hs view
@@ -0,0 +1,60 @@+module Stratosphere.AppMesh.VirtualGateway.VirtualGatewayConnectionPoolProperty (+        module Exports, VirtualGatewayConnectionPoolProperty(..),+        mkVirtualGatewayConnectionPoolProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualGateway.VirtualGatewayGrpcConnectionPoolProperty as Exports+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualGateway.VirtualGatewayHttp2ConnectionPoolProperty as Exports+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualGateway.VirtualGatewayHttpConnectionPoolProperty as Exports+import Stratosphere.ResourceProperties+data VirtualGatewayConnectionPoolProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayconnectionpool.html>+    VirtualGatewayConnectionPoolProperty {haddock_workaround_ :: (),+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayconnectionpool.html#cfn-appmesh-virtualgateway-virtualgatewayconnectionpool-grpc>+                                          gRPC :: (Prelude.Maybe VirtualGatewayGrpcConnectionPoolProperty),+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayconnectionpool.html#cfn-appmesh-virtualgateway-virtualgatewayconnectionpool-http>+                                          hTTP :: (Prelude.Maybe VirtualGatewayHttpConnectionPoolProperty),+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayconnectionpool.html#cfn-appmesh-virtualgateway-virtualgatewayconnectionpool-http2>+                                          hTTP2 :: (Prelude.Maybe VirtualGatewayHttp2ConnectionPoolProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkVirtualGatewayConnectionPoolProperty ::+  VirtualGatewayConnectionPoolProperty+mkVirtualGatewayConnectionPoolProperty+  = VirtualGatewayConnectionPoolProperty+      {haddock_workaround_ = (), gRPC = Prelude.Nothing,+       hTTP = Prelude.Nothing, hTTP2 = Prelude.Nothing}+instance ToResourceProperties VirtualGatewayConnectionPoolProperty where+  toResourceProperties VirtualGatewayConnectionPoolProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualGateway.VirtualGatewayConnectionPool",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "GRPC" Prelude.<$> gRPC,+                            (JSON..=) "HTTP" Prelude.<$> hTTP,+                            (JSON..=) "HTTP2" Prelude.<$> hTTP2])}+instance JSON.ToJSON VirtualGatewayConnectionPoolProperty where+  toJSON VirtualGatewayConnectionPoolProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "GRPC" Prelude.<$> gRPC,+               (JSON..=) "HTTP" Prelude.<$> hTTP,+               (JSON..=) "HTTP2" Prelude.<$> hTTP2]))+instance Property "GRPC" VirtualGatewayConnectionPoolProperty where+  type PropertyType "GRPC" VirtualGatewayConnectionPoolProperty = VirtualGatewayGrpcConnectionPoolProperty+  set newValue VirtualGatewayConnectionPoolProperty {..}+    = VirtualGatewayConnectionPoolProperty+        {gRPC = Prelude.pure newValue, ..}+instance Property "HTTP" VirtualGatewayConnectionPoolProperty where+  type PropertyType "HTTP" VirtualGatewayConnectionPoolProperty = VirtualGatewayHttpConnectionPoolProperty+  set newValue VirtualGatewayConnectionPoolProperty {..}+    = VirtualGatewayConnectionPoolProperty+        {hTTP = Prelude.pure newValue, ..}+instance Property "HTTP2" VirtualGatewayConnectionPoolProperty where+  type PropertyType "HTTP2" VirtualGatewayConnectionPoolProperty = VirtualGatewayHttp2ConnectionPoolProperty+  set newValue VirtualGatewayConnectionPoolProperty {..}+    = VirtualGatewayConnectionPoolProperty+        {hTTP2 = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualGateway/VirtualGatewayConnectionPoolProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.VirtualGateway.VirtualGatewayConnectionPoolProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data VirtualGatewayConnectionPoolProperty :: Prelude.Type+instance ToResourceProperties VirtualGatewayConnectionPoolProperty+instance Prelude.Eq VirtualGatewayConnectionPoolProperty+instance Prelude.Show VirtualGatewayConnectionPoolProperty+instance JSON.ToJSON VirtualGatewayConnectionPoolProperty
+ gen/Stratosphere/AppMesh/VirtualGateway/VirtualGatewayFileAccessLogProperty.hs view
@@ -0,0 +1,48 @@+module Stratosphere.AppMesh.VirtualGateway.VirtualGatewayFileAccessLogProperty (+        module Exports, VirtualGatewayFileAccessLogProperty(..),+        mkVirtualGatewayFileAccessLogProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualGateway.LoggingFormatProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data VirtualGatewayFileAccessLogProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayfileaccesslog.html>+    VirtualGatewayFileAccessLogProperty {haddock_workaround_ :: (),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayfileaccesslog.html#cfn-appmesh-virtualgateway-virtualgatewayfileaccesslog-format>+                                         format :: (Prelude.Maybe LoggingFormatProperty),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayfileaccesslog.html#cfn-appmesh-virtualgateway-virtualgatewayfileaccesslog-path>+                                         path :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkVirtualGatewayFileAccessLogProperty ::+  Value Prelude.Text -> VirtualGatewayFileAccessLogProperty+mkVirtualGatewayFileAccessLogProperty path+  = VirtualGatewayFileAccessLogProperty+      {haddock_workaround_ = (), path = path, format = Prelude.Nothing}+instance ToResourceProperties VirtualGatewayFileAccessLogProperty where+  toResourceProperties VirtualGatewayFileAccessLogProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualGateway.VirtualGatewayFileAccessLog",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Path" JSON..= path]+                           (Prelude.catMaybes [(JSON..=) "Format" Prelude.<$> format]))}+instance JSON.ToJSON VirtualGatewayFileAccessLogProperty where+  toJSON VirtualGatewayFileAccessLogProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Path" JSON..= path]+              (Prelude.catMaybes [(JSON..=) "Format" Prelude.<$> format])))+instance Property "Format" VirtualGatewayFileAccessLogProperty where+  type PropertyType "Format" VirtualGatewayFileAccessLogProperty = LoggingFormatProperty+  set newValue VirtualGatewayFileAccessLogProperty {..}+    = VirtualGatewayFileAccessLogProperty+        {format = Prelude.pure newValue, ..}+instance Property "Path" VirtualGatewayFileAccessLogProperty where+  type PropertyType "Path" VirtualGatewayFileAccessLogProperty = Value Prelude.Text+  set newValue VirtualGatewayFileAccessLogProperty {..}+    = VirtualGatewayFileAccessLogProperty {path = newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualGateway/VirtualGatewayFileAccessLogProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.VirtualGateway.VirtualGatewayFileAccessLogProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data VirtualGatewayFileAccessLogProperty :: Prelude.Type+instance ToResourceProperties VirtualGatewayFileAccessLogProperty+instance Prelude.Eq VirtualGatewayFileAccessLogProperty+instance Prelude.Show VirtualGatewayFileAccessLogProperty+instance JSON.ToJSON VirtualGatewayFileAccessLogProperty
+ gen/Stratosphere/AppMesh/VirtualGateway/VirtualGatewayGrpcConnectionPoolProperty.hs view
@@ -0,0 +1,34 @@+module Stratosphere.AppMesh.VirtualGateway.VirtualGatewayGrpcConnectionPoolProperty (+        VirtualGatewayGrpcConnectionPoolProperty(..),+        mkVirtualGatewayGrpcConnectionPoolProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data VirtualGatewayGrpcConnectionPoolProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaygrpcconnectionpool.html>+    VirtualGatewayGrpcConnectionPoolProperty {haddock_workaround_ :: (),+                                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaygrpcconnectionpool.html#cfn-appmesh-virtualgateway-virtualgatewaygrpcconnectionpool-maxrequests>+                                              maxRequests :: (Value Prelude.Integer)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkVirtualGatewayGrpcConnectionPoolProperty ::+  Value Prelude.Integer -> VirtualGatewayGrpcConnectionPoolProperty+mkVirtualGatewayGrpcConnectionPoolProperty maxRequests+  = VirtualGatewayGrpcConnectionPoolProperty+      {haddock_workaround_ = (), maxRequests = maxRequests}+instance ToResourceProperties VirtualGatewayGrpcConnectionPoolProperty where+  toResourceProperties VirtualGatewayGrpcConnectionPoolProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualGateway.VirtualGatewayGrpcConnectionPool",+         supportsTags = Prelude.False,+         properties = ["MaxRequests" JSON..= maxRequests]}+instance JSON.ToJSON VirtualGatewayGrpcConnectionPoolProperty where+  toJSON VirtualGatewayGrpcConnectionPoolProperty {..}+    = JSON.object ["MaxRequests" JSON..= maxRequests]+instance Property "MaxRequests" VirtualGatewayGrpcConnectionPoolProperty where+  type PropertyType "MaxRequests" VirtualGatewayGrpcConnectionPoolProperty = Value Prelude.Integer+  set newValue VirtualGatewayGrpcConnectionPoolProperty {..}+    = VirtualGatewayGrpcConnectionPoolProperty+        {maxRequests = newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualGateway/VirtualGatewayGrpcConnectionPoolProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.VirtualGateway.VirtualGatewayGrpcConnectionPoolProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data VirtualGatewayGrpcConnectionPoolProperty :: Prelude.Type+instance ToResourceProperties VirtualGatewayGrpcConnectionPoolProperty+instance Prelude.Eq VirtualGatewayGrpcConnectionPoolProperty+instance Prelude.Show VirtualGatewayGrpcConnectionPoolProperty+instance JSON.ToJSON VirtualGatewayGrpcConnectionPoolProperty
+ gen/Stratosphere/AppMesh/VirtualGateway/VirtualGatewayHealthCheckPolicyProperty.hs view
@@ -0,0 +1,105 @@+module Stratosphere.AppMesh.VirtualGateway.VirtualGatewayHealthCheckPolicyProperty (+        VirtualGatewayHealthCheckPolicyProperty(..),+        mkVirtualGatewayHealthCheckPolicyProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data VirtualGatewayHealthCheckPolicyProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayhealthcheckpolicy.html>+    VirtualGatewayHealthCheckPolicyProperty {haddock_workaround_ :: (),+                                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayhealthcheckpolicy.html#cfn-appmesh-virtualgateway-virtualgatewayhealthcheckpolicy-healthythreshold>+                                             healthyThreshold :: (Value Prelude.Integer),+                                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayhealthcheckpolicy.html#cfn-appmesh-virtualgateway-virtualgatewayhealthcheckpolicy-intervalmillis>+                                             intervalMillis :: (Value Prelude.Integer),+                                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayhealthcheckpolicy.html#cfn-appmesh-virtualgateway-virtualgatewayhealthcheckpolicy-path>+                                             path :: (Prelude.Maybe (Value Prelude.Text)),+                                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayhealthcheckpolicy.html#cfn-appmesh-virtualgateway-virtualgatewayhealthcheckpolicy-port>+                                             port :: (Prelude.Maybe (Value Prelude.Integer)),+                                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayhealthcheckpolicy.html#cfn-appmesh-virtualgateway-virtualgatewayhealthcheckpolicy-protocol>+                                             protocol :: (Value Prelude.Text),+                                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayhealthcheckpolicy.html#cfn-appmesh-virtualgateway-virtualgatewayhealthcheckpolicy-timeoutmillis>+                                             timeoutMillis :: (Value Prelude.Integer),+                                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayhealthcheckpolicy.html#cfn-appmesh-virtualgateway-virtualgatewayhealthcheckpolicy-unhealthythreshold>+                                             unhealthyThreshold :: (Value Prelude.Integer)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkVirtualGatewayHealthCheckPolicyProperty ::+  Value Prelude.Integer+  -> Value Prelude.Integer+     -> Value Prelude.Text+        -> Value Prelude.Integer+           -> Value Prelude.Integer -> VirtualGatewayHealthCheckPolicyProperty+mkVirtualGatewayHealthCheckPolicyProperty+  healthyThreshold+  intervalMillis+  protocol+  timeoutMillis+  unhealthyThreshold+  = VirtualGatewayHealthCheckPolicyProperty+      {haddock_workaround_ = (), healthyThreshold = healthyThreshold,+       intervalMillis = intervalMillis, protocol = protocol,+       timeoutMillis = timeoutMillis,+       unhealthyThreshold = unhealthyThreshold, path = Prelude.Nothing,+       port = Prelude.Nothing}+instance ToResourceProperties VirtualGatewayHealthCheckPolicyProperty where+  toResourceProperties VirtualGatewayHealthCheckPolicyProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualGateway.VirtualGatewayHealthCheckPolicy",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["HealthyThreshold" JSON..= healthyThreshold,+                            "IntervalMillis" JSON..= intervalMillis,+                            "Protocol" JSON..= protocol, "TimeoutMillis" JSON..= timeoutMillis,+                            "UnhealthyThreshold" JSON..= unhealthyThreshold]+                           (Prelude.catMaybes+                              [(JSON..=) "Path" Prelude.<$> path,+                               (JSON..=) "Port" Prelude.<$> port]))}+instance JSON.ToJSON VirtualGatewayHealthCheckPolicyProperty where+  toJSON VirtualGatewayHealthCheckPolicyProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["HealthyThreshold" JSON..= healthyThreshold,+               "IntervalMillis" JSON..= intervalMillis,+               "Protocol" JSON..= protocol, "TimeoutMillis" JSON..= timeoutMillis,+               "UnhealthyThreshold" JSON..= unhealthyThreshold]+              (Prelude.catMaybes+                 [(JSON..=) "Path" Prelude.<$> path,+                  (JSON..=) "Port" Prelude.<$> port])))+instance Property "HealthyThreshold" VirtualGatewayHealthCheckPolicyProperty where+  type PropertyType "HealthyThreshold" VirtualGatewayHealthCheckPolicyProperty = Value Prelude.Integer+  set newValue VirtualGatewayHealthCheckPolicyProperty {..}+    = VirtualGatewayHealthCheckPolicyProperty+        {healthyThreshold = newValue, ..}+instance Property "IntervalMillis" VirtualGatewayHealthCheckPolicyProperty where+  type PropertyType "IntervalMillis" VirtualGatewayHealthCheckPolicyProperty = Value Prelude.Integer+  set newValue VirtualGatewayHealthCheckPolicyProperty {..}+    = VirtualGatewayHealthCheckPolicyProperty+        {intervalMillis = newValue, ..}+instance Property "Path" VirtualGatewayHealthCheckPolicyProperty where+  type PropertyType "Path" VirtualGatewayHealthCheckPolicyProperty = Value Prelude.Text+  set newValue VirtualGatewayHealthCheckPolicyProperty {..}+    = VirtualGatewayHealthCheckPolicyProperty+        {path = Prelude.pure newValue, ..}+instance Property "Port" VirtualGatewayHealthCheckPolicyProperty where+  type PropertyType "Port" VirtualGatewayHealthCheckPolicyProperty = Value Prelude.Integer+  set newValue VirtualGatewayHealthCheckPolicyProperty {..}+    = VirtualGatewayHealthCheckPolicyProperty+        {port = Prelude.pure newValue, ..}+instance Property "Protocol" VirtualGatewayHealthCheckPolicyProperty where+  type PropertyType "Protocol" VirtualGatewayHealthCheckPolicyProperty = Value Prelude.Text+  set newValue VirtualGatewayHealthCheckPolicyProperty {..}+    = VirtualGatewayHealthCheckPolicyProperty {protocol = newValue, ..}+instance Property "TimeoutMillis" VirtualGatewayHealthCheckPolicyProperty where+  type PropertyType "TimeoutMillis" VirtualGatewayHealthCheckPolicyProperty = Value Prelude.Integer+  set newValue VirtualGatewayHealthCheckPolicyProperty {..}+    = VirtualGatewayHealthCheckPolicyProperty+        {timeoutMillis = newValue, ..}+instance Property "UnhealthyThreshold" VirtualGatewayHealthCheckPolicyProperty where+  type PropertyType "UnhealthyThreshold" VirtualGatewayHealthCheckPolicyProperty = Value Prelude.Integer+  set newValue VirtualGatewayHealthCheckPolicyProperty {..}+    = VirtualGatewayHealthCheckPolicyProperty+        {unhealthyThreshold = newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualGateway/VirtualGatewayHealthCheckPolicyProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.VirtualGateway.VirtualGatewayHealthCheckPolicyProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data VirtualGatewayHealthCheckPolicyProperty :: Prelude.Type+instance ToResourceProperties VirtualGatewayHealthCheckPolicyProperty+instance Prelude.Eq VirtualGatewayHealthCheckPolicyProperty+instance Prelude.Show VirtualGatewayHealthCheckPolicyProperty+instance JSON.ToJSON VirtualGatewayHealthCheckPolicyProperty
+ gen/Stratosphere/AppMesh/VirtualGateway/VirtualGatewayHttp2ConnectionPoolProperty.hs view
@@ -0,0 +1,34 @@+module Stratosphere.AppMesh.VirtualGateway.VirtualGatewayHttp2ConnectionPoolProperty (+        VirtualGatewayHttp2ConnectionPoolProperty(..),+        mkVirtualGatewayHttp2ConnectionPoolProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data VirtualGatewayHttp2ConnectionPoolProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayhttp2connectionpool.html>+    VirtualGatewayHttp2ConnectionPoolProperty {haddock_workaround_ :: (),+                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayhttp2connectionpool.html#cfn-appmesh-virtualgateway-virtualgatewayhttp2connectionpool-maxrequests>+                                               maxRequests :: (Value Prelude.Integer)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkVirtualGatewayHttp2ConnectionPoolProperty ::+  Value Prelude.Integer -> VirtualGatewayHttp2ConnectionPoolProperty+mkVirtualGatewayHttp2ConnectionPoolProperty maxRequests+  = VirtualGatewayHttp2ConnectionPoolProperty+      {haddock_workaround_ = (), maxRequests = maxRequests}+instance ToResourceProperties VirtualGatewayHttp2ConnectionPoolProperty where+  toResourceProperties VirtualGatewayHttp2ConnectionPoolProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualGateway.VirtualGatewayHttp2ConnectionPool",+         supportsTags = Prelude.False,+         properties = ["MaxRequests" JSON..= maxRequests]}+instance JSON.ToJSON VirtualGatewayHttp2ConnectionPoolProperty where+  toJSON VirtualGatewayHttp2ConnectionPoolProperty {..}+    = JSON.object ["MaxRequests" JSON..= maxRequests]+instance Property "MaxRequests" VirtualGatewayHttp2ConnectionPoolProperty where+  type PropertyType "MaxRequests" VirtualGatewayHttp2ConnectionPoolProperty = Value Prelude.Integer+  set newValue VirtualGatewayHttp2ConnectionPoolProperty {..}+    = VirtualGatewayHttp2ConnectionPoolProperty+        {maxRequests = newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualGateway/VirtualGatewayHttp2ConnectionPoolProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.VirtualGateway.VirtualGatewayHttp2ConnectionPoolProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data VirtualGatewayHttp2ConnectionPoolProperty :: Prelude.Type+instance ToResourceProperties VirtualGatewayHttp2ConnectionPoolProperty+instance Prelude.Eq VirtualGatewayHttp2ConnectionPoolProperty+instance Prelude.Show VirtualGatewayHttp2ConnectionPoolProperty+instance JSON.ToJSON VirtualGatewayHttp2ConnectionPoolProperty
+ gen/Stratosphere/AppMesh/VirtualGateway/VirtualGatewayHttpConnectionPoolProperty.hs view
@@ -0,0 +1,51 @@+module Stratosphere.AppMesh.VirtualGateway.VirtualGatewayHttpConnectionPoolProperty (+        VirtualGatewayHttpConnectionPoolProperty(..),+        mkVirtualGatewayHttpConnectionPoolProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data VirtualGatewayHttpConnectionPoolProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayhttpconnectionpool.html>+    VirtualGatewayHttpConnectionPoolProperty {haddock_workaround_ :: (),+                                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayhttpconnectionpool.html#cfn-appmesh-virtualgateway-virtualgatewayhttpconnectionpool-maxconnections>+                                              maxConnections :: (Value Prelude.Integer),+                                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayhttpconnectionpool.html#cfn-appmesh-virtualgateway-virtualgatewayhttpconnectionpool-maxpendingrequests>+                                              maxPendingRequests :: (Prelude.Maybe (Value Prelude.Integer))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkVirtualGatewayHttpConnectionPoolProperty ::+  Value Prelude.Integer -> VirtualGatewayHttpConnectionPoolProperty+mkVirtualGatewayHttpConnectionPoolProperty maxConnections+  = VirtualGatewayHttpConnectionPoolProperty+      {haddock_workaround_ = (), maxConnections = maxConnections,+       maxPendingRequests = Prelude.Nothing}+instance ToResourceProperties VirtualGatewayHttpConnectionPoolProperty where+  toResourceProperties VirtualGatewayHttpConnectionPoolProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualGateway.VirtualGatewayHttpConnectionPool",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["MaxConnections" JSON..= maxConnections]+                           (Prelude.catMaybes+                              [(JSON..=) "MaxPendingRequests" Prelude.<$> maxPendingRequests]))}+instance JSON.ToJSON VirtualGatewayHttpConnectionPoolProperty where+  toJSON VirtualGatewayHttpConnectionPoolProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["MaxConnections" JSON..= maxConnections]+              (Prelude.catMaybes+                 [(JSON..=) "MaxPendingRequests" Prelude.<$> maxPendingRequests])))+instance Property "MaxConnections" VirtualGatewayHttpConnectionPoolProperty where+  type PropertyType "MaxConnections" VirtualGatewayHttpConnectionPoolProperty = Value Prelude.Integer+  set newValue VirtualGatewayHttpConnectionPoolProperty {..}+    = VirtualGatewayHttpConnectionPoolProperty+        {maxConnections = newValue, ..}+instance Property "MaxPendingRequests" VirtualGatewayHttpConnectionPoolProperty where+  type PropertyType "MaxPendingRequests" VirtualGatewayHttpConnectionPoolProperty = Value Prelude.Integer+  set newValue VirtualGatewayHttpConnectionPoolProperty {..}+    = VirtualGatewayHttpConnectionPoolProperty+        {maxPendingRequests = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualGateway/VirtualGatewayHttpConnectionPoolProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.VirtualGateway.VirtualGatewayHttpConnectionPoolProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data VirtualGatewayHttpConnectionPoolProperty :: Prelude.Type+instance ToResourceProperties VirtualGatewayHttpConnectionPoolProperty+instance Prelude.Eq VirtualGatewayHttpConnectionPoolProperty+instance Prelude.Show VirtualGatewayHttpConnectionPoolProperty+instance JSON.ToJSON VirtualGatewayHttpConnectionPoolProperty
+ gen/Stratosphere/AppMesh/VirtualGateway/VirtualGatewayListenerProperty.hs view
@@ -0,0 +1,71 @@+module Stratosphere.AppMesh.VirtualGateway.VirtualGatewayListenerProperty (+        module Exports, VirtualGatewayListenerProperty(..),+        mkVirtualGatewayListenerProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualGateway.VirtualGatewayConnectionPoolProperty as Exports+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualGateway.VirtualGatewayHealthCheckPolicyProperty as Exports+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualGateway.VirtualGatewayListenerTlsProperty as Exports+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualGateway.VirtualGatewayPortMappingProperty as Exports+import Stratosphere.ResourceProperties+data VirtualGatewayListenerProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistener.html>+    VirtualGatewayListenerProperty {haddock_workaround_ :: (),+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistener.html#cfn-appmesh-virtualgateway-virtualgatewaylistener-connectionpool>+                                    connectionPool :: (Prelude.Maybe VirtualGatewayConnectionPoolProperty),+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistener.html#cfn-appmesh-virtualgateway-virtualgatewaylistener-healthcheck>+                                    healthCheck :: (Prelude.Maybe VirtualGatewayHealthCheckPolicyProperty),+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistener.html#cfn-appmesh-virtualgateway-virtualgatewaylistener-portmapping>+                                    portMapping :: VirtualGatewayPortMappingProperty,+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistener.html#cfn-appmesh-virtualgateway-virtualgatewaylistener-tls>+                                    tLS :: (Prelude.Maybe VirtualGatewayListenerTlsProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkVirtualGatewayListenerProperty ::+  VirtualGatewayPortMappingProperty -> VirtualGatewayListenerProperty+mkVirtualGatewayListenerProperty portMapping+  = VirtualGatewayListenerProperty+      {haddock_workaround_ = (), portMapping = portMapping,+       connectionPool = Prelude.Nothing, healthCheck = Prelude.Nothing,+       tLS = Prelude.Nothing}+instance ToResourceProperties VirtualGatewayListenerProperty where+  toResourceProperties VirtualGatewayListenerProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualGateway.VirtualGatewayListener",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["PortMapping" JSON..= portMapping]+                           (Prelude.catMaybes+                              [(JSON..=) "ConnectionPool" Prelude.<$> connectionPool,+                               (JSON..=) "HealthCheck" Prelude.<$> healthCheck,+                               (JSON..=) "TLS" Prelude.<$> tLS]))}+instance JSON.ToJSON VirtualGatewayListenerProperty where+  toJSON VirtualGatewayListenerProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["PortMapping" JSON..= portMapping]+              (Prelude.catMaybes+                 [(JSON..=) "ConnectionPool" Prelude.<$> connectionPool,+                  (JSON..=) "HealthCheck" Prelude.<$> healthCheck,+                  (JSON..=) "TLS" Prelude.<$> tLS])))+instance Property "ConnectionPool" VirtualGatewayListenerProperty where+  type PropertyType "ConnectionPool" VirtualGatewayListenerProperty = VirtualGatewayConnectionPoolProperty+  set newValue VirtualGatewayListenerProperty {..}+    = VirtualGatewayListenerProperty+        {connectionPool = Prelude.pure newValue, ..}+instance Property "HealthCheck" VirtualGatewayListenerProperty where+  type PropertyType "HealthCheck" VirtualGatewayListenerProperty = VirtualGatewayHealthCheckPolicyProperty+  set newValue VirtualGatewayListenerProperty {..}+    = VirtualGatewayListenerProperty+        {healthCheck = Prelude.pure newValue, ..}+instance Property "PortMapping" VirtualGatewayListenerProperty where+  type PropertyType "PortMapping" VirtualGatewayListenerProperty = VirtualGatewayPortMappingProperty+  set newValue VirtualGatewayListenerProperty {..}+    = VirtualGatewayListenerProperty {portMapping = newValue, ..}+instance Property "TLS" VirtualGatewayListenerProperty where+  type PropertyType "TLS" VirtualGatewayListenerProperty = VirtualGatewayListenerTlsProperty+  set newValue VirtualGatewayListenerProperty {..}+    = VirtualGatewayListenerProperty {tLS = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualGateway/VirtualGatewayListenerProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.VirtualGateway.VirtualGatewayListenerProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data VirtualGatewayListenerProperty :: Prelude.Type+instance ToResourceProperties VirtualGatewayListenerProperty+instance Prelude.Eq VirtualGatewayListenerProperty+instance Prelude.Show VirtualGatewayListenerProperty+instance JSON.ToJSON VirtualGatewayListenerProperty
+ gen/Stratosphere/AppMesh/VirtualGateway/VirtualGatewayListenerTlsAcmCertificateProperty.hs view
@@ -0,0 +1,36 @@+module Stratosphere.AppMesh.VirtualGateway.VirtualGatewayListenerTlsAcmCertificateProperty (+        VirtualGatewayListenerTlsAcmCertificateProperty(..),+        mkVirtualGatewayListenerTlsAcmCertificateProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data VirtualGatewayListenerTlsAcmCertificateProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistenertlsacmcertificate.html>+    VirtualGatewayListenerTlsAcmCertificateProperty {haddock_workaround_ :: (),+                                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistenertlsacmcertificate.html#cfn-appmesh-virtualgateway-virtualgatewaylistenertlsacmcertificate-certificatearn>+                                                     certificateArn :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkVirtualGatewayListenerTlsAcmCertificateProperty ::+  Value Prelude.Text+  -> VirtualGatewayListenerTlsAcmCertificateProperty+mkVirtualGatewayListenerTlsAcmCertificateProperty certificateArn+  = VirtualGatewayListenerTlsAcmCertificateProperty+      {haddock_workaround_ = (), certificateArn = certificateArn}+instance ToResourceProperties VirtualGatewayListenerTlsAcmCertificateProperty where+  toResourceProperties+    VirtualGatewayListenerTlsAcmCertificateProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsAcmCertificate",+         supportsTags = Prelude.False,+         properties = ["CertificateArn" JSON..= certificateArn]}+instance JSON.ToJSON VirtualGatewayListenerTlsAcmCertificateProperty where+  toJSON VirtualGatewayListenerTlsAcmCertificateProperty {..}+    = JSON.object ["CertificateArn" JSON..= certificateArn]+instance Property "CertificateArn" VirtualGatewayListenerTlsAcmCertificateProperty where+  type PropertyType "CertificateArn" VirtualGatewayListenerTlsAcmCertificateProperty = Value Prelude.Text+  set newValue VirtualGatewayListenerTlsAcmCertificateProperty {..}+    = VirtualGatewayListenerTlsAcmCertificateProperty+        {certificateArn = newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualGateway/VirtualGatewayListenerTlsAcmCertificateProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.VirtualGateway.VirtualGatewayListenerTlsAcmCertificateProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data VirtualGatewayListenerTlsAcmCertificateProperty :: Prelude.Type+instance ToResourceProperties VirtualGatewayListenerTlsAcmCertificateProperty+instance Prelude.Eq VirtualGatewayListenerTlsAcmCertificateProperty+instance Prelude.Show VirtualGatewayListenerTlsAcmCertificateProperty+instance JSON.ToJSON VirtualGatewayListenerTlsAcmCertificateProperty
+ gen/Stratosphere/AppMesh/VirtualGateway/VirtualGatewayListenerTlsCertificateProperty.hs view
@@ -0,0 +1,61 @@+module Stratosphere.AppMesh.VirtualGateway.VirtualGatewayListenerTlsCertificateProperty (+        module Exports, VirtualGatewayListenerTlsCertificateProperty(..),+        mkVirtualGatewayListenerTlsCertificateProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualGateway.VirtualGatewayListenerTlsAcmCertificateProperty as Exports+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualGateway.VirtualGatewayListenerTlsFileCertificateProperty as Exports+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualGateway.VirtualGatewayListenerTlsSdsCertificateProperty as Exports+import Stratosphere.ResourceProperties+data VirtualGatewayListenerTlsCertificateProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistenertlscertificate.html>+    VirtualGatewayListenerTlsCertificateProperty {haddock_workaround_ :: (),+                                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistenertlscertificate.html#cfn-appmesh-virtualgateway-virtualgatewaylistenertlscertificate-acm>+                                                  aCM :: (Prelude.Maybe VirtualGatewayListenerTlsAcmCertificateProperty),+                                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistenertlscertificate.html#cfn-appmesh-virtualgateway-virtualgatewaylistenertlscertificate-file>+                                                  file :: (Prelude.Maybe VirtualGatewayListenerTlsFileCertificateProperty),+                                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistenertlscertificate.html#cfn-appmesh-virtualgateway-virtualgatewaylistenertlscertificate-sds>+                                                  sDS :: (Prelude.Maybe VirtualGatewayListenerTlsSdsCertificateProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkVirtualGatewayListenerTlsCertificateProperty ::+  VirtualGatewayListenerTlsCertificateProperty+mkVirtualGatewayListenerTlsCertificateProperty+  = VirtualGatewayListenerTlsCertificateProperty+      {haddock_workaround_ = (), aCM = Prelude.Nothing,+       file = Prelude.Nothing, sDS = Prelude.Nothing}+instance ToResourceProperties VirtualGatewayListenerTlsCertificateProperty where+  toResourceProperties+    VirtualGatewayListenerTlsCertificateProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsCertificate",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "ACM" Prelude.<$> aCM,+                            (JSON..=) "File" Prelude.<$> file,+                            (JSON..=) "SDS" Prelude.<$> sDS])}+instance JSON.ToJSON VirtualGatewayListenerTlsCertificateProperty where+  toJSON VirtualGatewayListenerTlsCertificateProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "ACM" Prelude.<$> aCM,+               (JSON..=) "File" Prelude.<$> file,+               (JSON..=) "SDS" Prelude.<$> sDS]))+instance Property "ACM" VirtualGatewayListenerTlsCertificateProperty where+  type PropertyType "ACM" VirtualGatewayListenerTlsCertificateProperty = VirtualGatewayListenerTlsAcmCertificateProperty+  set newValue VirtualGatewayListenerTlsCertificateProperty {..}+    = VirtualGatewayListenerTlsCertificateProperty+        {aCM = Prelude.pure newValue, ..}+instance Property "File" VirtualGatewayListenerTlsCertificateProperty where+  type PropertyType "File" VirtualGatewayListenerTlsCertificateProperty = VirtualGatewayListenerTlsFileCertificateProperty+  set newValue VirtualGatewayListenerTlsCertificateProperty {..}+    = VirtualGatewayListenerTlsCertificateProperty+        {file = Prelude.pure newValue, ..}+instance Property "SDS" VirtualGatewayListenerTlsCertificateProperty where+  type PropertyType "SDS" VirtualGatewayListenerTlsCertificateProperty = VirtualGatewayListenerTlsSdsCertificateProperty+  set newValue VirtualGatewayListenerTlsCertificateProperty {..}+    = VirtualGatewayListenerTlsCertificateProperty+        {sDS = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualGateway/VirtualGatewayListenerTlsCertificateProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.VirtualGateway.VirtualGatewayListenerTlsCertificateProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data VirtualGatewayListenerTlsCertificateProperty :: Prelude.Type+instance ToResourceProperties VirtualGatewayListenerTlsCertificateProperty+instance Prelude.Eq VirtualGatewayListenerTlsCertificateProperty+instance Prelude.Show VirtualGatewayListenerTlsCertificateProperty+instance JSON.ToJSON VirtualGatewayListenerTlsCertificateProperty
+ gen/Stratosphere/AppMesh/VirtualGateway/VirtualGatewayListenerTlsFileCertificateProperty.hs view
@@ -0,0 +1,50 @@+module Stratosphere.AppMesh.VirtualGateway.VirtualGatewayListenerTlsFileCertificateProperty (+        VirtualGatewayListenerTlsFileCertificateProperty(..),+        mkVirtualGatewayListenerTlsFileCertificateProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data VirtualGatewayListenerTlsFileCertificateProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistenertlsfilecertificate.html>+    VirtualGatewayListenerTlsFileCertificateProperty {haddock_workaround_ :: (),+                                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistenertlsfilecertificate.html#cfn-appmesh-virtualgateway-virtualgatewaylistenertlsfilecertificate-certificatechain>+                                                      certificateChain :: (Value Prelude.Text),+                                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistenertlsfilecertificate.html#cfn-appmesh-virtualgateway-virtualgatewaylistenertlsfilecertificate-privatekey>+                                                      privateKey :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkVirtualGatewayListenerTlsFileCertificateProperty ::+  Value Prelude.Text+  -> Value Prelude.Text+     -> VirtualGatewayListenerTlsFileCertificateProperty+mkVirtualGatewayListenerTlsFileCertificateProperty+  certificateChain+  privateKey+  = VirtualGatewayListenerTlsFileCertificateProperty+      {haddock_workaround_ = (), certificateChain = certificateChain,+       privateKey = privateKey}+instance ToResourceProperties VirtualGatewayListenerTlsFileCertificateProperty where+  toResourceProperties+    VirtualGatewayListenerTlsFileCertificateProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsFileCertificate",+         supportsTags = Prelude.False,+         properties = ["CertificateChain" JSON..= certificateChain,+                       "PrivateKey" JSON..= privateKey]}+instance JSON.ToJSON VirtualGatewayListenerTlsFileCertificateProperty where+  toJSON VirtualGatewayListenerTlsFileCertificateProperty {..}+    = JSON.object+        ["CertificateChain" JSON..= certificateChain,+         "PrivateKey" JSON..= privateKey]+instance Property "CertificateChain" VirtualGatewayListenerTlsFileCertificateProperty where+  type PropertyType "CertificateChain" VirtualGatewayListenerTlsFileCertificateProperty = Value Prelude.Text+  set newValue VirtualGatewayListenerTlsFileCertificateProperty {..}+    = VirtualGatewayListenerTlsFileCertificateProperty+        {certificateChain = newValue, ..}+instance Property "PrivateKey" VirtualGatewayListenerTlsFileCertificateProperty where+  type PropertyType "PrivateKey" VirtualGatewayListenerTlsFileCertificateProperty = Value Prelude.Text+  set newValue VirtualGatewayListenerTlsFileCertificateProperty {..}+    = VirtualGatewayListenerTlsFileCertificateProperty+        {privateKey = newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualGateway/VirtualGatewayListenerTlsFileCertificateProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.VirtualGateway.VirtualGatewayListenerTlsFileCertificateProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data VirtualGatewayListenerTlsFileCertificateProperty :: Prelude.Type+instance ToResourceProperties VirtualGatewayListenerTlsFileCertificateProperty+instance Prelude.Eq VirtualGatewayListenerTlsFileCertificateProperty+instance Prelude.Show VirtualGatewayListenerTlsFileCertificateProperty+instance JSON.ToJSON VirtualGatewayListenerTlsFileCertificateProperty
+ gen/Stratosphere/AppMesh/VirtualGateway/VirtualGatewayListenerTlsProperty.hs view
@@ -0,0 +1,59 @@+module Stratosphere.AppMesh.VirtualGateway.VirtualGatewayListenerTlsProperty (+        module Exports, VirtualGatewayListenerTlsProperty(..),+        mkVirtualGatewayListenerTlsProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualGateway.VirtualGatewayListenerTlsCertificateProperty as Exports+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualGateway.VirtualGatewayListenerTlsValidationContextProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data VirtualGatewayListenerTlsProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistenertls.html>+    VirtualGatewayListenerTlsProperty {haddock_workaround_ :: (),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistenertls.html#cfn-appmesh-virtualgateway-virtualgatewaylistenertls-certificate>+                                       certificate :: VirtualGatewayListenerTlsCertificateProperty,+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistenertls.html#cfn-appmesh-virtualgateway-virtualgatewaylistenertls-mode>+                                       mode :: (Value Prelude.Text),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistenertls.html#cfn-appmesh-virtualgateway-virtualgatewaylistenertls-validation>+                                       validation :: (Prelude.Maybe VirtualGatewayListenerTlsValidationContextProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkVirtualGatewayListenerTlsProperty ::+  VirtualGatewayListenerTlsCertificateProperty+  -> Value Prelude.Text -> VirtualGatewayListenerTlsProperty+mkVirtualGatewayListenerTlsProperty certificate mode+  = VirtualGatewayListenerTlsProperty+      {haddock_workaround_ = (), certificate = certificate, mode = mode,+       validation = Prelude.Nothing}+instance ToResourceProperties VirtualGatewayListenerTlsProperty where+  toResourceProperties VirtualGatewayListenerTlsProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTls",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Certificate" JSON..= certificate, "Mode" JSON..= mode]+                           (Prelude.catMaybes+                              [(JSON..=) "Validation" Prelude.<$> validation]))}+instance JSON.ToJSON VirtualGatewayListenerTlsProperty where+  toJSON VirtualGatewayListenerTlsProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Certificate" JSON..= certificate, "Mode" JSON..= mode]+              (Prelude.catMaybes+                 [(JSON..=) "Validation" Prelude.<$> validation])))+instance Property "Certificate" VirtualGatewayListenerTlsProperty where+  type PropertyType "Certificate" VirtualGatewayListenerTlsProperty = VirtualGatewayListenerTlsCertificateProperty+  set newValue VirtualGatewayListenerTlsProperty {..}+    = VirtualGatewayListenerTlsProperty {certificate = newValue, ..}+instance Property "Mode" VirtualGatewayListenerTlsProperty where+  type PropertyType "Mode" VirtualGatewayListenerTlsProperty = Value Prelude.Text+  set newValue VirtualGatewayListenerTlsProperty {..}+    = VirtualGatewayListenerTlsProperty {mode = newValue, ..}+instance Property "Validation" VirtualGatewayListenerTlsProperty where+  type PropertyType "Validation" VirtualGatewayListenerTlsProperty = VirtualGatewayListenerTlsValidationContextProperty+  set newValue VirtualGatewayListenerTlsProperty {..}+    = VirtualGatewayListenerTlsProperty+        {validation = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualGateway/VirtualGatewayListenerTlsProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.VirtualGateway.VirtualGatewayListenerTlsProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data VirtualGatewayListenerTlsProperty :: Prelude.Type+instance ToResourceProperties VirtualGatewayListenerTlsProperty+instance Prelude.Eq VirtualGatewayListenerTlsProperty+instance Prelude.Show VirtualGatewayListenerTlsProperty+instance JSON.ToJSON VirtualGatewayListenerTlsProperty
+ gen/Stratosphere/AppMesh/VirtualGateway/VirtualGatewayListenerTlsSdsCertificateProperty.hs view
@@ -0,0 +1,36 @@+module Stratosphere.AppMesh.VirtualGateway.VirtualGatewayListenerTlsSdsCertificateProperty (+        VirtualGatewayListenerTlsSdsCertificateProperty(..),+        mkVirtualGatewayListenerTlsSdsCertificateProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data VirtualGatewayListenerTlsSdsCertificateProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistenertlssdscertificate.html>+    VirtualGatewayListenerTlsSdsCertificateProperty {haddock_workaround_ :: (),+                                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistenertlssdscertificate.html#cfn-appmesh-virtualgateway-virtualgatewaylistenertlssdscertificate-secretname>+                                                     secretName :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkVirtualGatewayListenerTlsSdsCertificateProperty ::+  Value Prelude.Text+  -> VirtualGatewayListenerTlsSdsCertificateProperty+mkVirtualGatewayListenerTlsSdsCertificateProperty secretName+  = VirtualGatewayListenerTlsSdsCertificateProperty+      {haddock_workaround_ = (), secretName = secretName}+instance ToResourceProperties VirtualGatewayListenerTlsSdsCertificateProperty where+  toResourceProperties+    VirtualGatewayListenerTlsSdsCertificateProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsSdsCertificate",+         supportsTags = Prelude.False,+         properties = ["SecretName" JSON..= secretName]}+instance JSON.ToJSON VirtualGatewayListenerTlsSdsCertificateProperty where+  toJSON VirtualGatewayListenerTlsSdsCertificateProperty {..}+    = JSON.object ["SecretName" JSON..= secretName]+instance Property "SecretName" VirtualGatewayListenerTlsSdsCertificateProperty where+  type PropertyType "SecretName" VirtualGatewayListenerTlsSdsCertificateProperty = Value Prelude.Text+  set newValue VirtualGatewayListenerTlsSdsCertificateProperty {..}+    = VirtualGatewayListenerTlsSdsCertificateProperty+        {secretName = newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualGateway/VirtualGatewayListenerTlsSdsCertificateProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.VirtualGateway.VirtualGatewayListenerTlsSdsCertificateProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data VirtualGatewayListenerTlsSdsCertificateProperty :: Prelude.Type+instance ToResourceProperties VirtualGatewayListenerTlsSdsCertificateProperty+instance Prelude.Eq VirtualGatewayListenerTlsSdsCertificateProperty+instance Prelude.Show VirtualGatewayListenerTlsSdsCertificateProperty+instance JSON.ToJSON VirtualGatewayListenerTlsSdsCertificateProperty
+ gen/Stratosphere/AppMesh/VirtualGateway/VirtualGatewayListenerTlsValidationContextProperty.hs view
@@ -0,0 +1,61 @@+module Stratosphere.AppMesh.VirtualGateway.VirtualGatewayListenerTlsValidationContextProperty (+        module Exports,+        VirtualGatewayListenerTlsValidationContextProperty(..),+        mkVirtualGatewayListenerTlsValidationContextProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualGateway.SubjectAlternativeNamesProperty as Exports+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualGateway.VirtualGatewayListenerTlsValidationContextTrustProperty as Exports+import Stratosphere.ResourceProperties+data VirtualGatewayListenerTlsValidationContextProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistenertlsvalidationcontext.html>+    VirtualGatewayListenerTlsValidationContextProperty {haddock_workaround_ :: (),+                                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistenertlsvalidationcontext.html#cfn-appmesh-virtualgateway-virtualgatewaylistenertlsvalidationcontext-subjectalternativenames>+                                                        subjectAlternativeNames :: (Prelude.Maybe SubjectAlternativeNamesProperty),+                                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistenertlsvalidationcontext.html#cfn-appmesh-virtualgateway-virtualgatewaylistenertlsvalidationcontext-trust>+                                                        trust :: VirtualGatewayListenerTlsValidationContextTrustProperty}+  deriving stock (Prelude.Eq, Prelude.Show)+mkVirtualGatewayListenerTlsValidationContextProperty ::+  VirtualGatewayListenerTlsValidationContextTrustProperty+  -> VirtualGatewayListenerTlsValidationContextProperty+mkVirtualGatewayListenerTlsValidationContextProperty trust+  = VirtualGatewayListenerTlsValidationContextProperty+      {haddock_workaround_ = (), trust = trust,+       subjectAlternativeNames = Prelude.Nothing}+instance ToResourceProperties VirtualGatewayListenerTlsValidationContextProperty where+  toResourceProperties+    VirtualGatewayListenerTlsValidationContextProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsValidationContext",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Trust" JSON..= trust]+                           (Prelude.catMaybes+                              [(JSON..=) "SubjectAlternativeNames"+                                 Prelude.<$> subjectAlternativeNames]))}+instance JSON.ToJSON VirtualGatewayListenerTlsValidationContextProperty where+  toJSON VirtualGatewayListenerTlsValidationContextProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Trust" JSON..= trust]+              (Prelude.catMaybes+                 [(JSON..=) "SubjectAlternativeNames"+                    Prelude.<$> subjectAlternativeNames])))+instance Property "SubjectAlternativeNames" VirtualGatewayListenerTlsValidationContextProperty where+  type PropertyType "SubjectAlternativeNames" VirtualGatewayListenerTlsValidationContextProperty = SubjectAlternativeNamesProperty+  set+    newValue+    VirtualGatewayListenerTlsValidationContextProperty {..}+    = VirtualGatewayListenerTlsValidationContextProperty+        {subjectAlternativeNames = Prelude.pure newValue, ..}+instance Property "Trust" VirtualGatewayListenerTlsValidationContextProperty where+  type PropertyType "Trust" VirtualGatewayListenerTlsValidationContextProperty = VirtualGatewayListenerTlsValidationContextTrustProperty+  set+    newValue+    VirtualGatewayListenerTlsValidationContextProperty {..}+    = VirtualGatewayListenerTlsValidationContextProperty+        {trust = newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualGateway/VirtualGatewayListenerTlsValidationContextProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.VirtualGateway.VirtualGatewayListenerTlsValidationContextProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data VirtualGatewayListenerTlsValidationContextProperty :: Prelude.Type+instance ToResourceProperties VirtualGatewayListenerTlsValidationContextProperty+instance Prelude.Eq VirtualGatewayListenerTlsValidationContextProperty+instance Prelude.Show VirtualGatewayListenerTlsValidationContextProperty+instance JSON.ToJSON VirtualGatewayListenerTlsValidationContextProperty
+ gen/Stratosphere/AppMesh/VirtualGateway/VirtualGatewayListenerTlsValidationContextTrustProperty.hs view
@@ -0,0 +1,56 @@+module Stratosphere.AppMesh.VirtualGateway.VirtualGatewayListenerTlsValidationContextTrustProperty (+        module Exports,+        VirtualGatewayListenerTlsValidationContextTrustProperty(..),+        mkVirtualGatewayListenerTlsValidationContextTrustProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualGateway.VirtualGatewayTlsValidationContextFileTrustProperty as Exports+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualGateway.VirtualGatewayTlsValidationContextSdsTrustProperty as Exports+import Stratosphere.ResourceProperties+data VirtualGatewayListenerTlsValidationContextTrustProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistenertlsvalidationcontexttrust.html>+    VirtualGatewayListenerTlsValidationContextTrustProperty {haddock_workaround_ :: (),+                                                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistenertlsvalidationcontexttrust.html#cfn-appmesh-virtualgateway-virtualgatewaylistenertlsvalidationcontexttrust-file>+                                                             file :: (Prelude.Maybe VirtualGatewayTlsValidationContextFileTrustProperty),+                                                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistenertlsvalidationcontexttrust.html#cfn-appmesh-virtualgateway-virtualgatewaylistenertlsvalidationcontexttrust-sds>+                                                             sDS :: (Prelude.Maybe VirtualGatewayTlsValidationContextSdsTrustProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkVirtualGatewayListenerTlsValidationContextTrustProperty ::+  VirtualGatewayListenerTlsValidationContextTrustProperty+mkVirtualGatewayListenerTlsValidationContextTrustProperty+  = VirtualGatewayListenerTlsValidationContextTrustProperty+      {haddock_workaround_ = (), file = Prelude.Nothing,+       sDS = Prelude.Nothing}+instance ToResourceProperties VirtualGatewayListenerTlsValidationContextTrustProperty where+  toResourceProperties+    VirtualGatewayListenerTlsValidationContextTrustProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsValidationContextTrust",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "File" Prelude.<$> file,+                            (JSON..=) "SDS" Prelude.<$> sDS])}+instance JSON.ToJSON VirtualGatewayListenerTlsValidationContextTrustProperty where+  toJSON VirtualGatewayListenerTlsValidationContextTrustProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "File" Prelude.<$> file,+               (JSON..=) "SDS" Prelude.<$> sDS]))+instance Property "File" VirtualGatewayListenerTlsValidationContextTrustProperty where+  type PropertyType "File" VirtualGatewayListenerTlsValidationContextTrustProperty = VirtualGatewayTlsValidationContextFileTrustProperty+  set+    newValue+    VirtualGatewayListenerTlsValidationContextTrustProperty {..}+    = VirtualGatewayListenerTlsValidationContextTrustProperty+        {file = Prelude.pure newValue, ..}+instance Property "SDS" VirtualGatewayListenerTlsValidationContextTrustProperty where+  type PropertyType "SDS" VirtualGatewayListenerTlsValidationContextTrustProperty = VirtualGatewayTlsValidationContextSdsTrustProperty+  set+    newValue+    VirtualGatewayListenerTlsValidationContextTrustProperty {..}+    = VirtualGatewayListenerTlsValidationContextTrustProperty+        {sDS = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualGateway/VirtualGatewayListenerTlsValidationContextTrustProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.VirtualGateway.VirtualGatewayListenerTlsValidationContextTrustProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data VirtualGatewayListenerTlsValidationContextTrustProperty :: Prelude.Type+instance ToResourceProperties VirtualGatewayListenerTlsValidationContextTrustProperty+instance Prelude.Eq VirtualGatewayListenerTlsValidationContextTrustProperty+instance Prelude.Show VirtualGatewayListenerTlsValidationContextTrustProperty+instance JSON.ToJSON VirtualGatewayListenerTlsValidationContextTrustProperty
+ gen/Stratosphere/AppMesh/VirtualGateway/VirtualGatewayLoggingProperty.hs view
@@ -0,0 +1,36 @@+module Stratosphere.AppMesh.VirtualGateway.VirtualGatewayLoggingProperty (+        module Exports, VirtualGatewayLoggingProperty(..),+        mkVirtualGatewayLoggingProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualGateway.VirtualGatewayAccessLogProperty as Exports+import Stratosphere.ResourceProperties+data VirtualGatewayLoggingProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylogging.html>+    VirtualGatewayLoggingProperty {haddock_workaround_ :: (),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylogging.html#cfn-appmesh-virtualgateway-virtualgatewaylogging-accesslog>+                                   accessLog :: (Prelude.Maybe VirtualGatewayAccessLogProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkVirtualGatewayLoggingProperty :: VirtualGatewayLoggingProperty+mkVirtualGatewayLoggingProperty+  = VirtualGatewayLoggingProperty+      {haddock_workaround_ = (), accessLog = Prelude.Nothing}+instance ToResourceProperties VirtualGatewayLoggingProperty where+  toResourceProperties VirtualGatewayLoggingProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualGateway.VirtualGatewayLogging",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes [(JSON..=) "AccessLog" Prelude.<$> accessLog])}+instance JSON.ToJSON VirtualGatewayLoggingProperty where+  toJSON VirtualGatewayLoggingProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes [(JSON..=) "AccessLog" Prelude.<$> accessLog]))+instance Property "AccessLog" VirtualGatewayLoggingProperty where+  type PropertyType "AccessLog" VirtualGatewayLoggingProperty = VirtualGatewayAccessLogProperty+  set newValue VirtualGatewayLoggingProperty {..}+    = VirtualGatewayLoggingProperty+        {accessLog = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualGateway/VirtualGatewayLoggingProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.VirtualGateway.VirtualGatewayLoggingProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data VirtualGatewayLoggingProperty :: Prelude.Type+instance ToResourceProperties VirtualGatewayLoggingProperty+instance Prelude.Eq VirtualGatewayLoggingProperty+instance Prelude.Show VirtualGatewayLoggingProperty+instance JSON.ToJSON VirtualGatewayLoggingProperty
+ gen/Stratosphere/AppMesh/VirtualGateway/VirtualGatewayPortMappingProperty.hs view
@@ -0,0 +1,40 @@+module Stratosphere.AppMesh.VirtualGateway.VirtualGatewayPortMappingProperty (+        VirtualGatewayPortMappingProperty(..),+        mkVirtualGatewayPortMappingProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data VirtualGatewayPortMappingProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayportmapping.html>+    VirtualGatewayPortMappingProperty {haddock_workaround_ :: (),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayportmapping.html#cfn-appmesh-virtualgateway-virtualgatewayportmapping-port>+                                       port :: (Value Prelude.Integer),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayportmapping.html#cfn-appmesh-virtualgateway-virtualgatewayportmapping-protocol>+                                       protocol :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkVirtualGatewayPortMappingProperty ::+  Value Prelude.Integer+  -> Value Prelude.Text -> VirtualGatewayPortMappingProperty+mkVirtualGatewayPortMappingProperty port protocol+  = VirtualGatewayPortMappingProperty+      {haddock_workaround_ = (), port = port, protocol = protocol}+instance ToResourceProperties VirtualGatewayPortMappingProperty where+  toResourceProperties VirtualGatewayPortMappingProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualGateway.VirtualGatewayPortMapping",+         supportsTags = Prelude.False,+         properties = ["Port" JSON..= port, "Protocol" JSON..= protocol]}+instance JSON.ToJSON VirtualGatewayPortMappingProperty where+  toJSON VirtualGatewayPortMappingProperty {..}+    = JSON.object ["Port" JSON..= port, "Protocol" JSON..= protocol]+instance Property "Port" VirtualGatewayPortMappingProperty where+  type PropertyType "Port" VirtualGatewayPortMappingProperty = Value Prelude.Integer+  set newValue VirtualGatewayPortMappingProperty {..}+    = VirtualGatewayPortMappingProperty {port = newValue, ..}+instance Property "Protocol" VirtualGatewayPortMappingProperty where+  type PropertyType "Protocol" VirtualGatewayPortMappingProperty = Value Prelude.Text+  set newValue VirtualGatewayPortMappingProperty {..}+    = VirtualGatewayPortMappingProperty {protocol = newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualGateway/VirtualGatewayPortMappingProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.VirtualGateway.VirtualGatewayPortMappingProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data VirtualGatewayPortMappingProperty :: Prelude.Type+instance ToResourceProperties VirtualGatewayPortMappingProperty+instance Prelude.Eq VirtualGatewayPortMappingProperty+instance Prelude.Show VirtualGatewayPortMappingProperty+instance JSON.ToJSON VirtualGatewayPortMappingProperty
+ gen/Stratosphere/AppMesh/VirtualGateway/VirtualGatewaySpecProperty.hs view
@@ -0,0 +1,60 @@+module Stratosphere.AppMesh.VirtualGateway.VirtualGatewaySpecProperty (+        module Exports, VirtualGatewaySpecProperty(..),+        mkVirtualGatewaySpecProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualGateway.VirtualGatewayBackendDefaultsProperty as Exports+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualGateway.VirtualGatewayListenerProperty as Exports+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualGateway.VirtualGatewayLoggingProperty as Exports+import Stratosphere.ResourceProperties+data VirtualGatewaySpecProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayspec.html>+    VirtualGatewaySpecProperty {haddock_workaround_ :: (),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayspec.html#cfn-appmesh-virtualgateway-virtualgatewayspec-backenddefaults>+                                backendDefaults :: (Prelude.Maybe VirtualGatewayBackendDefaultsProperty),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayspec.html#cfn-appmesh-virtualgateway-virtualgatewayspec-listeners>+                                listeners :: [VirtualGatewayListenerProperty],+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayspec.html#cfn-appmesh-virtualgateway-virtualgatewayspec-logging>+                                logging :: (Prelude.Maybe VirtualGatewayLoggingProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkVirtualGatewaySpecProperty ::+  [VirtualGatewayListenerProperty] -> VirtualGatewaySpecProperty+mkVirtualGatewaySpecProperty listeners+  = VirtualGatewaySpecProperty+      {haddock_workaround_ = (), listeners = listeners,+       backendDefaults = Prelude.Nothing, logging = Prelude.Nothing}+instance ToResourceProperties VirtualGatewaySpecProperty where+  toResourceProperties VirtualGatewaySpecProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualGateway.VirtualGatewaySpec",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Listeners" JSON..= listeners]+                           (Prelude.catMaybes+                              [(JSON..=) "BackendDefaults" Prelude.<$> backendDefaults,+                               (JSON..=) "Logging" Prelude.<$> logging]))}+instance JSON.ToJSON VirtualGatewaySpecProperty where+  toJSON VirtualGatewaySpecProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Listeners" JSON..= listeners]+              (Prelude.catMaybes+                 [(JSON..=) "BackendDefaults" Prelude.<$> backendDefaults,+                  (JSON..=) "Logging" Prelude.<$> logging])))+instance Property "BackendDefaults" VirtualGatewaySpecProperty where+  type PropertyType "BackendDefaults" VirtualGatewaySpecProperty = VirtualGatewayBackendDefaultsProperty+  set newValue VirtualGatewaySpecProperty {..}+    = VirtualGatewaySpecProperty+        {backendDefaults = Prelude.pure newValue, ..}+instance Property "Listeners" VirtualGatewaySpecProperty where+  type PropertyType "Listeners" VirtualGatewaySpecProperty = [VirtualGatewayListenerProperty]+  set newValue VirtualGatewaySpecProperty {..}+    = VirtualGatewaySpecProperty {listeners = newValue, ..}+instance Property "Logging" VirtualGatewaySpecProperty where+  type PropertyType "Logging" VirtualGatewaySpecProperty = VirtualGatewayLoggingProperty+  set newValue VirtualGatewaySpecProperty {..}+    = VirtualGatewaySpecProperty {logging = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualGateway/VirtualGatewaySpecProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.VirtualGateway.VirtualGatewaySpecProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data VirtualGatewaySpecProperty :: Prelude.Type+instance ToResourceProperties VirtualGatewaySpecProperty+instance Prelude.Eq VirtualGatewaySpecProperty+instance Prelude.Show VirtualGatewaySpecProperty+instance JSON.ToJSON VirtualGatewaySpecProperty
+ gen/Stratosphere/AppMesh/VirtualGateway/VirtualGatewayTlsValidationContextAcmTrustProperty.hs view
@@ -0,0 +1,42 @@+module Stratosphere.AppMesh.VirtualGateway.VirtualGatewayTlsValidationContextAcmTrustProperty (+        VirtualGatewayTlsValidationContextAcmTrustProperty(..),+        mkVirtualGatewayTlsValidationContextAcmTrustProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data VirtualGatewayTlsValidationContextAcmTrustProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaytlsvalidationcontextacmtrust.html>+    VirtualGatewayTlsValidationContextAcmTrustProperty {haddock_workaround_ :: (),+                                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaytlsvalidationcontextacmtrust.html#cfn-appmesh-virtualgateway-virtualgatewaytlsvalidationcontextacmtrust-certificateauthorityarns>+                                                        certificateAuthorityArns :: (ValueList Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkVirtualGatewayTlsValidationContextAcmTrustProperty ::+  ValueList Prelude.Text+  -> VirtualGatewayTlsValidationContextAcmTrustProperty+mkVirtualGatewayTlsValidationContextAcmTrustProperty+  certificateAuthorityArns+  = VirtualGatewayTlsValidationContextAcmTrustProperty+      {haddock_workaround_ = (),+       certificateAuthorityArns = certificateAuthorityArns}+instance ToResourceProperties VirtualGatewayTlsValidationContextAcmTrustProperty where+  toResourceProperties+    VirtualGatewayTlsValidationContextAcmTrustProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextAcmTrust",+         supportsTags = Prelude.False,+         properties = ["CertificateAuthorityArns"+                         JSON..= certificateAuthorityArns]}+instance JSON.ToJSON VirtualGatewayTlsValidationContextAcmTrustProperty where+  toJSON VirtualGatewayTlsValidationContextAcmTrustProperty {..}+    = JSON.object+        ["CertificateAuthorityArns" JSON..= certificateAuthorityArns]+instance Property "CertificateAuthorityArns" VirtualGatewayTlsValidationContextAcmTrustProperty where+  type PropertyType "CertificateAuthorityArns" VirtualGatewayTlsValidationContextAcmTrustProperty = ValueList Prelude.Text+  set+    newValue+    VirtualGatewayTlsValidationContextAcmTrustProperty {..}+    = VirtualGatewayTlsValidationContextAcmTrustProperty+        {certificateAuthorityArns = newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualGateway/VirtualGatewayTlsValidationContextAcmTrustProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.VirtualGateway.VirtualGatewayTlsValidationContextAcmTrustProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data VirtualGatewayTlsValidationContextAcmTrustProperty :: Prelude.Type+instance ToResourceProperties VirtualGatewayTlsValidationContextAcmTrustProperty+instance Prelude.Eq VirtualGatewayTlsValidationContextAcmTrustProperty+instance Prelude.Show VirtualGatewayTlsValidationContextAcmTrustProperty+instance JSON.ToJSON VirtualGatewayTlsValidationContextAcmTrustProperty
+ gen/Stratosphere/AppMesh/VirtualGateway/VirtualGatewayTlsValidationContextFileTrustProperty.hs view
@@ -0,0 +1,39 @@+module Stratosphere.AppMesh.VirtualGateway.VirtualGatewayTlsValidationContextFileTrustProperty (+        VirtualGatewayTlsValidationContextFileTrustProperty(..),+        mkVirtualGatewayTlsValidationContextFileTrustProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data VirtualGatewayTlsValidationContextFileTrustProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaytlsvalidationcontextfiletrust.html>+    VirtualGatewayTlsValidationContextFileTrustProperty {haddock_workaround_ :: (),+                                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaytlsvalidationcontextfiletrust.html#cfn-appmesh-virtualgateway-virtualgatewaytlsvalidationcontextfiletrust-certificatechain>+                                                         certificateChain :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkVirtualGatewayTlsValidationContextFileTrustProperty ::+  Value Prelude.Text+  -> VirtualGatewayTlsValidationContextFileTrustProperty+mkVirtualGatewayTlsValidationContextFileTrustProperty+  certificateChain+  = VirtualGatewayTlsValidationContextFileTrustProperty+      {haddock_workaround_ = (), certificateChain = certificateChain}+instance ToResourceProperties VirtualGatewayTlsValidationContextFileTrustProperty where+  toResourceProperties+    VirtualGatewayTlsValidationContextFileTrustProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextFileTrust",+         supportsTags = Prelude.False,+         properties = ["CertificateChain" JSON..= certificateChain]}+instance JSON.ToJSON VirtualGatewayTlsValidationContextFileTrustProperty where+  toJSON VirtualGatewayTlsValidationContextFileTrustProperty {..}+    = JSON.object ["CertificateChain" JSON..= certificateChain]+instance Property "CertificateChain" VirtualGatewayTlsValidationContextFileTrustProperty where+  type PropertyType "CertificateChain" VirtualGatewayTlsValidationContextFileTrustProperty = Value Prelude.Text+  set+    newValue+    VirtualGatewayTlsValidationContextFileTrustProperty {..}+    = VirtualGatewayTlsValidationContextFileTrustProperty+        {certificateChain = newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualGateway/VirtualGatewayTlsValidationContextFileTrustProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.VirtualGateway.VirtualGatewayTlsValidationContextFileTrustProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data VirtualGatewayTlsValidationContextFileTrustProperty :: Prelude.Type+instance ToResourceProperties VirtualGatewayTlsValidationContextFileTrustProperty+instance Prelude.Eq VirtualGatewayTlsValidationContextFileTrustProperty+instance Prelude.Show VirtualGatewayTlsValidationContextFileTrustProperty+instance JSON.ToJSON VirtualGatewayTlsValidationContextFileTrustProperty
+ gen/Stratosphere/AppMesh/VirtualGateway/VirtualGatewayTlsValidationContextProperty.hs view
@@ -0,0 +1,55 @@+module Stratosphere.AppMesh.VirtualGateway.VirtualGatewayTlsValidationContextProperty (+        module Exports, VirtualGatewayTlsValidationContextProperty(..),+        mkVirtualGatewayTlsValidationContextProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualGateway.SubjectAlternativeNamesProperty as Exports+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualGateway.VirtualGatewayTlsValidationContextTrustProperty as Exports+import Stratosphere.ResourceProperties+data VirtualGatewayTlsValidationContextProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaytlsvalidationcontext.html>+    VirtualGatewayTlsValidationContextProperty {haddock_workaround_ :: (),+                                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaytlsvalidationcontext.html#cfn-appmesh-virtualgateway-virtualgatewaytlsvalidationcontext-subjectalternativenames>+                                                subjectAlternativeNames :: (Prelude.Maybe SubjectAlternativeNamesProperty),+                                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaytlsvalidationcontext.html#cfn-appmesh-virtualgateway-virtualgatewaytlsvalidationcontext-trust>+                                                trust :: VirtualGatewayTlsValidationContextTrustProperty}+  deriving stock (Prelude.Eq, Prelude.Show)+mkVirtualGatewayTlsValidationContextProperty ::+  VirtualGatewayTlsValidationContextTrustProperty+  -> VirtualGatewayTlsValidationContextProperty+mkVirtualGatewayTlsValidationContextProperty trust+  = VirtualGatewayTlsValidationContextProperty+      {haddock_workaround_ = (), trust = trust,+       subjectAlternativeNames = Prelude.Nothing}+instance ToResourceProperties VirtualGatewayTlsValidationContextProperty where+  toResourceProperties+    VirtualGatewayTlsValidationContextProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContext",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Trust" JSON..= trust]+                           (Prelude.catMaybes+                              [(JSON..=) "SubjectAlternativeNames"+                                 Prelude.<$> subjectAlternativeNames]))}+instance JSON.ToJSON VirtualGatewayTlsValidationContextProperty where+  toJSON VirtualGatewayTlsValidationContextProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Trust" JSON..= trust]+              (Prelude.catMaybes+                 [(JSON..=) "SubjectAlternativeNames"+                    Prelude.<$> subjectAlternativeNames])))+instance Property "SubjectAlternativeNames" VirtualGatewayTlsValidationContextProperty where+  type PropertyType "SubjectAlternativeNames" VirtualGatewayTlsValidationContextProperty = SubjectAlternativeNamesProperty+  set newValue VirtualGatewayTlsValidationContextProperty {..}+    = VirtualGatewayTlsValidationContextProperty+        {subjectAlternativeNames = Prelude.pure newValue, ..}+instance Property "Trust" VirtualGatewayTlsValidationContextProperty where+  type PropertyType "Trust" VirtualGatewayTlsValidationContextProperty = VirtualGatewayTlsValidationContextTrustProperty+  set newValue VirtualGatewayTlsValidationContextProperty {..}+    = VirtualGatewayTlsValidationContextProperty {trust = newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualGateway/VirtualGatewayTlsValidationContextProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.VirtualGateway.VirtualGatewayTlsValidationContextProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data VirtualGatewayTlsValidationContextProperty :: Prelude.Type+instance ToResourceProperties VirtualGatewayTlsValidationContextProperty+instance Prelude.Eq VirtualGatewayTlsValidationContextProperty+instance Prelude.Show VirtualGatewayTlsValidationContextProperty+instance JSON.ToJSON VirtualGatewayTlsValidationContextProperty
+ gen/Stratosphere/AppMesh/VirtualGateway/VirtualGatewayTlsValidationContextSdsTrustProperty.hs view
@@ -0,0 +1,38 @@+module Stratosphere.AppMesh.VirtualGateway.VirtualGatewayTlsValidationContextSdsTrustProperty (+        VirtualGatewayTlsValidationContextSdsTrustProperty(..),+        mkVirtualGatewayTlsValidationContextSdsTrustProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data VirtualGatewayTlsValidationContextSdsTrustProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaytlsvalidationcontextsdstrust.html>+    VirtualGatewayTlsValidationContextSdsTrustProperty {haddock_workaround_ :: (),+                                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaytlsvalidationcontextsdstrust.html#cfn-appmesh-virtualgateway-virtualgatewaytlsvalidationcontextsdstrust-secretname>+                                                        secretName :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkVirtualGatewayTlsValidationContextSdsTrustProperty ::+  Value Prelude.Text+  -> VirtualGatewayTlsValidationContextSdsTrustProperty+mkVirtualGatewayTlsValidationContextSdsTrustProperty secretName+  = VirtualGatewayTlsValidationContextSdsTrustProperty+      {haddock_workaround_ = (), secretName = secretName}+instance ToResourceProperties VirtualGatewayTlsValidationContextSdsTrustProperty where+  toResourceProperties+    VirtualGatewayTlsValidationContextSdsTrustProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextSdsTrust",+         supportsTags = Prelude.False,+         properties = ["SecretName" JSON..= secretName]}+instance JSON.ToJSON VirtualGatewayTlsValidationContextSdsTrustProperty where+  toJSON VirtualGatewayTlsValidationContextSdsTrustProperty {..}+    = JSON.object ["SecretName" JSON..= secretName]+instance Property "SecretName" VirtualGatewayTlsValidationContextSdsTrustProperty where+  type PropertyType "SecretName" VirtualGatewayTlsValidationContextSdsTrustProperty = Value Prelude.Text+  set+    newValue+    VirtualGatewayTlsValidationContextSdsTrustProperty {..}+    = VirtualGatewayTlsValidationContextSdsTrustProperty+        {secretName = newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualGateway/VirtualGatewayTlsValidationContextSdsTrustProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.VirtualGateway.VirtualGatewayTlsValidationContextSdsTrustProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data VirtualGatewayTlsValidationContextSdsTrustProperty :: Prelude.Type+instance ToResourceProperties VirtualGatewayTlsValidationContextSdsTrustProperty+instance Prelude.Eq VirtualGatewayTlsValidationContextSdsTrustProperty+instance Prelude.Show VirtualGatewayTlsValidationContextSdsTrustProperty+instance JSON.ToJSON VirtualGatewayTlsValidationContextSdsTrustProperty
+ gen/Stratosphere/AppMesh/VirtualGateway/VirtualGatewayTlsValidationContextTrustProperty.hs view
@@ -0,0 +1,62 @@+module Stratosphere.AppMesh.VirtualGateway.VirtualGatewayTlsValidationContextTrustProperty (+        module Exports,+        VirtualGatewayTlsValidationContextTrustProperty(..),+        mkVirtualGatewayTlsValidationContextTrustProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualGateway.VirtualGatewayTlsValidationContextAcmTrustProperty as Exports+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualGateway.VirtualGatewayTlsValidationContextFileTrustProperty as Exports+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualGateway.VirtualGatewayTlsValidationContextSdsTrustProperty as Exports+import Stratosphere.ResourceProperties+data VirtualGatewayTlsValidationContextTrustProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaytlsvalidationcontexttrust.html>+    VirtualGatewayTlsValidationContextTrustProperty {haddock_workaround_ :: (),+                                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaytlsvalidationcontexttrust.html#cfn-appmesh-virtualgateway-virtualgatewaytlsvalidationcontexttrust-acm>+                                                     aCM :: (Prelude.Maybe VirtualGatewayTlsValidationContextAcmTrustProperty),+                                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaytlsvalidationcontexttrust.html#cfn-appmesh-virtualgateway-virtualgatewaytlsvalidationcontexttrust-file>+                                                     file :: (Prelude.Maybe VirtualGatewayTlsValidationContextFileTrustProperty),+                                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaytlsvalidationcontexttrust.html#cfn-appmesh-virtualgateway-virtualgatewaytlsvalidationcontexttrust-sds>+                                                     sDS :: (Prelude.Maybe VirtualGatewayTlsValidationContextSdsTrustProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkVirtualGatewayTlsValidationContextTrustProperty ::+  VirtualGatewayTlsValidationContextTrustProperty+mkVirtualGatewayTlsValidationContextTrustProperty+  = VirtualGatewayTlsValidationContextTrustProperty+      {haddock_workaround_ = (), aCM = Prelude.Nothing,+       file = Prelude.Nothing, sDS = Prelude.Nothing}+instance ToResourceProperties VirtualGatewayTlsValidationContextTrustProperty where+  toResourceProperties+    VirtualGatewayTlsValidationContextTrustProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextTrust",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "ACM" Prelude.<$> aCM,+                            (JSON..=) "File" Prelude.<$> file,+                            (JSON..=) "SDS" Prelude.<$> sDS])}+instance JSON.ToJSON VirtualGatewayTlsValidationContextTrustProperty where+  toJSON VirtualGatewayTlsValidationContextTrustProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "ACM" Prelude.<$> aCM,+               (JSON..=) "File" Prelude.<$> file,+               (JSON..=) "SDS" Prelude.<$> sDS]))+instance Property "ACM" VirtualGatewayTlsValidationContextTrustProperty where+  type PropertyType "ACM" VirtualGatewayTlsValidationContextTrustProperty = VirtualGatewayTlsValidationContextAcmTrustProperty+  set newValue VirtualGatewayTlsValidationContextTrustProperty {..}+    = VirtualGatewayTlsValidationContextTrustProperty+        {aCM = Prelude.pure newValue, ..}+instance Property "File" VirtualGatewayTlsValidationContextTrustProperty where+  type PropertyType "File" VirtualGatewayTlsValidationContextTrustProperty = VirtualGatewayTlsValidationContextFileTrustProperty+  set newValue VirtualGatewayTlsValidationContextTrustProperty {..}+    = VirtualGatewayTlsValidationContextTrustProperty+        {file = Prelude.pure newValue, ..}+instance Property "SDS" VirtualGatewayTlsValidationContextTrustProperty where+  type PropertyType "SDS" VirtualGatewayTlsValidationContextTrustProperty = VirtualGatewayTlsValidationContextSdsTrustProperty+  set newValue VirtualGatewayTlsValidationContextTrustProperty {..}+    = VirtualGatewayTlsValidationContextTrustProperty+        {sDS = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualGateway/VirtualGatewayTlsValidationContextTrustProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.VirtualGateway.VirtualGatewayTlsValidationContextTrustProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data VirtualGatewayTlsValidationContextTrustProperty :: Prelude.Type+instance ToResourceProperties VirtualGatewayTlsValidationContextTrustProperty+instance Prelude.Eq VirtualGatewayTlsValidationContextTrustProperty+instance Prelude.Show VirtualGatewayTlsValidationContextTrustProperty+instance JSON.ToJSON VirtualGatewayTlsValidationContextTrustProperty
+ gen/Stratosphere/AppMesh/VirtualNode.hs view
@@ -0,0 +1,72 @@+module Stratosphere.AppMesh.VirtualNode (+        module Exports, VirtualNode(..), mkVirtualNode+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualNode.VirtualNodeSpecProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Tag+import Stratosphere.Value+data VirtualNode+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualnode.html>+    VirtualNode {haddock_workaround_ :: (),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualnode.html#cfn-appmesh-virtualnode-meshname>+                 meshName :: (Value Prelude.Text),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualnode.html#cfn-appmesh-virtualnode-meshowner>+                 meshOwner :: (Prelude.Maybe (Value Prelude.Text)),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualnode.html#cfn-appmesh-virtualnode-spec>+                 spec :: VirtualNodeSpecProperty,+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualnode.html#cfn-appmesh-virtualnode-tags>+                 tags :: (Prelude.Maybe [Tag]),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualnode.html#cfn-appmesh-virtualnode-virtualnodename>+                 virtualNodeName :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkVirtualNode ::+  Value Prelude.Text -> VirtualNodeSpecProperty -> VirtualNode+mkVirtualNode meshName spec+  = VirtualNode+      {haddock_workaround_ = (), meshName = meshName, spec = spec,+       meshOwner = Prelude.Nothing, tags = Prelude.Nothing,+       virtualNodeName = Prelude.Nothing}+instance ToResourceProperties VirtualNode where+  toResourceProperties VirtualNode {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualNode",+         supportsTags = Prelude.True,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["MeshName" JSON..= meshName, "Spec" JSON..= spec]+                           (Prelude.catMaybes+                              [(JSON..=) "MeshOwner" Prelude.<$> meshOwner,+                               (JSON..=) "Tags" Prelude.<$> tags,+                               (JSON..=) "VirtualNodeName" Prelude.<$> virtualNodeName]))}+instance JSON.ToJSON VirtualNode where+  toJSON VirtualNode {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["MeshName" JSON..= meshName, "Spec" JSON..= spec]+              (Prelude.catMaybes+                 [(JSON..=) "MeshOwner" Prelude.<$> meshOwner,+                  (JSON..=) "Tags" Prelude.<$> tags,+                  (JSON..=) "VirtualNodeName" Prelude.<$> virtualNodeName])))+instance Property "MeshName" VirtualNode where+  type PropertyType "MeshName" VirtualNode = Value Prelude.Text+  set newValue VirtualNode {..}+    = VirtualNode {meshName = newValue, ..}+instance Property "MeshOwner" VirtualNode where+  type PropertyType "MeshOwner" VirtualNode = Value Prelude.Text+  set newValue VirtualNode {..}+    = VirtualNode {meshOwner = Prelude.pure newValue, ..}+instance Property "Spec" VirtualNode where+  type PropertyType "Spec" VirtualNode = VirtualNodeSpecProperty+  set newValue VirtualNode {..} = VirtualNode {spec = newValue, ..}+instance Property "Tags" VirtualNode where+  type PropertyType "Tags" VirtualNode = [Tag]+  set newValue VirtualNode {..}+    = VirtualNode {tags = Prelude.pure newValue, ..}+instance Property "VirtualNodeName" VirtualNode where+  type PropertyType "VirtualNodeName" VirtualNode = Value Prelude.Text+  set newValue VirtualNode {..}+    = VirtualNode {virtualNodeName = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualNode/AccessLogProperty.hs view
@@ -0,0 +1,34 @@+module Stratosphere.AppMesh.VirtualNode.AccessLogProperty (+        module Exports, AccessLogProperty(..), mkAccessLogProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualNode.FileAccessLogProperty as Exports+import Stratosphere.ResourceProperties+data AccessLogProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-accesslog.html>+    AccessLogProperty {haddock_workaround_ :: (),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-accesslog.html#cfn-appmesh-virtualnode-accesslog-file>+                       file :: (Prelude.Maybe FileAccessLogProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkAccessLogProperty :: AccessLogProperty+mkAccessLogProperty+  = AccessLogProperty+      {haddock_workaround_ = (), file = Prelude.Nothing}+instance ToResourceProperties AccessLogProperty where+  toResourceProperties AccessLogProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualNode.AccessLog",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes [(JSON..=) "File" Prelude.<$> file])}+instance JSON.ToJSON AccessLogProperty where+  toJSON AccessLogProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes [(JSON..=) "File" Prelude.<$> file]))+instance Property "File" AccessLogProperty where+  type PropertyType "File" AccessLogProperty = FileAccessLogProperty+  set newValue AccessLogProperty {..}+    = AccessLogProperty {file = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualNode/AccessLogProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.VirtualNode.AccessLogProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data AccessLogProperty :: Prelude.Type+instance ToResourceProperties AccessLogProperty+instance Prelude.Eq AccessLogProperty+instance Prelude.Show AccessLogProperty+instance JSON.ToJSON AccessLogProperty
+ gen/Stratosphere/AppMesh/VirtualNode/AwsCloudMapInstanceAttributeProperty.hs view
@@ -0,0 +1,40 @@+module Stratosphere.AppMesh.VirtualNode.AwsCloudMapInstanceAttributeProperty (+        AwsCloudMapInstanceAttributeProperty(..),+        mkAwsCloudMapInstanceAttributeProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data AwsCloudMapInstanceAttributeProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-awscloudmapinstanceattribute.html>+    AwsCloudMapInstanceAttributeProperty {haddock_workaround_ :: (),+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-awscloudmapinstanceattribute.html#cfn-appmesh-virtualnode-awscloudmapinstanceattribute-key>+                                          key :: (Value Prelude.Text),+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-awscloudmapinstanceattribute.html#cfn-appmesh-virtualnode-awscloudmapinstanceattribute-value>+                                          value :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkAwsCloudMapInstanceAttributeProperty ::+  Value Prelude.Text+  -> Value Prelude.Text -> AwsCloudMapInstanceAttributeProperty+mkAwsCloudMapInstanceAttributeProperty key value+  = AwsCloudMapInstanceAttributeProperty+      {haddock_workaround_ = (), key = key, value = value}+instance ToResourceProperties AwsCloudMapInstanceAttributeProperty where+  toResourceProperties AwsCloudMapInstanceAttributeProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualNode.AwsCloudMapInstanceAttribute",+         supportsTags = Prelude.False,+         properties = ["Key" JSON..= key, "Value" JSON..= value]}+instance JSON.ToJSON AwsCloudMapInstanceAttributeProperty where+  toJSON AwsCloudMapInstanceAttributeProperty {..}+    = JSON.object ["Key" JSON..= key, "Value" JSON..= value]+instance Property "Key" AwsCloudMapInstanceAttributeProperty where+  type PropertyType "Key" AwsCloudMapInstanceAttributeProperty = Value Prelude.Text+  set newValue AwsCloudMapInstanceAttributeProperty {..}+    = AwsCloudMapInstanceAttributeProperty {key = newValue, ..}+instance Property "Value" AwsCloudMapInstanceAttributeProperty where+  type PropertyType "Value" AwsCloudMapInstanceAttributeProperty = Value Prelude.Text+  set newValue AwsCloudMapInstanceAttributeProperty {..}+    = AwsCloudMapInstanceAttributeProperty {value = newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualNode/AwsCloudMapInstanceAttributeProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.VirtualNode.AwsCloudMapInstanceAttributeProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data AwsCloudMapInstanceAttributeProperty :: Prelude.Type+instance ToResourceProperties AwsCloudMapInstanceAttributeProperty+instance Prelude.Eq AwsCloudMapInstanceAttributeProperty+instance Prelude.Show AwsCloudMapInstanceAttributeProperty+instance JSON.ToJSON AwsCloudMapInstanceAttributeProperty
+ gen/Stratosphere/AppMesh/VirtualNode/AwsCloudMapServiceDiscoveryProperty.hs view
@@ -0,0 +1,71 @@+module Stratosphere.AppMesh.VirtualNode.AwsCloudMapServiceDiscoveryProperty (+        module Exports, AwsCloudMapServiceDiscoveryProperty(..),+        mkAwsCloudMapServiceDiscoveryProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualNode.AwsCloudMapInstanceAttributeProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data AwsCloudMapServiceDiscoveryProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-awscloudmapservicediscovery.html>+    AwsCloudMapServiceDiscoveryProperty {haddock_workaround_ :: (),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-awscloudmapservicediscovery.html#cfn-appmesh-virtualnode-awscloudmapservicediscovery-attributes>+                                         attributes :: (Prelude.Maybe [AwsCloudMapInstanceAttributeProperty]),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-awscloudmapservicediscovery.html#cfn-appmesh-virtualnode-awscloudmapservicediscovery-ippreference>+                                         ipPreference :: (Prelude.Maybe (Value Prelude.Text)),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-awscloudmapservicediscovery.html#cfn-appmesh-virtualnode-awscloudmapservicediscovery-namespacename>+                                         namespaceName :: (Value Prelude.Text),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-awscloudmapservicediscovery.html#cfn-appmesh-virtualnode-awscloudmapservicediscovery-servicename>+                                         serviceName :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkAwsCloudMapServiceDiscoveryProperty ::+  Value Prelude.Text+  -> Value Prelude.Text -> AwsCloudMapServiceDiscoveryProperty+mkAwsCloudMapServiceDiscoveryProperty namespaceName serviceName+  = AwsCloudMapServiceDiscoveryProperty+      {haddock_workaround_ = (), namespaceName = namespaceName,+       serviceName = serviceName, attributes = Prelude.Nothing,+       ipPreference = Prelude.Nothing}+instance ToResourceProperties AwsCloudMapServiceDiscoveryProperty where+  toResourceProperties AwsCloudMapServiceDiscoveryProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualNode.AwsCloudMapServiceDiscovery",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["NamespaceName" JSON..= namespaceName,+                            "ServiceName" JSON..= serviceName]+                           (Prelude.catMaybes+                              [(JSON..=) "Attributes" Prelude.<$> attributes,+                               (JSON..=) "IpPreference" Prelude.<$> ipPreference]))}+instance JSON.ToJSON AwsCloudMapServiceDiscoveryProperty where+  toJSON AwsCloudMapServiceDiscoveryProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["NamespaceName" JSON..= namespaceName,+               "ServiceName" JSON..= serviceName]+              (Prelude.catMaybes+                 [(JSON..=) "Attributes" Prelude.<$> attributes,+                  (JSON..=) "IpPreference" Prelude.<$> ipPreference])))+instance Property "Attributes" AwsCloudMapServiceDiscoveryProperty where+  type PropertyType "Attributes" AwsCloudMapServiceDiscoveryProperty = [AwsCloudMapInstanceAttributeProperty]+  set newValue AwsCloudMapServiceDiscoveryProperty {..}+    = AwsCloudMapServiceDiscoveryProperty+        {attributes = Prelude.pure newValue, ..}+instance Property "IpPreference" AwsCloudMapServiceDiscoveryProperty where+  type PropertyType "IpPreference" AwsCloudMapServiceDiscoveryProperty = Value Prelude.Text+  set newValue AwsCloudMapServiceDiscoveryProperty {..}+    = AwsCloudMapServiceDiscoveryProperty+        {ipPreference = Prelude.pure newValue, ..}+instance Property "NamespaceName" AwsCloudMapServiceDiscoveryProperty where+  type PropertyType "NamespaceName" AwsCloudMapServiceDiscoveryProperty = Value Prelude.Text+  set newValue AwsCloudMapServiceDiscoveryProperty {..}+    = AwsCloudMapServiceDiscoveryProperty+        {namespaceName = newValue, ..}+instance Property "ServiceName" AwsCloudMapServiceDiscoveryProperty where+  type PropertyType "ServiceName" AwsCloudMapServiceDiscoveryProperty = Value Prelude.Text+  set newValue AwsCloudMapServiceDiscoveryProperty {..}+    = AwsCloudMapServiceDiscoveryProperty {serviceName = newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualNode/AwsCloudMapServiceDiscoveryProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.VirtualNode.AwsCloudMapServiceDiscoveryProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data AwsCloudMapServiceDiscoveryProperty :: Prelude.Type+instance ToResourceProperties AwsCloudMapServiceDiscoveryProperty+instance Prelude.Eq AwsCloudMapServiceDiscoveryProperty+instance Prelude.Show AwsCloudMapServiceDiscoveryProperty+instance JSON.ToJSON AwsCloudMapServiceDiscoveryProperty
+ gen/Stratosphere/AppMesh/VirtualNode/BackendDefaultsProperty.hs view
@@ -0,0 +1,38 @@+module Stratosphere.AppMesh.VirtualNode.BackendDefaultsProperty (+        module Exports, BackendDefaultsProperty(..),+        mkBackendDefaultsProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualNode.ClientPolicyProperty as Exports+import Stratosphere.ResourceProperties+data BackendDefaultsProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-backenddefaults.html>+    BackendDefaultsProperty {haddock_workaround_ :: (),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-backenddefaults.html#cfn-appmesh-virtualnode-backenddefaults-clientpolicy>+                             clientPolicy :: (Prelude.Maybe ClientPolicyProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkBackendDefaultsProperty :: BackendDefaultsProperty+mkBackendDefaultsProperty+  = BackendDefaultsProperty+      {haddock_workaround_ = (), clientPolicy = Prelude.Nothing}+instance ToResourceProperties BackendDefaultsProperty where+  toResourceProperties BackendDefaultsProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualNode.BackendDefaults",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "ClientPolicy" Prelude.<$> clientPolicy])}+instance JSON.ToJSON BackendDefaultsProperty where+  toJSON BackendDefaultsProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "ClientPolicy" Prelude.<$> clientPolicy]))+instance Property "ClientPolicy" BackendDefaultsProperty where+  type PropertyType "ClientPolicy" BackendDefaultsProperty = ClientPolicyProperty+  set newValue BackendDefaultsProperty {..}+    = BackendDefaultsProperty+        {clientPolicy = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualNode/BackendDefaultsProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.VirtualNode.BackendDefaultsProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data BackendDefaultsProperty :: Prelude.Type+instance ToResourceProperties BackendDefaultsProperty+instance Prelude.Eq BackendDefaultsProperty+instance Prelude.Show BackendDefaultsProperty+instance JSON.ToJSON BackendDefaultsProperty
+ gen/Stratosphere/AppMesh/VirtualNode/BackendProperty.hs view
@@ -0,0 +1,36 @@+module Stratosphere.AppMesh.VirtualNode.BackendProperty (+        module Exports, BackendProperty(..), mkBackendProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualNode.VirtualServiceBackendProperty as Exports+import Stratosphere.ResourceProperties+data BackendProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-backend.html>+    BackendProperty {haddock_workaround_ :: (),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-backend.html#cfn-appmesh-virtualnode-backend-virtualservice>+                     virtualService :: (Prelude.Maybe VirtualServiceBackendProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkBackendProperty :: BackendProperty+mkBackendProperty+  = BackendProperty+      {haddock_workaround_ = (), virtualService = Prelude.Nothing}+instance ToResourceProperties BackendProperty where+  toResourceProperties BackendProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualNode.Backend",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "VirtualService" Prelude.<$> virtualService])}+instance JSON.ToJSON BackendProperty where+  toJSON BackendProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "VirtualService" Prelude.<$> virtualService]))+instance Property "VirtualService" BackendProperty where+  type PropertyType "VirtualService" BackendProperty = VirtualServiceBackendProperty+  set newValue BackendProperty {..}+    = BackendProperty {virtualService = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualNode/BackendProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.VirtualNode.BackendProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data BackendProperty :: Prelude.Type+instance ToResourceProperties BackendProperty+instance Prelude.Eq BackendProperty+instance Prelude.Show BackendProperty+instance JSON.ToJSON BackendProperty
+ gen/Stratosphere/AppMesh/VirtualNode/ClientPolicyProperty.hs view
@@ -0,0 +1,34 @@+module Stratosphere.AppMesh.VirtualNode.ClientPolicyProperty (+        module Exports, ClientPolicyProperty(..), mkClientPolicyProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualNode.ClientPolicyTlsProperty as Exports+import Stratosphere.ResourceProperties+data ClientPolicyProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-clientpolicy.html>+    ClientPolicyProperty {haddock_workaround_ :: (),+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-clientpolicy.html#cfn-appmesh-virtualnode-clientpolicy-tls>+                          tLS :: (Prelude.Maybe ClientPolicyTlsProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkClientPolicyProperty :: ClientPolicyProperty+mkClientPolicyProperty+  = ClientPolicyProperty+      {haddock_workaround_ = (), tLS = Prelude.Nothing}+instance ToResourceProperties ClientPolicyProperty where+  toResourceProperties ClientPolicyProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualNode.ClientPolicy",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes [(JSON..=) "TLS" Prelude.<$> tLS])}+instance JSON.ToJSON ClientPolicyProperty where+  toJSON ClientPolicyProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes [(JSON..=) "TLS" Prelude.<$> tLS]))+instance Property "TLS" ClientPolicyProperty where+  type PropertyType "TLS" ClientPolicyProperty = ClientPolicyTlsProperty+  set newValue ClientPolicyProperty {..}+    = ClientPolicyProperty {tLS = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualNode/ClientPolicyProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.VirtualNode.ClientPolicyProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ClientPolicyProperty :: Prelude.Type+instance ToResourceProperties ClientPolicyProperty+instance Prelude.Eq ClientPolicyProperty+instance Prelude.Show ClientPolicyProperty+instance JSON.ToJSON ClientPolicyProperty
+ gen/Stratosphere/AppMesh/VirtualNode/ClientPolicyTlsProperty.hs view
@@ -0,0 +1,68 @@+module Stratosphere.AppMesh.VirtualNode.ClientPolicyTlsProperty (+        module Exports, ClientPolicyTlsProperty(..),+        mkClientPolicyTlsProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualNode.ClientTlsCertificateProperty as Exports+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualNode.TlsValidationContextProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data ClientPolicyTlsProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-clientpolicytls.html>+    ClientPolicyTlsProperty {haddock_workaround_ :: (),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-clientpolicytls.html#cfn-appmesh-virtualnode-clientpolicytls-certificate>+                             certificate :: (Prelude.Maybe ClientTlsCertificateProperty),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-clientpolicytls.html#cfn-appmesh-virtualnode-clientpolicytls-enforce>+                             enforce :: (Prelude.Maybe (Value Prelude.Bool)),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-clientpolicytls.html#cfn-appmesh-virtualnode-clientpolicytls-ports>+                             ports :: (Prelude.Maybe (ValueList Prelude.Integer)),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-clientpolicytls.html#cfn-appmesh-virtualnode-clientpolicytls-validation>+                             validation :: TlsValidationContextProperty}+  deriving stock (Prelude.Eq, Prelude.Show)+mkClientPolicyTlsProperty ::+  TlsValidationContextProperty -> ClientPolicyTlsProperty+mkClientPolicyTlsProperty validation+  = ClientPolicyTlsProperty+      {haddock_workaround_ = (), validation = validation,+       certificate = Prelude.Nothing, enforce = Prelude.Nothing,+       ports = Prelude.Nothing}+instance ToResourceProperties ClientPolicyTlsProperty where+  toResourceProperties ClientPolicyTlsProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualNode.ClientPolicyTls",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Validation" JSON..= validation]+                           (Prelude.catMaybes+                              [(JSON..=) "Certificate" Prelude.<$> certificate,+                               (JSON..=) "Enforce" Prelude.<$> enforce,+                               (JSON..=) "Ports" Prelude.<$> ports]))}+instance JSON.ToJSON ClientPolicyTlsProperty where+  toJSON ClientPolicyTlsProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Validation" JSON..= validation]+              (Prelude.catMaybes+                 [(JSON..=) "Certificate" Prelude.<$> certificate,+                  (JSON..=) "Enforce" Prelude.<$> enforce,+                  (JSON..=) "Ports" Prelude.<$> ports])))+instance Property "Certificate" ClientPolicyTlsProperty where+  type PropertyType "Certificate" ClientPolicyTlsProperty = ClientTlsCertificateProperty+  set newValue ClientPolicyTlsProperty {..}+    = ClientPolicyTlsProperty {certificate = Prelude.pure newValue, ..}+instance Property "Enforce" ClientPolicyTlsProperty where+  type PropertyType "Enforce" ClientPolicyTlsProperty = Value Prelude.Bool+  set newValue ClientPolicyTlsProperty {..}+    = ClientPolicyTlsProperty {enforce = Prelude.pure newValue, ..}+instance Property "Ports" ClientPolicyTlsProperty where+  type PropertyType "Ports" ClientPolicyTlsProperty = ValueList Prelude.Integer+  set newValue ClientPolicyTlsProperty {..}+    = ClientPolicyTlsProperty {ports = Prelude.pure newValue, ..}+instance Property "Validation" ClientPolicyTlsProperty where+  type PropertyType "Validation" ClientPolicyTlsProperty = TlsValidationContextProperty+  set newValue ClientPolicyTlsProperty {..}+    = ClientPolicyTlsProperty {validation = newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualNode/ClientPolicyTlsProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.VirtualNode.ClientPolicyTlsProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ClientPolicyTlsProperty :: Prelude.Type+instance ToResourceProperties ClientPolicyTlsProperty+instance Prelude.Eq ClientPolicyTlsProperty+instance Prelude.Show ClientPolicyTlsProperty+instance JSON.ToJSON ClientPolicyTlsProperty
+ gen/Stratosphere/AppMesh/VirtualNode/ClientTlsCertificateProperty.hs view
@@ -0,0 +1,47 @@+module Stratosphere.AppMesh.VirtualNode.ClientTlsCertificateProperty (+        module Exports, ClientTlsCertificateProperty(..),+        mkClientTlsCertificateProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualNode.ListenerTlsFileCertificateProperty as Exports+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualNode.ListenerTlsSdsCertificateProperty as Exports+import Stratosphere.ResourceProperties+data ClientTlsCertificateProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-clienttlscertificate.html>+    ClientTlsCertificateProperty {haddock_workaround_ :: (),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-clienttlscertificate.html#cfn-appmesh-virtualnode-clienttlscertificate-file>+                                  file :: (Prelude.Maybe ListenerTlsFileCertificateProperty),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-clienttlscertificate.html#cfn-appmesh-virtualnode-clienttlscertificate-sds>+                                  sDS :: (Prelude.Maybe ListenerTlsSdsCertificateProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkClientTlsCertificateProperty :: ClientTlsCertificateProperty+mkClientTlsCertificateProperty+  = ClientTlsCertificateProperty+      {haddock_workaround_ = (), file = Prelude.Nothing,+       sDS = Prelude.Nothing}+instance ToResourceProperties ClientTlsCertificateProperty where+  toResourceProperties ClientTlsCertificateProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualNode.ClientTlsCertificate",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "File" Prelude.<$> file,+                            (JSON..=) "SDS" Prelude.<$> sDS])}+instance JSON.ToJSON ClientTlsCertificateProperty where+  toJSON ClientTlsCertificateProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "File" Prelude.<$> file,+               (JSON..=) "SDS" Prelude.<$> sDS]))+instance Property "File" ClientTlsCertificateProperty where+  type PropertyType "File" ClientTlsCertificateProperty = ListenerTlsFileCertificateProperty+  set newValue ClientTlsCertificateProperty {..}+    = ClientTlsCertificateProperty {file = Prelude.pure newValue, ..}+instance Property "SDS" ClientTlsCertificateProperty where+  type PropertyType "SDS" ClientTlsCertificateProperty = ListenerTlsSdsCertificateProperty+  set newValue ClientTlsCertificateProperty {..}+    = ClientTlsCertificateProperty {sDS = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualNode/ClientTlsCertificateProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.VirtualNode.ClientTlsCertificateProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ClientTlsCertificateProperty :: Prelude.Type+instance ToResourceProperties ClientTlsCertificateProperty+instance Prelude.Eq ClientTlsCertificateProperty+instance Prelude.Show ClientTlsCertificateProperty+instance JSON.ToJSON ClientTlsCertificateProperty
+ gen/Stratosphere/AppMesh/VirtualNode/DnsServiceDiscoveryProperty.hs view
@@ -0,0 +1,58 @@+module Stratosphere.AppMesh.VirtualNode.DnsServiceDiscoveryProperty (+        DnsServiceDiscoveryProperty(..), mkDnsServiceDiscoveryProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data DnsServiceDiscoveryProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-dnsservicediscovery.html>+    DnsServiceDiscoveryProperty {haddock_workaround_ :: (),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-dnsservicediscovery.html#cfn-appmesh-virtualnode-dnsservicediscovery-hostname>+                                 hostname :: (Value Prelude.Text),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-dnsservicediscovery.html#cfn-appmesh-virtualnode-dnsservicediscovery-ippreference>+                                 ipPreference :: (Prelude.Maybe (Value Prelude.Text)),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-dnsservicediscovery.html#cfn-appmesh-virtualnode-dnsservicediscovery-responsetype>+                                 responseType :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkDnsServiceDiscoveryProperty ::+  Value Prelude.Text -> DnsServiceDiscoveryProperty+mkDnsServiceDiscoveryProperty hostname+  = DnsServiceDiscoveryProperty+      {haddock_workaround_ = (), hostname = hostname,+       ipPreference = Prelude.Nothing, responseType = Prelude.Nothing}+instance ToResourceProperties DnsServiceDiscoveryProperty where+  toResourceProperties DnsServiceDiscoveryProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualNode.DnsServiceDiscovery",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Hostname" JSON..= hostname]+                           (Prelude.catMaybes+                              [(JSON..=) "IpPreference" Prelude.<$> ipPreference,+                               (JSON..=) "ResponseType" Prelude.<$> responseType]))}+instance JSON.ToJSON DnsServiceDiscoveryProperty where+  toJSON DnsServiceDiscoveryProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Hostname" JSON..= hostname]+              (Prelude.catMaybes+                 [(JSON..=) "IpPreference" Prelude.<$> ipPreference,+                  (JSON..=) "ResponseType" Prelude.<$> responseType])))+instance Property "Hostname" DnsServiceDiscoveryProperty where+  type PropertyType "Hostname" DnsServiceDiscoveryProperty = Value Prelude.Text+  set newValue DnsServiceDiscoveryProperty {..}+    = DnsServiceDiscoveryProperty {hostname = newValue, ..}+instance Property "IpPreference" DnsServiceDiscoveryProperty where+  type PropertyType "IpPreference" DnsServiceDiscoveryProperty = Value Prelude.Text+  set newValue DnsServiceDiscoveryProperty {..}+    = DnsServiceDiscoveryProperty+        {ipPreference = Prelude.pure newValue, ..}+instance Property "ResponseType" DnsServiceDiscoveryProperty where+  type PropertyType "ResponseType" DnsServiceDiscoveryProperty = Value Prelude.Text+  set newValue DnsServiceDiscoveryProperty {..}+    = DnsServiceDiscoveryProperty+        {responseType = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualNode/DnsServiceDiscoveryProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.VirtualNode.DnsServiceDiscoveryProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data DnsServiceDiscoveryProperty :: Prelude.Type+instance ToResourceProperties DnsServiceDiscoveryProperty+instance Prelude.Eq DnsServiceDiscoveryProperty+instance Prelude.Show DnsServiceDiscoveryProperty+instance JSON.ToJSON DnsServiceDiscoveryProperty
+ gen/Stratosphere/AppMesh/VirtualNode/DurationProperty.hs view
@@ -0,0 +1,38 @@+module Stratosphere.AppMesh.VirtualNode.DurationProperty (+        DurationProperty(..), mkDurationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data DurationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-duration.html>+    DurationProperty {haddock_workaround_ :: (),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-duration.html#cfn-appmesh-virtualnode-duration-unit>+                      unit :: (Value Prelude.Text),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-duration.html#cfn-appmesh-virtualnode-duration-value>+                      value :: (Value Prelude.Integer)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkDurationProperty ::+  Value Prelude.Text -> Value Prelude.Integer -> DurationProperty+mkDurationProperty unit value+  = DurationProperty+      {haddock_workaround_ = (), unit = unit, value = value}+instance ToResourceProperties DurationProperty where+  toResourceProperties DurationProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualNode.Duration",+         supportsTags = Prelude.False,+         properties = ["Unit" JSON..= unit, "Value" JSON..= value]}+instance JSON.ToJSON DurationProperty where+  toJSON DurationProperty {..}+    = JSON.object ["Unit" JSON..= unit, "Value" JSON..= value]+instance Property "Unit" DurationProperty where+  type PropertyType "Unit" DurationProperty = Value Prelude.Text+  set newValue DurationProperty {..}+    = DurationProperty {unit = newValue, ..}+instance Property "Value" DurationProperty where+  type PropertyType "Value" DurationProperty = Value Prelude.Integer+  set newValue DurationProperty {..}+    = DurationProperty {value = newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualNode/DurationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.VirtualNode.DurationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data DurationProperty :: Prelude.Type+instance ToResourceProperties DurationProperty+instance Prelude.Eq DurationProperty+instance Prelude.Show DurationProperty+instance JSON.ToJSON DurationProperty
+ gen/Stratosphere/AppMesh/VirtualNode/FileAccessLogProperty.hs view
@@ -0,0 +1,46 @@+module Stratosphere.AppMesh.VirtualNode.FileAccessLogProperty (+        module Exports, FileAccessLogProperty(..), mkFileAccessLogProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualNode.LoggingFormatProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data FileAccessLogProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-fileaccesslog.html>+    FileAccessLogProperty {haddock_workaround_ :: (),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-fileaccesslog.html#cfn-appmesh-virtualnode-fileaccesslog-format>+                           format :: (Prelude.Maybe LoggingFormatProperty),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-fileaccesslog.html#cfn-appmesh-virtualnode-fileaccesslog-path>+                           path :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkFileAccessLogProperty ::+  Value Prelude.Text -> FileAccessLogProperty+mkFileAccessLogProperty path+  = FileAccessLogProperty+      {haddock_workaround_ = (), path = path, format = Prelude.Nothing}+instance ToResourceProperties FileAccessLogProperty where+  toResourceProperties FileAccessLogProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualNode.FileAccessLog",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Path" JSON..= path]+                           (Prelude.catMaybes [(JSON..=) "Format" Prelude.<$> format]))}+instance JSON.ToJSON FileAccessLogProperty where+  toJSON FileAccessLogProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Path" JSON..= path]+              (Prelude.catMaybes [(JSON..=) "Format" Prelude.<$> format])))+instance Property "Format" FileAccessLogProperty where+  type PropertyType "Format" FileAccessLogProperty = LoggingFormatProperty+  set newValue FileAccessLogProperty {..}+    = FileAccessLogProperty {format = Prelude.pure newValue, ..}+instance Property "Path" FileAccessLogProperty where+  type PropertyType "Path" FileAccessLogProperty = Value Prelude.Text+  set newValue FileAccessLogProperty {..}+    = FileAccessLogProperty {path = newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualNode/FileAccessLogProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.VirtualNode.FileAccessLogProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data FileAccessLogProperty :: Prelude.Type+instance ToResourceProperties FileAccessLogProperty+instance Prelude.Eq FileAccessLogProperty+instance Prelude.Show FileAccessLogProperty+instance JSON.ToJSON FileAccessLogProperty
+ gen/Stratosphere/AppMesh/VirtualNode/GrpcTimeoutProperty.hs view
@@ -0,0 +1,45 @@+module Stratosphere.AppMesh.VirtualNode.GrpcTimeoutProperty (+        module Exports, GrpcTimeoutProperty(..), mkGrpcTimeoutProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualNode.DurationProperty as Exports+import Stratosphere.ResourceProperties+data GrpcTimeoutProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-grpctimeout.html>+    GrpcTimeoutProperty {haddock_workaround_ :: (),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-grpctimeout.html#cfn-appmesh-virtualnode-grpctimeout-idle>+                         idle :: (Prelude.Maybe DurationProperty),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-grpctimeout.html#cfn-appmesh-virtualnode-grpctimeout-perrequest>+                         perRequest :: (Prelude.Maybe DurationProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkGrpcTimeoutProperty :: GrpcTimeoutProperty+mkGrpcTimeoutProperty+  = GrpcTimeoutProperty+      {haddock_workaround_ = (), idle = Prelude.Nothing,+       perRequest = Prelude.Nothing}+instance ToResourceProperties GrpcTimeoutProperty where+  toResourceProperties GrpcTimeoutProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualNode.GrpcTimeout",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Idle" Prelude.<$> idle,+                            (JSON..=) "PerRequest" Prelude.<$> perRequest])}+instance JSON.ToJSON GrpcTimeoutProperty where+  toJSON GrpcTimeoutProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Idle" Prelude.<$> idle,+               (JSON..=) "PerRequest" Prelude.<$> perRequest]))+instance Property "Idle" GrpcTimeoutProperty where+  type PropertyType "Idle" GrpcTimeoutProperty = DurationProperty+  set newValue GrpcTimeoutProperty {..}+    = GrpcTimeoutProperty {idle = Prelude.pure newValue, ..}+instance Property "PerRequest" GrpcTimeoutProperty where+  type PropertyType "PerRequest" GrpcTimeoutProperty = DurationProperty+  set newValue GrpcTimeoutProperty {..}+    = GrpcTimeoutProperty {perRequest = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualNode/GrpcTimeoutProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.VirtualNode.GrpcTimeoutProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data GrpcTimeoutProperty :: Prelude.Type+instance ToResourceProperties GrpcTimeoutProperty+instance Prelude.Eq GrpcTimeoutProperty+instance Prelude.Show GrpcTimeoutProperty+instance JSON.ToJSON GrpcTimeoutProperty
+ gen/Stratosphere/AppMesh/VirtualNode/HealthCheckProperty.hs view
@@ -0,0 +1,98 @@+module Stratosphere.AppMesh.VirtualNode.HealthCheckProperty (+        HealthCheckProperty(..), mkHealthCheckProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data HealthCheckProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-healthcheck.html>+    HealthCheckProperty {haddock_workaround_ :: (),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-healthcheck.html#cfn-appmesh-virtualnode-healthcheck-healthythreshold>+                         healthyThreshold :: (Value Prelude.Integer),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-healthcheck.html#cfn-appmesh-virtualnode-healthcheck-intervalmillis>+                         intervalMillis :: (Value Prelude.Integer),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-healthcheck.html#cfn-appmesh-virtualnode-healthcheck-path>+                         path :: (Prelude.Maybe (Value Prelude.Text)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-healthcheck.html#cfn-appmesh-virtualnode-healthcheck-port>+                         port :: (Prelude.Maybe (Value Prelude.Integer)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-healthcheck.html#cfn-appmesh-virtualnode-healthcheck-protocol>+                         protocol :: (Value Prelude.Text),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-healthcheck.html#cfn-appmesh-virtualnode-healthcheck-timeoutmillis>+                         timeoutMillis :: (Value Prelude.Integer),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-healthcheck.html#cfn-appmesh-virtualnode-healthcheck-unhealthythreshold>+                         unhealthyThreshold :: (Value Prelude.Integer)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkHealthCheckProperty ::+  Value Prelude.Integer+  -> Value Prelude.Integer+     -> Value Prelude.Text+        -> Value Prelude.Integer+           -> Value Prelude.Integer -> HealthCheckProperty+mkHealthCheckProperty+  healthyThreshold+  intervalMillis+  protocol+  timeoutMillis+  unhealthyThreshold+  = HealthCheckProperty+      {haddock_workaround_ = (), healthyThreshold = healthyThreshold,+       intervalMillis = intervalMillis, protocol = protocol,+       timeoutMillis = timeoutMillis,+       unhealthyThreshold = unhealthyThreshold, path = Prelude.Nothing,+       port = Prelude.Nothing}+instance ToResourceProperties HealthCheckProperty where+  toResourceProperties HealthCheckProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualNode.HealthCheck",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["HealthyThreshold" JSON..= healthyThreshold,+                            "IntervalMillis" JSON..= intervalMillis,+                            "Protocol" JSON..= protocol, "TimeoutMillis" JSON..= timeoutMillis,+                            "UnhealthyThreshold" JSON..= unhealthyThreshold]+                           (Prelude.catMaybes+                              [(JSON..=) "Path" Prelude.<$> path,+                               (JSON..=) "Port" Prelude.<$> port]))}+instance JSON.ToJSON HealthCheckProperty where+  toJSON HealthCheckProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["HealthyThreshold" JSON..= healthyThreshold,+               "IntervalMillis" JSON..= intervalMillis,+               "Protocol" JSON..= protocol, "TimeoutMillis" JSON..= timeoutMillis,+               "UnhealthyThreshold" JSON..= unhealthyThreshold]+              (Prelude.catMaybes+                 [(JSON..=) "Path" Prelude.<$> path,+                  (JSON..=) "Port" Prelude.<$> port])))+instance Property "HealthyThreshold" HealthCheckProperty where+  type PropertyType "HealthyThreshold" HealthCheckProperty = Value Prelude.Integer+  set newValue HealthCheckProperty {..}+    = HealthCheckProperty {healthyThreshold = newValue, ..}+instance Property "IntervalMillis" HealthCheckProperty where+  type PropertyType "IntervalMillis" HealthCheckProperty = Value Prelude.Integer+  set newValue HealthCheckProperty {..}+    = HealthCheckProperty {intervalMillis = newValue, ..}+instance Property "Path" HealthCheckProperty where+  type PropertyType "Path" HealthCheckProperty = Value Prelude.Text+  set newValue HealthCheckProperty {..}+    = HealthCheckProperty {path = Prelude.pure newValue, ..}+instance Property "Port" HealthCheckProperty where+  type PropertyType "Port" HealthCheckProperty = Value Prelude.Integer+  set newValue HealthCheckProperty {..}+    = HealthCheckProperty {port = Prelude.pure newValue, ..}+instance Property "Protocol" HealthCheckProperty where+  type PropertyType "Protocol" HealthCheckProperty = Value Prelude.Text+  set newValue HealthCheckProperty {..}+    = HealthCheckProperty {protocol = newValue, ..}+instance Property "TimeoutMillis" HealthCheckProperty where+  type PropertyType "TimeoutMillis" HealthCheckProperty = Value Prelude.Integer+  set newValue HealthCheckProperty {..}+    = HealthCheckProperty {timeoutMillis = newValue, ..}+instance Property "UnhealthyThreshold" HealthCheckProperty where+  type PropertyType "UnhealthyThreshold" HealthCheckProperty = Value Prelude.Integer+  set newValue HealthCheckProperty {..}+    = HealthCheckProperty {unhealthyThreshold = newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualNode/HealthCheckProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.VirtualNode.HealthCheckProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data HealthCheckProperty :: Prelude.Type+instance ToResourceProperties HealthCheckProperty+instance Prelude.Eq HealthCheckProperty+instance Prelude.Show HealthCheckProperty+instance JSON.ToJSON HealthCheckProperty
+ gen/Stratosphere/AppMesh/VirtualNode/HttpTimeoutProperty.hs view
@@ -0,0 +1,45 @@+module Stratosphere.AppMesh.VirtualNode.HttpTimeoutProperty (+        module Exports, HttpTimeoutProperty(..), mkHttpTimeoutProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualNode.DurationProperty as Exports+import Stratosphere.ResourceProperties+data HttpTimeoutProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-httptimeout.html>+    HttpTimeoutProperty {haddock_workaround_ :: (),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-httptimeout.html#cfn-appmesh-virtualnode-httptimeout-idle>+                         idle :: (Prelude.Maybe DurationProperty),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-httptimeout.html#cfn-appmesh-virtualnode-httptimeout-perrequest>+                         perRequest :: (Prelude.Maybe DurationProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkHttpTimeoutProperty :: HttpTimeoutProperty+mkHttpTimeoutProperty+  = HttpTimeoutProperty+      {haddock_workaround_ = (), idle = Prelude.Nothing,+       perRequest = Prelude.Nothing}+instance ToResourceProperties HttpTimeoutProperty where+  toResourceProperties HttpTimeoutProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualNode.HttpTimeout",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Idle" Prelude.<$> idle,+                            (JSON..=) "PerRequest" Prelude.<$> perRequest])}+instance JSON.ToJSON HttpTimeoutProperty where+  toJSON HttpTimeoutProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Idle" Prelude.<$> idle,+               (JSON..=) "PerRequest" Prelude.<$> perRequest]))+instance Property "Idle" HttpTimeoutProperty where+  type PropertyType "Idle" HttpTimeoutProperty = DurationProperty+  set newValue HttpTimeoutProperty {..}+    = HttpTimeoutProperty {idle = Prelude.pure newValue, ..}+instance Property "PerRequest" HttpTimeoutProperty where+  type PropertyType "PerRequest" HttpTimeoutProperty = DurationProperty+  set newValue HttpTimeoutProperty {..}+    = HttpTimeoutProperty {perRequest = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualNode/HttpTimeoutProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.VirtualNode.HttpTimeoutProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data HttpTimeoutProperty :: Prelude.Type+instance ToResourceProperties HttpTimeoutProperty+instance Prelude.Eq HttpTimeoutProperty+instance Prelude.Show HttpTimeoutProperty+instance JSON.ToJSON HttpTimeoutProperty
+ gen/Stratosphere/AppMesh/VirtualNode/JsonFormatRefProperty.hs view
@@ -0,0 +1,38 @@+module Stratosphere.AppMesh.VirtualNode.JsonFormatRefProperty (+        JsonFormatRefProperty(..), mkJsonFormatRefProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data JsonFormatRefProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-jsonformatref.html>+    JsonFormatRefProperty {haddock_workaround_ :: (),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-jsonformatref.html#cfn-appmesh-virtualnode-jsonformatref-key>+                           key :: (Value Prelude.Text),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-jsonformatref.html#cfn-appmesh-virtualnode-jsonformatref-value>+                           value :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkJsonFormatRefProperty ::+  Value Prelude.Text -> Value Prelude.Text -> JsonFormatRefProperty+mkJsonFormatRefProperty key value+  = JsonFormatRefProperty+      {haddock_workaround_ = (), key = key, value = value}+instance ToResourceProperties JsonFormatRefProperty where+  toResourceProperties JsonFormatRefProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualNode.JsonFormatRef",+         supportsTags = Prelude.False,+         properties = ["Key" JSON..= key, "Value" JSON..= value]}+instance JSON.ToJSON JsonFormatRefProperty where+  toJSON JsonFormatRefProperty {..}+    = JSON.object ["Key" JSON..= key, "Value" JSON..= value]+instance Property "Key" JsonFormatRefProperty where+  type PropertyType "Key" JsonFormatRefProperty = Value Prelude.Text+  set newValue JsonFormatRefProperty {..}+    = JsonFormatRefProperty {key = newValue, ..}+instance Property "Value" JsonFormatRefProperty where+  type PropertyType "Value" JsonFormatRefProperty = Value Prelude.Text+  set newValue JsonFormatRefProperty {..}+    = JsonFormatRefProperty {value = newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualNode/JsonFormatRefProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.VirtualNode.JsonFormatRefProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data JsonFormatRefProperty :: Prelude.Type+instance ToResourceProperties JsonFormatRefProperty+instance Prelude.Eq JsonFormatRefProperty+instance Prelude.Show JsonFormatRefProperty+instance JSON.ToJSON JsonFormatRefProperty
+ gen/Stratosphere/AppMesh/VirtualNode/ListenerProperty.hs view
@@ -0,0 +1,86 @@+module Stratosphere.AppMesh.VirtualNode.ListenerProperty (+        module Exports, ListenerProperty(..), mkListenerProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualNode.HealthCheckProperty as Exports+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualNode.ListenerTimeoutProperty as Exports+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualNode.ListenerTlsProperty as Exports+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualNode.OutlierDetectionProperty as Exports+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualNode.PortMappingProperty as Exports+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualNode.VirtualNodeConnectionPoolProperty as Exports+import Stratosphere.ResourceProperties+data ListenerProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listener.html>+    ListenerProperty {haddock_workaround_ :: (),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listener.html#cfn-appmesh-virtualnode-listener-connectionpool>+                      connectionPool :: (Prelude.Maybe VirtualNodeConnectionPoolProperty),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listener.html#cfn-appmesh-virtualnode-listener-healthcheck>+                      healthCheck :: (Prelude.Maybe HealthCheckProperty),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listener.html#cfn-appmesh-virtualnode-listener-outlierdetection>+                      outlierDetection :: (Prelude.Maybe OutlierDetectionProperty),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listener.html#cfn-appmesh-virtualnode-listener-portmapping>+                      portMapping :: PortMappingProperty,+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listener.html#cfn-appmesh-virtualnode-listener-tls>+                      tLS :: (Prelude.Maybe ListenerTlsProperty),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listener.html#cfn-appmesh-virtualnode-listener-timeout>+                      timeout :: (Prelude.Maybe ListenerTimeoutProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkListenerProperty :: PortMappingProperty -> ListenerProperty+mkListenerProperty portMapping+  = ListenerProperty+      {haddock_workaround_ = (), portMapping = portMapping,+       connectionPool = Prelude.Nothing, healthCheck = Prelude.Nothing,+       outlierDetection = Prelude.Nothing, tLS = Prelude.Nothing,+       timeout = Prelude.Nothing}+instance ToResourceProperties ListenerProperty where+  toResourceProperties ListenerProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualNode.Listener",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["PortMapping" JSON..= portMapping]+                           (Prelude.catMaybes+                              [(JSON..=) "ConnectionPool" Prelude.<$> connectionPool,+                               (JSON..=) "HealthCheck" Prelude.<$> healthCheck,+                               (JSON..=) "OutlierDetection" Prelude.<$> outlierDetection,+                               (JSON..=) "TLS" Prelude.<$> tLS,+                               (JSON..=) "Timeout" Prelude.<$> timeout]))}+instance JSON.ToJSON ListenerProperty where+  toJSON ListenerProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["PortMapping" JSON..= portMapping]+              (Prelude.catMaybes+                 [(JSON..=) "ConnectionPool" Prelude.<$> connectionPool,+                  (JSON..=) "HealthCheck" Prelude.<$> healthCheck,+                  (JSON..=) "OutlierDetection" Prelude.<$> outlierDetection,+                  (JSON..=) "TLS" Prelude.<$> tLS,+                  (JSON..=) "Timeout" Prelude.<$> timeout])))+instance Property "ConnectionPool" ListenerProperty where+  type PropertyType "ConnectionPool" ListenerProperty = VirtualNodeConnectionPoolProperty+  set newValue ListenerProperty {..}+    = ListenerProperty {connectionPool = Prelude.pure newValue, ..}+instance Property "HealthCheck" ListenerProperty where+  type PropertyType "HealthCheck" ListenerProperty = HealthCheckProperty+  set newValue ListenerProperty {..}+    = ListenerProperty {healthCheck = Prelude.pure newValue, ..}+instance Property "OutlierDetection" ListenerProperty where+  type PropertyType "OutlierDetection" ListenerProperty = OutlierDetectionProperty+  set newValue ListenerProperty {..}+    = ListenerProperty {outlierDetection = Prelude.pure newValue, ..}+instance Property "PortMapping" ListenerProperty where+  type PropertyType "PortMapping" ListenerProperty = PortMappingProperty+  set newValue ListenerProperty {..}+    = ListenerProperty {portMapping = newValue, ..}+instance Property "TLS" ListenerProperty where+  type PropertyType "TLS" ListenerProperty = ListenerTlsProperty+  set newValue ListenerProperty {..}+    = ListenerProperty {tLS = Prelude.pure newValue, ..}+instance Property "Timeout" ListenerProperty where+  type PropertyType "Timeout" ListenerProperty = ListenerTimeoutProperty+  set newValue ListenerProperty {..}+    = ListenerProperty {timeout = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualNode/ListenerProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.VirtualNode.ListenerProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ListenerProperty :: Prelude.Type+instance ToResourceProperties ListenerProperty+instance Prelude.Eq ListenerProperty+instance Prelude.Show ListenerProperty+instance JSON.ToJSON ListenerProperty
+ gen/Stratosphere/AppMesh/VirtualNode/ListenerTimeoutProperty.hs view
@@ -0,0 +1,65 @@+module Stratosphere.AppMesh.VirtualNode.ListenerTimeoutProperty (+        module Exports, ListenerTimeoutProperty(..),+        mkListenerTimeoutProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualNode.GrpcTimeoutProperty as Exports+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualNode.HttpTimeoutProperty as Exports+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualNode.TcpTimeoutProperty as Exports+import Stratosphere.ResourceProperties+data ListenerTimeoutProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertimeout.html>+    ListenerTimeoutProperty {haddock_workaround_ :: (),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertimeout.html#cfn-appmesh-virtualnode-listenertimeout-grpc>+                             gRPC :: (Prelude.Maybe GrpcTimeoutProperty),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertimeout.html#cfn-appmesh-virtualnode-listenertimeout-http>+                             hTTP :: (Prelude.Maybe HttpTimeoutProperty),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertimeout.html#cfn-appmesh-virtualnode-listenertimeout-http2>+                             hTTP2 :: (Prelude.Maybe HttpTimeoutProperty),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertimeout.html#cfn-appmesh-virtualnode-listenertimeout-tcp>+                             tCP :: (Prelude.Maybe TcpTimeoutProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkListenerTimeoutProperty :: ListenerTimeoutProperty+mkListenerTimeoutProperty+  = ListenerTimeoutProperty+      {haddock_workaround_ = (), gRPC = Prelude.Nothing,+       hTTP = Prelude.Nothing, hTTP2 = Prelude.Nothing,+       tCP = Prelude.Nothing}+instance ToResourceProperties ListenerTimeoutProperty where+  toResourceProperties ListenerTimeoutProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualNode.ListenerTimeout",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "GRPC" Prelude.<$> gRPC,+                            (JSON..=) "HTTP" Prelude.<$> hTTP,+                            (JSON..=) "HTTP2" Prelude.<$> hTTP2,+                            (JSON..=) "TCP" Prelude.<$> tCP])}+instance JSON.ToJSON ListenerTimeoutProperty where+  toJSON ListenerTimeoutProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "GRPC" Prelude.<$> gRPC,+               (JSON..=) "HTTP" Prelude.<$> hTTP,+               (JSON..=) "HTTP2" Prelude.<$> hTTP2,+               (JSON..=) "TCP" Prelude.<$> tCP]))+instance Property "GRPC" ListenerTimeoutProperty where+  type PropertyType "GRPC" ListenerTimeoutProperty = GrpcTimeoutProperty+  set newValue ListenerTimeoutProperty {..}+    = ListenerTimeoutProperty {gRPC = Prelude.pure newValue, ..}+instance Property "HTTP" ListenerTimeoutProperty where+  type PropertyType "HTTP" ListenerTimeoutProperty = HttpTimeoutProperty+  set newValue ListenerTimeoutProperty {..}+    = ListenerTimeoutProperty {hTTP = Prelude.pure newValue, ..}+instance Property "HTTP2" ListenerTimeoutProperty where+  type PropertyType "HTTP2" ListenerTimeoutProperty = HttpTimeoutProperty+  set newValue ListenerTimeoutProperty {..}+    = ListenerTimeoutProperty {hTTP2 = Prelude.pure newValue, ..}+instance Property "TCP" ListenerTimeoutProperty where+  type PropertyType "TCP" ListenerTimeoutProperty = TcpTimeoutProperty+  set newValue ListenerTimeoutProperty {..}+    = ListenerTimeoutProperty {tCP = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualNode/ListenerTimeoutProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.VirtualNode.ListenerTimeoutProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ListenerTimeoutProperty :: Prelude.Type+instance ToResourceProperties ListenerTimeoutProperty+instance Prelude.Eq ListenerTimeoutProperty+instance Prelude.Show ListenerTimeoutProperty+instance JSON.ToJSON ListenerTimeoutProperty
+ gen/Stratosphere/AppMesh/VirtualNode/ListenerTlsAcmCertificateProperty.hs view
@@ -0,0 +1,33 @@+module Stratosphere.AppMesh.VirtualNode.ListenerTlsAcmCertificateProperty (+        ListenerTlsAcmCertificateProperty(..),+        mkListenerTlsAcmCertificateProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data ListenerTlsAcmCertificateProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertlsacmcertificate.html>+    ListenerTlsAcmCertificateProperty {haddock_workaround_ :: (),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertlsacmcertificate.html#cfn-appmesh-virtualnode-listenertlsacmcertificate-certificatearn>+                                       certificateArn :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkListenerTlsAcmCertificateProperty ::+  Value Prelude.Text -> ListenerTlsAcmCertificateProperty+mkListenerTlsAcmCertificateProperty certificateArn+  = ListenerTlsAcmCertificateProperty+      {haddock_workaround_ = (), certificateArn = certificateArn}+instance ToResourceProperties ListenerTlsAcmCertificateProperty where+  toResourceProperties ListenerTlsAcmCertificateProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualNode.ListenerTlsAcmCertificate",+         supportsTags = Prelude.False,+         properties = ["CertificateArn" JSON..= certificateArn]}+instance JSON.ToJSON ListenerTlsAcmCertificateProperty where+  toJSON ListenerTlsAcmCertificateProperty {..}+    = JSON.object ["CertificateArn" JSON..= certificateArn]+instance Property "CertificateArn" ListenerTlsAcmCertificateProperty where+  type PropertyType "CertificateArn" ListenerTlsAcmCertificateProperty = Value Prelude.Text+  set newValue ListenerTlsAcmCertificateProperty {..}+    = ListenerTlsAcmCertificateProperty {certificateArn = newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualNode/ListenerTlsAcmCertificateProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.VirtualNode.ListenerTlsAcmCertificateProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ListenerTlsAcmCertificateProperty :: Prelude.Type+instance ToResourceProperties ListenerTlsAcmCertificateProperty+instance Prelude.Eq ListenerTlsAcmCertificateProperty+instance Prelude.Show ListenerTlsAcmCertificateProperty+instance JSON.ToJSON ListenerTlsAcmCertificateProperty
+ gen/Stratosphere/AppMesh/VirtualNode/ListenerTlsCertificateProperty.hs view
@@ -0,0 +1,56 @@+module Stratosphere.AppMesh.VirtualNode.ListenerTlsCertificateProperty (+        module Exports, ListenerTlsCertificateProperty(..),+        mkListenerTlsCertificateProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualNode.ListenerTlsAcmCertificateProperty as Exports+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualNode.ListenerTlsFileCertificateProperty as Exports+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualNode.ListenerTlsSdsCertificateProperty as Exports+import Stratosphere.ResourceProperties+data ListenerTlsCertificateProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertlscertificate.html>+    ListenerTlsCertificateProperty {haddock_workaround_ :: (),+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertlscertificate.html#cfn-appmesh-virtualnode-listenertlscertificate-acm>+                                    aCM :: (Prelude.Maybe ListenerTlsAcmCertificateProperty),+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertlscertificate.html#cfn-appmesh-virtualnode-listenertlscertificate-file>+                                    file :: (Prelude.Maybe ListenerTlsFileCertificateProperty),+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertlscertificate.html#cfn-appmesh-virtualnode-listenertlscertificate-sds>+                                    sDS :: (Prelude.Maybe ListenerTlsSdsCertificateProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkListenerTlsCertificateProperty :: ListenerTlsCertificateProperty+mkListenerTlsCertificateProperty+  = ListenerTlsCertificateProperty+      {haddock_workaround_ = (), aCM = Prelude.Nothing,+       file = Prelude.Nothing, sDS = Prelude.Nothing}+instance ToResourceProperties ListenerTlsCertificateProperty where+  toResourceProperties ListenerTlsCertificateProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualNode.ListenerTlsCertificate",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "ACM" Prelude.<$> aCM,+                            (JSON..=) "File" Prelude.<$> file,+                            (JSON..=) "SDS" Prelude.<$> sDS])}+instance JSON.ToJSON ListenerTlsCertificateProperty where+  toJSON ListenerTlsCertificateProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "ACM" Prelude.<$> aCM,+               (JSON..=) "File" Prelude.<$> file,+               (JSON..=) "SDS" Prelude.<$> sDS]))+instance Property "ACM" ListenerTlsCertificateProperty where+  type PropertyType "ACM" ListenerTlsCertificateProperty = ListenerTlsAcmCertificateProperty+  set newValue ListenerTlsCertificateProperty {..}+    = ListenerTlsCertificateProperty {aCM = Prelude.pure newValue, ..}+instance Property "File" ListenerTlsCertificateProperty where+  type PropertyType "File" ListenerTlsCertificateProperty = ListenerTlsFileCertificateProperty+  set newValue ListenerTlsCertificateProperty {..}+    = ListenerTlsCertificateProperty {file = Prelude.pure newValue, ..}+instance Property "SDS" ListenerTlsCertificateProperty where+  type PropertyType "SDS" ListenerTlsCertificateProperty = ListenerTlsSdsCertificateProperty+  set newValue ListenerTlsCertificateProperty {..}+    = ListenerTlsCertificateProperty {sDS = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualNode/ListenerTlsCertificateProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.VirtualNode.ListenerTlsCertificateProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ListenerTlsCertificateProperty :: Prelude.Type+instance ToResourceProperties ListenerTlsCertificateProperty+instance Prelude.Eq ListenerTlsCertificateProperty+instance Prelude.Show ListenerTlsCertificateProperty+instance JSON.ToJSON ListenerTlsCertificateProperty
+ gen/Stratosphere/AppMesh/VirtualNode/ListenerTlsFileCertificateProperty.hs view
@@ -0,0 +1,45 @@+module Stratosphere.AppMesh.VirtualNode.ListenerTlsFileCertificateProperty (+        ListenerTlsFileCertificateProperty(..),+        mkListenerTlsFileCertificateProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data ListenerTlsFileCertificateProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertlsfilecertificate.html>+    ListenerTlsFileCertificateProperty {haddock_workaround_ :: (),+                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertlsfilecertificate.html#cfn-appmesh-virtualnode-listenertlsfilecertificate-certificatechain>+                                        certificateChain :: (Value Prelude.Text),+                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertlsfilecertificate.html#cfn-appmesh-virtualnode-listenertlsfilecertificate-privatekey>+                                        privateKey :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkListenerTlsFileCertificateProperty ::+  Value Prelude.Text+  -> Value Prelude.Text -> ListenerTlsFileCertificateProperty+mkListenerTlsFileCertificateProperty certificateChain privateKey+  = ListenerTlsFileCertificateProperty+      {haddock_workaround_ = (), certificateChain = certificateChain,+       privateKey = privateKey}+instance ToResourceProperties ListenerTlsFileCertificateProperty where+  toResourceProperties ListenerTlsFileCertificateProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualNode.ListenerTlsFileCertificate",+         supportsTags = Prelude.False,+         properties = ["CertificateChain" JSON..= certificateChain,+                       "PrivateKey" JSON..= privateKey]}+instance JSON.ToJSON ListenerTlsFileCertificateProperty where+  toJSON ListenerTlsFileCertificateProperty {..}+    = JSON.object+        ["CertificateChain" JSON..= certificateChain,+         "PrivateKey" JSON..= privateKey]+instance Property "CertificateChain" ListenerTlsFileCertificateProperty where+  type PropertyType "CertificateChain" ListenerTlsFileCertificateProperty = Value Prelude.Text+  set newValue ListenerTlsFileCertificateProperty {..}+    = ListenerTlsFileCertificateProperty+        {certificateChain = newValue, ..}+instance Property "PrivateKey" ListenerTlsFileCertificateProperty where+  type PropertyType "PrivateKey" ListenerTlsFileCertificateProperty = Value Prelude.Text+  set newValue ListenerTlsFileCertificateProperty {..}+    = ListenerTlsFileCertificateProperty {privateKey = newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualNode/ListenerTlsFileCertificateProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.VirtualNode.ListenerTlsFileCertificateProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ListenerTlsFileCertificateProperty :: Prelude.Type+instance ToResourceProperties ListenerTlsFileCertificateProperty+instance Prelude.Eq ListenerTlsFileCertificateProperty+instance Prelude.Show ListenerTlsFileCertificateProperty+instance JSON.ToJSON ListenerTlsFileCertificateProperty
+ gen/Stratosphere/AppMesh/VirtualNode/ListenerTlsProperty.hs view
@@ -0,0 +1,57 @@+module Stratosphere.AppMesh.VirtualNode.ListenerTlsProperty (+        module Exports, ListenerTlsProperty(..), mkListenerTlsProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualNode.ListenerTlsCertificateProperty as Exports+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualNode.ListenerTlsValidationContextProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data ListenerTlsProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertls.html>+    ListenerTlsProperty {haddock_workaround_ :: (),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertls.html#cfn-appmesh-virtualnode-listenertls-certificate>+                         certificate :: ListenerTlsCertificateProperty,+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertls.html#cfn-appmesh-virtualnode-listenertls-mode>+                         mode :: (Value Prelude.Text),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertls.html#cfn-appmesh-virtualnode-listenertls-validation>+                         validation :: (Prelude.Maybe ListenerTlsValidationContextProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkListenerTlsProperty ::+  ListenerTlsCertificateProperty+  -> Value Prelude.Text -> ListenerTlsProperty+mkListenerTlsProperty certificate mode+  = ListenerTlsProperty+      {haddock_workaround_ = (), certificate = certificate, mode = mode,+       validation = Prelude.Nothing}+instance ToResourceProperties ListenerTlsProperty where+  toResourceProperties ListenerTlsProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualNode.ListenerTls",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Certificate" JSON..= certificate, "Mode" JSON..= mode]+                           (Prelude.catMaybes+                              [(JSON..=) "Validation" Prelude.<$> validation]))}+instance JSON.ToJSON ListenerTlsProperty where+  toJSON ListenerTlsProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Certificate" JSON..= certificate, "Mode" JSON..= mode]+              (Prelude.catMaybes+                 [(JSON..=) "Validation" Prelude.<$> validation])))+instance Property "Certificate" ListenerTlsProperty where+  type PropertyType "Certificate" ListenerTlsProperty = ListenerTlsCertificateProperty+  set newValue ListenerTlsProperty {..}+    = ListenerTlsProperty {certificate = newValue, ..}+instance Property "Mode" ListenerTlsProperty where+  type PropertyType "Mode" ListenerTlsProperty = Value Prelude.Text+  set newValue ListenerTlsProperty {..}+    = ListenerTlsProperty {mode = newValue, ..}+instance Property "Validation" ListenerTlsProperty where+  type PropertyType "Validation" ListenerTlsProperty = ListenerTlsValidationContextProperty+  set newValue ListenerTlsProperty {..}+    = ListenerTlsProperty {validation = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualNode/ListenerTlsProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.VirtualNode.ListenerTlsProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ListenerTlsProperty :: Prelude.Type+instance ToResourceProperties ListenerTlsProperty+instance Prelude.Eq ListenerTlsProperty+instance Prelude.Show ListenerTlsProperty+instance JSON.ToJSON ListenerTlsProperty
+ gen/Stratosphere/AppMesh/VirtualNode/ListenerTlsSdsCertificateProperty.hs view
@@ -0,0 +1,33 @@+module Stratosphere.AppMesh.VirtualNode.ListenerTlsSdsCertificateProperty (+        ListenerTlsSdsCertificateProperty(..),+        mkListenerTlsSdsCertificateProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data ListenerTlsSdsCertificateProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertlssdscertificate.html>+    ListenerTlsSdsCertificateProperty {haddock_workaround_ :: (),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertlssdscertificate.html#cfn-appmesh-virtualnode-listenertlssdscertificate-secretname>+                                       secretName :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkListenerTlsSdsCertificateProperty ::+  Value Prelude.Text -> ListenerTlsSdsCertificateProperty+mkListenerTlsSdsCertificateProperty secretName+  = ListenerTlsSdsCertificateProperty+      {haddock_workaround_ = (), secretName = secretName}+instance ToResourceProperties ListenerTlsSdsCertificateProperty where+  toResourceProperties ListenerTlsSdsCertificateProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualNode.ListenerTlsSdsCertificate",+         supportsTags = Prelude.False,+         properties = ["SecretName" JSON..= secretName]}+instance JSON.ToJSON ListenerTlsSdsCertificateProperty where+  toJSON ListenerTlsSdsCertificateProperty {..}+    = JSON.object ["SecretName" JSON..= secretName]+instance Property "SecretName" ListenerTlsSdsCertificateProperty where+  type PropertyType "SecretName" ListenerTlsSdsCertificateProperty = Value Prelude.Text+  set newValue ListenerTlsSdsCertificateProperty {..}+    = ListenerTlsSdsCertificateProperty {secretName = newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualNode/ListenerTlsSdsCertificateProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.VirtualNode.ListenerTlsSdsCertificateProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ListenerTlsSdsCertificateProperty :: Prelude.Type+instance ToResourceProperties ListenerTlsSdsCertificateProperty+instance Prelude.Eq ListenerTlsSdsCertificateProperty+instance Prelude.Show ListenerTlsSdsCertificateProperty+instance JSON.ToJSON ListenerTlsSdsCertificateProperty
+ gen/Stratosphere/AppMesh/VirtualNode/ListenerTlsValidationContextProperty.hs view
@@ -0,0 +1,54 @@+module Stratosphere.AppMesh.VirtualNode.ListenerTlsValidationContextProperty (+        module Exports, ListenerTlsValidationContextProperty(..),+        mkListenerTlsValidationContextProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualNode.ListenerTlsValidationContextTrustProperty as Exports+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualNode.SubjectAlternativeNamesProperty as Exports+import Stratosphere.ResourceProperties+data ListenerTlsValidationContextProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertlsvalidationcontext.html>+    ListenerTlsValidationContextProperty {haddock_workaround_ :: (),+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertlsvalidationcontext.html#cfn-appmesh-virtualnode-listenertlsvalidationcontext-subjectalternativenames>+                                          subjectAlternativeNames :: (Prelude.Maybe SubjectAlternativeNamesProperty),+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertlsvalidationcontext.html#cfn-appmesh-virtualnode-listenertlsvalidationcontext-trust>+                                          trust :: ListenerTlsValidationContextTrustProperty}+  deriving stock (Prelude.Eq, Prelude.Show)+mkListenerTlsValidationContextProperty ::+  ListenerTlsValidationContextTrustProperty+  -> ListenerTlsValidationContextProperty+mkListenerTlsValidationContextProperty trust+  = ListenerTlsValidationContextProperty+      {haddock_workaround_ = (), trust = trust,+       subjectAlternativeNames = Prelude.Nothing}+instance ToResourceProperties ListenerTlsValidationContextProperty where+  toResourceProperties ListenerTlsValidationContextProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualNode.ListenerTlsValidationContext",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Trust" JSON..= trust]+                           (Prelude.catMaybes+                              [(JSON..=) "SubjectAlternativeNames"+                                 Prelude.<$> subjectAlternativeNames]))}+instance JSON.ToJSON ListenerTlsValidationContextProperty where+  toJSON ListenerTlsValidationContextProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Trust" JSON..= trust]+              (Prelude.catMaybes+                 [(JSON..=) "SubjectAlternativeNames"+                    Prelude.<$> subjectAlternativeNames])))+instance Property "SubjectAlternativeNames" ListenerTlsValidationContextProperty where+  type PropertyType "SubjectAlternativeNames" ListenerTlsValidationContextProperty = SubjectAlternativeNamesProperty+  set newValue ListenerTlsValidationContextProperty {..}+    = ListenerTlsValidationContextProperty+        {subjectAlternativeNames = Prelude.pure newValue, ..}+instance Property "Trust" ListenerTlsValidationContextProperty where+  type PropertyType "Trust" ListenerTlsValidationContextProperty = ListenerTlsValidationContextTrustProperty+  set newValue ListenerTlsValidationContextProperty {..}+    = ListenerTlsValidationContextProperty {trust = newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualNode/ListenerTlsValidationContextProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.VirtualNode.ListenerTlsValidationContextProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ListenerTlsValidationContextProperty :: Prelude.Type+instance ToResourceProperties ListenerTlsValidationContextProperty+instance Prelude.Eq ListenerTlsValidationContextProperty+instance Prelude.Show ListenerTlsValidationContextProperty+instance JSON.ToJSON ListenerTlsValidationContextProperty
+ gen/Stratosphere/AppMesh/VirtualNode/ListenerTlsValidationContextTrustProperty.hs view
@@ -0,0 +1,50 @@+module Stratosphere.AppMesh.VirtualNode.ListenerTlsValidationContextTrustProperty (+        module Exports, ListenerTlsValidationContextTrustProperty(..),+        mkListenerTlsValidationContextTrustProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualNode.TlsValidationContextFileTrustProperty as Exports+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualNode.TlsValidationContextSdsTrustProperty as Exports+import Stratosphere.ResourceProperties+data ListenerTlsValidationContextTrustProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertlsvalidationcontexttrust.html>+    ListenerTlsValidationContextTrustProperty {haddock_workaround_ :: (),+                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertlsvalidationcontexttrust.html#cfn-appmesh-virtualnode-listenertlsvalidationcontexttrust-file>+                                               file :: (Prelude.Maybe TlsValidationContextFileTrustProperty),+                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertlsvalidationcontexttrust.html#cfn-appmesh-virtualnode-listenertlsvalidationcontexttrust-sds>+                                               sDS :: (Prelude.Maybe TlsValidationContextSdsTrustProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkListenerTlsValidationContextTrustProperty ::+  ListenerTlsValidationContextTrustProperty+mkListenerTlsValidationContextTrustProperty+  = ListenerTlsValidationContextTrustProperty+      {haddock_workaround_ = (), file = Prelude.Nothing,+       sDS = Prelude.Nothing}+instance ToResourceProperties ListenerTlsValidationContextTrustProperty where+  toResourceProperties ListenerTlsValidationContextTrustProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualNode.ListenerTlsValidationContextTrust",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "File" Prelude.<$> file,+                            (JSON..=) "SDS" Prelude.<$> sDS])}+instance JSON.ToJSON ListenerTlsValidationContextTrustProperty where+  toJSON ListenerTlsValidationContextTrustProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "File" Prelude.<$> file,+               (JSON..=) "SDS" Prelude.<$> sDS]))+instance Property "File" ListenerTlsValidationContextTrustProperty where+  type PropertyType "File" ListenerTlsValidationContextTrustProperty = TlsValidationContextFileTrustProperty+  set newValue ListenerTlsValidationContextTrustProperty {..}+    = ListenerTlsValidationContextTrustProperty+        {file = Prelude.pure newValue, ..}+instance Property "SDS" ListenerTlsValidationContextTrustProperty where+  type PropertyType "SDS" ListenerTlsValidationContextTrustProperty = TlsValidationContextSdsTrustProperty+  set newValue ListenerTlsValidationContextTrustProperty {..}+    = ListenerTlsValidationContextTrustProperty+        {sDS = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualNode/ListenerTlsValidationContextTrustProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.VirtualNode.ListenerTlsValidationContextTrustProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ListenerTlsValidationContextTrustProperty :: Prelude.Type+instance ToResourceProperties ListenerTlsValidationContextTrustProperty+instance Prelude.Eq ListenerTlsValidationContextTrustProperty+instance Prelude.Show ListenerTlsValidationContextTrustProperty+instance JSON.ToJSON ListenerTlsValidationContextTrustProperty
+ gen/Stratosphere/AppMesh/VirtualNode/LoggingFormatProperty.hs view
@@ -0,0 +1,46 @@+module Stratosphere.AppMesh.VirtualNode.LoggingFormatProperty (+        module Exports, LoggingFormatProperty(..), mkLoggingFormatProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualNode.JsonFormatRefProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data LoggingFormatProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-loggingformat.html>+    LoggingFormatProperty {haddock_workaround_ :: (),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-loggingformat.html#cfn-appmesh-virtualnode-loggingformat-json>+                           json :: (Prelude.Maybe [JsonFormatRefProperty]),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-loggingformat.html#cfn-appmesh-virtualnode-loggingformat-text>+                           text :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkLoggingFormatProperty :: LoggingFormatProperty+mkLoggingFormatProperty+  = LoggingFormatProperty+      {haddock_workaround_ = (), json = Prelude.Nothing,+       text = Prelude.Nothing}+instance ToResourceProperties LoggingFormatProperty where+  toResourceProperties LoggingFormatProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualNode.LoggingFormat",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Json" Prelude.<$> json,+                            (JSON..=) "Text" Prelude.<$> text])}+instance JSON.ToJSON LoggingFormatProperty where+  toJSON LoggingFormatProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Json" Prelude.<$> json,+               (JSON..=) "Text" Prelude.<$> text]))+instance Property "Json" LoggingFormatProperty where+  type PropertyType "Json" LoggingFormatProperty = [JsonFormatRefProperty]+  set newValue LoggingFormatProperty {..}+    = LoggingFormatProperty {json = Prelude.pure newValue, ..}+instance Property "Text" LoggingFormatProperty where+  type PropertyType "Text" LoggingFormatProperty = Value Prelude.Text+  set newValue LoggingFormatProperty {..}+    = LoggingFormatProperty {text = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualNode/LoggingFormatProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.VirtualNode.LoggingFormatProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data LoggingFormatProperty :: Prelude.Type+instance ToResourceProperties LoggingFormatProperty+instance Prelude.Eq LoggingFormatProperty+instance Prelude.Show LoggingFormatProperty+instance JSON.ToJSON LoggingFormatProperty
+ gen/Stratosphere/AppMesh/VirtualNode/LoggingProperty.hs view
@@ -0,0 +1,34 @@+module Stratosphere.AppMesh.VirtualNode.LoggingProperty (+        module Exports, LoggingProperty(..), mkLoggingProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualNode.AccessLogProperty as Exports+import Stratosphere.ResourceProperties+data LoggingProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-logging.html>+    LoggingProperty {haddock_workaround_ :: (),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-logging.html#cfn-appmesh-virtualnode-logging-accesslog>+                     accessLog :: (Prelude.Maybe AccessLogProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkLoggingProperty :: LoggingProperty+mkLoggingProperty+  = LoggingProperty+      {haddock_workaround_ = (), accessLog = Prelude.Nothing}+instance ToResourceProperties LoggingProperty where+  toResourceProperties LoggingProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualNode.Logging",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes [(JSON..=) "AccessLog" Prelude.<$> accessLog])}+instance JSON.ToJSON LoggingProperty where+  toJSON LoggingProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes [(JSON..=) "AccessLog" Prelude.<$> accessLog]))+instance Property "AccessLog" LoggingProperty where+  type PropertyType "AccessLog" LoggingProperty = AccessLogProperty+  set newValue LoggingProperty {..}+    = LoggingProperty {accessLog = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualNode/LoggingProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.VirtualNode.LoggingProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data LoggingProperty :: Prelude.Type+instance ToResourceProperties LoggingProperty+instance Prelude.Eq LoggingProperty+instance Prelude.Show LoggingProperty+instance JSON.ToJSON LoggingProperty
+ gen/Stratosphere/AppMesh/VirtualNode/OutlierDetectionProperty.hs view
@@ -0,0 +1,69 @@+module Stratosphere.AppMesh.VirtualNode.OutlierDetectionProperty (+        module Exports, OutlierDetectionProperty(..),+        mkOutlierDetectionProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualNode.DurationProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data OutlierDetectionProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-outlierdetection.html>+    OutlierDetectionProperty {haddock_workaround_ :: (),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-outlierdetection.html#cfn-appmesh-virtualnode-outlierdetection-baseejectionduration>+                              baseEjectionDuration :: DurationProperty,+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-outlierdetection.html#cfn-appmesh-virtualnode-outlierdetection-interval>+                              interval :: DurationProperty,+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-outlierdetection.html#cfn-appmesh-virtualnode-outlierdetection-maxejectionpercent>+                              maxEjectionPercent :: (Value Prelude.Integer),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-outlierdetection.html#cfn-appmesh-virtualnode-outlierdetection-maxservererrors>+                              maxServerErrors :: (Value Prelude.Integer)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkOutlierDetectionProperty ::+  DurationProperty+  -> DurationProperty+     -> Value Prelude.Integer+        -> Value Prelude.Integer -> OutlierDetectionProperty+mkOutlierDetectionProperty+  baseEjectionDuration+  interval+  maxEjectionPercent+  maxServerErrors+  = OutlierDetectionProperty+      {haddock_workaround_ = (),+       baseEjectionDuration = baseEjectionDuration, interval = interval,+       maxEjectionPercent = maxEjectionPercent,+       maxServerErrors = maxServerErrors}+instance ToResourceProperties OutlierDetectionProperty where+  toResourceProperties OutlierDetectionProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualNode.OutlierDetection",+         supportsTags = Prelude.False,+         properties = ["BaseEjectionDuration" JSON..= baseEjectionDuration,+                       "Interval" JSON..= interval,+                       "MaxEjectionPercent" JSON..= maxEjectionPercent,+                       "MaxServerErrors" JSON..= maxServerErrors]}+instance JSON.ToJSON OutlierDetectionProperty where+  toJSON OutlierDetectionProperty {..}+    = JSON.object+        ["BaseEjectionDuration" JSON..= baseEjectionDuration,+         "Interval" JSON..= interval,+         "MaxEjectionPercent" JSON..= maxEjectionPercent,+         "MaxServerErrors" JSON..= maxServerErrors]+instance Property "BaseEjectionDuration" OutlierDetectionProperty where+  type PropertyType "BaseEjectionDuration" OutlierDetectionProperty = DurationProperty+  set newValue OutlierDetectionProperty {..}+    = OutlierDetectionProperty {baseEjectionDuration = newValue, ..}+instance Property "Interval" OutlierDetectionProperty where+  type PropertyType "Interval" OutlierDetectionProperty = DurationProperty+  set newValue OutlierDetectionProperty {..}+    = OutlierDetectionProperty {interval = newValue, ..}+instance Property "MaxEjectionPercent" OutlierDetectionProperty where+  type PropertyType "MaxEjectionPercent" OutlierDetectionProperty = Value Prelude.Integer+  set newValue OutlierDetectionProperty {..}+    = OutlierDetectionProperty {maxEjectionPercent = newValue, ..}+instance Property "MaxServerErrors" OutlierDetectionProperty where+  type PropertyType "MaxServerErrors" OutlierDetectionProperty = Value Prelude.Integer+  set newValue OutlierDetectionProperty {..}+    = OutlierDetectionProperty {maxServerErrors = newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualNode/OutlierDetectionProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.VirtualNode.OutlierDetectionProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data OutlierDetectionProperty :: Prelude.Type+instance ToResourceProperties OutlierDetectionProperty+instance Prelude.Eq OutlierDetectionProperty+instance Prelude.Show OutlierDetectionProperty+instance JSON.ToJSON OutlierDetectionProperty
+ gen/Stratosphere/AppMesh/VirtualNode/PortMappingProperty.hs view
@@ -0,0 +1,38 @@+module Stratosphere.AppMesh.VirtualNode.PortMappingProperty (+        PortMappingProperty(..), mkPortMappingProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data PortMappingProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-portmapping.html>+    PortMappingProperty {haddock_workaround_ :: (),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-portmapping.html#cfn-appmesh-virtualnode-portmapping-port>+                         port :: (Value Prelude.Integer),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-portmapping.html#cfn-appmesh-virtualnode-portmapping-protocol>+                         protocol :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkPortMappingProperty ::+  Value Prelude.Integer -> Value Prelude.Text -> PortMappingProperty+mkPortMappingProperty port protocol+  = PortMappingProperty+      {haddock_workaround_ = (), port = port, protocol = protocol}+instance ToResourceProperties PortMappingProperty where+  toResourceProperties PortMappingProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualNode.PortMapping",+         supportsTags = Prelude.False,+         properties = ["Port" JSON..= port, "Protocol" JSON..= protocol]}+instance JSON.ToJSON PortMappingProperty where+  toJSON PortMappingProperty {..}+    = JSON.object ["Port" JSON..= port, "Protocol" JSON..= protocol]+instance Property "Port" PortMappingProperty where+  type PropertyType "Port" PortMappingProperty = Value Prelude.Integer+  set newValue PortMappingProperty {..}+    = PortMappingProperty {port = newValue, ..}+instance Property "Protocol" PortMappingProperty where+  type PropertyType "Protocol" PortMappingProperty = Value Prelude.Text+  set newValue PortMappingProperty {..}+    = PortMappingProperty {protocol = newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualNode/PortMappingProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.VirtualNode.PortMappingProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data PortMappingProperty :: Prelude.Type+instance ToResourceProperties PortMappingProperty+instance Prelude.Eq PortMappingProperty+instance Prelude.Show PortMappingProperty+instance JSON.ToJSON PortMappingProperty
+ gen/Stratosphere/AppMesh/VirtualNode/ServiceDiscoveryProperty.hs view
@@ -0,0 +1,48 @@+module Stratosphere.AppMesh.VirtualNode.ServiceDiscoveryProperty (+        module Exports, ServiceDiscoveryProperty(..),+        mkServiceDiscoveryProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualNode.AwsCloudMapServiceDiscoveryProperty as Exports+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualNode.DnsServiceDiscoveryProperty as Exports+import Stratosphere.ResourceProperties+data ServiceDiscoveryProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-servicediscovery.html>+    ServiceDiscoveryProperty {haddock_workaround_ :: (),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-servicediscovery.html#cfn-appmesh-virtualnode-servicediscovery-awscloudmap>+                              aWSCloudMap :: (Prelude.Maybe AwsCloudMapServiceDiscoveryProperty),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-servicediscovery.html#cfn-appmesh-virtualnode-servicediscovery-dns>+                              dNS :: (Prelude.Maybe DnsServiceDiscoveryProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkServiceDiscoveryProperty :: ServiceDiscoveryProperty+mkServiceDiscoveryProperty+  = ServiceDiscoveryProperty+      {haddock_workaround_ = (), aWSCloudMap = Prelude.Nothing,+       dNS = Prelude.Nothing}+instance ToResourceProperties ServiceDiscoveryProperty where+  toResourceProperties ServiceDiscoveryProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualNode.ServiceDiscovery",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "AWSCloudMap" Prelude.<$> aWSCloudMap,+                            (JSON..=) "DNS" Prelude.<$> dNS])}+instance JSON.ToJSON ServiceDiscoveryProperty where+  toJSON ServiceDiscoveryProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "AWSCloudMap" Prelude.<$> aWSCloudMap,+               (JSON..=) "DNS" Prelude.<$> dNS]))+instance Property "AWSCloudMap" ServiceDiscoveryProperty where+  type PropertyType "AWSCloudMap" ServiceDiscoveryProperty = AwsCloudMapServiceDiscoveryProperty+  set newValue ServiceDiscoveryProperty {..}+    = ServiceDiscoveryProperty+        {aWSCloudMap = Prelude.pure newValue, ..}+instance Property "DNS" ServiceDiscoveryProperty where+  type PropertyType "DNS" ServiceDiscoveryProperty = DnsServiceDiscoveryProperty+  set newValue ServiceDiscoveryProperty {..}+    = ServiceDiscoveryProperty {dNS = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualNode/ServiceDiscoveryProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.VirtualNode.ServiceDiscoveryProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ServiceDiscoveryProperty :: Prelude.Type+instance ToResourceProperties ServiceDiscoveryProperty+instance Prelude.Eq ServiceDiscoveryProperty+instance Prelude.Show ServiceDiscoveryProperty+instance JSON.ToJSON ServiceDiscoveryProperty
+ gen/Stratosphere/AppMesh/VirtualNode/SubjectAlternativeNameMatchersProperty.hs view
@@ -0,0 +1,37 @@+module Stratosphere.AppMesh.VirtualNode.SubjectAlternativeNameMatchersProperty (+        SubjectAlternativeNameMatchersProperty(..),+        mkSubjectAlternativeNameMatchersProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data SubjectAlternativeNameMatchersProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-subjectalternativenamematchers.html>+    SubjectAlternativeNameMatchersProperty {haddock_workaround_ :: (),+                                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-subjectalternativenamematchers.html#cfn-appmesh-virtualnode-subjectalternativenamematchers-exact>+                                            exact :: (Prelude.Maybe (ValueList Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkSubjectAlternativeNameMatchersProperty ::+  SubjectAlternativeNameMatchersProperty+mkSubjectAlternativeNameMatchersProperty+  = SubjectAlternativeNameMatchersProperty+      {haddock_workaround_ = (), exact = Prelude.Nothing}+instance ToResourceProperties SubjectAlternativeNameMatchersProperty where+  toResourceProperties SubjectAlternativeNameMatchersProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualNode.SubjectAlternativeNameMatchers",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes [(JSON..=) "Exact" Prelude.<$> exact])}+instance JSON.ToJSON SubjectAlternativeNameMatchersProperty where+  toJSON SubjectAlternativeNameMatchersProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes [(JSON..=) "Exact" Prelude.<$> exact]))+instance Property "Exact" SubjectAlternativeNameMatchersProperty where+  type PropertyType "Exact" SubjectAlternativeNameMatchersProperty = ValueList Prelude.Text+  set newValue SubjectAlternativeNameMatchersProperty {..}+    = SubjectAlternativeNameMatchersProperty+        {exact = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualNode/SubjectAlternativeNameMatchersProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.VirtualNode.SubjectAlternativeNameMatchersProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data SubjectAlternativeNameMatchersProperty :: Prelude.Type+instance ToResourceProperties SubjectAlternativeNameMatchersProperty+instance Prelude.Eq SubjectAlternativeNameMatchersProperty+instance Prelude.Show SubjectAlternativeNameMatchersProperty+instance JSON.ToJSON SubjectAlternativeNameMatchersProperty
+ gen/Stratosphere/AppMesh/VirtualNode/SubjectAlternativeNamesProperty.hs view
@@ -0,0 +1,33 @@+module Stratosphere.AppMesh.VirtualNode.SubjectAlternativeNamesProperty (+        module Exports, SubjectAlternativeNamesProperty(..),+        mkSubjectAlternativeNamesProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualNode.SubjectAlternativeNameMatchersProperty as Exports+import Stratosphere.ResourceProperties+data SubjectAlternativeNamesProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-subjectalternativenames.html>+    SubjectAlternativeNamesProperty {haddock_workaround_ :: (),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-subjectalternativenames.html#cfn-appmesh-virtualnode-subjectalternativenames-match>+                                     match :: SubjectAlternativeNameMatchersProperty}+  deriving stock (Prelude.Eq, Prelude.Show)+mkSubjectAlternativeNamesProperty ::+  SubjectAlternativeNameMatchersProperty+  -> SubjectAlternativeNamesProperty+mkSubjectAlternativeNamesProperty match+  = SubjectAlternativeNamesProperty+      {haddock_workaround_ = (), match = match}+instance ToResourceProperties SubjectAlternativeNamesProperty where+  toResourceProperties SubjectAlternativeNamesProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualNode.SubjectAlternativeNames",+         supportsTags = Prelude.False, properties = ["Match" JSON..= match]}+instance JSON.ToJSON SubjectAlternativeNamesProperty where+  toJSON SubjectAlternativeNamesProperty {..}+    = JSON.object ["Match" JSON..= match]+instance Property "Match" SubjectAlternativeNamesProperty where+  type PropertyType "Match" SubjectAlternativeNamesProperty = SubjectAlternativeNameMatchersProperty+  set newValue SubjectAlternativeNamesProperty {..}+    = SubjectAlternativeNamesProperty {match = newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualNode/SubjectAlternativeNamesProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.VirtualNode.SubjectAlternativeNamesProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data SubjectAlternativeNamesProperty :: Prelude.Type+instance ToResourceProperties SubjectAlternativeNamesProperty+instance Prelude.Eq SubjectAlternativeNamesProperty+instance Prelude.Show SubjectAlternativeNamesProperty+instance JSON.ToJSON SubjectAlternativeNamesProperty
+ gen/Stratosphere/AppMesh/VirtualNode/TcpTimeoutProperty.hs view
@@ -0,0 +1,34 @@+module Stratosphere.AppMesh.VirtualNode.TcpTimeoutProperty (+        module Exports, TcpTimeoutProperty(..), mkTcpTimeoutProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualNode.DurationProperty as Exports+import Stratosphere.ResourceProperties+data TcpTimeoutProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-tcptimeout.html>+    TcpTimeoutProperty {haddock_workaround_ :: (),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-tcptimeout.html#cfn-appmesh-virtualnode-tcptimeout-idle>+                        idle :: (Prelude.Maybe DurationProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkTcpTimeoutProperty :: TcpTimeoutProperty+mkTcpTimeoutProperty+  = TcpTimeoutProperty+      {haddock_workaround_ = (), idle = Prelude.Nothing}+instance ToResourceProperties TcpTimeoutProperty where+  toResourceProperties TcpTimeoutProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualNode.TcpTimeout",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes [(JSON..=) "Idle" Prelude.<$> idle])}+instance JSON.ToJSON TcpTimeoutProperty where+  toJSON TcpTimeoutProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes [(JSON..=) "Idle" Prelude.<$> idle]))+instance Property "Idle" TcpTimeoutProperty where+  type PropertyType "Idle" TcpTimeoutProperty = DurationProperty+  set newValue TcpTimeoutProperty {..}+    = TcpTimeoutProperty {idle = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualNode/TcpTimeoutProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.VirtualNode.TcpTimeoutProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data TcpTimeoutProperty :: Prelude.Type+instance ToResourceProperties TcpTimeoutProperty+instance Prelude.Eq TcpTimeoutProperty+instance Prelude.Show TcpTimeoutProperty+instance JSON.ToJSON TcpTimeoutProperty
+ gen/Stratosphere/AppMesh/VirtualNode/TlsValidationContextAcmTrustProperty.hs view
@@ -0,0 +1,37 @@+module Stratosphere.AppMesh.VirtualNode.TlsValidationContextAcmTrustProperty (+        TlsValidationContextAcmTrustProperty(..),+        mkTlsValidationContextAcmTrustProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data TlsValidationContextAcmTrustProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-tlsvalidationcontextacmtrust.html>+    TlsValidationContextAcmTrustProperty {haddock_workaround_ :: (),+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-tlsvalidationcontextacmtrust.html#cfn-appmesh-virtualnode-tlsvalidationcontextacmtrust-certificateauthorityarns>+                                          certificateAuthorityArns :: (ValueList Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkTlsValidationContextAcmTrustProperty ::+  ValueList Prelude.Text -> TlsValidationContextAcmTrustProperty+mkTlsValidationContextAcmTrustProperty certificateAuthorityArns+  = TlsValidationContextAcmTrustProperty+      {haddock_workaround_ = (),+       certificateAuthorityArns = certificateAuthorityArns}+instance ToResourceProperties TlsValidationContextAcmTrustProperty where+  toResourceProperties TlsValidationContextAcmTrustProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualNode.TlsValidationContextAcmTrust",+         supportsTags = Prelude.False,+         properties = ["CertificateAuthorityArns"+                         JSON..= certificateAuthorityArns]}+instance JSON.ToJSON TlsValidationContextAcmTrustProperty where+  toJSON TlsValidationContextAcmTrustProperty {..}+    = JSON.object+        ["CertificateAuthorityArns" JSON..= certificateAuthorityArns]+instance Property "CertificateAuthorityArns" TlsValidationContextAcmTrustProperty where+  type PropertyType "CertificateAuthorityArns" TlsValidationContextAcmTrustProperty = ValueList Prelude.Text+  set newValue TlsValidationContextAcmTrustProperty {..}+    = TlsValidationContextAcmTrustProperty+        {certificateAuthorityArns = newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualNode/TlsValidationContextAcmTrustProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.VirtualNode.TlsValidationContextAcmTrustProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data TlsValidationContextAcmTrustProperty :: Prelude.Type+instance ToResourceProperties TlsValidationContextAcmTrustProperty+instance Prelude.Eq TlsValidationContextAcmTrustProperty+instance Prelude.Show TlsValidationContextAcmTrustProperty+instance JSON.ToJSON TlsValidationContextAcmTrustProperty
+ gen/Stratosphere/AppMesh/VirtualNode/TlsValidationContextFileTrustProperty.hs view
@@ -0,0 +1,34 @@+module Stratosphere.AppMesh.VirtualNode.TlsValidationContextFileTrustProperty (+        TlsValidationContextFileTrustProperty(..),+        mkTlsValidationContextFileTrustProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data TlsValidationContextFileTrustProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-tlsvalidationcontextfiletrust.html>+    TlsValidationContextFileTrustProperty {haddock_workaround_ :: (),+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-tlsvalidationcontextfiletrust.html#cfn-appmesh-virtualnode-tlsvalidationcontextfiletrust-certificatechain>+                                           certificateChain :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkTlsValidationContextFileTrustProperty ::+  Value Prelude.Text -> TlsValidationContextFileTrustProperty+mkTlsValidationContextFileTrustProperty certificateChain+  = TlsValidationContextFileTrustProperty+      {haddock_workaround_ = (), certificateChain = certificateChain}+instance ToResourceProperties TlsValidationContextFileTrustProperty where+  toResourceProperties TlsValidationContextFileTrustProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualNode.TlsValidationContextFileTrust",+         supportsTags = Prelude.False,+         properties = ["CertificateChain" JSON..= certificateChain]}+instance JSON.ToJSON TlsValidationContextFileTrustProperty where+  toJSON TlsValidationContextFileTrustProperty {..}+    = JSON.object ["CertificateChain" JSON..= certificateChain]+instance Property "CertificateChain" TlsValidationContextFileTrustProperty where+  type PropertyType "CertificateChain" TlsValidationContextFileTrustProperty = Value Prelude.Text+  set newValue TlsValidationContextFileTrustProperty {..}+    = TlsValidationContextFileTrustProperty+        {certificateChain = newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualNode/TlsValidationContextFileTrustProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.VirtualNode.TlsValidationContextFileTrustProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data TlsValidationContextFileTrustProperty :: Prelude.Type+instance ToResourceProperties TlsValidationContextFileTrustProperty+instance Prelude.Eq TlsValidationContextFileTrustProperty+instance Prelude.Show TlsValidationContextFileTrustProperty+instance JSON.ToJSON TlsValidationContextFileTrustProperty
+ gen/Stratosphere/AppMesh/VirtualNode/TlsValidationContextProperty.hs view
@@ -0,0 +1,53 @@+module Stratosphere.AppMesh.VirtualNode.TlsValidationContextProperty (+        module Exports, TlsValidationContextProperty(..),+        mkTlsValidationContextProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualNode.SubjectAlternativeNamesProperty as Exports+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualNode.TlsValidationContextTrustProperty as Exports+import Stratosphere.ResourceProperties+data TlsValidationContextProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-tlsvalidationcontext.html>+    TlsValidationContextProperty {haddock_workaround_ :: (),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-tlsvalidationcontext.html#cfn-appmesh-virtualnode-tlsvalidationcontext-subjectalternativenames>+                                  subjectAlternativeNames :: (Prelude.Maybe SubjectAlternativeNamesProperty),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-tlsvalidationcontext.html#cfn-appmesh-virtualnode-tlsvalidationcontext-trust>+                                  trust :: TlsValidationContextTrustProperty}+  deriving stock (Prelude.Eq, Prelude.Show)+mkTlsValidationContextProperty ::+  TlsValidationContextTrustProperty -> TlsValidationContextProperty+mkTlsValidationContextProperty trust+  = TlsValidationContextProperty+      {haddock_workaround_ = (), trust = trust,+       subjectAlternativeNames = Prelude.Nothing}+instance ToResourceProperties TlsValidationContextProperty where+  toResourceProperties TlsValidationContextProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualNode.TlsValidationContext",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Trust" JSON..= trust]+                           (Prelude.catMaybes+                              [(JSON..=) "SubjectAlternativeNames"+                                 Prelude.<$> subjectAlternativeNames]))}+instance JSON.ToJSON TlsValidationContextProperty where+  toJSON TlsValidationContextProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Trust" JSON..= trust]+              (Prelude.catMaybes+                 [(JSON..=) "SubjectAlternativeNames"+                    Prelude.<$> subjectAlternativeNames])))+instance Property "SubjectAlternativeNames" TlsValidationContextProperty where+  type PropertyType "SubjectAlternativeNames" TlsValidationContextProperty = SubjectAlternativeNamesProperty+  set newValue TlsValidationContextProperty {..}+    = TlsValidationContextProperty+        {subjectAlternativeNames = Prelude.pure newValue, ..}+instance Property "Trust" TlsValidationContextProperty where+  type PropertyType "Trust" TlsValidationContextProperty = TlsValidationContextTrustProperty+  set newValue TlsValidationContextProperty {..}+    = TlsValidationContextProperty {trust = newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualNode/TlsValidationContextProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.VirtualNode.TlsValidationContextProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data TlsValidationContextProperty :: Prelude.Type+instance ToResourceProperties TlsValidationContextProperty+instance Prelude.Eq TlsValidationContextProperty+instance Prelude.Show TlsValidationContextProperty+instance JSON.ToJSON TlsValidationContextProperty
+ gen/Stratosphere/AppMesh/VirtualNode/TlsValidationContextSdsTrustProperty.hs view
@@ -0,0 +1,33 @@+module Stratosphere.AppMesh.VirtualNode.TlsValidationContextSdsTrustProperty (+        TlsValidationContextSdsTrustProperty(..),+        mkTlsValidationContextSdsTrustProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data TlsValidationContextSdsTrustProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-tlsvalidationcontextsdstrust.html>+    TlsValidationContextSdsTrustProperty {haddock_workaround_ :: (),+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-tlsvalidationcontextsdstrust.html#cfn-appmesh-virtualnode-tlsvalidationcontextsdstrust-secretname>+                                          secretName :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkTlsValidationContextSdsTrustProperty ::+  Value Prelude.Text -> TlsValidationContextSdsTrustProperty+mkTlsValidationContextSdsTrustProperty secretName+  = TlsValidationContextSdsTrustProperty+      {haddock_workaround_ = (), secretName = secretName}+instance ToResourceProperties TlsValidationContextSdsTrustProperty where+  toResourceProperties TlsValidationContextSdsTrustProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualNode.TlsValidationContextSdsTrust",+         supportsTags = Prelude.False,+         properties = ["SecretName" JSON..= secretName]}+instance JSON.ToJSON TlsValidationContextSdsTrustProperty where+  toJSON TlsValidationContextSdsTrustProperty {..}+    = JSON.object ["SecretName" JSON..= secretName]+instance Property "SecretName" TlsValidationContextSdsTrustProperty where+  type PropertyType "SecretName" TlsValidationContextSdsTrustProperty = Value Prelude.Text+  set newValue TlsValidationContextSdsTrustProperty {..}+    = TlsValidationContextSdsTrustProperty {secretName = newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualNode/TlsValidationContextSdsTrustProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.VirtualNode.TlsValidationContextSdsTrustProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data TlsValidationContextSdsTrustProperty :: Prelude.Type+instance ToResourceProperties TlsValidationContextSdsTrustProperty+instance Prelude.Eq TlsValidationContextSdsTrustProperty+instance Prelude.Show TlsValidationContextSdsTrustProperty+instance JSON.ToJSON TlsValidationContextSdsTrustProperty
+ gen/Stratosphere/AppMesh/VirtualNode/TlsValidationContextTrustProperty.hs view
@@ -0,0 +1,60 @@+module Stratosphere.AppMesh.VirtualNode.TlsValidationContextTrustProperty (+        module Exports, TlsValidationContextTrustProperty(..),+        mkTlsValidationContextTrustProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualNode.TlsValidationContextAcmTrustProperty as Exports+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualNode.TlsValidationContextFileTrustProperty as Exports+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualNode.TlsValidationContextSdsTrustProperty as Exports+import Stratosphere.ResourceProperties+data TlsValidationContextTrustProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-tlsvalidationcontexttrust.html>+    TlsValidationContextTrustProperty {haddock_workaround_ :: (),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-tlsvalidationcontexttrust.html#cfn-appmesh-virtualnode-tlsvalidationcontexttrust-acm>+                                       aCM :: (Prelude.Maybe TlsValidationContextAcmTrustProperty),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-tlsvalidationcontexttrust.html#cfn-appmesh-virtualnode-tlsvalidationcontexttrust-file>+                                       file :: (Prelude.Maybe TlsValidationContextFileTrustProperty),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-tlsvalidationcontexttrust.html#cfn-appmesh-virtualnode-tlsvalidationcontexttrust-sds>+                                       sDS :: (Prelude.Maybe TlsValidationContextSdsTrustProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkTlsValidationContextTrustProperty ::+  TlsValidationContextTrustProperty+mkTlsValidationContextTrustProperty+  = TlsValidationContextTrustProperty+      {haddock_workaround_ = (), aCM = Prelude.Nothing,+       file = Prelude.Nothing, sDS = Prelude.Nothing}+instance ToResourceProperties TlsValidationContextTrustProperty where+  toResourceProperties TlsValidationContextTrustProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualNode.TlsValidationContextTrust",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "ACM" Prelude.<$> aCM,+                            (JSON..=) "File" Prelude.<$> file,+                            (JSON..=) "SDS" Prelude.<$> sDS])}+instance JSON.ToJSON TlsValidationContextTrustProperty where+  toJSON TlsValidationContextTrustProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "ACM" Prelude.<$> aCM,+               (JSON..=) "File" Prelude.<$> file,+               (JSON..=) "SDS" Prelude.<$> sDS]))+instance Property "ACM" TlsValidationContextTrustProperty where+  type PropertyType "ACM" TlsValidationContextTrustProperty = TlsValidationContextAcmTrustProperty+  set newValue TlsValidationContextTrustProperty {..}+    = TlsValidationContextTrustProperty+        {aCM = Prelude.pure newValue, ..}+instance Property "File" TlsValidationContextTrustProperty where+  type PropertyType "File" TlsValidationContextTrustProperty = TlsValidationContextFileTrustProperty+  set newValue TlsValidationContextTrustProperty {..}+    = TlsValidationContextTrustProperty+        {file = Prelude.pure newValue, ..}+instance Property "SDS" TlsValidationContextTrustProperty where+  type PropertyType "SDS" TlsValidationContextTrustProperty = TlsValidationContextSdsTrustProperty+  set newValue TlsValidationContextTrustProperty {..}+    = TlsValidationContextTrustProperty+        {sDS = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualNode/TlsValidationContextTrustProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.VirtualNode.TlsValidationContextTrustProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data TlsValidationContextTrustProperty :: Prelude.Type+instance ToResourceProperties TlsValidationContextTrustProperty+instance Prelude.Eq TlsValidationContextTrustProperty+instance Prelude.Show TlsValidationContextTrustProperty+instance JSON.ToJSON TlsValidationContextTrustProperty
+ gen/Stratosphere/AppMesh/VirtualNode/VirtualNodeConnectionPoolProperty.hs view
@@ -0,0 +1,71 @@+module Stratosphere.AppMesh.VirtualNode.VirtualNodeConnectionPoolProperty (+        module Exports, VirtualNodeConnectionPoolProperty(..),+        mkVirtualNodeConnectionPoolProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualNode.VirtualNodeGrpcConnectionPoolProperty as Exports+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualNode.VirtualNodeHttp2ConnectionPoolProperty as Exports+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualNode.VirtualNodeHttpConnectionPoolProperty as Exports+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualNode.VirtualNodeTcpConnectionPoolProperty as Exports+import Stratosphere.ResourceProperties+data VirtualNodeConnectionPoolProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodeconnectionpool.html>+    VirtualNodeConnectionPoolProperty {haddock_workaround_ :: (),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodeconnectionpool.html#cfn-appmesh-virtualnode-virtualnodeconnectionpool-grpc>+                                       gRPC :: (Prelude.Maybe VirtualNodeGrpcConnectionPoolProperty),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodeconnectionpool.html#cfn-appmesh-virtualnode-virtualnodeconnectionpool-http>+                                       hTTP :: (Prelude.Maybe VirtualNodeHttpConnectionPoolProperty),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodeconnectionpool.html#cfn-appmesh-virtualnode-virtualnodeconnectionpool-http2>+                                       hTTP2 :: (Prelude.Maybe VirtualNodeHttp2ConnectionPoolProperty),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodeconnectionpool.html#cfn-appmesh-virtualnode-virtualnodeconnectionpool-tcp>+                                       tCP :: (Prelude.Maybe VirtualNodeTcpConnectionPoolProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkVirtualNodeConnectionPoolProperty ::+  VirtualNodeConnectionPoolProperty+mkVirtualNodeConnectionPoolProperty+  = VirtualNodeConnectionPoolProperty+      {haddock_workaround_ = (), gRPC = Prelude.Nothing,+       hTTP = Prelude.Nothing, hTTP2 = Prelude.Nothing,+       tCP = Prelude.Nothing}+instance ToResourceProperties VirtualNodeConnectionPoolProperty where+  toResourceProperties VirtualNodeConnectionPoolProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualNode.VirtualNodeConnectionPool",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "GRPC" Prelude.<$> gRPC,+                            (JSON..=) "HTTP" Prelude.<$> hTTP,+                            (JSON..=) "HTTP2" Prelude.<$> hTTP2,+                            (JSON..=) "TCP" Prelude.<$> tCP])}+instance JSON.ToJSON VirtualNodeConnectionPoolProperty where+  toJSON VirtualNodeConnectionPoolProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "GRPC" Prelude.<$> gRPC,+               (JSON..=) "HTTP" Prelude.<$> hTTP,+               (JSON..=) "HTTP2" Prelude.<$> hTTP2,+               (JSON..=) "TCP" Prelude.<$> tCP]))+instance Property "GRPC" VirtualNodeConnectionPoolProperty where+  type PropertyType "GRPC" VirtualNodeConnectionPoolProperty = VirtualNodeGrpcConnectionPoolProperty+  set newValue VirtualNodeConnectionPoolProperty {..}+    = VirtualNodeConnectionPoolProperty+        {gRPC = Prelude.pure newValue, ..}+instance Property "HTTP" VirtualNodeConnectionPoolProperty where+  type PropertyType "HTTP" VirtualNodeConnectionPoolProperty = VirtualNodeHttpConnectionPoolProperty+  set newValue VirtualNodeConnectionPoolProperty {..}+    = VirtualNodeConnectionPoolProperty+        {hTTP = Prelude.pure newValue, ..}+instance Property "HTTP2" VirtualNodeConnectionPoolProperty where+  type PropertyType "HTTP2" VirtualNodeConnectionPoolProperty = VirtualNodeHttp2ConnectionPoolProperty+  set newValue VirtualNodeConnectionPoolProperty {..}+    = VirtualNodeConnectionPoolProperty+        {hTTP2 = Prelude.pure newValue, ..}+instance Property "TCP" VirtualNodeConnectionPoolProperty where+  type PropertyType "TCP" VirtualNodeConnectionPoolProperty = VirtualNodeTcpConnectionPoolProperty+  set newValue VirtualNodeConnectionPoolProperty {..}+    = VirtualNodeConnectionPoolProperty+        {tCP = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualNode/VirtualNodeConnectionPoolProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.VirtualNode.VirtualNodeConnectionPoolProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data VirtualNodeConnectionPoolProperty :: Prelude.Type+instance ToResourceProperties VirtualNodeConnectionPoolProperty+instance Prelude.Eq VirtualNodeConnectionPoolProperty+instance Prelude.Show VirtualNodeConnectionPoolProperty+instance JSON.ToJSON VirtualNodeConnectionPoolProperty
+ gen/Stratosphere/AppMesh/VirtualNode/VirtualNodeGrpcConnectionPoolProperty.hs view
@@ -0,0 +1,34 @@+module Stratosphere.AppMesh.VirtualNode.VirtualNodeGrpcConnectionPoolProperty (+        VirtualNodeGrpcConnectionPoolProperty(..),+        mkVirtualNodeGrpcConnectionPoolProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data VirtualNodeGrpcConnectionPoolProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodegrpcconnectionpool.html>+    VirtualNodeGrpcConnectionPoolProperty {haddock_workaround_ :: (),+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodegrpcconnectionpool.html#cfn-appmesh-virtualnode-virtualnodegrpcconnectionpool-maxrequests>+                                           maxRequests :: (Value Prelude.Integer)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkVirtualNodeGrpcConnectionPoolProperty ::+  Value Prelude.Integer -> VirtualNodeGrpcConnectionPoolProperty+mkVirtualNodeGrpcConnectionPoolProperty maxRequests+  = VirtualNodeGrpcConnectionPoolProperty+      {haddock_workaround_ = (), maxRequests = maxRequests}+instance ToResourceProperties VirtualNodeGrpcConnectionPoolProperty where+  toResourceProperties VirtualNodeGrpcConnectionPoolProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualNode.VirtualNodeGrpcConnectionPool",+         supportsTags = Prelude.False,+         properties = ["MaxRequests" JSON..= maxRequests]}+instance JSON.ToJSON VirtualNodeGrpcConnectionPoolProperty where+  toJSON VirtualNodeGrpcConnectionPoolProperty {..}+    = JSON.object ["MaxRequests" JSON..= maxRequests]+instance Property "MaxRequests" VirtualNodeGrpcConnectionPoolProperty where+  type PropertyType "MaxRequests" VirtualNodeGrpcConnectionPoolProperty = Value Prelude.Integer+  set newValue VirtualNodeGrpcConnectionPoolProperty {..}+    = VirtualNodeGrpcConnectionPoolProperty+        {maxRequests = newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualNode/VirtualNodeGrpcConnectionPoolProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.VirtualNode.VirtualNodeGrpcConnectionPoolProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data VirtualNodeGrpcConnectionPoolProperty :: Prelude.Type+instance ToResourceProperties VirtualNodeGrpcConnectionPoolProperty+instance Prelude.Eq VirtualNodeGrpcConnectionPoolProperty+instance Prelude.Show VirtualNodeGrpcConnectionPoolProperty+instance JSON.ToJSON VirtualNodeGrpcConnectionPoolProperty
+ gen/Stratosphere/AppMesh/VirtualNode/VirtualNodeHttp2ConnectionPoolProperty.hs view
@@ -0,0 +1,34 @@+module Stratosphere.AppMesh.VirtualNode.VirtualNodeHttp2ConnectionPoolProperty (+        VirtualNodeHttp2ConnectionPoolProperty(..),+        mkVirtualNodeHttp2ConnectionPoolProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data VirtualNodeHttp2ConnectionPoolProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodehttp2connectionpool.html>+    VirtualNodeHttp2ConnectionPoolProperty {haddock_workaround_ :: (),+                                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodehttp2connectionpool.html#cfn-appmesh-virtualnode-virtualnodehttp2connectionpool-maxrequests>+                                            maxRequests :: (Value Prelude.Integer)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkVirtualNodeHttp2ConnectionPoolProperty ::+  Value Prelude.Integer -> VirtualNodeHttp2ConnectionPoolProperty+mkVirtualNodeHttp2ConnectionPoolProperty maxRequests+  = VirtualNodeHttp2ConnectionPoolProperty+      {haddock_workaround_ = (), maxRequests = maxRequests}+instance ToResourceProperties VirtualNodeHttp2ConnectionPoolProperty where+  toResourceProperties VirtualNodeHttp2ConnectionPoolProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualNode.VirtualNodeHttp2ConnectionPool",+         supportsTags = Prelude.False,+         properties = ["MaxRequests" JSON..= maxRequests]}+instance JSON.ToJSON VirtualNodeHttp2ConnectionPoolProperty where+  toJSON VirtualNodeHttp2ConnectionPoolProperty {..}+    = JSON.object ["MaxRequests" JSON..= maxRequests]+instance Property "MaxRequests" VirtualNodeHttp2ConnectionPoolProperty where+  type PropertyType "MaxRequests" VirtualNodeHttp2ConnectionPoolProperty = Value Prelude.Integer+  set newValue VirtualNodeHttp2ConnectionPoolProperty {..}+    = VirtualNodeHttp2ConnectionPoolProperty+        {maxRequests = newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualNode/VirtualNodeHttp2ConnectionPoolProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.VirtualNode.VirtualNodeHttp2ConnectionPoolProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data VirtualNodeHttp2ConnectionPoolProperty :: Prelude.Type+instance ToResourceProperties VirtualNodeHttp2ConnectionPoolProperty+instance Prelude.Eq VirtualNodeHttp2ConnectionPoolProperty+instance Prelude.Show VirtualNodeHttp2ConnectionPoolProperty+instance JSON.ToJSON VirtualNodeHttp2ConnectionPoolProperty
+ gen/Stratosphere/AppMesh/VirtualNode/VirtualNodeHttpConnectionPoolProperty.hs view
@@ -0,0 +1,51 @@+module Stratosphere.AppMesh.VirtualNode.VirtualNodeHttpConnectionPoolProperty (+        VirtualNodeHttpConnectionPoolProperty(..),+        mkVirtualNodeHttpConnectionPoolProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data VirtualNodeHttpConnectionPoolProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodehttpconnectionpool.html>+    VirtualNodeHttpConnectionPoolProperty {haddock_workaround_ :: (),+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodehttpconnectionpool.html#cfn-appmesh-virtualnode-virtualnodehttpconnectionpool-maxconnections>+                                           maxConnections :: (Value Prelude.Integer),+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodehttpconnectionpool.html#cfn-appmesh-virtualnode-virtualnodehttpconnectionpool-maxpendingrequests>+                                           maxPendingRequests :: (Prelude.Maybe (Value Prelude.Integer))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkVirtualNodeHttpConnectionPoolProperty ::+  Value Prelude.Integer -> VirtualNodeHttpConnectionPoolProperty+mkVirtualNodeHttpConnectionPoolProperty maxConnections+  = VirtualNodeHttpConnectionPoolProperty+      {haddock_workaround_ = (), maxConnections = maxConnections,+       maxPendingRequests = Prelude.Nothing}+instance ToResourceProperties VirtualNodeHttpConnectionPoolProperty where+  toResourceProperties VirtualNodeHttpConnectionPoolProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualNode.VirtualNodeHttpConnectionPool",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["MaxConnections" JSON..= maxConnections]+                           (Prelude.catMaybes+                              [(JSON..=) "MaxPendingRequests" Prelude.<$> maxPendingRequests]))}+instance JSON.ToJSON VirtualNodeHttpConnectionPoolProperty where+  toJSON VirtualNodeHttpConnectionPoolProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["MaxConnections" JSON..= maxConnections]+              (Prelude.catMaybes+                 [(JSON..=) "MaxPendingRequests" Prelude.<$> maxPendingRequests])))+instance Property "MaxConnections" VirtualNodeHttpConnectionPoolProperty where+  type PropertyType "MaxConnections" VirtualNodeHttpConnectionPoolProperty = Value Prelude.Integer+  set newValue VirtualNodeHttpConnectionPoolProperty {..}+    = VirtualNodeHttpConnectionPoolProperty+        {maxConnections = newValue, ..}+instance Property "MaxPendingRequests" VirtualNodeHttpConnectionPoolProperty where+  type PropertyType "MaxPendingRequests" VirtualNodeHttpConnectionPoolProperty = Value Prelude.Integer+  set newValue VirtualNodeHttpConnectionPoolProperty {..}+    = VirtualNodeHttpConnectionPoolProperty+        {maxPendingRequests = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualNode/VirtualNodeHttpConnectionPoolProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.VirtualNode.VirtualNodeHttpConnectionPoolProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data VirtualNodeHttpConnectionPoolProperty :: Prelude.Type+instance ToResourceProperties VirtualNodeHttpConnectionPoolProperty+instance Prelude.Eq VirtualNodeHttpConnectionPoolProperty+instance Prelude.Show VirtualNodeHttpConnectionPoolProperty+instance JSON.ToJSON VirtualNodeHttpConnectionPoolProperty
+ gen/Stratosphere/AppMesh/VirtualNode/VirtualNodeSpecProperty.hs view
@@ -0,0 +1,77 @@+module Stratosphere.AppMesh.VirtualNode.VirtualNodeSpecProperty (+        module Exports, VirtualNodeSpecProperty(..),+        mkVirtualNodeSpecProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualNode.BackendProperty as Exports+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualNode.BackendDefaultsProperty as Exports+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualNode.ListenerProperty as Exports+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualNode.LoggingProperty as Exports+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualNode.ServiceDiscoveryProperty as Exports+import Stratosphere.ResourceProperties+data VirtualNodeSpecProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodespec.html>+    VirtualNodeSpecProperty {haddock_workaround_ :: (),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodespec.html#cfn-appmesh-virtualnode-virtualnodespec-backenddefaults>+                             backendDefaults :: (Prelude.Maybe BackendDefaultsProperty),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodespec.html#cfn-appmesh-virtualnode-virtualnodespec-backends>+                             backends :: (Prelude.Maybe [BackendProperty]),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodespec.html#cfn-appmesh-virtualnode-virtualnodespec-listeners>+                             listeners :: (Prelude.Maybe [ListenerProperty]),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodespec.html#cfn-appmesh-virtualnode-virtualnodespec-logging>+                             logging :: (Prelude.Maybe LoggingProperty),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodespec.html#cfn-appmesh-virtualnode-virtualnodespec-servicediscovery>+                             serviceDiscovery :: (Prelude.Maybe ServiceDiscoveryProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkVirtualNodeSpecProperty :: VirtualNodeSpecProperty+mkVirtualNodeSpecProperty+  = VirtualNodeSpecProperty+      {haddock_workaround_ = (), backendDefaults = Prelude.Nothing,+       backends = Prelude.Nothing, listeners = Prelude.Nothing,+       logging = Prelude.Nothing, serviceDiscovery = Prelude.Nothing}+instance ToResourceProperties VirtualNodeSpecProperty where+  toResourceProperties VirtualNodeSpecProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualNode.VirtualNodeSpec",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "BackendDefaults" Prelude.<$> backendDefaults,+                            (JSON..=) "Backends" Prelude.<$> backends,+                            (JSON..=) "Listeners" Prelude.<$> listeners,+                            (JSON..=) "Logging" Prelude.<$> logging,+                            (JSON..=) "ServiceDiscovery" Prelude.<$> serviceDiscovery])}+instance JSON.ToJSON VirtualNodeSpecProperty where+  toJSON VirtualNodeSpecProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "BackendDefaults" Prelude.<$> backendDefaults,+               (JSON..=) "Backends" Prelude.<$> backends,+               (JSON..=) "Listeners" Prelude.<$> listeners,+               (JSON..=) "Logging" Prelude.<$> logging,+               (JSON..=) "ServiceDiscovery" Prelude.<$> serviceDiscovery]))+instance Property "BackendDefaults" VirtualNodeSpecProperty where+  type PropertyType "BackendDefaults" VirtualNodeSpecProperty = BackendDefaultsProperty+  set newValue VirtualNodeSpecProperty {..}+    = VirtualNodeSpecProperty+        {backendDefaults = Prelude.pure newValue, ..}+instance Property "Backends" VirtualNodeSpecProperty where+  type PropertyType "Backends" VirtualNodeSpecProperty = [BackendProperty]+  set newValue VirtualNodeSpecProperty {..}+    = VirtualNodeSpecProperty {backends = Prelude.pure newValue, ..}+instance Property "Listeners" VirtualNodeSpecProperty where+  type PropertyType "Listeners" VirtualNodeSpecProperty = [ListenerProperty]+  set newValue VirtualNodeSpecProperty {..}+    = VirtualNodeSpecProperty {listeners = Prelude.pure newValue, ..}+instance Property "Logging" VirtualNodeSpecProperty where+  type PropertyType "Logging" VirtualNodeSpecProperty = LoggingProperty+  set newValue VirtualNodeSpecProperty {..}+    = VirtualNodeSpecProperty {logging = Prelude.pure newValue, ..}+instance Property "ServiceDiscovery" VirtualNodeSpecProperty where+  type PropertyType "ServiceDiscovery" VirtualNodeSpecProperty = ServiceDiscoveryProperty+  set newValue VirtualNodeSpecProperty {..}+    = VirtualNodeSpecProperty+        {serviceDiscovery = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualNode/VirtualNodeSpecProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.VirtualNode.VirtualNodeSpecProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data VirtualNodeSpecProperty :: Prelude.Type+instance ToResourceProperties VirtualNodeSpecProperty+instance Prelude.Eq VirtualNodeSpecProperty+instance Prelude.Show VirtualNodeSpecProperty+instance JSON.ToJSON VirtualNodeSpecProperty
+ gen/Stratosphere/AppMesh/VirtualNode/VirtualNodeTcpConnectionPoolProperty.hs view
@@ -0,0 +1,34 @@+module Stratosphere.AppMesh.VirtualNode.VirtualNodeTcpConnectionPoolProperty (+        VirtualNodeTcpConnectionPoolProperty(..),+        mkVirtualNodeTcpConnectionPoolProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data VirtualNodeTcpConnectionPoolProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodetcpconnectionpool.html>+    VirtualNodeTcpConnectionPoolProperty {haddock_workaround_ :: (),+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodetcpconnectionpool.html#cfn-appmesh-virtualnode-virtualnodetcpconnectionpool-maxconnections>+                                          maxConnections :: (Value Prelude.Integer)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkVirtualNodeTcpConnectionPoolProperty ::+  Value Prelude.Integer -> VirtualNodeTcpConnectionPoolProperty+mkVirtualNodeTcpConnectionPoolProperty maxConnections+  = VirtualNodeTcpConnectionPoolProperty+      {haddock_workaround_ = (), maxConnections = maxConnections}+instance ToResourceProperties VirtualNodeTcpConnectionPoolProperty where+  toResourceProperties VirtualNodeTcpConnectionPoolProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualNode.VirtualNodeTcpConnectionPool",+         supportsTags = Prelude.False,+         properties = ["MaxConnections" JSON..= maxConnections]}+instance JSON.ToJSON VirtualNodeTcpConnectionPoolProperty where+  toJSON VirtualNodeTcpConnectionPoolProperty {..}+    = JSON.object ["MaxConnections" JSON..= maxConnections]+instance Property "MaxConnections" VirtualNodeTcpConnectionPoolProperty where+  type PropertyType "MaxConnections" VirtualNodeTcpConnectionPoolProperty = Value Prelude.Integer+  set newValue VirtualNodeTcpConnectionPoolProperty {..}+    = VirtualNodeTcpConnectionPoolProperty+        {maxConnections = newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualNode/VirtualNodeTcpConnectionPoolProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.VirtualNode.VirtualNodeTcpConnectionPoolProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data VirtualNodeTcpConnectionPoolProperty :: Prelude.Type+instance ToResourceProperties VirtualNodeTcpConnectionPoolProperty+instance Prelude.Eq VirtualNodeTcpConnectionPoolProperty+instance Prelude.Show VirtualNodeTcpConnectionPoolProperty+instance JSON.ToJSON VirtualNodeTcpConnectionPoolProperty
+ gen/Stratosphere/AppMesh/VirtualNode/VirtualServiceBackendProperty.hs view
@@ -0,0 +1,51 @@+module Stratosphere.AppMesh.VirtualNode.VirtualServiceBackendProperty (+        module Exports, VirtualServiceBackendProperty(..),+        mkVirtualServiceBackendProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualNode.ClientPolicyProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data VirtualServiceBackendProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualservicebackend.html>+    VirtualServiceBackendProperty {haddock_workaround_ :: (),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualservicebackend.html#cfn-appmesh-virtualnode-virtualservicebackend-clientpolicy>+                                   clientPolicy :: (Prelude.Maybe ClientPolicyProperty),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualservicebackend.html#cfn-appmesh-virtualnode-virtualservicebackend-virtualservicename>+                                   virtualServiceName :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkVirtualServiceBackendProperty ::+  Value Prelude.Text -> VirtualServiceBackendProperty+mkVirtualServiceBackendProperty virtualServiceName+  = VirtualServiceBackendProperty+      {haddock_workaround_ = (), virtualServiceName = virtualServiceName,+       clientPolicy = Prelude.Nothing}+instance ToResourceProperties VirtualServiceBackendProperty where+  toResourceProperties VirtualServiceBackendProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualNode.VirtualServiceBackend",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["VirtualServiceName" JSON..= virtualServiceName]+                           (Prelude.catMaybes+                              [(JSON..=) "ClientPolicy" Prelude.<$> clientPolicy]))}+instance JSON.ToJSON VirtualServiceBackendProperty where+  toJSON VirtualServiceBackendProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["VirtualServiceName" JSON..= virtualServiceName]+              (Prelude.catMaybes+                 [(JSON..=) "ClientPolicy" Prelude.<$> clientPolicy])))+instance Property "ClientPolicy" VirtualServiceBackendProperty where+  type PropertyType "ClientPolicy" VirtualServiceBackendProperty = ClientPolicyProperty+  set newValue VirtualServiceBackendProperty {..}+    = VirtualServiceBackendProperty+        {clientPolicy = Prelude.pure newValue, ..}+instance Property "VirtualServiceName" VirtualServiceBackendProperty where+  type PropertyType "VirtualServiceName" VirtualServiceBackendProperty = Value Prelude.Text+  set newValue VirtualServiceBackendProperty {..}+    = VirtualServiceBackendProperty {virtualServiceName = newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualNode/VirtualServiceBackendProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.VirtualNode.VirtualServiceBackendProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data VirtualServiceBackendProperty :: Prelude.Type+instance ToResourceProperties VirtualServiceBackendProperty+instance Prelude.Eq VirtualServiceBackendProperty+instance Prelude.Show VirtualServiceBackendProperty+instance JSON.ToJSON VirtualServiceBackendProperty
+ gen/Stratosphere/AppMesh/VirtualRouter.hs view
@@ -0,0 +1,73 @@+module Stratosphere.AppMesh.VirtualRouter (+        module Exports, VirtualRouter(..), mkVirtualRouter+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualRouter.VirtualRouterSpecProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Tag+import Stratosphere.Value+data VirtualRouter+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualrouter.html>+    VirtualRouter {haddock_workaround_ :: (),+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualrouter.html#cfn-appmesh-virtualrouter-meshname>+                   meshName :: (Value Prelude.Text),+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualrouter.html#cfn-appmesh-virtualrouter-meshowner>+                   meshOwner :: (Prelude.Maybe (Value Prelude.Text)),+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualrouter.html#cfn-appmesh-virtualrouter-spec>+                   spec :: VirtualRouterSpecProperty,+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualrouter.html#cfn-appmesh-virtualrouter-tags>+                   tags :: (Prelude.Maybe [Tag]),+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualrouter.html#cfn-appmesh-virtualrouter-virtualroutername>+                   virtualRouterName :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkVirtualRouter ::+  Value Prelude.Text -> VirtualRouterSpecProperty -> VirtualRouter+mkVirtualRouter meshName spec+  = VirtualRouter+      {haddock_workaround_ = (), meshName = meshName, spec = spec,+       meshOwner = Prelude.Nothing, tags = Prelude.Nothing,+       virtualRouterName = Prelude.Nothing}+instance ToResourceProperties VirtualRouter where+  toResourceProperties VirtualRouter {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualRouter",+         supportsTags = Prelude.True,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["MeshName" JSON..= meshName, "Spec" JSON..= spec]+                           (Prelude.catMaybes+                              [(JSON..=) "MeshOwner" Prelude.<$> meshOwner,+                               (JSON..=) "Tags" Prelude.<$> tags,+                               (JSON..=) "VirtualRouterName" Prelude.<$> virtualRouterName]))}+instance JSON.ToJSON VirtualRouter where+  toJSON VirtualRouter {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["MeshName" JSON..= meshName, "Spec" JSON..= spec]+              (Prelude.catMaybes+                 [(JSON..=) "MeshOwner" Prelude.<$> meshOwner,+                  (JSON..=) "Tags" Prelude.<$> tags,+                  (JSON..=) "VirtualRouterName" Prelude.<$> virtualRouterName])))+instance Property "MeshName" VirtualRouter where+  type PropertyType "MeshName" VirtualRouter = Value Prelude.Text+  set newValue VirtualRouter {..}+    = VirtualRouter {meshName = newValue, ..}+instance Property "MeshOwner" VirtualRouter where+  type PropertyType "MeshOwner" VirtualRouter = Value Prelude.Text+  set newValue VirtualRouter {..}+    = VirtualRouter {meshOwner = Prelude.pure newValue, ..}+instance Property "Spec" VirtualRouter where+  type PropertyType "Spec" VirtualRouter = VirtualRouterSpecProperty+  set newValue VirtualRouter {..}+    = VirtualRouter {spec = newValue, ..}+instance Property "Tags" VirtualRouter where+  type PropertyType "Tags" VirtualRouter = [Tag]+  set newValue VirtualRouter {..}+    = VirtualRouter {tags = Prelude.pure newValue, ..}+instance Property "VirtualRouterName" VirtualRouter where+  type PropertyType "VirtualRouterName" VirtualRouter = Value Prelude.Text+  set newValue VirtualRouter {..}+    = VirtualRouter {virtualRouterName = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualRouter/PortMappingProperty.hs view
@@ -0,0 +1,38 @@+module Stratosphere.AppMesh.VirtualRouter.PortMappingProperty (+        PortMappingProperty(..), mkPortMappingProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data PortMappingProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualrouter-portmapping.html>+    PortMappingProperty {haddock_workaround_ :: (),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualrouter-portmapping.html#cfn-appmesh-virtualrouter-portmapping-port>+                         port :: (Value Prelude.Integer),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualrouter-portmapping.html#cfn-appmesh-virtualrouter-portmapping-protocol>+                         protocol :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkPortMappingProperty ::+  Value Prelude.Integer -> Value Prelude.Text -> PortMappingProperty+mkPortMappingProperty port protocol+  = PortMappingProperty+      {haddock_workaround_ = (), port = port, protocol = protocol}+instance ToResourceProperties PortMappingProperty where+  toResourceProperties PortMappingProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualRouter.PortMapping",+         supportsTags = Prelude.False,+         properties = ["Port" JSON..= port, "Protocol" JSON..= protocol]}+instance JSON.ToJSON PortMappingProperty where+  toJSON PortMappingProperty {..}+    = JSON.object ["Port" JSON..= port, "Protocol" JSON..= protocol]+instance Property "Port" PortMappingProperty where+  type PropertyType "Port" PortMappingProperty = Value Prelude.Integer+  set newValue PortMappingProperty {..}+    = PortMappingProperty {port = newValue, ..}+instance Property "Protocol" PortMappingProperty where+  type PropertyType "Protocol" PortMappingProperty = Value Prelude.Text+  set newValue PortMappingProperty {..}+    = PortMappingProperty {protocol = newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualRouter/PortMappingProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.VirtualRouter.PortMappingProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data PortMappingProperty :: Prelude.Type+instance ToResourceProperties PortMappingProperty+instance Prelude.Eq PortMappingProperty+instance Prelude.Show PortMappingProperty+instance JSON.ToJSON PortMappingProperty
+ gen/Stratosphere/AppMesh/VirtualRouter/VirtualRouterListenerProperty.hs view
@@ -0,0 +1,33 @@+module Stratosphere.AppMesh.VirtualRouter.VirtualRouterListenerProperty (+        module Exports, VirtualRouterListenerProperty(..),+        mkVirtualRouterListenerProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualRouter.PortMappingProperty as Exports+import Stratosphere.ResourceProperties+data VirtualRouterListenerProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualrouter-virtualrouterlistener.html>+    VirtualRouterListenerProperty {haddock_workaround_ :: (),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualrouter-virtualrouterlistener.html#cfn-appmesh-virtualrouter-virtualrouterlistener-portmapping>+                                   portMapping :: PortMappingProperty}+  deriving stock (Prelude.Eq, Prelude.Show)+mkVirtualRouterListenerProperty ::+  PortMappingProperty -> VirtualRouterListenerProperty+mkVirtualRouterListenerProperty portMapping+  = VirtualRouterListenerProperty+      {haddock_workaround_ = (), portMapping = portMapping}+instance ToResourceProperties VirtualRouterListenerProperty where+  toResourceProperties VirtualRouterListenerProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualRouter.VirtualRouterListener",+         supportsTags = Prelude.False,+         properties = ["PortMapping" JSON..= portMapping]}+instance JSON.ToJSON VirtualRouterListenerProperty where+  toJSON VirtualRouterListenerProperty {..}+    = JSON.object ["PortMapping" JSON..= portMapping]+instance Property "PortMapping" VirtualRouterListenerProperty where+  type PropertyType "PortMapping" VirtualRouterListenerProperty = PortMappingProperty+  set newValue VirtualRouterListenerProperty {..}+    = VirtualRouterListenerProperty {portMapping = newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualRouter/VirtualRouterListenerProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.VirtualRouter.VirtualRouterListenerProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data VirtualRouterListenerProperty :: Prelude.Type+instance ToResourceProperties VirtualRouterListenerProperty+instance Prelude.Eq VirtualRouterListenerProperty+instance Prelude.Show VirtualRouterListenerProperty+instance JSON.ToJSON VirtualRouterListenerProperty
+ gen/Stratosphere/AppMesh/VirtualRouter/VirtualRouterSpecProperty.hs view
@@ -0,0 +1,33 @@+module Stratosphere.AppMesh.VirtualRouter.VirtualRouterSpecProperty (+        module Exports, VirtualRouterSpecProperty(..),+        mkVirtualRouterSpecProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualRouter.VirtualRouterListenerProperty as Exports+import Stratosphere.ResourceProperties+data VirtualRouterSpecProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualrouter-virtualrouterspec.html>+    VirtualRouterSpecProperty {haddock_workaround_ :: (),+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualrouter-virtualrouterspec.html#cfn-appmesh-virtualrouter-virtualrouterspec-listeners>+                               listeners :: [VirtualRouterListenerProperty]}+  deriving stock (Prelude.Eq, Prelude.Show)+mkVirtualRouterSpecProperty ::+  [VirtualRouterListenerProperty] -> VirtualRouterSpecProperty+mkVirtualRouterSpecProperty listeners+  = VirtualRouterSpecProperty+      {haddock_workaround_ = (), listeners = listeners}+instance ToResourceProperties VirtualRouterSpecProperty where+  toResourceProperties VirtualRouterSpecProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualRouter.VirtualRouterSpec",+         supportsTags = Prelude.False,+         properties = ["Listeners" JSON..= listeners]}+instance JSON.ToJSON VirtualRouterSpecProperty where+  toJSON VirtualRouterSpecProperty {..}+    = JSON.object ["Listeners" JSON..= listeners]+instance Property "Listeners" VirtualRouterSpecProperty where+  type PropertyType "Listeners" VirtualRouterSpecProperty = [VirtualRouterListenerProperty]+  set newValue VirtualRouterSpecProperty {..}+    = VirtualRouterSpecProperty {listeners = newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualRouter/VirtualRouterSpecProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.VirtualRouter.VirtualRouterSpecProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data VirtualRouterSpecProperty :: Prelude.Type+instance ToResourceProperties VirtualRouterSpecProperty+instance Prelude.Eq VirtualRouterSpecProperty+instance Prelude.Show VirtualRouterSpecProperty+instance JSON.ToJSON VirtualRouterSpecProperty
+ gen/Stratosphere/AppMesh/VirtualService.hs view
@@ -0,0 +1,75 @@+module Stratosphere.AppMesh.VirtualService (+        module Exports, VirtualService(..), mkVirtualService+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualService.VirtualServiceSpecProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Tag+import Stratosphere.Value+data VirtualService+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualservice.html>+    VirtualService {haddock_workaround_ :: (),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualservice.html#cfn-appmesh-virtualservice-meshname>+                    meshName :: (Value Prelude.Text),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualservice.html#cfn-appmesh-virtualservice-meshowner>+                    meshOwner :: (Prelude.Maybe (Value Prelude.Text)),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualservice.html#cfn-appmesh-virtualservice-spec>+                    spec :: VirtualServiceSpecProperty,+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualservice.html#cfn-appmesh-virtualservice-tags>+                    tags :: (Prelude.Maybe [Tag]),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualservice.html#cfn-appmesh-virtualservice-virtualservicename>+                    virtualServiceName :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkVirtualService ::+  Value Prelude.Text+  -> VirtualServiceSpecProperty+     -> Value Prelude.Text -> VirtualService+mkVirtualService meshName spec virtualServiceName+  = VirtualService+      {haddock_workaround_ = (), meshName = meshName, spec = spec,+       virtualServiceName = virtualServiceName,+       meshOwner = Prelude.Nothing, tags = Prelude.Nothing}+instance ToResourceProperties VirtualService where+  toResourceProperties VirtualService {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualService",+         supportsTags = Prelude.True,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["MeshName" JSON..= meshName, "Spec" JSON..= spec,+                            "VirtualServiceName" JSON..= virtualServiceName]+                           (Prelude.catMaybes+                              [(JSON..=) "MeshOwner" Prelude.<$> meshOwner,+                               (JSON..=) "Tags" Prelude.<$> tags]))}+instance JSON.ToJSON VirtualService where+  toJSON VirtualService {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["MeshName" JSON..= meshName, "Spec" JSON..= spec,+               "VirtualServiceName" JSON..= virtualServiceName]+              (Prelude.catMaybes+                 [(JSON..=) "MeshOwner" Prelude.<$> meshOwner,+                  (JSON..=) "Tags" Prelude.<$> tags])))+instance Property "MeshName" VirtualService where+  type PropertyType "MeshName" VirtualService = Value Prelude.Text+  set newValue VirtualService {..}+    = VirtualService {meshName = newValue, ..}+instance Property "MeshOwner" VirtualService where+  type PropertyType "MeshOwner" VirtualService = Value Prelude.Text+  set newValue VirtualService {..}+    = VirtualService {meshOwner = Prelude.pure newValue, ..}+instance Property "Spec" VirtualService where+  type PropertyType "Spec" VirtualService = VirtualServiceSpecProperty+  set newValue VirtualService {..}+    = VirtualService {spec = newValue, ..}+instance Property "Tags" VirtualService where+  type PropertyType "Tags" VirtualService = [Tag]+  set newValue VirtualService {..}+    = VirtualService {tags = Prelude.pure newValue, ..}+instance Property "VirtualServiceName" VirtualService where+  type PropertyType "VirtualServiceName" VirtualService = Value Prelude.Text+  set newValue VirtualService {..}+    = VirtualService {virtualServiceName = newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualService/VirtualNodeServiceProviderProperty.hs view
@@ -0,0 +1,34 @@+module Stratosphere.AppMesh.VirtualService.VirtualNodeServiceProviderProperty (+        VirtualNodeServiceProviderProperty(..),+        mkVirtualNodeServiceProviderProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data VirtualNodeServiceProviderProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualservice-virtualnodeserviceprovider.html>+    VirtualNodeServiceProviderProperty {haddock_workaround_ :: (),+                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualservice-virtualnodeserviceprovider.html#cfn-appmesh-virtualservice-virtualnodeserviceprovider-virtualnodename>+                                        virtualNodeName :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkVirtualNodeServiceProviderProperty ::+  Value Prelude.Text -> VirtualNodeServiceProviderProperty+mkVirtualNodeServiceProviderProperty virtualNodeName+  = VirtualNodeServiceProviderProperty+      {haddock_workaround_ = (), virtualNodeName = virtualNodeName}+instance ToResourceProperties VirtualNodeServiceProviderProperty where+  toResourceProperties VirtualNodeServiceProviderProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualService.VirtualNodeServiceProvider",+         supportsTags = Prelude.False,+         properties = ["VirtualNodeName" JSON..= virtualNodeName]}+instance JSON.ToJSON VirtualNodeServiceProviderProperty where+  toJSON VirtualNodeServiceProviderProperty {..}+    = JSON.object ["VirtualNodeName" JSON..= virtualNodeName]+instance Property "VirtualNodeName" VirtualNodeServiceProviderProperty where+  type PropertyType "VirtualNodeName" VirtualNodeServiceProviderProperty = Value Prelude.Text+  set newValue VirtualNodeServiceProviderProperty {..}+    = VirtualNodeServiceProviderProperty+        {virtualNodeName = newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualService/VirtualNodeServiceProviderProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.VirtualService.VirtualNodeServiceProviderProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data VirtualNodeServiceProviderProperty :: Prelude.Type+instance ToResourceProperties VirtualNodeServiceProviderProperty+instance Prelude.Eq VirtualNodeServiceProviderProperty+instance Prelude.Show VirtualNodeServiceProviderProperty+instance JSON.ToJSON VirtualNodeServiceProviderProperty
+ gen/Stratosphere/AppMesh/VirtualService/VirtualRouterServiceProviderProperty.hs view
@@ -0,0 +1,34 @@+module Stratosphere.AppMesh.VirtualService.VirtualRouterServiceProviderProperty (+        VirtualRouterServiceProviderProperty(..),+        mkVirtualRouterServiceProviderProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data VirtualRouterServiceProviderProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualservice-virtualrouterserviceprovider.html>+    VirtualRouterServiceProviderProperty {haddock_workaround_ :: (),+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualservice-virtualrouterserviceprovider.html#cfn-appmesh-virtualservice-virtualrouterserviceprovider-virtualroutername>+                                          virtualRouterName :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkVirtualRouterServiceProviderProperty ::+  Value Prelude.Text -> VirtualRouterServiceProviderProperty+mkVirtualRouterServiceProviderProperty virtualRouterName+  = VirtualRouterServiceProviderProperty+      {haddock_workaround_ = (), virtualRouterName = virtualRouterName}+instance ToResourceProperties VirtualRouterServiceProviderProperty where+  toResourceProperties VirtualRouterServiceProviderProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualService.VirtualRouterServiceProvider",+         supportsTags = Prelude.False,+         properties = ["VirtualRouterName" JSON..= virtualRouterName]}+instance JSON.ToJSON VirtualRouterServiceProviderProperty where+  toJSON VirtualRouterServiceProviderProperty {..}+    = JSON.object ["VirtualRouterName" JSON..= virtualRouterName]+instance Property "VirtualRouterName" VirtualRouterServiceProviderProperty where+  type PropertyType "VirtualRouterName" VirtualRouterServiceProviderProperty = Value Prelude.Text+  set newValue VirtualRouterServiceProviderProperty {..}+    = VirtualRouterServiceProviderProperty+        {virtualRouterName = newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualService/VirtualRouterServiceProviderProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.VirtualService.VirtualRouterServiceProviderProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data VirtualRouterServiceProviderProperty :: Prelude.Type+instance ToResourceProperties VirtualRouterServiceProviderProperty+instance Prelude.Eq VirtualRouterServiceProviderProperty+instance Prelude.Show VirtualRouterServiceProviderProperty+instance JSON.ToJSON VirtualRouterServiceProviderProperty
+ gen/Stratosphere/AppMesh/VirtualService/VirtualServiceProviderProperty.hs view
@@ -0,0 +1,49 @@+module Stratosphere.AppMesh.VirtualService.VirtualServiceProviderProperty (+        module Exports, VirtualServiceProviderProperty(..),+        mkVirtualServiceProviderProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualService.VirtualNodeServiceProviderProperty as Exports+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualService.VirtualRouterServiceProviderProperty as Exports+import Stratosphere.ResourceProperties+data VirtualServiceProviderProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualservice-virtualserviceprovider.html>+    VirtualServiceProviderProperty {haddock_workaround_ :: (),+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualservice-virtualserviceprovider.html#cfn-appmesh-virtualservice-virtualserviceprovider-virtualnode>+                                    virtualNode :: (Prelude.Maybe VirtualNodeServiceProviderProperty),+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualservice-virtualserviceprovider.html#cfn-appmesh-virtualservice-virtualserviceprovider-virtualrouter>+                                    virtualRouter :: (Prelude.Maybe VirtualRouterServiceProviderProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkVirtualServiceProviderProperty :: VirtualServiceProviderProperty+mkVirtualServiceProviderProperty+  = VirtualServiceProviderProperty+      {haddock_workaround_ = (), virtualNode = Prelude.Nothing,+       virtualRouter = Prelude.Nothing}+instance ToResourceProperties VirtualServiceProviderProperty where+  toResourceProperties VirtualServiceProviderProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualService.VirtualServiceProvider",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "VirtualNode" Prelude.<$> virtualNode,+                            (JSON..=) "VirtualRouter" Prelude.<$> virtualRouter])}+instance JSON.ToJSON VirtualServiceProviderProperty where+  toJSON VirtualServiceProviderProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "VirtualNode" Prelude.<$> virtualNode,+               (JSON..=) "VirtualRouter" Prelude.<$> virtualRouter]))+instance Property "VirtualNode" VirtualServiceProviderProperty where+  type PropertyType "VirtualNode" VirtualServiceProviderProperty = VirtualNodeServiceProviderProperty+  set newValue VirtualServiceProviderProperty {..}+    = VirtualServiceProviderProperty+        {virtualNode = Prelude.pure newValue, ..}+instance Property "VirtualRouter" VirtualServiceProviderProperty where+  type PropertyType "VirtualRouter" VirtualServiceProviderProperty = VirtualRouterServiceProviderProperty+  set newValue VirtualServiceProviderProperty {..}+    = VirtualServiceProviderProperty+        {virtualRouter = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualService/VirtualServiceProviderProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.VirtualService.VirtualServiceProviderProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data VirtualServiceProviderProperty :: Prelude.Type+instance ToResourceProperties VirtualServiceProviderProperty+instance Prelude.Eq VirtualServiceProviderProperty+instance Prelude.Show VirtualServiceProviderProperty+instance JSON.ToJSON VirtualServiceProviderProperty
+ gen/Stratosphere/AppMesh/VirtualService/VirtualServiceSpecProperty.hs view
@@ -0,0 +1,35 @@+module Stratosphere.AppMesh.VirtualService.VirtualServiceSpecProperty (+        module Exports, VirtualServiceSpecProperty(..),+        mkVirtualServiceSpecProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppMesh.VirtualService.VirtualServiceProviderProperty as Exports+import Stratosphere.ResourceProperties+data VirtualServiceSpecProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualservice-virtualservicespec.html>+    VirtualServiceSpecProperty {haddock_workaround_ :: (),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualservice-virtualservicespec.html#cfn-appmesh-virtualservice-virtualservicespec-provider>+                                provider :: (Prelude.Maybe VirtualServiceProviderProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkVirtualServiceSpecProperty :: VirtualServiceSpecProperty+mkVirtualServiceSpecProperty+  = VirtualServiceSpecProperty+      {haddock_workaround_ = (), provider = Prelude.Nothing}+instance ToResourceProperties VirtualServiceSpecProperty where+  toResourceProperties VirtualServiceSpecProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppMesh::VirtualService.VirtualServiceSpec",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes [(JSON..=) "Provider" Prelude.<$> provider])}+instance JSON.ToJSON VirtualServiceSpecProperty where+  toJSON VirtualServiceSpecProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes [(JSON..=) "Provider" Prelude.<$> provider]))+instance Property "Provider" VirtualServiceSpecProperty where+  type PropertyType "Provider" VirtualServiceSpecProperty = VirtualServiceProviderProperty+  set newValue VirtualServiceSpecProperty {..}+    = VirtualServiceSpecProperty {provider = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppMesh/VirtualService/VirtualServiceSpecProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppMesh.VirtualService.VirtualServiceSpecProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data VirtualServiceSpecProperty :: Prelude.Type+instance ToResourceProperties VirtualServiceSpecProperty+instance Prelude.Eq VirtualServiceSpecProperty+instance Prelude.Show VirtualServiceSpecProperty+instance JSON.ToJSON VirtualServiceSpecProperty
+ stratosphere-appmesh.cabal view
@@ -0,0 +1,212 @@+cabal-version: 1.12++-- This file has been generated from package.yaml by hpack version 0.38.2.+--+-- see: https://github.com/sol/hpack++name:           stratosphere-appmesh+version:        1.0.0+synopsis:       Stratosphere integration for AWS AppMesh.+description:    Integration into stratosphere to generate resources and properties for AWS AppMesh+category:       AWS, Cloud, AppMesh+stability:      experimental+homepage:       https://github.com/mbj/stratosphere#readme+bug-reports:    https://github.com/mbj/stratosphere/issues+maintainer:     Markus Schirp+license:        MIT+license-file:   LICENSE.md+build-type:     Simple++source-repository head+  type: git+  location: https://github.com/mbj/stratosphere++flag development+  description: Run GHC with development flags+  manual: True+  default: False++library+  exposed-modules:+      Stratosphere.AppMesh.GatewayRoute+      Stratosphere.AppMesh.GatewayRoute.GatewayRouteHostnameMatchProperty+      Stratosphere.AppMesh.GatewayRoute.GatewayRouteHostnameRewriteProperty+      Stratosphere.AppMesh.GatewayRoute.GatewayRouteMetadataMatchProperty+      Stratosphere.AppMesh.GatewayRoute.GatewayRouteRangeMatchProperty+      Stratosphere.AppMesh.GatewayRoute.GatewayRouteSpecProperty+      Stratosphere.AppMesh.GatewayRoute.GatewayRouteTargetProperty+      Stratosphere.AppMesh.GatewayRoute.GatewayRouteVirtualServiceProperty+      Stratosphere.AppMesh.GatewayRoute.GrpcGatewayRouteActionProperty+      Stratosphere.AppMesh.GatewayRoute.GrpcGatewayRouteMatchProperty+      Stratosphere.AppMesh.GatewayRoute.GrpcGatewayRouteMetadataProperty+      Stratosphere.AppMesh.GatewayRoute.GrpcGatewayRouteProperty+      Stratosphere.AppMesh.GatewayRoute.GrpcGatewayRouteRewriteProperty+      Stratosphere.AppMesh.GatewayRoute.HttpGatewayRouteActionProperty+      Stratosphere.AppMesh.GatewayRoute.HttpGatewayRouteHeaderMatchProperty+      Stratosphere.AppMesh.GatewayRoute.HttpGatewayRouteHeaderProperty+      Stratosphere.AppMesh.GatewayRoute.HttpGatewayRouteMatchProperty+      Stratosphere.AppMesh.GatewayRoute.HttpGatewayRoutePathRewriteProperty+      Stratosphere.AppMesh.GatewayRoute.HttpGatewayRoutePrefixRewriteProperty+      Stratosphere.AppMesh.GatewayRoute.HttpGatewayRouteProperty+      Stratosphere.AppMesh.GatewayRoute.HttpGatewayRouteRewriteProperty+      Stratosphere.AppMesh.GatewayRoute.HttpPathMatchProperty+      Stratosphere.AppMesh.GatewayRoute.HttpQueryParameterMatchProperty+      Stratosphere.AppMesh.GatewayRoute.QueryParameterProperty+      Stratosphere.AppMesh.Mesh+      Stratosphere.AppMesh.Mesh.EgressFilterProperty+      Stratosphere.AppMesh.Mesh.MeshServiceDiscoveryProperty+      Stratosphere.AppMesh.Mesh.MeshSpecProperty+      Stratosphere.AppMesh.Route+      Stratosphere.AppMesh.Route.DurationProperty+      Stratosphere.AppMesh.Route.GrpcRetryPolicyProperty+      Stratosphere.AppMesh.Route.GrpcRouteActionProperty+      Stratosphere.AppMesh.Route.GrpcRouteMatchProperty+      Stratosphere.AppMesh.Route.GrpcRouteMetadataMatchMethodProperty+      Stratosphere.AppMesh.Route.GrpcRouteMetadataProperty+      Stratosphere.AppMesh.Route.GrpcRouteProperty+      Stratosphere.AppMesh.Route.GrpcTimeoutProperty+      Stratosphere.AppMesh.Route.HeaderMatchMethodProperty+      Stratosphere.AppMesh.Route.HttpPathMatchProperty+      Stratosphere.AppMesh.Route.HttpQueryParameterMatchProperty+      Stratosphere.AppMesh.Route.HttpRetryPolicyProperty+      Stratosphere.AppMesh.Route.HttpRouteActionProperty+      Stratosphere.AppMesh.Route.HttpRouteHeaderProperty+      Stratosphere.AppMesh.Route.HttpRouteMatchProperty+      Stratosphere.AppMesh.Route.HttpRouteProperty+      Stratosphere.AppMesh.Route.HttpTimeoutProperty+      Stratosphere.AppMesh.Route.MatchRangeProperty+      Stratosphere.AppMesh.Route.QueryParameterProperty+      Stratosphere.AppMesh.Route.RouteSpecProperty+      Stratosphere.AppMesh.Route.TcpRouteActionProperty+      Stratosphere.AppMesh.Route.TcpRouteMatchProperty+      Stratosphere.AppMesh.Route.TcpRouteProperty+      Stratosphere.AppMesh.Route.TcpTimeoutProperty+      Stratosphere.AppMesh.Route.WeightedTargetProperty+      Stratosphere.AppMesh.VirtualGateway+      Stratosphere.AppMesh.VirtualGateway.JsonFormatRefProperty+      Stratosphere.AppMesh.VirtualGateway.LoggingFormatProperty+      Stratosphere.AppMesh.VirtualGateway.SubjectAlternativeNameMatchersProperty+      Stratosphere.AppMesh.VirtualGateway.SubjectAlternativeNamesProperty+      Stratosphere.AppMesh.VirtualGateway.VirtualGatewayAccessLogProperty+      Stratosphere.AppMesh.VirtualGateway.VirtualGatewayBackendDefaultsProperty+      Stratosphere.AppMesh.VirtualGateway.VirtualGatewayClientPolicyProperty+      Stratosphere.AppMesh.VirtualGateway.VirtualGatewayClientPolicyTlsProperty+      Stratosphere.AppMesh.VirtualGateway.VirtualGatewayClientTlsCertificateProperty+      Stratosphere.AppMesh.VirtualGateway.VirtualGatewayConnectionPoolProperty+      Stratosphere.AppMesh.VirtualGateway.VirtualGatewayFileAccessLogProperty+      Stratosphere.AppMesh.VirtualGateway.VirtualGatewayGrpcConnectionPoolProperty+      Stratosphere.AppMesh.VirtualGateway.VirtualGatewayHealthCheckPolicyProperty+      Stratosphere.AppMesh.VirtualGateway.VirtualGatewayHttp2ConnectionPoolProperty+      Stratosphere.AppMesh.VirtualGateway.VirtualGatewayHttpConnectionPoolProperty+      Stratosphere.AppMesh.VirtualGateway.VirtualGatewayListenerProperty+      Stratosphere.AppMesh.VirtualGateway.VirtualGatewayListenerTlsAcmCertificateProperty+      Stratosphere.AppMesh.VirtualGateway.VirtualGatewayListenerTlsCertificateProperty+      Stratosphere.AppMesh.VirtualGateway.VirtualGatewayListenerTlsFileCertificateProperty+      Stratosphere.AppMesh.VirtualGateway.VirtualGatewayListenerTlsProperty+      Stratosphere.AppMesh.VirtualGateway.VirtualGatewayListenerTlsSdsCertificateProperty+      Stratosphere.AppMesh.VirtualGateway.VirtualGatewayListenerTlsValidationContextProperty+      Stratosphere.AppMesh.VirtualGateway.VirtualGatewayListenerTlsValidationContextTrustProperty+      Stratosphere.AppMesh.VirtualGateway.VirtualGatewayLoggingProperty+      Stratosphere.AppMesh.VirtualGateway.VirtualGatewayPortMappingProperty+      Stratosphere.AppMesh.VirtualGateway.VirtualGatewaySpecProperty+      Stratosphere.AppMesh.VirtualGateway.VirtualGatewayTlsValidationContextAcmTrustProperty+      Stratosphere.AppMesh.VirtualGateway.VirtualGatewayTlsValidationContextFileTrustProperty+      Stratosphere.AppMesh.VirtualGateway.VirtualGatewayTlsValidationContextProperty+      Stratosphere.AppMesh.VirtualGateway.VirtualGatewayTlsValidationContextSdsTrustProperty+      Stratosphere.AppMesh.VirtualGateway.VirtualGatewayTlsValidationContextTrustProperty+      Stratosphere.AppMesh.VirtualNode+      Stratosphere.AppMesh.VirtualNode.AccessLogProperty+      Stratosphere.AppMesh.VirtualNode.AwsCloudMapInstanceAttributeProperty+      Stratosphere.AppMesh.VirtualNode.AwsCloudMapServiceDiscoveryProperty+      Stratosphere.AppMesh.VirtualNode.BackendDefaultsProperty+      Stratosphere.AppMesh.VirtualNode.BackendProperty+      Stratosphere.AppMesh.VirtualNode.ClientPolicyProperty+      Stratosphere.AppMesh.VirtualNode.ClientPolicyTlsProperty+      Stratosphere.AppMesh.VirtualNode.ClientTlsCertificateProperty+      Stratosphere.AppMesh.VirtualNode.DnsServiceDiscoveryProperty+      Stratosphere.AppMesh.VirtualNode.DurationProperty+      Stratosphere.AppMesh.VirtualNode.FileAccessLogProperty+      Stratosphere.AppMesh.VirtualNode.GrpcTimeoutProperty+      Stratosphere.AppMesh.VirtualNode.HealthCheckProperty+      Stratosphere.AppMesh.VirtualNode.HttpTimeoutProperty+      Stratosphere.AppMesh.VirtualNode.JsonFormatRefProperty+      Stratosphere.AppMesh.VirtualNode.ListenerProperty+      Stratosphere.AppMesh.VirtualNode.ListenerTimeoutProperty+      Stratosphere.AppMesh.VirtualNode.ListenerTlsAcmCertificateProperty+      Stratosphere.AppMesh.VirtualNode.ListenerTlsCertificateProperty+      Stratosphere.AppMesh.VirtualNode.ListenerTlsFileCertificateProperty+      Stratosphere.AppMesh.VirtualNode.ListenerTlsProperty+      Stratosphere.AppMesh.VirtualNode.ListenerTlsSdsCertificateProperty+      Stratosphere.AppMesh.VirtualNode.ListenerTlsValidationContextProperty+      Stratosphere.AppMesh.VirtualNode.ListenerTlsValidationContextTrustProperty+      Stratosphere.AppMesh.VirtualNode.LoggingFormatProperty+      Stratosphere.AppMesh.VirtualNode.LoggingProperty+      Stratosphere.AppMesh.VirtualNode.OutlierDetectionProperty+      Stratosphere.AppMesh.VirtualNode.PortMappingProperty+      Stratosphere.AppMesh.VirtualNode.ServiceDiscoveryProperty+      Stratosphere.AppMesh.VirtualNode.SubjectAlternativeNameMatchersProperty+      Stratosphere.AppMesh.VirtualNode.SubjectAlternativeNamesProperty+      Stratosphere.AppMesh.VirtualNode.TcpTimeoutProperty+      Stratosphere.AppMesh.VirtualNode.TlsValidationContextAcmTrustProperty+      Stratosphere.AppMesh.VirtualNode.TlsValidationContextFileTrustProperty+      Stratosphere.AppMesh.VirtualNode.TlsValidationContextProperty+      Stratosphere.AppMesh.VirtualNode.TlsValidationContextSdsTrustProperty+      Stratosphere.AppMesh.VirtualNode.TlsValidationContextTrustProperty+      Stratosphere.AppMesh.VirtualNode.VirtualNodeConnectionPoolProperty+      Stratosphere.AppMesh.VirtualNode.VirtualNodeGrpcConnectionPoolProperty+      Stratosphere.AppMesh.VirtualNode.VirtualNodeHttp2ConnectionPoolProperty+      Stratosphere.AppMesh.VirtualNode.VirtualNodeHttpConnectionPoolProperty+      Stratosphere.AppMesh.VirtualNode.VirtualNodeSpecProperty+      Stratosphere.AppMesh.VirtualNode.VirtualNodeTcpConnectionPoolProperty+      Stratosphere.AppMesh.VirtualNode.VirtualServiceBackendProperty+      Stratosphere.AppMesh.VirtualRouter+      Stratosphere.AppMesh.VirtualRouter.PortMappingProperty+      Stratosphere.AppMesh.VirtualRouter.VirtualRouterListenerProperty+      Stratosphere.AppMesh.VirtualRouter.VirtualRouterSpecProperty+      Stratosphere.AppMesh.VirtualService+      Stratosphere.AppMesh.VirtualService.VirtualNodeServiceProviderProperty+      Stratosphere.AppMesh.VirtualService.VirtualRouterServiceProviderProperty+      Stratosphere.AppMesh.VirtualService.VirtualServiceProviderProperty+      Stratosphere.AppMesh.VirtualService.VirtualServiceSpecProperty+  other-modules:+      Paths_stratosphere_appmesh+  hs-source-dirs:+      gen+  default-extensions:+      DataKinds+      DeriveGeneric+      DerivingStrategies+      DerivingVia+      DuplicateRecordFields+      FlexibleContexts+      FlexibleInstances+      GADTs+      GeneralizedNewtypeDeriving+      InstanceSigs+      LambdaCase+      MultiParamTypeClasses+      NoFieldSelectors+      NoImplicitPrelude+      NumericUnderscores+      OverloadedLists+      OverloadedRecordDot+      OverloadedStrings+      PolyKinds+      RecordWildCards+      ScopedTypeVariables+      StandaloneDeriving+      Strict+      TemplateHaskell+      TupleSections+      TypeApplications+      TypeFamilies+  ghc-options: -Wall -Wcompat -Widentities -Wimplicit-prelude -Wincomplete-record-updates -Wincomplete-uni-patterns -Wmissing-local-signatures -Wmissing-signatures -Wmonomorphism-restriction -Wredundant-constraints -fhide-source-paths -funbox-strict-fields -optP-Wno-nonportable-include-path -Wno-unused-imports+  build-depends:+      aeson ==2.*+    , base >=4.8 && <4.22+    , stratosphere ==1.0.0+  default-language: Haskell2010+  if flag(development)+    ghc-options: -Werror+  else+    ghc-options: -Wwarn