diff --git a/LICENSE.md b/LICENSE.md
new file mode 100644
--- /dev/null
+++ b/LICENSE.md
@@ -0,0 +1,20 @@
+Copyright (c) 2016 David Reaver
+Copyright (c) 2022 Markus Schirp
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
+of the Software, and to permit persons to whom the Software is furnished to do
+so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/gen/Stratosphere/AccessAnalyzer/Analyzer.hs b/gen/Stratosphere/AccessAnalyzer/Analyzer.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/AccessAnalyzer/Analyzer.hs
@@ -0,0 +1,77 @@
+module Stratosphere.AccessAnalyzer.Analyzer (
+        module Exports, Analyzer(..), mkAnalyzer
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.AccessAnalyzer.Analyzer.AnalyzerConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.AccessAnalyzer.Analyzer.ArchiveRuleProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Tag
+import Stratosphere.Value
+data Analyzer
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-accessanalyzer-analyzer.html>
+    Analyzer {haddock_workaround_ :: (),
+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-accessanalyzer-analyzer.html#cfn-accessanalyzer-analyzer-analyzerconfiguration>
+              analyzerConfiguration :: (Prelude.Maybe AnalyzerConfigurationProperty),
+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-accessanalyzer-analyzer.html#cfn-accessanalyzer-analyzer-analyzername>
+              analyzerName :: (Prelude.Maybe (Value Prelude.Text)),
+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-accessanalyzer-analyzer.html#cfn-accessanalyzer-analyzer-archiverules>
+              archiveRules :: (Prelude.Maybe [ArchiveRuleProperty]),
+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-accessanalyzer-analyzer.html#cfn-accessanalyzer-analyzer-tags>
+              tags :: (Prelude.Maybe [Tag]),
+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-accessanalyzer-analyzer.html#cfn-accessanalyzer-analyzer-type>
+              type' :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkAnalyzer :: Value Prelude.Text -> Analyzer
+mkAnalyzer type'
+  = Analyzer
+      {haddock_workaround_ = (), type' = type',
+       analyzerConfiguration = Prelude.Nothing,
+       analyzerName = Prelude.Nothing, archiveRules = Prelude.Nothing,
+       tags = Prelude.Nothing}
+instance ToResourceProperties Analyzer where
+  toResourceProperties Analyzer {..}
+    = ResourceProperties
+        {awsType = "AWS::AccessAnalyzer::Analyzer",
+         supportsTags = Prelude.True,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["Type" JSON..= type']
+                           (Prelude.catMaybes
+                              [(JSON..=) "AnalyzerConfiguration"
+                                 Prelude.<$> analyzerConfiguration,
+                               (JSON..=) "AnalyzerName" Prelude.<$> analyzerName,
+                               (JSON..=) "ArchiveRules" Prelude.<$> archiveRules,
+                               (JSON..=) "Tags" Prelude.<$> tags]))}
+instance JSON.ToJSON Analyzer where
+  toJSON Analyzer {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["Type" JSON..= type']
+              (Prelude.catMaybes
+                 [(JSON..=) "AnalyzerConfiguration"
+                    Prelude.<$> analyzerConfiguration,
+                  (JSON..=) "AnalyzerName" Prelude.<$> analyzerName,
+                  (JSON..=) "ArchiveRules" Prelude.<$> archiveRules,
+                  (JSON..=) "Tags" Prelude.<$> tags])))
+instance Property "AnalyzerConfiguration" Analyzer where
+  type PropertyType "AnalyzerConfiguration" Analyzer = AnalyzerConfigurationProperty
+  set newValue Analyzer {..}
+    = Analyzer {analyzerConfiguration = Prelude.pure newValue, ..}
+instance Property "AnalyzerName" Analyzer where
+  type PropertyType "AnalyzerName" Analyzer = Value Prelude.Text
+  set newValue Analyzer {..}
+    = Analyzer {analyzerName = Prelude.pure newValue, ..}
+instance Property "ArchiveRules" Analyzer where
+  type PropertyType "ArchiveRules" Analyzer = [ArchiveRuleProperty]
+  set newValue Analyzer {..}
+    = Analyzer {archiveRules = Prelude.pure newValue, ..}
+instance Property "Tags" Analyzer where
+  type PropertyType "Tags" Analyzer = [Tag]
+  set newValue Analyzer {..}
+    = Analyzer {tags = Prelude.pure newValue, ..}
+instance Property "Type" Analyzer where
+  type PropertyType "Type" Analyzer = Value Prelude.Text
+  set newValue Analyzer {..} = Analyzer {type' = newValue, ..}
diff --git a/gen/Stratosphere/AccessAnalyzer/Analyzer/AnalysisRuleCriteriaProperty.hs b/gen/Stratosphere/AccessAnalyzer/Analyzer/AnalysisRuleCriteriaProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/AccessAnalyzer/Analyzer/AnalysisRuleCriteriaProperty.hs
@@ -0,0 +1,47 @@
+module Stratosphere.AccessAnalyzer.Analyzer.AnalysisRuleCriteriaProperty (
+        AnalysisRuleCriteriaProperty(..), mkAnalysisRuleCriteriaProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data AnalysisRuleCriteriaProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-accessanalyzer-analyzer-analysisrulecriteria.html>
+    AnalysisRuleCriteriaProperty {haddock_workaround_ :: (),
+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-accessanalyzer-analyzer-analysisrulecriteria.html#cfn-accessanalyzer-analyzer-analysisrulecriteria-accountids>
+                                  accountIds :: (Prelude.Maybe (ValueList Prelude.Text)),
+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-accessanalyzer-analyzer-analysisrulecriteria.html#cfn-accessanalyzer-analyzer-analysisrulecriteria-resourcetags>
+                                  resourceTags :: (Prelude.Maybe JSON.Object)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkAnalysisRuleCriteriaProperty :: AnalysisRuleCriteriaProperty
+mkAnalysisRuleCriteriaProperty
+  = AnalysisRuleCriteriaProperty
+      {haddock_workaround_ = (), accountIds = Prelude.Nothing,
+       resourceTags = Prelude.Nothing}
+instance ToResourceProperties AnalysisRuleCriteriaProperty where
+  toResourceProperties AnalysisRuleCriteriaProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::AccessAnalyzer::Analyzer.AnalysisRuleCriteria",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "AccountIds" Prelude.<$> accountIds,
+                            (JSON..=) "ResourceTags" Prelude.<$> resourceTags])}
+instance JSON.ToJSON AnalysisRuleCriteriaProperty where
+  toJSON AnalysisRuleCriteriaProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "AccountIds" Prelude.<$> accountIds,
+               (JSON..=) "ResourceTags" Prelude.<$> resourceTags]))
+instance Property "AccountIds" AnalysisRuleCriteriaProperty where
+  type PropertyType "AccountIds" AnalysisRuleCriteriaProperty = ValueList Prelude.Text
+  set newValue AnalysisRuleCriteriaProperty {..}
+    = AnalysisRuleCriteriaProperty
+        {accountIds = Prelude.pure newValue, ..}
+instance Property "ResourceTags" AnalysisRuleCriteriaProperty where
+  type PropertyType "ResourceTags" AnalysisRuleCriteriaProperty = JSON.Object
+  set newValue AnalysisRuleCriteriaProperty {..}
+    = AnalysisRuleCriteriaProperty
+        {resourceTags = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/AccessAnalyzer/Analyzer/AnalysisRuleCriteriaProperty.hs-boot b/gen/Stratosphere/AccessAnalyzer/Analyzer/AnalysisRuleCriteriaProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/AccessAnalyzer/Analyzer/AnalysisRuleCriteriaProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.AccessAnalyzer.Analyzer.AnalysisRuleCriteriaProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data AnalysisRuleCriteriaProperty :: Prelude.Type
+instance ToResourceProperties AnalysisRuleCriteriaProperty
+instance Prelude.Eq AnalysisRuleCriteriaProperty
+instance Prelude.Show AnalysisRuleCriteriaProperty
+instance JSON.ToJSON AnalysisRuleCriteriaProperty
diff --git a/gen/Stratosphere/AccessAnalyzer/Analyzer/AnalysisRuleProperty.hs b/gen/Stratosphere/AccessAnalyzer/Analyzer/AnalysisRuleProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/AccessAnalyzer/Analyzer/AnalysisRuleProperty.hs
@@ -0,0 +1,36 @@
+module Stratosphere.AccessAnalyzer.Analyzer.AnalysisRuleProperty (
+        module Exports, AnalysisRuleProperty(..), mkAnalysisRuleProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.AccessAnalyzer.Analyzer.AnalysisRuleCriteriaProperty as Exports
+import Stratosphere.ResourceProperties
+data AnalysisRuleProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-accessanalyzer-analyzer-analysisrule.html>
+    AnalysisRuleProperty {haddock_workaround_ :: (),
+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-accessanalyzer-analyzer-analysisrule.html#cfn-accessanalyzer-analyzer-analysisrule-exclusions>
+                          exclusions :: (Prelude.Maybe [AnalysisRuleCriteriaProperty])}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkAnalysisRuleProperty :: AnalysisRuleProperty
+mkAnalysisRuleProperty
+  = AnalysisRuleProperty
+      {haddock_workaround_ = (), exclusions = Prelude.Nothing}
+instance ToResourceProperties AnalysisRuleProperty where
+  toResourceProperties AnalysisRuleProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::AccessAnalyzer::Analyzer.AnalysisRule",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "Exclusions" Prelude.<$> exclusions])}
+instance JSON.ToJSON AnalysisRuleProperty where
+  toJSON AnalysisRuleProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "Exclusions" Prelude.<$> exclusions]))
+instance Property "Exclusions" AnalysisRuleProperty where
+  type PropertyType "Exclusions" AnalysisRuleProperty = [AnalysisRuleCriteriaProperty]
+  set newValue AnalysisRuleProperty {..}
+    = AnalysisRuleProperty {exclusions = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/AccessAnalyzer/Analyzer/AnalysisRuleProperty.hs-boot b/gen/Stratosphere/AccessAnalyzer/Analyzer/AnalysisRuleProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/AccessAnalyzer/Analyzer/AnalysisRuleProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.AccessAnalyzer.Analyzer.AnalysisRuleProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data AnalysisRuleProperty :: Prelude.Type
+instance ToResourceProperties AnalysisRuleProperty
+instance Prelude.Eq AnalysisRuleProperty
+instance Prelude.Show AnalysisRuleProperty
+instance JSON.ToJSON AnalysisRuleProperty
diff --git a/gen/Stratosphere/AccessAnalyzer/Analyzer/AnalyzerConfigurationProperty.hs b/gen/Stratosphere/AccessAnalyzer/Analyzer/AnalyzerConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/AccessAnalyzer/Analyzer/AnalyzerConfigurationProperty.hs
@@ -0,0 +1,54 @@
+module Stratosphere.AccessAnalyzer.Analyzer.AnalyzerConfigurationProperty (
+        module Exports, AnalyzerConfigurationProperty(..),
+        mkAnalyzerConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.AccessAnalyzer.Analyzer.InternalAccessConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.AccessAnalyzer.Analyzer.UnusedAccessConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+data AnalyzerConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-accessanalyzer-analyzer-analyzerconfiguration.html>
+    AnalyzerConfigurationProperty {haddock_workaround_ :: (),
+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-accessanalyzer-analyzer-analyzerconfiguration.html#cfn-accessanalyzer-analyzer-analyzerconfiguration-internalaccessconfiguration>
+                                   internalAccessConfiguration :: (Prelude.Maybe InternalAccessConfigurationProperty),
+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-accessanalyzer-analyzer-analyzerconfiguration.html#cfn-accessanalyzer-analyzer-analyzerconfiguration-unusedaccessconfiguration>
+                                   unusedAccessConfiguration :: (Prelude.Maybe UnusedAccessConfigurationProperty)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkAnalyzerConfigurationProperty :: AnalyzerConfigurationProperty
+mkAnalyzerConfigurationProperty
+  = AnalyzerConfigurationProperty
+      {haddock_workaround_ = (),
+       internalAccessConfiguration = Prelude.Nothing,
+       unusedAccessConfiguration = Prelude.Nothing}
+instance ToResourceProperties AnalyzerConfigurationProperty where
+  toResourceProperties AnalyzerConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::AccessAnalyzer::Analyzer.AnalyzerConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "InternalAccessConfiguration"
+                              Prelude.<$> internalAccessConfiguration,
+                            (JSON..=) "UnusedAccessConfiguration"
+                              Prelude.<$> unusedAccessConfiguration])}
+instance JSON.ToJSON AnalyzerConfigurationProperty where
+  toJSON AnalyzerConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "InternalAccessConfiguration"
+                 Prelude.<$> internalAccessConfiguration,
+               (JSON..=) "UnusedAccessConfiguration"
+                 Prelude.<$> unusedAccessConfiguration]))
+instance Property "InternalAccessConfiguration" AnalyzerConfigurationProperty where
+  type PropertyType "InternalAccessConfiguration" AnalyzerConfigurationProperty = InternalAccessConfigurationProperty
+  set newValue AnalyzerConfigurationProperty {..}
+    = AnalyzerConfigurationProperty
+        {internalAccessConfiguration = Prelude.pure newValue, ..}
+instance Property "UnusedAccessConfiguration" AnalyzerConfigurationProperty where
+  type PropertyType "UnusedAccessConfiguration" AnalyzerConfigurationProperty = UnusedAccessConfigurationProperty
+  set newValue AnalyzerConfigurationProperty {..}
+    = AnalyzerConfigurationProperty
+        {unusedAccessConfiguration = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/AccessAnalyzer/Analyzer/AnalyzerConfigurationProperty.hs-boot b/gen/Stratosphere/AccessAnalyzer/Analyzer/AnalyzerConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/AccessAnalyzer/Analyzer/AnalyzerConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.AccessAnalyzer.Analyzer.AnalyzerConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data AnalyzerConfigurationProperty :: Prelude.Type
+instance ToResourceProperties AnalyzerConfigurationProperty
+instance Prelude.Eq AnalyzerConfigurationProperty
+instance Prelude.Show AnalyzerConfigurationProperty
+instance JSON.ToJSON AnalyzerConfigurationProperty
diff --git a/gen/Stratosphere/AccessAnalyzer/Analyzer/ArchiveRuleProperty.hs b/gen/Stratosphere/AccessAnalyzer/Analyzer/ArchiveRuleProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/AccessAnalyzer/Analyzer/ArchiveRuleProperty.hs
@@ -0,0 +1,41 @@
+module Stratosphere.AccessAnalyzer.Analyzer.ArchiveRuleProperty (
+        module Exports, ArchiveRuleProperty(..), mkArchiveRuleProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.AccessAnalyzer.Analyzer.FilterProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data ArchiveRuleProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-accessanalyzer-analyzer-archiverule.html>
+    ArchiveRuleProperty {haddock_workaround_ :: (),
+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-accessanalyzer-analyzer-archiverule.html#cfn-accessanalyzer-analyzer-archiverule-filter>
+                         filter :: [FilterProperty],
+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-accessanalyzer-analyzer-archiverule.html#cfn-accessanalyzer-analyzer-archiverule-rulename>
+                         ruleName :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkArchiveRuleProperty ::
+  [FilterProperty] -> Value Prelude.Text -> ArchiveRuleProperty
+mkArchiveRuleProperty filter ruleName
+  = ArchiveRuleProperty
+      {haddock_workaround_ = (), filter = filter, ruleName = ruleName}
+instance ToResourceProperties ArchiveRuleProperty where
+  toResourceProperties ArchiveRuleProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::AccessAnalyzer::Analyzer.ArchiveRule",
+         supportsTags = Prelude.False,
+         properties = ["Filter" JSON..= filter,
+                       "RuleName" JSON..= ruleName]}
+instance JSON.ToJSON ArchiveRuleProperty where
+  toJSON ArchiveRuleProperty {..}
+    = JSON.object
+        ["Filter" JSON..= filter, "RuleName" JSON..= ruleName]
+instance Property "Filter" ArchiveRuleProperty where
+  type PropertyType "Filter" ArchiveRuleProperty = [FilterProperty]
+  set newValue ArchiveRuleProperty {..}
+    = ArchiveRuleProperty {filter = newValue, ..}
+instance Property "RuleName" ArchiveRuleProperty where
+  type PropertyType "RuleName" ArchiveRuleProperty = Value Prelude.Text
+  set newValue ArchiveRuleProperty {..}
+    = ArchiveRuleProperty {ruleName = newValue, ..}
diff --git a/gen/Stratosphere/AccessAnalyzer/Analyzer/ArchiveRuleProperty.hs-boot b/gen/Stratosphere/AccessAnalyzer/Analyzer/ArchiveRuleProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/AccessAnalyzer/Analyzer/ArchiveRuleProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.AccessAnalyzer.Analyzer.ArchiveRuleProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data ArchiveRuleProperty :: Prelude.Type
+instance ToResourceProperties ArchiveRuleProperty
+instance Prelude.Eq ArchiveRuleProperty
+instance Prelude.Show ArchiveRuleProperty
+instance JSON.ToJSON ArchiveRuleProperty
diff --git a/gen/Stratosphere/AccessAnalyzer/Analyzer/FilterProperty.hs b/gen/Stratosphere/AccessAnalyzer/Analyzer/FilterProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/AccessAnalyzer/Analyzer/FilterProperty.hs
@@ -0,0 +1,72 @@
+module Stratosphere.AccessAnalyzer.Analyzer.FilterProperty (
+        FilterProperty(..), mkFilterProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data FilterProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-accessanalyzer-analyzer-filter.html>
+    FilterProperty {haddock_workaround_ :: (),
+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-accessanalyzer-analyzer-filter.html#cfn-accessanalyzer-analyzer-filter-contains>
+                    contains :: (Prelude.Maybe (ValueList Prelude.Text)),
+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-accessanalyzer-analyzer-filter.html#cfn-accessanalyzer-analyzer-filter-eq>
+                    eq :: (Prelude.Maybe (ValueList Prelude.Text)),
+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-accessanalyzer-analyzer-filter.html#cfn-accessanalyzer-analyzer-filter-exists>
+                    exists :: (Prelude.Maybe (Value Prelude.Bool)),
+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-accessanalyzer-analyzer-filter.html#cfn-accessanalyzer-analyzer-filter-neq>
+                    neq :: (Prelude.Maybe (ValueList Prelude.Text)),
+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-accessanalyzer-analyzer-filter.html#cfn-accessanalyzer-analyzer-filter-property>
+                    property :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkFilterProperty :: Value Prelude.Text -> FilterProperty
+mkFilterProperty property
+  = FilterProperty
+      {haddock_workaround_ = (), property = property,
+       contains = Prelude.Nothing, eq = Prelude.Nothing,
+       exists = Prelude.Nothing, neq = Prelude.Nothing}
+instance ToResourceProperties FilterProperty where
+  toResourceProperties FilterProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::AccessAnalyzer::Analyzer.Filter",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["Property" JSON..= property]
+                           (Prelude.catMaybes
+                              [(JSON..=) "Contains" Prelude.<$> contains,
+                               (JSON..=) "Eq" Prelude.<$> eq,
+                               (JSON..=) "Exists" Prelude.<$> exists,
+                               (JSON..=) "Neq" Prelude.<$> neq]))}
+instance JSON.ToJSON FilterProperty where
+  toJSON FilterProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["Property" JSON..= property]
+              (Prelude.catMaybes
+                 [(JSON..=) "Contains" Prelude.<$> contains,
+                  (JSON..=) "Eq" Prelude.<$> eq,
+                  (JSON..=) "Exists" Prelude.<$> exists,
+                  (JSON..=) "Neq" Prelude.<$> neq])))
+instance Property "Contains" FilterProperty where
+  type PropertyType "Contains" FilterProperty = ValueList Prelude.Text
+  set newValue FilterProperty {..}
+    = FilterProperty {contains = Prelude.pure newValue, ..}
+instance Property "Eq" FilterProperty where
+  type PropertyType "Eq" FilterProperty = ValueList Prelude.Text
+  set newValue FilterProperty {..}
+    = FilterProperty {eq = Prelude.pure newValue, ..}
+instance Property "Exists" FilterProperty where
+  type PropertyType "Exists" FilterProperty = Value Prelude.Bool
+  set newValue FilterProperty {..}
+    = FilterProperty {exists = Prelude.pure newValue, ..}
+instance Property "Neq" FilterProperty where
+  type PropertyType "Neq" FilterProperty = ValueList Prelude.Text
+  set newValue FilterProperty {..}
+    = FilterProperty {neq = Prelude.pure newValue, ..}
+instance Property "Property" FilterProperty where
+  type PropertyType "Property" FilterProperty = Value Prelude.Text
+  set newValue FilterProperty {..}
+    = FilterProperty {property = newValue, ..}
diff --git a/gen/Stratosphere/AccessAnalyzer/Analyzer/FilterProperty.hs-boot b/gen/Stratosphere/AccessAnalyzer/Analyzer/FilterProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/AccessAnalyzer/Analyzer/FilterProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.AccessAnalyzer.Analyzer.FilterProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data FilterProperty :: Prelude.Type
+instance ToResourceProperties FilterProperty
+instance Prelude.Eq FilterProperty
+instance Prelude.Show FilterProperty
+instance JSON.ToJSON FilterProperty
diff --git a/gen/Stratosphere/AccessAnalyzer/Analyzer/InternalAccessAnalysisRuleCriteriaProperty.hs b/gen/Stratosphere/AccessAnalyzer/Analyzer/InternalAccessAnalysisRuleCriteriaProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/AccessAnalyzer/Analyzer/InternalAccessAnalysisRuleCriteriaProperty.hs
@@ -0,0 +1,59 @@
+module Stratosphere.AccessAnalyzer.Analyzer.InternalAccessAnalysisRuleCriteriaProperty (
+        InternalAccessAnalysisRuleCriteriaProperty(..),
+        mkInternalAccessAnalysisRuleCriteriaProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data InternalAccessAnalysisRuleCriteriaProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-accessanalyzer-analyzer-internalaccessanalysisrulecriteria.html>
+    InternalAccessAnalysisRuleCriteriaProperty {haddock_workaround_ :: (),
+                                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-accessanalyzer-analyzer-internalaccessanalysisrulecriteria.html#cfn-accessanalyzer-analyzer-internalaccessanalysisrulecriteria-accountids>
+                                                accountIds :: (Prelude.Maybe (ValueList Prelude.Text)),
+                                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-accessanalyzer-analyzer-internalaccessanalysisrulecriteria.html#cfn-accessanalyzer-analyzer-internalaccessanalysisrulecriteria-resourcearns>
+                                                resourceArns :: (Prelude.Maybe (ValueList Prelude.Text)),
+                                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-accessanalyzer-analyzer-internalaccessanalysisrulecriteria.html#cfn-accessanalyzer-analyzer-internalaccessanalysisrulecriteria-resourcetypes>
+                                                resourceTypes :: (Prelude.Maybe (ValueList Prelude.Text))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkInternalAccessAnalysisRuleCriteriaProperty ::
+  InternalAccessAnalysisRuleCriteriaProperty
+mkInternalAccessAnalysisRuleCriteriaProperty
+  = InternalAccessAnalysisRuleCriteriaProperty
+      {haddock_workaround_ = (), accountIds = Prelude.Nothing,
+       resourceArns = Prelude.Nothing, resourceTypes = Prelude.Nothing}
+instance ToResourceProperties InternalAccessAnalysisRuleCriteriaProperty where
+  toResourceProperties
+    InternalAccessAnalysisRuleCriteriaProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::AccessAnalyzer::Analyzer.InternalAccessAnalysisRuleCriteria",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "AccountIds" Prelude.<$> accountIds,
+                            (JSON..=) "ResourceArns" Prelude.<$> resourceArns,
+                            (JSON..=) "ResourceTypes" Prelude.<$> resourceTypes])}
+instance JSON.ToJSON InternalAccessAnalysisRuleCriteriaProperty where
+  toJSON InternalAccessAnalysisRuleCriteriaProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "AccountIds" Prelude.<$> accountIds,
+               (JSON..=) "ResourceArns" Prelude.<$> resourceArns,
+               (JSON..=) "ResourceTypes" Prelude.<$> resourceTypes]))
+instance Property "AccountIds" InternalAccessAnalysisRuleCriteriaProperty where
+  type PropertyType "AccountIds" InternalAccessAnalysisRuleCriteriaProperty = ValueList Prelude.Text
+  set newValue InternalAccessAnalysisRuleCriteriaProperty {..}
+    = InternalAccessAnalysisRuleCriteriaProperty
+        {accountIds = Prelude.pure newValue, ..}
+instance Property "ResourceArns" InternalAccessAnalysisRuleCriteriaProperty where
+  type PropertyType "ResourceArns" InternalAccessAnalysisRuleCriteriaProperty = ValueList Prelude.Text
+  set newValue InternalAccessAnalysisRuleCriteriaProperty {..}
+    = InternalAccessAnalysisRuleCriteriaProperty
+        {resourceArns = Prelude.pure newValue, ..}
+instance Property "ResourceTypes" InternalAccessAnalysisRuleCriteriaProperty where
+  type PropertyType "ResourceTypes" InternalAccessAnalysisRuleCriteriaProperty = ValueList Prelude.Text
+  set newValue InternalAccessAnalysisRuleCriteriaProperty {..}
+    = InternalAccessAnalysisRuleCriteriaProperty
+        {resourceTypes = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/AccessAnalyzer/Analyzer/InternalAccessAnalysisRuleCriteriaProperty.hs-boot b/gen/Stratosphere/AccessAnalyzer/Analyzer/InternalAccessAnalysisRuleCriteriaProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/AccessAnalyzer/Analyzer/InternalAccessAnalysisRuleCriteriaProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.AccessAnalyzer.Analyzer.InternalAccessAnalysisRuleCriteriaProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data InternalAccessAnalysisRuleCriteriaProperty :: Prelude.Type
+instance ToResourceProperties InternalAccessAnalysisRuleCriteriaProperty
+instance Prelude.Eq InternalAccessAnalysisRuleCriteriaProperty
+instance Prelude.Show InternalAccessAnalysisRuleCriteriaProperty
+instance JSON.ToJSON InternalAccessAnalysisRuleCriteriaProperty
diff --git a/gen/Stratosphere/AccessAnalyzer/Analyzer/InternalAccessAnalysisRuleProperty.hs b/gen/Stratosphere/AccessAnalyzer/Analyzer/InternalAccessAnalysisRuleProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/AccessAnalyzer/Analyzer/InternalAccessAnalysisRuleProperty.hs
@@ -0,0 +1,39 @@
+module Stratosphere.AccessAnalyzer.Analyzer.InternalAccessAnalysisRuleProperty (
+        module Exports, InternalAccessAnalysisRuleProperty(..),
+        mkInternalAccessAnalysisRuleProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.AccessAnalyzer.Analyzer.InternalAccessAnalysisRuleCriteriaProperty as Exports
+import Stratosphere.ResourceProperties
+data InternalAccessAnalysisRuleProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-accessanalyzer-analyzer-internalaccessanalysisrule.html>
+    InternalAccessAnalysisRuleProperty {haddock_workaround_ :: (),
+                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-accessanalyzer-analyzer-internalaccessanalysisrule.html#cfn-accessanalyzer-analyzer-internalaccessanalysisrule-inclusions>
+                                        inclusions :: (Prelude.Maybe [InternalAccessAnalysisRuleCriteriaProperty])}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkInternalAccessAnalysisRuleProperty ::
+  InternalAccessAnalysisRuleProperty
+mkInternalAccessAnalysisRuleProperty
+  = InternalAccessAnalysisRuleProperty
+      {haddock_workaround_ = (), inclusions = Prelude.Nothing}
+instance ToResourceProperties InternalAccessAnalysisRuleProperty where
+  toResourceProperties InternalAccessAnalysisRuleProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::AccessAnalyzer::Analyzer.InternalAccessAnalysisRule",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "Inclusions" Prelude.<$> inclusions])}
+instance JSON.ToJSON InternalAccessAnalysisRuleProperty where
+  toJSON InternalAccessAnalysisRuleProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "Inclusions" Prelude.<$> inclusions]))
+instance Property "Inclusions" InternalAccessAnalysisRuleProperty where
+  type PropertyType "Inclusions" InternalAccessAnalysisRuleProperty = [InternalAccessAnalysisRuleCriteriaProperty]
+  set newValue InternalAccessAnalysisRuleProperty {..}
+    = InternalAccessAnalysisRuleProperty
+        {inclusions = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/AccessAnalyzer/Analyzer/InternalAccessAnalysisRuleProperty.hs-boot b/gen/Stratosphere/AccessAnalyzer/Analyzer/InternalAccessAnalysisRuleProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/AccessAnalyzer/Analyzer/InternalAccessAnalysisRuleProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.AccessAnalyzer.Analyzer.InternalAccessAnalysisRuleProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data InternalAccessAnalysisRuleProperty :: Prelude.Type
+instance ToResourceProperties InternalAccessAnalysisRuleProperty
+instance Prelude.Eq InternalAccessAnalysisRuleProperty
+instance Prelude.Show InternalAccessAnalysisRuleProperty
+instance JSON.ToJSON InternalAccessAnalysisRuleProperty
diff --git a/gen/Stratosphere/AccessAnalyzer/Analyzer/InternalAccessConfigurationProperty.hs b/gen/Stratosphere/AccessAnalyzer/Analyzer/InternalAccessConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/AccessAnalyzer/Analyzer/InternalAccessConfigurationProperty.hs
@@ -0,0 +1,42 @@
+module Stratosphere.AccessAnalyzer.Analyzer.InternalAccessConfigurationProperty (
+        module Exports, InternalAccessConfigurationProperty(..),
+        mkInternalAccessConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.AccessAnalyzer.Analyzer.InternalAccessAnalysisRuleProperty as Exports
+import Stratosphere.ResourceProperties
+data InternalAccessConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-accessanalyzer-analyzer-internalaccessconfiguration.html>
+    InternalAccessConfigurationProperty {haddock_workaround_ :: (),
+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-accessanalyzer-analyzer-internalaccessconfiguration.html#cfn-accessanalyzer-analyzer-internalaccessconfiguration-internalaccessanalysisrule>
+                                         internalAccessAnalysisRule :: (Prelude.Maybe InternalAccessAnalysisRuleProperty)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkInternalAccessConfigurationProperty ::
+  InternalAccessConfigurationProperty
+mkInternalAccessConfigurationProperty
+  = InternalAccessConfigurationProperty
+      {haddock_workaround_ = (),
+       internalAccessAnalysisRule = Prelude.Nothing}
+instance ToResourceProperties InternalAccessConfigurationProperty where
+  toResourceProperties InternalAccessConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::AccessAnalyzer::Analyzer.InternalAccessConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "InternalAccessAnalysisRule"
+                              Prelude.<$> internalAccessAnalysisRule])}
+instance JSON.ToJSON InternalAccessConfigurationProperty where
+  toJSON InternalAccessConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "InternalAccessAnalysisRule"
+                 Prelude.<$> internalAccessAnalysisRule]))
+instance Property "InternalAccessAnalysisRule" InternalAccessConfigurationProperty where
+  type PropertyType "InternalAccessAnalysisRule" InternalAccessConfigurationProperty = InternalAccessAnalysisRuleProperty
+  set newValue InternalAccessConfigurationProperty {..}
+    = InternalAccessConfigurationProperty
+        {internalAccessAnalysisRule = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/AccessAnalyzer/Analyzer/InternalAccessConfigurationProperty.hs-boot b/gen/Stratosphere/AccessAnalyzer/Analyzer/InternalAccessConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/AccessAnalyzer/Analyzer/InternalAccessConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.AccessAnalyzer.Analyzer.InternalAccessConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data InternalAccessConfigurationProperty :: Prelude.Type
+instance ToResourceProperties InternalAccessConfigurationProperty
+instance Prelude.Eq InternalAccessConfigurationProperty
+instance Prelude.Show InternalAccessConfigurationProperty
+instance JSON.ToJSON InternalAccessConfigurationProperty
diff --git a/gen/Stratosphere/AccessAnalyzer/Analyzer/UnusedAccessConfigurationProperty.hs b/gen/Stratosphere/AccessAnalyzer/Analyzer/UnusedAccessConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/AccessAnalyzer/Analyzer/UnusedAccessConfigurationProperty.hs
@@ -0,0 +1,50 @@
+module Stratosphere.AccessAnalyzer.Analyzer.UnusedAccessConfigurationProperty (
+        module Exports, UnusedAccessConfigurationProperty(..),
+        mkUnusedAccessConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.AccessAnalyzer.Analyzer.AnalysisRuleProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data UnusedAccessConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-accessanalyzer-analyzer-unusedaccessconfiguration.html>
+    UnusedAccessConfigurationProperty {haddock_workaround_ :: (),
+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-accessanalyzer-analyzer-unusedaccessconfiguration.html#cfn-accessanalyzer-analyzer-unusedaccessconfiguration-analysisrule>
+                                       analysisRule :: (Prelude.Maybe AnalysisRuleProperty),
+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-accessanalyzer-analyzer-unusedaccessconfiguration.html#cfn-accessanalyzer-analyzer-unusedaccessconfiguration-unusedaccessage>
+                                       unusedAccessAge :: (Prelude.Maybe (Value Prelude.Integer))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkUnusedAccessConfigurationProperty ::
+  UnusedAccessConfigurationProperty
+mkUnusedAccessConfigurationProperty
+  = UnusedAccessConfigurationProperty
+      {haddock_workaround_ = (), analysisRule = Prelude.Nothing,
+       unusedAccessAge = Prelude.Nothing}
+instance ToResourceProperties UnusedAccessConfigurationProperty where
+  toResourceProperties UnusedAccessConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::AccessAnalyzer::Analyzer.UnusedAccessConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "AnalysisRule" Prelude.<$> analysisRule,
+                            (JSON..=) "UnusedAccessAge" Prelude.<$> unusedAccessAge])}
+instance JSON.ToJSON UnusedAccessConfigurationProperty where
+  toJSON UnusedAccessConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "AnalysisRule" Prelude.<$> analysisRule,
+               (JSON..=) "UnusedAccessAge" Prelude.<$> unusedAccessAge]))
+instance Property "AnalysisRule" UnusedAccessConfigurationProperty where
+  type PropertyType "AnalysisRule" UnusedAccessConfigurationProperty = AnalysisRuleProperty
+  set newValue UnusedAccessConfigurationProperty {..}
+    = UnusedAccessConfigurationProperty
+        {analysisRule = Prelude.pure newValue, ..}
+instance Property "UnusedAccessAge" UnusedAccessConfigurationProperty where
+  type PropertyType "UnusedAccessAge" UnusedAccessConfigurationProperty = Value Prelude.Integer
+  set newValue UnusedAccessConfigurationProperty {..}
+    = UnusedAccessConfigurationProperty
+        {unusedAccessAge = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/AccessAnalyzer/Analyzer/UnusedAccessConfigurationProperty.hs-boot b/gen/Stratosphere/AccessAnalyzer/Analyzer/UnusedAccessConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/AccessAnalyzer/Analyzer/UnusedAccessConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.AccessAnalyzer.Analyzer.UnusedAccessConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data UnusedAccessConfigurationProperty :: Prelude.Type
+instance ToResourceProperties UnusedAccessConfigurationProperty
+instance Prelude.Eq UnusedAccessConfigurationProperty
+instance Prelude.Show UnusedAccessConfigurationProperty
+instance JSON.ToJSON UnusedAccessConfigurationProperty
diff --git a/stratosphere-accessanalyzer.cabal b/stratosphere-accessanalyzer.cabal
new file mode 100644
--- /dev/null
+++ b/stratosphere-accessanalyzer.cabal
@@ -0,0 +1,82 @@
+cabal-version: 1.12
+
+-- This file has been generated from package.yaml by hpack version 0.38.2.
+--
+-- see: https://github.com/sol/hpack
+
+name:           stratosphere-accessanalyzer
+version:        1.0.0
+synopsis:       Stratosphere integration for AWS AccessAnalyzer.
+description:    Integration into stratosphere to generate resources and properties for AWS AccessAnalyzer
+category:       AWS, Cloud, AccessAnalyzer
+stability:      experimental
+homepage:       https://github.com/mbj/stratosphere#readme
+bug-reports:    https://github.com/mbj/stratosphere/issues
+maintainer:     Markus Schirp
+license:        MIT
+license-file:   LICENSE.md
+build-type:     Simple
+
+source-repository head
+  type: git
+  location: https://github.com/mbj/stratosphere
+
+flag development
+  description: Run GHC with development flags
+  manual: True
+  default: False
+
+library
+  exposed-modules:
+      Stratosphere.AccessAnalyzer.Analyzer
+      Stratosphere.AccessAnalyzer.Analyzer.AnalysisRuleCriteriaProperty
+      Stratosphere.AccessAnalyzer.Analyzer.AnalysisRuleProperty
+      Stratosphere.AccessAnalyzer.Analyzer.AnalyzerConfigurationProperty
+      Stratosphere.AccessAnalyzer.Analyzer.ArchiveRuleProperty
+      Stratosphere.AccessAnalyzer.Analyzer.FilterProperty
+      Stratosphere.AccessAnalyzer.Analyzer.InternalAccessAnalysisRuleCriteriaProperty
+      Stratosphere.AccessAnalyzer.Analyzer.InternalAccessAnalysisRuleProperty
+      Stratosphere.AccessAnalyzer.Analyzer.InternalAccessConfigurationProperty
+      Stratosphere.AccessAnalyzer.Analyzer.UnusedAccessConfigurationProperty
+  other-modules:
+      Paths_stratosphere_accessanalyzer
+  hs-source-dirs:
+      gen
+  default-extensions:
+      DataKinds
+      DeriveGeneric
+      DerivingStrategies
+      DerivingVia
+      DuplicateRecordFields
+      FlexibleContexts
+      FlexibleInstances
+      GADTs
+      GeneralizedNewtypeDeriving
+      InstanceSigs
+      LambdaCase
+      MultiParamTypeClasses
+      NoFieldSelectors
+      NoImplicitPrelude
+      NumericUnderscores
+      OverloadedLists
+      OverloadedRecordDot
+      OverloadedStrings
+      PolyKinds
+      RecordWildCards
+      ScopedTypeVariables
+      StandaloneDeriving
+      Strict
+      TemplateHaskell
+      TupleSections
+      TypeApplications
+      TypeFamilies
+  ghc-options: -Wall -Wcompat -Widentities -Wimplicit-prelude -Wincomplete-record-updates -Wincomplete-uni-patterns -Wmissing-local-signatures -Wmissing-signatures -Wmonomorphism-restriction -Wredundant-constraints -fhide-source-paths -funbox-strict-fields -optP-Wno-nonportable-include-path -Wno-unused-imports
+  build-depends:
+      aeson ==2.*
+    , base >=4.8 && <4.22
+    , stratosphere ==1.0.0
+  default-language: Haskell2010
+  if flag(development)
+    ghc-options: -Werror
+  else
+    ghc-options: -Wwarn
