diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,9 @@
 # Change Log
 
+## 0.57.0
+
+* Update resource specification document to version 16.3.0
+
 ## 0.56.0
 
 * Update resource specification document to version 16.2.0
diff --git a/library-gen/Stratosphere/ResourceProperties/AppMeshGatewayRouteGatewayRouteSpec.hs b/library-gen/Stratosphere/ResourceProperties/AppMeshGatewayRouteGatewayRouteSpec.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/AppMeshGatewayRouteGatewayRouteSpec.hs
@@ -0,0 +1,53 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-gatewayroutespec.html
+
+module Stratosphere.ResourceProperties.AppMeshGatewayRouteGatewayRouteSpec where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.AppMeshGatewayRouteGrpcGatewayRoute
+import Stratosphere.ResourceProperties.AppMeshGatewayRouteHttpGatewayRoute
+
+-- | Full data type definition for AppMeshGatewayRouteGatewayRouteSpec. See
+-- 'appMeshGatewayRouteGatewayRouteSpec' for a more convenient constructor.
+data AppMeshGatewayRouteGatewayRouteSpec =
+  AppMeshGatewayRouteGatewayRouteSpec
+  { _appMeshGatewayRouteGatewayRouteSpecGrpcRoute :: Maybe AppMeshGatewayRouteGrpcGatewayRoute
+  , _appMeshGatewayRouteGatewayRouteSpecHttp2Route :: Maybe AppMeshGatewayRouteHttpGatewayRoute
+  , _appMeshGatewayRouteGatewayRouteSpecHttpRoute :: Maybe AppMeshGatewayRouteHttpGatewayRoute
+  } deriving (Show, Eq)
+
+instance ToJSON AppMeshGatewayRouteGatewayRouteSpec where
+  toJSON AppMeshGatewayRouteGatewayRouteSpec{..} =
+    object $
+    catMaybes
+    [ fmap (("GrpcRoute",) . toJSON) _appMeshGatewayRouteGatewayRouteSpecGrpcRoute
+    , fmap (("Http2Route",) . toJSON) _appMeshGatewayRouteGatewayRouteSpecHttp2Route
+    , fmap (("HttpRoute",) . toJSON) _appMeshGatewayRouteGatewayRouteSpecHttpRoute
+    ]
+
+-- | Constructor for 'AppMeshGatewayRouteGatewayRouteSpec' containing required
+-- fields as arguments.
+appMeshGatewayRouteGatewayRouteSpec
+  :: AppMeshGatewayRouteGatewayRouteSpec
+appMeshGatewayRouteGatewayRouteSpec  =
+  AppMeshGatewayRouteGatewayRouteSpec
+  { _appMeshGatewayRouteGatewayRouteSpecGrpcRoute = Nothing
+  , _appMeshGatewayRouteGatewayRouteSpecHttp2Route = Nothing
+  , _appMeshGatewayRouteGatewayRouteSpecHttpRoute = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-gatewayroutespec.html#cfn-appmesh-gatewayroute-gatewayroutespec-grpcroute
+amgrgrsGrpcRoute :: Lens' AppMeshGatewayRouteGatewayRouteSpec (Maybe AppMeshGatewayRouteGrpcGatewayRoute)
+amgrgrsGrpcRoute = lens _appMeshGatewayRouteGatewayRouteSpecGrpcRoute (\s a -> s { _appMeshGatewayRouteGatewayRouteSpecGrpcRoute = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-gatewayroutespec.html#cfn-appmesh-gatewayroute-gatewayroutespec-http2route
+amgrgrsHttp2Route :: Lens' AppMeshGatewayRouteGatewayRouteSpec (Maybe AppMeshGatewayRouteHttpGatewayRoute)
+amgrgrsHttp2Route = lens _appMeshGatewayRouteGatewayRouteSpecHttp2Route (\s a -> s { _appMeshGatewayRouteGatewayRouteSpecHttp2Route = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-gatewayroutespec.html#cfn-appmesh-gatewayroute-gatewayroutespec-httproute
+amgrgrsHttpRoute :: Lens' AppMeshGatewayRouteGatewayRouteSpec (Maybe AppMeshGatewayRouteHttpGatewayRoute)
+amgrgrsHttpRoute = lens _appMeshGatewayRouteGatewayRouteSpecHttpRoute (\s a -> s { _appMeshGatewayRouteGatewayRouteSpecHttpRoute = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/AppMeshGatewayRouteGatewayRouteTarget.hs b/library-gen/Stratosphere/ResourceProperties/AppMeshGatewayRouteGatewayRouteTarget.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/AppMeshGatewayRouteGatewayRouteTarget.hs
@@ -0,0 +1,40 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-gatewayroutetarget.html
+
+module Stratosphere.ResourceProperties.AppMeshGatewayRouteGatewayRouteTarget where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.AppMeshGatewayRouteGatewayRouteVirtualService
+
+-- | Full data type definition for AppMeshGatewayRouteGatewayRouteTarget. See
+-- 'appMeshGatewayRouteGatewayRouteTarget' for a more convenient
+-- constructor.
+data AppMeshGatewayRouteGatewayRouteTarget =
+  AppMeshGatewayRouteGatewayRouteTarget
+  { _appMeshGatewayRouteGatewayRouteTargetVirtualService :: AppMeshGatewayRouteGatewayRouteVirtualService
+  } deriving (Show, Eq)
+
+instance ToJSON AppMeshGatewayRouteGatewayRouteTarget where
+  toJSON AppMeshGatewayRouteGatewayRouteTarget{..} =
+    object $
+    catMaybes
+    [ (Just . ("VirtualService",) . toJSON) _appMeshGatewayRouteGatewayRouteTargetVirtualService
+    ]
+
+-- | Constructor for 'AppMeshGatewayRouteGatewayRouteTarget' containing
+-- required fields as arguments.
+appMeshGatewayRouteGatewayRouteTarget
+  :: AppMeshGatewayRouteGatewayRouteVirtualService -- ^ 'amgrgrtVirtualService'
+  -> AppMeshGatewayRouteGatewayRouteTarget
+appMeshGatewayRouteGatewayRouteTarget virtualServicearg =
+  AppMeshGatewayRouteGatewayRouteTarget
+  { _appMeshGatewayRouteGatewayRouteTargetVirtualService = virtualServicearg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-gatewayroutetarget.html#cfn-appmesh-gatewayroute-gatewayroutetarget-virtualservice
+amgrgrtVirtualService :: Lens' AppMeshGatewayRouteGatewayRouteTarget AppMeshGatewayRouteGatewayRouteVirtualService
+amgrgrtVirtualService = lens _appMeshGatewayRouteGatewayRouteTargetVirtualService (\s a -> s { _appMeshGatewayRouteGatewayRouteTargetVirtualService = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/AppMeshGatewayRouteGatewayRouteVirtualService.hs b/library-gen/Stratosphere/ResourceProperties/AppMeshGatewayRouteGatewayRouteVirtualService.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/AppMeshGatewayRouteGatewayRouteVirtualService.hs
@@ -0,0 +1,41 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-gatewayroutevirtualservice.html
+
+module Stratosphere.ResourceProperties.AppMeshGatewayRouteGatewayRouteVirtualService where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for
+-- AppMeshGatewayRouteGatewayRouteVirtualService. See
+-- 'appMeshGatewayRouteGatewayRouteVirtualService' for a more convenient
+-- constructor.
+data AppMeshGatewayRouteGatewayRouteVirtualService =
+  AppMeshGatewayRouteGatewayRouteVirtualService
+  { _appMeshGatewayRouteGatewayRouteVirtualServiceVirtualServiceName :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON AppMeshGatewayRouteGatewayRouteVirtualService where
+  toJSON AppMeshGatewayRouteGatewayRouteVirtualService{..} =
+    object $
+    catMaybes
+    [ (Just . ("VirtualServiceName",) . toJSON) _appMeshGatewayRouteGatewayRouteVirtualServiceVirtualServiceName
+    ]
+
+-- | Constructor for 'AppMeshGatewayRouteGatewayRouteVirtualService'
+-- containing required fields as arguments.
+appMeshGatewayRouteGatewayRouteVirtualService
+  :: Val Text -- ^ 'amgrgrvsVirtualServiceName'
+  -> AppMeshGatewayRouteGatewayRouteVirtualService
+appMeshGatewayRouteGatewayRouteVirtualService virtualServiceNamearg =
+  AppMeshGatewayRouteGatewayRouteVirtualService
+  { _appMeshGatewayRouteGatewayRouteVirtualServiceVirtualServiceName = virtualServiceNamearg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-gatewayroutevirtualservice.html#cfn-appmesh-gatewayroute-gatewayroutevirtualservice-virtualservicename
+amgrgrvsVirtualServiceName :: Lens' AppMeshGatewayRouteGatewayRouteVirtualService (Val Text)
+amgrgrvsVirtualServiceName = lens _appMeshGatewayRouteGatewayRouteVirtualServiceVirtualServiceName (\s a -> s { _appMeshGatewayRouteGatewayRouteVirtualServiceVirtualServiceName = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/AppMeshGatewayRouteGrpcGatewayRoute.hs b/library-gen/Stratosphere/ResourceProperties/AppMeshGatewayRouteGrpcGatewayRoute.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/AppMeshGatewayRouteGrpcGatewayRoute.hs
@@ -0,0 +1,48 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-grpcgatewayroute.html
+
+module Stratosphere.ResourceProperties.AppMeshGatewayRouteGrpcGatewayRoute where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.AppMeshGatewayRouteGrpcGatewayRouteAction
+import Stratosphere.ResourceProperties.AppMeshGatewayRouteGrpcGatewayRouteMatch
+
+-- | Full data type definition for AppMeshGatewayRouteGrpcGatewayRoute. See
+-- 'appMeshGatewayRouteGrpcGatewayRoute' for a more convenient constructor.
+data AppMeshGatewayRouteGrpcGatewayRoute =
+  AppMeshGatewayRouteGrpcGatewayRoute
+  { _appMeshGatewayRouteGrpcGatewayRouteAction :: AppMeshGatewayRouteGrpcGatewayRouteAction
+  , _appMeshGatewayRouteGrpcGatewayRouteMatch :: AppMeshGatewayRouteGrpcGatewayRouteMatch
+  } deriving (Show, Eq)
+
+instance ToJSON AppMeshGatewayRouteGrpcGatewayRoute where
+  toJSON AppMeshGatewayRouteGrpcGatewayRoute{..} =
+    object $
+    catMaybes
+    [ (Just . ("Action",) . toJSON) _appMeshGatewayRouteGrpcGatewayRouteAction
+    , (Just . ("Match",) . toJSON) _appMeshGatewayRouteGrpcGatewayRouteMatch
+    ]
+
+-- | Constructor for 'AppMeshGatewayRouteGrpcGatewayRoute' containing required
+-- fields as arguments.
+appMeshGatewayRouteGrpcGatewayRoute
+  :: AppMeshGatewayRouteGrpcGatewayRouteAction -- ^ 'amgrggrAction'
+  -> AppMeshGatewayRouteGrpcGatewayRouteMatch -- ^ 'amgrggrMatch'
+  -> AppMeshGatewayRouteGrpcGatewayRoute
+appMeshGatewayRouteGrpcGatewayRoute actionarg matcharg =
+  AppMeshGatewayRouteGrpcGatewayRoute
+  { _appMeshGatewayRouteGrpcGatewayRouteAction = actionarg
+  , _appMeshGatewayRouteGrpcGatewayRouteMatch = matcharg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-grpcgatewayroute.html#cfn-appmesh-gatewayroute-grpcgatewayroute-action
+amgrggrAction :: Lens' AppMeshGatewayRouteGrpcGatewayRoute AppMeshGatewayRouteGrpcGatewayRouteAction
+amgrggrAction = lens _appMeshGatewayRouteGrpcGatewayRouteAction (\s a -> s { _appMeshGatewayRouteGrpcGatewayRouteAction = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-grpcgatewayroute.html#cfn-appmesh-gatewayroute-grpcgatewayroute-match
+amgrggrMatch :: Lens' AppMeshGatewayRouteGrpcGatewayRoute AppMeshGatewayRouteGrpcGatewayRouteMatch
+amgrggrMatch = lens _appMeshGatewayRouteGrpcGatewayRouteMatch (\s a -> s { _appMeshGatewayRouteGrpcGatewayRouteMatch = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/AppMeshGatewayRouteGrpcGatewayRouteAction.hs b/library-gen/Stratosphere/ResourceProperties/AppMeshGatewayRouteGrpcGatewayRouteAction.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/AppMeshGatewayRouteGrpcGatewayRouteAction.hs
@@ -0,0 +1,40 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-grpcgatewayrouteaction.html
+
+module Stratosphere.ResourceProperties.AppMeshGatewayRouteGrpcGatewayRouteAction where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.AppMeshGatewayRouteGatewayRouteTarget
+
+-- | Full data type definition for AppMeshGatewayRouteGrpcGatewayRouteAction.
+-- See 'appMeshGatewayRouteGrpcGatewayRouteAction' for a more convenient
+-- constructor.
+data AppMeshGatewayRouteGrpcGatewayRouteAction =
+  AppMeshGatewayRouteGrpcGatewayRouteAction
+  { _appMeshGatewayRouteGrpcGatewayRouteActionTarget :: AppMeshGatewayRouteGatewayRouteTarget
+  } deriving (Show, Eq)
+
+instance ToJSON AppMeshGatewayRouteGrpcGatewayRouteAction where
+  toJSON AppMeshGatewayRouteGrpcGatewayRouteAction{..} =
+    object $
+    catMaybes
+    [ (Just . ("Target",) . toJSON) _appMeshGatewayRouteGrpcGatewayRouteActionTarget
+    ]
+
+-- | Constructor for 'AppMeshGatewayRouteGrpcGatewayRouteAction' containing
+-- required fields as arguments.
+appMeshGatewayRouteGrpcGatewayRouteAction
+  :: AppMeshGatewayRouteGatewayRouteTarget -- ^ 'amgrggraTarget'
+  -> AppMeshGatewayRouteGrpcGatewayRouteAction
+appMeshGatewayRouteGrpcGatewayRouteAction targetarg =
+  AppMeshGatewayRouteGrpcGatewayRouteAction
+  { _appMeshGatewayRouteGrpcGatewayRouteActionTarget = targetarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-grpcgatewayrouteaction.html#cfn-appmesh-gatewayroute-grpcgatewayrouteaction-target
+amgrggraTarget :: Lens' AppMeshGatewayRouteGrpcGatewayRouteAction AppMeshGatewayRouteGatewayRouteTarget
+amgrggraTarget = lens _appMeshGatewayRouteGrpcGatewayRouteActionTarget (\s a -> s { _appMeshGatewayRouteGrpcGatewayRouteActionTarget = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/AppMeshGatewayRouteGrpcGatewayRouteMatch.hs b/library-gen/Stratosphere/ResourceProperties/AppMeshGatewayRouteGrpcGatewayRouteMatch.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/AppMeshGatewayRouteGrpcGatewayRouteMatch.hs
@@ -0,0 +1,39 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-grpcgatewayroutematch.html
+
+module Stratosphere.ResourceProperties.AppMeshGatewayRouteGrpcGatewayRouteMatch where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for AppMeshGatewayRouteGrpcGatewayRouteMatch.
+-- See 'appMeshGatewayRouteGrpcGatewayRouteMatch' for a more convenient
+-- constructor.
+data AppMeshGatewayRouteGrpcGatewayRouteMatch =
+  AppMeshGatewayRouteGrpcGatewayRouteMatch
+  { _appMeshGatewayRouteGrpcGatewayRouteMatchServiceName :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON AppMeshGatewayRouteGrpcGatewayRouteMatch where
+  toJSON AppMeshGatewayRouteGrpcGatewayRouteMatch{..} =
+    object $
+    catMaybes
+    [ fmap (("ServiceName",) . toJSON) _appMeshGatewayRouteGrpcGatewayRouteMatchServiceName
+    ]
+
+-- | Constructor for 'AppMeshGatewayRouteGrpcGatewayRouteMatch' containing
+-- required fields as arguments.
+appMeshGatewayRouteGrpcGatewayRouteMatch
+  :: AppMeshGatewayRouteGrpcGatewayRouteMatch
+appMeshGatewayRouteGrpcGatewayRouteMatch  =
+  AppMeshGatewayRouteGrpcGatewayRouteMatch
+  { _appMeshGatewayRouteGrpcGatewayRouteMatchServiceName = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-grpcgatewayroutematch.html#cfn-appmesh-gatewayroute-grpcgatewayroutematch-servicename
+amgrggrmServiceName :: Lens' AppMeshGatewayRouteGrpcGatewayRouteMatch (Maybe (Val Text))
+amgrggrmServiceName = lens _appMeshGatewayRouteGrpcGatewayRouteMatchServiceName (\s a -> s { _appMeshGatewayRouteGrpcGatewayRouteMatchServiceName = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/AppMeshGatewayRouteHttpGatewayRoute.hs b/library-gen/Stratosphere/ResourceProperties/AppMeshGatewayRouteHttpGatewayRoute.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/AppMeshGatewayRouteHttpGatewayRoute.hs
@@ -0,0 +1,48 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayroute.html
+
+module Stratosphere.ResourceProperties.AppMeshGatewayRouteHttpGatewayRoute where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.AppMeshGatewayRouteHttpGatewayRouteAction
+import Stratosphere.ResourceProperties.AppMeshGatewayRouteHttpGatewayRouteMatch
+
+-- | Full data type definition for AppMeshGatewayRouteHttpGatewayRoute. See
+-- 'appMeshGatewayRouteHttpGatewayRoute' for a more convenient constructor.
+data AppMeshGatewayRouteHttpGatewayRoute =
+  AppMeshGatewayRouteHttpGatewayRoute
+  { _appMeshGatewayRouteHttpGatewayRouteAction :: AppMeshGatewayRouteHttpGatewayRouteAction
+  , _appMeshGatewayRouteHttpGatewayRouteMatch :: AppMeshGatewayRouteHttpGatewayRouteMatch
+  } deriving (Show, Eq)
+
+instance ToJSON AppMeshGatewayRouteHttpGatewayRoute where
+  toJSON AppMeshGatewayRouteHttpGatewayRoute{..} =
+    object $
+    catMaybes
+    [ (Just . ("Action",) . toJSON) _appMeshGatewayRouteHttpGatewayRouteAction
+    , (Just . ("Match",) . toJSON) _appMeshGatewayRouteHttpGatewayRouteMatch
+    ]
+
+-- | Constructor for 'AppMeshGatewayRouteHttpGatewayRoute' containing required
+-- fields as arguments.
+appMeshGatewayRouteHttpGatewayRoute
+  :: AppMeshGatewayRouteHttpGatewayRouteAction -- ^ 'amgrhgrAction'
+  -> AppMeshGatewayRouteHttpGatewayRouteMatch -- ^ 'amgrhgrMatch'
+  -> AppMeshGatewayRouteHttpGatewayRoute
+appMeshGatewayRouteHttpGatewayRoute actionarg matcharg =
+  AppMeshGatewayRouteHttpGatewayRoute
+  { _appMeshGatewayRouteHttpGatewayRouteAction = actionarg
+  , _appMeshGatewayRouteHttpGatewayRouteMatch = matcharg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayroute.html#cfn-appmesh-gatewayroute-httpgatewayroute-action
+amgrhgrAction :: Lens' AppMeshGatewayRouteHttpGatewayRoute AppMeshGatewayRouteHttpGatewayRouteAction
+amgrhgrAction = lens _appMeshGatewayRouteHttpGatewayRouteAction (\s a -> s { _appMeshGatewayRouteHttpGatewayRouteAction = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayroute.html#cfn-appmesh-gatewayroute-httpgatewayroute-match
+amgrhgrMatch :: Lens' AppMeshGatewayRouteHttpGatewayRoute AppMeshGatewayRouteHttpGatewayRouteMatch
+amgrhgrMatch = lens _appMeshGatewayRouteHttpGatewayRouteMatch (\s a -> s { _appMeshGatewayRouteHttpGatewayRouteMatch = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/AppMeshGatewayRouteHttpGatewayRouteAction.hs b/library-gen/Stratosphere/ResourceProperties/AppMeshGatewayRouteHttpGatewayRouteAction.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/AppMeshGatewayRouteHttpGatewayRouteAction.hs
@@ -0,0 +1,40 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayrouteaction.html
+
+module Stratosphere.ResourceProperties.AppMeshGatewayRouteHttpGatewayRouteAction where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.AppMeshGatewayRouteGatewayRouteTarget
+
+-- | Full data type definition for AppMeshGatewayRouteHttpGatewayRouteAction.
+-- See 'appMeshGatewayRouteHttpGatewayRouteAction' for a more convenient
+-- constructor.
+data AppMeshGatewayRouteHttpGatewayRouteAction =
+  AppMeshGatewayRouteHttpGatewayRouteAction
+  { _appMeshGatewayRouteHttpGatewayRouteActionTarget :: AppMeshGatewayRouteGatewayRouteTarget
+  } deriving (Show, Eq)
+
+instance ToJSON AppMeshGatewayRouteHttpGatewayRouteAction where
+  toJSON AppMeshGatewayRouteHttpGatewayRouteAction{..} =
+    object $
+    catMaybes
+    [ (Just . ("Target",) . toJSON) _appMeshGatewayRouteHttpGatewayRouteActionTarget
+    ]
+
+-- | Constructor for 'AppMeshGatewayRouteHttpGatewayRouteAction' containing
+-- required fields as arguments.
+appMeshGatewayRouteHttpGatewayRouteAction
+  :: AppMeshGatewayRouteGatewayRouteTarget -- ^ 'amgrhgraTarget'
+  -> AppMeshGatewayRouteHttpGatewayRouteAction
+appMeshGatewayRouteHttpGatewayRouteAction targetarg =
+  AppMeshGatewayRouteHttpGatewayRouteAction
+  { _appMeshGatewayRouteHttpGatewayRouteActionTarget = targetarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayrouteaction.html#cfn-appmesh-gatewayroute-httpgatewayrouteaction-target
+amgrhgraTarget :: Lens' AppMeshGatewayRouteHttpGatewayRouteAction AppMeshGatewayRouteGatewayRouteTarget
+amgrhgraTarget = lens _appMeshGatewayRouteHttpGatewayRouteActionTarget (\s a -> s { _appMeshGatewayRouteHttpGatewayRouteActionTarget = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/AppMeshGatewayRouteHttpGatewayRouteMatch.hs b/library-gen/Stratosphere/ResourceProperties/AppMeshGatewayRouteHttpGatewayRouteMatch.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/AppMeshGatewayRouteHttpGatewayRouteMatch.hs
@@ -0,0 +1,40 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayroutematch.html
+
+module Stratosphere.ResourceProperties.AppMeshGatewayRouteHttpGatewayRouteMatch where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for AppMeshGatewayRouteHttpGatewayRouteMatch.
+-- See 'appMeshGatewayRouteHttpGatewayRouteMatch' for a more convenient
+-- constructor.
+data AppMeshGatewayRouteHttpGatewayRouteMatch =
+  AppMeshGatewayRouteHttpGatewayRouteMatch
+  { _appMeshGatewayRouteHttpGatewayRouteMatchPrefix :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON AppMeshGatewayRouteHttpGatewayRouteMatch where
+  toJSON AppMeshGatewayRouteHttpGatewayRouteMatch{..} =
+    object $
+    catMaybes
+    [ (Just . ("Prefix",) . toJSON) _appMeshGatewayRouteHttpGatewayRouteMatchPrefix
+    ]
+
+-- | Constructor for 'AppMeshGatewayRouteHttpGatewayRouteMatch' containing
+-- required fields as arguments.
+appMeshGatewayRouteHttpGatewayRouteMatch
+  :: Val Text -- ^ 'amgrhgrmPrefix'
+  -> AppMeshGatewayRouteHttpGatewayRouteMatch
+appMeshGatewayRouteHttpGatewayRouteMatch prefixarg =
+  AppMeshGatewayRouteHttpGatewayRouteMatch
+  { _appMeshGatewayRouteHttpGatewayRouteMatchPrefix = prefixarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayroutematch.html#cfn-appmesh-gatewayroute-httpgatewayroutematch-prefix
+amgrhgrmPrefix :: Lens' AppMeshGatewayRouteHttpGatewayRouteMatch (Val Text)
+amgrhgrmPrefix = lens _appMeshGatewayRouteHttpGatewayRouteMatchPrefix (\s a -> s { _appMeshGatewayRouteHttpGatewayRouteMatchPrefix = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/AppMeshVirtualGatewayVirtualGatewayAccessLog.hs b/library-gen/Stratosphere/ResourceProperties/AppMeshVirtualGatewayVirtualGatewayAccessLog.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/AppMeshVirtualGatewayVirtualGatewayAccessLog.hs
@@ -0,0 +1,40 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayaccesslog.html
+
+module Stratosphere.ResourceProperties.AppMeshVirtualGatewayVirtualGatewayAccessLog where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.AppMeshVirtualGatewayVirtualGatewayFileAccessLog
+
+-- | Full data type definition for
+-- AppMeshVirtualGatewayVirtualGatewayAccessLog. See
+-- 'appMeshVirtualGatewayVirtualGatewayAccessLog' for a more convenient
+-- constructor.
+data AppMeshVirtualGatewayVirtualGatewayAccessLog =
+  AppMeshVirtualGatewayVirtualGatewayAccessLog
+  { _appMeshVirtualGatewayVirtualGatewayAccessLogFile :: Maybe AppMeshVirtualGatewayVirtualGatewayFileAccessLog
+  } deriving (Show, Eq)
+
+instance ToJSON AppMeshVirtualGatewayVirtualGatewayAccessLog where
+  toJSON AppMeshVirtualGatewayVirtualGatewayAccessLog{..} =
+    object $
+    catMaybes
+    [ fmap (("File",) . toJSON) _appMeshVirtualGatewayVirtualGatewayAccessLogFile
+    ]
+
+-- | Constructor for 'AppMeshVirtualGatewayVirtualGatewayAccessLog' containing
+-- required fields as arguments.
+appMeshVirtualGatewayVirtualGatewayAccessLog
+  :: AppMeshVirtualGatewayVirtualGatewayAccessLog
+appMeshVirtualGatewayVirtualGatewayAccessLog  =
+  AppMeshVirtualGatewayVirtualGatewayAccessLog
+  { _appMeshVirtualGatewayVirtualGatewayAccessLogFile = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayaccesslog.html#cfn-appmesh-virtualgateway-virtualgatewayaccesslog-file
+amvgvgalFile :: Lens' AppMeshVirtualGatewayVirtualGatewayAccessLog (Maybe AppMeshVirtualGatewayVirtualGatewayFileAccessLog)
+amvgvgalFile = lens _appMeshVirtualGatewayVirtualGatewayAccessLogFile (\s a -> s { _appMeshVirtualGatewayVirtualGatewayAccessLogFile = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/AppMeshVirtualGatewayVirtualGatewayBackendDefaults.hs b/library-gen/Stratosphere/ResourceProperties/AppMeshVirtualGatewayVirtualGatewayBackendDefaults.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/AppMeshVirtualGatewayVirtualGatewayBackendDefaults.hs
@@ -0,0 +1,40 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaybackenddefaults.html
+
+module Stratosphere.ResourceProperties.AppMeshVirtualGatewayVirtualGatewayBackendDefaults where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.AppMeshVirtualGatewayVirtualGatewayClientPolicy
+
+-- | Full data type definition for
+-- AppMeshVirtualGatewayVirtualGatewayBackendDefaults. See
+-- 'appMeshVirtualGatewayVirtualGatewayBackendDefaults' for a more
+-- convenient constructor.
+data AppMeshVirtualGatewayVirtualGatewayBackendDefaults =
+  AppMeshVirtualGatewayVirtualGatewayBackendDefaults
+  { _appMeshVirtualGatewayVirtualGatewayBackendDefaultsClientPolicy :: Maybe AppMeshVirtualGatewayVirtualGatewayClientPolicy
+  } deriving (Show, Eq)
+
+instance ToJSON AppMeshVirtualGatewayVirtualGatewayBackendDefaults where
+  toJSON AppMeshVirtualGatewayVirtualGatewayBackendDefaults{..} =
+    object $
+    catMaybes
+    [ fmap (("ClientPolicy",) . toJSON) _appMeshVirtualGatewayVirtualGatewayBackendDefaultsClientPolicy
+    ]
+
+-- | Constructor for 'AppMeshVirtualGatewayVirtualGatewayBackendDefaults'
+-- containing required fields as arguments.
+appMeshVirtualGatewayVirtualGatewayBackendDefaults
+  :: AppMeshVirtualGatewayVirtualGatewayBackendDefaults
+appMeshVirtualGatewayVirtualGatewayBackendDefaults  =
+  AppMeshVirtualGatewayVirtualGatewayBackendDefaults
+  { _appMeshVirtualGatewayVirtualGatewayBackendDefaultsClientPolicy = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaybackenddefaults.html#cfn-appmesh-virtualgateway-virtualgatewaybackenddefaults-clientpolicy
+amvgvgbdClientPolicy :: Lens' AppMeshVirtualGatewayVirtualGatewayBackendDefaults (Maybe AppMeshVirtualGatewayVirtualGatewayClientPolicy)
+amvgvgbdClientPolicy = lens _appMeshVirtualGatewayVirtualGatewayBackendDefaultsClientPolicy (\s a -> s { _appMeshVirtualGatewayVirtualGatewayBackendDefaultsClientPolicy = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/AppMeshVirtualGatewayVirtualGatewayClientPolicy.hs b/library-gen/Stratosphere/ResourceProperties/AppMeshVirtualGatewayVirtualGatewayClientPolicy.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/AppMeshVirtualGatewayVirtualGatewayClientPolicy.hs
@@ -0,0 +1,40 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayclientpolicy.html
+
+module Stratosphere.ResourceProperties.AppMeshVirtualGatewayVirtualGatewayClientPolicy where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.AppMeshVirtualGatewayVirtualGatewayClientPolicyTls
+
+-- | Full data type definition for
+-- AppMeshVirtualGatewayVirtualGatewayClientPolicy. See
+-- 'appMeshVirtualGatewayVirtualGatewayClientPolicy' for a more convenient
+-- constructor.
+data AppMeshVirtualGatewayVirtualGatewayClientPolicy =
+  AppMeshVirtualGatewayVirtualGatewayClientPolicy
+  { _appMeshVirtualGatewayVirtualGatewayClientPolicyTLS :: Maybe AppMeshVirtualGatewayVirtualGatewayClientPolicyTls
+  } deriving (Show, Eq)
+
+instance ToJSON AppMeshVirtualGatewayVirtualGatewayClientPolicy where
+  toJSON AppMeshVirtualGatewayVirtualGatewayClientPolicy{..} =
+    object $
+    catMaybes
+    [ fmap (("TLS",) . toJSON) _appMeshVirtualGatewayVirtualGatewayClientPolicyTLS
+    ]
+
+-- | Constructor for 'AppMeshVirtualGatewayVirtualGatewayClientPolicy'
+-- containing required fields as arguments.
+appMeshVirtualGatewayVirtualGatewayClientPolicy
+  :: AppMeshVirtualGatewayVirtualGatewayClientPolicy
+appMeshVirtualGatewayVirtualGatewayClientPolicy  =
+  AppMeshVirtualGatewayVirtualGatewayClientPolicy
+  { _appMeshVirtualGatewayVirtualGatewayClientPolicyTLS = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayclientpolicy.html#cfn-appmesh-virtualgateway-virtualgatewayclientpolicy-tls
+amvgvgcpTLS :: Lens' AppMeshVirtualGatewayVirtualGatewayClientPolicy (Maybe AppMeshVirtualGatewayVirtualGatewayClientPolicyTls)
+amvgvgcpTLS = lens _appMeshVirtualGatewayVirtualGatewayClientPolicyTLS (\s a -> s { _appMeshVirtualGatewayVirtualGatewayClientPolicyTLS = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/AppMeshVirtualGatewayVirtualGatewayClientPolicyTls.hs b/library-gen/Stratosphere/ResourceProperties/AppMeshVirtualGatewayVirtualGatewayClientPolicyTls.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/AppMeshVirtualGatewayVirtualGatewayClientPolicyTls.hs
@@ -0,0 +1,55 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayclientpolicytls.html
+
+module Stratosphere.ResourceProperties.AppMeshVirtualGatewayVirtualGatewayClientPolicyTls where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.AppMeshVirtualGatewayVirtualGatewayTlsValidationContext
+
+-- | Full data type definition for
+-- AppMeshVirtualGatewayVirtualGatewayClientPolicyTls. See
+-- 'appMeshVirtualGatewayVirtualGatewayClientPolicyTls' for a more
+-- convenient constructor.
+data AppMeshVirtualGatewayVirtualGatewayClientPolicyTls =
+  AppMeshVirtualGatewayVirtualGatewayClientPolicyTls
+  { _appMeshVirtualGatewayVirtualGatewayClientPolicyTlsEnforce :: Maybe (Val Bool)
+  , _appMeshVirtualGatewayVirtualGatewayClientPolicyTlsPorts :: Maybe (ValList Integer)
+  , _appMeshVirtualGatewayVirtualGatewayClientPolicyTlsValidation :: AppMeshVirtualGatewayVirtualGatewayTlsValidationContext
+  } deriving (Show, Eq)
+
+instance ToJSON AppMeshVirtualGatewayVirtualGatewayClientPolicyTls where
+  toJSON AppMeshVirtualGatewayVirtualGatewayClientPolicyTls{..} =
+    object $
+    catMaybes
+    [ fmap (("Enforce",) . toJSON) _appMeshVirtualGatewayVirtualGatewayClientPolicyTlsEnforce
+    , fmap (("Ports",) . toJSON) _appMeshVirtualGatewayVirtualGatewayClientPolicyTlsPorts
+    , (Just . ("Validation",) . toJSON) _appMeshVirtualGatewayVirtualGatewayClientPolicyTlsValidation
+    ]
+
+-- | Constructor for 'AppMeshVirtualGatewayVirtualGatewayClientPolicyTls'
+-- containing required fields as arguments.
+appMeshVirtualGatewayVirtualGatewayClientPolicyTls
+  :: AppMeshVirtualGatewayVirtualGatewayTlsValidationContext -- ^ 'amvgvgcptValidation'
+  -> AppMeshVirtualGatewayVirtualGatewayClientPolicyTls
+appMeshVirtualGatewayVirtualGatewayClientPolicyTls validationarg =
+  AppMeshVirtualGatewayVirtualGatewayClientPolicyTls
+  { _appMeshVirtualGatewayVirtualGatewayClientPolicyTlsEnforce = Nothing
+  , _appMeshVirtualGatewayVirtualGatewayClientPolicyTlsPorts = Nothing
+  , _appMeshVirtualGatewayVirtualGatewayClientPolicyTlsValidation = validationarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayclientpolicytls.html#cfn-appmesh-virtualgateway-virtualgatewayclientpolicytls-enforce
+amvgvgcptEnforce :: Lens' AppMeshVirtualGatewayVirtualGatewayClientPolicyTls (Maybe (Val Bool))
+amvgvgcptEnforce = lens _appMeshVirtualGatewayVirtualGatewayClientPolicyTlsEnforce (\s a -> s { _appMeshVirtualGatewayVirtualGatewayClientPolicyTlsEnforce = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayclientpolicytls.html#cfn-appmesh-virtualgateway-virtualgatewayclientpolicytls-ports
+amvgvgcptPorts :: Lens' AppMeshVirtualGatewayVirtualGatewayClientPolicyTls (Maybe (ValList Integer))
+amvgvgcptPorts = lens _appMeshVirtualGatewayVirtualGatewayClientPolicyTlsPorts (\s a -> s { _appMeshVirtualGatewayVirtualGatewayClientPolicyTlsPorts = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayclientpolicytls.html#cfn-appmesh-virtualgateway-virtualgatewayclientpolicytls-validation
+amvgvgcptValidation :: Lens' AppMeshVirtualGatewayVirtualGatewayClientPolicyTls AppMeshVirtualGatewayVirtualGatewayTlsValidationContext
+amvgvgcptValidation = lens _appMeshVirtualGatewayVirtualGatewayClientPolicyTlsValidation (\s a -> s { _appMeshVirtualGatewayVirtualGatewayClientPolicyTlsValidation = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/AppMeshVirtualGatewayVirtualGatewayFileAccessLog.hs b/library-gen/Stratosphere/ResourceProperties/AppMeshVirtualGatewayVirtualGatewayFileAccessLog.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/AppMeshVirtualGatewayVirtualGatewayFileAccessLog.hs
@@ -0,0 +1,41 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayfileaccesslog.html
+
+module Stratosphere.ResourceProperties.AppMeshVirtualGatewayVirtualGatewayFileAccessLog where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for
+-- AppMeshVirtualGatewayVirtualGatewayFileAccessLog. See
+-- 'appMeshVirtualGatewayVirtualGatewayFileAccessLog' for a more convenient
+-- constructor.
+data AppMeshVirtualGatewayVirtualGatewayFileAccessLog =
+  AppMeshVirtualGatewayVirtualGatewayFileAccessLog
+  { _appMeshVirtualGatewayVirtualGatewayFileAccessLogPath :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON AppMeshVirtualGatewayVirtualGatewayFileAccessLog where
+  toJSON AppMeshVirtualGatewayVirtualGatewayFileAccessLog{..} =
+    object $
+    catMaybes
+    [ (Just . ("Path",) . toJSON) _appMeshVirtualGatewayVirtualGatewayFileAccessLogPath
+    ]
+
+-- | Constructor for 'AppMeshVirtualGatewayVirtualGatewayFileAccessLog'
+-- containing required fields as arguments.
+appMeshVirtualGatewayVirtualGatewayFileAccessLog
+  :: Val Text -- ^ 'amvgvgfalPath'
+  -> AppMeshVirtualGatewayVirtualGatewayFileAccessLog
+appMeshVirtualGatewayVirtualGatewayFileAccessLog patharg =
+  AppMeshVirtualGatewayVirtualGatewayFileAccessLog
+  { _appMeshVirtualGatewayVirtualGatewayFileAccessLogPath = patharg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayfileaccesslog.html#cfn-appmesh-virtualgateway-virtualgatewayfileaccesslog-path
+amvgvgfalPath :: Lens' AppMeshVirtualGatewayVirtualGatewayFileAccessLog (Val Text)
+amvgvgfalPath = lens _appMeshVirtualGatewayVirtualGatewayFileAccessLogPath (\s a -> s { _appMeshVirtualGatewayVirtualGatewayFileAccessLogPath = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/AppMeshVirtualGatewayVirtualGatewayHealthCheckPolicy.hs b/library-gen/Stratosphere/ResourceProperties/AppMeshVirtualGatewayVirtualGatewayHealthCheckPolicy.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/AppMeshVirtualGatewayVirtualGatewayHealthCheckPolicy.hs
@@ -0,0 +1,87 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayhealthcheckpolicy.html
+
+module Stratosphere.ResourceProperties.AppMeshVirtualGatewayVirtualGatewayHealthCheckPolicy where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for
+-- AppMeshVirtualGatewayVirtualGatewayHealthCheckPolicy. See
+-- 'appMeshVirtualGatewayVirtualGatewayHealthCheckPolicy' for a more
+-- convenient constructor.
+data AppMeshVirtualGatewayVirtualGatewayHealthCheckPolicy =
+  AppMeshVirtualGatewayVirtualGatewayHealthCheckPolicy
+  { _appMeshVirtualGatewayVirtualGatewayHealthCheckPolicyHealthyThreshold :: Val Integer
+  , _appMeshVirtualGatewayVirtualGatewayHealthCheckPolicyIntervalMillis :: Val Integer
+  , _appMeshVirtualGatewayVirtualGatewayHealthCheckPolicyPath :: Maybe (Val Text)
+  , _appMeshVirtualGatewayVirtualGatewayHealthCheckPolicyPort :: Maybe (Val Integer)
+  , _appMeshVirtualGatewayVirtualGatewayHealthCheckPolicyProtocol :: Val Text
+  , _appMeshVirtualGatewayVirtualGatewayHealthCheckPolicyTimeoutMillis :: Val Integer
+  , _appMeshVirtualGatewayVirtualGatewayHealthCheckPolicyUnhealthyThreshold :: Val Integer
+  } deriving (Show, Eq)
+
+instance ToJSON AppMeshVirtualGatewayVirtualGatewayHealthCheckPolicy where
+  toJSON AppMeshVirtualGatewayVirtualGatewayHealthCheckPolicy{..} =
+    object $
+    catMaybes
+    [ (Just . ("HealthyThreshold",) . toJSON) _appMeshVirtualGatewayVirtualGatewayHealthCheckPolicyHealthyThreshold
+    , (Just . ("IntervalMillis",) . toJSON) _appMeshVirtualGatewayVirtualGatewayHealthCheckPolicyIntervalMillis
+    , fmap (("Path",) . toJSON) _appMeshVirtualGatewayVirtualGatewayHealthCheckPolicyPath
+    , fmap (("Port",) . toJSON) _appMeshVirtualGatewayVirtualGatewayHealthCheckPolicyPort
+    , (Just . ("Protocol",) . toJSON) _appMeshVirtualGatewayVirtualGatewayHealthCheckPolicyProtocol
+    , (Just . ("TimeoutMillis",) . toJSON) _appMeshVirtualGatewayVirtualGatewayHealthCheckPolicyTimeoutMillis
+    , (Just . ("UnhealthyThreshold",) . toJSON) _appMeshVirtualGatewayVirtualGatewayHealthCheckPolicyUnhealthyThreshold
+    ]
+
+-- | Constructor for 'AppMeshVirtualGatewayVirtualGatewayHealthCheckPolicy'
+-- containing required fields as arguments.
+appMeshVirtualGatewayVirtualGatewayHealthCheckPolicy
+  :: Val Integer -- ^ 'amvgvghcpHealthyThreshold'
+  -> Val Integer -- ^ 'amvgvghcpIntervalMillis'
+  -> Val Text -- ^ 'amvgvghcpProtocol'
+  -> Val Integer -- ^ 'amvgvghcpTimeoutMillis'
+  -> Val Integer -- ^ 'amvgvghcpUnhealthyThreshold'
+  -> AppMeshVirtualGatewayVirtualGatewayHealthCheckPolicy
+appMeshVirtualGatewayVirtualGatewayHealthCheckPolicy healthyThresholdarg intervalMillisarg protocolarg timeoutMillisarg unhealthyThresholdarg =
+  AppMeshVirtualGatewayVirtualGatewayHealthCheckPolicy
+  { _appMeshVirtualGatewayVirtualGatewayHealthCheckPolicyHealthyThreshold = healthyThresholdarg
+  , _appMeshVirtualGatewayVirtualGatewayHealthCheckPolicyIntervalMillis = intervalMillisarg
+  , _appMeshVirtualGatewayVirtualGatewayHealthCheckPolicyPath = Nothing
+  , _appMeshVirtualGatewayVirtualGatewayHealthCheckPolicyPort = Nothing
+  , _appMeshVirtualGatewayVirtualGatewayHealthCheckPolicyProtocol = protocolarg
+  , _appMeshVirtualGatewayVirtualGatewayHealthCheckPolicyTimeoutMillis = timeoutMillisarg
+  , _appMeshVirtualGatewayVirtualGatewayHealthCheckPolicyUnhealthyThreshold = unhealthyThresholdarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayhealthcheckpolicy.html#cfn-appmesh-virtualgateway-virtualgatewayhealthcheckpolicy-healthythreshold
+amvgvghcpHealthyThreshold :: Lens' AppMeshVirtualGatewayVirtualGatewayHealthCheckPolicy (Val Integer)
+amvgvghcpHealthyThreshold = lens _appMeshVirtualGatewayVirtualGatewayHealthCheckPolicyHealthyThreshold (\s a -> s { _appMeshVirtualGatewayVirtualGatewayHealthCheckPolicyHealthyThreshold = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayhealthcheckpolicy.html#cfn-appmesh-virtualgateway-virtualgatewayhealthcheckpolicy-intervalmillis
+amvgvghcpIntervalMillis :: Lens' AppMeshVirtualGatewayVirtualGatewayHealthCheckPolicy (Val Integer)
+amvgvghcpIntervalMillis = lens _appMeshVirtualGatewayVirtualGatewayHealthCheckPolicyIntervalMillis (\s a -> s { _appMeshVirtualGatewayVirtualGatewayHealthCheckPolicyIntervalMillis = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayhealthcheckpolicy.html#cfn-appmesh-virtualgateway-virtualgatewayhealthcheckpolicy-path
+amvgvghcpPath :: Lens' AppMeshVirtualGatewayVirtualGatewayHealthCheckPolicy (Maybe (Val Text))
+amvgvghcpPath = lens _appMeshVirtualGatewayVirtualGatewayHealthCheckPolicyPath (\s a -> s { _appMeshVirtualGatewayVirtualGatewayHealthCheckPolicyPath = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayhealthcheckpolicy.html#cfn-appmesh-virtualgateway-virtualgatewayhealthcheckpolicy-port
+amvgvghcpPort :: Lens' AppMeshVirtualGatewayVirtualGatewayHealthCheckPolicy (Maybe (Val Integer))
+amvgvghcpPort = lens _appMeshVirtualGatewayVirtualGatewayHealthCheckPolicyPort (\s a -> s { _appMeshVirtualGatewayVirtualGatewayHealthCheckPolicyPort = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayhealthcheckpolicy.html#cfn-appmesh-virtualgateway-virtualgatewayhealthcheckpolicy-protocol
+amvgvghcpProtocol :: Lens' AppMeshVirtualGatewayVirtualGatewayHealthCheckPolicy (Val Text)
+amvgvghcpProtocol = lens _appMeshVirtualGatewayVirtualGatewayHealthCheckPolicyProtocol (\s a -> s { _appMeshVirtualGatewayVirtualGatewayHealthCheckPolicyProtocol = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayhealthcheckpolicy.html#cfn-appmesh-virtualgateway-virtualgatewayhealthcheckpolicy-timeoutmillis
+amvgvghcpTimeoutMillis :: Lens' AppMeshVirtualGatewayVirtualGatewayHealthCheckPolicy (Val Integer)
+amvgvghcpTimeoutMillis = lens _appMeshVirtualGatewayVirtualGatewayHealthCheckPolicyTimeoutMillis (\s a -> s { _appMeshVirtualGatewayVirtualGatewayHealthCheckPolicyTimeoutMillis = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayhealthcheckpolicy.html#cfn-appmesh-virtualgateway-virtualgatewayhealthcheckpolicy-unhealthythreshold
+amvgvghcpUnhealthyThreshold :: Lens' AppMeshVirtualGatewayVirtualGatewayHealthCheckPolicy (Val Integer)
+amvgvghcpUnhealthyThreshold = lens _appMeshVirtualGatewayVirtualGatewayHealthCheckPolicyUnhealthyThreshold (\s a -> s { _appMeshVirtualGatewayVirtualGatewayHealthCheckPolicyUnhealthyThreshold = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/AppMeshVirtualGatewayVirtualGatewayListener.hs b/library-gen/Stratosphere/ResourceProperties/AppMeshVirtualGatewayVirtualGatewayListener.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/AppMeshVirtualGatewayVirtualGatewayListener.hs
@@ -0,0 +1,57 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistener.html
+
+module Stratosphere.ResourceProperties.AppMeshVirtualGatewayVirtualGatewayListener where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.AppMeshVirtualGatewayVirtualGatewayHealthCheckPolicy
+import Stratosphere.ResourceProperties.AppMeshVirtualGatewayVirtualGatewayPortMapping
+import Stratosphere.ResourceProperties.AppMeshVirtualGatewayVirtualGatewayListenerTls
+
+-- | Full data type definition for
+-- AppMeshVirtualGatewayVirtualGatewayListener. See
+-- 'appMeshVirtualGatewayVirtualGatewayListener' for a more convenient
+-- constructor.
+data AppMeshVirtualGatewayVirtualGatewayListener =
+  AppMeshVirtualGatewayVirtualGatewayListener
+  { _appMeshVirtualGatewayVirtualGatewayListenerHealthCheck :: Maybe AppMeshVirtualGatewayVirtualGatewayHealthCheckPolicy
+  , _appMeshVirtualGatewayVirtualGatewayListenerPortMapping :: AppMeshVirtualGatewayVirtualGatewayPortMapping
+  , _appMeshVirtualGatewayVirtualGatewayListenerTLS :: Maybe AppMeshVirtualGatewayVirtualGatewayListenerTls
+  } deriving (Show, Eq)
+
+instance ToJSON AppMeshVirtualGatewayVirtualGatewayListener where
+  toJSON AppMeshVirtualGatewayVirtualGatewayListener{..} =
+    object $
+    catMaybes
+    [ fmap (("HealthCheck",) . toJSON) _appMeshVirtualGatewayVirtualGatewayListenerHealthCheck
+    , (Just . ("PortMapping",) . toJSON) _appMeshVirtualGatewayVirtualGatewayListenerPortMapping
+    , fmap (("TLS",) . toJSON) _appMeshVirtualGatewayVirtualGatewayListenerTLS
+    ]
+
+-- | Constructor for 'AppMeshVirtualGatewayVirtualGatewayListener' containing
+-- required fields as arguments.
+appMeshVirtualGatewayVirtualGatewayListener
+  :: AppMeshVirtualGatewayVirtualGatewayPortMapping -- ^ 'amvgvglPortMapping'
+  -> AppMeshVirtualGatewayVirtualGatewayListener
+appMeshVirtualGatewayVirtualGatewayListener portMappingarg =
+  AppMeshVirtualGatewayVirtualGatewayListener
+  { _appMeshVirtualGatewayVirtualGatewayListenerHealthCheck = Nothing
+  , _appMeshVirtualGatewayVirtualGatewayListenerPortMapping = portMappingarg
+  , _appMeshVirtualGatewayVirtualGatewayListenerTLS = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistener.html#cfn-appmesh-virtualgateway-virtualgatewaylistener-healthcheck
+amvgvglHealthCheck :: Lens' AppMeshVirtualGatewayVirtualGatewayListener (Maybe AppMeshVirtualGatewayVirtualGatewayHealthCheckPolicy)
+amvgvglHealthCheck = lens _appMeshVirtualGatewayVirtualGatewayListenerHealthCheck (\s a -> s { _appMeshVirtualGatewayVirtualGatewayListenerHealthCheck = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistener.html#cfn-appmesh-virtualgateway-virtualgatewaylistener-portmapping
+amvgvglPortMapping :: Lens' AppMeshVirtualGatewayVirtualGatewayListener AppMeshVirtualGatewayVirtualGatewayPortMapping
+amvgvglPortMapping = lens _appMeshVirtualGatewayVirtualGatewayListenerPortMapping (\s a -> s { _appMeshVirtualGatewayVirtualGatewayListenerPortMapping = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistener.html#cfn-appmesh-virtualgateway-virtualgatewaylistener-tls
+amvgvglTLS :: Lens' AppMeshVirtualGatewayVirtualGatewayListener (Maybe AppMeshVirtualGatewayVirtualGatewayListenerTls)
+amvgvglTLS = lens _appMeshVirtualGatewayVirtualGatewayListenerTLS (\s a -> s { _appMeshVirtualGatewayVirtualGatewayListenerTLS = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/AppMeshVirtualGatewayVirtualGatewayListenerTls.hs b/library-gen/Stratosphere/ResourceProperties/AppMeshVirtualGatewayVirtualGatewayListenerTls.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/AppMeshVirtualGatewayVirtualGatewayListenerTls.hs
@@ -0,0 +1,49 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistenertls.html
+
+module Stratosphere.ResourceProperties.AppMeshVirtualGatewayVirtualGatewayListenerTls where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.AppMeshVirtualGatewayVirtualGatewayListenerTlsCertificate
+
+-- | Full data type definition for
+-- AppMeshVirtualGatewayVirtualGatewayListenerTls. See
+-- 'appMeshVirtualGatewayVirtualGatewayListenerTls' for a more convenient
+-- constructor.
+data AppMeshVirtualGatewayVirtualGatewayListenerTls =
+  AppMeshVirtualGatewayVirtualGatewayListenerTls
+  { _appMeshVirtualGatewayVirtualGatewayListenerTlsCertificate :: AppMeshVirtualGatewayVirtualGatewayListenerTlsCertificate
+  , _appMeshVirtualGatewayVirtualGatewayListenerTlsMode :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON AppMeshVirtualGatewayVirtualGatewayListenerTls where
+  toJSON AppMeshVirtualGatewayVirtualGatewayListenerTls{..} =
+    object $
+    catMaybes
+    [ (Just . ("Certificate",) . toJSON) _appMeshVirtualGatewayVirtualGatewayListenerTlsCertificate
+    , (Just . ("Mode",) . toJSON) _appMeshVirtualGatewayVirtualGatewayListenerTlsMode
+    ]
+
+-- | Constructor for 'AppMeshVirtualGatewayVirtualGatewayListenerTls'
+-- containing required fields as arguments.
+appMeshVirtualGatewayVirtualGatewayListenerTls
+  :: AppMeshVirtualGatewayVirtualGatewayListenerTlsCertificate -- ^ 'amvgvgltCertificate'
+  -> Val Text -- ^ 'amvgvgltMode'
+  -> AppMeshVirtualGatewayVirtualGatewayListenerTls
+appMeshVirtualGatewayVirtualGatewayListenerTls certificatearg modearg =
+  AppMeshVirtualGatewayVirtualGatewayListenerTls
+  { _appMeshVirtualGatewayVirtualGatewayListenerTlsCertificate = certificatearg
+  , _appMeshVirtualGatewayVirtualGatewayListenerTlsMode = modearg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistenertls.html#cfn-appmesh-virtualgateway-virtualgatewaylistenertls-certificate
+amvgvgltCertificate :: Lens' AppMeshVirtualGatewayVirtualGatewayListenerTls AppMeshVirtualGatewayVirtualGatewayListenerTlsCertificate
+amvgvgltCertificate = lens _appMeshVirtualGatewayVirtualGatewayListenerTlsCertificate (\s a -> s { _appMeshVirtualGatewayVirtualGatewayListenerTlsCertificate = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistenertls.html#cfn-appmesh-virtualgateway-virtualgatewaylistenertls-mode
+amvgvgltMode :: Lens' AppMeshVirtualGatewayVirtualGatewayListenerTls (Val Text)
+amvgvgltMode = lens _appMeshVirtualGatewayVirtualGatewayListenerTlsMode (\s a -> s { _appMeshVirtualGatewayVirtualGatewayListenerTlsMode = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/AppMeshVirtualGatewayVirtualGatewayListenerTlsAcmCertificate.hs b/library-gen/Stratosphere/ResourceProperties/AppMeshVirtualGatewayVirtualGatewayListenerTlsAcmCertificate.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/AppMeshVirtualGatewayVirtualGatewayListenerTlsAcmCertificate.hs
@@ -0,0 +1,42 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistenertlsacmcertificate.html
+
+module Stratosphere.ResourceProperties.AppMeshVirtualGatewayVirtualGatewayListenerTlsAcmCertificate where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for
+-- AppMeshVirtualGatewayVirtualGatewayListenerTlsAcmCertificate. See
+-- 'appMeshVirtualGatewayVirtualGatewayListenerTlsAcmCertificate' for a more
+-- convenient constructor.
+data AppMeshVirtualGatewayVirtualGatewayListenerTlsAcmCertificate =
+  AppMeshVirtualGatewayVirtualGatewayListenerTlsAcmCertificate
+  { _appMeshVirtualGatewayVirtualGatewayListenerTlsAcmCertificateCertificateArn :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON AppMeshVirtualGatewayVirtualGatewayListenerTlsAcmCertificate where
+  toJSON AppMeshVirtualGatewayVirtualGatewayListenerTlsAcmCertificate{..} =
+    object $
+    catMaybes
+    [ (Just . ("CertificateArn",) . toJSON) _appMeshVirtualGatewayVirtualGatewayListenerTlsAcmCertificateCertificateArn
+    ]
+
+-- | Constructor for
+-- 'AppMeshVirtualGatewayVirtualGatewayListenerTlsAcmCertificate' containing
+-- required fields as arguments.
+appMeshVirtualGatewayVirtualGatewayListenerTlsAcmCertificate
+  :: Val Text -- ^ 'amvgvgltacCertificateArn'
+  -> AppMeshVirtualGatewayVirtualGatewayListenerTlsAcmCertificate
+appMeshVirtualGatewayVirtualGatewayListenerTlsAcmCertificate certificateArnarg =
+  AppMeshVirtualGatewayVirtualGatewayListenerTlsAcmCertificate
+  { _appMeshVirtualGatewayVirtualGatewayListenerTlsAcmCertificateCertificateArn = certificateArnarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistenertlsacmcertificate.html#cfn-appmesh-virtualgateway-virtualgatewaylistenertlsacmcertificate-certificatearn
+amvgvgltacCertificateArn :: Lens' AppMeshVirtualGatewayVirtualGatewayListenerTlsAcmCertificate (Val Text)
+amvgvgltacCertificateArn = lens _appMeshVirtualGatewayVirtualGatewayListenerTlsAcmCertificateCertificateArn (\s a -> s { _appMeshVirtualGatewayVirtualGatewayListenerTlsAcmCertificateCertificateArn = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/AppMeshVirtualGatewayVirtualGatewayListenerTlsCertificate.hs b/library-gen/Stratosphere/ResourceProperties/AppMeshVirtualGatewayVirtualGatewayListenerTlsCertificate.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/AppMeshVirtualGatewayVirtualGatewayListenerTlsCertificate.hs
@@ -0,0 +1,49 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistenertlscertificate.html
+
+module Stratosphere.ResourceProperties.AppMeshVirtualGatewayVirtualGatewayListenerTlsCertificate where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.AppMeshVirtualGatewayVirtualGatewayListenerTlsAcmCertificate
+import Stratosphere.ResourceProperties.AppMeshVirtualGatewayVirtualGatewayListenerTlsFileCertificate
+
+-- | Full data type definition for
+-- AppMeshVirtualGatewayVirtualGatewayListenerTlsCertificate. See
+-- 'appMeshVirtualGatewayVirtualGatewayListenerTlsCertificate' for a more
+-- convenient constructor.
+data AppMeshVirtualGatewayVirtualGatewayListenerTlsCertificate =
+  AppMeshVirtualGatewayVirtualGatewayListenerTlsCertificate
+  { _appMeshVirtualGatewayVirtualGatewayListenerTlsCertificateACM :: Maybe AppMeshVirtualGatewayVirtualGatewayListenerTlsAcmCertificate
+  , _appMeshVirtualGatewayVirtualGatewayListenerTlsCertificateFile :: Maybe AppMeshVirtualGatewayVirtualGatewayListenerTlsFileCertificate
+  } deriving (Show, Eq)
+
+instance ToJSON AppMeshVirtualGatewayVirtualGatewayListenerTlsCertificate where
+  toJSON AppMeshVirtualGatewayVirtualGatewayListenerTlsCertificate{..} =
+    object $
+    catMaybes
+    [ fmap (("ACM",) . toJSON) _appMeshVirtualGatewayVirtualGatewayListenerTlsCertificateACM
+    , fmap (("File",) . toJSON) _appMeshVirtualGatewayVirtualGatewayListenerTlsCertificateFile
+    ]
+
+-- | Constructor for
+-- 'AppMeshVirtualGatewayVirtualGatewayListenerTlsCertificate' containing
+-- required fields as arguments.
+appMeshVirtualGatewayVirtualGatewayListenerTlsCertificate
+  :: AppMeshVirtualGatewayVirtualGatewayListenerTlsCertificate
+appMeshVirtualGatewayVirtualGatewayListenerTlsCertificate  =
+  AppMeshVirtualGatewayVirtualGatewayListenerTlsCertificate
+  { _appMeshVirtualGatewayVirtualGatewayListenerTlsCertificateACM = Nothing
+  , _appMeshVirtualGatewayVirtualGatewayListenerTlsCertificateFile = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistenertlscertificate.html#cfn-appmesh-virtualgateway-virtualgatewaylistenertlscertificate-acm
+amvgvgltcACM :: Lens' AppMeshVirtualGatewayVirtualGatewayListenerTlsCertificate (Maybe AppMeshVirtualGatewayVirtualGatewayListenerTlsAcmCertificate)
+amvgvgltcACM = lens _appMeshVirtualGatewayVirtualGatewayListenerTlsCertificateACM (\s a -> s { _appMeshVirtualGatewayVirtualGatewayListenerTlsCertificateACM = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistenertlscertificate.html#cfn-appmesh-virtualgateway-virtualgatewaylistenertlscertificate-file
+amvgvgltcFile :: Lens' AppMeshVirtualGatewayVirtualGatewayListenerTlsCertificate (Maybe AppMeshVirtualGatewayVirtualGatewayListenerTlsFileCertificate)
+amvgvgltcFile = lens _appMeshVirtualGatewayVirtualGatewayListenerTlsCertificateFile (\s a -> s { _appMeshVirtualGatewayVirtualGatewayListenerTlsCertificateFile = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/AppMeshVirtualGatewayVirtualGatewayListenerTlsFileCertificate.hs b/library-gen/Stratosphere/ResourceProperties/AppMeshVirtualGatewayVirtualGatewayListenerTlsFileCertificate.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/AppMeshVirtualGatewayVirtualGatewayListenerTlsFileCertificate.hs
@@ -0,0 +1,50 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistenertlsfilecertificate.html
+
+module Stratosphere.ResourceProperties.AppMeshVirtualGatewayVirtualGatewayListenerTlsFileCertificate where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for
+-- AppMeshVirtualGatewayVirtualGatewayListenerTlsFileCertificate. See
+-- 'appMeshVirtualGatewayVirtualGatewayListenerTlsFileCertificate' for a
+-- more convenient constructor.
+data AppMeshVirtualGatewayVirtualGatewayListenerTlsFileCertificate =
+  AppMeshVirtualGatewayVirtualGatewayListenerTlsFileCertificate
+  { _appMeshVirtualGatewayVirtualGatewayListenerTlsFileCertificateCertificateChain :: Val Text
+  , _appMeshVirtualGatewayVirtualGatewayListenerTlsFileCertificatePrivateKey :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON AppMeshVirtualGatewayVirtualGatewayListenerTlsFileCertificate where
+  toJSON AppMeshVirtualGatewayVirtualGatewayListenerTlsFileCertificate{..} =
+    object $
+    catMaybes
+    [ (Just . ("CertificateChain",) . toJSON) _appMeshVirtualGatewayVirtualGatewayListenerTlsFileCertificateCertificateChain
+    , (Just . ("PrivateKey",) . toJSON) _appMeshVirtualGatewayVirtualGatewayListenerTlsFileCertificatePrivateKey
+    ]
+
+-- | Constructor for
+-- 'AppMeshVirtualGatewayVirtualGatewayListenerTlsFileCertificate'
+-- containing required fields as arguments.
+appMeshVirtualGatewayVirtualGatewayListenerTlsFileCertificate
+  :: Val Text -- ^ 'amvgvgltfcCertificateChain'
+  -> Val Text -- ^ 'amvgvgltfcPrivateKey'
+  -> AppMeshVirtualGatewayVirtualGatewayListenerTlsFileCertificate
+appMeshVirtualGatewayVirtualGatewayListenerTlsFileCertificate certificateChainarg privateKeyarg =
+  AppMeshVirtualGatewayVirtualGatewayListenerTlsFileCertificate
+  { _appMeshVirtualGatewayVirtualGatewayListenerTlsFileCertificateCertificateChain = certificateChainarg
+  , _appMeshVirtualGatewayVirtualGatewayListenerTlsFileCertificatePrivateKey = privateKeyarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistenertlsfilecertificate.html#cfn-appmesh-virtualgateway-virtualgatewaylistenertlsfilecertificate-certificatechain
+amvgvgltfcCertificateChain :: Lens' AppMeshVirtualGatewayVirtualGatewayListenerTlsFileCertificate (Val Text)
+amvgvgltfcCertificateChain = lens _appMeshVirtualGatewayVirtualGatewayListenerTlsFileCertificateCertificateChain (\s a -> s { _appMeshVirtualGatewayVirtualGatewayListenerTlsFileCertificateCertificateChain = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistenertlsfilecertificate.html#cfn-appmesh-virtualgateway-virtualgatewaylistenertlsfilecertificate-privatekey
+amvgvgltfcPrivateKey :: Lens' AppMeshVirtualGatewayVirtualGatewayListenerTlsFileCertificate (Val Text)
+amvgvgltfcPrivateKey = lens _appMeshVirtualGatewayVirtualGatewayListenerTlsFileCertificatePrivateKey (\s a -> s { _appMeshVirtualGatewayVirtualGatewayListenerTlsFileCertificatePrivateKey = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/AppMeshVirtualGatewayVirtualGatewayLogging.hs b/library-gen/Stratosphere/ResourceProperties/AppMeshVirtualGatewayVirtualGatewayLogging.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/AppMeshVirtualGatewayVirtualGatewayLogging.hs
@@ -0,0 +1,39 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylogging.html
+
+module Stratosphere.ResourceProperties.AppMeshVirtualGatewayVirtualGatewayLogging where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.AppMeshVirtualGatewayVirtualGatewayAccessLog
+
+-- | Full data type definition for AppMeshVirtualGatewayVirtualGatewayLogging.
+-- See 'appMeshVirtualGatewayVirtualGatewayLogging' for a more convenient
+-- constructor.
+data AppMeshVirtualGatewayVirtualGatewayLogging =
+  AppMeshVirtualGatewayVirtualGatewayLogging
+  { _appMeshVirtualGatewayVirtualGatewayLoggingAccessLog :: Maybe AppMeshVirtualGatewayVirtualGatewayAccessLog
+  } deriving (Show, Eq)
+
+instance ToJSON AppMeshVirtualGatewayVirtualGatewayLogging where
+  toJSON AppMeshVirtualGatewayVirtualGatewayLogging{..} =
+    object $
+    catMaybes
+    [ fmap (("AccessLog",) . toJSON) _appMeshVirtualGatewayVirtualGatewayLoggingAccessLog
+    ]
+
+-- | Constructor for 'AppMeshVirtualGatewayVirtualGatewayLogging' containing
+-- required fields as arguments.
+appMeshVirtualGatewayVirtualGatewayLogging
+  :: AppMeshVirtualGatewayVirtualGatewayLogging
+appMeshVirtualGatewayVirtualGatewayLogging  =
+  AppMeshVirtualGatewayVirtualGatewayLogging
+  { _appMeshVirtualGatewayVirtualGatewayLoggingAccessLog = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylogging.html#cfn-appmesh-virtualgateway-virtualgatewaylogging-accesslog
+amvgvglAccessLog :: Lens' AppMeshVirtualGatewayVirtualGatewayLogging (Maybe AppMeshVirtualGatewayVirtualGatewayAccessLog)
+amvgvglAccessLog = lens _appMeshVirtualGatewayVirtualGatewayLoggingAccessLog (\s a -> s { _appMeshVirtualGatewayVirtualGatewayLoggingAccessLog = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/AppMeshVirtualGatewayVirtualGatewayPortMapping.hs b/library-gen/Stratosphere/ResourceProperties/AppMeshVirtualGatewayVirtualGatewayPortMapping.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/AppMeshVirtualGatewayVirtualGatewayPortMapping.hs
@@ -0,0 +1,49 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayportmapping.html
+
+module Stratosphere.ResourceProperties.AppMeshVirtualGatewayVirtualGatewayPortMapping where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for
+-- AppMeshVirtualGatewayVirtualGatewayPortMapping. See
+-- 'appMeshVirtualGatewayVirtualGatewayPortMapping' for a more convenient
+-- constructor.
+data AppMeshVirtualGatewayVirtualGatewayPortMapping =
+  AppMeshVirtualGatewayVirtualGatewayPortMapping
+  { _appMeshVirtualGatewayVirtualGatewayPortMappingPort :: Val Integer
+  , _appMeshVirtualGatewayVirtualGatewayPortMappingProtocol :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON AppMeshVirtualGatewayVirtualGatewayPortMapping where
+  toJSON AppMeshVirtualGatewayVirtualGatewayPortMapping{..} =
+    object $
+    catMaybes
+    [ (Just . ("Port",) . toJSON) _appMeshVirtualGatewayVirtualGatewayPortMappingPort
+    , (Just . ("Protocol",) . toJSON) _appMeshVirtualGatewayVirtualGatewayPortMappingProtocol
+    ]
+
+-- | Constructor for 'AppMeshVirtualGatewayVirtualGatewayPortMapping'
+-- containing required fields as arguments.
+appMeshVirtualGatewayVirtualGatewayPortMapping
+  :: Val Integer -- ^ 'amvgvgpmPort'
+  -> Val Text -- ^ 'amvgvgpmProtocol'
+  -> AppMeshVirtualGatewayVirtualGatewayPortMapping
+appMeshVirtualGatewayVirtualGatewayPortMapping portarg protocolarg =
+  AppMeshVirtualGatewayVirtualGatewayPortMapping
+  { _appMeshVirtualGatewayVirtualGatewayPortMappingPort = portarg
+  , _appMeshVirtualGatewayVirtualGatewayPortMappingProtocol = protocolarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayportmapping.html#cfn-appmesh-virtualgateway-virtualgatewayportmapping-port
+amvgvgpmPort :: Lens' AppMeshVirtualGatewayVirtualGatewayPortMapping (Val Integer)
+amvgvgpmPort = lens _appMeshVirtualGatewayVirtualGatewayPortMappingPort (\s a -> s { _appMeshVirtualGatewayVirtualGatewayPortMappingPort = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayportmapping.html#cfn-appmesh-virtualgateway-virtualgatewayportmapping-protocol
+amvgvgpmProtocol :: Lens' AppMeshVirtualGatewayVirtualGatewayPortMapping (Val Text)
+amvgvgpmProtocol = lens _appMeshVirtualGatewayVirtualGatewayPortMappingProtocol (\s a -> s { _appMeshVirtualGatewayVirtualGatewayPortMappingProtocol = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/AppMeshVirtualGatewayVirtualGatewaySpec.hs b/library-gen/Stratosphere/ResourceProperties/AppMeshVirtualGatewayVirtualGatewaySpec.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/AppMeshVirtualGatewayVirtualGatewaySpec.hs
@@ -0,0 +1,56 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayspec.html
+
+module Stratosphere.ResourceProperties.AppMeshVirtualGatewayVirtualGatewaySpec where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.AppMeshVirtualGatewayVirtualGatewayBackendDefaults
+import Stratosphere.ResourceProperties.AppMeshVirtualGatewayVirtualGatewayListener
+import Stratosphere.ResourceProperties.AppMeshVirtualGatewayVirtualGatewayLogging
+
+-- | Full data type definition for AppMeshVirtualGatewayVirtualGatewaySpec.
+-- See 'appMeshVirtualGatewayVirtualGatewaySpec' for a more convenient
+-- constructor.
+data AppMeshVirtualGatewayVirtualGatewaySpec =
+  AppMeshVirtualGatewayVirtualGatewaySpec
+  { _appMeshVirtualGatewayVirtualGatewaySpecBackendDefaults :: Maybe AppMeshVirtualGatewayVirtualGatewayBackendDefaults
+  , _appMeshVirtualGatewayVirtualGatewaySpecListeners :: [AppMeshVirtualGatewayVirtualGatewayListener]
+  , _appMeshVirtualGatewayVirtualGatewaySpecLogging :: Maybe AppMeshVirtualGatewayVirtualGatewayLogging
+  } deriving (Show, Eq)
+
+instance ToJSON AppMeshVirtualGatewayVirtualGatewaySpec where
+  toJSON AppMeshVirtualGatewayVirtualGatewaySpec{..} =
+    object $
+    catMaybes
+    [ fmap (("BackendDefaults",) . toJSON) _appMeshVirtualGatewayVirtualGatewaySpecBackendDefaults
+    , (Just . ("Listeners",) . toJSON) _appMeshVirtualGatewayVirtualGatewaySpecListeners
+    , fmap (("Logging",) . toJSON) _appMeshVirtualGatewayVirtualGatewaySpecLogging
+    ]
+
+-- | Constructor for 'AppMeshVirtualGatewayVirtualGatewaySpec' containing
+-- required fields as arguments.
+appMeshVirtualGatewayVirtualGatewaySpec
+  :: [AppMeshVirtualGatewayVirtualGatewayListener] -- ^ 'amvgvgsListeners'
+  -> AppMeshVirtualGatewayVirtualGatewaySpec
+appMeshVirtualGatewayVirtualGatewaySpec listenersarg =
+  AppMeshVirtualGatewayVirtualGatewaySpec
+  { _appMeshVirtualGatewayVirtualGatewaySpecBackendDefaults = Nothing
+  , _appMeshVirtualGatewayVirtualGatewaySpecListeners = listenersarg
+  , _appMeshVirtualGatewayVirtualGatewaySpecLogging = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayspec.html#cfn-appmesh-virtualgateway-virtualgatewayspec-backenddefaults
+amvgvgsBackendDefaults :: Lens' AppMeshVirtualGatewayVirtualGatewaySpec (Maybe AppMeshVirtualGatewayVirtualGatewayBackendDefaults)
+amvgvgsBackendDefaults = lens _appMeshVirtualGatewayVirtualGatewaySpecBackendDefaults (\s a -> s { _appMeshVirtualGatewayVirtualGatewaySpecBackendDefaults = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayspec.html#cfn-appmesh-virtualgateway-virtualgatewayspec-listeners
+amvgvgsListeners :: Lens' AppMeshVirtualGatewayVirtualGatewaySpec [AppMeshVirtualGatewayVirtualGatewayListener]
+amvgvgsListeners = lens _appMeshVirtualGatewayVirtualGatewaySpecListeners (\s a -> s { _appMeshVirtualGatewayVirtualGatewaySpecListeners = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayspec.html#cfn-appmesh-virtualgateway-virtualgatewayspec-logging
+amvgvgsLogging :: Lens' AppMeshVirtualGatewayVirtualGatewaySpec (Maybe AppMeshVirtualGatewayVirtualGatewayLogging)
+amvgvgsLogging = lens _appMeshVirtualGatewayVirtualGatewaySpecLogging (\s a -> s { _appMeshVirtualGatewayVirtualGatewaySpecLogging = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/AppMeshVirtualGatewayVirtualGatewayTlsValidationContext.hs b/library-gen/Stratosphere/ResourceProperties/AppMeshVirtualGatewayVirtualGatewayTlsValidationContext.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/AppMeshVirtualGatewayVirtualGatewayTlsValidationContext.hs
@@ -0,0 +1,41 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaytlsvalidationcontext.html
+
+module Stratosphere.ResourceProperties.AppMeshVirtualGatewayVirtualGatewayTlsValidationContext where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.AppMeshVirtualGatewayVirtualGatewayTlsValidationContextTrust
+
+-- | Full data type definition for
+-- AppMeshVirtualGatewayVirtualGatewayTlsValidationContext. See
+-- 'appMeshVirtualGatewayVirtualGatewayTlsValidationContext' for a more
+-- convenient constructor.
+data AppMeshVirtualGatewayVirtualGatewayTlsValidationContext =
+  AppMeshVirtualGatewayVirtualGatewayTlsValidationContext
+  { _appMeshVirtualGatewayVirtualGatewayTlsValidationContextTrust :: AppMeshVirtualGatewayVirtualGatewayTlsValidationContextTrust
+  } deriving (Show, Eq)
+
+instance ToJSON AppMeshVirtualGatewayVirtualGatewayTlsValidationContext where
+  toJSON AppMeshVirtualGatewayVirtualGatewayTlsValidationContext{..} =
+    object $
+    catMaybes
+    [ (Just . ("Trust",) . toJSON) _appMeshVirtualGatewayVirtualGatewayTlsValidationContextTrust
+    ]
+
+-- | Constructor for 'AppMeshVirtualGatewayVirtualGatewayTlsValidationContext'
+-- containing required fields as arguments.
+appMeshVirtualGatewayVirtualGatewayTlsValidationContext
+  :: AppMeshVirtualGatewayVirtualGatewayTlsValidationContextTrust -- ^ 'amvgvgtvcTrust'
+  -> AppMeshVirtualGatewayVirtualGatewayTlsValidationContext
+appMeshVirtualGatewayVirtualGatewayTlsValidationContext trustarg =
+  AppMeshVirtualGatewayVirtualGatewayTlsValidationContext
+  { _appMeshVirtualGatewayVirtualGatewayTlsValidationContextTrust = trustarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaytlsvalidationcontext.html#cfn-appmesh-virtualgateway-virtualgatewaytlsvalidationcontext-trust
+amvgvgtvcTrust :: Lens' AppMeshVirtualGatewayVirtualGatewayTlsValidationContext AppMeshVirtualGatewayVirtualGatewayTlsValidationContextTrust
+amvgvgtvcTrust = lens _appMeshVirtualGatewayVirtualGatewayTlsValidationContextTrust (\s a -> s { _appMeshVirtualGatewayVirtualGatewayTlsValidationContextTrust = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/AppMeshVirtualGatewayVirtualGatewayTlsValidationContextAcmTrust.hs b/library-gen/Stratosphere/ResourceProperties/AppMeshVirtualGatewayVirtualGatewayTlsValidationContextAcmTrust.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/AppMeshVirtualGatewayVirtualGatewayTlsValidationContextAcmTrust.hs
@@ -0,0 +1,42 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaytlsvalidationcontextacmtrust.html
+
+module Stratosphere.ResourceProperties.AppMeshVirtualGatewayVirtualGatewayTlsValidationContextAcmTrust where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for
+-- AppMeshVirtualGatewayVirtualGatewayTlsValidationContextAcmTrust. See
+-- 'appMeshVirtualGatewayVirtualGatewayTlsValidationContextAcmTrust' for a
+-- more convenient constructor.
+data AppMeshVirtualGatewayVirtualGatewayTlsValidationContextAcmTrust =
+  AppMeshVirtualGatewayVirtualGatewayTlsValidationContextAcmTrust
+  { _appMeshVirtualGatewayVirtualGatewayTlsValidationContextAcmTrustCertificateAuthorityArns :: ValList Text
+  } deriving (Show, Eq)
+
+instance ToJSON AppMeshVirtualGatewayVirtualGatewayTlsValidationContextAcmTrust where
+  toJSON AppMeshVirtualGatewayVirtualGatewayTlsValidationContextAcmTrust{..} =
+    object $
+    catMaybes
+    [ (Just . ("CertificateAuthorityArns",) . toJSON) _appMeshVirtualGatewayVirtualGatewayTlsValidationContextAcmTrustCertificateAuthorityArns
+    ]
+
+-- | Constructor for
+-- 'AppMeshVirtualGatewayVirtualGatewayTlsValidationContextAcmTrust'
+-- containing required fields as arguments.
+appMeshVirtualGatewayVirtualGatewayTlsValidationContextAcmTrust
+  :: ValList Text -- ^ 'amvgvgtvcatCertificateAuthorityArns'
+  -> AppMeshVirtualGatewayVirtualGatewayTlsValidationContextAcmTrust
+appMeshVirtualGatewayVirtualGatewayTlsValidationContextAcmTrust certificateAuthorityArnsarg =
+  AppMeshVirtualGatewayVirtualGatewayTlsValidationContextAcmTrust
+  { _appMeshVirtualGatewayVirtualGatewayTlsValidationContextAcmTrustCertificateAuthorityArns = certificateAuthorityArnsarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaytlsvalidationcontextacmtrust.html#cfn-appmesh-virtualgateway-virtualgatewaytlsvalidationcontextacmtrust-certificateauthorityarns
+amvgvgtvcatCertificateAuthorityArns :: Lens' AppMeshVirtualGatewayVirtualGatewayTlsValidationContextAcmTrust (ValList Text)
+amvgvgtvcatCertificateAuthorityArns = lens _appMeshVirtualGatewayVirtualGatewayTlsValidationContextAcmTrustCertificateAuthorityArns (\s a -> s { _appMeshVirtualGatewayVirtualGatewayTlsValidationContextAcmTrustCertificateAuthorityArns = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/AppMeshVirtualGatewayVirtualGatewayTlsValidationContextFileTrust.hs b/library-gen/Stratosphere/ResourceProperties/AppMeshVirtualGatewayVirtualGatewayTlsValidationContextFileTrust.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/AppMeshVirtualGatewayVirtualGatewayTlsValidationContextFileTrust.hs
@@ -0,0 +1,42 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaytlsvalidationcontextfiletrust.html
+
+module Stratosphere.ResourceProperties.AppMeshVirtualGatewayVirtualGatewayTlsValidationContextFileTrust where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for
+-- AppMeshVirtualGatewayVirtualGatewayTlsValidationContextFileTrust. See
+-- 'appMeshVirtualGatewayVirtualGatewayTlsValidationContextFileTrust' for a
+-- more convenient constructor.
+data AppMeshVirtualGatewayVirtualGatewayTlsValidationContextFileTrust =
+  AppMeshVirtualGatewayVirtualGatewayTlsValidationContextFileTrust
+  { _appMeshVirtualGatewayVirtualGatewayTlsValidationContextFileTrustCertificateChain :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON AppMeshVirtualGatewayVirtualGatewayTlsValidationContextFileTrust where
+  toJSON AppMeshVirtualGatewayVirtualGatewayTlsValidationContextFileTrust{..} =
+    object $
+    catMaybes
+    [ (Just . ("CertificateChain",) . toJSON) _appMeshVirtualGatewayVirtualGatewayTlsValidationContextFileTrustCertificateChain
+    ]
+
+-- | Constructor for
+-- 'AppMeshVirtualGatewayVirtualGatewayTlsValidationContextFileTrust'
+-- containing required fields as arguments.
+appMeshVirtualGatewayVirtualGatewayTlsValidationContextFileTrust
+  :: Val Text -- ^ 'amvgvgtvcftCertificateChain'
+  -> AppMeshVirtualGatewayVirtualGatewayTlsValidationContextFileTrust
+appMeshVirtualGatewayVirtualGatewayTlsValidationContextFileTrust certificateChainarg =
+  AppMeshVirtualGatewayVirtualGatewayTlsValidationContextFileTrust
+  { _appMeshVirtualGatewayVirtualGatewayTlsValidationContextFileTrustCertificateChain = certificateChainarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaytlsvalidationcontextfiletrust.html#cfn-appmesh-virtualgateway-virtualgatewaytlsvalidationcontextfiletrust-certificatechain
+amvgvgtvcftCertificateChain :: Lens' AppMeshVirtualGatewayVirtualGatewayTlsValidationContextFileTrust (Val Text)
+amvgvgtvcftCertificateChain = lens _appMeshVirtualGatewayVirtualGatewayTlsValidationContextFileTrustCertificateChain (\s a -> s { _appMeshVirtualGatewayVirtualGatewayTlsValidationContextFileTrustCertificateChain = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/AppMeshVirtualGatewayVirtualGatewayTlsValidationContextTrust.hs b/library-gen/Stratosphere/ResourceProperties/AppMeshVirtualGatewayVirtualGatewayTlsValidationContextTrust.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/AppMeshVirtualGatewayVirtualGatewayTlsValidationContextTrust.hs
@@ -0,0 +1,49 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaytlsvalidationcontexttrust.html
+
+module Stratosphere.ResourceProperties.AppMeshVirtualGatewayVirtualGatewayTlsValidationContextTrust where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.AppMeshVirtualGatewayVirtualGatewayTlsValidationContextAcmTrust
+import Stratosphere.ResourceProperties.AppMeshVirtualGatewayVirtualGatewayTlsValidationContextFileTrust
+
+-- | Full data type definition for
+-- AppMeshVirtualGatewayVirtualGatewayTlsValidationContextTrust. See
+-- 'appMeshVirtualGatewayVirtualGatewayTlsValidationContextTrust' for a more
+-- convenient constructor.
+data AppMeshVirtualGatewayVirtualGatewayTlsValidationContextTrust =
+  AppMeshVirtualGatewayVirtualGatewayTlsValidationContextTrust
+  { _appMeshVirtualGatewayVirtualGatewayTlsValidationContextTrustACM :: Maybe AppMeshVirtualGatewayVirtualGatewayTlsValidationContextAcmTrust
+  , _appMeshVirtualGatewayVirtualGatewayTlsValidationContextTrustFile :: Maybe AppMeshVirtualGatewayVirtualGatewayTlsValidationContextFileTrust
+  } deriving (Show, Eq)
+
+instance ToJSON AppMeshVirtualGatewayVirtualGatewayTlsValidationContextTrust where
+  toJSON AppMeshVirtualGatewayVirtualGatewayTlsValidationContextTrust{..} =
+    object $
+    catMaybes
+    [ fmap (("ACM",) . toJSON) _appMeshVirtualGatewayVirtualGatewayTlsValidationContextTrustACM
+    , fmap (("File",) . toJSON) _appMeshVirtualGatewayVirtualGatewayTlsValidationContextTrustFile
+    ]
+
+-- | Constructor for
+-- 'AppMeshVirtualGatewayVirtualGatewayTlsValidationContextTrust' containing
+-- required fields as arguments.
+appMeshVirtualGatewayVirtualGatewayTlsValidationContextTrust
+  :: AppMeshVirtualGatewayVirtualGatewayTlsValidationContextTrust
+appMeshVirtualGatewayVirtualGatewayTlsValidationContextTrust  =
+  AppMeshVirtualGatewayVirtualGatewayTlsValidationContextTrust
+  { _appMeshVirtualGatewayVirtualGatewayTlsValidationContextTrustACM = Nothing
+  , _appMeshVirtualGatewayVirtualGatewayTlsValidationContextTrustFile = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaytlsvalidationcontexttrust.html#cfn-appmesh-virtualgateway-virtualgatewaytlsvalidationcontexttrust-acm
+amvgvgtvctACM :: Lens' AppMeshVirtualGatewayVirtualGatewayTlsValidationContextTrust (Maybe AppMeshVirtualGatewayVirtualGatewayTlsValidationContextAcmTrust)
+amvgvgtvctACM = lens _appMeshVirtualGatewayVirtualGatewayTlsValidationContextTrustACM (\s a -> s { _appMeshVirtualGatewayVirtualGatewayTlsValidationContextTrustACM = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaytlsvalidationcontexttrust.html#cfn-appmesh-virtualgateway-virtualgatewaytlsvalidationcontexttrust-file
+amvgvgtvctFile :: Lens' AppMeshVirtualGatewayVirtualGatewayTlsValidationContextTrust (Maybe AppMeshVirtualGatewayVirtualGatewayTlsValidationContextFileTrust)
+amvgvgtvctFile = lens _appMeshVirtualGatewayVirtualGatewayTlsValidationContextTrustFile (\s a -> s { _appMeshVirtualGatewayVirtualGatewayTlsValidationContextTrustFile = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/CodeBuildProjectBatchRestrictions.hs b/library-gen/Stratosphere/ResourceProperties/CodeBuildProjectBatchRestrictions.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/CodeBuildProjectBatchRestrictions.hs
@@ -0,0 +1,45 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-batchrestrictions.html
+
+module Stratosphere.ResourceProperties.CodeBuildProjectBatchRestrictions where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for CodeBuildProjectBatchRestrictions. See
+-- 'codeBuildProjectBatchRestrictions' for a more convenient constructor.
+data CodeBuildProjectBatchRestrictions =
+  CodeBuildProjectBatchRestrictions
+  { _codeBuildProjectBatchRestrictionsComputeTypesAllowed :: Maybe (ValList Text)
+  , _codeBuildProjectBatchRestrictionsMaximumBuildsAllowed :: Maybe (Val Integer)
+  } deriving (Show, Eq)
+
+instance ToJSON CodeBuildProjectBatchRestrictions where
+  toJSON CodeBuildProjectBatchRestrictions{..} =
+    object $
+    catMaybes
+    [ fmap (("ComputeTypesAllowed",) . toJSON) _codeBuildProjectBatchRestrictionsComputeTypesAllowed
+    , fmap (("MaximumBuildsAllowed",) . toJSON) _codeBuildProjectBatchRestrictionsMaximumBuildsAllowed
+    ]
+
+-- | Constructor for 'CodeBuildProjectBatchRestrictions' containing required
+-- fields as arguments.
+codeBuildProjectBatchRestrictions
+  :: CodeBuildProjectBatchRestrictions
+codeBuildProjectBatchRestrictions  =
+  CodeBuildProjectBatchRestrictions
+  { _codeBuildProjectBatchRestrictionsComputeTypesAllowed = Nothing
+  , _codeBuildProjectBatchRestrictionsMaximumBuildsAllowed = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-batchrestrictions.html#cfn-codebuild-project-batchrestrictions-computetypesallowed
+cbpbrComputeTypesAllowed :: Lens' CodeBuildProjectBatchRestrictions (Maybe (ValList Text))
+cbpbrComputeTypesAllowed = lens _codeBuildProjectBatchRestrictionsComputeTypesAllowed (\s a -> s { _codeBuildProjectBatchRestrictionsComputeTypesAllowed = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-batchrestrictions.html#cfn-codebuild-project-batchrestrictions-maximumbuildsallowed
+cbpbrMaximumBuildsAllowed :: Lens' CodeBuildProjectBatchRestrictions (Maybe (Val Integer))
+cbpbrMaximumBuildsAllowed = lens _codeBuildProjectBatchRestrictionsMaximumBuildsAllowed (\s a -> s { _codeBuildProjectBatchRestrictionsMaximumBuildsAllowed = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/CodeBuildProjectProjectBuildBatchConfig.hs b/library-gen/Stratosphere/ResourceProperties/CodeBuildProjectProjectBuildBatchConfig.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/CodeBuildProjectProjectBuildBatchConfig.hs
@@ -0,0 +1,60 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-projectbuildbatchconfig.html
+
+module Stratosphere.ResourceProperties.CodeBuildProjectProjectBuildBatchConfig where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.CodeBuildProjectBatchRestrictions
+
+-- | Full data type definition for CodeBuildProjectProjectBuildBatchConfig.
+-- See 'codeBuildProjectProjectBuildBatchConfig' for a more convenient
+-- constructor.
+data CodeBuildProjectProjectBuildBatchConfig =
+  CodeBuildProjectProjectBuildBatchConfig
+  { _codeBuildProjectProjectBuildBatchConfigCombineArtifacts :: Maybe (Val Bool)
+  , _codeBuildProjectProjectBuildBatchConfigRestrictions :: Maybe CodeBuildProjectBatchRestrictions
+  , _codeBuildProjectProjectBuildBatchConfigServiceRole :: Maybe (Val Text)
+  , _codeBuildProjectProjectBuildBatchConfigTimeoutInMins :: Maybe (Val Integer)
+  } deriving (Show, Eq)
+
+instance ToJSON CodeBuildProjectProjectBuildBatchConfig where
+  toJSON CodeBuildProjectProjectBuildBatchConfig{..} =
+    object $
+    catMaybes
+    [ fmap (("CombineArtifacts",) . toJSON) _codeBuildProjectProjectBuildBatchConfigCombineArtifacts
+    , fmap (("Restrictions",) . toJSON) _codeBuildProjectProjectBuildBatchConfigRestrictions
+    , fmap (("ServiceRole",) . toJSON) _codeBuildProjectProjectBuildBatchConfigServiceRole
+    , fmap (("TimeoutInMins",) . toJSON) _codeBuildProjectProjectBuildBatchConfigTimeoutInMins
+    ]
+
+-- | Constructor for 'CodeBuildProjectProjectBuildBatchConfig' containing
+-- required fields as arguments.
+codeBuildProjectProjectBuildBatchConfig
+  :: CodeBuildProjectProjectBuildBatchConfig
+codeBuildProjectProjectBuildBatchConfig  =
+  CodeBuildProjectProjectBuildBatchConfig
+  { _codeBuildProjectProjectBuildBatchConfigCombineArtifacts = Nothing
+  , _codeBuildProjectProjectBuildBatchConfigRestrictions = Nothing
+  , _codeBuildProjectProjectBuildBatchConfigServiceRole = Nothing
+  , _codeBuildProjectProjectBuildBatchConfigTimeoutInMins = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-projectbuildbatchconfig.html#cfn-codebuild-project-projectbuildbatchconfig-combineartifacts
+cbppbbcCombineArtifacts :: Lens' CodeBuildProjectProjectBuildBatchConfig (Maybe (Val Bool))
+cbppbbcCombineArtifacts = lens _codeBuildProjectProjectBuildBatchConfigCombineArtifacts (\s a -> s { _codeBuildProjectProjectBuildBatchConfigCombineArtifacts = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-projectbuildbatchconfig.html#cfn-codebuild-project-projectbuildbatchconfig-restrictions
+cbppbbcRestrictions :: Lens' CodeBuildProjectProjectBuildBatchConfig (Maybe CodeBuildProjectBatchRestrictions)
+cbppbbcRestrictions = lens _codeBuildProjectProjectBuildBatchConfigRestrictions (\s a -> s { _codeBuildProjectProjectBuildBatchConfigRestrictions = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-projectbuildbatchconfig.html#cfn-codebuild-project-projectbuildbatchconfig-servicerole
+cbppbbcServiceRole :: Lens' CodeBuildProjectProjectBuildBatchConfig (Maybe (Val Text))
+cbppbbcServiceRole = lens _codeBuildProjectProjectBuildBatchConfigServiceRole (\s a -> s { _codeBuildProjectProjectBuildBatchConfigServiceRole = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-projectbuildbatchconfig.html#cfn-codebuild-project-projectbuildbatchconfig-timeoutinmins
+cbppbbcTimeoutInMins :: Lens' CodeBuildProjectProjectBuildBatchConfig (Maybe (Val Integer))
+cbppbbcTimeoutInMins = lens _codeBuildProjectProjectBuildBatchConfigTimeoutInMins (\s a -> s { _codeBuildProjectProjectBuildBatchConfigTimeoutInMins = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/CodeGuruProfilerProfilingGroupChannel.hs b/library-gen/Stratosphere/ResourceProperties/CodeGuruProfilerProfilingGroupChannel.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/CodeGuruProfilerProfilingGroupChannel.hs
@@ -0,0 +1,47 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codeguruprofiler-profilinggroup-channel.html
+
+module Stratosphere.ResourceProperties.CodeGuruProfilerProfilingGroupChannel where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for CodeGuruProfilerProfilingGroupChannel. See
+-- 'codeGuruProfilerProfilingGroupChannel' for a more convenient
+-- constructor.
+data CodeGuruProfilerProfilingGroupChannel =
+  CodeGuruProfilerProfilingGroupChannel
+  { _codeGuruProfilerProfilingGroupChannelchannelId :: Maybe (Val Text)
+  , _codeGuruProfilerProfilingGroupChannelchannelUri :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON CodeGuruProfilerProfilingGroupChannel where
+  toJSON CodeGuruProfilerProfilingGroupChannel{..} =
+    object $
+    catMaybes
+    [ fmap (("channelId",) . toJSON) _codeGuruProfilerProfilingGroupChannelchannelId
+    , (Just . ("channelUri",) . toJSON) _codeGuruProfilerProfilingGroupChannelchannelUri
+    ]
+
+-- | Constructor for 'CodeGuruProfilerProfilingGroupChannel' containing
+-- required fields as arguments.
+codeGuruProfilerProfilingGroupChannel
+  :: Val Text -- ^ 'cgppgcchannelUri'
+  -> CodeGuruProfilerProfilingGroupChannel
+codeGuruProfilerProfilingGroupChannel channelUriarg =
+  CodeGuruProfilerProfilingGroupChannel
+  { _codeGuruProfilerProfilingGroupChannelchannelId = Nothing
+  , _codeGuruProfilerProfilingGroupChannelchannelUri = channelUriarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codeguruprofiler-profilinggroup-channel.html#cfn-codeguruprofiler-profilinggroup-channel-channelid
+cgppgcchannelId :: Lens' CodeGuruProfilerProfilingGroupChannel (Maybe (Val Text))
+cgppgcchannelId = lens _codeGuruProfilerProfilingGroupChannelchannelId (\s a -> s { _codeGuruProfilerProfilingGroupChannelchannelId = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codeguruprofiler-profilinggroup-channel.html#cfn-codeguruprofiler-profilinggroup-channel-channeluri
+cgppgcchannelUri :: Lens' CodeGuruProfilerProfilingGroupChannel (Val Text)
+cgppgcchannelUri = lens _codeGuruProfilerProfilingGroupChannelchannelUri (\s a -> s { _codeGuruProfilerProfilingGroupChannelchannelUri = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/FSxFileSystemLustreConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/FSxFileSystemLustreConfiguration.hs
--- a/library-gen/Stratosphere/ResourceProperties/FSxFileSystemLustreConfiguration.hs
+++ b/library-gen/Stratosphere/ResourceProperties/FSxFileSystemLustreConfiguration.hs
@@ -14,7 +14,8 @@
 -- 'fSxFileSystemLustreConfiguration' for a more convenient constructor.
 data FSxFileSystemLustreConfiguration =
   FSxFileSystemLustreConfiguration
-  { _fSxFileSystemLustreConfigurationAutomaticBackupRetentionDays :: Maybe (Val Integer)
+  { _fSxFileSystemLustreConfigurationAutoImportPolicy :: Maybe (Val Text)
+  , _fSxFileSystemLustreConfigurationAutomaticBackupRetentionDays :: Maybe (Val Integer)
   , _fSxFileSystemLustreConfigurationCopyTagsToBackups :: Maybe (Val Bool)
   , _fSxFileSystemLustreConfigurationDailyAutomaticBackupStartTime :: Maybe (Val Text)
   , _fSxFileSystemLustreConfigurationDeploymentType :: Maybe (Val Text)
@@ -29,7 +30,8 @@
   toJSON FSxFileSystemLustreConfiguration{..} =
     object $
     catMaybes
-    [ fmap (("AutomaticBackupRetentionDays",) . toJSON) _fSxFileSystemLustreConfigurationAutomaticBackupRetentionDays
+    [ fmap (("AutoImportPolicy",) . toJSON) _fSxFileSystemLustreConfigurationAutoImportPolicy
+    , fmap (("AutomaticBackupRetentionDays",) . toJSON) _fSxFileSystemLustreConfigurationAutomaticBackupRetentionDays
     , fmap (("CopyTagsToBackups",) . toJSON) _fSxFileSystemLustreConfigurationCopyTagsToBackups
     , fmap (("DailyAutomaticBackupStartTime",) . toJSON) _fSxFileSystemLustreConfigurationDailyAutomaticBackupStartTime
     , fmap (("DeploymentType",) . toJSON) _fSxFileSystemLustreConfigurationDeploymentType
@@ -46,7 +48,8 @@
   :: FSxFileSystemLustreConfiguration
 fSxFileSystemLustreConfiguration  =
   FSxFileSystemLustreConfiguration
-  { _fSxFileSystemLustreConfigurationAutomaticBackupRetentionDays = Nothing
+  { _fSxFileSystemLustreConfigurationAutoImportPolicy = Nothing
+  , _fSxFileSystemLustreConfigurationAutomaticBackupRetentionDays = Nothing
   , _fSxFileSystemLustreConfigurationCopyTagsToBackups = Nothing
   , _fSxFileSystemLustreConfigurationDailyAutomaticBackupStartTime = Nothing
   , _fSxFileSystemLustreConfigurationDeploymentType = Nothing
@@ -56,6 +59,10 @@
   , _fSxFileSystemLustreConfigurationPerUnitStorageThroughput = Nothing
   , _fSxFileSystemLustreConfigurationWeeklyMaintenanceStartTime = Nothing
   }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-lustreconfiguration.html#cfn-fsx-filesystem-lustreconfiguration-autoimportpolicy
+fsfslcAutoImportPolicy :: Lens' FSxFileSystemLustreConfiguration (Maybe (Val Text))
+fsfslcAutoImportPolicy = lens _fSxFileSystemLustreConfigurationAutoImportPolicy (\s a -> s { _fSxFileSystemLustreConfigurationAutoImportPolicy = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-lustreconfiguration.html#cfn-fsx-filesystem-lustreconfiguration-automaticbackupretentiondays
 fsfslcAutomaticBackupRetentionDays :: Lens' FSxFileSystemLustreConfiguration (Maybe (Val Integer))
diff --git a/library-gen/Stratosphere/ResourceProperties/KinesisFirehoseDeliveryStreamHttpEndpointCommonAttribute.hs b/library-gen/Stratosphere/ResourceProperties/KinesisFirehoseDeliveryStreamHttpEndpointCommonAttribute.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/KinesisFirehoseDeliveryStreamHttpEndpointCommonAttribute.hs
@@ -0,0 +1,50 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointcommonattribute.html
+
+module Stratosphere.ResourceProperties.KinesisFirehoseDeliveryStreamHttpEndpointCommonAttribute where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for
+-- KinesisFirehoseDeliveryStreamHttpEndpointCommonAttribute. See
+-- 'kinesisFirehoseDeliveryStreamHttpEndpointCommonAttribute' for a more
+-- convenient constructor.
+data KinesisFirehoseDeliveryStreamHttpEndpointCommonAttribute =
+  KinesisFirehoseDeliveryStreamHttpEndpointCommonAttribute
+  { _kinesisFirehoseDeliveryStreamHttpEndpointCommonAttributeAttributeName :: Val Text
+  , _kinesisFirehoseDeliveryStreamHttpEndpointCommonAttributeAttributeValue :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON KinesisFirehoseDeliveryStreamHttpEndpointCommonAttribute where
+  toJSON KinesisFirehoseDeliveryStreamHttpEndpointCommonAttribute{..} =
+    object $
+    catMaybes
+    [ (Just . ("AttributeName",) . toJSON) _kinesisFirehoseDeliveryStreamHttpEndpointCommonAttributeAttributeName
+    , (Just . ("AttributeValue",) . toJSON) _kinesisFirehoseDeliveryStreamHttpEndpointCommonAttributeAttributeValue
+    ]
+
+-- | Constructor for
+-- 'KinesisFirehoseDeliveryStreamHttpEndpointCommonAttribute' containing
+-- required fields as arguments.
+kinesisFirehoseDeliveryStreamHttpEndpointCommonAttribute
+  :: Val Text -- ^ 'kfdshecaAttributeName'
+  -> Val Text -- ^ 'kfdshecaAttributeValue'
+  -> KinesisFirehoseDeliveryStreamHttpEndpointCommonAttribute
+kinesisFirehoseDeliveryStreamHttpEndpointCommonAttribute attributeNamearg attributeValuearg =
+  KinesisFirehoseDeliveryStreamHttpEndpointCommonAttribute
+  { _kinesisFirehoseDeliveryStreamHttpEndpointCommonAttributeAttributeName = attributeNamearg
+  , _kinesisFirehoseDeliveryStreamHttpEndpointCommonAttributeAttributeValue = attributeValuearg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointcommonattribute.html#cfn-kinesisfirehose-deliverystream-httpendpointcommonattribute-attributename
+kfdshecaAttributeName :: Lens' KinesisFirehoseDeliveryStreamHttpEndpointCommonAttribute (Val Text)
+kfdshecaAttributeName = lens _kinesisFirehoseDeliveryStreamHttpEndpointCommonAttributeAttributeName (\s a -> s { _kinesisFirehoseDeliveryStreamHttpEndpointCommonAttributeAttributeName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointcommonattribute.html#cfn-kinesisfirehose-deliverystream-httpendpointcommonattribute-attributevalue
+kfdshecaAttributeValue :: Lens' KinesisFirehoseDeliveryStreamHttpEndpointCommonAttribute (Val Text)
+kfdshecaAttributeValue = lens _kinesisFirehoseDeliveryStreamHttpEndpointCommonAttributeAttributeValue (\s a -> s { _kinesisFirehoseDeliveryStreamHttpEndpointCommonAttributeAttributeValue = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/KinesisFirehoseDeliveryStreamHttpEndpointConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/KinesisFirehoseDeliveryStreamHttpEndpointConfiguration.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/KinesisFirehoseDeliveryStreamHttpEndpointConfiguration.hs
@@ -0,0 +1,55 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointconfiguration.html
+
+module Stratosphere.ResourceProperties.KinesisFirehoseDeliveryStreamHttpEndpointConfiguration where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for
+-- KinesisFirehoseDeliveryStreamHttpEndpointConfiguration. See
+-- 'kinesisFirehoseDeliveryStreamHttpEndpointConfiguration' for a more
+-- convenient constructor.
+data KinesisFirehoseDeliveryStreamHttpEndpointConfiguration =
+  KinesisFirehoseDeliveryStreamHttpEndpointConfiguration
+  { _kinesisFirehoseDeliveryStreamHttpEndpointConfigurationAccessKey :: Maybe (Val Text)
+  , _kinesisFirehoseDeliveryStreamHttpEndpointConfigurationName :: Maybe (Val Text)
+  , _kinesisFirehoseDeliveryStreamHttpEndpointConfigurationUrl :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON KinesisFirehoseDeliveryStreamHttpEndpointConfiguration where
+  toJSON KinesisFirehoseDeliveryStreamHttpEndpointConfiguration{..} =
+    object $
+    catMaybes
+    [ fmap (("AccessKey",) . toJSON) _kinesisFirehoseDeliveryStreamHttpEndpointConfigurationAccessKey
+    , fmap (("Name",) . toJSON) _kinesisFirehoseDeliveryStreamHttpEndpointConfigurationName
+    , (Just . ("Url",) . toJSON) _kinesisFirehoseDeliveryStreamHttpEndpointConfigurationUrl
+    ]
+
+-- | Constructor for 'KinesisFirehoseDeliveryStreamHttpEndpointConfiguration'
+-- containing required fields as arguments.
+kinesisFirehoseDeliveryStreamHttpEndpointConfiguration
+  :: Val Text -- ^ 'kfdshecUrl'
+  -> KinesisFirehoseDeliveryStreamHttpEndpointConfiguration
+kinesisFirehoseDeliveryStreamHttpEndpointConfiguration urlarg =
+  KinesisFirehoseDeliveryStreamHttpEndpointConfiguration
+  { _kinesisFirehoseDeliveryStreamHttpEndpointConfigurationAccessKey = Nothing
+  , _kinesisFirehoseDeliveryStreamHttpEndpointConfigurationName = Nothing
+  , _kinesisFirehoseDeliveryStreamHttpEndpointConfigurationUrl = urlarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointconfiguration.html#cfn-kinesisfirehose-deliverystream-httpendpointconfiguration-accesskey
+kfdshecAccessKey :: Lens' KinesisFirehoseDeliveryStreamHttpEndpointConfiguration (Maybe (Val Text))
+kfdshecAccessKey = lens _kinesisFirehoseDeliveryStreamHttpEndpointConfigurationAccessKey (\s a -> s { _kinesisFirehoseDeliveryStreamHttpEndpointConfigurationAccessKey = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointconfiguration.html#cfn-kinesisfirehose-deliverystream-httpendpointconfiguration-name
+kfdshecName :: Lens' KinesisFirehoseDeliveryStreamHttpEndpointConfiguration (Maybe (Val Text))
+kfdshecName = lens _kinesisFirehoseDeliveryStreamHttpEndpointConfigurationName (\s a -> s { _kinesisFirehoseDeliveryStreamHttpEndpointConfigurationName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointconfiguration.html#cfn-kinesisfirehose-deliverystream-httpendpointconfiguration-url
+kfdshecUrl :: Lens' KinesisFirehoseDeliveryStreamHttpEndpointConfiguration (Val Text)
+kfdshecUrl = lens _kinesisFirehoseDeliveryStreamHttpEndpointConfigurationUrl (\s a -> s { _kinesisFirehoseDeliveryStreamHttpEndpointConfigurationUrl = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/KinesisFirehoseDeliveryStreamHttpEndpointDestinationConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/KinesisFirehoseDeliveryStreamHttpEndpointDestinationConfiguration.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/KinesisFirehoseDeliveryStreamHttpEndpointDestinationConfiguration.hs
@@ -0,0 +1,105 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration.html
+
+module Stratosphere.ResourceProperties.KinesisFirehoseDeliveryStreamHttpEndpointDestinationConfiguration where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.KinesisFirehoseDeliveryStreamBufferingHints
+import Stratosphere.ResourceProperties.KinesisFirehoseDeliveryStreamCloudWatchLoggingOptions
+import Stratosphere.ResourceProperties.KinesisFirehoseDeliveryStreamHttpEndpointConfiguration
+import Stratosphere.ResourceProperties.KinesisFirehoseDeliveryStreamProcessingConfiguration
+import Stratosphere.ResourceProperties.KinesisFirehoseDeliveryStreamHttpEndpointRequestConfiguration
+import Stratosphere.ResourceProperties.KinesisFirehoseDeliveryStreamRetryOptions
+import Stratosphere.ResourceProperties.KinesisFirehoseDeliveryStreamS3DestinationConfiguration
+
+-- | Full data type definition for
+-- KinesisFirehoseDeliveryStreamHttpEndpointDestinationConfiguration. See
+-- 'kinesisFirehoseDeliveryStreamHttpEndpointDestinationConfiguration' for a
+-- more convenient constructor.
+data KinesisFirehoseDeliveryStreamHttpEndpointDestinationConfiguration =
+  KinesisFirehoseDeliveryStreamHttpEndpointDestinationConfiguration
+  { _kinesisFirehoseDeliveryStreamHttpEndpointDestinationConfigurationBufferingHints :: Maybe KinesisFirehoseDeliveryStreamBufferingHints
+  , _kinesisFirehoseDeliveryStreamHttpEndpointDestinationConfigurationCloudWatchLoggingOptions :: Maybe KinesisFirehoseDeliveryStreamCloudWatchLoggingOptions
+  , _kinesisFirehoseDeliveryStreamHttpEndpointDestinationConfigurationEndpointConfiguration :: KinesisFirehoseDeliveryStreamHttpEndpointConfiguration
+  , _kinesisFirehoseDeliveryStreamHttpEndpointDestinationConfigurationProcessingConfiguration :: Maybe KinesisFirehoseDeliveryStreamProcessingConfiguration
+  , _kinesisFirehoseDeliveryStreamHttpEndpointDestinationConfigurationRequestConfiguration :: Maybe KinesisFirehoseDeliveryStreamHttpEndpointRequestConfiguration
+  , _kinesisFirehoseDeliveryStreamHttpEndpointDestinationConfigurationRetryOptions :: Maybe KinesisFirehoseDeliveryStreamRetryOptions
+  , _kinesisFirehoseDeliveryStreamHttpEndpointDestinationConfigurationRoleARN :: Maybe (Val Text)
+  , _kinesisFirehoseDeliveryStreamHttpEndpointDestinationConfigurationS3BackupMode :: Maybe (Val Text)
+  , _kinesisFirehoseDeliveryStreamHttpEndpointDestinationConfigurationS3Configuration :: KinesisFirehoseDeliveryStreamS3DestinationConfiguration
+  } deriving (Show, Eq)
+
+instance ToJSON KinesisFirehoseDeliveryStreamHttpEndpointDestinationConfiguration where
+  toJSON KinesisFirehoseDeliveryStreamHttpEndpointDestinationConfiguration{..} =
+    object $
+    catMaybes
+    [ fmap (("BufferingHints",) . toJSON) _kinesisFirehoseDeliveryStreamHttpEndpointDestinationConfigurationBufferingHints
+    , fmap (("CloudWatchLoggingOptions",) . toJSON) _kinesisFirehoseDeliveryStreamHttpEndpointDestinationConfigurationCloudWatchLoggingOptions
+    , (Just . ("EndpointConfiguration",) . toJSON) _kinesisFirehoseDeliveryStreamHttpEndpointDestinationConfigurationEndpointConfiguration
+    , fmap (("ProcessingConfiguration",) . toJSON) _kinesisFirehoseDeliveryStreamHttpEndpointDestinationConfigurationProcessingConfiguration
+    , fmap (("RequestConfiguration",) . toJSON) _kinesisFirehoseDeliveryStreamHttpEndpointDestinationConfigurationRequestConfiguration
+    , fmap (("RetryOptions",) . toJSON) _kinesisFirehoseDeliveryStreamHttpEndpointDestinationConfigurationRetryOptions
+    , fmap (("RoleARN",) . toJSON) _kinesisFirehoseDeliveryStreamHttpEndpointDestinationConfigurationRoleARN
+    , fmap (("S3BackupMode",) . toJSON) _kinesisFirehoseDeliveryStreamHttpEndpointDestinationConfigurationS3BackupMode
+    , (Just . ("S3Configuration",) . toJSON) _kinesisFirehoseDeliveryStreamHttpEndpointDestinationConfigurationS3Configuration
+    ]
+
+-- | Constructor for
+-- 'KinesisFirehoseDeliveryStreamHttpEndpointDestinationConfiguration'
+-- containing required fields as arguments.
+kinesisFirehoseDeliveryStreamHttpEndpointDestinationConfiguration
+  :: KinesisFirehoseDeliveryStreamHttpEndpointConfiguration -- ^ 'kfdshedcEndpointConfiguration'
+  -> KinesisFirehoseDeliveryStreamS3DestinationConfiguration -- ^ 'kfdshedcS3Configuration'
+  -> KinesisFirehoseDeliveryStreamHttpEndpointDestinationConfiguration
+kinesisFirehoseDeliveryStreamHttpEndpointDestinationConfiguration endpointConfigurationarg s3Configurationarg =
+  KinesisFirehoseDeliveryStreamHttpEndpointDestinationConfiguration
+  { _kinesisFirehoseDeliveryStreamHttpEndpointDestinationConfigurationBufferingHints = Nothing
+  , _kinesisFirehoseDeliveryStreamHttpEndpointDestinationConfigurationCloudWatchLoggingOptions = Nothing
+  , _kinesisFirehoseDeliveryStreamHttpEndpointDestinationConfigurationEndpointConfiguration = endpointConfigurationarg
+  , _kinesisFirehoseDeliveryStreamHttpEndpointDestinationConfigurationProcessingConfiguration = Nothing
+  , _kinesisFirehoseDeliveryStreamHttpEndpointDestinationConfigurationRequestConfiguration = Nothing
+  , _kinesisFirehoseDeliveryStreamHttpEndpointDestinationConfigurationRetryOptions = Nothing
+  , _kinesisFirehoseDeliveryStreamHttpEndpointDestinationConfigurationRoleARN = Nothing
+  , _kinesisFirehoseDeliveryStreamHttpEndpointDestinationConfigurationS3BackupMode = Nothing
+  , _kinesisFirehoseDeliveryStreamHttpEndpointDestinationConfigurationS3Configuration = s3Configurationarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration-bufferinghints
+kfdshedcBufferingHints :: Lens' KinesisFirehoseDeliveryStreamHttpEndpointDestinationConfiguration (Maybe KinesisFirehoseDeliveryStreamBufferingHints)
+kfdshedcBufferingHints = lens _kinesisFirehoseDeliveryStreamHttpEndpointDestinationConfigurationBufferingHints (\s a -> s { _kinesisFirehoseDeliveryStreamHttpEndpointDestinationConfigurationBufferingHints = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration-cloudwatchloggingoptions
+kfdshedcCloudWatchLoggingOptions :: Lens' KinesisFirehoseDeliveryStreamHttpEndpointDestinationConfiguration (Maybe KinesisFirehoseDeliveryStreamCloudWatchLoggingOptions)
+kfdshedcCloudWatchLoggingOptions = lens _kinesisFirehoseDeliveryStreamHttpEndpointDestinationConfigurationCloudWatchLoggingOptions (\s a -> s { _kinesisFirehoseDeliveryStreamHttpEndpointDestinationConfigurationCloudWatchLoggingOptions = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration-endpointconfiguration
+kfdshedcEndpointConfiguration :: Lens' KinesisFirehoseDeliveryStreamHttpEndpointDestinationConfiguration KinesisFirehoseDeliveryStreamHttpEndpointConfiguration
+kfdshedcEndpointConfiguration = lens _kinesisFirehoseDeliveryStreamHttpEndpointDestinationConfigurationEndpointConfiguration (\s a -> s { _kinesisFirehoseDeliveryStreamHttpEndpointDestinationConfigurationEndpointConfiguration = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration-processingconfiguration
+kfdshedcProcessingConfiguration :: Lens' KinesisFirehoseDeliveryStreamHttpEndpointDestinationConfiguration (Maybe KinesisFirehoseDeliveryStreamProcessingConfiguration)
+kfdshedcProcessingConfiguration = lens _kinesisFirehoseDeliveryStreamHttpEndpointDestinationConfigurationProcessingConfiguration (\s a -> s { _kinesisFirehoseDeliveryStreamHttpEndpointDestinationConfigurationProcessingConfiguration = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration-requestconfiguration
+kfdshedcRequestConfiguration :: Lens' KinesisFirehoseDeliveryStreamHttpEndpointDestinationConfiguration (Maybe KinesisFirehoseDeliveryStreamHttpEndpointRequestConfiguration)
+kfdshedcRequestConfiguration = lens _kinesisFirehoseDeliveryStreamHttpEndpointDestinationConfigurationRequestConfiguration (\s a -> s { _kinesisFirehoseDeliveryStreamHttpEndpointDestinationConfigurationRequestConfiguration = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration-retryoptions
+kfdshedcRetryOptions :: Lens' KinesisFirehoseDeliveryStreamHttpEndpointDestinationConfiguration (Maybe KinesisFirehoseDeliveryStreamRetryOptions)
+kfdshedcRetryOptions = lens _kinesisFirehoseDeliveryStreamHttpEndpointDestinationConfigurationRetryOptions (\s a -> s { _kinesisFirehoseDeliveryStreamHttpEndpointDestinationConfigurationRetryOptions = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration-rolearn
+kfdshedcRoleARN :: Lens' KinesisFirehoseDeliveryStreamHttpEndpointDestinationConfiguration (Maybe (Val Text))
+kfdshedcRoleARN = lens _kinesisFirehoseDeliveryStreamHttpEndpointDestinationConfigurationRoleARN (\s a -> s { _kinesisFirehoseDeliveryStreamHttpEndpointDestinationConfigurationRoleARN = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration-s3backupmode
+kfdshedcS3BackupMode :: Lens' KinesisFirehoseDeliveryStreamHttpEndpointDestinationConfiguration (Maybe (Val Text))
+kfdshedcS3BackupMode = lens _kinesisFirehoseDeliveryStreamHttpEndpointDestinationConfigurationS3BackupMode (\s a -> s { _kinesisFirehoseDeliveryStreamHttpEndpointDestinationConfigurationS3BackupMode = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration-s3configuration
+kfdshedcS3Configuration :: Lens' KinesisFirehoseDeliveryStreamHttpEndpointDestinationConfiguration KinesisFirehoseDeliveryStreamS3DestinationConfiguration
+kfdshedcS3Configuration = lens _kinesisFirehoseDeliveryStreamHttpEndpointDestinationConfigurationS3Configuration (\s a -> s { _kinesisFirehoseDeliveryStreamHttpEndpointDestinationConfigurationS3Configuration = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/KinesisFirehoseDeliveryStreamHttpEndpointRequestConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/KinesisFirehoseDeliveryStreamHttpEndpointRequestConfiguration.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/KinesisFirehoseDeliveryStreamHttpEndpointRequestConfiguration.hs
@@ -0,0 +1,48 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointrequestconfiguration.html
+
+module Stratosphere.ResourceProperties.KinesisFirehoseDeliveryStreamHttpEndpointRequestConfiguration where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.KinesisFirehoseDeliveryStreamHttpEndpointCommonAttribute
+
+-- | Full data type definition for
+-- KinesisFirehoseDeliveryStreamHttpEndpointRequestConfiguration. See
+-- 'kinesisFirehoseDeliveryStreamHttpEndpointRequestConfiguration' for a
+-- more convenient constructor.
+data KinesisFirehoseDeliveryStreamHttpEndpointRequestConfiguration =
+  KinesisFirehoseDeliveryStreamHttpEndpointRequestConfiguration
+  { _kinesisFirehoseDeliveryStreamHttpEndpointRequestConfigurationCommonAttributes :: Maybe [KinesisFirehoseDeliveryStreamHttpEndpointCommonAttribute]
+  , _kinesisFirehoseDeliveryStreamHttpEndpointRequestConfigurationContentEncoding :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON KinesisFirehoseDeliveryStreamHttpEndpointRequestConfiguration where
+  toJSON KinesisFirehoseDeliveryStreamHttpEndpointRequestConfiguration{..} =
+    object $
+    catMaybes
+    [ fmap (("CommonAttributes",) . toJSON) _kinesisFirehoseDeliveryStreamHttpEndpointRequestConfigurationCommonAttributes
+    , fmap (("ContentEncoding",) . toJSON) _kinesisFirehoseDeliveryStreamHttpEndpointRequestConfigurationContentEncoding
+    ]
+
+-- | Constructor for
+-- 'KinesisFirehoseDeliveryStreamHttpEndpointRequestConfiguration'
+-- containing required fields as arguments.
+kinesisFirehoseDeliveryStreamHttpEndpointRequestConfiguration
+  :: KinesisFirehoseDeliveryStreamHttpEndpointRequestConfiguration
+kinesisFirehoseDeliveryStreamHttpEndpointRequestConfiguration  =
+  KinesisFirehoseDeliveryStreamHttpEndpointRequestConfiguration
+  { _kinesisFirehoseDeliveryStreamHttpEndpointRequestConfigurationCommonAttributes = Nothing
+  , _kinesisFirehoseDeliveryStreamHttpEndpointRequestConfigurationContentEncoding = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointrequestconfiguration.html#cfn-kinesisfirehose-deliverystream-httpendpointrequestconfiguration-commonattributes
+kfdshercCommonAttributes :: Lens' KinesisFirehoseDeliveryStreamHttpEndpointRequestConfiguration (Maybe [KinesisFirehoseDeliveryStreamHttpEndpointCommonAttribute])
+kfdshercCommonAttributes = lens _kinesisFirehoseDeliveryStreamHttpEndpointRequestConfigurationCommonAttributes (\s a -> s { _kinesisFirehoseDeliveryStreamHttpEndpointRequestConfigurationCommonAttributes = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointrequestconfiguration.html#cfn-kinesisfirehose-deliverystream-httpendpointrequestconfiguration-contentencoding
+kfdshercContentEncoding :: Lens' KinesisFirehoseDeliveryStreamHttpEndpointRequestConfiguration (Maybe (Val Text))
+kfdshercContentEncoding = lens _kinesisFirehoseDeliveryStreamHttpEndpointRequestConfigurationContentEncoding (\s a -> s { _kinesisFirehoseDeliveryStreamHttpEndpointRequestConfigurationContentEncoding = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/KinesisFirehoseDeliveryStreamRetryOptions.hs b/library-gen/Stratosphere/ResourceProperties/KinesisFirehoseDeliveryStreamRetryOptions.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/KinesisFirehoseDeliveryStreamRetryOptions.hs
@@ -0,0 +1,39 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-retryoptions.html
+
+module Stratosphere.ResourceProperties.KinesisFirehoseDeliveryStreamRetryOptions where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for KinesisFirehoseDeliveryStreamRetryOptions.
+-- See 'kinesisFirehoseDeliveryStreamRetryOptions' for a more convenient
+-- constructor.
+data KinesisFirehoseDeliveryStreamRetryOptions =
+  KinesisFirehoseDeliveryStreamRetryOptions
+  { _kinesisFirehoseDeliveryStreamRetryOptionsDurationInSeconds :: Maybe (Val Integer)
+  } deriving (Show, Eq)
+
+instance ToJSON KinesisFirehoseDeliveryStreamRetryOptions where
+  toJSON KinesisFirehoseDeliveryStreamRetryOptions{..} =
+    object $
+    catMaybes
+    [ fmap (("DurationInSeconds",) . toJSON) _kinesisFirehoseDeliveryStreamRetryOptionsDurationInSeconds
+    ]
+
+-- | Constructor for 'KinesisFirehoseDeliveryStreamRetryOptions' containing
+-- required fields as arguments.
+kinesisFirehoseDeliveryStreamRetryOptions
+  :: KinesisFirehoseDeliveryStreamRetryOptions
+kinesisFirehoseDeliveryStreamRetryOptions  =
+  KinesisFirehoseDeliveryStreamRetryOptions
+  { _kinesisFirehoseDeliveryStreamRetryOptionsDurationInSeconds = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-retryoptions.html#cfn-kinesisfirehose-deliverystream-retryoptions-durationinseconds
+kfdsroDurationInSeconds :: Lens' KinesisFirehoseDeliveryStreamRetryOptions (Maybe (Val Integer))
+kfdsroDurationInSeconds = lens _kinesisFirehoseDeliveryStreamRetryOptionsDurationInSeconds (\s a -> s { _kinesisFirehoseDeliveryStreamRetryOptionsDurationInSeconds = a })
diff --git a/library-gen/Stratosphere/Resources.hs b/library-gen/Stratosphere/Resources.hs
--- a/library-gen/Stratosphere/Resources.hs
+++ b/library-gen/Stratosphere/Resources.hs
@@ -92,8 +92,10 @@
 import Stratosphere.Resources.AppConfigDeploymentStrategy as X
 import Stratosphere.Resources.AppConfigEnvironment as X
 import Stratosphere.Resources.AppConfigHostedConfigurationVersion as X
+import Stratosphere.Resources.AppMeshGatewayRoute as X
 import Stratosphere.Resources.AppMeshMesh as X
 import Stratosphere.Resources.AppMeshRoute as X
+import Stratosphere.Resources.AppMeshVirtualGateway as X
 import Stratosphere.Resources.AppMeshVirtualNode as X
 import Stratosphere.Resources.AppMeshVirtualRouter as X
 import Stratosphere.Resources.AppMeshVirtualService as X
@@ -655,6 +657,15 @@
 import Stratosphere.ResourceProperties.AppConfigDeploymentStrategyTags as X
 import Stratosphere.ResourceProperties.AppConfigEnvironmentMonitors as X
 import Stratosphere.ResourceProperties.AppConfigEnvironmentTags as X
+import Stratosphere.ResourceProperties.AppMeshGatewayRouteGatewayRouteSpec as X
+import Stratosphere.ResourceProperties.AppMeshGatewayRouteGatewayRouteTarget as X
+import Stratosphere.ResourceProperties.AppMeshGatewayRouteGatewayRouteVirtualService as X
+import Stratosphere.ResourceProperties.AppMeshGatewayRouteGrpcGatewayRoute as X
+import Stratosphere.ResourceProperties.AppMeshGatewayRouteGrpcGatewayRouteAction as X
+import Stratosphere.ResourceProperties.AppMeshGatewayRouteGrpcGatewayRouteMatch as X
+import Stratosphere.ResourceProperties.AppMeshGatewayRouteHttpGatewayRoute as X
+import Stratosphere.ResourceProperties.AppMeshGatewayRouteHttpGatewayRouteAction as X
+import Stratosphere.ResourceProperties.AppMeshGatewayRouteHttpGatewayRouteMatch as X
 import Stratosphere.ResourceProperties.AppMeshMeshEgressFilter as X
 import Stratosphere.ResourceProperties.AppMeshMeshMeshSpec as X
 import Stratosphere.ResourceProperties.AppMeshRouteDuration as X
@@ -678,6 +689,24 @@
 import Stratosphere.ResourceProperties.AppMeshRouteTcpRouteAction as X
 import Stratosphere.ResourceProperties.AppMeshRouteTcpTimeout as X
 import Stratosphere.ResourceProperties.AppMeshRouteWeightedTarget as X
+import Stratosphere.ResourceProperties.AppMeshVirtualGatewayVirtualGatewayAccessLog as X
+import Stratosphere.ResourceProperties.AppMeshVirtualGatewayVirtualGatewayBackendDefaults as X
+import Stratosphere.ResourceProperties.AppMeshVirtualGatewayVirtualGatewayClientPolicy as X
+import Stratosphere.ResourceProperties.AppMeshVirtualGatewayVirtualGatewayClientPolicyTls as X
+import Stratosphere.ResourceProperties.AppMeshVirtualGatewayVirtualGatewayFileAccessLog as X
+import Stratosphere.ResourceProperties.AppMeshVirtualGatewayVirtualGatewayHealthCheckPolicy as X
+import Stratosphere.ResourceProperties.AppMeshVirtualGatewayVirtualGatewayListener as X
+import Stratosphere.ResourceProperties.AppMeshVirtualGatewayVirtualGatewayListenerTls as X
+import Stratosphere.ResourceProperties.AppMeshVirtualGatewayVirtualGatewayListenerTlsAcmCertificate as X
+import Stratosphere.ResourceProperties.AppMeshVirtualGatewayVirtualGatewayListenerTlsCertificate as X
+import Stratosphere.ResourceProperties.AppMeshVirtualGatewayVirtualGatewayListenerTlsFileCertificate as X
+import Stratosphere.ResourceProperties.AppMeshVirtualGatewayVirtualGatewayLogging as X
+import Stratosphere.ResourceProperties.AppMeshVirtualGatewayVirtualGatewayPortMapping as X
+import Stratosphere.ResourceProperties.AppMeshVirtualGatewayVirtualGatewaySpec as X
+import Stratosphere.ResourceProperties.AppMeshVirtualGatewayVirtualGatewayTlsValidationContext as X
+import Stratosphere.ResourceProperties.AppMeshVirtualGatewayVirtualGatewayTlsValidationContextAcmTrust as X
+import Stratosphere.ResourceProperties.AppMeshVirtualGatewayVirtualGatewayTlsValidationContextFileTrust as X
+import Stratosphere.ResourceProperties.AppMeshVirtualGatewayVirtualGatewayTlsValidationContextTrust as X
 import Stratosphere.ResourceProperties.AppMeshVirtualNodeAccessLog as X
 import Stratosphere.ResourceProperties.AppMeshVirtualNodeAwsCloudMapInstanceAttribute as X
 import Stratosphere.ResourceProperties.AppMeshVirtualNodeAwsCloudMapServiceDiscovery as X
@@ -856,12 +885,14 @@
 import Stratosphere.ResourceProperties.CloudWatchAnomalyDetectorDimension as X
 import Stratosphere.ResourceProperties.CloudWatchAnomalyDetectorRange as X
 import Stratosphere.ResourceProperties.CodeBuildProjectArtifacts as X
+import Stratosphere.ResourceProperties.CodeBuildProjectBatchRestrictions as X
 import Stratosphere.ResourceProperties.CodeBuildProjectBuildStatusConfig as X
 import Stratosphere.ResourceProperties.CodeBuildProjectCloudWatchLogsConfig as X
 import Stratosphere.ResourceProperties.CodeBuildProjectEnvironment as X
 import Stratosphere.ResourceProperties.CodeBuildProjectEnvironmentVariable as X
 import Stratosphere.ResourceProperties.CodeBuildProjectGitSubmodulesConfig as X
 import Stratosphere.ResourceProperties.CodeBuildProjectLogsConfig as X
+import Stratosphere.ResourceProperties.CodeBuildProjectProjectBuildBatchConfig as X
 import Stratosphere.ResourceProperties.CodeBuildProjectProjectCache as X
 import Stratosphere.ResourceProperties.CodeBuildProjectProjectFileSystemLocation as X
 import Stratosphere.ResourceProperties.CodeBuildProjectProjectSourceVersion as X
@@ -896,6 +927,7 @@
 import Stratosphere.ResourceProperties.CodeDeployDeploymentGroupTagFilter as X
 import Stratosphere.ResourceProperties.CodeDeployDeploymentGroupTargetGroupInfo as X
 import Stratosphere.ResourceProperties.CodeDeployDeploymentGroupTriggerConfig as X
+import Stratosphere.ResourceProperties.CodeGuruProfilerProfilingGroupChannel as X
 import Stratosphere.ResourceProperties.CodePipelineCustomActionTypeArtifactDetails as X
 import Stratosphere.ResourceProperties.CodePipelineCustomActionTypeConfigurationProperties as X
 import Stratosphere.ResourceProperties.CodePipelineCustomActionTypeSettings as X
@@ -1562,6 +1594,10 @@
 import Stratosphere.ResourceProperties.KinesisFirehoseDeliveryStreamEncryptionConfiguration as X
 import Stratosphere.ResourceProperties.KinesisFirehoseDeliveryStreamExtendedS3DestinationConfiguration as X
 import Stratosphere.ResourceProperties.KinesisFirehoseDeliveryStreamHiveJsonSerDe as X
+import Stratosphere.ResourceProperties.KinesisFirehoseDeliveryStreamHttpEndpointCommonAttribute as X
+import Stratosphere.ResourceProperties.KinesisFirehoseDeliveryStreamHttpEndpointConfiguration as X
+import Stratosphere.ResourceProperties.KinesisFirehoseDeliveryStreamHttpEndpointDestinationConfiguration as X
+import Stratosphere.ResourceProperties.KinesisFirehoseDeliveryStreamHttpEndpointRequestConfiguration as X
 import Stratosphere.ResourceProperties.KinesisFirehoseDeliveryStreamInputFormatConfiguration as X
 import Stratosphere.ResourceProperties.KinesisFirehoseDeliveryStreamKMSEncryptionConfig as X
 import Stratosphere.ResourceProperties.KinesisFirehoseDeliveryStreamKinesisStreamSourceConfiguration as X
@@ -1574,6 +1610,7 @@
 import Stratosphere.ResourceProperties.KinesisFirehoseDeliveryStreamProcessorParameter as X
 import Stratosphere.ResourceProperties.KinesisFirehoseDeliveryStreamRedshiftDestinationConfiguration as X
 import Stratosphere.ResourceProperties.KinesisFirehoseDeliveryStreamRedshiftRetryOptions as X
+import Stratosphere.ResourceProperties.KinesisFirehoseDeliveryStreamRetryOptions as X
 import Stratosphere.ResourceProperties.KinesisFirehoseDeliveryStreamS3DestinationConfiguration as X
 import Stratosphere.ResourceProperties.KinesisFirehoseDeliveryStreamSchemaConfiguration as X
 import Stratosphere.ResourceProperties.KinesisFirehoseDeliveryStreamSerializer as X
diff --git a/library-gen/Stratosphere/Resources/ApiGatewayDomainName.hs b/library-gen/Stratosphere/Resources/ApiGatewayDomainName.hs
--- a/library-gen/Stratosphere/Resources/ApiGatewayDomainName.hs
+++ b/library-gen/Stratosphere/Resources/ApiGatewayDomainName.hs
@@ -16,7 +16,7 @@
 data ApiGatewayDomainName =
   ApiGatewayDomainName
   { _apiGatewayDomainNameCertificateArn :: Maybe (Val Text)
-  , _apiGatewayDomainNameDomainName :: Val Text
+  , _apiGatewayDomainNameDomainName :: Maybe (Val Text)
   , _apiGatewayDomainNameEndpointConfiguration :: Maybe ApiGatewayDomainNameEndpointConfiguration
   , _apiGatewayDomainNameRegionalCertificateArn :: Maybe (Val Text)
   , _apiGatewayDomainNameSecurityPolicy :: Maybe (Val Text)
@@ -30,7 +30,7 @@
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
         [ fmap (("CertificateArn",) . toJSON) _apiGatewayDomainNameCertificateArn
-        , (Just . ("DomainName",) . toJSON) _apiGatewayDomainNameDomainName
+        , fmap (("DomainName",) . toJSON) _apiGatewayDomainNameDomainName
         , fmap (("EndpointConfiguration",) . toJSON) _apiGatewayDomainNameEndpointConfiguration
         , fmap (("RegionalCertificateArn",) . toJSON) _apiGatewayDomainNameRegionalCertificateArn
         , fmap (("SecurityPolicy",) . toJSON) _apiGatewayDomainNameSecurityPolicy
@@ -41,12 +41,11 @@
 -- | Constructor for 'ApiGatewayDomainName' containing required fields as
 -- arguments.
 apiGatewayDomainName
-  :: Val Text -- ^ 'agdnDomainName'
-  -> ApiGatewayDomainName
-apiGatewayDomainName domainNamearg =
+  :: ApiGatewayDomainName
+apiGatewayDomainName  =
   ApiGatewayDomainName
   { _apiGatewayDomainNameCertificateArn = Nothing
-  , _apiGatewayDomainNameDomainName = domainNamearg
+  , _apiGatewayDomainNameDomainName = Nothing
   , _apiGatewayDomainNameEndpointConfiguration = Nothing
   , _apiGatewayDomainNameRegionalCertificateArn = Nothing
   , _apiGatewayDomainNameSecurityPolicy = Nothing
@@ -58,7 +57,7 @@
 agdnCertificateArn = lens _apiGatewayDomainNameCertificateArn (\s a -> s { _apiGatewayDomainNameCertificateArn = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-domainname
-agdnDomainName :: Lens' ApiGatewayDomainName (Val Text)
+agdnDomainName :: Lens' ApiGatewayDomainName (Maybe (Val Text))
 agdnDomainName = lens _apiGatewayDomainNameDomainName (\s a -> s { _apiGatewayDomainNameDomainName = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-endpointconfiguration
diff --git a/library-gen/Stratosphere/Resources/AppMeshGatewayRoute.hs b/library-gen/Stratosphere/Resources/AppMeshGatewayRoute.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/AppMeshGatewayRoute.hs
@@ -0,0 +1,81 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-gatewayroute.html
+
+module Stratosphere.Resources.AppMeshGatewayRoute where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.AppMeshGatewayRouteGatewayRouteSpec
+import Stratosphere.ResourceProperties.Tag
+
+-- | Full data type definition for AppMeshGatewayRoute. See
+-- 'appMeshGatewayRoute' for a more convenient constructor.
+data AppMeshGatewayRoute =
+  AppMeshGatewayRoute
+  { _appMeshGatewayRouteGatewayRouteName :: Val Text
+  , _appMeshGatewayRouteMeshName :: Val Text
+  , _appMeshGatewayRouteMeshOwner :: Maybe (Val Text)
+  , _appMeshGatewayRouteSpec :: AppMeshGatewayRouteGatewayRouteSpec
+  , _appMeshGatewayRouteTags :: Maybe [Tag]
+  , _appMeshGatewayRouteVirtualGatewayName :: Val Text
+  } deriving (Show, Eq)
+
+instance ToResourceProperties AppMeshGatewayRoute where
+  toResourceProperties AppMeshGatewayRoute{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::AppMesh::GatewayRoute"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ (Just . ("GatewayRouteName",) . toJSON) _appMeshGatewayRouteGatewayRouteName
+        , (Just . ("MeshName",) . toJSON) _appMeshGatewayRouteMeshName
+        , fmap (("MeshOwner",) . toJSON) _appMeshGatewayRouteMeshOwner
+        , (Just . ("Spec",) . toJSON) _appMeshGatewayRouteSpec
+        , fmap (("Tags",) . toJSON) _appMeshGatewayRouteTags
+        , (Just . ("VirtualGatewayName",) . toJSON) _appMeshGatewayRouteVirtualGatewayName
+        ]
+    }
+
+-- | Constructor for 'AppMeshGatewayRoute' containing required fields as
+-- arguments.
+appMeshGatewayRoute
+  :: Val Text -- ^ 'amgrGatewayRouteName'
+  -> Val Text -- ^ 'amgrMeshName'
+  -> AppMeshGatewayRouteGatewayRouteSpec -- ^ 'amgrSpec'
+  -> Val Text -- ^ 'amgrVirtualGatewayName'
+  -> AppMeshGatewayRoute
+appMeshGatewayRoute gatewayRouteNamearg meshNamearg specarg virtualGatewayNamearg =
+  AppMeshGatewayRoute
+  { _appMeshGatewayRouteGatewayRouteName = gatewayRouteNamearg
+  , _appMeshGatewayRouteMeshName = meshNamearg
+  , _appMeshGatewayRouteMeshOwner = Nothing
+  , _appMeshGatewayRouteSpec = specarg
+  , _appMeshGatewayRouteTags = Nothing
+  , _appMeshGatewayRouteVirtualGatewayName = virtualGatewayNamearg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-gatewayroute.html#cfn-appmesh-gatewayroute-gatewayroutename
+amgrGatewayRouteName :: Lens' AppMeshGatewayRoute (Val Text)
+amgrGatewayRouteName = lens _appMeshGatewayRouteGatewayRouteName (\s a -> s { _appMeshGatewayRouteGatewayRouteName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-gatewayroute.html#cfn-appmesh-gatewayroute-meshname
+amgrMeshName :: Lens' AppMeshGatewayRoute (Val Text)
+amgrMeshName = lens _appMeshGatewayRouteMeshName (\s a -> s { _appMeshGatewayRouteMeshName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-gatewayroute.html#cfn-appmesh-gatewayroute-meshowner
+amgrMeshOwner :: Lens' AppMeshGatewayRoute (Maybe (Val Text))
+amgrMeshOwner = lens _appMeshGatewayRouteMeshOwner (\s a -> s { _appMeshGatewayRouteMeshOwner = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-gatewayroute.html#cfn-appmesh-gatewayroute-spec
+amgrSpec :: Lens' AppMeshGatewayRoute AppMeshGatewayRouteGatewayRouteSpec
+amgrSpec = lens _appMeshGatewayRouteSpec (\s a -> s { _appMeshGatewayRouteSpec = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-gatewayroute.html#cfn-appmesh-gatewayroute-tags
+amgrTags :: Lens' AppMeshGatewayRoute (Maybe [Tag])
+amgrTags = lens _appMeshGatewayRouteTags (\s a -> s { _appMeshGatewayRouteTags = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-gatewayroute.html#cfn-appmesh-gatewayroute-virtualgatewayname
+amgrVirtualGatewayName :: Lens' AppMeshGatewayRoute (Val Text)
+amgrVirtualGatewayName = lens _appMeshGatewayRouteVirtualGatewayName (\s a -> s { _appMeshGatewayRouteVirtualGatewayName = a })
diff --git a/library-gen/Stratosphere/Resources/AppMeshVirtualGateway.hs b/library-gen/Stratosphere/Resources/AppMeshVirtualGateway.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/AppMeshVirtualGateway.hs
@@ -0,0 +1,73 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualgateway.html
+
+module Stratosphere.Resources.AppMeshVirtualGateway where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.AppMeshVirtualGatewayVirtualGatewaySpec
+import Stratosphere.ResourceProperties.Tag
+
+-- | Full data type definition for AppMeshVirtualGateway. See
+-- 'appMeshVirtualGateway' for a more convenient constructor.
+data AppMeshVirtualGateway =
+  AppMeshVirtualGateway
+  { _appMeshVirtualGatewayMeshName :: Val Text
+  , _appMeshVirtualGatewayMeshOwner :: Maybe (Val Text)
+  , _appMeshVirtualGatewaySpec :: AppMeshVirtualGatewayVirtualGatewaySpec
+  , _appMeshVirtualGatewayTags :: Maybe [Tag]
+  , _appMeshVirtualGatewayVirtualGatewayName :: Val Text
+  } deriving (Show, Eq)
+
+instance ToResourceProperties AppMeshVirtualGateway where
+  toResourceProperties AppMeshVirtualGateway{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::AppMesh::VirtualGateway"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ (Just . ("MeshName",) . toJSON) _appMeshVirtualGatewayMeshName
+        , fmap (("MeshOwner",) . toJSON) _appMeshVirtualGatewayMeshOwner
+        , (Just . ("Spec",) . toJSON) _appMeshVirtualGatewaySpec
+        , fmap (("Tags",) . toJSON) _appMeshVirtualGatewayTags
+        , (Just . ("VirtualGatewayName",) . toJSON) _appMeshVirtualGatewayVirtualGatewayName
+        ]
+    }
+
+-- | Constructor for 'AppMeshVirtualGateway' containing required fields as
+-- arguments.
+appMeshVirtualGateway
+  :: Val Text -- ^ 'amvgMeshName'
+  -> AppMeshVirtualGatewayVirtualGatewaySpec -- ^ 'amvgSpec'
+  -> Val Text -- ^ 'amvgVirtualGatewayName'
+  -> AppMeshVirtualGateway
+appMeshVirtualGateway meshNamearg specarg virtualGatewayNamearg =
+  AppMeshVirtualGateway
+  { _appMeshVirtualGatewayMeshName = meshNamearg
+  , _appMeshVirtualGatewayMeshOwner = Nothing
+  , _appMeshVirtualGatewaySpec = specarg
+  , _appMeshVirtualGatewayTags = Nothing
+  , _appMeshVirtualGatewayVirtualGatewayName = virtualGatewayNamearg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualgateway.html#cfn-appmesh-virtualgateway-meshname
+amvgMeshName :: Lens' AppMeshVirtualGateway (Val Text)
+amvgMeshName = lens _appMeshVirtualGatewayMeshName (\s a -> s { _appMeshVirtualGatewayMeshName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualgateway.html#cfn-appmesh-virtualgateway-meshowner
+amvgMeshOwner :: Lens' AppMeshVirtualGateway (Maybe (Val Text))
+amvgMeshOwner = lens _appMeshVirtualGatewayMeshOwner (\s a -> s { _appMeshVirtualGatewayMeshOwner = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualgateway.html#cfn-appmesh-virtualgateway-spec
+amvgSpec :: Lens' AppMeshVirtualGateway AppMeshVirtualGatewayVirtualGatewaySpec
+amvgSpec = lens _appMeshVirtualGatewaySpec (\s a -> s { _appMeshVirtualGatewaySpec = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualgateway.html#cfn-appmesh-virtualgateway-tags
+amvgTags :: Lens' AppMeshVirtualGateway (Maybe [Tag])
+amvgTags = lens _appMeshVirtualGatewayTags (\s a -> s { _appMeshVirtualGatewayTags = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualgateway.html#cfn-appmesh-virtualgateway-virtualgatewayname
+amvgVirtualGatewayName :: Lens' AppMeshVirtualGateway (Val Text)
+amvgVirtualGatewayName = lens _appMeshVirtualGatewayVirtualGatewayName (\s a -> s { _appMeshVirtualGatewayVirtualGatewayName = a })
diff --git a/library-gen/Stratosphere/Resources/CodeBuildProject.hs b/library-gen/Stratosphere/Resources/CodeBuildProject.hs
--- a/library-gen/Stratosphere/Resources/CodeBuildProject.hs
+++ b/library-gen/Stratosphere/Resources/CodeBuildProject.hs
@@ -9,6 +9,7 @@
 
 import Stratosphere.ResourceImports
 import Stratosphere.ResourceProperties.CodeBuildProjectArtifacts
+import Stratosphere.ResourceProperties.CodeBuildProjectProjectBuildBatchConfig
 import Stratosphere.ResourceProperties.CodeBuildProjectProjectCache
 import Stratosphere.ResourceProperties.CodeBuildProjectEnvironment
 import Stratosphere.ResourceProperties.CodeBuildProjectProjectFileSystemLocation
@@ -25,6 +26,7 @@
   CodeBuildProject
   { _codeBuildProjectArtifacts :: CodeBuildProjectArtifacts
   , _codeBuildProjectBadgeEnabled :: Maybe (Val Bool)
+  , _codeBuildProjectBuildBatchConfig :: Maybe CodeBuildProjectProjectBuildBatchConfig
   , _codeBuildProjectCache :: Maybe CodeBuildProjectProjectCache
   , _codeBuildProjectDescription :: Maybe (Val Text)
   , _codeBuildProjectEncryptionKey :: Maybe (Val Text)
@@ -53,6 +55,7 @@
         hashMapFromList $ catMaybes
         [ (Just . ("Artifacts",) . toJSON) _codeBuildProjectArtifacts
         , fmap (("BadgeEnabled",) . toJSON) _codeBuildProjectBadgeEnabled
+        , fmap (("BuildBatchConfig",) . toJSON) _codeBuildProjectBuildBatchConfig
         , fmap (("Cache",) . toJSON) _codeBuildProjectCache
         , fmap (("Description",) . toJSON) _codeBuildProjectDescription
         , fmap (("EncryptionKey",) . toJSON) _codeBuildProjectEncryptionKey
@@ -86,6 +89,7 @@
   CodeBuildProject
   { _codeBuildProjectArtifacts = artifactsarg
   , _codeBuildProjectBadgeEnabled = Nothing
+  , _codeBuildProjectBuildBatchConfig = Nothing
   , _codeBuildProjectCache = Nothing
   , _codeBuildProjectDescription = Nothing
   , _codeBuildProjectEncryptionKey = Nothing
@@ -113,6 +117,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html#cfn-codebuild-project-badgeenabled
 cbpBadgeEnabled :: Lens' CodeBuildProject (Maybe (Val Bool))
 cbpBadgeEnabled = lens _codeBuildProjectBadgeEnabled (\s a -> s { _codeBuildProjectBadgeEnabled = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html#cfn-codebuild-project-buildbatchconfig
+cbpBuildBatchConfig :: Lens' CodeBuildProject (Maybe CodeBuildProjectProjectBuildBatchConfig)
+cbpBuildBatchConfig = lens _codeBuildProjectBuildBatchConfig (\s a -> s { _codeBuildProjectBuildBatchConfig = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html#cfn-codebuild-project-cache
 cbpCache :: Lens' CodeBuildProject (Maybe CodeBuildProjectProjectCache)
diff --git a/library-gen/Stratosphere/Resources/CodeGuruProfilerProfilingGroup.hs b/library-gen/Stratosphere/Resources/CodeGuruProfilerProfilingGroup.hs
--- a/library-gen/Stratosphere/Resources/CodeGuruProfilerProfilingGroup.hs
+++ b/library-gen/Stratosphere/Resources/CodeGuruProfilerProfilingGroup.hs
@@ -8,15 +8,18 @@
 module Stratosphere.Resources.CodeGuruProfilerProfilingGroup where
 
 import Stratosphere.ResourceImports
-
+import Stratosphere.ResourceProperties.CodeGuruProfilerProfilingGroupChannel
+import Stratosphere.ResourceProperties.Tag
 
 -- | Full data type definition for CodeGuruProfilerProfilingGroup. See
 -- 'codeGuruProfilerProfilingGroup' for a more convenient constructor.
 data CodeGuruProfilerProfilingGroup =
   CodeGuruProfilerProfilingGroup
   { _codeGuruProfilerProfilingGroupAgentPermissions :: Maybe Object
+  , _codeGuruProfilerProfilingGroupAnomalyDetectionNotificationConfiguration :: Maybe [CodeGuruProfilerProfilingGroupChannel]
   , _codeGuruProfilerProfilingGroupComputePlatform :: Maybe (Val Text)
   , _codeGuruProfilerProfilingGroupProfilingGroupName :: Val Text
+  , _codeGuruProfilerProfilingGroupTags :: Maybe [Tag]
   } deriving (Show, Eq)
 
 instance ToResourceProperties CodeGuruProfilerProfilingGroup where
@@ -26,8 +29,10 @@
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
         [ fmap (("AgentPermissions",) . toJSON) _codeGuruProfilerProfilingGroupAgentPermissions
+        , fmap (("AnomalyDetectionNotificationConfiguration",) . toJSON) _codeGuruProfilerProfilingGroupAnomalyDetectionNotificationConfiguration
         , fmap (("ComputePlatform",) . toJSON) _codeGuruProfilerProfilingGroupComputePlatform
         , (Just . ("ProfilingGroupName",) . toJSON) _codeGuruProfilerProfilingGroupProfilingGroupName
+        , fmap (("Tags",) . toJSON) _codeGuruProfilerProfilingGroupTags
         ]
     }
 
@@ -39,14 +44,20 @@
 codeGuruProfilerProfilingGroup profilingGroupNamearg =
   CodeGuruProfilerProfilingGroup
   { _codeGuruProfilerProfilingGroupAgentPermissions = Nothing
+  , _codeGuruProfilerProfilingGroupAnomalyDetectionNotificationConfiguration = Nothing
   , _codeGuruProfilerProfilingGroupComputePlatform = Nothing
   , _codeGuruProfilerProfilingGroupProfilingGroupName = profilingGroupNamearg
+  , _codeGuruProfilerProfilingGroupTags = Nothing
   }
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeguruprofiler-profilinggroup.html#cfn-codeguruprofiler-profilinggroup-agentpermissions
 cgppgAgentPermissions :: Lens' CodeGuruProfilerProfilingGroup (Maybe Object)
 cgppgAgentPermissions = lens _codeGuruProfilerProfilingGroupAgentPermissions (\s a -> s { _codeGuruProfilerProfilingGroupAgentPermissions = a })
 
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeguruprofiler-profilinggroup.html#cfn-codeguruprofiler-profilinggroup-anomalydetectionnotificationconfiguration
+cgppgAnomalyDetectionNotificationConfiguration :: Lens' CodeGuruProfilerProfilingGroup (Maybe [CodeGuruProfilerProfilingGroupChannel])
+cgppgAnomalyDetectionNotificationConfiguration = lens _codeGuruProfilerProfilingGroupAnomalyDetectionNotificationConfiguration (\s a -> s { _codeGuruProfilerProfilingGroupAnomalyDetectionNotificationConfiguration = a })
+
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeguruprofiler-profilinggroup.html#cfn-codeguruprofiler-profilinggroup-computeplatform
 cgppgComputePlatform :: Lens' CodeGuruProfilerProfilingGroup (Maybe (Val Text))
 cgppgComputePlatform = lens _codeGuruProfilerProfilingGroupComputePlatform (\s a -> s { _codeGuruProfilerProfilingGroupComputePlatform = a })
@@ -54,3 +65,7 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeguruprofiler-profilinggroup.html#cfn-codeguruprofiler-profilinggroup-profilinggroupname
 cgppgProfilingGroupName :: Lens' CodeGuruProfilerProfilingGroup (Val Text)
 cgppgProfilingGroupName = lens _codeGuruProfilerProfilingGroupProfilingGroupName (\s a -> s { _codeGuruProfilerProfilingGroupProfilingGroupName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeguruprofiler-profilinggroup.html#cfn-codeguruprofiler-profilinggroup-tags
+cgppgTags :: Lens' CodeGuruProfilerProfilingGroup (Maybe [Tag])
+cgppgTags = lens _codeGuruProfilerProfilingGroupTags (\s a -> s { _codeGuruProfilerProfilingGroupTags = a })
diff --git a/library-gen/Stratosphere/Resources/GuardDutyFilter.hs b/library-gen/Stratosphere/Resources/GuardDutyFilter.hs
--- a/library-gen/Stratosphere/Resources/GuardDutyFilter.hs
+++ b/library-gen/Stratosphere/Resources/GuardDutyFilter.hs
@@ -8,7 +8,7 @@
 module Stratosphere.Resources.GuardDutyFilter where
 
 import Stratosphere.ResourceImports
-
+import Stratosphere.ResourceProperties.GuardDutyFilterFindingCriteria
 
 -- | Full data type definition for GuardDutyFilter. See 'guardDutyFilter' for
 -- a more convenient constructor.
@@ -17,6 +17,7 @@
   { _guardDutyFilterAction :: Val Text
   , _guardDutyFilterDescription :: Val Text
   , _guardDutyFilterDetectorId :: Val Text
+  , _guardDutyFilterFindingCriteria :: GuardDutyFilterFindingCriteria
   , _guardDutyFilterName :: Val Text
   , _guardDutyFilterRank :: Val Integer
   } deriving (Show, Eq)
@@ -30,6 +31,7 @@
         [ (Just . ("Action",) . toJSON) _guardDutyFilterAction
         , (Just . ("Description",) . toJSON) _guardDutyFilterDescription
         , (Just . ("DetectorId",) . toJSON) _guardDutyFilterDetectorId
+        , (Just . ("FindingCriteria",) . toJSON) _guardDutyFilterFindingCriteria
         , (Just . ("Name",) . toJSON) _guardDutyFilterName
         , (Just . ("Rank",) . toJSON) _guardDutyFilterRank
         ]
@@ -41,14 +43,16 @@
   :: Val Text -- ^ 'gdfAction'
   -> Val Text -- ^ 'gdfDescription'
   -> Val Text -- ^ 'gdfDetectorId'
+  -> GuardDutyFilterFindingCriteria -- ^ 'gdfFindingCriteria'
   -> Val Text -- ^ 'gdfName'
   -> Val Integer -- ^ 'gdfRank'
   -> GuardDutyFilter
-guardDutyFilter actionarg descriptionarg detectorIdarg namearg rankarg =
+guardDutyFilter actionarg descriptionarg detectorIdarg findingCriteriaarg namearg rankarg =
   GuardDutyFilter
   { _guardDutyFilterAction = actionarg
   , _guardDutyFilterDescription = descriptionarg
   , _guardDutyFilterDetectorId = detectorIdarg
+  , _guardDutyFilterFindingCriteria = findingCriteriaarg
   , _guardDutyFilterName = namearg
   , _guardDutyFilterRank = rankarg
   }
@@ -64,6 +68,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-filter.html#cfn-guardduty-filter-detectorid
 gdfDetectorId :: Lens' GuardDutyFilter (Val Text)
 gdfDetectorId = lens _guardDutyFilterDetectorId (\s a -> s { _guardDutyFilterDetectorId = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-filter.html#cfn-guardduty-filter-findingcriteria
+gdfFindingCriteria :: Lens' GuardDutyFilter GuardDutyFilterFindingCriteria
+gdfFindingCriteria = lens _guardDutyFilterFindingCriteria (\s a -> s { _guardDutyFilterFindingCriteria = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-filter.html#cfn-guardduty-filter-name
 gdfName :: Lens' GuardDutyFilter (Val Text)
diff --git a/library-gen/Stratosphere/Resources/KinesisFirehoseDeliveryStream.hs b/library-gen/Stratosphere/Resources/KinesisFirehoseDeliveryStream.hs
--- a/library-gen/Stratosphere/Resources/KinesisFirehoseDeliveryStream.hs
+++ b/library-gen/Stratosphere/Resources/KinesisFirehoseDeliveryStream.hs
@@ -10,6 +10,7 @@
 import Stratosphere.ResourceImports
 import Stratosphere.ResourceProperties.KinesisFirehoseDeliveryStreamElasticsearchDestinationConfiguration
 import Stratosphere.ResourceProperties.KinesisFirehoseDeliveryStreamExtendedS3DestinationConfiguration
+import Stratosphere.ResourceProperties.KinesisFirehoseDeliveryStreamHttpEndpointDestinationConfiguration
 import Stratosphere.ResourceProperties.KinesisFirehoseDeliveryStreamKinesisStreamSourceConfiguration
 import Stratosphere.ResourceProperties.KinesisFirehoseDeliveryStreamRedshiftDestinationConfiguration
 import Stratosphere.ResourceProperties.KinesisFirehoseDeliveryStreamS3DestinationConfiguration
@@ -23,6 +24,7 @@
   , _kinesisFirehoseDeliveryStreamDeliveryStreamType :: Maybe (Val Text)
   , _kinesisFirehoseDeliveryStreamElasticsearchDestinationConfiguration :: Maybe KinesisFirehoseDeliveryStreamElasticsearchDestinationConfiguration
   , _kinesisFirehoseDeliveryStreamExtendedS3DestinationConfiguration :: Maybe KinesisFirehoseDeliveryStreamExtendedS3DestinationConfiguration
+  , _kinesisFirehoseDeliveryStreamHttpEndpointDestinationConfiguration :: Maybe KinesisFirehoseDeliveryStreamHttpEndpointDestinationConfiguration
   , _kinesisFirehoseDeliveryStreamKinesisStreamSourceConfiguration :: Maybe KinesisFirehoseDeliveryStreamKinesisStreamSourceConfiguration
   , _kinesisFirehoseDeliveryStreamRedshiftDestinationConfiguration :: Maybe KinesisFirehoseDeliveryStreamRedshiftDestinationConfiguration
   , _kinesisFirehoseDeliveryStreamS3DestinationConfiguration :: Maybe KinesisFirehoseDeliveryStreamS3DestinationConfiguration
@@ -39,6 +41,7 @@
         , fmap (("DeliveryStreamType",) . toJSON) _kinesisFirehoseDeliveryStreamDeliveryStreamType
         , fmap (("ElasticsearchDestinationConfiguration",) . toJSON) _kinesisFirehoseDeliveryStreamElasticsearchDestinationConfiguration
         , fmap (("ExtendedS3DestinationConfiguration",) . toJSON) _kinesisFirehoseDeliveryStreamExtendedS3DestinationConfiguration
+        , fmap (("HttpEndpointDestinationConfiguration",) . toJSON) _kinesisFirehoseDeliveryStreamHttpEndpointDestinationConfiguration
         , fmap (("KinesisStreamSourceConfiguration",) . toJSON) _kinesisFirehoseDeliveryStreamKinesisStreamSourceConfiguration
         , fmap (("RedshiftDestinationConfiguration",) . toJSON) _kinesisFirehoseDeliveryStreamRedshiftDestinationConfiguration
         , fmap (("S3DestinationConfiguration",) . toJSON) _kinesisFirehoseDeliveryStreamS3DestinationConfiguration
@@ -56,6 +59,7 @@
   , _kinesisFirehoseDeliveryStreamDeliveryStreamType = Nothing
   , _kinesisFirehoseDeliveryStreamElasticsearchDestinationConfiguration = Nothing
   , _kinesisFirehoseDeliveryStreamExtendedS3DestinationConfiguration = Nothing
+  , _kinesisFirehoseDeliveryStreamHttpEndpointDestinationConfiguration = Nothing
   , _kinesisFirehoseDeliveryStreamKinesisStreamSourceConfiguration = Nothing
   , _kinesisFirehoseDeliveryStreamRedshiftDestinationConfiguration = Nothing
   , _kinesisFirehoseDeliveryStreamS3DestinationConfiguration = Nothing
@@ -77,6 +81,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisfirehose-deliverystream.html#cfn-kinesisfirehose-deliverystream-extendeds3destinationconfiguration
 kfdsExtendedS3DestinationConfiguration :: Lens' KinesisFirehoseDeliveryStream (Maybe KinesisFirehoseDeliveryStreamExtendedS3DestinationConfiguration)
 kfdsExtendedS3DestinationConfiguration = lens _kinesisFirehoseDeliveryStreamExtendedS3DestinationConfiguration (\s a -> s { _kinesisFirehoseDeliveryStreamExtendedS3DestinationConfiguration = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisfirehose-deliverystream.html#cfn-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration
+kfdsHttpEndpointDestinationConfiguration :: Lens' KinesisFirehoseDeliveryStream (Maybe KinesisFirehoseDeliveryStreamHttpEndpointDestinationConfiguration)
+kfdsHttpEndpointDestinationConfiguration = lens _kinesisFirehoseDeliveryStreamHttpEndpointDestinationConfiguration (\s a -> s { _kinesisFirehoseDeliveryStreamHttpEndpointDestinationConfiguration = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisfirehose-deliverystream.html#cfn-kinesisfirehose-deliverystream-kinesisstreamsourceconfiguration
 kfdsKinesisStreamSourceConfiguration :: Lens' KinesisFirehoseDeliveryStream (Maybe KinesisFirehoseDeliveryStreamKinesisStreamSourceConfiguration)
diff --git a/stratosphere.cabal b/stratosphere.cabal
--- a/stratosphere.cabal
+++ b/stratosphere.cabal
@@ -4,10 +4,10 @@
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: 75b46048b970d5d4fe69f7e229e225106bbd2db14435f795fdd1ca4456efdf0a
+-- hash: ecd31917c6c788877da2721c4104df8ed1332353827cfe1604bc815f79e42762
 
 name:           stratosphere
-version:        0.56.0
+version:        0.57.0
 synopsis:       EDSL for AWS CloudFormation
 description:    EDSL for AWS CloudFormation
 category:       AWS, Cloud
@@ -123,6 +123,15 @@
       Stratosphere.ResourceProperties.ApplicationAutoScalingScalingPolicyStepAdjustment
       Stratosphere.ResourceProperties.ApplicationAutoScalingScalingPolicyStepScalingPolicyConfiguration
       Stratosphere.ResourceProperties.ApplicationAutoScalingScalingPolicyTargetTrackingScalingPolicyConfiguration
+      Stratosphere.ResourceProperties.AppMeshGatewayRouteGatewayRouteSpec
+      Stratosphere.ResourceProperties.AppMeshGatewayRouteGatewayRouteTarget
+      Stratosphere.ResourceProperties.AppMeshGatewayRouteGatewayRouteVirtualService
+      Stratosphere.ResourceProperties.AppMeshGatewayRouteGrpcGatewayRoute
+      Stratosphere.ResourceProperties.AppMeshGatewayRouteGrpcGatewayRouteAction
+      Stratosphere.ResourceProperties.AppMeshGatewayRouteGrpcGatewayRouteMatch
+      Stratosphere.ResourceProperties.AppMeshGatewayRouteHttpGatewayRoute
+      Stratosphere.ResourceProperties.AppMeshGatewayRouteHttpGatewayRouteAction
+      Stratosphere.ResourceProperties.AppMeshGatewayRouteHttpGatewayRouteMatch
       Stratosphere.ResourceProperties.AppMeshMeshEgressFilter
       Stratosphere.ResourceProperties.AppMeshMeshMeshSpec
       Stratosphere.ResourceProperties.AppMeshRouteDuration
@@ -146,6 +155,24 @@
       Stratosphere.ResourceProperties.AppMeshRouteTcpRouteAction
       Stratosphere.ResourceProperties.AppMeshRouteTcpTimeout
       Stratosphere.ResourceProperties.AppMeshRouteWeightedTarget
+      Stratosphere.ResourceProperties.AppMeshVirtualGatewayVirtualGatewayAccessLog
+      Stratosphere.ResourceProperties.AppMeshVirtualGatewayVirtualGatewayBackendDefaults
+      Stratosphere.ResourceProperties.AppMeshVirtualGatewayVirtualGatewayClientPolicy
+      Stratosphere.ResourceProperties.AppMeshVirtualGatewayVirtualGatewayClientPolicyTls
+      Stratosphere.ResourceProperties.AppMeshVirtualGatewayVirtualGatewayFileAccessLog
+      Stratosphere.ResourceProperties.AppMeshVirtualGatewayVirtualGatewayHealthCheckPolicy
+      Stratosphere.ResourceProperties.AppMeshVirtualGatewayVirtualGatewayListener
+      Stratosphere.ResourceProperties.AppMeshVirtualGatewayVirtualGatewayListenerTls
+      Stratosphere.ResourceProperties.AppMeshVirtualGatewayVirtualGatewayListenerTlsAcmCertificate
+      Stratosphere.ResourceProperties.AppMeshVirtualGatewayVirtualGatewayListenerTlsCertificate
+      Stratosphere.ResourceProperties.AppMeshVirtualGatewayVirtualGatewayListenerTlsFileCertificate
+      Stratosphere.ResourceProperties.AppMeshVirtualGatewayVirtualGatewayLogging
+      Stratosphere.ResourceProperties.AppMeshVirtualGatewayVirtualGatewayPortMapping
+      Stratosphere.ResourceProperties.AppMeshVirtualGatewayVirtualGatewaySpec
+      Stratosphere.ResourceProperties.AppMeshVirtualGatewayVirtualGatewayTlsValidationContext
+      Stratosphere.ResourceProperties.AppMeshVirtualGatewayVirtualGatewayTlsValidationContextAcmTrust
+      Stratosphere.ResourceProperties.AppMeshVirtualGatewayVirtualGatewayTlsValidationContextFileTrust
+      Stratosphere.ResourceProperties.AppMeshVirtualGatewayVirtualGatewayTlsValidationContextTrust
       Stratosphere.ResourceProperties.AppMeshVirtualNodeAccessLog
       Stratosphere.ResourceProperties.AppMeshVirtualNodeAwsCloudMapInstanceAttribute
       Stratosphere.ResourceProperties.AppMeshVirtualNodeAwsCloudMapServiceDiscovery
@@ -318,12 +345,14 @@
       Stratosphere.ResourceProperties.CloudWatchAnomalyDetectorDimension
       Stratosphere.ResourceProperties.CloudWatchAnomalyDetectorRange
       Stratosphere.ResourceProperties.CodeBuildProjectArtifacts
+      Stratosphere.ResourceProperties.CodeBuildProjectBatchRestrictions
       Stratosphere.ResourceProperties.CodeBuildProjectBuildStatusConfig
       Stratosphere.ResourceProperties.CodeBuildProjectCloudWatchLogsConfig
       Stratosphere.ResourceProperties.CodeBuildProjectEnvironment
       Stratosphere.ResourceProperties.CodeBuildProjectEnvironmentVariable
       Stratosphere.ResourceProperties.CodeBuildProjectGitSubmodulesConfig
       Stratosphere.ResourceProperties.CodeBuildProjectLogsConfig
+      Stratosphere.ResourceProperties.CodeBuildProjectProjectBuildBatchConfig
       Stratosphere.ResourceProperties.CodeBuildProjectProjectCache
       Stratosphere.ResourceProperties.CodeBuildProjectProjectFileSystemLocation
       Stratosphere.ResourceProperties.CodeBuildProjectProjectSourceVersion
@@ -358,6 +387,7 @@
       Stratosphere.ResourceProperties.CodeDeployDeploymentGroupTagFilter
       Stratosphere.ResourceProperties.CodeDeployDeploymentGroupTargetGroupInfo
       Stratosphere.ResourceProperties.CodeDeployDeploymentGroupTriggerConfig
+      Stratosphere.ResourceProperties.CodeGuruProfilerProfilingGroupChannel
       Stratosphere.ResourceProperties.CodePipelineCustomActionTypeArtifactDetails
       Stratosphere.ResourceProperties.CodePipelineCustomActionTypeConfigurationProperties
       Stratosphere.ResourceProperties.CodePipelineCustomActionTypeSettings
@@ -1023,6 +1053,10 @@
       Stratosphere.ResourceProperties.KinesisFirehoseDeliveryStreamEncryptionConfiguration
       Stratosphere.ResourceProperties.KinesisFirehoseDeliveryStreamExtendedS3DestinationConfiguration
       Stratosphere.ResourceProperties.KinesisFirehoseDeliveryStreamHiveJsonSerDe
+      Stratosphere.ResourceProperties.KinesisFirehoseDeliveryStreamHttpEndpointCommonAttribute
+      Stratosphere.ResourceProperties.KinesisFirehoseDeliveryStreamHttpEndpointConfiguration
+      Stratosphere.ResourceProperties.KinesisFirehoseDeliveryStreamHttpEndpointDestinationConfiguration
+      Stratosphere.ResourceProperties.KinesisFirehoseDeliveryStreamHttpEndpointRequestConfiguration
       Stratosphere.ResourceProperties.KinesisFirehoseDeliveryStreamInputFormatConfiguration
       Stratosphere.ResourceProperties.KinesisFirehoseDeliveryStreamKinesisStreamSourceConfiguration
       Stratosphere.ResourceProperties.KinesisFirehoseDeliveryStreamKMSEncryptionConfig
@@ -1035,6 +1069,7 @@
       Stratosphere.ResourceProperties.KinesisFirehoseDeliveryStreamProcessorParameter
       Stratosphere.ResourceProperties.KinesisFirehoseDeliveryStreamRedshiftDestinationConfiguration
       Stratosphere.ResourceProperties.KinesisFirehoseDeliveryStreamRedshiftRetryOptions
+      Stratosphere.ResourceProperties.KinesisFirehoseDeliveryStreamRetryOptions
       Stratosphere.ResourceProperties.KinesisFirehoseDeliveryStreamS3DestinationConfiguration
       Stratosphere.ResourceProperties.KinesisFirehoseDeliveryStreamSchemaConfiguration
       Stratosphere.ResourceProperties.KinesisFirehoseDeliveryStreamSerializer
@@ -1491,8 +1526,10 @@
       Stratosphere.Resources.AppConfigHostedConfigurationVersion
       Stratosphere.Resources.ApplicationAutoScalingScalableTarget
       Stratosphere.Resources.ApplicationAutoScalingScalingPolicy
+      Stratosphere.Resources.AppMeshGatewayRoute
       Stratosphere.Resources.AppMeshMesh
       Stratosphere.Resources.AppMeshRoute
+      Stratosphere.Resources.AppMeshVirtualGateway
       Stratosphere.Resources.AppMeshVirtualNode
       Stratosphere.Resources.AppMeshVirtualRouter
       Stratosphere.Resources.AppMeshVirtualService
