diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,9 @@
 # Change Log
 
+## 0.29.1
+
+* Update resource specification document to version 2.18.1
+
 ## 0.29.0
 
 * Update resource specification document to version 2.18.0
diff --git a/library-gen/Stratosphere/ResourceProperties/AmazonMQBrokerTagsEntry.hs b/library-gen/Stratosphere/ResourceProperties/AmazonMQBrokerTagsEntry.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/AmazonMQBrokerTagsEntry.hs
@@ -0,0 +1,53 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-tagsentry.html
+
+module Stratosphere.ResourceProperties.AmazonMQBrokerTagsEntry where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for AmazonMQBrokerTagsEntry. See
+-- 'amazonMQBrokerTagsEntry' for a more convenient constructor.
+data AmazonMQBrokerTagsEntry =
+  AmazonMQBrokerTagsEntry
+  { _amazonMQBrokerTagsEntryKey :: Val Text
+  , _amazonMQBrokerTagsEntryValue :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON AmazonMQBrokerTagsEntry where
+  toJSON AmazonMQBrokerTagsEntry{..} =
+    object $
+    catMaybes
+    [ (Just . ("Key",) . toJSON) _amazonMQBrokerTagsEntryKey
+    , (Just . ("Value",) . toJSON) _amazonMQBrokerTagsEntryValue
+    ]
+
+instance FromJSON AmazonMQBrokerTagsEntry where
+  parseJSON (Object obj) =
+    AmazonMQBrokerTagsEntry <$>
+      (obj .: "Key") <*>
+      (obj .: "Value")
+  parseJSON _ = mempty
+
+-- | Constructor for 'AmazonMQBrokerTagsEntry' containing required fields as
+-- arguments.
+amazonMQBrokerTagsEntry
+  :: Val Text -- ^ 'amqbteKey'
+  -> Val Text -- ^ 'amqbteValue'
+  -> AmazonMQBrokerTagsEntry
+amazonMQBrokerTagsEntry keyarg valuearg =
+  AmazonMQBrokerTagsEntry
+  { _amazonMQBrokerTagsEntryKey = keyarg
+  , _amazonMQBrokerTagsEntryValue = valuearg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-tagsentry.html#cfn-amazonmq-broker-tagsentry-key
+amqbteKey :: Lens' AmazonMQBrokerTagsEntry (Val Text)
+amqbteKey = lens _amazonMQBrokerTagsEntryKey (\s a -> s { _amazonMQBrokerTagsEntryKey = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-tagsentry.html#cfn-amazonmq-broker-tagsentry-value
+amqbteValue :: Lens' AmazonMQBrokerTagsEntry (Val Text)
+amqbteValue = lens _amazonMQBrokerTagsEntryValue (\s a -> s { _amazonMQBrokerTagsEntryValue = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/AmazonMQConfigurationTagsEntry.hs b/library-gen/Stratosphere/ResourceProperties/AmazonMQConfigurationTagsEntry.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/AmazonMQConfigurationTagsEntry.hs
@@ -0,0 +1,53 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-configuration-tagsentry.html
+
+module Stratosphere.ResourceProperties.AmazonMQConfigurationTagsEntry where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for AmazonMQConfigurationTagsEntry. See
+-- 'amazonMQConfigurationTagsEntry' for a more convenient constructor.
+data AmazonMQConfigurationTagsEntry =
+  AmazonMQConfigurationTagsEntry
+  { _amazonMQConfigurationTagsEntryKey :: Val Text
+  , _amazonMQConfigurationTagsEntryValue :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON AmazonMQConfigurationTagsEntry where
+  toJSON AmazonMQConfigurationTagsEntry{..} =
+    object $
+    catMaybes
+    [ (Just . ("Key",) . toJSON) _amazonMQConfigurationTagsEntryKey
+    , (Just . ("Value",) . toJSON) _amazonMQConfigurationTagsEntryValue
+    ]
+
+instance FromJSON AmazonMQConfigurationTagsEntry where
+  parseJSON (Object obj) =
+    AmazonMQConfigurationTagsEntry <$>
+      (obj .: "Key") <*>
+      (obj .: "Value")
+  parseJSON _ = mempty
+
+-- | Constructor for 'AmazonMQConfigurationTagsEntry' containing required
+-- fields as arguments.
+amazonMQConfigurationTagsEntry
+  :: Val Text -- ^ 'amqcteKey'
+  -> Val Text -- ^ 'amqcteValue'
+  -> AmazonMQConfigurationTagsEntry
+amazonMQConfigurationTagsEntry keyarg valuearg =
+  AmazonMQConfigurationTagsEntry
+  { _amazonMQConfigurationTagsEntryKey = keyarg
+  , _amazonMQConfigurationTagsEntryValue = valuearg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-configuration-tagsentry.html#cfn-amazonmq-configuration-tagsentry-key
+amqcteKey :: Lens' AmazonMQConfigurationTagsEntry (Val Text)
+amqcteKey = lens _amazonMQConfigurationTagsEntryKey (\s a -> s { _amazonMQConfigurationTagsEntryKey = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-configuration-tagsentry.html#cfn-amazonmq-configuration-tagsentry-value
+amqcteValue :: Lens' AmazonMQConfigurationTagsEntry (Val Text)
+amqcteValue = lens _amazonMQConfigurationTagsEntryValue (\s a -> s { _amazonMQConfigurationTagsEntryValue = 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
@@ -315,6 +315,7 @@
 import Stratosphere.Resources.Route53RecordSetGroup as X
 import Stratosphere.Resources.Route53ResolverResolverEndpoint as X
 import Stratosphere.Resources.Route53ResolverResolverRule as X
+import Stratosphere.Resources.Route53ResolverResolverRuleAssociation as X
 import Stratosphere.Resources.S3Bucket as X
 import Stratosphere.Resources.S3BucketPolicy as X
 import Stratosphere.Resources.SDBDomain as X
@@ -384,7 +385,9 @@
 import Stratosphere.ResourceProperties.AmazonMQBrokerConfigurationId as X
 import Stratosphere.ResourceProperties.AmazonMQBrokerLogList as X
 import Stratosphere.ResourceProperties.AmazonMQBrokerMaintenanceWindow as X
+import Stratosphere.ResourceProperties.AmazonMQBrokerTagsEntry as X
 import Stratosphere.ResourceProperties.AmazonMQBrokerUser as X
+import Stratosphere.ResourceProperties.AmazonMQConfigurationTagsEntry as X
 import Stratosphere.ResourceProperties.AmazonMQConfigurationAssociationConfigurationId as X
 import Stratosphere.ResourceProperties.ApiGatewayApiKeyStageKey as X
 import Stratosphere.ResourceProperties.ApiGatewayDeploymentAccessLogSetting as X
@@ -1356,6 +1359,7 @@
   | Route53RecordSetGroupProperties Route53RecordSetGroup
   | Route53ResolverResolverEndpointProperties Route53ResolverResolverEndpoint
   | Route53ResolverResolverRuleProperties Route53ResolverResolverRule
+  | Route53ResolverResolverRuleAssociationProperties Route53ResolverResolverRuleAssociation
   | S3BucketProperties S3Bucket
   | S3BucketPolicyProperties S3BucketPolicy
   | SDBDomainProperties SDBDomain
@@ -2013,6 +2017,8 @@
   [ "Type" .= ("AWS::Route53Resolver::ResolverEndpoint" :: String), "Properties" .= toJSON x]
 resourcePropertiesJSON (Route53ResolverResolverRuleProperties x) =
   [ "Type" .= ("AWS::Route53Resolver::ResolverRule" :: String), "Properties" .= toJSON x]
+resourcePropertiesJSON (Route53ResolverResolverRuleAssociationProperties x) =
+  [ "Type" .= ("AWS::Route53Resolver::ResolverRuleAssociation" :: String), "Properties" .= toJSON x]
 resourcePropertiesJSON (S3BucketProperties x) =
   [ "Type" .= ("AWS::S3::Bucket" :: String), "Properties" .= toJSON x]
 resourcePropertiesJSON (S3BucketPolicyProperties x) =
@@ -2419,6 +2425,7 @@
          "AWS::Route53::RecordSetGroup" -> Route53RecordSetGroupProperties <$> (o .: "Properties")
          "AWS::Route53Resolver::ResolverEndpoint" -> Route53ResolverResolverEndpointProperties <$> (o .: "Properties")
          "AWS::Route53Resolver::ResolverRule" -> Route53ResolverResolverRuleProperties <$> (o .: "Properties")
+         "AWS::Route53Resolver::ResolverRuleAssociation" -> Route53ResolverResolverRuleAssociationProperties <$> (o .: "Properties")
          "AWS::S3::Bucket" -> S3BucketProperties <$> (o .: "Properties")
          "AWS::S3::BucketPolicy" -> S3BucketPolicyProperties <$> (o .: "Properties")
          "AWS::SDB::Domain" -> SDBDomainProperties <$> (o .: "Properties")
diff --git a/library-gen/Stratosphere/Resources/AmazonMQBroker.hs b/library-gen/Stratosphere/Resources/AmazonMQBroker.hs
--- a/library-gen/Stratosphere/Resources/AmazonMQBroker.hs
+++ b/library-gen/Stratosphere/Resources/AmazonMQBroker.hs
@@ -10,6 +10,7 @@
 import Stratosphere.ResourceProperties.AmazonMQBrokerConfigurationId
 import Stratosphere.ResourceProperties.AmazonMQBrokerLogList
 import Stratosphere.ResourceProperties.AmazonMQBrokerMaintenanceWindow
+import Stratosphere.ResourceProperties.AmazonMQBrokerTagsEntry
 import Stratosphere.ResourceProperties.AmazonMQBrokerUser
 
 -- | Full data type definition for AmazonMQBroker. See 'amazonMQBroker' for a
@@ -28,6 +29,7 @@
   , _amazonMQBrokerPubliclyAccessible :: Val Bool
   , _amazonMQBrokerSecurityGroups :: Maybe (ValList Text)
   , _amazonMQBrokerSubnetIds :: Maybe (ValList Text)
+  , _amazonMQBrokerTags :: Maybe [AmazonMQBrokerTagsEntry]
   , _amazonMQBrokerUsers :: [AmazonMQBrokerUser]
   } deriving (Show, Eq)
 
@@ -47,6 +49,7 @@
     , (Just . ("PubliclyAccessible",) . toJSON . fmap Bool') _amazonMQBrokerPubliclyAccessible
     , fmap (("SecurityGroups",) . toJSON) _amazonMQBrokerSecurityGroups
     , fmap (("SubnetIds",) . toJSON) _amazonMQBrokerSubnetIds
+    , fmap (("Tags",) . toJSON) _amazonMQBrokerTags
     , (Just . ("Users",) . toJSON) _amazonMQBrokerUsers
     ]
 
@@ -65,6 +68,7 @@
       fmap (fmap unBool') (obj .: "PubliclyAccessible") <*>
       (obj .:? "SecurityGroups") <*>
       (obj .:? "SubnetIds") <*>
+      (obj .:? "Tags") <*>
       (obj .: "Users")
   parseJSON _ = mempty
 
@@ -93,6 +97,7 @@
   , _amazonMQBrokerPubliclyAccessible = publiclyAccessiblearg
   , _amazonMQBrokerSecurityGroups = Nothing
   , _amazonMQBrokerSubnetIds = Nothing
+  , _amazonMQBrokerTags = Nothing
   , _amazonMQBrokerUsers = usersarg
   }
 
@@ -143,6 +148,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-broker.html#cfn-amazonmq-broker-subnetids
 amqbSubnetIds :: Lens' AmazonMQBroker (Maybe (ValList Text))
 amqbSubnetIds = lens _amazonMQBrokerSubnetIds (\s a -> s { _amazonMQBrokerSubnetIds = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-broker.html#cfn-amazonmq-broker-tags
+amqbTags :: Lens' AmazonMQBroker (Maybe [AmazonMQBrokerTagsEntry])
+amqbTags = lens _amazonMQBrokerTags (\s a -> s { _amazonMQBrokerTags = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-broker.html#cfn-amazonmq-broker-users
 amqbUsers :: Lens' AmazonMQBroker [AmazonMQBrokerUser]
diff --git a/library-gen/Stratosphere/Resources/AmazonMQConfiguration.hs b/library-gen/Stratosphere/Resources/AmazonMQConfiguration.hs
--- a/library-gen/Stratosphere/Resources/AmazonMQConfiguration.hs
+++ b/library-gen/Stratosphere/Resources/AmazonMQConfiguration.hs
@@ -7,7 +7,7 @@
 module Stratosphere.Resources.AmazonMQConfiguration where
 
 import Stratosphere.ResourceImports
-
+import Stratosphere.ResourceProperties.AmazonMQConfigurationTagsEntry
 
 -- | Full data type definition for AmazonMQConfiguration. See
 -- 'amazonMQConfiguration' for a more convenient constructor.
@@ -18,6 +18,7 @@
   , _amazonMQConfigurationEngineType :: Val Text
   , _amazonMQConfigurationEngineVersion :: Val Text
   , _amazonMQConfigurationName :: Val Text
+  , _amazonMQConfigurationTags :: Maybe [AmazonMQConfigurationTagsEntry]
   } deriving (Show, Eq)
 
 instance ToJSON AmazonMQConfiguration where
@@ -29,6 +30,7 @@
     , (Just . ("EngineType",) . toJSON) _amazonMQConfigurationEngineType
     , (Just . ("EngineVersion",) . toJSON) _amazonMQConfigurationEngineVersion
     , (Just . ("Name",) . toJSON) _amazonMQConfigurationName
+    , fmap (("Tags",) . toJSON) _amazonMQConfigurationTags
     ]
 
 instance FromJSON AmazonMQConfiguration where
@@ -38,7 +40,8 @@
       (obj .:? "Description") <*>
       (obj .: "EngineType") <*>
       (obj .: "EngineVersion") <*>
-      (obj .: "Name")
+      (obj .: "Name") <*>
+      (obj .:? "Tags")
   parseJSON _ = mempty
 
 -- | Constructor for 'AmazonMQConfiguration' containing required fields as
@@ -56,6 +59,7 @@
   , _amazonMQConfigurationEngineType = engineTypearg
   , _amazonMQConfigurationEngineVersion = engineVersionarg
   , _amazonMQConfigurationName = namearg
+  , _amazonMQConfigurationTags = Nothing
   }
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-configuration.html#cfn-amazonmq-configuration-data
@@ -77,3 +81,7 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-configuration.html#cfn-amazonmq-configuration-name
 amqcName :: Lens' AmazonMQConfiguration (Val Text)
 amqcName = lens _amazonMQConfigurationName (\s a -> s { _amazonMQConfigurationName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-configuration.html#cfn-amazonmq-configuration-tags
+amqcTags :: Lens' AmazonMQConfiguration (Maybe [AmazonMQConfigurationTagsEntry])
+amqcTags = lens _amazonMQConfigurationTags (\s a -> s { _amazonMQConfigurationTags = a })
diff --git a/library-gen/Stratosphere/Resources/Route53ResolverResolverRuleAssociation.hs b/library-gen/Stratosphere/Resources/Route53ResolverResolverRuleAssociation.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/Route53ResolverResolverRuleAssociation.hs
@@ -0,0 +1,62 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverruleassociation.html
+
+module Stratosphere.Resources.Route53ResolverResolverRuleAssociation where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for Route53ResolverResolverRuleAssociation. See
+-- 'route53ResolverResolverRuleAssociation' for a more convenient
+-- constructor.
+data Route53ResolverResolverRuleAssociation =
+  Route53ResolverResolverRuleAssociation
+  { _route53ResolverResolverRuleAssociationName :: Maybe (Val Text)
+  , _route53ResolverResolverRuleAssociationResolverRuleId :: Val Text
+  , _route53ResolverResolverRuleAssociationVPCId :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON Route53ResolverResolverRuleAssociation where
+  toJSON Route53ResolverResolverRuleAssociation{..} =
+    object $
+    catMaybes
+    [ fmap (("Name",) . toJSON) _route53ResolverResolverRuleAssociationName
+    , (Just . ("ResolverRuleId",) . toJSON) _route53ResolverResolverRuleAssociationResolverRuleId
+    , (Just . ("VPCId",) . toJSON) _route53ResolverResolverRuleAssociationVPCId
+    ]
+
+instance FromJSON Route53ResolverResolverRuleAssociation where
+  parseJSON (Object obj) =
+    Route53ResolverResolverRuleAssociation <$>
+      (obj .:? "Name") <*>
+      (obj .: "ResolverRuleId") <*>
+      (obj .: "VPCId")
+  parseJSON _ = mempty
+
+-- | Constructor for 'Route53ResolverResolverRuleAssociation' containing
+-- required fields as arguments.
+route53ResolverResolverRuleAssociation
+  :: Val Text -- ^ 'rrrraResolverRuleId'
+  -> Val Text -- ^ 'rrrraVPCId'
+  -> Route53ResolverResolverRuleAssociation
+route53ResolverResolverRuleAssociation resolverRuleIdarg vPCIdarg =
+  Route53ResolverResolverRuleAssociation
+  { _route53ResolverResolverRuleAssociationName = Nothing
+  , _route53ResolverResolverRuleAssociationResolverRuleId = resolverRuleIdarg
+  , _route53ResolverResolverRuleAssociationVPCId = vPCIdarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverruleassociation.html#cfn-route53resolver-resolverruleassociation-name
+rrrraName :: Lens' Route53ResolverResolverRuleAssociation (Maybe (Val Text))
+rrrraName = lens _route53ResolverResolverRuleAssociationName (\s a -> s { _route53ResolverResolverRuleAssociationName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverruleassociation.html#cfn-route53resolver-resolverruleassociation-resolverruleid
+rrrraResolverRuleId :: Lens' Route53ResolverResolverRuleAssociation (Val Text)
+rrrraResolverRuleId = lens _route53ResolverResolverRuleAssociationResolverRuleId (\s a -> s { _route53ResolverResolverRuleAssociationResolverRuleId = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverruleassociation.html#cfn-route53resolver-resolverruleassociation-vpcid
+rrrraVPCId :: Lens' Route53ResolverResolverRuleAssociation (Val Text)
+rrrraVPCId = lens _route53ResolverResolverRuleAssociationVPCId (\s a -> s { _route53ResolverResolverRuleAssociationVPCId = a })
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: 21bf3f2778753313b49ca4168fe54a34c218d3df7ee3654fe7edfba3e44d3cde
+-- hash: 6ce3813c8167e95585b91a8d57d986aada8b4fb3d99d5845ceb657a522e2814f
 
 name:           stratosphere
-version:        0.29.0
+version:        0.29.1
 synopsis:       EDSL for AWS CloudFormation
 description:    EDSL for AWS CloudFormation
 category:       AWS, Cloud
@@ -51,8 +51,10 @@
       Stratosphere.ResourceProperties.AmazonMQBrokerConfigurationId
       Stratosphere.ResourceProperties.AmazonMQBrokerLogList
       Stratosphere.ResourceProperties.AmazonMQBrokerMaintenanceWindow
+      Stratosphere.ResourceProperties.AmazonMQBrokerTagsEntry
       Stratosphere.ResourceProperties.AmazonMQBrokerUser
       Stratosphere.ResourceProperties.AmazonMQConfigurationAssociationConfigurationId
+      Stratosphere.ResourceProperties.AmazonMQConfigurationTagsEntry
       Stratosphere.ResourceProperties.ApiGatewayApiKeyStageKey
       Stratosphere.ResourceProperties.ApiGatewayDeploymentAccessLogSetting
       Stratosphere.ResourceProperties.ApiGatewayDeploymentCanarySetting
@@ -1014,6 +1016,7 @@
       Stratosphere.Resources.Route53RecordSetGroup
       Stratosphere.Resources.Route53ResolverResolverEndpoint
       Stratosphere.Resources.Route53ResolverResolverRule
+      Stratosphere.Resources.Route53ResolverResolverRuleAssociation
       Stratosphere.Resources.S3Bucket
       Stratosphere.Resources.S3BucketPolicy
       Stratosphere.Resources.SageMakerEndpoint
