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/BedrockAgentCore/BrowserCustom.hs b/gen/Stratosphere/BedrockAgentCore/BrowserCustom.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/BrowserCustom.hs
@@ -0,0 +1,85 @@
+module Stratosphere.BedrockAgentCore.BrowserCustom (
+        module Exports, BrowserCustom(..), mkBrowserCustom
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.BedrockAgentCore.BrowserCustom.BrowserNetworkConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.BedrockAgentCore.BrowserCustom.RecordingConfigProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data BrowserCustom
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrockagentcore-browsercustom.html>
+    BrowserCustom {haddock_workaround_ :: (),
+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrockagentcore-browsercustom.html#cfn-bedrockagentcore-browsercustom-description>
+                   description :: (Prelude.Maybe (Value Prelude.Text)),
+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrockagentcore-browsercustom.html#cfn-bedrockagentcore-browsercustom-executionrolearn>
+                   executionRoleArn :: (Prelude.Maybe (Value Prelude.Text)),
+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrockagentcore-browsercustom.html#cfn-bedrockagentcore-browsercustom-name>
+                   name :: (Value Prelude.Text),
+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrockagentcore-browsercustom.html#cfn-bedrockagentcore-browsercustom-networkconfiguration>
+                   networkConfiguration :: BrowserNetworkConfigurationProperty,
+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrockagentcore-browsercustom.html#cfn-bedrockagentcore-browsercustom-recordingconfig>
+                   recordingConfig :: (Prelude.Maybe RecordingConfigProperty),
+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrockagentcore-browsercustom.html#cfn-bedrockagentcore-browsercustom-tags>
+                   tags :: (Prelude.Maybe (Prelude.Map Prelude.Text (Value Prelude.Text)))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkBrowserCustom ::
+  Value Prelude.Text
+  -> BrowserNetworkConfigurationProperty -> BrowserCustom
+mkBrowserCustom name networkConfiguration
+  = BrowserCustom
+      {haddock_workaround_ = (), name = name,
+       networkConfiguration = networkConfiguration,
+       description = Prelude.Nothing, executionRoleArn = Prelude.Nothing,
+       recordingConfig = Prelude.Nothing, tags = Prelude.Nothing}
+instance ToResourceProperties BrowserCustom where
+  toResourceProperties BrowserCustom {..}
+    = ResourceProperties
+        {awsType = "AWS::BedrockAgentCore::BrowserCustom",
+         supportsTags = Prelude.True,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["Name" JSON..= name,
+                            "NetworkConfiguration" JSON..= networkConfiguration]
+                           (Prelude.catMaybes
+                              [(JSON..=) "Description" Prelude.<$> description,
+                               (JSON..=) "ExecutionRoleArn" Prelude.<$> executionRoleArn,
+                               (JSON..=) "RecordingConfig" Prelude.<$> recordingConfig,
+                               (JSON..=) "Tags" Prelude.<$> tags]))}
+instance JSON.ToJSON BrowserCustom where
+  toJSON BrowserCustom {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["Name" JSON..= name,
+               "NetworkConfiguration" JSON..= networkConfiguration]
+              (Prelude.catMaybes
+                 [(JSON..=) "Description" Prelude.<$> description,
+                  (JSON..=) "ExecutionRoleArn" Prelude.<$> executionRoleArn,
+                  (JSON..=) "RecordingConfig" Prelude.<$> recordingConfig,
+                  (JSON..=) "Tags" Prelude.<$> tags])))
+instance Property "Description" BrowserCustom where
+  type PropertyType "Description" BrowserCustom = Value Prelude.Text
+  set newValue BrowserCustom {..}
+    = BrowserCustom {description = Prelude.pure newValue, ..}
+instance Property "ExecutionRoleArn" BrowserCustom where
+  type PropertyType "ExecutionRoleArn" BrowserCustom = Value Prelude.Text
+  set newValue BrowserCustom {..}
+    = BrowserCustom {executionRoleArn = Prelude.pure newValue, ..}
+instance Property "Name" BrowserCustom where
+  type PropertyType "Name" BrowserCustom = Value Prelude.Text
+  set newValue BrowserCustom {..}
+    = BrowserCustom {name = newValue, ..}
+instance Property "NetworkConfiguration" BrowserCustom where
+  type PropertyType "NetworkConfiguration" BrowserCustom = BrowserNetworkConfigurationProperty
+  set newValue BrowserCustom {..}
+    = BrowserCustom {networkConfiguration = newValue, ..}
+instance Property "RecordingConfig" BrowserCustom where
+  type PropertyType "RecordingConfig" BrowserCustom = RecordingConfigProperty
+  set newValue BrowserCustom {..}
+    = BrowserCustom {recordingConfig = Prelude.pure newValue, ..}
+instance Property "Tags" BrowserCustom where
+  type PropertyType "Tags" BrowserCustom = Prelude.Map Prelude.Text (Value Prelude.Text)
+  set newValue BrowserCustom {..}
+    = BrowserCustom {tags = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/BedrockAgentCore/BrowserCustom/BrowserNetworkConfigurationProperty.hs b/gen/Stratosphere/BedrockAgentCore/BrowserCustom/BrowserNetworkConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/BrowserCustom/BrowserNetworkConfigurationProperty.hs
@@ -0,0 +1,49 @@
+module Stratosphere.BedrockAgentCore.BrowserCustom.BrowserNetworkConfigurationProperty (
+        module Exports, BrowserNetworkConfigurationProperty(..),
+        mkBrowserNetworkConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.BedrockAgentCore.BrowserCustom.VpcConfigProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data BrowserNetworkConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-browsercustom-browsernetworkconfiguration.html>
+    BrowserNetworkConfigurationProperty {haddock_workaround_ :: (),
+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-browsercustom-browsernetworkconfiguration.html#cfn-bedrockagentcore-browsercustom-browsernetworkconfiguration-networkmode>
+                                         networkMode :: (Value Prelude.Text),
+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-browsercustom-browsernetworkconfiguration.html#cfn-bedrockagentcore-browsercustom-browsernetworkconfiguration-vpcconfig>
+                                         vpcConfig :: (Prelude.Maybe VpcConfigProperty)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkBrowserNetworkConfigurationProperty ::
+  Value Prelude.Text -> BrowserNetworkConfigurationProperty
+mkBrowserNetworkConfigurationProperty networkMode
+  = BrowserNetworkConfigurationProperty
+      {haddock_workaround_ = (), networkMode = networkMode,
+       vpcConfig = Prelude.Nothing}
+instance ToResourceProperties BrowserNetworkConfigurationProperty where
+  toResourceProperties BrowserNetworkConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::BedrockAgentCore::BrowserCustom.BrowserNetworkConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["NetworkMode" JSON..= networkMode]
+                           (Prelude.catMaybes [(JSON..=) "VpcConfig" Prelude.<$> vpcConfig]))}
+instance JSON.ToJSON BrowserNetworkConfigurationProperty where
+  toJSON BrowserNetworkConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["NetworkMode" JSON..= networkMode]
+              (Prelude.catMaybes [(JSON..=) "VpcConfig" Prelude.<$> vpcConfig])))
+instance Property "NetworkMode" BrowserNetworkConfigurationProperty where
+  type PropertyType "NetworkMode" BrowserNetworkConfigurationProperty = Value Prelude.Text
+  set newValue BrowserNetworkConfigurationProperty {..}
+    = BrowserNetworkConfigurationProperty {networkMode = newValue, ..}
+instance Property "VpcConfig" BrowserNetworkConfigurationProperty where
+  type PropertyType "VpcConfig" BrowserNetworkConfigurationProperty = VpcConfigProperty
+  set newValue BrowserNetworkConfigurationProperty {..}
+    = BrowserNetworkConfigurationProperty
+        {vpcConfig = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/BedrockAgentCore/BrowserCustom/BrowserNetworkConfigurationProperty.hs-boot b/gen/Stratosphere/BedrockAgentCore/BrowserCustom/BrowserNetworkConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/BrowserCustom/BrowserNetworkConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.BedrockAgentCore.BrowserCustom.BrowserNetworkConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data BrowserNetworkConfigurationProperty :: Prelude.Type
+instance ToResourceProperties BrowserNetworkConfigurationProperty
+instance Prelude.Eq BrowserNetworkConfigurationProperty
+instance Prelude.Show BrowserNetworkConfigurationProperty
+instance JSON.ToJSON BrowserNetworkConfigurationProperty
diff --git a/gen/Stratosphere/BedrockAgentCore/BrowserCustom/RecordingConfigProperty.hs b/gen/Stratosphere/BedrockAgentCore/BrowserCustom/RecordingConfigProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/BrowserCustom/RecordingConfigProperty.hs
@@ -0,0 +1,47 @@
+module Stratosphere.BedrockAgentCore.BrowserCustom.RecordingConfigProperty (
+        module Exports, RecordingConfigProperty(..),
+        mkRecordingConfigProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.BedrockAgentCore.BrowserCustom.S3LocationProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data RecordingConfigProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-browsercustom-recordingconfig.html>
+    RecordingConfigProperty {haddock_workaround_ :: (),
+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-browsercustom-recordingconfig.html#cfn-bedrockagentcore-browsercustom-recordingconfig-enabled>
+                             enabled :: (Prelude.Maybe (Value Prelude.Bool)),
+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-browsercustom-recordingconfig.html#cfn-bedrockagentcore-browsercustom-recordingconfig-s3location>
+                             s3Location :: (Prelude.Maybe S3LocationProperty)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkRecordingConfigProperty :: RecordingConfigProperty
+mkRecordingConfigProperty
+  = RecordingConfigProperty
+      {haddock_workaround_ = (), enabled = Prelude.Nothing,
+       s3Location = Prelude.Nothing}
+instance ToResourceProperties RecordingConfigProperty where
+  toResourceProperties RecordingConfigProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::BedrockAgentCore::BrowserCustom.RecordingConfig",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "Enabled" Prelude.<$> enabled,
+                            (JSON..=) "S3Location" Prelude.<$> s3Location])}
+instance JSON.ToJSON RecordingConfigProperty where
+  toJSON RecordingConfigProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "Enabled" Prelude.<$> enabled,
+               (JSON..=) "S3Location" Prelude.<$> s3Location]))
+instance Property "Enabled" RecordingConfigProperty where
+  type PropertyType "Enabled" RecordingConfigProperty = Value Prelude.Bool
+  set newValue RecordingConfigProperty {..}
+    = RecordingConfigProperty {enabled = Prelude.pure newValue, ..}
+instance Property "S3Location" RecordingConfigProperty where
+  type PropertyType "S3Location" RecordingConfigProperty = S3LocationProperty
+  set newValue RecordingConfigProperty {..}
+    = RecordingConfigProperty {s3Location = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/BedrockAgentCore/BrowserCustom/RecordingConfigProperty.hs-boot b/gen/Stratosphere/BedrockAgentCore/BrowserCustom/RecordingConfigProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/BrowserCustom/RecordingConfigProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.BedrockAgentCore.BrowserCustom.RecordingConfigProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data RecordingConfigProperty :: Prelude.Type
+instance ToResourceProperties RecordingConfigProperty
+instance Prelude.Eq RecordingConfigProperty
+instance Prelude.Show RecordingConfigProperty
+instance JSON.ToJSON RecordingConfigProperty
diff --git a/gen/Stratosphere/BedrockAgentCore/BrowserCustom/S3LocationProperty.hs b/gen/Stratosphere/BedrockAgentCore/BrowserCustom/S3LocationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/BrowserCustom/S3LocationProperty.hs
@@ -0,0 +1,38 @@
+module Stratosphere.BedrockAgentCore.BrowserCustom.S3LocationProperty (
+        S3LocationProperty(..), mkS3LocationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data S3LocationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-browsercustom-s3location.html>
+    S3LocationProperty {haddock_workaround_ :: (),
+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-browsercustom-s3location.html#cfn-bedrockagentcore-browsercustom-s3location-bucket>
+                        bucket :: (Value Prelude.Text),
+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-browsercustom-s3location.html#cfn-bedrockagentcore-browsercustom-s3location-prefix>
+                        prefix :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkS3LocationProperty ::
+  Value Prelude.Text -> Value Prelude.Text -> S3LocationProperty
+mkS3LocationProperty bucket prefix
+  = S3LocationProperty
+      {haddock_workaround_ = (), bucket = bucket, prefix = prefix}
+instance ToResourceProperties S3LocationProperty where
+  toResourceProperties S3LocationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::BedrockAgentCore::BrowserCustom.S3Location",
+         supportsTags = Prelude.False,
+         properties = ["Bucket" JSON..= bucket, "Prefix" JSON..= prefix]}
+instance JSON.ToJSON S3LocationProperty where
+  toJSON S3LocationProperty {..}
+    = JSON.object ["Bucket" JSON..= bucket, "Prefix" JSON..= prefix]
+instance Property "Bucket" S3LocationProperty where
+  type PropertyType "Bucket" S3LocationProperty = Value Prelude.Text
+  set newValue S3LocationProperty {..}
+    = S3LocationProperty {bucket = newValue, ..}
+instance Property "Prefix" S3LocationProperty where
+  type PropertyType "Prefix" S3LocationProperty = Value Prelude.Text
+  set newValue S3LocationProperty {..}
+    = S3LocationProperty {prefix = newValue, ..}
diff --git a/gen/Stratosphere/BedrockAgentCore/BrowserCustom/S3LocationProperty.hs-boot b/gen/Stratosphere/BedrockAgentCore/BrowserCustom/S3LocationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/BrowserCustom/S3LocationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.BedrockAgentCore.BrowserCustom.S3LocationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data S3LocationProperty :: Prelude.Type
+instance ToResourceProperties S3LocationProperty
+instance Prelude.Eq S3LocationProperty
+instance Prelude.Show S3LocationProperty
+instance JSON.ToJSON S3LocationProperty
diff --git a/gen/Stratosphere/BedrockAgentCore/BrowserCustom/VpcConfigProperty.hs b/gen/Stratosphere/BedrockAgentCore/BrowserCustom/VpcConfigProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/BrowserCustom/VpcConfigProperty.hs
@@ -0,0 +1,43 @@
+module Stratosphere.BedrockAgentCore.BrowserCustom.VpcConfigProperty (
+        VpcConfigProperty(..), mkVpcConfigProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data VpcConfigProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-browsercustom-vpcconfig.html>
+    VpcConfigProperty {haddock_workaround_ :: (),
+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-browsercustom-vpcconfig.html#cfn-bedrockagentcore-browsercustom-vpcconfig-securitygroups>
+                       securityGroups :: (ValueList Prelude.Text),
+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-browsercustom-vpcconfig.html#cfn-bedrockagentcore-browsercustom-vpcconfig-subnets>
+                       subnets :: (ValueList Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkVpcConfigProperty ::
+  ValueList Prelude.Text
+  -> ValueList Prelude.Text -> VpcConfigProperty
+mkVpcConfigProperty securityGroups subnets
+  = VpcConfigProperty
+      {haddock_workaround_ = (), securityGroups = securityGroups,
+       subnets = subnets}
+instance ToResourceProperties VpcConfigProperty where
+  toResourceProperties VpcConfigProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::BedrockAgentCore::BrowserCustom.VpcConfig",
+         supportsTags = Prelude.False,
+         properties = ["SecurityGroups" JSON..= securityGroups,
+                       "Subnets" JSON..= subnets]}
+instance JSON.ToJSON VpcConfigProperty where
+  toJSON VpcConfigProperty {..}
+    = JSON.object
+        ["SecurityGroups" JSON..= securityGroups,
+         "Subnets" JSON..= subnets]
+instance Property "SecurityGroups" VpcConfigProperty where
+  type PropertyType "SecurityGroups" VpcConfigProperty = ValueList Prelude.Text
+  set newValue VpcConfigProperty {..}
+    = VpcConfigProperty {securityGroups = newValue, ..}
+instance Property "Subnets" VpcConfigProperty where
+  type PropertyType "Subnets" VpcConfigProperty = ValueList Prelude.Text
+  set newValue VpcConfigProperty {..}
+    = VpcConfigProperty {subnets = newValue, ..}
diff --git a/gen/Stratosphere/BedrockAgentCore/BrowserCustom/VpcConfigProperty.hs-boot b/gen/Stratosphere/BedrockAgentCore/BrowserCustom/VpcConfigProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/BrowserCustom/VpcConfigProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.BedrockAgentCore.BrowserCustom.VpcConfigProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data VpcConfigProperty :: Prelude.Type
+instance ToResourceProperties VpcConfigProperty
+instance Prelude.Eq VpcConfigProperty
+instance Prelude.Show VpcConfigProperty
+instance JSON.ToJSON VpcConfigProperty
diff --git a/gen/Stratosphere/BedrockAgentCore/CodeInterpreterCustom.hs b/gen/Stratosphere/BedrockAgentCore/CodeInterpreterCustom.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/CodeInterpreterCustom.hs
@@ -0,0 +1,78 @@
+module Stratosphere.BedrockAgentCore.CodeInterpreterCustom (
+        module Exports, CodeInterpreterCustom(..), mkCodeInterpreterCustom
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.BedrockAgentCore.CodeInterpreterCustom.CodeInterpreterNetworkConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data CodeInterpreterCustom
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrockagentcore-codeinterpretercustom.html>
+    CodeInterpreterCustom {haddock_workaround_ :: (),
+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrockagentcore-codeinterpretercustom.html#cfn-bedrockagentcore-codeinterpretercustom-description>
+                           description :: (Prelude.Maybe (Value Prelude.Text)),
+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrockagentcore-codeinterpretercustom.html#cfn-bedrockagentcore-codeinterpretercustom-executionrolearn>
+                           executionRoleArn :: (Prelude.Maybe (Value Prelude.Text)),
+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrockagentcore-codeinterpretercustom.html#cfn-bedrockagentcore-codeinterpretercustom-name>
+                           name :: (Value Prelude.Text),
+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrockagentcore-codeinterpretercustom.html#cfn-bedrockagentcore-codeinterpretercustom-networkconfiguration>
+                           networkConfiguration :: CodeInterpreterNetworkConfigurationProperty,
+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrockagentcore-codeinterpretercustom.html#cfn-bedrockagentcore-codeinterpretercustom-tags>
+                           tags :: (Prelude.Maybe (Prelude.Map Prelude.Text (Value Prelude.Text)))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkCodeInterpreterCustom ::
+  Value Prelude.Text
+  -> CodeInterpreterNetworkConfigurationProperty
+     -> CodeInterpreterCustom
+mkCodeInterpreterCustom name networkConfiguration
+  = CodeInterpreterCustom
+      {haddock_workaround_ = (), name = name,
+       networkConfiguration = networkConfiguration,
+       description = Prelude.Nothing, executionRoleArn = Prelude.Nothing,
+       tags = Prelude.Nothing}
+instance ToResourceProperties CodeInterpreterCustom where
+  toResourceProperties CodeInterpreterCustom {..}
+    = ResourceProperties
+        {awsType = "AWS::BedrockAgentCore::CodeInterpreterCustom",
+         supportsTags = Prelude.True,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["Name" JSON..= name,
+                            "NetworkConfiguration" JSON..= networkConfiguration]
+                           (Prelude.catMaybes
+                              [(JSON..=) "Description" Prelude.<$> description,
+                               (JSON..=) "ExecutionRoleArn" Prelude.<$> executionRoleArn,
+                               (JSON..=) "Tags" Prelude.<$> tags]))}
+instance JSON.ToJSON CodeInterpreterCustom where
+  toJSON CodeInterpreterCustom {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["Name" JSON..= name,
+               "NetworkConfiguration" JSON..= networkConfiguration]
+              (Prelude.catMaybes
+                 [(JSON..=) "Description" Prelude.<$> description,
+                  (JSON..=) "ExecutionRoleArn" Prelude.<$> executionRoleArn,
+                  (JSON..=) "Tags" Prelude.<$> tags])))
+instance Property "Description" CodeInterpreterCustom where
+  type PropertyType "Description" CodeInterpreterCustom = Value Prelude.Text
+  set newValue CodeInterpreterCustom {..}
+    = CodeInterpreterCustom {description = Prelude.pure newValue, ..}
+instance Property "ExecutionRoleArn" CodeInterpreterCustom where
+  type PropertyType "ExecutionRoleArn" CodeInterpreterCustom = Value Prelude.Text
+  set newValue CodeInterpreterCustom {..}
+    = CodeInterpreterCustom
+        {executionRoleArn = Prelude.pure newValue, ..}
+instance Property "Name" CodeInterpreterCustom where
+  type PropertyType "Name" CodeInterpreterCustom = Value Prelude.Text
+  set newValue CodeInterpreterCustom {..}
+    = CodeInterpreterCustom {name = newValue, ..}
+instance Property "NetworkConfiguration" CodeInterpreterCustom where
+  type PropertyType "NetworkConfiguration" CodeInterpreterCustom = CodeInterpreterNetworkConfigurationProperty
+  set newValue CodeInterpreterCustom {..}
+    = CodeInterpreterCustom {networkConfiguration = newValue, ..}
+instance Property "Tags" CodeInterpreterCustom where
+  type PropertyType "Tags" CodeInterpreterCustom = Prelude.Map Prelude.Text (Value Prelude.Text)
+  set newValue CodeInterpreterCustom {..}
+    = CodeInterpreterCustom {tags = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/BedrockAgentCore/CodeInterpreterCustom/CodeInterpreterNetworkConfigurationProperty.hs b/gen/Stratosphere/BedrockAgentCore/CodeInterpreterCustom/CodeInterpreterNetworkConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/CodeInterpreterCustom/CodeInterpreterNetworkConfigurationProperty.hs
@@ -0,0 +1,51 @@
+module Stratosphere.BedrockAgentCore.CodeInterpreterCustom.CodeInterpreterNetworkConfigurationProperty (
+        module Exports, CodeInterpreterNetworkConfigurationProperty(..),
+        mkCodeInterpreterNetworkConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.BedrockAgentCore.CodeInterpreterCustom.VpcConfigProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data CodeInterpreterNetworkConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-codeinterpretercustom-codeinterpreternetworkconfiguration.html>
+    CodeInterpreterNetworkConfigurationProperty {haddock_workaround_ :: (),
+                                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-codeinterpretercustom-codeinterpreternetworkconfiguration.html#cfn-bedrockagentcore-codeinterpretercustom-codeinterpreternetworkconfiguration-networkmode>
+                                                 networkMode :: (Value Prelude.Text),
+                                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-codeinterpretercustom-codeinterpreternetworkconfiguration.html#cfn-bedrockagentcore-codeinterpretercustom-codeinterpreternetworkconfiguration-vpcconfig>
+                                                 vpcConfig :: (Prelude.Maybe VpcConfigProperty)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkCodeInterpreterNetworkConfigurationProperty ::
+  Value Prelude.Text -> CodeInterpreterNetworkConfigurationProperty
+mkCodeInterpreterNetworkConfigurationProperty networkMode
+  = CodeInterpreterNetworkConfigurationProperty
+      {haddock_workaround_ = (), networkMode = networkMode,
+       vpcConfig = Prelude.Nothing}
+instance ToResourceProperties CodeInterpreterNetworkConfigurationProperty where
+  toResourceProperties
+    CodeInterpreterNetworkConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::BedrockAgentCore::CodeInterpreterCustom.CodeInterpreterNetworkConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["NetworkMode" JSON..= networkMode]
+                           (Prelude.catMaybes [(JSON..=) "VpcConfig" Prelude.<$> vpcConfig]))}
+instance JSON.ToJSON CodeInterpreterNetworkConfigurationProperty where
+  toJSON CodeInterpreterNetworkConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["NetworkMode" JSON..= networkMode]
+              (Prelude.catMaybes [(JSON..=) "VpcConfig" Prelude.<$> vpcConfig])))
+instance Property "NetworkMode" CodeInterpreterNetworkConfigurationProperty where
+  type PropertyType "NetworkMode" CodeInterpreterNetworkConfigurationProperty = Value Prelude.Text
+  set newValue CodeInterpreterNetworkConfigurationProperty {..}
+    = CodeInterpreterNetworkConfigurationProperty
+        {networkMode = newValue, ..}
+instance Property "VpcConfig" CodeInterpreterNetworkConfigurationProperty where
+  type PropertyType "VpcConfig" CodeInterpreterNetworkConfigurationProperty = VpcConfigProperty
+  set newValue CodeInterpreterNetworkConfigurationProperty {..}
+    = CodeInterpreterNetworkConfigurationProperty
+        {vpcConfig = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/BedrockAgentCore/CodeInterpreterCustom/CodeInterpreterNetworkConfigurationProperty.hs-boot b/gen/Stratosphere/BedrockAgentCore/CodeInterpreterCustom/CodeInterpreterNetworkConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/CodeInterpreterCustom/CodeInterpreterNetworkConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.BedrockAgentCore.CodeInterpreterCustom.CodeInterpreterNetworkConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data CodeInterpreterNetworkConfigurationProperty :: Prelude.Type
+instance ToResourceProperties CodeInterpreterNetworkConfigurationProperty
+instance Prelude.Eq CodeInterpreterNetworkConfigurationProperty
+instance Prelude.Show CodeInterpreterNetworkConfigurationProperty
+instance JSON.ToJSON CodeInterpreterNetworkConfigurationProperty
diff --git a/gen/Stratosphere/BedrockAgentCore/CodeInterpreterCustom/VpcConfigProperty.hs b/gen/Stratosphere/BedrockAgentCore/CodeInterpreterCustom/VpcConfigProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/CodeInterpreterCustom/VpcConfigProperty.hs
@@ -0,0 +1,43 @@
+module Stratosphere.BedrockAgentCore.CodeInterpreterCustom.VpcConfigProperty (
+        VpcConfigProperty(..), mkVpcConfigProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data VpcConfigProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-codeinterpretercustom-vpcconfig.html>
+    VpcConfigProperty {haddock_workaround_ :: (),
+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-codeinterpretercustom-vpcconfig.html#cfn-bedrockagentcore-codeinterpretercustom-vpcconfig-securitygroups>
+                       securityGroups :: (ValueList Prelude.Text),
+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-codeinterpretercustom-vpcconfig.html#cfn-bedrockagentcore-codeinterpretercustom-vpcconfig-subnets>
+                       subnets :: (ValueList Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkVpcConfigProperty ::
+  ValueList Prelude.Text
+  -> ValueList Prelude.Text -> VpcConfigProperty
+mkVpcConfigProperty securityGroups subnets
+  = VpcConfigProperty
+      {haddock_workaround_ = (), securityGroups = securityGroups,
+       subnets = subnets}
+instance ToResourceProperties VpcConfigProperty where
+  toResourceProperties VpcConfigProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::BedrockAgentCore::CodeInterpreterCustom.VpcConfig",
+         supportsTags = Prelude.False,
+         properties = ["SecurityGroups" JSON..= securityGroups,
+                       "Subnets" JSON..= subnets]}
+instance JSON.ToJSON VpcConfigProperty where
+  toJSON VpcConfigProperty {..}
+    = JSON.object
+        ["SecurityGroups" JSON..= securityGroups,
+         "Subnets" JSON..= subnets]
+instance Property "SecurityGroups" VpcConfigProperty where
+  type PropertyType "SecurityGroups" VpcConfigProperty = ValueList Prelude.Text
+  set newValue VpcConfigProperty {..}
+    = VpcConfigProperty {securityGroups = newValue, ..}
+instance Property "Subnets" VpcConfigProperty where
+  type PropertyType "Subnets" VpcConfigProperty = ValueList Prelude.Text
+  set newValue VpcConfigProperty {..}
+    = VpcConfigProperty {subnets = newValue, ..}
diff --git a/gen/Stratosphere/BedrockAgentCore/CodeInterpreterCustom/VpcConfigProperty.hs-boot b/gen/Stratosphere/BedrockAgentCore/CodeInterpreterCustom/VpcConfigProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/CodeInterpreterCustom/VpcConfigProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.BedrockAgentCore.CodeInterpreterCustom.VpcConfigProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data VpcConfigProperty :: Prelude.Type
+instance ToResourceProperties VpcConfigProperty
+instance Prelude.Eq VpcConfigProperty
+instance Prelude.Show VpcConfigProperty
+instance JSON.ToJSON VpcConfigProperty
diff --git a/gen/Stratosphere/BedrockAgentCore/Gateway.hs b/gen/Stratosphere/BedrockAgentCore/Gateway.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/Gateway.hs
@@ -0,0 +1,116 @@
+module Stratosphere.BedrockAgentCore.Gateway (
+        module Exports, Gateway(..), mkGateway
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.BedrockAgentCore.Gateway.AuthorizerConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.BedrockAgentCore.Gateway.GatewayProtocolConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data Gateway
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrockagentcore-gateway.html>
+    Gateway {haddock_workaround_ :: (),
+             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrockagentcore-gateway.html#cfn-bedrockagentcore-gateway-authorizerconfiguration>
+             authorizerConfiguration :: (Prelude.Maybe AuthorizerConfigurationProperty),
+             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrockagentcore-gateway.html#cfn-bedrockagentcore-gateway-authorizertype>
+             authorizerType :: (Value Prelude.Text),
+             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrockagentcore-gateway.html#cfn-bedrockagentcore-gateway-description>
+             description :: (Prelude.Maybe (Value Prelude.Text)),
+             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrockagentcore-gateway.html#cfn-bedrockagentcore-gateway-exceptionlevel>
+             exceptionLevel :: (Prelude.Maybe (Value Prelude.Text)),
+             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrockagentcore-gateway.html#cfn-bedrockagentcore-gateway-kmskeyarn>
+             kmsKeyArn :: (Prelude.Maybe (Value Prelude.Text)),
+             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrockagentcore-gateway.html#cfn-bedrockagentcore-gateway-name>
+             name :: (Value Prelude.Text),
+             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrockagentcore-gateway.html#cfn-bedrockagentcore-gateway-protocolconfiguration>
+             protocolConfiguration :: (Prelude.Maybe GatewayProtocolConfigurationProperty),
+             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrockagentcore-gateway.html#cfn-bedrockagentcore-gateway-protocoltype>
+             protocolType :: (Value Prelude.Text),
+             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrockagentcore-gateway.html#cfn-bedrockagentcore-gateway-rolearn>
+             roleArn :: (Value Prelude.Text),
+             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrockagentcore-gateway.html#cfn-bedrockagentcore-gateway-tags>
+             tags :: (Prelude.Maybe (Prelude.Map Prelude.Text (Value Prelude.Text)))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkGateway ::
+  Value Prelude.Text
+  -> Value Prelude.Text
+     -> Value Prelude.Text -> Value Prelude.Text -> Gateway
+mkGateway authorizerType name protocolType roleArn
+  = Gateway
+      {haddock_workaround_ = (), authorizerType = authorizerType,
+       name = name, protocolType = protocolType, roleArn = roleArn,
+       authorizerConfiguration = Prelude.Nothing,
+       description = Prelude.Nothing, exceptionLevel = Prelude.Nothing,
+       kmsKeyArn = Prelude.Nothing,
+       protocolConfiguration = Prelude.Nothing, tags = Prelude.Nothing}
+instance ToResourceProperties Gateway where
+  toResourceProperties Gateway {..}
+    = ResourceProperties
+        {awsType = "AWS::BedrockAgentCore::Gateway",
+         supportsTags = Prelude.True,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["AuthorizerType" JSON..= authorizerType, "Name" JSON..= name,
+                            "ProtocolType" JSON..= protocolType, "RoleArn" JSON..= roleArn]
+                           (Prelude.catMaybes
+                              [(JSON..=) "AuthorizerConfiguration"
+                                 Prelude.<$> authorizerConfiguration,
+                               (JSON..=) "Description" Prelude.<$> description,
+                               (JSON..=) "ExceptionLevel" Prelude.<$> exceptionLevel,
+                               (JSON..=) "KmsKeyArn" Prelude.<$> kmsKeyArn,
+                               (JSON..=) "ProtocolConfiguration"
+                                 Prelude.<$> protocolConfiguration,
+                               (JSON..=) "Tags" Prelude.<$> tags]))}
+instance JSON.ToJSON Gateway where
+  toJSON Gateway {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["AuthorizerType" JSON..= authorizerType, "Name" JSON..= name,
+               "ProtocolType" JSON..= protocolType, "RoleArn" JSON..= roleArn]
+              (Prelude.catMaybes
+                 [(JSON..=) "AuthorizerConfiguration"
+                    Prelude.<$> authorizerConfiguration,
+                  (JSON..=) "Description" Prelude.<$> description,
+                  (JSON..=) "ExceptionLevel" Prelude.<$> exceptionLevel,
+                  (JSON..=) "KmsKeyArn" Prelude.<$> kmsKeyArn,
+                  (JSON..=) "ProtocolConfiguration"
+                    Prelude.<$> protocolConfiguration,
+                  (JSON..=) "Tags" Prelude.<$> tags])))
+instance Property "AuthorizerConfiguration" Gateway where
+  type PropertyType "AuthorizerConfiguration" Gateway = AuthorizerConfigurationProperty
+  set newValue Gateway {..}
+    = Gateway {authorizerConfiguration = Prelude.pure newValue, ..}
+instance Property "AuthorizerType" Gateway where
+  type PropertyType "AuthorizerType" Gateway = Value Prelude.Text
+  set newValue Gateway {..} = Gateway {authorizerType = newValue, ..}
+instance Property "Description" Gateway where
+  type PropertyType "Description" Gateway = Value Prelude.Text
+  set newValue Gateway {..}
+    = Gateway {description = Prelude.pure newValue, ..}
+instance Property "ExceptionLevel" Gateway where
+  type PropertyType "ExceptionLevel" Gateway = Value Prelude.Text
+  set newValue Gateway {..}
+    = Gateway {exceptionLevel = Prelude.pure newValue, ..}
+instance Property "KmsKeyArn" Gateway where
+  type PropertyType "KmsKeyArn" Gateway = Value Prelude.Text
+  set newValue Gateway {..}
+    = Gateway {kmsKeyArn = Prelude.pure newValue, ..}
+instance Property "Name" Gateway where
+  type PropertyType "Name" Gateway = Value Prelude.Text
+  set newValue Gateway {..} = Gateway {name = newValue, ..}
+instance Property "ProtocolConfiguration" Gateway where
+  type PropertyType "ProtocolConfiguration" Gateway = GatewayProtocolConfigurationProperty
+  set newValue Gateway {..}
+    = Gateway {protocolConfiguration = Prelude.pure newValue, ..}
+instance Property "ProtocolType" Gateway where
+  type PropertyType "ProtocolType" Gateway = Value Prelude.Text
+  set newValue Gateway {..} = Gateway {protocolType = newValue, ..}
+instance Property "RoleArn" Gateway where
+  type PropertyType "RoleArn" Gateway = Value Prelude.Text
+  set newValue Gateway {..} = Gateway {roleArn = newValue, ..}
+instance Property "Tags" Gateway where
+  type PropertyType "Tags" Gateway = Prelude.Map Prelude.Text (Value Prelude.Text)
+  set newValue Gateway {..}
+    = Gateway {tags = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/BedrockAgentCore/Gateway/AuthorizerConfigurationProperty.hs b/gen/Stratosphere/BedrockAgentCore/Gateway/AuthorizerConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/Gateway/AuthorizerConfigurationProperty.hs
@@ -0,0 +1,36 @@
+module Stratosphere.BedrockAgentCore.Gateway.AuthorizerConfigurationProperty (
+        module Exports, AuthorizerConfigurationProperty(..),
+        mkAuthorizerConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.BedrockAgentCore.Gateway.CustomJWTAuthorizerConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+data AuthorizerConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-gateway-authorizerconfiguration.html>
+    AuthorizerConfigurationProperty {haddock_workaround_ :: (),
+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-gateway-authorizerconfiguration.html#cfn-bedrockagentcore-gateway-authorizerconfiguration-customjwtauthorizer>
+                                     customJWTAuthorizer :: CustomJWTAuthorizerConfigurationProperty}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkAuthorizerConfigurationProperty ::
+  CustomJWTAuthorizerConfigurationProperty
+  -> AuthorizerConfigurationProperty
+mkAuthorizerConfigurationProperty customJWTAuthorizer
+  = AuthorizerConfigurationProperty
+      {haddock_workaround_ = (),
+       customJWTAuthorizer = customJWTAuthorizer}
+instance ToResourceProperties AuthorizerConfigurationProperty where
+  toResourceProperties AuthorizerConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::BedrockAgentCore::Gateway.AuthorizerConfiguration",
+         supportsTags = Prelude.False,
+         properties = ["CustomJWTAuthorizer" JSON..= customJWTAuthorizer]}
+instance JSON.ToJSON AuthorizerConfigurationProperty where
+  toJSON AuthorizerConfigurationProperty {..}
+    = JSON.object ["CustomJWTAuthorizer" JSON..= customJWTAuthorizer]
+instance Property "CustomJWTAuthorizer" AuthorizerConfigurationProperty where
+  type PropertyType "CustomJWTAuthorizer" AuthorizerConfigurationProperty = CustomJWTAuthorizerConfigurationProperty
+  set newValue AuthorizerConfigurationProperty {..}
+    = AuthorizerConfigurationProperty
+        {customJWTAuthorizer = newValue, ..}
diff --git a/gen/Stratosphere/BedrockAgentCore/Gateway/AuthorizerConfigurationProperty.hs-boot b/gen/Stratosphere/BedrockAgentCore/Gateway/AuthorizerConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/Gateway/AuthorizerConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.BedrockAgentCore.Gateway.AuthorizerConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data AuthorizerConfigurationProperty :: Prelude.Type
+instance ToResourceProperties AuthorizerConfigurationProperty
+instance Prelude.Eq AuthorizerConfigurationProperty
+instance Prelude.Show AuthorizerConfigurationProperty
+instance JSON.ToJSON AuthorizerConfigurationProperty
diff --git a/gen/Stratosphere/BedrockAgentCore/Gateway/CustomJWTAuthorizerConfigurationProperty.hs b/gen/Stratosphere/BedrockAgentCore/Gateway/CustomJWTAuthorizerConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/Gateway/CustomJWTAuthorizerConfigurationProperty.hs
@@ -0,0 +1,61 @@
+module Stratosphere.BedrockAgentCore.Gateway.CustomJWTAuthorizerConfigurationProperty (
+        CustomJWTAuthorizerConfigurationProperty(..),
+        mkCustomJWTAuthorizerConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data CustomJWTAuthorizerConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-gateway-customjwtauthorizerconfiguration.html>
+    CustomJWTAuthorizerConfigurationProperty {haddock_workaround_ :: (),
+                                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-gateway-customjwtauthorizerconfiguration.html#cfn-bedrockagentcore-gateway-customjwtauthorizerconfiguration-allowedaudience>
+                                              allowedAudience :: (Prelude.Maybe (ValueList Prelude.Text)),
+                                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-gateway-customjwtauthorizerconfiguration.html#cfn-bedrockagentcore-gateway-customjwtauthorizerconfiguration-allowedclients>
+                                              allowedClients :: (Prelude.Maybe (ValueList Prelude.Text)),
+                                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-gateway-customjwtauthorizerconfiguration.html#cfn-bedrockagentcore-gateway-customjwtauthorizerconfiguration-discoveryurl>
+                                              discoveryUrl :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkCustomJWTAuthorizerConfigurationProperty ::
+  Value Prelude.Text -> CustomJWTAuthorizerConfigurationProperty
+mkCustomJWTAuthorizerConfigurationProperty discoveryUrl
+  = CustomJWTAuthorizerConfigurationProperty
+      {haddock_workaround_ = (), discoveryUrl = discoveryUrl,
+       allowedAudience = Prelude.Nothing,
+       allowedClients = Prelude.Nothing}
+instance ToResourceProperties CustomJWTAuthorizerConfigurationProperty where
+  toResourceProperties CustomJWTAuthorizerConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::BedrockAgentCore::Gateway.CustomJWTAuthorizerConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["DiscoveryUrl" JSON..= discoveryUrl]
+                           (Prelude.catMaybes
+                              [(JSON..=) "AllowedAudience" Prelude.<$> allowedAudience,
+                               (JSON..=) "AllowedClients" Prelude.<$> allowedClients]))}
+instance JSON.ToJSON CustomJWTAuthorizerConfigurationProperty where
+  toJSON CustomJWTAuthorizerConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["DiscoveryUrl" JSON..= discoveryUrl]
+              (Prelude.catMaybes
+                 [(JSON..=) "AllowedAudience" Prelude.<$> allowedAudience,
+                  (JSON..=) "AllowedClients" Prelude.<$> allowedClients])))
+instance Property "AllowedAudience" CustomJWTAuthorizerConfigurationProperty where
+  type PropertyType "AllowedAudience" CustomJWTAuthorizerConfigurationProperty = ValueList Prelude.Text
+  set newValue CustomJWTAuthorizerConfigurationProperty {..}
+    = CustomJWTAuthorizerConfigurationProperty
+        {allowedAudience = Prelude.pure newValue, ..}
+instance Property "AllowedClients" CustomJWTAuthorizerConfigurationProperty where
+  type PropertyType "AllowedClients" CustomJWTAuthorizerConfigurationProperty = ValueList Prelude.Text
+  set newValue CustomJWTAuthorizerConfigurationProperty {..}
+    = CustomJWTAuthorizerConfigurationProperty
+        {allowedClients = Prelude.pure newValue, ..}
+instance Property "DiscoveryUrl" CustomJWTAuthorizerConfigurationProperty where
+  type PropertyType "DiscoveryUrl" CustomJWTAuthorizerConfigurationProperty = Value Prelude.Text
+  set newValue CustomJWTAuthorizerConfigurationProperty {..}
+    = CustomJWTAuthorizerConfigurationProperty
+        {discoveryUrl = newValue, ..}
diff --git a/gen/Stratosphere/BedrockAgentCore/Gateway/CustomJWTAuthorizerConfigurationProperty.hs-boot b/gen/Stratosphere/BedrockAgentCore/Gateway/CustomJWTAuthorizerConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/Gateway/CustomJWTAuthorizerConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.BedrockAgentCore.Gateway.CustomJWTAuthorizerConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data CustomJWTAuthorizerConfigurationProperty :: Prelude.Type
+instance ToResourceProperties CustomJWTAuthorizerConfigurationProperty
+instance Prelude.Eq CustomJWTAuthorizerConfigurationProperty
+instance Prelude.Show CustomJWTAuthorizerConfigurationProperty
+instance JSON.ToJSON CustomJWTAuthorizerConfigurationProperty
diff --git a/gen/Stratosphere/BedrockAgentCore/Gateway/GatewayProtocolConfigurationProperty.hs b/gen/Stratosphere/BedrockAgentCore/Gateway/GatewayProtocolConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/Gateway/GatewayProtocolConfigurationProperty.hs
@@ -0,0 +1,33 @@
+module Stratosphere.BedrockAgentCore.Gateway.GatewayProtocolConfigurationProperty (
+        module Exports, GatewayProtocolConfigurationProperty(..),
+        mkGatewayProtocolConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.BedrockAgentCore.Gateway.MCPGatewayConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+data GatewayProtocolConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-gateway-gatewayprotocolconfiguration.html>
+    GatewayProtocolConfigurationProperty {haddock_workaround_ :: (),
+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-gateway-gatewayprotocolconfiguration.html#cfn-bedrockagentcore-gateway-gatewayprotocolconfiguration-mcp>
+                                          mcp :: MCPGatewayConfigurationProperty}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkGatewayProtocolConfigurationProperty ::
+  MCPGatewayConfigurationProperty
+  -> GatewayProtocolConfigurationProperty
+mkGatewayProtocolConfigurationProperty mcp
+  = GatewayProtocolConfigurationProperty
+      {haddock_workaround_ = (), mcp = mcp}
+instance ToResourceProperties GatewayProtocolConfigurationProperty where
+  toResourceProperties GatewayProtocolConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::BedrockAgentCore::Gateway.GatewayProtocolConfiguration",
+         supportsTags = Prelude.False, properties = ["Mcp" JSON..= mcp]}
+instance JSON.ToJSON GatewayProtocolConfigurationProperty where
+  toJSON GatewayProtocolConfigurationProperty {..}
+    = JSON.object ["Mcp" JSON..= mcp]
+instance Property "Mcp" GatewayProtocolConfigurationProperty where
+  type PropertyType "Mcp" GatewayProtocolConfigurationProperty = MCPGatewayConfigurationProperty
+  set newValue GatewayProtocolConfigurationProperty {..}
+    = GatewayProtocolConfigurationProperty {mcp = newValue, ..}
diff --git a/gen/Stratosphere/BedrockAgentCore/Gateway/GatewayProtocolConfigurationProperty.hs-boot b/gen/Stratosphere/BedrockAgentCore/Gateway/GatewayProtocolConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/Gateway/GatewayProtocolConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.BedrockAgentCore.Gateway.GatewayProtocolConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data GatewayProtocolConfigurationProperty :: Prelude.Type
+instance ToResourceProperties GatewayProtocolConfigurationProperty
+instance Prelude.Eq GatewayProtocolConfigurationProperty
+instance Prelude.Show GatewayProtocolConfigurationProperty
+instance JSON.ToJSON GatewayProtocolConfigurationProperty
diff --git a/gen/Stratosphere/BedrockAgentCore/Gateway/MCPGatewayConfigurationProperty.hs b/gen/Stratosphere/BedrockAgentCore/Gateway/MCPGatewayConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/Gateway/MCPGatewayConfigurationProperty.hs
@@ -0,0 +1,58 @@
+module Stratosphere.BedrockAgentCore.Gateway.MCPGatewayConfigurationProperty (
+        MCPGatewayConfigurationProperty(..),
+        mkMCPGatewayConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data MCPGatewayConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-gateway-mcpgatewayconfiguration.html>
+    MCPGatewayConfigurationProperty {haddock_workaround_ :: (),
+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-gateway-mcpgatewayconfiguration.html#cfn-bedrockagentcore-gateway-mcpgatewayconfiguration-instructions>
+                                     instructions :: (Prelude.Maybe (Value Prelude.Text)),
+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-gateway-mcpgatewayconfiguration.html#cfn-bedrockagentcore-gateway-mcpgatewayconfiguration-searchtype>
+                                     searchType :: (Prelude.Maybe (Value Prelude.Text)),
+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-gateway-mcpgatewayconfiguration.html#cfn-bedrockagentcore-gateway-mcpgatewayconfiguration-supportedversions>
+                                     supportedVersions :: (Prelude.Maybe (ValueList Prelude.Text))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkMCPGatewayConfigurationProperty ::
+  MCPGatewayConfigurationProperty
+mkMCPGatewayConfigurationProperty
+  = MCPGatewayConfigurationProperty
+      {haddock_workaround_ = (), instructions = Prelude.Nothing,
+       searchType = Prelude.Nothing, supportedVersions = Prelude.Nothing}
+instance ToResourceProperties MCPGatewayConfigurationProperty where
+  toResourceProperties MCPGatewayConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::BedrockAgentCore::Gateway.MCPGatewayConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "Instructions" Prelude.<$> instructions,
+                            (JSON..=) "SearchType" Prelude.<$> searchType,
+                            (JSON..=) "SupportedVersions" Prelude.<$> supportedVersions])}
+instance JSON.ToJSON MCPGatewayConfigurationProperty where
+  toJSON MCPGatewayConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "Instructions" Prelude.<$> instructions,
+               (JSON..=) "SearchType" Prelude.<$> searchType,
+               (JSON..=) "SupportedVersions" Prelude.<$> supportedVersions]))
+instance Property "Instructions" MCPGatewayConfigurationProperty where
+  type PropertyType "Instructions" MCPGatewayConfigurationProperty = Value Prelude.Text
+  set newValue MCPGatewayConfigurationProperty {..}
+    = MCPGatewayConfigurationProperty
+        {instructions = Prelude.pure newValue, ..}
+instance Property "SearchType" MCPGatewayConfigurationProperty where
+  type PropertyType "SearchType" MCPGatewayConfigurationProperty = Value Prelude.Text
+  set newValue MCPGatewayConfigurationProperty {..}
+    = MCPGatewayConfigurationProperty
+        {searchType = Prelude.pure newValue, ..}
+instance Property "SupportedVersions" MCPGatewayConfigurationProperty where
+  type PropertyType "SupportedVersions" MCPGatewayConfigurationProperty = ValueList Prelude.Text
+  set newValue MCPGatewayConfigurationProperty {..}
+    = MCPGatewayConfigurationProperty
+        {supportedVersions = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/BedrockAgentCore/Gateway/MCPGatewayConfigurationProperty.hs-boot b/gen/Stratosphere/BedrockAgentCore/Gateway/MCPGatewayConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/Gateway/MCPGatewayConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.BedrockAgentCore.Gateway.MCPGatewayConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data MCPGatewayConfigurationProperty :: Prelude.Type
+instance ToResourceProperties MCPGatewayConfigurationProperty
+instance Prelude.Eq MCPGatewayConfigurationProperty
+instance Prelude.Show MCPGatewayConfigurationProperty
+instance JSON.ToJSON MCPGatewayConfigurationProperty
diff --git a/gen/Stratosphere/BedrockAgentCore/Gateway/WorkloadIdentityDetailsProperty.hs b/gen/Stratosphere/BedrockAgentCore/Gateway/WorkloadIdentityDetailsProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/Gateway/WorkloadIdentityDetailsProperty.hs
@@ -0,0 +1,35 @@
+module Stratosphere.BedrockAgentCore.Gateway.WorkloadIdentityDetailsProperty (
+        WorkloadIdentityDetailsProperty(..),
+        mkWorkloadIdentityDetailsProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data WorkloadIdentityDetailsProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-gateway-workloadidentitydetails.html>
+    WorkloadIdentityDetailsProperty {haddock_workaround_ :: (),
+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-gateway-workloadidentitydetails.html#cfn-bedrockagentcore-gateway-workloadidentitydetails-workloadidentityarn>
+                                     workloadIdentityArn :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkWorkloadIdentityDetailsProperty ::
+  Value Prelude.Text -> WorkloadIdentityDetailsProperty
+mkWorkloadIdentityDetailsProperty workloadIdentityArn
+  = WorkloadIdentityDetailsProperty
+      {haddock_workaround_ = (),
+       workloadIdentityArn = workloadIdentityArn}
+instance ToResourceProperties WorkloadIdentityDetailsProperty where
+  toResourceProperties WorkloadIdentityDetailsProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::BedrockAgentCore::Gateway.WorkloadIdentityDetails",
+         supportsTags = Prelude.False,
+         properties = ["WorkloadIdentityArn" JSON..= workloadIdentityArn]}
+instance JSON.ToJSON WorkloadIdentityDetailsProperty where
+  toJSON WorkloadIdentityDetailsProperty {..}
+    = JSON.object ["WorkloadIdentityArn" JSON..= workloadIdentityArn]
+instance Property "WorkloadIdentityArn" WorkloadIdentityDetailsProperty where
+  type PropertyType "WorkloadIdentityArn" WorkloadIdentityDetailsProperty = Value Prelude.Text
+  set newValue WorkloadIdentityDetailsProperty {..}
+    = WorkloadIdentityDetailsProperty
+        {workloadIdentityArn = newValue, ..}
diff --git a/gen/Stratosphere/BedrockAgentCore/Gateway/WorkloadIdentityDetailsProperty.hs-boot b/gen/Stratosphere/BedrockAgentCore/Gateway/WorkloadIdentityDetailsProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/Gateway/WorkloadIdentityDetailsProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.BedrockAgentCore.Gateway.WorkloadIdentityDetailsProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data WorkloadIdentityDetailsProperty :: Prelude.Type
+instance ToResourceProperties WorkloadIdentityDetailsProperty
+instance Prelude.Eq WorkloadIdentityDetailsProperty
+instance Prelude.Show WorkloadIdentityDetailsProperty
+instance JSON.ToJSON WorkloadIdentityDetailsProperty
diff --git a/gen/Stratosphere/BedrockAgentCore/GatewayTarget.hs b/gen/Stratosphere/BedrockAgentCore/GatewayTarget.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/GatewayTarget.hs
@@ -0,0 +1,83 @@
+module Stratosphere.BedrockAgentCore.GatewayTarget (
+        module Exports, GatewayTarget(..), mkGatewayTarget
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.BedrockAgentCore.GatewayTarget.CredentialProviderConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.BedrockAgentCore.GatewayTarget.TargetConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data GatewayTarget
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrockagentcore-gatewaytarget.html>
+    GatewayTarget {haddock_workaround_ :: (),
+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrockagentcore-gatewaytarget.html#cfn-bedrockagentcore-gatewaytarget-credentialproviderconfigurations>
+                   credentialProviderConfigurations :: [CredentialProviderConfigurationProperty],
+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrockagentcore-gatewaytarget.html#cfn-bedrockagentcore-gatewaytarget-description>
+                   description :: (Prelude.Maybe (Value Prelude.Text)),
+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrockagentcore-gatewaytarget.html#cfn-bedrockagentcore-gatewaytarget-gatewayidentifier>
+                   gatewayIdentifier :: (Prelude.Maybe (Value Prelude.Text)),
+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrockagentcore-gatewaytarget.html#cfn-bedrockagentcore-gatewaytarget-name>
+                   name :: (Value Prelude.Text),
+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrockagentcore-gatewaytarget.html#cfn-bedrockagentcore-gatewaytarget-targetconfiguration>
+                   targetConfiguration :: TargetConfigurationProperty}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkGatewayTarget ::
+  [CredentialProviderConfigurationProperty]
+  -> Value Prelude.Text
+     -> TargetConfigurationProperty -> GatewayTarget
+mkGatewayTarget
+  credentialProviderConfigurations
+  name
+  targetConfiguration
+  = GatewayTarget
+      {haddock_workaround_ = (),
+       credentialProviderConfigurations = credentialProviderConfigurations,
+       name = name, targetConfiguration = targetConfiguration,
+       description = Prelude.Nothing, gatewayIdentifier = Prelude.Nothing}
+instance ToResourceProperties GatewayTarget where
+  toResourceProperties GatewayTarget {..}
+    = ResourceProperties
+        {awsType = "AWS::BedrockAgentCore::GatewayTarget",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["CredentialProviderConfigurations"
+                              JSON..= credentialProviderConfigurations,
+                            "Name" JSON..= name,
+                            "TargetConfiguration" JSON..= targetConfiguration]
+                           (Prelude.catMaybes
+                              [(JSON..=) "Description" Prelude.<$> description,
+                               (JSON..=) "GatewayIdentifier" Prelude.<$> gatewayIdentifier]))}
+instance JSON.ToJSON GatewayTarget where
+  toJSON GatewayTarget {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["CredentialProviderConfigurations"
+                 JSON..= credentialProviderConfigurations,
+               "Name" JSON..= name,
+               "TargetConfiguration" JSON..= targetConfiguration]
+              (Prelude.catMaybes
+                 [(JSON..=) "Description" Prelude.<$> description,
+                  (JSON..=) "GatewayIdentifier" Prelude.<$> gatewayIdentifier])))
+instance Property "CredentialProviderConfigurations" GatewayTarget where
+  type PropertyType "CredentialProviderConfigurations" GatewayTarget = [CredentialProviderConfigurationProperty]
+  set newValue GatewayTarget {..}
+    = GatewayTarget {credentialProviderConfigurations = newValue, ..}
+instance Property "Description" GatewayTarget where
+  type PropertyType "Description" GatewayTarget = Value Prelude.Text
+  set newValue GatewayTarget {..}
+    = GatewayTarget {description = Prelude.pure newValue, ..}
+instance Property "GatewayIdentifier" GatewayTarget where
+  type PropertyType "GatewayIdentifier" GatewayTarget = Value Prelude.Text
+  set newValue GatewayTarget {..}
+    = GatewayTarget {gatewayIdentifier = Prelude.pure newValue, ..}
+instance Property "Name" GatewayTarget where
+  type PropertyType "Name" GatewayTarget = Value Prelude.Text
+  set newValue GatewayTarget {..}
+    = GatewayTarget {name = newValue, ..}
+instance Property "TargetConfiguration" GatewayTarget where
+  type PropertyType "TargetConfiguration" GatewayTarget = TargetConfigurationProperty
+  set newValue GatewayTarget {..}
+    = GatewayTarget {targetConfiguration = newValue, ..}
diff --git a/gen/Stratosphere/BedrockAgentCore/GatewayTarget/ApiKeyCredentialProviderProperty.hs b/gen/Stratosphere/BedrockAgentCore/GatewayTarget/ApiKeyCredentialProviderProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/GatewayTarget/ApiKeyCredentialProviderProperty.hs
@@ -0,0 +1,72 @@
+module Stratosphere.BedrockAgentCore.GatewayTarget.ApiKeyCredentialProviderProperty (
+        ApiKeyCredentialProviderProperty(..),
+        mkApiKeyCredentialProviderProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data ApiKeyCredentialProviderProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-gatewaytarget-apikeycredentialprovider.html>
+    ApiKeyCredentialProviderProperty {haddock_workaround_ :: (),
+                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-gatewaytarget-apikeycredentialprovider.html#cfn-bedrockagentcore-gatewaytarget-apikeycredentialprovider-credentiallocation>
+                                      credentialLocation :: (Prelude.Maybe (Value Prelude.Text)),
+                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-gatewaytarget-apikeycredentialprovider.html#cfn-bedrockagentcore-gatewaytarget-apikeycredentialprovider-credentialparametername>
+                                      credentialParameterName :: (Prelude.Maybe (Value Prelude.Text)),
+                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-gatewaytarget-apikeycredentialprovider.html#cfn-bedrockagentcore-gatewaytarget-apikeycredentialprovider-credentialprefix>
+                                      credentialPrefix :: (Prelude.Maybe (Value Prelude.Text)),
+                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-gatewaytarget-apikeycredentialprovider.html#cfn-bedrockagentcore-gatewaytarget-apikeycredentialprovider-providerarn>
+                                      providerArn :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkApiKeyCredentialProviderProperty ::
+  Value Prelude.Text -> ApiKeyCredentialProviderProperty
+mkApiKeyCredentialProviderProperty providerArn
+  = ApiKeyCredentialProviderProperty
+      {haddock_workaround_ = (), providerArn = providerArn,
+       credentialLocation = Prelude.Nothing,
+       credentialParameterName = Prelude.Nothing,
+       credentialPrefix = Prelude.Nothing}
+instance ToResourceProperties ApiKeyCredentialProviderProperty where
+  toResourceProperties ApiKeyCredentialProviderProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::BedrockAgentCore::GatewayTarget.ApiKeyCredentialProvider",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["ProviderArn" JSON..= providerArn]
+                           (Prelude.catMaybes
+                              [(JSON..=) "CredentialLocation" Prelude.<$> credentialLocation,
+                               (JSON..=) "CredentialParameterName"
+                                 Prelude.<$> credentialParameterName,
+                               (JSON..=) "CredentialPrefix" Prelude.<$> credentialPrefix]))}
+instance JSON.ToJSON ApiKeyCredentialProviderProperty where
+  toJSON ApiKeyCredentialProviderProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["ProviderArn" JSON..= providerArn]
+              (Prelude.catMaybes
+                 [(JSON..=) "CredentialLocation" Prelude.<$> credentialLocation,
+                  (JSON..=) "CredentialParameterName"
+                    Prelude.<$> credentialParameterName,
+                  (JSON..=) "CredentialPrefix" Prelude.<$> credentialPrefix])))
+instance Property "CredentialLocation" ApiKeyCredentialProviderProperty where
+  type PropertyType "CredentialLocation" ApiKeyCredentialProviderProperty = Value Prelude.Text
+  set newValue ApiKeyCredentialProviderProperty {..}
+    = ApiKeyCredentialProviderProperty
+        {credentialLocation = Prelude.pure newValue, ..}
+instance Property "CredentialParameterName" ApiKeyCredentialProviderProperty where
+  type PropertyType "CredentialParameterName" ApiKeyCredentialProviderProperty = Value Prelude.Text
+  set newValue ApiKeyCredentialProviderProperty {..}
+    = ApiKeyCredentialProviderProperty
+        {credentialParameterName = Prelude.pure newValue, ..}
+instance Property "CredentialPrefix" ApiKeyCredentialProviderProperty where
+  type PropertyType "CredentialPrefix" ApiKeyCredentialProviderProperty = Value Prelude.Text
+  set newValue ApiKeyCredentialProviderProperty {..}
+    = ApiKeyCredentialProviderProperty
+        {credentialPrefix = Prelude.pure newValue, ..}
+instance Property "ProviderArn" ApiKeyCredentialProviderProperty where
+  type PropertyType "ProviderArn" ApiKeyCredentialProviderProperty = Value Prelude.Text
+  set newValue ApiKeyCredentialProviderProperty {..}
+    = ApiKeyCredentialProviderProperty {providerArn = newValue, ..}
diff --git a/gen/Stratosphere/BedrockAgentCore/GatewayTarget/ApiKeyCredentialProviderProperty.hs-boot b/gen/Stratosphere/BedrockAgentCore/GatewayTarget/ApiKeyCredentialProviderProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/GatewayTarget/ApiKeyCredentialProviderProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.BedrockAgentCore.GatewayTarget.ApiKeyCredentialProviderProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data ApiKeyCredentialProviderProperty :: Prelude.Type
+instance ToResourceProperties ApiKeyCredentialProviderProperty
+instance Prelude.Eq ApiKeyCredentialProviderProperty
+instance Prelude.Show ApiKeyCredentialProviderProperty
+instance JSON.ToJSON ApiKeyCredentialProviderProperty
diff --git a/gen/Stratosphere/BedrockAgentCore/GatewayTarget/ApiSchemaConfigurationProperty.hs b/gen/Stratosphere/BedrockAgentCore/GatewayTarget/ApiSchemaConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/GatewayTarget/ApiSchemaConfigurationProperty.hs
@@ -0,0 +1,48 @@
+module Stratosphere.BedrockAgentCore.GatewayTarget.ApiSchemaConfigurationProperty (
+        module Exports, ApiSchemaConfigurationProperty(..),
+        mkApiSchemaConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.BedrockAgentCore.GatewayTarget.S3ConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data ApiSchemaConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-gatewaytarget-apischemaconfiguration.html>
+    ApiSchemaConfigurationProperty {haddock_workaround_ :: (),
+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-gatewaytarget-apischemaconfiguration.html#cfn-bedrockagentcore-gatewaytarget-apischemaconfiguration-inlinepayload>
+                                    inlinePayload :: (Prelude.Maybe (Value Prelude.Text)),
+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-gatewaytarget-apischemaconfiguration.html#cfn-bedrockagentcore-gatewaytarget-apischemaconfiguration-s3>
+                                    s3 :: (Prelude.Maybe S3ConfigurationProperty)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkApiSchemaConfigurationProperty :: ApiSchemaConfigurationProperty
+mkApiSchemaConfigurationProperty
+  = ApiSchemaConfigurationProperty
+      {haddock_workaround_ = (), inlinePayload = Prelude.Nothing,
+       s3 = Prelude.Nothing}
+instance ToResourceProperties ApiSchemaConfigurationProperty where
+  toResourceProperties ApiSchemaConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::BedrockAgentCore::GatewayTarget.ApiSchemaConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "InlinePayload" Prelude.<$> inlinePayload,
+                            (JSON..=) "S3" Prelude.<$> s3])}
+instance JSON.ToJSON ApiSchemaConfigurationProperty where
+  toJSON ApiSchemaConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "InlinePayload" Prelude.<$> inlinePayload,
+               (JSON..=) "S3" Prelude.<$> s3]))
+instance Property "InlinePayload" ApiSchemaConfigurationProperty where
+  type PropertyType "InlinePayload" ApiSchemaConfigurationProperty = Value Prelude.Text
+  set newValue ApiSchemaConfigurationProperty {..}
+    = ApiSchemaConfigurationProperty
+        {inlinePayload = Prelude.pure newValue, ..}
+instance Property "S3" ApiSchemaConfigurationProperty where
+  type PropertyType "S3" ApiSchemaConfigurationProperty = S3ConfigurationProperty
+  set newValue ApiSchemaConfigurationProperty {..}
+    = ApiSchemaConfigurationProperty {s3 = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/BedrockAgentCore/GatewayTarget/ApiSchemaConfigurationProperty.hs-boot b/gen/Stratosphere/BedrockAgentCore/GatewayTarget/ApiSchemaConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/GatewayTarget/ApiSchemaConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.BedrockAgentCore.GatewayTarget.ApiSchemaConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data ApiSchemaConfigurationProperty :: Prelude.Type
+instance ToResourceProperties ApiSchemaConfigurationProperty
+instance Prelude.Eq ApiSchemaConfigurationProperty
+instance Prelude.Show ApiSchemaConfigurationProperty
+instance JSON.ToJSON ApiSchemaConfigurationProperty
diff --git a/gen/Stratosphere/BedrockAgentCore/GatewayTarget/CredentialProviderConfigurationProperty.hs b/gen/Stratosphere/BedrockAgentCore/GatewayTarget/CredentialProviderConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/GatewayTarget/CredentialProviderConfigurationProperty.hs
@@ -0,0 +1,53 @@
+module Stratosphere.BedrockAgentCore.GatewayTarget.CredentialProviderConfigurationProperty (
+        module Exports, CredentialProviderConfigurationProperty(..),
+        mkCredentialProviderConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.BedrockAgentCore.GatewayTarget.CredentialProviderProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data CredentialProviderConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-gatewaytarget-credentialproviderconfiguration.html>
+    CredentialProviderConfigurationProperty {haddock_workaround_ :: (),
+                                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-gatewaytarget-credentialproviderconfiguration.html#cfn-bedrockagentcore-gatewaytarget-credentialproviderconfiguration-credentialprovider>
+                                             credentialProvider :: (Prelude.Maybe CredentialProviderProperty),
+                                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-gatewaytarget-credentialproviderconfiguration.html#cfn-bedrockagentcore-gatewaytarget-credentialproviderconfiguration-credentialprovidertype>
+                                             credentialProviderType :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkCredentialProviderConfigurationProperty ::
+  Value Prelude.Text -> CredentialProviderConfigurationProperty
+mkCredentialProviderConfigurationProperty credentialProviderType
+  = CredentialProviderConfigurationProperty
+      {haddock_workaround_ = (),
+       credentialProviderType = credentialProviderType,
+       credentialProvider = Prelude.Nothing}
+instance ToResourceProperties CredentialProviderConfigurationProperty where
+  toResourceProperties CredentialProviderConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::BedrockAgentCore::GatewayTarget.CredentialProviderConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["CredentialProviderType" JSON..= credentialProviderType]
+                           (Prelude.catMaybes
+                              [(JSON..=) "CredentialProvider" Prelude.<$> credentialProvider]))}
+instance JSON.ToJSON CredentialProviderConfigurationProperty where
+  toJSON CredentialProviderConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["CredentialProviderType" JSON..= credentialProviderType]
+              (Prelude.catMaybes
+                 [(JSON..=) "CredentialProvider" Prelude.<$> credentialProvider])))
+instance Property "CredentialProvider" CredentialProviderConfigurationProperty where
+  type PropertyType "CredentialProvider" CredentialProviderConfigurationProperty = CredentialProviderProperty
+  set newValue CredentialProviderConfigurationProperty {..}
+    = CredentialProviderConfigurationProperty
+        {credentialProvider = Prelude.pure newValue, ..}
+instance Property "CredentialProviderType" CredentialProviderConfigurationProperty where
+  type PropertyType "CredentialProviderType" CredentialProviderConfigurationProperty = Value Prelude.Text
+  set newValue CredentialProviderConfigurationProperty {..}
+    = CredentialProviderConfigurationProperty
+        {credentialProviderType = newValue, ..}
diff --git a/gen/Stratosphere/BedrockAgentCore/GatewayTarget/CredentialProviderConfigurationProperty.hs-boot b/gen/Stratosphere/BedrockAgentCore/GatewayTarget/CredentialProviderConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/GatewayTarget/CredentialProviderConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.BedrockAgentCore.GatewayTarget.CredentialProviderConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data CredentialProviderConfigurationProperty :: Prelude.Type
+instance ToResourceProperties CredentialProviderConfigurationProperty
+instance Prelude.Eq CredentialProviderConfigurationProperty
+instance Prelude.Show CredentialProviderConfigurationProperty
+instance JSON.ToJSON CredentialProviderConfigurationProperty
diff --git a/gen/Stratosphere/BedrockAgentCore/GatewayTarget/CredentialProviderProperty.hs b/gen/Stratosphere/BedrockAgentCore/GatewayTarget/CredentialProviderProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/GatewayTarget/CredentialProviderProperty.hs
@@ -0,0 +1,54 @@
+module Stratosphere.BedrockAgentCore.GatewayTarget.CredentialProviderProperty (
+        module Exports, CredentialProviderProperty(..),
+        mkCredentialProviderProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.BedrockAgentCore.GatewayTarget.ApiKeyCredentialProviderProperty as Exports
+import {-# SOURCE #-} Stratosphere.BedrockAgentCore.GatewayTarget.OAuthCredentialProviderProperty as Exports
+import Stratosphere.ResourceProperties
+data CredentialProviderProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-gatewaytarget-credentialprovider.html>
+    CredentialProviderProperty {haddock_workaround_ :: (),
+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-gatewaytarget-credentialprovider.html#cfn-bedrockagentcore-gatewaytarget-credentialprovider-apikeycredentialprovider>
+                                apiKeyCredentialProvider :: (Prelude.Maybe ApiKeyCredentialProviderProperty),
+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-gatewaytarget-credentialprovider.html#cfn-bedrockagentcore-gatewaytarget-credentialprovider-oauthcredentialprovider>
+                                oauthCredentialProvider :: (Prelude.Maybe OAuthCredentialProviderProperty)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkCredentialProviderProperty :: CredentialProviderProperty
+mkCredentialProviderProperty
+  = CredentialProviderProperty
+      {haddock_workaround_ = (),
+       apiKeyCredentialProvider = Prelude.Nothing,
+       oauthCredentialProvider = Prelude.Nothing}
+instance ToResourceProperties CredentialProviderProperty where
+  toResourceProperties CredentialProviderProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::BedrockAgentCore::GatewayTarget.CredentialProvider",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "ApiKeyCredentialProvider"
+                              Prelude.<$> apiKeyCredentialProvider,
+                            (JSON..=) "OauthCredentialProvider"
+                              Prelude.<$> oauthCredentialProvider])}
+instance JSON.ToJSON CredentialProviderProperty where
+  toJSON CredentialProviderProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "ApiKeyCredentialProvider"
+                 Prelude.<$> apiKeyCredentialProvider,
+               (JSON..=) "OauthCredentialProvider"
+                 Prelude.<$> oauthCredentialProvider]))
+instance Property "ApiKeyCredentialProvider" CredentialProviderProperty where
+  type PropertyType "ApiKeyCredentialProvider" CredentialProviderProperty = ApiKeyCredentialProviderProperty
+  set newValue CredentialProviderProperty {..}
+    = CredentialProviderProperty
+        {apiKeyCredentialProvider = Prelude.pure newValue, ..}
+instance Property "OauthCredentialProvider" CredentialProviderProperty where
+  type PropertyType "OauthCredentialProvider" CredentialProviderProperty = OAuthCredentialProviderProperty
+  set newValue CredentialProviderProperty {..}
+    = CredentialProviderProperty
+        {oauthCredentialProvider = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/BedrockAgentCore/GatewayTarget/CredentialProviderProperty.hs-boot b/gen/Stratosphere/BedrockAgentCore/GatewayTarget/CredentialProviderProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/GatewayTarget/CredentialProviderProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.BedrockAgentCore.GatewayTarget.CredentialProviderProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data CredentialProviderProperty :: Prelude.Type
+instance ToResourceProperties CredentialProviderProperty
+instance Prelude.Eq CredentialProviderProperty
+instance Prelude.Show CredentialProviderProperty
+instance JSON.ToJSON CredentialProviderProperty
diff --git a/gen/Stratosphere/BedrockAgentCore/GatewayTarget/McpLambdaTargetConfigurationProperty.hs b/gen/Stratosphere/BedrockAgentCore/GatewayTarget/McpLambdaTargetConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/GatewayTarget/McpLambdaTargetConfigurationProperty.hs
@@ -0,0 +1,44 @@
+module Stratosphere.BedrockAgentCore.GatewayTarget.McpLambdaTargetConfigurationProperty (
+        module Exports, McpLambdaTargetConfigurationProperty(..),
+        mkMcpLambdaTargetConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.BedrockAgentCore.GatewayTarget.ToolSchemaProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data McpLambdaTargetConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-gatewaytarget-mcplambdatargetconfiguration.html>
+    McpLambdaTargetConfigurationProperty {haddock_workaround_ :: (),
+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-gatewaytarget-mcplambdatargetconfiguration.html#cfn-bedrockagentcore-gatewaytarget-mcplambdatargetconfiguration-lambdaarn>
+                                          lambdaArn :: (Value Prelude.Text),
+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-gatewaytarget-mcplambdatargetconfiguration.html#cfn-bedrockagentcore-gatewaytarget-mcplambdatargetconfiguration-toolschema>
+                                          toolSchema :: ToolSchemaProperty}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkMcpLambdaTargetConfigurationProperty ::
+  Value Prelude.Text
+  -> ToolSchemaProperty -> McpLambdaTargetConfigurationProperty
+mkMcpLambdaTargetConfigurationProperty lambdaArn toolSchema
+  = McpLambdaTargetConfigurationProperty
+      {haddock_workaround_ = (), lambdaArn = lambdaArn,
+       toolSchema = toolSchema}
+instance ToResourceProperties McpLambdaTargetConfigurationProperty where
+  toResourceProperties McpLambdaTargetConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::BedrockAgentCore::GatewayTarget.McpLambdaTargetConfiguration",
+         supportsTags = Prelude.False,
+         properties = ["LambdaArn" JSON..= lambdaArn,
+                       "ToolSchema" JSON..= toolSchema]}
+instance JSON.ToJSON McpLambdaTargetConfigurationProperty where
+  toJSON McpLambdaTargetConfigurationProperty {..}
+    = JSON.object
+        ["LambdaArn" JSON..= lambdaArn, "ToolSchema" JSON..= toolSchema]
+instance Property "LambdaArn" McpLambdaTargetConfigurationProperty where
+  type PropertyType "LambdaArn" McpLambdaTargetConfigurationProperty = Value Prelude.Text
+  set newValue McpLambdaTargetConfigurationProperty {..}
+    = McpLambdaTargetConfigurationProperty {lambdaArn = newValue, ..}
+instance Property "ToolSchema" McpLambdaTargetConfigurationProperty where
+  type PropertyType "ToolSchema" McpLambdaTargetConfigurationProperty = ToolSchemaProperty
+  set newValue McpLambdaTargetConfigurationProperty {..}
+    = McpLambdaTargetConfigurationProperty {toolSchema = newValue, ..}
diff --git a/gen/Stratosphere/BedrockAgentCore/GatewayTarget/McpLambdaTargetConfigurationProperty.hs-boot b/gen/Stratosphere/BedrockAgentCore/GatewayTarget/McpLambdaTargetConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/GatewayTarget/McpLambdaTargetConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.BedrockAgentCore.GatewayTarget.McpLambdaTargetConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data McpLambdaTargetConfigurationProperty :: Prelude.Type
+instance ToResourceProperties McpLambdaTargetConfigurationProperty
+instance Prelude.Eq McpLambdaTargetConfigurationProperty
+instance Prelude.Show McpLambdaTargetConfigurationProperty
+instance JSON.ToJSON McpLambdaTargetConfigurationProperty
diff --git a/gen/Stratosphere/BedrockAgentCore/GatewayTarget/McpTargetConfigurationProperty.hs b/gen/Stratosphere/BedrockAgentCore/GatewayTarget/McpTargetConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/GatewayTarget/McpTargetConfigurationProperty.hs
@@ -0,0 +1,58 @@
+module Stratosphere.BedrockAgentCore.GatewayTarget.McpTargetConfigurationProperty (
+        module Exports, McpTargetConfigurationProperty(..),
+        mkMcpTargetConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.BedrockAgentCore.GatewayTarget.ApiSchemaConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.BedrockAgentCore.GatewayTarget.McpLambdaTargetConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+data McpTargetConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-gatewaytarget-mcptargetconfiguration.html>
+    McpTargetConfigurationProperty {haddock_workaround_ :: (),
+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-gatewaytarget-mcptargetconfiguration.html#cfn-bedrockagentcore-gatewaytarget-mcptargetconfiguration-lambda>
+                                    lambda :: (Prelude.Maybe McpLambdaTargetConfigurationProperty),
+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-gatewaytarget-mcptargetconfiguration.html#cfn-bedrockagentcore-gatewaytarget-mcptargetconfiguration-openapischema>
+                                    openApiSchema :: (Prelude.Maybe ApiSchemaConfigurationProperty),
+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-gatewaytarget-mcptargetconfiguration.html#cfn-bedrockagentcore-gatewaytarget-mcptargetconfiguration-smithymodel>
+                                    smithyModel :: (Prelude.Maybe ApiSchemaConfigurationProperty)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkMcpTargetConfigurationProperty :: McpTargetConfigurationProperty
+mkMcpTargetConfigurationProperty
+  = McpTargetConfigurationProperty
+      {haddock_workaround_ = (), lambda = Prelude.Nothing,
+       openApiSchema = Prelude.Nothing, smithyModel = Prelude.Nothing}
+instance ToResourceProperties McpTargetConfigurationProperty where
+  toResourceProperties McpTargetConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::BedrockAgentCore::GatewayTarget.McpTargetConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "Lambda" Prelude.<$> lambda,
+                            (JSON..=) "OpenApiSchema" Prelude.<$> openApiSchema,
+                            (JSON..=) "SmithyModel" Prelude.<$> smithyModel])}
+instance JSON.ToJSON McpTargetConfigurationProperty where
+  toJSON McpTargetConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "Lambda" Prelude.<$> lambda,
+               (JSON..=) "OpenApiSchema" Prelude.<$> openApiSchema,
+               (JSON..=) "SmithyModel" Prelude.<$> smithyModel]))
+instance Property "Lambda" McpTargetConfigurationProperty where
+  type PropertyType "Lambda" McpTargetConfigurationProperty = McpLambdaTargetConfigurationProperty
+  set newValue McpTargetConfigurationProperty {..}
+    = McpTargetConfigurationProperty
+        {lambda = Prelude.pure newValue, ..}
+instance Property "OpenApiSchema" McpTargetConfigurationProperty where
+  type PropertyType "OpenApiSchema" McpTargetConfigurationProperty = ApiSchemaConfigurationProperty
+  set newValue McpTargetConfigurationProperty {..}
+    = McpTargetConfigurationProperty
+        {openApiSchema = Prelude.pure newValue, ..}
+instance Property "SmithyModel" McpTargetConfigurationProperty where
+  type PropertyType "SmithyModel" McpTargetConfigurationProperty = ApiSchemaConfigurationProperty
+  set newValue McpTargetConfigurationProperty {..}
+    = McpTargetConfigurationProperty
+        {smithyModel = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/BedrockAgentCore/GatewayTarget/McpTargetConfigurationProperty.hs-boot b/gen/Stratosphere/BedrockAgentCore/GatewayTarget/McpTargetConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/GatewayTarget/McpTargetConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.BedrockAgentCore.GatewayTarget.McpTargetConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data McpTargetConfigurationProperty :: Prelude.Type
+instance ToResourceProperties McpTargetConfigurationProperty
+instance Prelude.Eq McpTargetConfigurationProperty
+instance Prelude.Show McpTargetConfigurationProperty
+instance JSON.ToJSON McpTargetConfigurationProperty
diff --git a/gen/Stratosphere/BedrockAgentCore/GatewayTarget/OAuthCredentialProviderProperty.hs b/gen/Stratosphere/BedrockAgentCore/GatewayTarget/OAuthCredentialProviderProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/GatewayTarget/OAuthCredentialProviderProperty.hs
@@ -0,0 +1,57 @@
+module Stratosphere.BedrockAgentCore.GatewayTarget.OAuthCredentialProviderProperty (
+        OAuthCredentialProviderProperty(..),
+        mkOAuthCredentialProviderProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data OAuthCredentialProviderProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-gatewaytarget-oauthcredentialprovider.html>
+    OAuthCredentialProviderProperty {haddock_workaround_ :: (),
+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-gatewaytarget-oauthcredentialprovider.html#cfn-bedrockagentcore-gatewaytarget-oauthcredentialprovider-customparameters>
+                                     customParameters :: (Prelude.Maybe (Prelude.Map Prelude.Text (Value Prelude.Text))),
+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-gatewaytarget-oauthcredentialprovider.html#cfn-bedrockagentcore-gatewaytarget-oauthcredentialprovider-providerarn>
+                                     providerArn :: (Value Prelude.Text),
+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-gatewaytarget-oauthcredentialprovider.html#cfn-bedrockagentcore-gatewaytarget-oauthcredentialprovider-scopes>
+                                     scopes :: (ValueList Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkOAuthCredentialProviderProperty ::
+  Value Prelude.Text
+  -> ValueList Prelude.Text -> OAuthCredentialProviderProperty
+mkOAuthCredentialProviderProperty providerArn scopes
+  = OAuthCredentialProviderProperty
+      {haddock_workaround_ = (), providerArn = providerArn,
+       scopes = scopes, customParameters = Prelude.Nothing}
+instance ToResourceProperties OAuthCredentialProviderProperty where
+  toResourceProperties OAuthCredentialProviderProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::BedrockAgentCore::GatewayTarget.OAuthCredentialProvider",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["ProviderArn" JSON..= providerArn, "Scopes" JSON..= scopes]
+                           (Prelude.catMaybes
+                              [(JSON..=) "CustomParameters" Prelude.<$> customParameters]))}
+instance JSON.ToJSON OAuthCredentialProviderProperty where
+  toJSON OAuthCredentialProviderProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["ProviderArn" JSON..= providerArn, "Scopes" JSON..= scopes]
+              (Prelude.catMaybes
+                 [(JSON..=) "CustomParameters" Prelude.<$> customParameters])))
+instance Property "CustomParameters" OAuthCredentialProviderProperty where
+  type PropertyType "CustomParameters" OAuthCredentialProviderProperty = Prelude.Map Prelude.Text (Value Prelude.Text)
+  set newValue OAuthCredentialProviderProperty {..}
+    = OAuthCredentialProviderProperty
+        {customParameters = Prelude.pure newValue, ..}
+instance Property "ProviderArn" OAuthCredentialProviderProperty where
+  type PropertyType "ProviderArn" OAuthCredentialProviderProperty = Value Prelude.Text
+  set newValue OAuthCredentialProviderProperty {..}
+    = OAuthCredentialProviderProperty {providerArn = newValue, ..}
+instance Property "Scopes" OAuthCredentialProviderProperty where
+  type PropertyType "Scopes" OAuthCredentialProviderProperty = ValueList Prelude.Text
+  set newValue OAuthCredentialProviderProperty {..}
+    = OAuthCredentialProviderProperty {scopes = newValue, ..}
diff --git a/gen/Stratosphere/BedrockAgentCore/GatewayTarget/OAuthCredentialProviderProperty.hs-boot b/gen/Stratosphere/BedrockAgentCore/GatewayTarget/OAuthCredentialProviderProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/GatewayTarget/OAuthCredentialProviderProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.BedrockAgentCore.GatewayTarget.OAuthCredentialProviderProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data OAuthCredentialProviderProperty :: Prelude.Type
+instance ToResourceProperties OAuthCredentialProviderProperty
+instance Prelude.Eq OAuthCredentialProviderProperty
+instance Prelude.Show OAuthCredentialProviderProperty
+instance JSON.ToJSON OAuthCredentialProviderProperty
diff --git a/gen/Stratosphere/BedrockAgentCore/GatewayTarget/S3ConfigurationProperty.hs b/gen/Stratosphere/BedrockAgentCore/GatewayTarget/S3ConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/GatewayTarget/S3ConfigurationProperty.hs
@@ -0,0 +1,46 @@
+module Stratosphere.BedrockAgentCore.GatewayTarget.S3ConfigurationProperty (
+        S3ConfigurationProperty(..), mkS3ConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data S3ConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-gatewaytarget-s3configuration.html>
+    S3ConfigurationProperty {haddock_workaround_ :: (),
+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-gatewaytarget-s3configuration.html#cfn-bedrockagentcore-gatewaytarget-s3configuration-bucketowneraccountid>
+                             bucketOwnerAccountId :: (Prelude.Maybe (Value Prelude.Text)),
+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-gatewaytarget-s3configuration.html#cfn-bedrockagentcore-gatewaytarget-s3configuration-uri>
+                             uri :: (Prelude.Maybe (Value Prelude.Text))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkS3ConfigurationProperty :: S3ConfigurationProperty
+mkS3ConfigurationProperty
+  = S3ConfigurationProperty
+      {haddock_workaround_ = (), bucketOwnerAccountId = Prelude.Nothing,
+       uri = Prelude.Nothing}
+instance ToResourceProperties S3ConfigurationProperty where
+  toResourceProperties S3ConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::BedrockAgentCore::GatewayTarget.S3Configuration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "BucketOwnerAccountId" Prelude.<$> bucketOwnerAccountId,
+                            (JSON..=) "Uri" Prelude.<$> uri])}
+instance JSON.ToJSON S3ConfigurationProperty where
+  toJSON S3ConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "BucketOwnerAccountId" Prelude.<$> bucketOwnerAccountId,
+               (JSON..=) "Uri" Prelude.<$> uri]))
+instance Property "BucketOwnerAccountId" S3ConfigurationProperty where
+  type PropertyType "BucketOwnerAccountId" S3ConfigurationProperty = Value Prelude.Text
+  set newValue S3ConfigurationProperty {..}
+    = S3ConfigurationProperty
+        {bucketOwnerAccountId = Prelude.pure newValue, ..}
+instance Property "Uri" S3ConfigurationProperty where
+  type PropertyType "Uri" S3ConfigurationProperty = Value Prelude.Text
+  set newValue S3ConfigurationProperty {..}
+    = S3ConfigurationProperty {uri = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/BedrockAgentCore/GatewayTarget/S3ConfigurationProperty.hs-boot b/gen/Stratosphere/BedrockAgentCore/GatewayTarget/S3ConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/GatewayTarget/S3ConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.BedrockAgentCore.GatewayTarget.S3ConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data S3ConfigurationProperty :: Prelude.Type
+instance ToResourceProperties S3ConfigurationProperty
+instance Prelude.Eq S3ConfigurationProperty
+instance Prelude.Show S3ConfigurationProperty
+instance JSON.ToJSON S3ConfigurationProperty
diff --git a/gen/Stratosphere/BedrockAgentCore/GatewayTarget/SchemaDefinitionProperty.hs b/gen/Stratosphere/BedrockAgentCore/GatewayTarget/SchemaDefinitionProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/GatewayTarget/SchemaDefinitionProperty.hs
@@ -0,0 +1,74 @@
+module Stratosphere.BedrockAgentCore.GatewayTarget.SchemaDefinitionProperty (
+        SchemaDefinitionProperty(..), mkSchemaDefinitionProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data SchemaDefinitionProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-gatewaytarget-schemadefinition.html>
+    SchemaDefinitionProperty {haddock_workaround_ :: (),
+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-gatewaytarget-schemadefinition.html#cfn-bedrockagentcore-gatewaytarget-schemadefinition-description>
+                              description :: (Prelude.Maybe (Value Prelude.Text)),
+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-gatewaytarget-schemadefinition.html#cfn-bedrockagentcore-gatewaytarget-schemadefinition-items>
+                              items :: (Prelude.Maybe SchemaDefinitionProperty),
+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-gatewaytarget-schemadefinition.html#cfn-bedrockagentcore-gatewaytarget-schemadefinition-properties>
+                              properties :: (Prelude.Maybe (Prelude.Map Prelude.Text SchemaDefinitionProperty)),
+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-gatewaytarget-schemadefinition.html#cfn-bedrockagentcore-gatewaytarget-schemadefinition-required>
+                              required :: (Prelude.Maybe (ValueList Prelude.Text)),
+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-gatewaytarget-schemadefinition.html#cfn-bedrockagentcore-gatewaytarget-schemadefinition-type>
+                              type' :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkSchemaDefinitionProperty ::
+  Value Prelude.Text -> SchemaDefinitionProperty
+mkSchemaDefinitionProperty type'
+  = SchemaDefinitionProperty
+      {haddock_workaround_ = (), type' = type',
+       description = Prelude.Nothing, items = Prelude.Nothing,
+       properties = Prelude.Nothing, required = Prelude.Nothing}
+instance ToResourceProperties SchemaDefinitionProperty where
+  toResourceProperties SchemaDefinitionProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::BedrockAgentCore::GatewayTarget.SchemaDefinition",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["Type" JSON..= type']
+                           (Prelude.catMaybes
+                              [(JSON..=) "Description" Prelude.<$> description,
+                               (JSON..=) "Items" Prelude.<$> items,
+                               (JSON..=) "Properties" Prelude.<$> properties,
+                               (JSON..=) "Required" Prelude.<$> required]))}
+instance JSON.ToJSON SchemaDefinitionProperty where
+  toJSON SchemaDefinitionProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["Type" JSON..= type']
+              (Prelude.catMaybes
+                 [(JSON..=) "Description" Prelude.<$> description,
+                  (JSON..=) "Items" Prelude.<$> items,
+                  (JSON..=) "Properties" Prelude.<$> properties,
+                  (JSON..=) "Required" Prelude.<$> required])))
+instance Property "Description" SchemaDefinitionProperty where
+  type PropertyType "Description" SchemaDefinitionProperty = Value Prelude.Text
+  set newValue SchemaDefinitionProperty {..}
+    = SchemaDefinitionProperty
+        {description = Prelude.pure newValue, ..}
+instance Property "Items" SchemaDefinitionProperty where
+  type PropertyType "Items" SchemaDefinitionProperty = SchemaDefinitionProperty
+  set newValue SchemaDefinitionProperty {..}
+    = SchemaDefinitionProperty {items = Prelude.pure newValue, ..}
+instance Property "Properties" SchemaDefinitionProperty where
+  type PropertyType "Properties" SchemaDefinitionProperty = Prelude.Map Prelude.Text SchemaDefinitionProperty
+  set newValue SchemaDefinitionProperty {..}
+    = SchemaDefinitionProperty {properties = Prelude.pure newValue, ..}
+instance Property "Required" SchemaDefinitionProperty where
+  type PropertyType "Required" SchemaDefinitionProperty = ValueList Prelude.Text
+  set newValue SchemaDefinitionProperty {..}
+    = SchemaDefinitionProperty {required = Prelude.pure newValue, ..}
+instance Property "Type" SchemaDefinitionProperty where
+  type PropertyType "Type" SchemaDefinitionProperty = Value Prelude.Text
+  set newValue SchemaDefinitionProperty {..}
+    = SchemaDefinitionProperty {type' = newValue, ..}
diff --git a/gen/Stratosphere/BedrockAgentCore/GatewayTarget/SchemaDefinitionProperty.hs-boot b/gen/Stratosphere/BedrockAgentCore/GatewayTarget/SchemaDefinitionProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/GatewayTarget/SchemaDefinitionProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.BedrockAgentCore.GatewayTarget.SchemaDefinitionProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data SchemaDefinitionProperty :: Prelude.Type
+instance ToResourceProperties SchemaDefinitionProperty
+instance Prelude.Eq SchemaDefinitionProperty
+instance Prelude.Show SchemaDefinitionProperty
+instance JSON.ToJSON SchemaDefinitionProperty
diff --git a/gen/Stratosphere/BedrockAgentCore/GatewayTarget/TargetConfigurationProperty.hs b/gen/Stratosphere/BedrockAgentCore/GatewayTarget/TargetConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/GatewayTarget/TargetConfigurationProperty.hs
@@ -0,0 +1,31 @@
+module Stratosphere.BedrockAgentCore.GatewayTarget.TargetConfigurationProperty (
+        module Exports, TargetConfigurationProperty(..),
+        mkTargetConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.BedrockAgentCore.GatewayTarget.McpTargetConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+data TargetConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-gatewaytarget-targetconfiguration.html>
+    TargetConfigurationProperty {haddock_workaround_ :: (),
+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-gatewaytarget-targetconfiguration.html#cfn-bedrockagentcore-gatewaytarget-targetconfiguration-mcp>
+                                 mcp :: McpTargetConfigurationProperty}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkTargetConfigurationProperty ::
+  McpTargetConfigurationProperty -> TargetConfigurationProperty
+mkTargetConfigurationProperty mcp
+  = TargetConfigurationProperty {haddock_workaround_ = (), mcp = mcp}
+instance ToResourceProperties TargetConfigurationProperty where
+  toResourceProperties TargetConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::BedrockAgentCore::GatewayTarget.TargetConfiguration",
+         supportsTags = Prelude.False, properties = ["Mcp" JSON..= mcp]}
+instance JSON.ToJSON TargetConfigurationProperty where
+  toJSON TargetConfigurationProperty {..}
+    = JSON.object ["Mcp" JSON..= mcp]
+instance Property "Mcp" TargetConfigurationProperty where
+  type PropertyType "Mcp" TargetConfigurationProperty = McpTargetConfigurationProperty
+  set newValue TargetConfigurationProperty {..}
+    = TargetConfigurationProperty {mcp = newValue, ..}
diff --git a/gen/Stratosphere/BedrockAgentCore/GatewayTarget/TargetConfigurationProperty.hs-boot b/gen/Stratosphere/BedrockAgentCore/GatewayTarget/TargetConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/GatewayTarget/TargetConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.BedrockAgentCore.GatewayTarget.TargetConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data TargetConfigurationProperty :: Prelude.Type
+instance ToResourceProperties TargetConfigurationProperty
+instance Prelude.Eq TargetConfigurationProperty
+instance Prelude.Show TargetConfigurationProperty
+instance JSON.ToJSON TargetConfigurationProperty
diff --git a/gen/Stratosphere/BedrockAgentCore/GatewayTarget/ToolDefinitionProperty.hs b/gen/Stratosphere/BedrockAgentCore/GatewayTarget/ToolDefinitionProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/GatewayTarget/ToolDefinitionProperty.hs
@@ -0,0 +1,67 @@
+module Stratosphere.BedrockAgentCore.GatewayTarget.ToolDefinitionProperty (
+        module Exports, ToolDefinitionProperty(..),
+        mkToolDefinitionProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.BedrockAgentCore.GatewayTarget.SchemaDefinitionProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data ToolDefinitionProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-gatewaytarget-tooldefinition.html>
+    ToolDefinitionProperty {haddock_workaround_ :: (),
+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-gatewaytarget-tooldefinition.html#cfn-bedrockagentcore-gatewaytarget-tooldefinition-description>
+                            description :: (Value Prelude.Text),
+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-gatewaytarget-tooldefinition.html#cfn-bedrockagentcore-gatewaytarget-tooldefinition-inputschema>
+                            inputSchema :: SchemaDefinitionProperty,
+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-gatewaytarget-tooldefinition.html#cfn-bedrockagentcore-gatewaytarget-tooldefinition-name>
+                            name :: (Value Prelude.Text),
+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-gatewaytarget-tooldefinition.html#cfn-bedrockagentcore-gatewaytarget-tooldefinition-outputschema>
+                            outputSchema :: (Prelude.Maybe SchemaDefinitionProperty)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkToolDefinitionProperty ::
+  Value Prelude.Text
+  -> SchemaDefinitionProperty
+     -> Value Prelude.Text -> ToolDefinitionProperty
+mkToolDefinitionProperty description inputSchema name
+  = ToolDefinitionProperty
+      {haddock_workaround_ = (), description = description,
+       inputSchema = inputSchema, name = name,
+       outputSchema = Prelude.Nothing}
+instance ToResourceProperties ToolDefinitionProperty where
+  toResourceProperties ToolDefinitionProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::BedrockAgentCore::GatewayTarget.ToolDefinition",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["Description" JSON..= description,
+                            "InputSchema" JSON..= inputSchema, "Name" JSON..= name]
+                           (Prelude.catMaybes
+                              [(JSON..=) "OutputSchema" Prelude.<$> outputSchema]))}
+instance JSON.ToJSON ToolDefinitionProperty where
+  toJSON ToolDefinitionProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["Description" JSON..= description,
+               "InputSchema" JSON..= inputSchema, "Name" JSON..= name]
+              (Prelude.catMaybes
+                 [(JSON..=) "OutputSchema" Prelude.<$> outputSchema])))
+instance Property "Description" ToolDefinitionProperty where
+  type PropertyType "Description" ToolDefinitionProperty = Value Prelude.Text
+  set newValue ToolDefinitionProperty {..}
+    = ToolDefinitionProperty {description = newValue, ..}
+instance Property "InputSchema" ToolDefinitionProperty where
+  type PropertyType "InputSchema" ToolDefinitionProperty = SchemaDefinitionProperty
+  set newValue ToolDefinitionProperty {..}
+    = ToolDefinitionProperty {inputSchema = newValue, ..}
+instance Property "Name" ToolDefinitionProperty where
+  type PropertyType "Name" ToolDefinitionProperty = Value Prelude.Text
+  set newValue ToolDefinitionProperty {..}
+    = ToolDefinitionProperty {name = newValue, ..}
+instance Property "OutputSchema" ToolDefinitionProperty where
+  type PropertyType "OutputSchema" ToolDefinitionProperty = SchemaDefinitionProperty
+  set newValue ToolDefinitionProperty {..}
+    = ToolDefinitionProperty {outputSchema = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/BedrockAgentCore/GatewayTarget/ToolDefinitionProperty.hs-boot b/gen/Stratosphere/BedrockAgentCore/GatewayTarget/ToolDefinitionProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/GatewayTarget/ToolDefinitionProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.BedrockAgentCore.GatewayTarget.ToolDefinitionProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data ToolDefinitionProperty :: Prelude.Type
+instance ToResourceProperties ToolDefinitionProperty
+instance Prelude.Eq ToolDefinitionProperty
+instance Prelude.Show ToolDefinitionProperty
+instance JSON.ToJSON ToolDefinitionProperty
diff --git a/gen/Stratosphere/BedrockAgentCore/GatewayTarget/ToolSchemaProperty.hs b/gen/Stratosphere/BedrockAgentCore/GatewayTarget/ToolSchemaProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/GatewayTarget/ToolSchemaProperty.hs
@@ -0,0 +1,46 @@
+module Stratosphere.BedrockAgentCore.GatewayTarget.ToolSchemaProperty (
+        module Exports, ToolSchemaProperty(..), mkToolSchemaProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.BedrockAgentCore.GatewayTarget.S3ConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.BedrockAgentCore.GatewayTarget.ToolDefinitionProperty as Exports
+import Stratosphere.ResourceProperties
+data ToolSchemaProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-gatewaytarget-toolschema.html>
+    ToolSchemaProperty {haddock_workaround_ :: (),
+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-gatewaytarget-toolschema.html#cfn-bedrockagentcore-gatewaytarget-toolschema-inlinepayload>
+                        inlinePayload :: (Prelude.Maybe [ToolDefinitionProperty]),
+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-gatewaytarget-toolschema.html#cfn-bedrockagentcore-gatewaytarget-toolschema-s3>
+                        s3 :: (Prelude.Maybe S3ConfigurationProperty)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkToolSchemaProperty :: ToolSchemaProperty
+mkToolSchemaProperty
+  = ToolSchemaProperty
+      {haddock_workaround_ = (), inlinePayload = Prelude.Nothing,
+       s3 = Prelude.Nothing}
+instance ToResourceProperties ToolSchemaProperty where
+  toResourceProperties ToolSchemaProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::BedrockAgentCore::GatewayTarget.ToolSchema",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "InlinePayload" Prelude.<$> inlinePayload,
+                            (JSON..=) "S3" Prelude.<$> s3])}
+instance JSON.ToJSON ToolSchemaProperty where
+  toJSON ToolSchemaProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "InlinePayload" Prelude.<$> inlinePayload,
+               (JSON..=) "S3" Prelude.<$> s3]))
+instance Property "InlinePayload" ToolSchemaProperty where
+  type PropertyType "InlinePayload" ToolSchemaProperty = [ToolDefinitionProperty]
+  set newValue ToolSchemaProperty {..}
+    = ToolSchemaProperty {inlinePayload = Prelude.pure newValue, ..}
+instance Property "S3" ToolSchemaProperty where
+  type PropertyType "S3" ToolSchemaProperty = S3ConfigurationProperty
+  set newValue ToolSchemaProperty {..}
+    = ToolSchemaProperty {s3 = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/BedrockAgentCore/GatewayTarget/ToolSchemaProperty.hs-boot b/gen/Stratosphere/BedrockAgentCore/GatewayTarget/ToolSchemaProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/GatewayTarget/ToolSchemaProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.BedrockAgentCore.GatewayTarget.ToolSchemaProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data ToolSchemaProperty :: Prelude.Type
+instance ToResourceProperties ToolSchemaProperty
+instance Prelude.Eq ToolSchemaProperty
+instance Prelude.Show ToolSchemaProperty
+instance JSON.ToJSON ToolSchemaProperty
diff --git a/gen/Stratosphere/BedrockAgentCore/Memory.hs b/gen/Stratosphere/BedrockAgentCore/Memory.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/Memory.hs
@@ -0,0 +1,92 @@
+module Stratosphere.BedrockAgentCore.Memory (
+        module Exports, Memory(..), mkMemory
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.BedrockAgentCore.Memory.MemoryStrategyProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data Memory
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrockagentcore-memory.html>
+    Memory {haddock_workaround_ :: (),
+            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrockagentcore-memory.html#cfn-bedrockagentcore-memory-description>
+            description :: (Prelude.Maybe (Value Prelude.Text)),
+            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrockagentcore-memory.html#cfn-bedrockagentcore-memory-encryptionkeyarn>
+            encryptionKeyArn :: (Prelude.Maybe (Value Prelude.Text)),
+            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrockagentcore-memory.html#cfn-bedrockagentcore-memory-eventexpiryduration>
+            eventExpiryDuration :: (Value Prelude.Integer),
+            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrockagentcore-memory.html#cfn-bedrockagentcore-memory-memoryexecutionrolearn>
+            memoryExecutionRoleArn :: (Prelude.Maybe (Value Prelude.Text)),
+            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrockagentcore-memory.html#cfn-bedrockagentcore-memory-memorystrategies>
+            memoryStrategies :: (Prelude.Maybe [MemoryStrategyProperty]),
+            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrockagentcore-memory.html#cfn-bedrockagentcore-memory-name>
+            name :: (Value Prelude.Text),
+            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrockagentcore-memory.html#cfn-bedrockagentcore-memory-tags>
+            tags :: (Prelude.Maybe (Prelude.Map Prelude.Text (Value Prelude.Text)))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkMemory :: Value Prelude.Integer -> Value Prelude.Text -> Memory
+mkMemory eventExpiryDuration name
+  = Memory
+      {haddock_workaround_ = (),
+       eventExpiryDuration = eventExpiryDuration, name = name,
+       description = Prelude.Nothing, encryptionKeyArn = Prelude.Nothing,
+       memoryExecutionRoleArn = Prelude.Nothing,
+       memoryStrategies = Prelude.Nothing, tags = Prelude.Nothing}
+instance ToResourceProperties Memory where
+  toResourceProperties Memory {..}
+    = ResourceProperties
+        {awsType = "AWS::BedrockAgentCore::Memory",
+         supportsTags = Prelude.True,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["EventExpiryDuration" JSON..= eventExpiryDuration,
+                            "Name" JSON..= name]
+                           (Prelude.catMaybes
+                              [(JSON..=) "Description" Prelude.<$> description,
+                               (JSON..=) "EncryptionKeyArn" Prelude.<$> encryptionKeyArn,
+                               (JSON..=) "MemoryExecutionRoleArn"
+                                 Prelude.<$> memoryExecutionRoleArn,
+                               (JSON..=) "MemoryStrategies" Prelude.<$> memoryStrategies,
+                               (JSON..=) "Tags" Prelude.<$> tags]))}
+instance JSON.ToJSON Memory where
+  toJSON Memory {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["EventExpiryDuration" JSON..= eventExpiryDuration,
+               "Name" JSON..= name]
+              (Prelude.catMaybes
+                 [(JSON..=) "Description" Prelude.<$> description,
+                  (JSON..=) "EncryptionKeyArn" Prelude.<$> encryptionKeyArn,
+                  (JSON..=) "MemoryExecutionRoleArn"
+                    Prelude.<$> memoryExecutionRoleArn,
+                  (JSON..=) "MemoryStrategies" Prelude.<$> memoryStrategies,
+                  (JSON..=) "Tags" Prelude.<$> tags])))
+instance Property "Description" Memory where
+  type PropertyType "Description" Memory = Value Prelude.Text
+  set newValue Memory {..}
+    = Memory {description = Prelude.pure newValue, ..}
+instance Property "EncryptionKeyArn" Memory where
+  type PropertyType "EncryptionKeyArn" Memory = Value Prelude.Text
+  set newValue Memory {..}
+    = Memory {encryptionKeyArn = Prelude.pure newValue, ..}
+instance Property "EventExpiryDuration" Memory where
+  type PropertyType "EventExpiryDuration" Memory = Value Prelude.Integer
+  set newValue Memory {..}
+    = Memory {eventExpiryDuration = newValue, ..}
+instance Property "MemoryExecutionRoleArn" Memory where
+  type PropertyType "MemoryExecutionRoleArn" Memory = Value Prelude.Text
+  set newValue Memory {..}
+    = Memory {memoryExecutionRoleArn = Prelude.pure newValue, ..}
+instance Property "MemoryStrategies" Memory where
+  type PropertyType "MemoryStrategies" Memory = [MemoryStrategyProperty]
+  set newValue Memory {..}
+    = Memory {memoryStrategies = Prelude.pure newValue, ..}
+instance Property "Name" Memory where
+  type PropertyType "Name" Memory = Value Prelude.Text
+  set newValue Memory {..} = Memory {name = newValue, ..}
+instance Property "Tags" Memory where
+  type PropertyType "Tags" Memory = Prelude.Map Prelude.Text (Value Prelude.Text)
+  set newValue Memory {..}
+    = Memory {tags = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/BedrockAgentCore/Memory/CustomConfigurationInputProperty.hs b/gen/Stratosphere/BedrockAgentCore/Memory/CustomConfigurationInputProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/Memory/CustomConfigurationInputProperty.hs
@@ -0,0 +1,77 @@
+module Stratosphere.BedrockAgentCore.Memory.CustomConfigurationInputProperty (
+        module Exports, CustomConfigurationInputProperty(..),
+        mkCustomConfigurationInputProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.BedrockAgentCore.Memory.SelfManagedConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.BedrockAgentCore.Memory.SemanticOverrideProperty as Exports
+import {-# SOURCE #-} Stratosphere.BedrockAgentCore.Memory.SummaryOverrideProperty as Exports
+import {-# SOURCE #-} Stratosphere.BedrockAgentCore.Memory.UserPreferenceOverrideProperty as Exports
+import Stratosphere.ResourceProperties
+data CustomConfigurationInputProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-customconfigurationinput.html>
+    CustomConfigurationInputProperty {haddock_workaround_ :: (),
+                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-customconfigurationinput.html#cfn-bedrockagentcore-memory-customconfigurationinput-selfmanagedconfiguration>
+                                      selfManagedConfiguration :: (Prelude.Maybe SelfManagedConfigurationProperty),
+                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-customconfigurationinput.html#cfn-bedrockagentcore-memory-customconfigurationinput-semanticoverride>
+                                      semanticOverride :: (Prelude.Maybe SemanticOverrideProperty),
+                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-customconfigurationinput.html#cfn-bedrockagentcore-memory-customconfigurationinput-summaryoverride>
+                                      summaryOverride :: (Prelude.Maybe SummaryOverrideProperty),
+                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-customconfigurationinput.html#cfn-bedrockagentcore-memory-customconfigurationinput-userpreferenceoverride>
+                                      userPreferenceOverride :: (Prelude.Maybe UserPreferenceOverrideProperty)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkCustomConfigurationInputProperty ::
+  CustomConfigurationInputProperty
+mkCustomConfigurationInputProperty
+  = CustomConfigurationInputProperty
+      {haddock_workaround_ = (),
+       selfManagedConfiguration = Prelude.Nothing,
+       semanticOverride = Prelude.Nothing,
+       summaryOverride = Prelude.Nothing,
+       userPreferenceOverride = Prelude.Nothing}
+instance ToResourceProperties CustomConfigurationInputProperty where
+  toResourceProperties CustomConfigurationInputProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::BedrockAgentCore::Memory.CustomConfigurationInput",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "SelfManagedConfiguration"
+                              Prelude.<$> selfManagedConfiguration,
+                            (JSON..=) "SemanticOverride" Prelude.<$> semanticOverride,
+                            (JSON..=) "SummaryOverride" Prelude.<$> summaryOverride,
+                            (JSON..=) "UserPreferenceOverride"
+                              Prelude.<$> userPreferenceOverride])}
+instance JSON.ToJSON CustomConfigurationInputProperty where
+  toJSON CustomConfigurationInputProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "SelfManagedConfiguration"
+                 Prelude.<$> selfManagedConfiguration,
+               (JSON..=) "SemanticOverride" Prelude.<$> semanticOverride,
+               (JSON..=) "SummaryOverride" Prelude.<$> summaryOverride,
+               (JSON..=) "UserPreferenceOverride"
+                 Prelude.<$> userPreferenceOverride]))
+instance Property "SelfManagedConfiguration" CustomConfigurationInputProperty where
+  type PropertyType "SelfManagedConfiguration" CustomConfigurationInputProperty = SelfManagedConfigurationProperty
+  set newValue CustomConfigurationInputProperty {..}
+    = CustomConfigurationInputProperty
+        {selfManagedConfiguration = Prelude.pure newValue, ..}
+instance Property "SemanticOverride" CustomConfigurationInputProperty where
+  type PropertyType "SemanticOverride" CustomConfigurationInputProperty = SemanticOverrideProperty
+  set newValue CustomConfigurationInputProperty {..}
+    = CustomConfigurationInputProperty
+        {semanticOverride = Prelude.pure newValue, ..}
+instance Property "SummaryOverride" CustomConfigurationInputProperty where
+  type PropertyType "SummaryOverride" CustomConfigurationInputProperty = SummaryOverrideProperty
+  set newValue CustomConfigurationInputProperty {..}
+    = CustomConfigurationInputProperty
+        {summaryOverride = Prelude.pure newValue, ..}
+instance Property "UserPreferenceOverride" CustomConfigurationInputProperty where
+  type PropertyType "UserPreferenceOverride" CustomConfigurationInputProperty = UserPreferenceOverrideProperty
+  set newValue CustomConfigurationInputProperty {..}
+    = CustomConfigurationInputProperty
+        {userPreferenceOverride = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/BedrockAgentCore/Memory/CustomConfigurationInputProperty.hs-boot b/gen/Stratosphere/BedrockAgentCore/Memory/CustomConfigurationInputProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/Memory/CustomConfigurationInputProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.BedrockAgentCore.Memory.CustomConfigurationInputProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data CustomConfigurationInputProperty :: Prelude.Type
+instance ToResourceProperties CustomConfigurationInputProperty
+instance Prelude.Eq CustomConfigurationInputProperty
+instance Prelude.Show CustomConfigurationInputProperty
+instance JSON.ToJSON CustomConfigurationInputProperty
diff --git a/gen/Stratosphere/BedrockAgentCore/Memory/CustomMemoryStrategyProperty.hs b/gen/Stratosphere/BedrockAgentCore/Memory/CustomMemoryStrategyProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/Memory/CustomMemoryStrategyProperty.hs
@@ -0,0 +1,115 @@
+module Stratosphere.BedrockAgentCore.Memory.CustomMemoryStrategyProperty (
+        module Exports, CustomMemoryStrategyProperty(..),
+        mkCustomMemoryStrategyProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.BedrockAgentCore.Memory.CustomConfigurationInputProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data CustomMemoryStrategyProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-custommemorystrategy.html>
+    CustomMemoryStrategyProperty {haddock_workaround_ :: (),
+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-custommemorystrategy.html#cfn-bedrockagentcore-memory-custommemorystrategy-configuration>
+                                  configuration :: (Prelude.Maybe CustomConfigurationInputProperty),
+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-custommemorystrategy.html#cfn-bedrockagentcore-memory-custommemorystrategy-createdat>
+                                  createdAt :: (Prelude.Maybe (Value Prelude.Text)),
+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-custommemorystrategy.html#cfn-bedrockagentcore-memory-custommemorystrategy-description>
+                                  description :: (Prelude.Maybe (Value Prelude.Text)),
+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-custommemorystrategy.html#cfn-bedrockagentcore-memory-custommemorystrategy-name>
+                                  name :: (Value Prelude.Text),
+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-custommemorystrategy.html#cfn-bedrockagentcore-memory-custommemorystrategy-namespaces>
+                                  namespaces :: (Prelude.Maybe (ValueList Prelude.Text)),
+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-custommemorystrategy.html#cfn-bedrockagentcore-memory-custommemorystrategy-status>
+                                  status :: (Prelude.Maybe (Value Prelude.Text)),
+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-custommemorystrategy.html#cfn-bedrockagentcore-memory-custommemorystrategy-strategyid>
+                                  strategyId :: (Prelude.Maybe (Value Prelude.Text)),
+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-custommemorystrategy.html#cfn-bedrockagentcore-memory-custommemorystrategy-type>
+                                  type' :: (Prelude.Maybe (Value Prelude.Text)),
+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-custommemorystrategy.html#cfn-bedrockagentcore-memory-custommemorystrategy-updatedat>
+                                  updatedAt :: (Prelude.Maybe (Value Prelude.Text))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkCustomMemoryStrategyProperty ::
+  Value Prelude.Text -> CustomMemoryStrategyProperty
+mkCustomMemoryStrategyProperty name
+  = CustomMemoryStrategyProperty
+      {haddock_workaround_ = (), name = name,
+       configuration = Prelude.Nothing, createdAt = Prelude.Nothing,
+       description = Prelude.Nothing, namespaces = Prelude.Nothing,
+       status = Prelude.Nothing, strategyId = Prelude.Nothing,
+       type' = Prelude.Nothing, updatedAt = Prelude.Nothing}
+instance ToResourceProperties CustomMemoryStrategyProperty where
+  toResourceProperties CustomMemoryStrategyProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::BedrockAgentCore::Memory.CustomMemoryStrategy",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["Name" JSON..= name]
+                           (Prelude.catMaybes
+                              [(JSON..=) "Configuration" Prelude.<$> configuration,
+                               (JSON..=) "CreatedAt" Prelude.<$> createdAt,
+                               (JSON..=) "Description" Prelude.<$> description,
+                               (JSON..=) "Namespaces" Prelude.<$> namespaces,
+                               (JSON..=) "Status" Prelude.<$> status,
+                               (JSON..=) "StrategyId" Prelude.<$> strategyId,
+                               (JSON..=) "Type" Prelude.<$> type',
+                               (JSON..=) "UpdatedAt" Prelude.<$> updatedAt]))}
+instance JSON.ToJSON CustomMemoryStrategyProperty where
+  toJSON CustomMemoryStrategyProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["Name" JSON..= name]
+              (Prelude.catMaybes
+                 [(JSON..=) "Configuration" Prelude.<$> configuration,
+                  (JSON..=) "CreatedAt" Prelude.<$> createdAt,
+                  (JSON..=) "Description" Prelude.<$> description,
+                  (JSON..=) "Namespaces" Prelude.<$> namespaces,
+                  (JSON..=) "Status" Prelude.<$> status,
+                  (JSON..=) "StrategyId" Prelude.<$> strategyId,
+                  (JSON..=) "Type" Prelude.<$> type',
+                  (JSON..=) "UpdatedAt" Prelude.<$> updatedAt])))
+instance Property "Configuration" CustomMemoryStrategyProperty where
+  type PropertyType "Configuration" CustomMemoryStrategyProperty = CustomConfigurationInputProperty
+  set newValue CustomMemoryStrategyProperty {..}
+    = CustomMemoryStrategyProperty
+        {configuration = Prelude.pure newValue, ..}
+instance Property "CreatedAt" CustomMemoryStrategyProperty where
+  type PropertyType "CreatedAt" CustomMemoryStrategyProperty = Value Prelude.Text
+  set newValue CustomMemoryStrategyProperty {..}
+    = CustomMemoryStrategyProperty
+        {createdAt = Prelude.pure newValue, ..}
+instance Property "Description" CustomMemoryStrategyProperty where
+  type PropertyType "Description" CustomMemoryStrategyProperty = Value Prelude.Text
+  set newValue CustomMemoryStrategyProperty {..}
+    = CustomMemoryStrategyProperty
+        {description = Prelude.pure newValue, ..}
+instance Property "Name" CustomMemoryStrategyProperty where
+  type PropertyType "Name" CustomMemoryStrategyProperty = Value Prelude.Text
+  set newValue CustomMemoryStrategyProperty {..}
+    = CustomMemoryStrategyProperty {name = newValue, ..}
+instance Property "Namespaces" CustomMemoryStrategyProperty where
+  type PropertyType "Namespaces" CustomMemoryStrategyProperty = ValueList Prelude.Text
+  set newValue CustomMemoryStrategyProperty {..}
+    = CustomMemoryStrategyProperty
+        {namespaces = Prelude.pure newValue, ..}
+instance Property "Status" CustomMemoryStrategyProperty where
+  type PropertyType "Status" CustomMemoryStrategyProperty = Value Prelude.Text
+  set newValue CustomMemoryStrategyProperty {..}
+    = CustomMemoryStrategyProperty {status = Prelude.pure newValue, ..}
+instance Property "StrategyId" CustomMemoryStrategyProperty where
+  type PropertyType "StrategyId" CustomMemoryStrategyProperty = Value Prelude.Text
+  set newValue CustomMemoryStrategyProperty {..}
+    = CustomMemoryStrategyProperty
+        {strategyId = Prelude.pure newValue, ..}
+instance Property "Type" CustomMemoryStrategyProperty where
+  type PropertyType "Type" CustomMemoryStrategyProperty = Value Prelude.Text
+  set newValue CustomMemoryStrategyProperty {..}
+    = CustomMemoryStrategyProperty {type' = Prelude.pure newValue, ..}
+instance Property "UpdatedAt" CustomMemoryStrategyProperty where
+  type PropertyType "UpdatedAt" CustomMemoryStrategyProperty = Value Prelude.Text
+  set newValue CustomMemoryStrategyProperty {..}
+    = CustomMemoryStrategyProperty
+        {updatedAt = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/BedrockAgentCore/Memory/CustomMemoryStrategyProperty.hs-boot b/gen/Stratosphere/BedrockAgentCore/Memory/CustomMemoryStrategyProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/Memory/CustomMemoryStrategyProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.BedrockAgentCore.Memory.CustomMemoryStrategyProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data CustomMemoryStrategyProperty :: Prelude.Type
+instance ToResourceProperties CustomMemoryStrategyProperty
+instance Prelude.Eq CustomMemoryStrategyProperty
+instance Prelude.Show CustomMemoryStrategyProperty
+instance JSON.ToJSON CustomMemoryStrategyProperty
diff --git a/gen/Stratosphere/BedrockAgentCore/Memory/InvocationConfigurationInputProperty.hs b/gen/Stratosphere/BedrockAgentCore/Memory/InvocationConfigurationInputProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/Memory/InvocationConfigurationInputProperty.hs
@@ -0,0 +1,52 @@
+module Stratosphere.BedrockAgentCore.Memory.InvocationConfigurationInputProperty (
+        InvocationConfigurationInputProperty(..),
+        mkInvocationConfigurationInputProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data InvocationConfigurationInputProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-invocationconfigurationinput.html>
+    InvocationConfigurationInputProperty {haddock_workaround_ :: (),
+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-invocationconfigurationinput.html#cfn-bedrockagentcore-memory-invocationconfigurationinput-payloaddeliverybucketname>
+                                          payloadDeliveryBucketName :: (Prelude.Maybe (Value Prelude.Text)),
+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-invocationconfigurationinput.html#cfn-bedrockagentcore-memory-invocationconfigurationinput-topicarn>
+                                          topicArn :: (Prelude.Maybe (Value Prelude.Text))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkInvocationConfigurationInputProperty ::
+  InvocationConfigurationInputProperty
+mkInvocationConfigurationInputProperty
+  = InvocationConfigurationInputProperty
+      {haddock_workaround_ = (),
+       payloadDeliveryBucketName = Prelude.Nothing,
+       topicArn = Prelude.Nothing}
+instance ToResourceProperties InvocationConfigurationInputProperty where
+  toResourceProperties InvocationConfigurationInputProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::BedrockAgentCore::Memory.InvocationConfigurationInput",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "PayloadDeliveryBucketName"
+                              Prelude.<$> payloadDeliveryBucketName,
+                            (JSON..=) "TopicArn" Prelude.<$> topicArn])}
+instance JSON.ToJSON InvocationConfigurationInputProperty where
+  toJSON InvocationConfigurationInputProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "PayloadDeliveryBucketName"
+                 Prelude.<$> payloadDeliveryBucketName,
+               (JSON..=) "TopicArn" Prelude.<$> topicArn]))
+instance Property "PayloadDeliveryBucketName" InvocationConfigurationInputProperty where
+  type PropertyType "PayloadDeliveryBucketName" InvocationConfigurationInputProperty = Value Prelude.Text
+  set newValue InvocationConfigurationInputProperty {..}
+    = InvocationConfigurationInputProperty
+        {payloadDeliveryBucketName = Prelude.pure newValue, ..}
+instance Property "TopicArn" InvocationConfigurationInputProperty where
+  type PropertyType "TopicArn" InvocationConfigurationInputProperty = Value Prelude.Text
+  set newValue InvocationConfigurationInputProperty {..}
+    = InvocationConfigurationInputProperty
+        {topicArn = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/BedrockAgentCore/Memory/InvocationConfigurationInputProperty.hs-boot b/gen/Stratosphere/BedrockAgentCore/Memory/InvocationConfigurationInputProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/Memory/InvocationConfigurationInputProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.BedrockAgentCore.Memory.InvocationConfigurationInputProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data InvocationConfigurationInputProperty :: Prelude.Type
+instance ToResourceProperties InvocationConfigurationInputProperty
+instance Prelude.Eq InvocationConfigurationInputProperty
+instance Prelude.Show InvocationConfigurationInputProperty
+instance JSON.ToJSON InvocationConfigurationInputProperty
diff --git a/gen/Stratosphere/BedrockAgentCore/Memory/MemoryStrategyProperty.hs b/gen/Stratosphere/BedrockAgentCore/Memory/MemoryStrategyProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/Memory/MemoryStrategyProperty.hs
@@ -0,0 +1,77 @@
+module Stratosphere.BedrockAgentCore.Memory.MemoryStrategyProperty (
+        module Exports, MemoryStrategyProperty(..),
+        mkMemoryStrategyProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.BedrockAgentCore.Memory.CustomMemoryStrategyProperty as Exports
+import {-# SOURCE #-} Stratosphere.BedrockAgentCore.Memory.SemanticMemoryStrategyProperty as Exports
+import {-# SOURCE #-} Stratosphere.BedrockAgentCore.Memory.SummaryMemoryStrategyProperty as Exports
+import {-# SOURCE #-} Stratosphere.BedrockAgentCore.Memory.UserPreferenceMemoryStrategyProperty as Exports
+import Stratosphere.ResourceProperties
+data MemoryStrategyProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-memorystrategy.html>
+    MemoryStrategyProperty {haddock_workaround_ :: (),
+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-memorystrategy.html#cfn-bedrockagentcore-memory-memorystrategy-custommemorystrategy>
+                            customMemoryStrategy :: (Prelude.Maybe CustomMemoryStrategyProperty),
+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-memorystrategy.html#cfn-bedrockagentcore-memory-memorystrategy-semanticmemorystrategy>
+                            semanticMemoryStrategy :: (Prelude.Maybe SemanticMemoryStrategyProperty),
+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-memorystrategy.html#cfn-bedrockagentcore-memory-memorystrategy-summarymemorystrategy>
+                            summaryMemoryStrategy :: (Prelude.Maybe SummaryMemoryStrategyProperty),
+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-memorystrategy.html#cfn-bedrockagentcore-memory-memorystrategy-userpreferencememorystrategy>
+                            userPreferenceMemoryStrategy :: (Prelude.Maybe UserPreferenceMemoryStrategyProperty)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkMemoryStrategyProperty :: MemoryStrategyProperty
+mkMemoryStrategyProperty
+  = MemoryStrategyProperty
+      {haddock_workaround_ = (), customMemoryStrategy = Prelude.Nothing,
+       semanticMemoryStrategy = Prelude.Nothing,
+       summaryMemoryStrategy = Prelude.Nothing,
+       userPreferenceMemoryStrategy = Prelude.Nothing}
+instance ToResourceProperties MemoryStrategyProperty where
+  toResourceProperties MemoryStrategyProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::BedrockAgentCore::Memory.MemoryStrategy",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "CustomMemoryStrategy" Prelude.<$> customMemoryStrategy,
+                            (JSON..=) "SemanticMemoryStrategy"
+                              Prelude.<$> semanticMemoryStrategy,
+                            (JSON..=) "SummaryMemoryStrategy"
+                              Prelude.<$> summaryMemoryStrategy,
+                            (JSON..=) "UserPreferenceMemoryStrategy"
+                              Prelude.<$> userPreferenceMemoryStrategy])}
+instance JSON.ToJSON MemoryStrategyProperty where
+  toJSON MemoryStrategyProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "CustomMemoryStrategy" Prelude.<$> customMemoryStrategy,
+               (JSON..=) "SemanticMemoryStrategy"
+                 Prelude.<$> semanticMemoryStrategy,
+               (JSON..=) "SummaryMemoryStrategy"
+                 Prelude.<$> summaryMemoryStrategy,
+               (JSON..=) "UserPreferenceMemoryStrategy"
+                 Prelude.<$> userPreferenceMemoryStrategy]))
+instance Property "CustomMemoryStrategy" MemoryStrategyProperty where
+  type PropertyType "CustomMemoryStrategy" MemoryStrategyProperty = CustomMemoryStrategyProperty
+  set newValue MemoryStrategyProperty {..}
+    = MemoryStrategyProperty
+        {customMemoryStrategy = Prelude.pure newValue, ..}
+instance Property "SemanticMemoryStrategy" MemoryStrategyProperty where
+  type PropertyType "SemanticMemoryStrategy" MemoryStrategyProperty = SemanticMemoryStrategyProperty
+  set newValue MemoryStrategyProperty {..}
+    = MemoryStrategyProperty
+        {semanticMemoryStrategy = Prelude.pure newValue, ..}
+instance Property "SummaryMemoryStrategy" MemoryStrategyProperty where
+  type PropertyType "SummaryMemoryStrategy" MemoryStrategyProperty = SummaryMemoryStrategyProperty
+  set newValue MemoryStrategyProperty {..}
+    = MemoryStrategyProperty
+        {summaryMemoryStrategy = Prelude.pure newValue, ..}
+instance Property "UserPreferenceMemoryStrategy" MemoryStrategyProperty where
+  type PropertyType "UserPreferenceMemoryStrategy" MemoryStrategyProperty = UserPreferenceMemoryStrategyProperty
+  set newValue MemoryStrategyProperty {..}
+    = MemoryStrategyProperty
+        {userPreferenceMemoryStrategy = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/BedrockAgentCore/Memory/MemoryStrategyProperty.hs-boot b/gen/Stratosphere/BedrockAgentCore/Memory/MemoryStrategyProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/Memory/MemoryStrategyProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.BedrockAgentCore.Memory.MemoryStrategyProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data MemoryStrategyProperty :: Prelude.Type
+instance ToResourceProperties MemoryStrategyProperty
+instance Prelude.Eq MemoryStrategyProperty
+instance Prelude.Show MemoryStrategyProperty
+instance JSON.ToJSON MemoryStrategyProperty
diff --git a/gen/Stratosphere/BedrockAgentCore/Memory/MessageBasedTriggerInputProperty.hs b/gen/Stratosphere/BedrockAgentCore/Memory/MessageBasedTriggerInputProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/Memory/MessageBasedTriggerInputProperty.hs
@@ -0,0 +1,39 @@
+module Stratosphere.BedrockAgentCore.Memory.MessageBasedTriggerInputProperty (
+        MessageBasedTriggerInputProperty(..),
+        mkMessageBasedTriggerInputProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data MessageBasedTriggerInputProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-messagebasedtriggerinput.html>
+    MessageBasedTriggerInputProperty {haddock_workaround_ :: (),
+                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-messagebasedtriggerinput.html#cfn-bedrockagentcore-memory-messagebasedtriggerinput-messagecount>
+                                      messageCount :: (Prelude.Maybe (Value Prelude.Integer))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkMessageBasedTriggerInputProperty ::
+  MessageBasedTriggerInputProperty
+mkMessageBasedTriggerInputProperty
+  = MessageBasedTriggerInputProperty
+      {haddock_workaround_ = (), messageCount = Prelude.Nothing}
+instance ToResourceProperties MessageBasedTriggerInputProperty where
+  toResourceProperties MessageBasedTriggerInputProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::BedrockAgentCore::Memory.MessageBasedTriggerInput",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "MessageCount" Prelude.<$> messageCount])}
+instance JSON.ToJSON MessageBasedTriggerInputProperty where
+  toJSON MessageBasedTriggerInputProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "MessageCount" Prelude.<$> messageCount]))
+instance Property "MessageCount" MessageBasedTriggerInputProperty where
+  type PropertyType "MessageCount" MessageBasedTriggerInputProperty = Value Prelude.Integer
+  set newValue MessageBasedTriggerInputProperty {..}
+    = MessageBasedTriggerInputProperty
+        {messageCount = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/BedrockAgentCore/Memory/MessageBasedTriggerInputProperty.hs-boot b/gen/Stratosphere/BedrockAgentCore/Memory/MessageBasedTriggerInputProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/Memory/MessageBasedTriggerInputProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.BedrockAgentCore.Memory.MessageBasedTriggerInputProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data MessageBasedTriggerInputProperty :: Prelude.Type
+instance ToResourceProperties MessageBasedTriggerInputProperty
+instance Prelude.Eq MessageBasedTriggerInputProperty
+instance Prelude.Show MessageBasedTriggerInputProperty
+instance JSON.ToJSON MessageBasedTriggerInputProperty
diff --git a/gen/Stratosphere/BedrockAgentCore/Memory/SelfManagedConfigurationProperty.hs b/gen/Stratosphere/BedrockAgentCore/Memory/SelfManagedConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/Memory/SelfManagedConfigurationProperty.hs
@@ -0,0 +1,66 @@
+module Stratosphere.BedrockAgentCore.Memory.SelfManagedConfigurationProperty (
+        module Exports, SelfManagedConfigurationProperty(..),
+        mkSelfManagedConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.BedrockAgentCore.Memory.InvocationConfigurationInputProperty as Exports
+import {-# SOURCE #-} Stratosphere.BedrockAgentCore.Memory.TriggerConditionInputProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data SelfManagedConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-selfmanagedconfiguration.html>
+    SelfManagedConfigurationProperty {haddock_workaround_ :: (),
+                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-selfmanagedconfiguration.html#cfn-bedrockagentcore-memory-selfmanagedconfiguration-historicalcontextwindowsize>
+                                      historicalContextWindowSize :: (Prelude.Maybe (Value Prelude.Integer)),
+                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-selfmanagedconfiguration.html#cfn-bedrockagentcore-memory-selfmanagedconfiguration-invocationconfiguration>
+                                      invocationConfiguration :: (Prelude.Maybe InvocationConfigurationInputProperty),
+                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-selfmanagedconfiguration.html#cfn-bedrockagentcore-memory-selfmanagedconfiguration-triggerconditions>
+                                      triggerConditions :: (Prelude.Maybe [TriggerConditionInputProperty])}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkSelfManagedConfigurationProperty ::
+  SelfManagedConfigurationProperty
+mkSelfManagedConfigurationProperty
+  = SelfManagedConfigurationProperty
+      {haddock_workaround_ = (),
+       historicalContextWindowSize = Prelude.Nothing,
+       invocationConfiguration = Prelude.Nothing,
+       triggerConditions = Prelude.Nothing}
+instance ToResourceProperties SelfManagedConfigurationProperty where
+  toResourceProperties SelfManagedConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::BedrockAgentCore::Memory.SelfManagedConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "HistoricalContextWindowSize"
+                              Prelude.<$> historicalContextWindowSize,
+                            (JSON..=) "InvocationConfiguration"
+                              Prelude.<$> invocationConfiguration,
+                            (JSON..=) "TriggerConditions" Prelude.<$> triggerConditions])}
+instance JSON.ToJSON SelfManagedConfigurationProperty where
+  toJSON SelfManagedConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "HistoricalContextWindowSize"
+                 Prelude.<$> historicalContextWindowSize,
+               (JSON..=) "InvocationConfiguration"
+                 Prelude.<$> invocationConfiguration,
+               (JSON..=) "TriggerConditions" Prelude.<$> triggerConditions]))
+instance Property "HistoricalContextWindowSize" SelfManagedConfigurationProperty where
+  type PropertyType "HistoricalContextWindowSize" SelfManagedConfigurationProperty = Value Prelude.Integer
+  set newValue SelfManagedConfigurationProperty {..}
+    = SelfManagedConfigurationProperty
+        {historicalContextWindowSize = Prelude.pure newValue, ..}
+instance Property "InvocationConfiguration" SelfManagedConfigurationProperty where
+  type PropertyType "InvocationConfiguration" SelfManagedConfigurationProperty = InvocationConfigurationInputProperty
+  set newValue SelfManagedConfigurationProperty {..}
+    = SelfManagedConfigurationProperty
+        {invocationConfiguration = Prelude.pure newValue, ..}
+instance Property "TriggerConditions" SelfManagedConfigurationProperty where
+  type PropertyType "TriggerConditions" SelfManagedConfigurationProperty = [TriggerConditionInputProperty]
+  set newValue SelfManagedConfigurationProperty {..}
+    = SelfManagedConfigurationProperty
+        {triggerConditions = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/BedrockAgentCore/Memory/SelfManagedConfigurationProperty.hs-boot b/gen/Stratosphere/BedrockAgentCore/Memory/SelfManagedConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/Memory/SelfManagedConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.BedrockAgentCore.Memory.SelfManagedConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data SelfManagedConfigurationProperty :: Prelude.Type
+instance ToResourceProperties SelfManagedConfigurationProperty
+instance Prelude.Eq SelfManagedConfigurationProperty
+instance Prelude.Show SelfManagedConfigurationProperty
+instance JSON.ToJSON SelfManagedConfigurationProperty
diff --git a/gen/Stratosphere/BedrockAgentCore/Memory/SemanticMemoryStrategyProperty.hs b/gen/Stratosphere/BedrockAgentCore/Memory/SemanticMemoryStrategyProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/Memory/SemanticMemoryStrategyProperty.hs
@@ -0,0 +1,107 @@
+module Stratosphere.BedrockAgentCore.Memory.SemanticMemoryStrategyProperty (
+        SemanticMemoryStrategyProperty(..),
+        mkSemanticMemoryStrategyProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data SemanticMemoryStrategyProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-semanticmemorystrategy.html>
+    SemanticMemoryStrategyProperty {haddock_workaround_ :: (),
+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-semanticmemorystrategy.html#cfn-bedrockagentcore-memory-semanticmemorystrategy-createdat>
+                                    createdAt :: (Prelude.Maybe (Value Prelude.Text)),
+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-semanticmemorystrategy.html#cfn-bedrockagentcore-memory-semanticmemorystrategy-description>
+                                    description :: (Prelude.Maybe (Value Prelude.Text)),
+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-semanticmemorystrategy.html#cfn-bedrockagentcore-memory-semanticmemorystrategy-name>
+                                    name :: (Value Prelude.Text),
+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-semanticmemorystrategy.html#cfn-bedrockagentcore-memory-semanticmemorystrategy-namespaces>
+                                    namespaces :: (Prelude.Maybe (ValueList Prelude.Text)),
+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-semanticmemorystrategy.html#cfn-bedrockagentcore-memory-semanticmemorystrategy-status>
+                                    status :: (Prelude.Maybe (Value Prelude.Text)),
+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-semanticmemorystrategy.html#cfn-bedrockagentcore-memory-semanticmemorystrategy-strategyid>
+                                    strategyId :: (Prelude.Maybe (Value Prelude.Text)),
+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-semanticmemorystrategy.html#cfn-bedrockagentcore-memory-semanticmemorystrategy-type>
+                                    type' :: (Prelude.Maybe (Value Prelude.Text)),
+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-semanticmemorystrategy.html#cfn-bedrockagentcore-memory-semanticmemorystrategy-updatedat>
+                                    updatedAt :: (Prelude.Maybe (Value Prelude.Text))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkSemanticMemoryStrategyProperty ::
+  Value Prelude.Text -> SemanticMemoryStrategyProperty
+mkSemanticMemoryStrategyProperty name
+  = SemanticMemoryStrategyProperty
+      {haddock_workaround_ = (), name = name,
+       createdAt = Prelude.Nothing, description = Prelude.Nothing,
+       namespaces = Prelude.Nothing, status = Prelude.Nothing,
+       strategyId = Prelude.Nothing, type' = Prelude.Nothing,
+       updatedAt = Prelude.Nothing}
+instance ToResourceProperties SemanticMemoryStrategyProperty where
+  toResourceProperties SemanticMemoryStrategyProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::BedrockAgentCore::Memory.SemanticMemoryStrategy",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["Name" JSON..= name]
+                           (Prelude.catMaybes
+                              [(JSON..=) "CreatedAt" Prelude.<$> createdAt,
+                               (JSON..=) "Description" Prelude.<$> description,
+                               (JSON..=) "Namespaces" Prelude.<$> namespaces,
+                               (JSON..=) "Status" Prelude.<$> status,
+                               (JSON..=) "StrategyId" Prelude.<$> strategyId,
+                               (JSON..=) "Type" Prelude.<$> type',
+                               (JSON..=) "UpdatedAt" Prelude.<$> updatedAt]))}
+instance JSON.ToJSON SemanticMemoryStrategyProperty where
+  toJSON SemanticMemoryStrategyProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["Name" JSON..= name]
+              (Prelude.catMaybes
+                 [(JSON..=) "CreatedAt" Prelude.<$> createdAt,
+                  (JSON..=) "Description" Prelude.<$> description,
+                  (JSON..=) "Namespaces" Prelude.<$> namespaces,
+                  (JSON..=) "Status" Prelude.<$> status,
+                  (JSON..=) "StrategyId" Prelude.<$> strategyId,
+                  (JSON..=) "Type" Prelude.<$> type',
+                  (JSON..=) "UpdatedAt" Prelude.<$> updatedAt])))
+instance Property "CreatedAt" SemanticMemoryStrategyProperty where
+  type PropertyType "CreatedAt" SemanticMemoryStrategyProperty = Value Prelude.Text
+  set newValue SemanticMemoryStrategyProperty {..}
+    = SemanticMemoryStrategyProperty
+        {createdAt = Prelude.pure newValue, ..}
+instance Property "Description" SemanticMemoryStrategyProperty where
+  type PropertyType "Description" SemanticMemoryStrategyProperty = Value Prelude.Text
+  set newValue SemanticMemoryStrategyProperty {..}
+    = SemanticMemoryStrategyProperty
+        {description = Prelude.pure newValue, ..}
+instance Property "Name" SemanticMemoryStrategyProperty where
+  type PropertyType "Name" SemanticMemoryStrategyProperty = Value Prelude.Text
+  set newValue SemanticMemoryStrategyProperty {..}
+    = SemanticMemoryStrategyProperty {name = newValue, ..}
+instance Property "Namespaces" SemanticMemoryStrategyProperty where
+  type PropertyType "Namespaces" SemanticMemoryStrategyProperty = ValueList Prelude.Text
+  set newValue SemanticMemoryStrategyProperty {..}
+    = SemanticMemoryStrategyProperty
+        {namespaces = Prelude.pure newValue, ..}
+instance Property "Status" SemanticMemoryStrategyProperty where
+  type PropertyType "Status" SemanticMemoryStrategyProperty = Value Prelude.Text
+  set newValue SemanticMemoryStrategyProperty {..}
+    = SemanticMemoryStrategyProperty
+        {status = Prelude.pure newValue, ..}
+instance Property "StrategyId" SemanticMemoryStrategyProperty where
+  type PropertyType "StrategyId" SemanticMemoryStrategyProperty = Value Prelude.Text
+  set newValue SemanticMemoryStrategyProperty {..}
+    = SemanticMemoryStrategyProperty
+        {strategyId = Prelude.pure newValue, ..}
+instance Property "Type" SemanticMemoryStrategyProperty where
+  type PropertyType "Type" SemanticMemoryStrategyProperty = Value Prelude.Text
+  set newValue SemanticMemoryStrategyProperty {..}
+    = SemanticMemoryStrategyProperty
+        {type' = Prelude.pure newValue, ..}
+instance Property "UpdatedAt" SemanticMemoryStrategyProperty where
+  type PropertyType "UpdatedAt" SemanticMemoryStrategyProperty = Value Prelude.Text
+  set newValue SemanticMemoryStrategyProperty {..}
+    = SemanticMemoryStrategyProperty
+        {updatedAt = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/BedrockAgentCore/Memory/SemanticMemoryStrategyProperty.hs-boot b/gen/Stratosphere/BedrockAgentCore/Memory/SemanticMemoryStrategyProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/Memory/SemanticMemoryStrategyProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.BedrockAgentCore.Memory.SemanticMemoryStrategyProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data SemanticMemoryStrategyProperty :: Prelude.Type
+instance ToResourceProperties SemanticMemoryStrategyProperty
+instance Prelude.Eq SemanticMemoryStrategyProperty
+instance Prelude.Show SemanticMemoryStrategyProperty
+instance JSON.ToJSON SemanticMemoryStrategyProperty
diff --git a/gen/Stratosphere/BedrockAgentCore/Memory/SemanticOverrideConsolidationConfigurationInputProperty.hs b/gen/Stratosphere/BedrockAgentCore/Memory/SemanticOverrideConsolidationConfigurationInputProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/Memory/SemanticOverrideConsolidationConfigurationInputProperty.hs
@@ -0,0 +1,54 @@
+module Stratosphere.BedrockAgentCore.Memory.SemanticOverrideConsolidationConfigurationInputProperty (
+        SemanticOverrideConsolidationConfigurationInputProperty(..),
+        mkSemanticOverrideConsolidationConfigurationInputProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data SemanticOverrideConsolidationConfigurationInputProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-semanticoverrideconsolidationconfigurationinput.html>
+    SemanticOverrideConsolidationConfigurationInputProperty {haddock_workaround_ :: (),
+                                                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-semanticoverrideconsolidationconfigurationinput.html#cfn-bedrockagentcore-memory-semanticoverrideconsolidationconfigurationinput-appendtoprompt>
+                                                             appendToPrompt :: (Value Prelude.Text),
+                                                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-semanticoverrideconsolidationconfigurationinput.html#cfn-bedrockagentcore-memory-semanticoverrideconsolidationconfigurationinput-modelid>
+                                                             modelId :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkSemanticOverrideConsolidationConfigurationInputProperty ::
+  Value Prelude.Text
+  -> Value Prelude.Text
+     -> SemanticOverrideConsolidationConfigurationInputProperty
+mkSemanticOverrideConsolidationConfigurationInputProperty
+  appendToPrompt
+  modelId
+  = SemanticOverrideConsolidationConfigurationInputProperty
+      {haddock_workaround_ = (), appendToPrompt = appendToPrompt,
+       modelId = modelId}
+instance ToResourceProperties SemanticOverrideConsolidationConfigurationInputProperty where
+  toResourceProperties
+    SemanticOverrideConsolidationConfigurationInputProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::BedrockAgentCore::Memory.SemanticOverrideConsolidationConfigurationInput",
+         supportsTags = Prelude.False,
+         properties = ["AppendToPrompt" JSON..= appendToPrompt,
+                       "ModelId" JSON..= modelId]}
+instance JSON.ToJSON SemanticOverrideConsolidationConfigurationInputProperty where
+  toJSON SemanticOverrideConsolidationConfigurationInputProperty {..}
+    = JSON.object
+        ["AppendToPrompt" JSON..= appendToPrompt,
+         "ModelId" JSON..= modelId]
+instance Property "AppendToPrompt" SemanticOverrideConsolidationConfigurationInputProperty where
+  type PropertyType "AppendToPrompt" SemanticOverrideConsolidationConfigurationInputProperty = Value Prelude.Text
+  set
+    newValue
+    SemanticOverrideConsolidationConfigurationInputProperty {..}
+    = SemanticOverrideConsolidationConfigurationInputProperty
+        {appendToPrompt = newValue, ..}
+instance Property "ModelId" SemanticOverrideConsolidationConfigurationInputProperty where
+  type PropertyType "ModelId" SemanticOverrideConsolidationConfigurationInputProperty = Value Prelude.Text
+  set
+    newValue
+    SemanticOverrideConsolidationConfigurationInputProperty {..}
+    = SemanticOverrideConsolidationConfigurationInputProperty
+        {modelId = newValue, ..}
diff --git a/gen/Stratosphere/BedrockAgentCore/Memory/SemanticOverrideConsolidationConfigurationInputProperty.hs-boot b/gen/Stratosphere/BedrockAgentCore/Memory/SemanticOverrideConsolidationConfigurationInputProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/Memory/SemanticOverrideConsolidationConfigurationInputProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.BedrockAgentCore.Memory.SemanticOverrideConsolidationConfigurationInputProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data SemanticOverrideConsolidationConfigurationInputProperty :: Prelude.Type
+instance ToResourceProperties SemanticOverrideConsolidationConfigurationInputProperty
+instance Prelude.Eq SemanticOverrideConsolidationConfigurationInputProperty
+instance Prelude.Show SemanticOverrideConsolidationConfigurationInputProperty
+instance JSON.ToJSON SemanticOverrideConsolidationConfigurationInputProperty
diff --git a/gen/Stratosphere/BedrockAgentCore/Memory/SemanticOverrideExtractionConfigurationInputProperty.hs b/gen/Stratosphere/BedrockAgentCore/Memory/SemanticOverrideExtractionConfigurationInputProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/Memory/SemanticOverrideExtractionConfigurationInputProperty.hs
@@ -0,0 +1,54 @@
+module Stratosphere.BedrockAgentCore.Memory.SemanticOverrideExtractionConfigurationInputProperty (
+        SemanticOverrideExtractionConfigurationInputProperty(..),
+        mkSemanticOverrideExtractionConfigurationInputProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data SemanticOverrideExtractionConfigurationInputProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-semanticoverrideextractionconfigurationinput.html>
+    SemanticOverrideExtractionConfigurationInputProperty {haddock_workaround_ :: (),
+                                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-semanticoverrideextractionconfigurationinput.html#cfn-bedrockagentcore-memory-semanticoverrideextractionconfigurationinput-appendtoprompt>
+                                                          appendToPrompt :: (Value Prelude.Text),
+                                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-semanticoverrideextractionconfigurationinput.html#cfn-bedrockagentcore-memory-semanticoverrideextractionconfigurationinput-modelid>
+                                                          modelId :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkSemanticOverrideExtractionConfigurationInputProperty ::
+  Value Prelude.Text
+  -> Value Prelude.Text
+     -> SemanticOverrideExtractionConfigurationInputProperty
+mkSemanticOverrideExtractionConfigurationInputProperty
+  appendToPrompt
+  modelId
+  = SemanticOverrideExtractionConfigurationInputProperty
+      {haddock_workaround_ = (), appendToPrompt = appendToPrompt,
+       modelId = modelId}
+instance ToResourceProperties SemanticOverrideExtractionConfigurationInputProperty where
+  toResourceProperties
+    SemanticOverrideExtractionConfigurationInputProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::BedrockAgentCore::Memory.SemanticOverrideExtractionConfigurationInput",
+         supportsTags = Prelude.False,
+         properties = ["AppendToPrompt" JSON..= appendToPrompt,
+                       "ModelId" JSON..= modelId]}
+instance JSON.ToJSON SemanticOverrideExtractionConfigurationInputProperty where
+  toJSON SemanticOverrideExtractionConfigurationInputProperty {..}
+    = JSON.object
+        ["AppendToPrompt" JSON..= appendToPrompt,
+         "ModelId" JSON..= modelId]
+instance Property "AppendToPrompt" SemanticOverrideExtractionConfigurationInputProperty where
+  type PropertyType "AppendToPrompt" SemanticOverrideExtractionConfigurationInputProperty = Value Prelude.Text
+  set
+    newValue
+    SemanticOverrideExtractionConfigurationInputProperty {..}
+    = SemanticOverrideExtractionConfigurationInputProperty
+        {appendToPrompt = newValue, ..}
+instance Property "ModelId" SemanticOverrideExtractionConfigurationInputProperty where
+  type PropertyType "ModelId" SemanticOverrideExtractionConfigurationInputProperty = Value Prelude.Text
+  set
+    newValue
+    SemanticOverrideExtractionConfigurationInputProperty {..}
+    = SemanticOverrideExtractionConfigurationInputProperty
+        {modelId = newValue, ..}
diff --git a/gen/Stratosphere/BedrockAgentCore/Memory/SemanticOverrideExtractionConfigurationInputProperty.hs-boot b/gen/Stratosphere/BedrockAgentCore/Memory/SemanticOverrideExtractionConfigurationInputProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/Memory/SemanticOverrideExtractionConfigurationInputProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.BedrockAgentCore.Memory.SemanticOverrideExtractionConfigurationInputProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data SemanticOverrideExtractionConfigurationInputProperty :: Prelude.Type
+instance ToResourceProperties SemanticOverrideExtractionConfigurationInputProperty
+instance Prelude.Eq SemanticOverrideExtractionConfigurationInputProperty
+instance Prelude.Show SemanticOverrideExtractionConfigurationInputProperty
+instance JSON.ToJSON SemanticOverrideExtractionConfigurationInputProperty
diff --git a/gen/Stratosphere/BedrockAgentCore/Memory/SemanticOverrideProperty.hs b/gen/Stratosphere/BedrockAgentCore/Memory/SemanticOverrideProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/Memory/SemanticOverrideProperty.hs
@@ -0,0 +1,48 @@
+module Stratosphere.BedrockAgentCore.Memory.SemanticOverrideProperty (
+        module Exports, SemanticOverrideProperty(..),
+        mkSemanticOverrideProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.BedrockAgentCore.Memory.SemanticOverrideConsolidationConfigurationInputProperty as Exports
+import {-# SOURCE #-} Stratosphere.BedrockAgentCore.Memory.SemanticOverrideExtractionConfigurationInputProperty as Exports
+import Stratosphere.ResourceProperties
+data SemanticOverrideProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-semanticoverride.html>
+    SemanticOverrideProperty {haddock_workaround_ :: (),
+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-semanticoverride.html#cfn-bedrockagentcore-memory-semanticoverride-consolidation>
+                              consolidation :: (Prelude.Maybe SemanticOverrideConsolidationConfigurationInputProperty),
+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-semanticoverride.html#cfn-bedrockagentcore-memory-semanticoverride-extraction>
+                              extraction :: (Prelude.Maybe SemanticOverrideExtractionConfigurationInputProperty)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkSemanticOverrideProperty :: SemanticOverrideProperty
+mkSemanticOverrideProperty
+  = SemanticOverrideProperty
+      {haddock_workaround_ = (), consolidation = Prelude.Nothing,
+       extraction = Prelude.Nothing}
+instance ToResourceProperties SemanticOverrideProperty where
+  toResourceProperties SemanticOverrideProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::BedrockAgentCore::Memory.SemanticOverride",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "Consolidation" Prelude.<$> consolidation,
+                            (JSON..=) "Extraction" Prelude.<$> extraction])}
+instance JSON.ToJSON SemanticOverrideProperty where
+  toJSON SemanticOverrideProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "Consolidation" Prelude.<$> consolidation,
+               (JSON..=) "Extraction" Prelude.<$> extraction]))
+instance Property "Consolidation" SemanticOverrideProperty where
+  type PropertyType "Consolidation" SemanticOverrideProperty = SemanticOverrideConsolidationConfigurationInputProperty
+  set newValue SemanticOverrideProperty {..}
+    = SemanticOverrideProperty
+        {consolidation = Prelude.pure newValue, ..}
+instance Property "Extraction" SemanticOverrideProperty where
+  type PropertyType "Extraction" SemanticOverrideProperty = SemanticOverrideExtractionConfigurationInputProperty
+  set newValue SemanticOverrideProperty {..}
+    = SemanticOverrideProperty {extraction = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/BedrockAgentCore/Memory/SemanticOverrideProperty.hs-boot b/gen/Stratosphere/BedrockAgentCore/Memory/SemanticOverrideProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/Memory/SemanticOverrideProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.BedrockAgentCore.Memory.SemanticOverrideProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data SemanticOverrideProperty :: Prelude.Type
+instance ToResourceProperties SemanticOverrideProperty
+instance Prelude.Eq SemanticOverrideProperty
+instance Prelude.Show SemanticOverrideProperty
+instance JSON.ToJSON SemanticOverrideProperty
diff --git a/gen/Stratosphere/BedrockAgentCore/Memory/SummaryMemoryStrategyProperty.hs b/gen/Stratosphere/BedrockAgentCore/Memory/SummaryMemoryStrategyProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/Memory/SummaryMemoryStrategyProperty.hs
@@ -0,0 +1,105 @@
+module Stratosphere.BedrockAgentCore.Memory.SummaryMemoryStrategyProperty (
+        SummaryMemoryStrategyProperty(..), mkSummaryMemoryStrategyProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data SummaryMemoryStrategyProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-summarymemorystrategy.html>
+    SummaryMemoryStrategyProperty {haddock_workaround_ :: (),
+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-summarymemorystrategy.html#cfn-bedrockagentcore-memory-summarymemorystrategy-createdat>
+                                   createdAt :: (Prelude.Maybe (Value Prelude.Text)),
+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-summarymemorystrategy.html#cfn-bedrockagentcore-memory-summarymemorystrategy-description>
+                                   description :: (Prelude.Maybe (Value Prelude.Text)),
+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-summarymemorystrategy.html#cfn-bedrockagentcore-memory-summarymemorystrategy-name>
+                                   name :: (Value Prelude.Text),
+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-summarymemorystrategy.html#cfn-bedrockagentcore-memory-summarymemorystrategy-namespaces>
+                                   namespaces :: (Prelude.Maybe (ValueList Prelude.Text)),
+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-summarymemorystrategy.html#cfn-bedrockagentcore-memory-summarymemorystrategy-status>
+                                   status :: (Prelude.Maybe (Value Prelude.Text)),
+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-summarymemorystrategy.html#cfn-bedrockagentcore-memory-summarymemorystrategy-strategyid>
+                                   strategyId :: (Prelude.Maybe (Value Prelude.Text)),
+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-summarymemorystrategy.html#cfn-bedrockagentcore-memory-summarymemorystrategy-type>
+                                   type' :: (Prelude.Maybe (Value Prelude.Text)),
+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-summarymemorystrategy.html#cfn-bedrockagentcore-memory-summarymemorystrategy-updatedat>
+                                   updatedAt :: (Prelude.Maybe (Value Prelude.Text))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkSummaryMemoryStrategyProperty ::
+  Value Prelude.Text -> SummaryMemoryStrategyProperty
+mkSummaryMemoryStrategyProperty name
+  = SummaryMemoryStrategyProperty
+      {haddock_workaround_ = (), name = name,
+       createdAt = Prelude.Nothing, description = Prelude.Nothing,
+       namespaces = Prelude.Nothing, status = Prelude.Nothing,
+       strategyId = Prelude.Nothing, type' = Prelude.Nothing,
+       updatedAt = Prelude.Nothing}
+instance ToResourceProperties SummaryMemoryStrategyProperty where
+  toResourceProperties SummaryMemoryStrategyProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::BedrockAgentCore::Memory.SummaryMemoryStrategy",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["Name" JSON..= name]
+                           (Prelude.catMaybes
+                              [(JSON..=) "CreatedAt" Prelude.<$> createdAt,
+                               (JSON..=) "Description" Prelude.<$> description,
+                               (JSON..=) "Namespaces" Prelude.<$> namespaces,
+                               (JSON..=) "Status" Prelude.<$> status,
+                               (JSON..=) "StrategyId" Prelude.<$> strategyId,
+                               (JSON..=) "Type" Prelude.<$> type',
+                               (JSON..=) "UpdatedAt" Prelude.<$> updatedAt]))}
+instance JSON.ToJSON SummaryMemoryStrategyProperty where
+  toJSON SummaryMemoryStrategyProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["Name" JSON..= name]
+              (Prelude.catMaybes
+                 [(JSON..=) "CreatedAt" Prelude.<$> createdAt,
+                  (JSON..=) "Description" Prelude.<$> description,
+                  (JSON..=) "Namespaces" Prelude.<$> namespaces,
+                  (JSON..=) "Status" Prelude.<$> status,
+                  (JSON..=) "StrategyId" Prelude.<$> strategyId,
+                  (JSON..=) "Type" Prelude.<$> type',
+                  (JSON..=) "UpdatedAt" Prelude.<$> updatedAt])))
+instance Property "CreatedAt" SummaryMemoryStrategyProperty where
+  type PropertyType "CreatedAt" SummaryMemoryStrategyProperty = Value Prelude.Text
+  set newValue SummaryMemoryStrategyProperty {..}
+    = SummaryMemoryStrategyProperty
+        {createdAt = Prelude.pure newValue, ..}
+instance Property "Description" SummaryMemoryStrategyProperty where
+  type PropertyType "Description" SummaryMemoryStrategyProperty = Value Prelude.Text
+  set newValue SummaryMemoryStrategyProperty {..}
+    = SummaryMemoryStrategyProperty
+        {description = Prelude.pure newValue, ..}
+instance Property "Name" SummaryMemoryStrategyProperty where
+  type PropertyType "Name" SummaryMemoryStrategyProperty = Value Prelude.Text
+  set newValue SummaryMemoryStrategyProperty {..}
+    = SummaryMemoryStrategyProperty {name = newValue, ..}
+instance Property "Namespaces" SummaryMemoryStrategyProperty where
+  type PropertyType "Namespaces" SummaryMemoryStrategyProperty = ValueList Prelude.Text
+  set newValue SummaryMemoryStrategyProperty {..}
+    = SummaryMemoryStrategyProperty
+        {namespaces = Prelude.pure newValue, ..}
+instance Property "Status" SummaryMemoryStrategyProperty where
+  type PropertyType "Status" SummaryMemoryStrategyProperty = Value Prelude.Text
+  set newValue SummaryMemoryStrategyProperty {..}
+    = SummaryMemoryStrategyProperty
+        {status = Prelude.pure newValue, ..}
+instance Property "StrategyId" SummaryMemoryStrategyProperty where
+  type PropertyType "StrategyId" SummaryMemoryStrategyProperty = Value Prelude.Text
+  set newValue SummaryMemoryStrategyProperty {..}
+    = SummaryMemoryStrategyProperty
+        {strategyId = Prelude.pure newValue, ..}
+instance Property "Type" SummaryMemoryStrategyProperty where
+  type PropertyType "Type" SummaryMemoryStrategyProperty = Value Prelude.Text
+  set newValue SummaryMemoryStrategyProperty {..}
+    = SummaryMemoryStrategyProperty {type' = Prelude.pure newValue, ..}
+instance Property "UpdatedAt" SummaryMemoryStrategyProperty where
+  type PropertyType "UpdatedAt" SummaryMemoryStrategyProperty = Value Prelude.Text
+  set newValue SummaryMemoryStrategyProperty {..}
+    = SummaryMemoryStrategyProperty
+        {updatedAt = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/BedrockAgentCore/Memory/SummaryMemoryStrategyProperty.hs-boot b/gen/Stratosphere/BedrockAgentCore/Memory/SummaryMemoryStrategyProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/Memory/SummaryMemoryStrategyProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.BedrockAgentCore.Memory.SummaryMemoryStrategyProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data SummaryMemoryStrategyProperty :: Prelude.Type
+instance ToResourceProperties SummaryMemoryStrategyProperty
+instance Prelude.Eq SummaryMemoryStrategyProperty
+instance Prelude.Show SummaryMemoryStrategyProperty
+instance JSON.ToJSON SummaryMemoryStrategyProperty
diff --git a/gen/Stratosphere/BedrockAgentCore/Memory/SummaryOverrideConsolidationConfigurationInputProperty.hs b/gen/Stratosphere/BedrockAgentCore/Memory/SummaryOverrideConsolidationConfigurationInputProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/Memory/SummaryOverrideConsolidationConfigurationInputProperty.hs
@@ -0,0 +1,54 @@
+module Stratosphere.BedrockAgentCore.Memory.SummaryOverrideConsolidationConfigurationInputProperty (
+        SummaryOverrideConsolidationConfigurationInputProperty(..),
+        mkSummaryOverrideConsolidationConfigurationInputProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data SummaryOverrideConsolidationConfigurationInputProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-summaryoverrideconsolidationconfigurationinput.html>
+    SummaryOverrideConsolidationConfigurationInputProperty {haddock_workaround_ :: (),
+                                                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-summaryoverrideconsolidationconfigurationinput.html#cfn-bedrockagentcore-memory-summaryoverrideconsolidationconfigurationinput-appendtoprompt>
+                                                            appendToPrompt :: (Value Prelude.Text),
+                                                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-summaryoverrideconsolidationconfigurationinput.html#cfn-bedrockagentcore-memory-summaryoverrideconsolidationconfigurationinput-modelid>
+                                                            modelId :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkSummaryOverrideConsolidationConfigurationInputProperty ::
+  Value Prelude.Text
+  -> Value Prelude.Text
+     -> SummaryOverrideConsolidationConfigurationInputProperty
+mkSummaryOverrideConsolidationConfigurationInputProperty
+  appendToPrompt
+  modelId
+  = SummaryOverrideConsolidationConfigurationInputProperty
+      {haddock_workaround_ = (), appendToPrompt = appendToPrompt,
+       modelId = modelId}
+instance ToResourceProperties SummaryOverrideConsolidationConfigurationInputProperty where
+  toResourceProperties
+    SummaryOverrideConsolidationConfigurationInputProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::BedrockAgentCore::Memory.SummaryOverrideConsolidationConfigurationInput",
+         supportsTags = Prelude.False,
+         properties = ["AppendToPrompt" JSON..= appendToPrompt,
+                       "ModelId" JSON..= modelId]}
+instance JSON.ToJSON SummaryOverrideConsolidationConfigurationInputProperty where
+  toJSON SummaryOverrideConsolidationConfigurationInputProperty {..}
+    = JSON.object
+        ["AppendToPrompt" JSON..= appendToPrompt,
+         "ModelId" JSON..= modelId]
+instance Property "AppendToPrompt" SummaryOverrideConsolidationConfigurationInputProperty where
+  type PropertyType "AppendToPrompt" SummaryOverrideConsolidationConfigurationInputProperty = Value Prelude.Text
+  set
+    newValue
+    SummaryOverrideConsolidationConfigurationInputProperty {..}
+    = SummaryOverrideConsolidationConfigurationInputProperty
+        {appendToPrompt = newValue, ..}
+instance Property "ModelId" SummaryOverrideConsolidationConfigurationInputProperty where
+  type PropertyType "ModelId" SummaryOverrideConsolidationConfigurationInputProperty = Value Prelude.Text
+  set
+    newValue
+    SummaryOverrideConsolidationConfigurationInputProperty {..}
+    = SummaryOverrideConsolidationConfigurationInputProperty
+        {modelId = newValue, ..}
diff --git a/gen/Stratosphere/BedrockAgentCore/Memory/SummaryOverrideConsolidationConfigurationInputProperty.hs-boot b/gen/Stratosphere/BedrockAgentCore/Memory/SummaryOverrideConsolidationConfigurationInputProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/Memory/SummaryOverrideConsolidationConfigurationInputProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.BedrockAgentCore.Memory.SummaryOverrideConsolidationConfigurationInputProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data SummaryOverrideConsolidationConfigurationInputProperty :: Prelude.Type
+instance ToResourceProperties SummaryOverrideConsolidationConfigurationInputProperty
+instance Prelude.Eq SummaryOverrideConsolidationConfigurationInputProperty
+instance Prelude.Show SummaryOverrideConsolidationConfigurationInputProperty
+instance JSON.ToJSON SummaryOverrideConsolidationConfigurationInputProperty
diff --git a/gen/Stratosphere/BedrockAgentCore/Memory/SummaryOverrideProperty.hs b/gen/Stratosphere/BedrockAgentCore/Memory/SummaryOverrideProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/Memory/SummaryOverrideProperty.hs
@@ -0,0 +1,38 @@
+module Stratosphere.BedrockAgentCore.Memory.SummaryOverrideProperty (
+        module Exports, SummaryOverrideProperty(..),
+        mkSummaryOverrideProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.BedrockAgentCore.Memory.SummaryOverrideConsolidationConfigurationInputProperty as Exports
+import Stratosphere.ResourceProperties
+data SummaryOverrideProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-summaryoverride.html>
+    SummaryOverrideProperty {haddock_workaround_ :: (),
+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-summaryoverride.html#cfn-bedrockagentcore-memory-summaryoverride-consolidation>
+                             consolidation :: (Prelude.Maybe SummaryOverrideConsolidationConfigurationInputProperty)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkSummaryOverrideProperty :: SummaryOverrideProperty
+mkSummaryOverrideProperty
+  = SummaryOverrideProperty
+      {haddock_workaround_ = (), consolidation = Prelude.Nothing}
+instance ToResourceProperties SummaryOverrideProperty where
+  toResourceProperties SummaryOverrideProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::BedrockAgentCore::Memory.SummaryOverride",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "Consolidation" Prelude.<$> consolidation])}
+instance JSON.ToJSON SummaryOverrideProperty where
+  toJSON SummaryOverrideProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "Consolidation" Prelude.<$> consolidation]))
+instance Property "Consolidation" SummaryOverrideProperty where
+  type PropertyType "Consolidation" SummaryOverrideProperty = SummaryOverrideConsolidationConfigurationInputProperty
+  set newValue SummaryOverrideProperty {..}
+    = SummaryOverrideProperty
+        {consolidation = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/BedrockAgentCore/Memory/SummaryOverrideProperty.hs-boot b/gen/Stratosphere/BedrockAgentCore/Memory/SummaryOverrideProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/Memory/SummaryOverrideProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.BedrockAgentCore.Memory.SummaryOverrideProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data SummaryOverrideProperty :: Prelude.Type
+instance ToResourceProperties SummaryOverrideProperty
+instance Prelude.Eq SummaryOverrideProperty
+instance Prelude.Show SummaryOverrideProperty
+instance JSON.ToJSON SummaryOverrideProperty
diff --git a/gen/Stratosphere/BedrockAgentCore/Memory/TimeBasedTriggerInputProperty.hs b/gen/Stratosphere/BedrockAgentCore/Memory/TimeBasedTriggerInputProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/Memory/TimeBasedTriggerInputProperty.hs
@@ -0,0 +1,37 @@
+module Stratosphere.BedrockAgentCore.Memory.TimeBasedTriggerInputProperty (
+        TimeBasedTriggerInputProperty(..), mkTimeBasedTriggerInputProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data TimeBasedTriggerInputProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-timebasedtriggerinput.html>
+    TimeBasedTriggerInputProperty {haddock_workaround_ :: (),
+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-timebasedtriggerinput.html#cfn-bedrockagentcore-memory-timebasedtriggerinput-idlesessiontimeout>
+                                   idleSessionTimeout :: (Prelude.Maybe (Value Prelude.Integer))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkTimeBasedTriggerInputProperty :: TimeBasedTriggerInputProperty
+mkTimeBasedTriggerInputProperty
+  = TimeBasedTriggerInputProperty
+      {haddock_workaround_ = (), idleSessionTimeout = Prelude.Nothing}
+instance ToResourceProperties TimeBasedTriggerInputProperty where
+  toResourceProperties TimeBasedTriggerInputProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::BedrockAgentCore::Memory.TimeBasedTriggerInput",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "IdleSessionTimeout" Prelude.<$> idleSessionTimeout])}
+instance JSON.ToJSON TimeBasedTriggerInputProperty where
+  toJSON TimeBasedTriggerInputProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "IdleSessionTimeout" Prelude.<$> idleSessionTimeout]))
+instance Property "IdleSessionTimeout" TimeBasedTriggerInputProperty where
+  type PropertyType "IdleSessionTimeout" TimeBasedTriggerInputProperty = Value Prelude.Integer
+  set newValue TimeBasedTriggerInputProperty {..}
+    = TimeBasedTriggerInputProperty
+        {idleSessionTimeout = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/BedrockAgentCore/Memory/TimeBasedTriggerInputProperty.hs-boot b/gen/Stratosphere/BedrockAgentCore/Memory/TimeBasedTriggerInputProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/Memory/TimeBasedTriggerInputProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.BedrockAgentCore.Memory.TimeBasedTriggerInputProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data TimeBasedTriggerInputProperty :: Prelude.Type
+instance ToResourceProperties TimeBasedTriggerInputProperty
+instance Prelude.Eq TimeBasedTriggerInputProperty
+instance Prelude.Show TimeBasedTriggerInputProperty
+instance JSON.ToJSON TimeBasedTriggerInputProperty
diff --git a/gen/Stratosphere/BedrockAgentCore/Memory/TokenBasedTriggerInputProperty.hs b/gen/Stratosphere/BedrockAgentCore/Memory/TokenBasedTriggerInputProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/Memory/TokenBasedTriggerInputProperty.hs
@@ -0,0 +1,38 @@
+module Stratosphere.BedrockAgentCore.Memory.TokenBasedTriggerInputProperty (
+        TokenBasedTriggerInputProperty(..),
+        mkTokenBasedTriggerInputProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data TokenBasedTriggerInputProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-tokenbasedtriggerinput.html>
+    TokenBasedTriggerInputProperty {haddock_workaround_ :: (),
+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-tokenbasedtriggerinput.html#cfn-bedrockagentcore-memory-tokenbasedtriggerinput-tokencount>
+                                    tokenCount :: (Prelude.Maybe (Value Prelude.Integer))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkTokenBasedTriggerInputProperty :: TokenBasedTriggerInputProperty
+mkTokenBasedTriggerInputProperty
+  = TokenBasedTriggerInputProperty
+      {haddock_workaround_ = (), tokenCount = Prelude.Nothing}
+instance ToResourceProperties TokenBasedTriggerInputProperty where
+  toResourceProperties TokenBasedTriggerInputProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::BedrockAgentCore::Memory.TokenBasedTriggerInput",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "TokenCount" Prelude.<$> tokenCount])}
+instance JSON.ToJSON TokenBasedTriggerInputProperty where
+  toJSON TokenBasedTriggerInputProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "TokenCount" Prelude.<$> tokenCount]))
+instance Property "TokenCount" TokenBasedTriggerInputProperty where
+  type PropertyType "TokenCount" TokenBasedTriggerInputProperty = Value Prelude.Integer
+  set newValue TokenBasedTriggerInputProperty {..}
+    = TokenBasedTriggerInputProperty
+        {tokenCount = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/BedrockAgentCore/Memory/TokenBasedTriggerInputProperty.hs-boot b/gen/Stratosphere/BedrockAgentCore/Memory/TokenBasedTriggerInputProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/Memory/TokenBasedTriggerInputProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.BedrockAgentCore.Memory.TokenBasedTriggerInputProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data TokenBasedTriggerInputProperty :: Prelude.Type
+instance ToResourceProperties TokenBasedTriggerInputProperty
+instance Prelude.Eq TokenBasedTriggerInputProperty
+instance Prelude.Show TokenBasedTriggerInputProperty
+instance JSON.ToJSON TokenBasedTriggerInputProperty
diff --git a/gen/Stratosphere/BedrockAgentCore/Memory/TriggerConditionInputProperty.hs b/gen/Stratosphere/BedrockAgentCore/Memory/TriggerConditionInputProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/Memory/TriggerConditionInputProperty.hs
@@ -0,0 +1,60 @@
+module Stratosphere.BedrockAgentCore.Memory.TriggerConditionInputProperty (
+        module Exports, TriggerConditionInputProperty(..),
+        mkTriggerConditionInputProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.BedrockAgentCore.Memory.MessageBasedTriggerInputProperty as Exports
+import {-# SOURCE #-} Stratosphere.BedrockAgentCore.Memory.TimeBasedTriggerInputProperty as Exports
+import {-# SOURCE #-} Stratosphere.BedrockAgentCore.Memory.TokenBasedTriggerInputProperty as Exports
+import Stratosphere.ResourceProperties
+data TriggerConditionInputProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-triggerconditioninput.html>
+    TriggerConditionInputProperty {haddock_workaround_ :: (),
+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-triggerconditioninput.html#cfn-bedrockagentcore-memory-triggerconditioninput-messagebasedtrigger>
+                                   messageBasedTrigger :: (Prelude.Maybe MessageBasedTriggerInputProperty),
+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-triggerconditioninput.html#cfn-bedrockagentcore-memory-triggerconditioninput-timebasedtrigger>
+                                   timeBasedTrigger :: (Prelude.Maybe TimeBasedTriggerInputProperty),
+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-triggerconditioninput.html#cfn-bedrockagentcore-memory-triggerconditioninput-tokenbasedtrigger>
+                                   tokenBasedTrigger :: (Prelude.Maybe TokenBasedTriggerInputProperty)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkTriggerConditionInputProperty :: TriggerConditionInputProperty
+mkTriggerConditionInputProperty
+  = TriggerConditionInputProperty
+      {haddock_workaround_ = (), messageBasedTrigger = Prelude.Nothing,
+       timeBasedTrigger = Prelude.Nothing,
+       tokenBasedTrigger = Prelude.Nothing}
+instance ToResourceProperties TriggerConditionInputProperty where
+  toResourceProperties TriggerConditionInputProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::BedrockAgentCore::Memory.TriggerConditionInput",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "MessageBasedTrigger" Prelude.<$> messageBasedTrigger,
+                            (JSON..=) "TimeBasedTrigger" Prelude.<$> timeBasedTrigger,
+                            (JSON..=) "TokenBasedTrigger" Prelude.<$> tokenBasedTrigger])}
+instance JSON.ToJSON TriggerConditionInputProperty where
+  toJSON TriggerConditionInputProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "MessageBasedTrigger" Prelude.<$> messageBasedTrigger,
+               (JSON..=) "TimeBasedTrigger" Prelude.<$> timeBasedTrigger,
+               (JSON..=) "TokenBasedTrigger" Prelude.<$> tokenBasedTrigger]))
+instance Property "MessageBasedTrigger" TriggerConditionInputProperty where
+  type PropertyType "MessageBasedTrigger" TriggerConditionInputProperty = MessageBasedTriggerInputProperty
+  set newValue TriggerConditionInputProperty {..}
+    = TriggerConditionInputProperty
+        {messageBasedTrigger = Prelude.pure newValue, ..}
+instance Property "TimeBasedTrigger" TriggerConditionInputProperty where
+  type PropertyType "TimeBasedTrigger" TriggerConditionInputProperty = TimeBasedTriggerInputProperty
+  set newValue TriggerConditionInputProperty {..}
+    = TriggerConditionInputProperty
+        {timeBasedTrigger = Prelude.pure newValue, ..}
+instance Property "TokenBasedTrigger" TriggerConditionInputProperty where
+  type PropertyType "TokenBasedTrigger" TriggerConditionInputProperty = TokenBasedTriggerInputProperty
+  set newValue TriggerConditionInputProperty {..}
+    = TriggerConditionInputProperty
+        {tokenBasedTrigger = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/BedrockAgentCore/Memory/TriggerConditionInputProperty.hs-boot b/gen/Stratosphere/BedrockAgentCore/Memory/TriggerConditionInputProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/Memory/TriggerConditionInputProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.BedrockAgentCore.Memory.TriggerConditionInputProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data TriggerConditionInputProperty :: Prelude.Type
+instance ToResourceProperties TriggerConditionInputProperty
+instance Prelude.Eq TriggerConditionInputProperty
+instance Prelude.Show TriggerConditionInputProperty
+instance JSON.ToJSON TriggerConditionInputProperty
diff --git a/gen/Stratosphere/BedrockAgentCore/Memory/UserPreferenceMemoryStrategyProperty.hs b/gen/Stratosphere/BedrockAgentCore/Memory/UserPreferenceMemoryStrategyProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/Memory/UserPreferenceMemoryStrategyProperty.hs
@@ -0,0 +1,107 @@
+module Stratosphere.BedrockAgentCore.Memory.UserPreferenceMemoryStrategyProperty (
+        UserPreferenceMemoryStrategyProperty(..),
+        mkUserPreferenceMemoryStrategyProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data UserPreferenceMemoryStrategyProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-userpreferencememorystrategy.html>
+    UserPreferenceMemoryStrategyProperty {haddock_workaround_ :: (),
+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-userpreferencememorystrategy.html#cfn-bedrockagentcore-memory-userpreferencememorystrategy-createdat>
+                                          createdAt :: (Prelude.Maybe (Value Prelude.Text)),
+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-userpreferencememorystrategy.html#cfn-bedrockagentcore-memory-userpreferencememorystrategy-description>
+                                          description :: (Prelude.Maybe (Value Prelude.Text)),
+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-userpreferencememorystrategy.html#cfn-bedrockagentcore-memory-userpreferencememorystrategy-name>
+                                          name :: (Value Prelude.Text),
+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-userpreferencememorystrategy.html#cfn-bedrockagentcore-memory-userpreferencememorystrategy-namespaces>
+                                          namespaces :: (Prelude.Maybe (ValueList Prelude.Text)),
+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-userpreferencememorystrategy.html#cfn-bedrockagentcore-memory-userpreferencememorystrategy-status>
+                                          status :: (Prelude.Maybe (Value Prelude.Text)),
+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-userpreferencememorystrategy.html#cfn-bedrockagentcore-memory-userpreferencememorystrategy-strategyid>
+                                          strategyId :: (Prelude.Maybe (Value Prelude.Text)),
+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-userpreferencememorystrategy.html#cfn-bedrockagentcore-memory-userpreferencememorystrategy-type>
+                                          type' :: (Prelude.Maybe (Value Prelude.Text)),
+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-userpreferencememorystrategy.html#cfn-bedrockagentcore-memory-userpreferencememorystrategy-updatedat>
+                                          updatedAt :: (Prelude.Maybe (Value Prelude.Text))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkUserPreferenceMemoryStrategyProperty ::
+  Value Prelude.Text -> UserPreferenceMemoryStrategyProperty
+mkUserPreferenceMemoryStrategyProperty name
+  = UserPreferenceMemoryStrategyProperty
+      {haddock_workaround_ = (), name = name,
+       createdAt = Prelude.Nothing, description = Prelude.Nothing,
+       namespaces = Prelude.Nothing, status = Prelude.Nothing,
+       strategyId = Prelude.Nothing, type' = Prelude.Nothing,
+       updatedAt = Prelude.Nothing}
+instance ToResourceProperties UserPreferenceMemoryStrategyProperty where
+  toResourceProperties UserPreferenceMemoryStrategyProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::BedrockAgentCore::Memory.UserPreferenceMemoryStrategy",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["Name" JSON..= name]
+                           (Prelude.catMaybes
+                              [(JSON..=) "CreatedAt" Prelude.<$> createdAt,
+                               (JSON..=) "Description" Prelude.<$> description,
+                               (JSON..=) "Namespaces" Prelude.<$> namespaces,
+                               (JSON..=) "Status" Prelude.<$> status,
+                               (JSON..=) "StrategyId" Prelude.<$> strategyId,
+                               (JSON..=) "Type" Prelude.<$> type',
+                               (JSON..=) "UpdatedAt" Prelude.<$> updatedAt]))}
+instance JSON.ToJSON UserPreferenceMemoryStrategyProperty where
+  toJSON UserPreferenceMemoryStrategyProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["Name" JSON..= name]
+              (Prelude.catMaybes
+                 [(JSON..=) "CreatedAt" Prelude.<$> createdAt,
+                  (JSON..=) "Description" Prelude.<$> description,
+                  (JSON..=) "Namespaces" Prelude.<$> namespaces,
+                  (JSON..=) "Status" Prelude.<$> status,
+                  (JSON..=) "StrategyId" Prelude.<$> strategyId,
+                  (JSON..=) "Type" Prelude.<$> type',
+                  (JSON..=) "UpdatedAt" Prelude.<$> updatedAt])))
+instance Property "CreatedAt" UserPreferenceMemoryStrategyProperty where
+  type PropertyType "CreatedAt" UserPreferenceMemoryStrategyProperty = Value Prelude.Text
+  set newValue UserPreferenceMemoryStrategyProperty {..}
+    = UserPreferenceMemoryStrategyProperty
+        {createdAt = Prelude.pure newValue, ..}
+instance Property "Description" UserPreferenceMemoryStrategyProperty where
+  type PropertyType "Description" UserPreferenceMemoryStrategyProperty = Value Prelude.Text
+  set newValue UserPreferenceMemoryStrategyProperty {..}
+    = UserPreferenceMemoryStrategyProperty
+        {description = Prelude.pure newValue, ..}
+instance Property "Name" UserPreferenceMemoryStrategyProperty where
+  type PropertyType "Name" UserPreferenceMemoryStrategyProperty = Value Prelude.Text
+  set newValue UserPreferenceMemoryStrategyProperty {..}
+    = UserPreferenceMemoryStrategyProperty {name = newValue, ..}
+instance Property "Namespaces" UserPreferenceMemoryStrategyProperty where
+  type PropertyType "Namespaces" UserPreferenceMemoryStrategyProperty = ValueList Prelude.Text
+  set newValue UserPreferenceMemoryStrategyProperty {..}
+    = UserPreferenceMemoryStrategyProperty
+        {namespaces = Prelude.pure newValue, ..}
+instance Property "Status" UserPreferenceMemoryStrategyProperty where
+  type PropertyType "Status" UserPreferenceMemoryStrategyProperty = Value Prelude.Text
+  set newValue UserPreferenceMemoryStrategyProperty {..}
+    = UserPreferenceMemoryStrategyProperty
+        {status = Prelude.pure newValue, ..}
+instance Property "StrategyId" UserPreferenceMemoryStrategyProperty where
+  type PropertyType "StrategyId" UserPreferenceMemoryStrategyProperty = Value Prelude.Text
+  set newValue UserPreferenceMemoryStrategyProperty {..}
+    = UserPreferenceMemoryStrategyProperty
+        {strategyId = Prelude.pure newValue, ..}
+instance Property "Type" UserPreferenceMemoryStrategyProperty where
+  type PropertyType "Type" UserPreferenceMemoryStrategyProperty = Value Prelude.Text
+  set newValue UserPreferenceMemoryStrategyProperty {..}
+    = UserPreferenceMemoryStrategyProperty
+        {type' = Prelude.pure newValue, ..}
+instance Property "UpdatedAt" UserPreferenceMemoryStrategyProperty where
+  type PropertyType "UpdatedAt" UserPreferenceMemoryStrategyProperty = Value Prelude.Text
+  set newValue UserPreferenceMemoryStrategyProperty {..}
+    = UserPreferenceMemoryStrategyProperty
+        {updatedAt = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/BedrockAgentCore/Memory/UserPreferenceMemoryStrategyProperty.hs-boot b/gen/Stratosphere/BedrockAgentCore/Memory/UserPreferenceMemoryStrategyProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/Memory/UserPreferenceMemoryStrategyProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.BedrockAgentCore.Memory.UserPreferenceMemoryStrategyProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data UserPreferenceMemoryStrategyProperty :: Prelude.Type
+instance ToResourceProperties UserPreferenceMemoryStrategyProperty
+instance Prelude.Eq UserPreferenceMemoryStrategyProperty
+instance Prelude.Show UserPreferenceMemoryStrategyProperty
+instance JSON.ToJSON UserPreferenceMemoryStrategyProperty
diff --git a/gen/Stratosphere/BedrockAgentCore/Memory/UserPreferenceOverrideConsolidationConfigurationInputProperty.hs b/gen/Stratosphere/BedrockAgentCore/Memory/UserPreferenceOverrideConsolidationConfigurationInputProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/Memory/UserPreferenceOverrideConsolidationConfigurationInputProperty.hs
@@ -0,0 +1,55 @@
+module Stratosphere.BedrockAgentCore.Memory.UserPreferenceOverrideConsolidationConfigurationInputProperty (
+        UserPreferenceOverrideConsolidationConfigurationInputProperty(..),
+        mkUserPreferenceOverrideConsolidationConfigurationInputProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data UserPreferenceOverrideConsolidationConfigurationInputProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-userpreferenceoverrideconsolidationconfigurationinput.html>
+    UserPreferenceOverrideConsolidationConfigurationInputProperty {haddock_workaround_ :: (),
+                                                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-userpreferenceoverrideconsolidationconfigurationinput.html#cfn-bedrockagentcore-memory-userpreferenceoverrideconsolidationconfigurationinput-appendtoprompt>
+                                                                   appendToPrompt :: (Value Prelude.Text),
+                                                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-userpreferenceoverrideconsolidationconfigurationinput.html#cfn-bedrockagentcore-memory-userpreferenceoverrideconsolidationconfigurationinput-modelid>
+                                                                   modelId :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkUserPreferenceOverrideConsolidationConfigurationInputProperty ::
+  Value Prelude.Text
+  -> Value Prelude.Text
+     -> UserPreferenceOverrideConsolidationConfigurationInputProperty
+mkUserPreferenceOverrideConsolidationConfigurationInputProperty
+  appendToPrompt
+  modelId
+  = UserPreferenceOverrideConsolidationConfigurationInputProperty
+      {haddock_workaround_ = (), appendToPrompt = appendToPrompt,
+       modelId = modelId}
+instance ToResourceProperties UserPreferenceOverrideConsolidationConfigurationInputProperty where
+  toResourceProperties
+    UserPreferenceOverrideConsolidationConfigurationInputProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::BedrockAgentCore::Memory.UserPreferenceOverrideConsolidationConfigurationInput",
+         supportsTags = Prelude.False,
+         properties = ["AppendToPrompt" JSON..= appendToPrompt,
+                       "ModelId" JSON..= modelId]}
+instance JSON.ToJSON UserPreferenceOverrideConsolidationConfigurationInputProperty where
+  toJSON
+    UserPreferenceOverrideConsolidationConfigurationInputProperty {..}
+    = JSON.object
+        ["AppendToPrompt" JSON..= appendToPrompt,
+         "ModelId" JSON..= modelId]
+instance Property "AppendToPrompt" UserPreferenceOverrideConsolidationConfigurationInputProperty where
+  type PropertyType "AppendToPrompt" UserPreferenceOverrideConsolidationConfigurationInputProperty = Value Prelude.Text
+  set
+    newValue
+    UserPreferenceOverrideConsolidationConfigurationInputProperty {..}
+    = UserPreferenceOverrideConsolidationConfigurationInputProperty
+        {appendToPrompt = newValue, ..}
+instance Property "ModelId" UserPreferenceOverrideConsolidationConfigurationInputProperty where
+  type PropertyType "ModelId" UserPreferenceOverrideConsolidationConfigurationInputProperty = Value Prelude.Text
+  set
+    newValue
+    UserPreferenceOverrideConsolidationConfigurationInputProperty {..}
+    = UserPreferenceOverrideConsolidationConfigurationInputProperty
+        {modelId = newValue, ..}
diff --git a/gen/Stratosphere/BedrockAgentCore/Memory/UserPreferenceOverrideConsolidationConfigurationInputProperty.hs-boot b/gen/Stratosphere/BedrockAgentCore/Memory/UserPreferenceOverrideConsolidationConfigurationInputProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/Memory/UserPreferenceOverrideConsolidationConfigurationInputProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.BedrockAgentCore.Memory.UserPreferenceOverrideConsolidationConfigurationInputProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data UserPreferenceOverrideConsolidationConfigurationInputProperty :: Prelude.Type
+instance ToResourceProperties UserPreferenceOverrideConsolidationConfigurationInputProperty
+instance Prelude.Eq UserPreferenceOverrideConsolidationConfigurationInputProperty
+instance Prelude.Show UserPreferenceOverrideConsolidationConfigurationInputProperty
+instance JSON.ToJSON UserPreferenceOverrideConsolidationConfigurationInputProperty
diff --git a/gen/Stratosphere/BedrockAgentCore/Memory/UserPreferenceOverrideExtractionConfigurationInputProperty.hs b/gen/Stratosphere/BedrockAgentCore/Memory/UserPreferenceOverrideExtractionConfigurationInputProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/Memory/UserPreferenceOverrideExtractionConfigurationInputProperty.hs
@@ -0,0 +1,55 @@
+module Stratosphere.BedrockAgentCore.Memory.UserPreferenceOverrideExtractionConfigurationInputProperty (
+        UserPreferenceOverrideExtractionConfigurationInputProperty(..),
+        mkUserPreferenceOverrideExtractionConfigurationInputProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data UserPreferenceOverrideExtractionConfigurationInputProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-userpreferenceoverrideextractionconfigurationinput.html>
+    UserPreferenceOverrideExtractionConfigurationInputProperty {haddock_workaround_ :: (),
+                                                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-userpreferenceoverrideextractionconfigurationinput.html#cfn-bedrockagentcore-memory-userpreferenceoverrideextractionconfigurationinput-appendtoprompt>
+                                                                appendToPrompt :: (Value Prelude.Text),
+                                                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-userpreferenceoverrideextractionconfigurationinput.html#cfn-bedrockagentcore-memory-userpreferenceoverrideextractionconfigurationinput-modelid>
+                                                                modelId :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkUserPreferenceOverrideExtractionConfigurationInputProperty ::
+  Value Prelude.Text
+  -> Value Prelude.Text
+     -> UserPreferenceOverrideExtractionConfigurationInputProperty
+mkUserPreferenceOverrideExtractionConfigurationInputProperty
+  appendToPrompt
+  modelId
+  = UserPreferenceOverrideExtractionConfigurationInputProperty
+      {haddock_workaround_ = (), appendToPrompt = appendToPrompt,
+       modelId = modelId}
+instance ToResourceProperties UserPreferenceOverrideExtractionConfigurationInputProperty where
+  toResourceProperties
+    UserPreferenceOverrideExtractionConfigurationInputProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::BedrockAgentCore::Memory.UserPreferenceOverrideExtractionConfigurationInput",
+         supportsTags = Prelude.False,
+         properties = ["AppendToPrompt" JSON..= appendToPrompt,
+                       "ModelId" JSON..= modelId]}
+instance JSON.ToJSON UserPreferenceOverrideExtractionConfigurationInputProperty where
+  toJSON
+    UserPreferenceOverrideExtractionConfigurationInputProperty {..}
+    = JSON.object
+        ["AppendToPrompt" JSON..= appendToPrompt,
+         "ModelId" JSON..= modelId]
+instance Property "AppendToPrompt" UserPreferenceOverrideExtractionConfigurationInputProperty where
+  type PropertyType "AppendToPrompt" UserPreferenceOverrideExtractionConfigurationInputProperty = Value Prelude.Text
+  set
+    newValue
+    UserPreferenceOverrideExtractionConfigurationInputProperty {..}
+    = UserPreferenceOverrideExtractionConfigurationInputProperty
+        {appendToPrompt = newValue, ..}
+instance Property "ModelId" UserPreferenceOverrideExtractionConfigurationInputProperty where
+  type PropertyType "ModelId" UserPreferenceOverrideExtractionConfigurationInputProperty = Value Prelude.Text
+  set
+    newValue
+    UserPreferenceOverrideExtractionConfigurationInputProperty {..}
+    = UserPreferenceOverrideExtractionConfigurationInputProperty
+        {modelId = newValue, ..}
diff --git a/gen/Stratosphere/BedrockAgentCore/Memory/UserPreferenceOverrideExtractionConfigurationInputProperty.hs-boot b/gen/Stratosphere/BedrockAgentCore/Memory/UserPreferenceOverrideExtractionConfigurationInputProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/Memory/UserPreferenceOverrideExtractionConfigurationInputProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.BedrockAgentCore.Memory.UserPreferenceOverrideExtractionConfigurationInputProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data UserPreferenceOverrideExtractionConfigurationInputProperty :: Prelude.Type
+instance ToResourceProperties UserPreferenceOverrideExtractionConfigurationInputProperty
+instance Prelude.Eq UserPreferenceOverrideExtractionConfigurationInputProperty
+instance Prelude.Show UserPreferenceOverrideExtractionConfigurationInputProperty
+instance JSON.ToJSON UserPreferenceOverrideExtractionConfigurationInputProperty
diff --git a/gen/Stratosphere/BedrockAgentCore/Memory/UserPreferenceOverrideProperty.hs b/gen/Stratosphere/BedrockAgentCore/Memory/UserPreferenceOverrideProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/Memory/UserPreferenceOverrideProperty.hs
@@ -0,0 +1,49 @@
+module Stratosphere.BedrockAgentCore.Memory.UserPreferenceOverrideProperty (
+        module Exports, UserPreferenceOverrideProperty(..),
+        mkUserPreferenceOverrideProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.BedrockAgentCore.Memory.UserPreferenceOverrideConsolidationConfigurationInputProperty as Exports
+import {-# SOURCE #-} Stratosphere.BedrockAgentCore.Memory.UserPreferenceOverrideExtractionConfigurationInputProperty as Exports
+import Stratosphere.ResourceProperties
+data UserPreferenceOverrideProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-userpreferenceoverride.html>
+    UserPreferenceOverrideProperty {haddock_workaround_ :: (),
+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-userpreferenceoverride.html#cfn-bedrockagentcore-memory-userpreferenceoverride-consolidation>
+                                    consolidation :: (Prelude.Maybe UserPreferenceOverrideConsolidationConfigurationInputProperty),
+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-memory-userpreferenceoverride.html#cfn-bedrockagentcore-memory-userpreferenceoverride-extraction>
+                                    extraction :: (Prelude.Maybe UserPreferenceOverrideExtractionConfigurationInputProperty)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkUserPreferenceOverrideProperty :: UserPreferenceOverrideProperty
+mkUserPreferenceOverrideProperty
+  = UserPreferenceOverrideProperty
+      {haddock_workaround_ = (), consolidation = Prelude.Nothing,
+       extraction = Prelude.Nothing}
+instance ToResourceProperties UserPreferenceOverrideProperty where
+  toResourceProperties UserPreferenceOverrideProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::BedrockAgentCore::Memory.UserPreferenceOverride",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "Consolidation" Prelude.<$> consolidation,
+                            (JSON..=) "Extraction" Prelude.<$> extraction])}
+instance JSON.ToJSON UserPreferenceOverrideProperty where
+  toJSON UserPreferenceOverrideProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "Consolidation" Prelude.<$> consolidation,
+               (JSON..=) "Extraction" Prelude.<$> extraction]))
+instance Property "Consolidation" UserPreferenceOverrideProperty where
+  type PropertyType "Consolidation" UserPreferenceOverrideProperty = UserPreferenceOverrideConsolidationConfigurationInputProperty
+  set newValue UserPreferenceOverrideProperty {..}
+    = UserPreferenceOverrideProperty
+        {consolidation = Prelude.pure newValue, ..}
+instance Property "Extraction" UserPreferenceOverrideProperty where
+  type PropertyType "Extraction" UserPreferenceOverrideProperty = UserPreferenceOverrideExtractionConfigurationInputProperty
+  set newValue UserPreferenceOverrideProperty {..}
+    = UserPreferenceOverrideProperty
+        {extraction = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/BedrockAgentCore/Memory/UserPreferenceOverrideProperty.hs-boot b/gen/Stratosphere/BedrockAgentCore/Memory/UserPreferenceOverrideProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/Memory/UserPreferenceOverrideProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.BedrockAgentCore.Memory.UserPreferenceOverrideProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data UserPreferenceOverrideProperty :: Prelude.Type
+instance ToResourceProperties UserPreferenceOverrideProperty
+instance Prelude.Eq UserPreferenceOverrideProperty
+instance Prelude.Show UserPreferenceOverrideProperty
+instance JSON.ToJSON UserPreferenceOverrideProperty
diff --git a/gen/Stratosphere/BedrockAgentCore/Runtime.hs b/gen/Stratosphere/BedrockAgentCore/Runtime.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/Runtime.hs
@@ -0,0 +1,122 @@
+module Stratosphere.BedrockAgentCore.Runtime (
+        module Exports, Runtime(..), mkRuntime
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.BedrockAgentCore.Runtime.AgentRuntimeArtifactProperty as Exports
+import {-# SOURCE #-} Stratosphere.BedrockAgentCore.Runtime.AuthorizerConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.BedrockAgentCore.Runtime.NetworkConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data Runtime
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrockagentcore-runtime.html>
+    Runtime {haddock_workaround_ :: (),
+             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrockagentcore-runtime.html#cfn-bedrockagentcore-runtime-agentruntimeartifact>
+             agentRuntimeArtifact :: AgentRuntimeArtifactProperty,
+             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrockagentcore-runtime.html#cfn-bedrockagentcore-runtime-agentruntimename>
+             agentRuntimeName :: (Value Prelude.Text),
+             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrockagentcore-runtime.html#cfn-bedrockagentcore-runtime-authorizerconfiguration>
+             authorizerConfiguration :: (Prelude.Maybe AuthorizerConfigurationProperty),
+             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrockagentcore-runtime.html#cfn-bedrockagentcore-runtime-description>
+             description :: (Prelude.Maybe (Value Prelude.Text)),
+             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrockagentcore-runtime.html#cfn-bedrockagentcore-runtime-environmentvariables>
+             environmentVariables :: (Prelude.Maybe (Prelude.Map Prelude.Text (Value Prelude.Text))),
+             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrockagentcore-runtime.html#cfn-bedrockagentcore-runtime-networkconfiguration>
+             networkConfiguration :: NetworkConfigurationProperty,
+             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrockagentcore-runtime.html#cfn-bedrockagentcore-runtime-protocolconfiguration>
+             protocolConfiguration :: (Prelude.Maybe (Value Prelude.Text)),
+             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrockagentcore-runtime.html#cfn-bedrockagentcore-runtime-rolearn>
+             roleArn :: (Value Prelude.Text),
+             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrockagentcore-runtime.html#cfn-bedrockagentcore-runtime-tags>
+             tags :: (Prelude.Maybe (Prelude.Map Prelude.Text (Value Prelude.Text)))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkRuntime ::
+  AgentRuntimeArtifactProperty
+  -> Value Prelude.Text
+     -> NetworkConfigurationProperty -> Value Prelude.Text -> Runtime
+mkRuntime
+  agentRuntimeArtifact
+  agentRuntimeName
+  networkConfiguration
+  roleArn
+  = Runtime
+      {haddock_workaround_ = (),
+       agentRuntimeArtifact = agentRuntimeArtifact,
+       agentRuntimeName = agentRuntimeName,
+       networkConfiguration = networkConfiguration, roleArn = roleArn,
+       authorizerConfiguration = Prelude.Nothing,
+       description = Prelude.Nothing,
+       environmentVariables = Prelude.Nothing,
+       protocolConfiguration = Prelude.Nothing, tags = Prelude.Nothing}
+instance ToResourceProperties Runtime where
+  toResourceProperties Runtime {..}
+    = ResourceProperties
+        {awsType = "AWS::BedrockAgentCore::Runtime",
+         supportsTags = Prelude.True,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["AgentRuntimeArtifact" JSON..= agentRuntimeArtifact,
+                            "AgentRuntimeName" JSON..= agentRuntimeName,
+                            "NetworkConfiguration" JSON..= networkConfiguration,
+                            "RoleArn" JSON..= roleArn]
+                           (Prelude.catMaybes
+                              [(JSON..=) "AuthorizerConfiguration"
+                                 Prelude.<$> authorizerConfiguration,
+                               (JSON..=) "Description" Prelude.<$> description,
+                               (JSON..=) "EnvironmentVariables" Prelude.<$> environmentVariables,
+                               (JSON..=) "ProtocolConfiguration"
+                                 Prelude.<$> protocolConfiguration,
+                               (JSON..=) "Tags" Prelude.<$> tags]))}
+instance JSON.ToJSON Runtime where
+  toJSON Runtime {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["AgentRuntimeArtifact" JSON..= agentRuntimeArtifact,
+               "AgentRuntimeName" JSON..= agentRuntimeName,
+               "NetworkConfiguration" JSON..= networkConfiguration,
+               "RoleArn" JSON..= roleArn]
+              (Prelude.catMaybes
+                 [(JSON..=) "AuthorizerConfiguration"
+                    Prelude.<$> authorizerConfiguration,
+                  (JSON..=) "Description" Prelude.<$> description,
+                  (JSON..=) "EnvironmentVariables" Prelude.<$> environmentVariables,
+                  (JSON..=) "ProtocolConfiguration"
+                    Prelude.<$> protocolConfiguration,
+                  (JSON..=) "Tags" Prelude.<$> tags])))
+instance Property "AgentRuntimeArtifact" Runtime where
+  type PropertyType "AgentRuntimeArtifact" Runtime = AgentRuntimeArtifactProperty
+  set newValue Runtime {..}
+    = Runtime {agentRuntimeArtifact = newValue, ..}
+instance Property "AgentRuntimeName" Runtime where
+  type PropertyType "AgentRuntimeName" Runtime = Value Prelude.Text
+  set newValue Runtime {..}
+    = Runtime {agentRuntimeName = newValue, ..}
+instance Property "AuthorizerConfiguration" Runtime where
+  type PropertyType "AuthorizerConfiguration" Runtime = AuthorizerConfigurationProperty
+  set newValue Runtime {..}
+    = Runtime {authorizerConfiguration = Prelude.pure newValue, ..}
+instance Property "Description" Runtime where
+  type PropertyType "Description" Runtime = Value Prelude.Text
+  set newValue Runtime {..}
+    = Runtime {description = Prelude.pure newValue, ..}
+instance Property "EnvironmentVariables" Runtime where
+  type PropertyType "EnvironmentVariables" Runtime = Prelude.Map Prelude.Text (Value Prelude.Text)
+  set newValue Runtime {..}
+    = Runtime {environmentVariables = Prelude.pure newValue, ..}
+instance Property "NetworkConfiguration" Runtime where
+  type PropertyType "NetworkConfiguration" Runtime = NetworkConfigurationProperty
+  set newValue Runtime {..}
+    = Runtime {networkConfiguration = newValue, ..}
+instance Property "ProtocolConfiguration" Runtime where
+  type PropertyType "ProtocolConfiguration" Runtime = Value Prelude.Text
+  set newValue Runtime {..}
+    = Runtime {protocolConfiguration = Prelude.pure newValue, ..}
+instance Property "RoleArn" Runtime where
+  type PropertyType "RoleArn" Runtime = Value Prelude.Text
+  set newValue Runtime {..} = Runtime {roleArn = newValue, ..}
+instance Property "Tags" Runtime where
+  type PropertyType "Tags" Runtime = Prelude.Map Prelude.Text (Value Prelude.Text)
+  set newValue Runtime {..}
+    = Runtime {tags = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/BedrockAgentCore/Runtime/AgentRuntimeArtifactProperty.hs b/gen/Stratosphere/BedrockAgentCore/Runtime/AgentRuntimeArtifactProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/Runtime/AgentRuntimeArtifactProperty.hs
@@ -0,0 +1,41 @@
+module Stratosphere.BedrockAgentCore.Runtime.AgentRuntimeArtifactProperty (
+        module Exports, AgentRuntimeArtifactProperty(..),
+        mkAgentRuntimeArtifactProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.BedrockAgentCore.Runtime.ContainerConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+data AgentRuntimeArtifactProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-runtime-agentruntimeartifact.html>
+    AgentRuntimeArtifactProperty {haddock_workaround_ :: (),
+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-runtime-agentruntimeartifact.html#cfn-bedrockagentcore-runtime-agentruntimeartifact-containerconfiguration>
+                                  containerConfiguration :: (Prelude.Maybe ContainerConfigurationProperty)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkAgentRuntimeArtifactProperty :: AgentRuntimeArtifactProperty
+mkAgentRuntimeArtifactProperty
+  = AgentRuntimeArtifactProperty
+      {haddock_workaround_ = (),
+       containerConfiguration = Prelude.Nothing}
+instance ToResourceProperties AgentRuntimeArtifactProperty where
+  toResourceProperties AgentRuntimeArtifactProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::BedrockAgentCore::Runtime.AgentRuntimeArtifact",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "ContainerConfiguration"
+                              Prelude.<$> containerConfiguration])}
+instance JSON.ToJSON AgentRuntimeArtifactProperty where
+  toJSON AgentRuntimeArtifactProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "ContainerConfiguration"
+                 Prelude.<$> containerConfiguration]))
+instance Property "ContainerConfiguration" AgentRuntimeArtifactProperty where
+  type PropertyType "ContainerConfiguration" AgentRuntimeArtifactProperty = ContainerConfigurationProperty
+  set newValue AgentRuntimeArtifactProperty {..}
+    = AgentRuntimeArtifactProperty
+        {containerConfiguration = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/BedrockAgentCore/Runtime/AgentRuntimeArtifactProperty.hs-boot b/gen/Stratosphere/BedrockAgentCore/Runtime/AgentRuntimeArtifactProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/Runtime/AgentRuntimeArtifactProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.BedrockAgentCore.Runtime.AgentRuntimeArtifactProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data AgentRuntimeArtifactProperty :: Prelude.Type
+instance ToResourceProperties AgentRuntimeArtifactProperty
+instance Prelude.Eq AgentRuntimeArtifactProperty
+instance Prelude.Show AgentRuntimeArtifactProperty
+instance JSON.ToJSON AgentRuntimeArtifactProperty
diff --git a/gen/Stratosphere/BedrockAgentCore/Runtime/AuthorizerConfigurationProperty.hs b/gen/Stratosphere/BedrockAgentCore/Runtime/AuthorizerConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/Runtime/AuthorizerConfigurationProperty.hs
@@ -0,0 +1,39 @@
+module Stratosphere.BedrockAgentCore.Runtime.AuthorizerConfigurationProperty (
+        module Exports, AuthorizerConfigurationProperty(..),
+        mkAuthorizerConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.BedrockAgentCore.Runtime.CustomJWTAuthorizerConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+data AuthorizerConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-runtime-authorizerconfiguration.html>
+    AuthorizerConfigurationProperty {haddock_workaround_ :: (),
+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-runtime-authorizerconfiguration.html#cfn-bedrockagentcore-runtime-authorizerconfiguration-customjwtauthorizer>
+                                     customJWTAuthorizer :: (Prelude.Maybe CustomJWTAuthorizerConfigurationProperty)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkAuthorizerConfigurationProperty ::
+  AuthorizerConfigurationProperty
+mkAuthorizerConfigurationProperty
+  = AuthorizerConfigurationProperty
+      {haddock_workaround_ = (), customJWTAuthorizer = Prelude.Nothing}
+instance ToResourceProperties AuthorizerConfigurationProperty where
+  toResourceProperties AuthorizerConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::BedrockAgentCore::Runtime.AuthorizerConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "CustomJWTAuthorizer" Prelude.<$> customJWTAuthorizer])}
+instance JSON.ToJSON AuthorizerConfigurationProperty where
+  toJSON AuthorizerConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "CustomJWTAuthorizer" Prelude.<$> customJWTAuthorizer]))
+instance Property "CustomJWTAuthorizer" AuthorizerConfigurationProperty where
+  type PropertyType "CustomJWTAuthorizer" AuthorizerConfigurationProperty = CustomJWTAuthorizerConfigurationProperty
+  set newValue AuthorizerConfigurationProperty {..}
+    = AuthorizerConfigurationProperty
+        {customJWTAuthorizer = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/BedrockAgentCore/Runtime/AuthorizerConfigurationProperty.hs-boot b/gen/Stratosphere/BedrockAgentCore/Runtime/AuthorizerConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/Runtime/AuthorizerConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.BedrockAgentCore.Runtime.AuthorizerConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data AuthorizerConfigurationProperty :: Prelude.Type
+instance ToResourceProperties AuthorizerConfigurationProperty
+instance Prelude.Eq AuthorizerConfigurationProperty
+instance Prelude.Show AuthorizerConfigurationProperty
+instance JSON.ToJSON AuthorizerConfigurationProperty
diff --git a/gen/Stratosphere/BedrockAgentCore/Runtime/ContainerConfigurationProperty.hs b/gen/Stratosphere/BedrockAgentCore/Runtime/ContainerConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/Runtime/ContainerConfigurationProperty.hs
@@ -0,0 +1,33 @@
+module Stratosphere.BedrockAgentCore.Runtime.ContainerConfigurationProperty (
+        ContainerConfigurationProperty(..),
+        mkContainerConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data ContainerConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-runtime-containerconfiguration.html>
+    ContainerConfigurationProperty {haddock_workaround_ :: (),
+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-runtime-containerconfiguration.html#cfn-bedrockagentcore-runtime-containerconfiguration-containeruri>
+                                    containerUri :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkContainerConfigurationProperty ::
+  Value Prelude.Text -> ContainerConfigurationProperty
+mkContainerConfigurationProperty containerUri
+  = ContainerConfigurationProperty
+      {haddock_workaround_ = (), containerUri = containerUri}
+instance ToResourceProperties ContainerConfigurationProperty where
+  toResourceProperties ContainerConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::BedrockAgentCore::Runtime.ContainerConfiguration",
+         supportsTags = Prelude.False,
+         properties = ["ContainerUri" JSON..= containerUri]}
+instance JSON.ToJSON ContainerConfigurationProperty where
+  toJSON ContainerConfigurationProperty {..}
+    = JSON.object ["ContainerUri" JSON..= containerUri]
+instance Property "ContainerUri" ContainerConfigurationProperty where
+  type PropertyType "ContainerUri" ContainerConfigurationProperty = Value Prelude.Text
+  set newValue ContainerConfigurationProperty {..}
+    = ContainerConfigurationProperty {containerUri = newValue, ..}
diff --git a/gen/Stratosphere/BedrockAgentCore/Runtime/ContainerConfigurationProperty.hs-boot b/gen/Stratosphere/BedrockAgentCore/Runtime/ContainerConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/Runtime/ContainerConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.BedrockAgentCore.Runtime.ContainerConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data ContainerConfigurationProperty :: Prelude.Type
+instance ToResourceProperties ContainerConfigurationProperty
+instance Prelude.Eq ContainerConfigurationProperty
+instance Prelude.Show ContainerConfigurationProperty
+instance JSON.ToJSON ContainerConfigurationProperty
diff --git a/gen/Stratosphere/BedrockAgentCore/Runtime/CustomJWTAuthorizerConfigurationProperty.hs b/gen/Stratosphere/BedrockAgentCore/Runtime/CustomJWTAuthorizerConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/Runtime/CustomJWTAuthorizerConfigurationProperty.hs
@@ -0,0 +1,61 @@
+module Stratosphere.BedrockAgentCore.Runtime.CustomJWTAuthorizerConfigurationProperty (
+        CustomJWTAuthorizerConfigurationProperty(..),
+        mkCustomJWTAuthorizerConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data CustomJWTAuthorizerConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-runtime-customjwtauthorizerconfiguration.html>
+    CustomJWTAuthorizerConfigurationProperty {haddock_workaround_ :: (),
+                                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-runtime-customjwtauthorizerconfiguration.html#cfn-bedrockagentcore-runtime-customjwtauthorizerconfiguration-allowedaudience>
+                                              allowedAudience :: (Prelude.Maybe (ValueList Prelude.Text)),
+                                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-runtime-customjwtauthorizerconfiguration.html#cfn-bedrockagentcore-runtime-customjwtauthorizerconfiguration-allowedclients>
+                                              allowedClients :: (Prelude.Maybe (ValueList Prelude.Text)),
+                                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-runtime-customjwtauthorizerconfiguration.html#cfn-bedrockagentcore-runtime-customjwtauthorizerconfiguration-discoveryurl>
+                                              discoveryUrl :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkCustomJWTAuthorizerConfigurationProperty ::
+  Value Prelude.Text -> CustomJWTAuthorizerConfigurationProperty
+mkCustomJWTAuthorizerConfigurationProperty discoveryUrl
+  = CustomJWTAuthorizerConfigurationProperty
+      {haddock_workaround_ = (), discoveryUrl = discoveryUrl,
+       allowedAudience = Prelude.Nothing,
+       allowedClients = Prelude.Nothing}
+instance ToResourceProperties CustomJWTAuthorizerConfigurationProperty where
+  toResourceProperties CustomJWTAuthorizerConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::BedrockAgentCore::Runtime.CustomJWTAuthorizerConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["DiscoveryUrl" JSON..= discoveryUrl]
+                           (Prelude.catMaybes
+                              [(JSON..=) "AllowedAudience" Prelude.<$> allowedAudience,
+                               (JSON..=) "AllowedClients" Prelude.<$> allowedClients]))}
+instance JSON.ToJSON CustomJWTAuthorizerConfigurationProperty where
+  toJSON CustomJWTAuthorizerConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["DiscoveryUrl" JSON..= discoveryUrl]
+              (Prelude.catMaybes
+                 [(JSON..=) "AllowedAudience" Prelude.<$> allowedAudience,
+                  (JSON..=) "AllowedClients" Prelude.<$> allowedClients])))
+instance Property "AllowedAudience" CustomJWTAuthorizerConfigurationProperty where
+  type PropertyType "AllowedAudience" CustomJWTAuthorizerConfigurationProperty = ValueList Prelude.Text
+  set newValue CustomJWTAuthorizerConfigurationProperty {..}
+    = CustomJWTAuthorizerConfigurationProperty
+        {allowedAudience = Prelude.pure newValue, ..}
+instance Property "AllowedClients" CustomJWTAuthorizerConfigurationProperty where
+  type PropertyType "AllowedClients" CustomJWTAuthorizerConfigurationProperty = ValueList Prelude.Text
+  set newValue CustomJWTAuthorizerConfigurationProperty {..}
+    = CustomJWTAuthorizerConfigurationProperty
+        {allowedClients = Prelude.pure newValue, ..}
+instance Property "DiscoveryUrl" CustomJWTAuthorizerConfigurationProperty where
+  type PropertyType "DiscoveryUrl" CustomJWTAuthorizerConfigurationProperty = Value Prelude.Text
+  set newValue CustomJWTAuthorizerConfigurationProperty {..}
+    = CustomJWTAuthorizerConfigurationProperty
+        {discoveryUrl = newValue, ..}
diff --git a/gen/Stratosphere/BedrockAgentCore/Runtime/CustomJWTAuthorizerConfigurationProperty.hs-boot b/gen/Stratosphere/BedrockAgentCore/Runtime/CustomJWTAuthorizerConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/Runtime/CustomJWTAuthorizerConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.BedrockAgentCore.Runtime.CustomJWTAuthorizerConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data CustomJWTAuthorizerConfigurationProperty :: Prelude.Type
+instance ToResourceProperties CustomJWTAuthorizerConfigurationProperty
+instance Prelude.Eq CustomJWTAuthorizerConfigurationProperty
+instance Prelude.Show CustomJWTAuthorizerConfigurationProperty
+instance JSON.ToJSON CustomJWTAuthorizerConfigurationProperty
diff --git a/gen/Stratosphere/BedrockAgentCore/Runtime/NetworkConfigurationProperty.hs b/gen/Stratosphere/BedrockAgentCore/Runtime/NetworkConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/Runtime/NetworkConfigurationProperty.hs
@@ -0,0 +1,51 @@
+module Stratosphere.BedrockAgentCore.Runtime.NetworkConfigurationProperty (
+        module Exports, NetworkConfigurationProperty(..),
+        mkNetworkConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.BedrockAgentCore.Runtime.VpcConfigProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data NetworkConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-runtime-networkconfiguration.html>
+    NetworkConfigurationProperty {haddock_workaround_ :: (),
+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-runtime-networkconfiguration.html#cfn-bedrockagentcore-runtime-networkconfiguration-networkmode>
+                                  networkMode :: (Value Prelude.Text),
+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-runtime-networkconfiguration.html#cfn-bedrockagentcore-runtime-networkconfiguration-networkmodeconfig>
+                                  networkModeConfig :: (Prelude.Maybe VpcConfigProperty)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkNetworkConfigurationProperty ::
+  Value Prelude.Text -> NetworkConfigurationProperty
+mkNetworkConfigurationProperty networkMode
+  = NetworkConfigurationProperty
+      {haddock_workaround_ = (), networkMode = networkMode,
+       networkModeConfig = Prelude.Nothing}
+instance ToResourceProperties NetworkConfigurationProperty where
+  toResourceProperties NetworkConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::BedrockAgentCore::Runtime.NetworkConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["NetworkMode" JSON..= networkMode]
+                           (Prelude.catMaybes
+                              [(JSON..=) "NetworkModeConfig" Prelude.<$> networkModeConfig]))}
+instance JSON.ToJSON NetworkConfigurationProperty where
+  toJSON NetworkConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["NetworkMode" JSON..= networkMode]
+              (Prelude.catMaybes
+                 [(JSON..=) "NetworkModeConfig" Prelude.<$> networkModeConfig])))
+instance Property "NetworkMode" NetworkConfigurationProperty where
+  type PropertyType "NetworkMode" NetworkConfigurationProperty = Value Prelude.Text
+  set newValue NetworkConfigurationProperty {..}
+    = NetworkConfigurationProperty {networkMode = newValue, ..}
+instance Property "NetworkModeConfig" NetworkConfigurationProperty where
+  type PropertyType "NetworkModeConfig" NetworkConfigurationProperty = VpcConfigProperty
+  set newValue NetworkConfigurationProperty {..}
+    = NetworkConfigurationProperty
+        {networkModeConfig = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/BedrockAgentCore/Runtime/NetworkConfigurationProperty.hs-boot b/gen/Stratosphere/BedrockAgentCore/Runtime/NetworkConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/Runtime/NetworkConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.BedrockAgentCore.Runtime.NetworkConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data NetworkConfigurationProperty :: Prelude.Type
+instance ToResourceProperties NetworkConfigurationProperty
+instance Prelude.Eq NetworkConfigurationProperty
+instance Prelude.Show NetworkConfigurationProperty
+instance JSON.ToJSON NetworkConfigurationProperty
diff --git a/gen/Stratosphere/BedrockAgentCore/Runtime/VpcConfigProperty.hs b/gen/Stratosphere/BedrockAgentCore/Runtime/VpcConfigProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/Runtime/VpcConfigProperty.hs
@@ -0,0 +1,43 @@
+module Stratosphere.BedrockAgentCore.Runtime.VpcConfigProperty (
+        VpcConfigProperty(..), mkVpcConfigProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data VpcConfigProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-runtime-vpcconfig.html>
+    VpcConfigProperty {haddock_workaround_ :: (),
+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-runtime-vpcconfig.html#cfn-bedrockagentcore-runtime-vpcconfig-securitygroups>
+                       securityGroups :: (ValueList Prelude.Text),
+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-runtime-vpcconfig.html#cfn-bedrockagentcore-runtime-vpcconfig-subnets>
+                       subnets :: (ValueList Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkVpcConfigProperty ::
+  ValueList Prelude.Text
+  -> ValueList Prelude.Text -> VpcConfigProperty
+mkVpcConfigProperty securityGroups subnets
+  = VpcConfigProperty
+      {haddock_workaround_ = (), securityGroups = securityGroups,
+       subnets = subnets}
+instance ToResourceProperties VpcConfigProperty where
+  toResourceProperties VpcConfigProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::BedrockAgentCore::Runtime.VpcConfig",
+         supportsTags = Prelude.False,
+         properties = ["SecurityGroups" JSON..= securityGroups,
+                       "Subnets" JSON..= subnets]}
+instance JSON.ToJSON VpcConfigProperty where
+  toJSON VpcConfigProperty {..}
+    = JSON.object
+        ["SecurityGroups" JSON..= securityGroups,
+         "Subnets" JSON..= subnets]
+instance Property "SecurityGroups" VpcConfigProperty where
+  type PropertyType "SecurityGroups" VpcConfigProperty = ValueList Prelude.Text
+  set newValue VpcConfigProperty {..}
+    = VpcConfigProperty {securityGroups = newValue, ..}
+instance Property "Subnets" VpcConfigProperty where
+  type PropertyType "Subnets" VpcConfigProperty = ValueList Prelude.Text
+  set newValue VpcConfigProperty {..}
+    = VpcConfigProperty {subnets = newValue, ..}
diff --git a/gen/Stratosphere/BedrockAgentCore/Runtime/VpcConfigProperty.hs-boot b/gen/Stratosphere/BedrockAgentCore/Runtime/VpcConfigProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/Runtime/VpcConfigProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.BedrockAgentCore.Runtime.VpcConfigProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data VpcConfigProperty :: Prelude.Type
+instance ToResourceProperties VpcConfigProperty
+instance Prelude.Eq VpcConfigProperty
+instance Prelude.Show VpcConfigProperty
+instance JSON.ToJSON VpcConfigProperty
diff --git a/gen/Stratosphere/BedrockAgentCore/Runtime/WorkloadIdentityDetailsProperty.hs b/gen/Stratosphere/BedrockAgentCore/Runtime/WorkloadIdentityDetailsProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/Runtime/WorkloadIdentityDetailsProperty.hs
@@ -0,0 +1,35 @@
+module Stratosphere.BedrockAgentCore.Runtime.WorkloadIdentityDetailsProperty (
+        WorkloadIdentityDetailsProperty(..),
+        mkWorkloadIdentityDetailsProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data WorkloadIdentityDetailsProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-runtime-workloadidentitydetails.html>
+    WorkloadIdentityDetailsProperty {haddock_workaround_ :: (),
+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-runtime-workloadidentitydetails.html#cfn-bedrockagentcore-runtime-workloadidentitydetails-workloadidentityarn>
+                                     workloadIdentityArn :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkWorkloadIdentityDetailsProperty ::
+  Value Prelude.Text -> WorkloadIdentityDetailsProperty
+mkWorkloadIdentityDetailsProperty workloadIdentityArn
+  = WorkloadIdentityDetailsProperty
+      {haddock_workaround_ = (),
+       workloadIdentityArn = workloadIdentityArn}
+instance ToResourceProperties WorkloadIdentityDetailsProperty where
+  toResourceProperties WorkloadIdentityDetailsProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::BedrockAgentCore::Runtime.WorkloadIdentityDetails",
+         supportsTags = Prelude.False,
+         properties = ["WorkloadIdentityArn" JSON..= workloadIdentityArn]}
+instance JSON.ToJSON WorkloadIdentityDetailsProperty where
+  toJSON WorkloadIdentityDetailsProperty {..}
+    = JSON.object ["WorkloadIdentityArn" JSON..= workloadIdentityArn]
+instance Property "WorkloadIdentityArn" WorkloadIdentityDetailsProperty where
+  type PropertyType "WorkloadIdentityArn" WorkloadIdentityDetailsProperty = Value Prelude.Text
+  set newValue WorkloadIdentityDetailsProperty {..}
+    = WorkloadIdentityDetailsProperty
+        {workloadIdentityArn = newValue, ..}
diff --git a/gen/Stratosphere/BedrockAgentCore/Runtime/WorkloadIdentityDetailsProperty.hs-boot b/gen/Stratosphere/BedrockAgentCore/Runtime/WorkloadIdentityDetailsProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/Runtime/WorkloadIdentityDetailsProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.BedrockAgentCore.Runtime.WorkloadIdentityDetailsProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data WorkloadIdentityDetailsProperty :: Prelude.Type
+instance ToResourceProperties WorkloadIdentityDetailsProperty
+instance Prelude.Eq WorkloadIdentityDetailsProperty
+instance Prelude.Show WorkloadIdentityDetailsProperty
+instance JSON.ToJSON WorkloadIdentityDetailsProperty
diff --git a/gen/Stratosphere/BedrockAgentCore/RuntimeEndpoint.hs b/gen/Stratosphere/BedrockAgentCore/RuntimeEndpoint.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/BedrockAgentCore/RuntimeEndpoint.hs
@@ -0,0 +1,71 @@
+module Stratosphere.BedrockAgentCore.RuntimeEndpoint (
+        RuntimeEndpoint(..), mkRuntimeEndpoint
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data RuntimeEndpoint
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrockagentcore-runtimeendpoint.html>
+    RuntimeEndpoint {haddock_workaround_ :: (),
+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrockagentcore-runtimeendpoint.html#cfn-bedrockagentcore-runtimeendpoint-agentruntimeid>
+                     agentRuntimeId :: (Value Prelude.Text),
+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrockagentcore-runtimeendpoint.html#cfn-bedrockagentcore-runtimeendpoint-agentruntimeversion>
+                     agentRuntimeVersion :: (Prelude.Maybe (Value Prelude.Text)),
+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrockagentcore-runtimeendpoint.html#cfn-bedrockagentcore-runtimeendpoint-description>
+                     description :: (Prelude.Maybe (Value Prelude.Text)),
+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrockagentcore-runtimeendpoint.html#cfn-bedrockagentcore-runtimeendpoint-name>
+                     name :: (Value Prelude.Text),
+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrockagentcore-runtimeendpoint.html#cfn-bedrockagentcore-runtimeendpoint-tags>
+                     tags :: (Prelude.Maybe (Prelude.Map Prelude.Text (Value Prelude.Text)))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkRuntimeEndpoint ::
+  Value Prelude.Text -> Value Prelude.Text -> RuntimeEndpoint
+mkRuntimeEndpoint agentRuntimeId name
+  = RuntimeEndpoint
+      {haddock_workaround_ = (), agentRuntimeId = agentRuntimeId,
+       name = name, agentRuntimeVersion = Prelude.Nothing,
+       description = Prelude.Nothing, tags = Prelude.Nothing}
+instance ToResourceProperties RuntimeEndpoint where
+  toResourceProperties RuntimeEndpoint {..}
+    = ResourceProperties
+        {awsType = "AWS::BedrockAgentCore::RuntimeEndpoint",
+         supportsTags = Prelude.True,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["AgentRuntimeId" JSON..= agentRuntimeId, "Name" JSON..= name]
+                           (Prelude.catMaybes
+                              [(JSON..=) "AgentRuntimeVersion" Prelude.<$> agentRuntimeVersion,
+                               (JSON..=) "Description" Prelude.<$> description,
+                               (JSON..=) "Tags" Prelude.<$> tags]))}
+instance JSON.ToJSON RuntimeEndpoint where
+  toJSON RuntimeEndpoint {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["AgentRuntimeId" JSON..= agentRuntimeId, "Name" JSON..= name]
+              (Prelude.catMaybes
+                 [(JSON..=) "AgentRuntimeVersion" Prelude.<$> agentRuntimeVersion,
+                  (JSON..=) "Description" Prelude.<$> description,
+                  (JSON..=) "Tags" Prelude.<$> tags])))
+instance Property "AgentRuntimeId" RuntimeEndpoint where
+  type PropertyType "AgentRuntimeId" RuntimeEndpoint = Value Prelude.Text
+  set newValue RuntimeEndpoint {..}
+    = RuntimeEndpoint {agentRuntimeId = newValue, ..}
+instance Property "AgentRuntimeVersion" RuntimeEndpoint where
+  type PropertyType "AgentRuntimeVersion" RuntimeEndpoint = Value Prelude.Text
+  set newValue RuntimeEndpoint {..}
+    = RuntimeEndpoint {agentRuntimeVersion = Prelude.pure newValue, ..}
+instance Property "Description" RuntimeEndpoint where
+  type PropertyType "Description" RuntimeEndpoint = Value Prelude.Text
+  set newValue RuntimeEndpoint {..}
+    = RuntimeEndpoint {description = Prelude.pure newValue, ..}
+instance Property "Name" RuntimeEndpoint where
+  type PropertyType "Name" RuntimeEndpoint = Value Prelude.Text
+  set newValue RuntimeEndpoint {..}
+    = RuntimeEndpoint {name = newValue, ..}
+instance Property "Tags" RuntimeEndpoint where
+  type PropertyType "Tags" RuntimeEndpoint = Prelude.Map Prelude.Text (Value Prelude.Text)
+  set newValue RuntimeEndpoint {..}
+    = RuntimeEndpoint {tags = Prelude.pure newValue, ..}
diff --git a/stratosphere-bedrockagentcore.cabal b/stratosphere-bedrockagentcore.cabal
new file mode 100644
--- /dev/null
+++ b/stratosphere-bedrockagentcore.cabal
@@ -0,0 +1,129 @@
+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-bedrockagentcore
+version:        1.0.0
+synopsis:       Stratosphere integration for AWS BedrockAgentCore.
+description:    Integration into stratosphere to generate resources and properties for AWS BedrockAgentCore
+category:       AWS, Cloud, BedrockAgentCore
+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.BedrockAgentCore.BrowserCustom
+      Stratosphere.BedrockAgentCore.BrowserCustom.BrowserNetworkConfigurationProperty
+      Stratosphere.BedrockAgentCore.BrowserCustom.RecordingConfigProperty
+      Stratosphere.BedrockAgentCore.BrowserCustom.S3LocationProperty
+      Stratosphere.BedrockAgentCore.BrowserCustom.VpcConfigProperty
+      Stratosphere.BedrockAgentCore.CodeInterpreterCustom
+      Stratosphere.BedrockAgentCore.CodeInterpreterCustom.CodeInterpreterNetworkConfigurationProperty
+      Stratosphere.BedrockAgentCore.CodeInterpreterCustom.VpcConfigProperty
+      Stratosphere.BedrockAgentCore.Gateway
+      Stratosphere.BedrockAgentCore.Gateway.AuthorizerConfigurationProperty
+      Stratosphere.BedrockAgentCore.Gateway.CustomJWTAuthorizerConfigurationProperty
+      Stratosphere.BedrockAgentCore.Gateway.GatewayProtocolConfigurationProperty
+      Stratosphere.BedrockAgentCore.Gateway.MCPGatewayConfigurationProperty
+      Stratosphere.BedrockAgentCore.Gateway.WorkloadIdentityDetailsProperty
+      Stratosphere.BedrockAgentCore.GatewayTarget
+      Stratosphere.BedrockAgentCore.GatewayTarget.ApiKeyCredentialProviderProperty
+      Stratosphere.BedrockAgentCore.GatewayTarget.ApiSchemaConfigurationProperty
+      Stratosphere.BedrockAgentCore.GatewayTarget.CredentialProviderConfigurationProperty
+      Stratosphere.BedrockAgentCore.GatewayTarget.CredentialProviderProperty
+      Stratosphere.BedrockAgentCore.GatewayTarget.McpLambdaTargetConfigurationProperty
+      Stratosphere.BedrockAgentCore.GatewayTarget.McpTargetConfigurationProperty
+      Stratosphere.BedrockAgentCore.GatewayTarget.OAuthCredentialProviderProperty
+      Stratosphere.BedrockAgentCore.GatewayTarget.S3ConfigurationProperty
+      Stratosphere.BedrockAgentCore.GatewayTarget.SchemaDefinitionProperty
+      Stratosphere.BedrockAgentCore.GatewayTarget.TargetConfigurationProperty
+      Stratosphere.BedrockAgentCore.GatewayTarget.ToolDefinitionProperty
+      Stratosphere.BedrockAgentCore.GatewayTarget.ToolSchemaProperty
+      Stratosphere.BedrockAgentCore.Memory
+      Stratosphere.BedrockAgentCore.Memory.CustomConfigurationInputProperty
+      Stratosphere.BedrockAgentCore.Memory.CustomMemoryStrategyProperty
+      Stratosphere.BedrockAgentCore.Memory.InvocationConfigurationInputProperty
+      Stratosphere.BedrockAgentCore.Memory.MemoryStrategyProperty
+      Stratosphere.BedrockAgentCore.Memory.MessageBasedTriggerInputProperty
+      Stratosphere.BedrockAgentCore.Memory.SelfManagedConfigurationProperty
+      Stratosphere.BedrockAgentCore.Memory.SemanticMemoryStrategyProperty
+      Stratosphere.BedrockAgentCore.Memory.SemanticOverrideConsolidationConfigurationInputProperty
+      Stratosphere.BedrockAgentCore.Memory.SemanticOverrideExtractionConfigurationInputProperty
+      Stratosphere.BedrockAgentCore.Memory.SemanticOverrideProperty
+      Stratosphere.BedrockAgentCore.Memory.SummaryMemoryStrategyProperty
+      Stratosphere.BedrockAgentCore.Memory.SummaryOverrideConsolidationConfigurationInputProperty
+      Stratosphere.BedrockAgentCore.Memory.SummaryOverrideProperty
+      Stratosphere.BedrockAgentCore.Memory.TimeBasedTriggerInputProperty
+      Stratosphere.BedrockAgentCore.Memory.TokenBasedTriggerInputProperty
+      Stratosphere.BedrockAgentCore.Memory.TriggerConditionInputProperty
+      Stratosphere.BedrockAgentCore.Memory.UserPreferenceMemoryStrategyProperty
+      Stratosphere.BedrockAgentCore.Memory.UserPreferenceOverrideConsolidationConfigurationInputProperty
+      Stratosphere.BedrockAgentCore.Memory.UserPreferenceOverrideExtractionConfigurationInputProperty
+      Stratosphere.BedrockAgentCore.Memory.UserPreferenceOverrideProperty
+      Stratosphere.BedrockAgentCore.Runtime
+      Stratosphere.BedrockAgentCore.Runtime.AgentRuntimeArtifactProperty
+      Stratosphere.BedrockAgentCore.Runtime.AuthorizerConfigurationProperty
+      Stratosphere.BedrockAgentCore.Runtime.ContainerConfigurationProperty
+      Stratosphere.BedrockAgentCore.Runtime.CustomJWTAuthorizerConfigurationProperty
+      Stratosphere.BedrockAgentCore.Runtime.NetworkConfigurationProperty
+      Stratosphere.BedrockAgentCore.Runtime.VpcConfigProperty
+      Stratosphere.BedrockAgentCore.Runtime.WorkloadIdentityDetailsProperty
+      Stratosphere.BedrockAgentCore.RuntimeEndpoint
+  other-modules:
+      Paths_stratosphere_bedrockagentcore
+  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
