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/Bedrock/Agent.hs b/gen/Stratosphere/Bedrock/Agent.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Agent.hs
@@ -0,0 +1,221 @@
+module Stratosphere.Bedrock.Agent (
+        module Exports, Agent(..), mkAgent
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.Agent.AgentActionGroupProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.Agent.AgentCollaboratorProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.Agent.AgentKnowledgeBaseProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.Agent.CustomOrchestrationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.Agent.GuardrailConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.Agent.MemoryConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.Agent.PromptOverrideConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data Agent
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agent.html>
+    Agent {haddock_workaround_ :: (),
+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agent.html#cfn-bedrock-agent-actiongroups>
+           actionGroups :: (Prelude.Maybe [AgentActionGroupProperty]),
+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agent.html#cfn-bedrock-agent-agentcollaboration>
+           agentCollaboration :: (Prelude.Maybe (Value Prelude.Text)),
+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agent.html#cfn-bedrock-agent-agentcollaborators>
+           agentCollaborators :: (Prelude.Maybe [AgentCollaboratorProperty]),
+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agent.html#cfn-bedrock-agent-agentname>
+           agentName :: (Value Prelude.Text),
+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agent.html#cfn-bedrock-agent-agentresourcerolearn>
+           agentResourceRoleArn :: (Prelude.Maybe (Value Prelude.Text)),
+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agent.html#cfn-bedrock-agent-autoprepare>
+           autoPrepare :: (Prelude.Maybe (Value Prelude.Bool)),
+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agent.html#cfn-bedrock-agent-customorchestration>
+           customOrchestration :: (Prelude.Maybe CustomOrchestrationProperty),
+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agent.html#cfn-bedrock-agent-customerencryptionkeyarn>
+           customerEncryptionKeyArn :: (Prelude.Maybe (Value Prelude.Text)),
+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agent.html#cfn-bedrock-agent-description>
+           description :: (Prelude.Maybe (Value Prelude.Text)),
+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agent.html#cfn-bedrock-agent-foundationmodel>
+           foundationModel :: (Prelude.Maybe (Value Prelude.Text)),
+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agent.html#cfn-bedrock-agent-guardrailconfiguration>
+           guardrailConfiguration :: (Prelude.Maybe GuardrailConfigurationProperty),
+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agent.html#cfn-bedrock-agent-idlesessionttlinseconds>
+           idleSessionTTLInSeconds :: (Prelude.Maybe (Value Prelude.Double)),
+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agent.html#cfn-bedrock-agent-instruction>
+           instruction :: (Prelude.Maybe (Value Prelude.Text)),
+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agent.html#cfn-bedrock-agent-knowledgebases>
+           knowledgeBases :: (Prelude.Maybe [AgentKnowledgeBaseProperty]),
+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agent.html#cfn-bedrock-agent-memoryconfiguration>
+           memoryConfiguration :: (Prelude.Maybe MemoryConfigurationProperty),
+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agent.html#cfn-bedrock-agent-orchestrationtype>
+           orchestrationType :: (Prelude.Maybe (Value Prelude.Text)),
+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agent.html#cfn-bedrock-agent-promptoverrideconfiguration>
+           promptOverrideConfiguration :: (Prelude.Maybe PromptOverrideConfigurationProperty),
+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agent.html#cfn-bedrock-agent-skipresourceinusecheckondelete>
+           skipResourceInUseCheckOnDelete :: (Prelude.Maybe (Value Prelude.Bool)),
+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agent.html#cfn-bedrock-agent-tags>
+           tags :: (Prelude.Maybe (Prelude.Map Prelude.Text (Value Prelude.Text))),
+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agent.html#cfn-bedrock-agent-testaliastags>
+           testAliasTags :: (Prelude.Maybe (Prelude.Map Prelude.Text (Value Prelude.Text)))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkAgent :: Value Prelude.Text -> Agent
+mkAgent agentName
+  = Agent
+      {haddock_workaround_ = (), agentName = agentName,
+       actionGroups = Prelude.Nothing,
+       agentCollaboration = Prelude.Nothing,
+       agentCollaborators = Prelude.Nothing,
+       agentResourceRoleArn = Prelude.Nothing,
+       autoPrepare = Prelude.Nothing,
+       customOrchestration = Prelude.Nothing,
+       customerEncryptionKeyArn = Prelude.Nothing,
+       description = Prelude.Nothing, foundationModel = Prelude.Nothing,
+       guardrailConfiguration = Prelude.Nothing,
+       idleSessionTTLInSeconds = Prelude.Nothing,
+       instruction = Prelude.Nothing, knowledgeBases = Prelude.Nothing,
+       memoryConfiguration = Prelude.Nothing,
+       orchestrationType = Prelude.Nothing,
+       promptOverrideConfiguration = Prelude.Nothing,
+       skipResourceInUseCheckOnDelete = Prelude.Nothing,
+       tags = Prelude.Nothing, testAliasTags = Prelude.Nothing}
+instance ToResourceProperties Agent where
+  toResourceProperties Agent {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Agent", supportsTags = Prelude.True,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["AgentName" JSON..= agentName]
+                           (Prelude.catMaybes
+                              [(JSON..=) "ActionGroups" Prelude.<$> actionGroups,
+                               (JSON..=) "AgentCollaboration" Prelude.<$> agentCollaboration,
+                               (JSON..=) "AgentCollaborators" Prelude.<$> agentCollaborators,
+                               (JSON..=) "AgentResourceRoleArn" Prelude.<$> agentResourceRoleArn,
+                               (JSON..=) "AutoPrepare" Prelude.<$> autoPrepare,
+                               (JSON..=) "CustomOrchestration" Prelude.<$> customOrchestration,
+                               (JSON..=) "CustomerEncryptionKeyArn"
+                                 Prelude.<$> customerEncryptionKeyArn,
+                               (JSON..=) "Description" Prelude.<$> description,
+                               (JSON..=) "FoundationModel" Prelude.<$> foundationModel,
+                               (JSON..=) "GuardrailConfiguration"
+                                 Prelude.<$> guardrailConfiguration,
+                               (JSON..=) "IdleSessionTTLInSeconds"
+                                 Prelude.<$> idleSessionTTLInSeconds,
+                               (JSON..=) "Instruction" Prelude.<$> instruction,
+                               (JSON..=) "KnowledgeBases" Prelude.<$> knowledgeBases,
+                               (JSON..=) "MemoryConfiguration" Prelude.<$> memoryConfiguration,
+                               (JSON..=) "OrchestrationType" Prelude.<$> orchestrationType,
+                               (JSON..=) "PromptOverrideConfiguration"
+                                 Prelude.<$> promptOverrideConfiguration,
+                               (JSON..=) "SkipResourceInUseCheckOnDelete"
+                                 Prelude.<$> skipResourceInUseCheckOnDelete,
+                               (JSON..=) "Tags" Prelude.<$> tags,
+                               (JSON..=) "TestAliasTags" Prelude.<$> testAliasTags]))}
+instance JSON.ToJSON Agent where
+  toJSON Agent {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["AgentName" JSON..= agentName]
+              (Prelude.catMaybes
+                 [(JSON..=) "ActionGroups" Prelude.<$> actionGroups,
+                  (JSON..=) "AgentCollaboration" Prelude.<$> agentCollaboration,
+                  (JSON..=) "AgentCollaborators" Prelude.<$> agentCollaborators,
+                  (JSON..=) "AgentResourceRoleArn" Prelude.<$> agentResourceRoleArn,
+                  (JSON..=) "AutoPrepare" Prelude.<$> autoPrepare,
+                  (JSON..=) "CustomOrchestration" Prelude.<$> customOrchestration,
+                  (JSON..=) "CustomerEncryptionKeyArn"
+                    Prelude.<$> customerEncryptionKeyArn,
+                  (JSON..=) "Description" Prelude.<$> description,
+                  (JSON..=) "FoundationModel" Prelude.<$> foundationModel,
+                  (JSON..=) "GuardrailConfiguration"
+                    Prelude.<$> guardrailConfiguration,
+                  (JSON..=) "IdleSessionTTLInSeconds"
+                    Prelude.<$> idleSessionTTLInSeconds,
+                  (JSON..=) "Instruction" Prelude.<$> instruction,
+                  (JSON..=) "KnowledgeBases" Prelude.<$> knowledgeBases,
+                  (JSON..=) "MemoryConfiguration" Prelude.<$> memoryConfiguration,
+                  (JSON..=) "OrchestrationType" Prelude.<$> orchestrationType,
+                  (JSON..=) "PromptOverrideConfiguration"
+                    Prelude.<$> promptOverrideConfiguration,
+                  (JSON..=) "SkipResourceInUseCheckOnDelete"
+                    Prelude.<$> skipResourceInUseCheckOnDelete,
+                  (JSON..=) "Tags" Prelude.<$> tags,
+                  (JSON..=) "TestAliasTags" Prelude.<$> testAliasTags])))
+instance Property "ActionGroups" Agent where
+  type PropertyType "ActionGroups" Agent = [AgentActionGroupProperty]
+  set newValue Agent {..}
+    = Agent {actionGroups = Prelude.pure newValue, ..}
+instance Property "AgentCollaboration" Agent where
+  type PropertyType "AgentCollaboration" Agent = Value Prelude.Text
+  set newValue Agent {..}
+    = Agent {agentCollaboration = Prelude.pure newValue, ..}
+instance Property "AgentCollaborators" Agent where
+  type PropertyType "AgentCollaborators" Agent = [AgentCollaboratorProperty]
+  set newValue Agent {..}
+    = Agent {agentCollaborators = Prelude.pure newValue, ..}
+instance Property "AgentName" Agent where
+  type PropertyType "AgentName" Agent = Value Prelude.Text
+  set newValue Agent {..} = Agent {agentName = newValue, ..}
+instance Property "AgentResourceRoleArn" Agent where
+  type PropertyType "AgentResourceRoleArn" Agent = Value Prelude.Text
+  set newValue Agent {..}
+    = Agent {agentResourceRoleArn = Prelude.pure newValue, ..}
+instance Property "AutoPrepare" Agent where
+  type PropertyType "AutoPrepare" Agent = Value Prelude.Bool
+  set newValue Agent {..}
+    = Agent {autoPrepare = Prelude.pure newValue, ..}
+instance Property "CustomOrchestration" Agent where
+  type PropertyType "CustomOrchestration" Agent = CustomOrchestrationProperty
+  set newValue Agent {..}
+    = Agent {customOrchestration = Prelude.pure newValue, ..}
+instance Property "CustomerEncryptionKeyArn" Agent where
+  type PropertyType "CustomerEncryptionKeyArn" Agent = Value Prelude.Text
+  set newValue Agent {..}
+    = Agent {customerEncryptionKeyArn = Prelude.pure newValue, ..}
+instance Property "Description" Agent where
+  type PropertyType "Description" Agent = Value Prelude.Text
+  set newValue Agent {..}
+    = Agent {description = Prelude.pure newValue, ..}
+instance Property "FoundationModel" Agent where
+  type PropertyType "FoundationModel" Agent = Value Prelude.Text
+  set newValue Agent {..}
+    = Agent {foundationModel = Prelude.pure newValue, ..}
+instance Property "GuardrailConfiguration" Agent where
+  type PropertyType "GuardrailConfiguration" Agent = GuardrailConfigurationProperty
+  set newValue Agent {..}
+    = Agent {guardrailConfiguration = Prelude.pure newValue, ..}
+instance Property "IdleSessionTTLInSeconds" Agent where
+  type PropertyType "IdleSessionTTLInSeconds" Agent = Value Prelude.Double
+  set newValue Agent {..}
+    = Agent {idleSessionTTLInSeconds = Prelude.pure newValue, ..}
+instance Property "Instruction" Agent where
+  type PropertyType "Instruction" Agent = Value Prelude.Text
+  set newValue Agent {..}
+    = Agent {instruction = Prelude.pure newValue, ..}
+instance Property "KnowledgeBases" Agent where
+  type PropertyType "KnowledgeBases" Agent = [AgentKnowledgeBaseProperty]
+  set newValue Agent {..}
+    = Agent {knowledgeBases = Prelude.pure newValue, ..}
+instance Property "MemoryConfiguration" Agent where
+  type PropertyType "MemoryConfiguration" Agent = MemoryConfigurationProperty
+  set newValue Agent {..}
+    = Agent {memoryConfiguration = Prelude.pure newValue, ..}
+instance Property "OrchestrationType" Agent where
+  type PropertyType "OrchestrationType" Agent = Value Prelude.Text
+  set newValue Agent {..}
+    = Agent {orchestrationType = Prelude.pure newValue, ..}
+instance Property "PromptOverrideConfiguration" Agent where
+  type PropertyType "PromptOverrideConfiguration" Agent = PromptOverrideConfigurationProperty
+  set newValue Agent {..}
+    = Agent {promptOverrideConfiguration = Prelude.pure newValue, ..}
+instance Property "SkipResourceInUseCheckOnDelete" Agent where
+  type PropertyType "SkipResourceInUseCheckOnDelete" Agent = Value Prelude.Bool
+  set newValue Agent {..}
+    = Agent
+        {skipResourceInUseCheckOnDelete = Prelude.pure newValue, ..}
+instance Property "Tags" Agent where
+  type PropertyType "Tags" Agent = Prelude.Map Prelude.Text (Value Prelude.Text)
+  set newValue Agent {..} = Agent {tags = Prelude.pure newValue, ..}
+instance Property "TestAliasTags" Agent where
+  type PropertyType "TestAliasTags" Agent = Prelude.Map Prelude.Text (Value Prelude.Text)
+  set newValue Agent {..}
+    = Agent {testAliasTags = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Agent/APISchemaProperty.hs b/gen/Stratosphere/Bedrock/Agent/APISchemaProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Agent/APISchemaProperty.hs
@@ -0,0 +1,46 @@
+module Stratosphere.Bedrock.Agent.APISchemaProperty (
+        module Exports, APISchemaProperty(..), mkAPISchemaProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.Agent.S3IdentifierProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data APISchemaProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-apischema.html>
+    APISchemaProperty {haddock_workaround_ :: (),
+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-apischema.html#cfn-bedrock-agent-apischema-payload>
+                       payload :: (Prelude.Maybe (Value Prelude.Text)),
+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-apischema.html#cfn-bedrock-agent-apischema-s3>
+                       s3 :: (Prelude.Maybe S3IdentifierProperty)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkAPISchemaProperty :: APISchemaProperty
+mkAPISchemaProperty
+  = APISchemaProperty
+      {haddock_workaround_ = (), payload = Prelude.Nothing,
+       s3 = Prelude.Nothing}
+instance ToResourceProperties APISchemaProperty where
+  toResourceProperties APISchemaProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Agent.APISchema",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "Payload" Prelude.<$> payload,
+                            (JSON..=) "S3" Prelude.<$> s3])}
+instance JSON.ToJSON APISchemaProperty where
+  toJSON APISchemaProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "Payload" Prelude.<$> payload,
+               (JSON..=) "S3" Prelude.<$> s3]))
+instance Property "Payload" APISchemaProperty where
+  type PropertyType "Payload" APISchemaProperty = Value Prelude.Text
+  set newValue APISchemaProperty {..}
+    = APISchemaProperty {payload = Prelude.pure newValue, ..}
+instance Property "S3" APISchemaProperty where
+  type PropertyType "S3" APISchemaProperty = S3IdentifierProperty
+  set newValue APISchemaProperty {..}
+    = APISchemaProperty {s3 = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Agent/APISchemaProperty.hs-boot b/gen/Stratosphere/Bedrock/Agent/APISchemaProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Agent/APISchemaProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Agent.APISchemaProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data APISchemaProperty :: Prelude.Type
+instance ToResourceProperties APISchemaProperty
+instance Prelude.Eq APISchemaProperty
+instance Prelude.Show APISchemaProperty
+instance JSON.ToJSON APISchemaProperty
diff --git a/gen/Stratosphere/Bedrock/Agent/ActionGroupExecutorProperty.hs b/gen/Stratosphere/Bedrock/Agent/ActionGroupExecutorProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Agent/ActionGroupExecutorProperty.hs
@@ -0,0 +1,46 @@
+module Stratosphere.Bedrock.Agent.ActionGroupExecutorProperty (
+        ActionGroupExecutorProperty(..), mkActionGroupExecutorProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data ActionGroupExecutorProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-actiongroupexecutor.html>
+    ActionGroupExecutorProperty {haddock_workaround_ :: (),
+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-actiongroupexecutor.html#cfn-bedrock-agent-actiongroupexecutor-customcontrol>
+                                 customControl :: (Prelude.Maybe (Value Prelude.Text)),
+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-actiongroupexecutor.html#cfn-bedrock-agent-actiongroupexecutor-lambda>
+                                 lambda :: (Prelude.Maybe (Value Prelude.Text))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkActionGroupExecutorProperty :: ActionGroupExecutorProperty
+mkActionGroupExecutorProperty
+  = ActionGroupExecutorProperty
+      {haddock_workaround_ = (), customControl = Prelude.Nothing,
+       lambda = Prelude.Nothing}
+instance ToResourceProperties ActionGroupExecutorProperty where
+  toResourceProperties ActionGroupExecutorProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Agent.ActionGroupExecutor",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "CustomControl" Prelude.<$> customControl,
+                            (JSON..=) "Lambda" Prelude.<$> lambda])}
+instance JSON.ToJSON ActionGroupExecutorProperty where
+  toJSON ActionGroupExecutorProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "CustomControl" Prelude.<$> customControl,
+               (JSON..=) "Lambda" Prelude.<$> lambda]))
+instance Property "CustomControl" ActionGroupExecutorProperty where
+  type PropertyType "CustomControl" ActionGroupExecutorProperty = Value Prelude.Text
+  set newValue ActionGroupExecutorProperty {..}
+    = ActionGroupExecutorProperty
+        {customControl = Prelude.pure newValue, ..}
+instance Property "Lambda" ActionGroupExecutorProperty where
+  type PropertyType "Lambda" ActionGroupExecutorProperty = Value Prelude.Text
+  set newValue ActionGroupExecutorProperty {..}
+    = ActionGroupExecutorProperty {lambda = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Agent/ActionGroupExecutorProperty.hs-boot b/gen/Stratosphere/Bedrock/Agent/ActionGroupExecutorProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Agent/ActionGroupExecutorProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Agent.ActionGroupExecutorProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data ActionGroupExecutorProperty :: Prelude.Type
+instance ToResourceProperties ActionGroupExecutorProperty
+instance Prelude.Eq ActionGroupExecutorProperty
+instance Prelude.Show ActionGroupExecutorProperty
+instance JSON.ToJSON ActionGroupExecutorProperty
diff --git a/gen/Stratosphere/Bedrock/Agent/AgentActionGroupProperty.hs b/gen/Stratosphere/Bedrock/Agent/AgentActionGroupProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Agent/AgentActionGroupProperty.hs
@@ -0,0 +1,114 @@
+module Stratosphere.Bedrock.Agent.AgentActionGroupProperty (
+        module Exports, AgentActionGroupProperty(..),
+        mkAgentActionGroupProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.Agent.APISchemaProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.Agent.ActionGroupExecutorProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.Agent.FunctionSchemaProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data AgentActionGroupProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-agentactiongroup.html>
+    AgentActionGroupProperty {haddock_workaround_ :: (),
+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-agentactiongroup.html#cfn-bedrock-agent-agentactiongroup-actiongroupexecutor>
+                              actionGroupExecutor :: (Prelude.Maybe ActionGroupExecutorProperty),
+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-agentactiongroup.html#cfn-bedrock-agent-agentactiongroup-actiongroupname>
+                              actionGroupName :: (Value Prelude.Text),
+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-agentactiongroup.html#cfn-bedrock-agent-agentactiongroup-actiongroupstate>
+                              actionGroupState :: (Prelude.Maybe (Value Prelude.Text)),
+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-agentactiongroup.html#cfn-bedrock-agent-agentactiongroup-apischema>
+                              apiSchema :: (Prelude.Maybe APISchemaProperty),
+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-agentactiongroup.html#cfn-bedrock-agent-agentactiongroup-description>
+                              description :: (Prelude.Maybe (Value Prelude.Text)),
+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-agentactiongroup.html#cfn-bedrock-agent-agentactiongroup-functionschema>
+                              functionSchema :: (Prelude.Maybe FunctionSchemaProperty),
+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-agentactiongroup.html#cfn-bedrock-agent-agentactiongroup-parentactiongroupsignature>
+                              parentActionGroupSignature :: (Prelude.Maybe (Value Prelude.Text)),
+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-agentactiongroup.html#cfn-bedrock-agent-agentactiongroup-skipresourceinusecheckondelete>
+                              skipResourceInUseCheckOnDelete :: (Prelude.Maybe (Value Prelude.Bool))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkAgentActionGroupProperty ::
+  Value Prelude.Text -> AgentActionGroupProperty
+mkAgentActionGroupProperty actionGroupName
+  = AgentActionGroupProperty
+      {haddock_workaround_ = (), actionGroupName = actionGroupName,
+       actionGroupExecutor = Prelude.Nothing,
+       actionGroupState = Prelude.Nothing, apiSchema = Prelude.Nothing,
+       description = Prelude.Nothing, functionSchema = Prelude.Nothing,
+       parentActionGroupSignature = Prelude.Nothing,
+       skipResourceInUseCheckOnDelete = Prelude.Nothing}
+instance ToResourceProperties AgentActionGroupProperty where
+  toResourceProperties AgentActionGroupProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Agent.AgentActionGroup",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["ActionGroupName" JSON..= actionGroupName]
+                           (Prelude.catMaybes
+                              [(JSON..=) "ActionGroupExecutor" Prelude.<$> actionGroupExecutor,
+                               (JSON..=) "ActionGroupState" Prelude.<$> actionGroupState,
+                               (JSON..=) "ApiSchema" Prelude.<$> apiSchema,
+                               (JSON..=) "Description" Prelude.<$> description,
+                               (JSON..=) "FunctionSchema" Prelude.<$> functionSchema,
+                               (JSON..=) "ParentActionGroupSignature"
+                                 Prelude.<$> parentActionGroupSignature,
+                               (JSON..=) "SkipResourceInUseCheckOnDelete"
+                                 Prelude.<$> skipResourceInUseCheckOnDelete]))}
+instance JSON.ToJSON AgentActionGroupProperty where
+  toJSON AgentActionGroupProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["ActionGroupName" JSON..= actionGroupName]
+              (Prelude.catMaybes
+                 [(JSON..=) "ActionGroupExecutor" Prelude.<$> actionGroupExecutor,
+                  (JSON..=) "ActionGroupState" Prelude.<$> actionGroupState,
+                  (JSON..=) "ApiSchema" Prelude.<$> apiSchema,
+                  (JSON..=) "Description" Prelude.<$> description,
+                  (JSON..=) "FunctionSchema" Prelude.<$> functionSchema,
+                  (JSON..=) "ParentActionGroupSignature"
+                    Prelude.<$> parentActionGroupSignature,
+                  (JSON..=) "SkipResourceInUseCheckOnDelete"
+                    Prelude.<$> skipResourceInUseCheckOnDelete])))
+instance Property "ActionGroupExecutor" AgentActionGroupProperty where
+  type PropertyType "ActionGroupExecutor" AgentActionGroupProperty = ActionGroupExecutorProperty
+  set newValue AgentActionGroupProperty {..}
+    = AgentActionGroupProperty
+        {actionGroupExecutor = Prelude.pure newValue, ..}
+instance Property "ActionGroupName" AgentActionGroupProperty where
+  type PropertyType "ActionGroupName" AgentActionGroupProperty = Value Prelude.Text
+  set newValue AgentActionGroupProperty {..}
+    = AgentActionGroupProperty {actionGroupName = newValue, ..}
+instance Property "ActionGroupState" AgentActionGroupProperty where
+  type PropertyType "ActionGroupState" AgentActionGroupProperty = Value Prelude.Text
+  set newValue AgentActionGroupProperty {..}
+    = AgentActionGroupProperty
+        {actionGroupState = Prelude.pure newValue, ..}
+instance Property "ApiSchema" AgentActionGroupProperty where
+  type PropertyType "ApiSchema" AgentActionGroupProperty = APISchemaProperty
+  set newValue AgentActionGroupProperty {..}
+    = AgentActionGroupProperty {apiSchema = Prelude.pure newValue, ..}
+instance Property "Description" AgentActionGroupProperty where
+  type PropertyType "Description" AgentActionGroupProperty = Value Prelude.Text
+  set newValue AgentActionGroupProperty {..}
+    = AgentActionGroupProperty
+        {description = Prelude.pure newValue, ..}
+instance Property "FunctionSchema" AgentActionGroupProperty where
+  type PropertyType "FunctionSchema" AgentActionGroupProperty = FunctionSchemaProperty
+  set newValue AgentActionGroupProperty {..}
+    = AgentActionGroupProperty
+        {functionSchema = Prelude.pure newValue, ..}
+instance Property "ParentActionGroupSignature" AgentActionGroupProperty where
+  type PropertyType "ParentActionGroupSignature" AgentActionGroupProperty = Value Prelude.Text
+  set newValue AgentActionGroupProperty {..}
+    = AgentActionGroupProperty
+        {parentActionGroupSignature = Prelude.pure newValue, ..}
+instance Property "SkipResourceInUseCheckOnDelete" AgentActionGroupProperty where
+  type PropertyType "SkipResourceInUseCheckOnDelete" AgentActionGroupProperty = Value Prelude.Bool
+  set newValue AgentActionGroupProperty {..}
+    = AgentActionGroupProperty
+        {skipResourceInUseCheckOnDelete = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Agent/AgentActionGroupProperty.hs-boot b/gen/Stratosphere/Bedrock/Agent/AgentActionGroupProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Agent/AgentActionGroupProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Agent.AgentActionGroupProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data AgentActionGroupProperty :: Prelude.Type
+instance ToResourceProperties AgentActionGroupProperty
+instance Prelude.Eq AgentActionGroupProperty
+instance Prelude.Show AgentActionGroupProperty
+instance JSON.ToJSON AgentActionGroupProperty
diff --git a/gen/Stratosphere/Bedrock/Agent/AgentCollaboratorProperty.hs b/gen/Stratosphere/Bedrock/Agent/AgentCollaboratorProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Agent/AgentCollaboratorProperty.hs
@@ -0,0 +1,77 @@
+module Stratosphere.Bedrock.Agent.AgentCollaboratorProperty (
+        module Exports, AgentCollaboratorProperty(..),
+        mkAgentCollaboratorProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.Agent.AgentDescriptorProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data AgentCollaboratorProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-agentcollaborator.html>
+    AgentCollaboratorProperty {haddock_workaround_ :: (),
+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-agentcollaborator.html#cfn-bedrock-agent-agentcollaborator-agentdescriptor>
+                               agentDescriptor :: AgentDescriptorProperty,
+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-agentcollaborator.html#cfn-bedrock-agent-agentcollaborator-collaborationinstruction>
+                               collaborationInstruction :: (Value Prelude.Text),
+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-agentcollaborator.html#cfn-bedrock-agent-agentcollaborator-collaboratorname>
+                               collaboratorName :: (Value Prelude.Text),
+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-agentcollaborator.html#cfn-bedrock-agent-agentcollaborator-relayconversationhistory>
+                               relayConversationHistory :: (Prelude.Maybe (Value Prelude.Text))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkAgentCollaboratorProperty ::
+  AgentDescriptorProperty
+  -> Value Prelude.Text
+     -> Value Prelude.Text -> AgentCollaboratorProperty
+mkAgentCollaboratorProperty
+  agentDescriptor
+  collaborationInstruction
+  collaboratorName
+  = AgentCollaboratorProperty
+      {haddock_workaround_ = (), agentDescriptor = agentDescriptor,
+       collaborationInstruction = collaborationInstruction,
+       collaboratorName = collaboratorName,
+       relayConversationHistory = Prelude.Nothing}
+instance ToResourceProperties AgentCollaboratorProperty where
+  toResourceProperties AgentCollaboratorProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Agent.AgentCollaborator",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["AgentDescriptor" JSON..= agentDescriptor,
+                            "CollaborationInstruction" JSON..= collaborationInstruction,
+                            "CollaboratorName" JSON..= collaboratorName]
+                           (Prelude.catMaybes
+                              [(JSON..=) "RelayConversationHistory"
+                                 Prelude.<$> relayConversationHistory]))}
+instance JSON.ToJSON AgentCollaboratorProperty where
+  toJSON AgentCollaboratorProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["AgentDescriptor" JSON..= agentDescriptor,
+               "CollaborationInstruction" JSON..= collaborationInstruction,
+               "CollaboratorName" JSON..= collaboratorName]
+              (Prelude.catMaybes
+                 [(JSON..=) "RelayConversationHistory"
+                    Prelude.<$> relayConversationHistory])))
+instance Property "AgentDescriptor" AgentCollaboratorProperty where
+  type PropertyType "AgentDescriptor" AgentCollaboratorProperty = AgentDescriptorProperty
+  set newValue AgentCollaboratorProperty {..}
+    = AgentCollaboratorProperty {agentDescriptor = newValue, ..}
+instance Property "CollaborationInstruction" AgentCollaboratorProperty where
+  type PropertyType "CollaborationInstruction" AgentCollaboratorProperty = Value Prelude.Text
+  set newValue AgentCollaboratorProperty {..}
+    = AgentCollaboratorProperty
+        {collaborationInstruction = newValue, ..}
+instance Property "CollaboratorName" AgentCollaboratorProperty where
+  type PropertyType "CollaboratorName" AgentCollaboratorProperty = Value Prelude.Text
+  set newValue AgentCollaboratorProperty {..}
+    = AgentCollaboratorProperty {collaboratorName = newValue, ..}
+instance Property "RelayConversationHistory" AgentCollaboratorProperty where
+  type PropertyType "RelayConversationHistory" AgentCollaboratorProperty = Value Prelude.Text
+  set newValue AgentCollaboratorProperty {..}
+    = AgentCollaboratorProperty
+        {relayConversationHistory = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Agent/AgentCollaboratorProperty.hs-boot b/gen/Stratosphere/Bedrock/Agent/AgentCollaboratorProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Agent/AgentCollaboratorProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Agent.AgentCollaboratorProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data AgentCollaboratorProperty :: Prelude.Type
+instance ToResourceProperties AgentCollaboratorProperty
+instance Prelude.Eq AgentCollaboratorProperty
+instance Prelude.Show AgentCollaboratorProperty
+instance JSON.ToJSON AgentCollaboratorProperty
diff --git a/gen/Stratosphere/Bedrock/Agent/AgentDescriptorProperty.hs b/gen/Stratosphere/Bedrock/Agent/AgentDescriptorProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Agent/AgentDescriptorProperty.hs
@@ -0,0 +1,34 @@
+module Stratosphere.Bedrock.Agent.AgentDescriptorProperty (
+        AgentDescriptorProperty(..), mkAgentDescriptorProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data AgentDescriptorProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-agentdescriptor.html>
+    AgentDescriptorProperty {haddock_workaround_ :: (),
+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-agentdescriptor.html#cfn-bedrock-agent-agentdescriptor-aliasarn>
+                             aliasArn :: (Prelude.Maybe (Value Prelude.Text))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkAgentDescriptorProperty :: AgentDescriptorProperty
+mkAgentDescriptorProperty
+  = AgentDescriptorProperty
+      {haddock_workaround_ = (), aliasArn = Prelude.Nothing}
+instance ToResourceProperties AgentDescriptorProperty where
+  toResourceProperties AgentDescriptorProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Agent.AgentDescriptor",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes [(JSON..=) "AliasArn" Prelude.<$> aliasArn])}
+instance JSON.ToJSON AgentDescriptorProperty where
+  toJSON AgentDescriptorProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes [(JSON..=) "AliasArn" Prelude.<$> aliasArn]))
+instance Property "AliasArn" AgentDescriptorProperty where
+  type PropertyType "AliasArn" AgentDescriptorProperty = Value Prelude.Text
+  set newValue AgentDescriptorProperty {..}
+    = AgentDescriptorProperty {aliasArn = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Agent/AgentDescriptorProperty.hs-boot b/gen/Stratosphere/Bedrock/Agent/AgentDescriptorProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Agent/AgentDescriptorProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Agent.AgentDescriptorProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data AgentDescriptorProperty :: Prelude.Type
+instance ToResourceProperties AgentDescriptorProperty
+instance Prelude.Eq AgentDescriptorProperty
+instance Prelude.Show AgentDescriptorProperty
+instance JSON.ToJSON AgentDescriptorProperty
diff --git a/gen/Stratosphere/Bedrock/Agent/AgentKnowledgeBaseProperty.hs b/gen/Stratosphere/Bedrock/Agent/AgentKnowledgeBaseProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Agent/AgentKnowledgeBaseProperty.hs
@@ -0,0 +1,59 @@
+module Stratosphere.Bedrock.Agent.AgentKnowledgeBaseProperty (
+        AgentKnowledgeBaseProperty(..), mkAgentKnowledgeBaseProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data AgentKnowledgeBaseProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-agentknowledgebase.html>
+    AgentKnowledgeBaseProperty {haddock_workaround_ :: (),
+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-agentknowledgebase.html#cfn-bedrock-agent-agentknowledgebase-description>
+                                description :: (Value Prelude.Text),
+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-agentknowledgebase.html#cfn-bedrock-agent-agentknowledgebase-knowledgebaseid>
+                                knowledgeBaseId :: (Value Prelude.Text),
+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-agentknowledgebase.html#cfn-bedrock-agent-agentknowledgebase-knowledgebasestate>
+                                knowledgeBaseState :: (Prelude.Maybe (Value Prelude.Text))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkAgentKnowledgeBaseProperty ::
+  Value Prelude.Text
+  -> Value Prelude.Text -> AgentKnowledgeBaseProperty
+mkAgentKnowledgeBaseProperty description knowledgeBaseId
+  = AgentKnowledgeBaseProperty
+      {haddock_workaround_ = (), description = description,
+       knowledgeBaseId = knowledgeBaseId,
+       knowledgeBaseState = Prelude.Nothing}
+instance ToResourceProperties AgentKnowledgeBaseProperty where
+  toResourceProperties AgentKnowledgeBaseProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Agent.AgentKnowledgeBase",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["Description" JSON..= description,
+                            "KnowledgeBaseId" JSON..= knowledgeBaseId]
+                           (Prelude.catMaybes
+                              [(JSON..=) "KnowledgeBaseState" Prelude.<$> knowledgeBaseState]))}
+instance JSON.ToJSON AgentKnowledgeBaseProperty where
+  toJSON AgentKnowledgeBaseProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["Description" JSON..= description,
+               "KnowledgeBaseId" JSON..= knowledgeBaseId]
+              (Prelude.catMaybes
+                 [(JSON..=) "KnowledgeBaseState" Prelude.<$> knowledgeBaseState])))
+instance Property "Description" AgentKnowledgeBaseProperty where
+  type PropertyType "Description" AgentKnowledgeBaseProperty = Value Prelude.Text
+  set newValue AgentKnowledgeBaseProperty {..}
+    = AgentKnowledgeBaseProperty {description = newValue, ..}
+instance Property "KnowledgeBaseId" AgentKnowledgeBaseProperty where
+  type PropertyType "KnowledgeBaseId" AgentKnowledgeBaseProperty = Value Prelude.Text
+  set newValue AgentKnowledgeBaseProperty {..}
+    = AgentKnowledgeBaseProperty {knowledgeBaseId = newValue, ..}
+instance Property "KnowledgeBaseState" AgentKnowledgeBaseProperty where
+  type PropertyType "KnowledgeBaseState" AgentKnowledgeBaseProperty = Value Prelude.Text
+  set newValue AgentKnowledgeBaseProperty {..}
+    = AgentKnowledgeBaseProperty
+        {knowledgeBaseState = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Agent/AgentKnowledgeBaseProperty.hs-boot b/gen/Stratosphere/Bedrock/Agent/AgentKnowledgeBaseProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Agent/AgentKnowledgeBaseProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Agent.AgentKnowledgeBaseProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data AgentKnowledgeBaseProperty :: Prelude.Type
+instance ToResourceProperties AgentKnowledgeBaseProperty
+instance Prelude.Eq AgentKnowledgeBaseProperty
+instance Prelude.Show AgentKnowledgeBaseProperty
+instance JSON.ToJSON AgentKnowledgeBaseProperty
diff --git a/gen/Stratosphere/Bedrock/Agent/CustomOrchestrationProperty.hs b/gen/Stratosphere/Bedrock/Agent/CustomOrchestrationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Agent/CustomOrchestrationProperty.hs
@@ -0,0 +1,36 @@
+module Stratosphere.Bedrock.Agent.CustomOrchestrationProperty (
+        module Exports, CustomOrchestrationProperty(..),
+        mkCustomOrchestrationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.Agent.OrchestrationExecutorProperty as Exports
+import Stratosphere.ResourceProperties
+data CustomOrchestrationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-customorchestration.html>
+    CustomOrchestrationProperty {haddock_workaround_ :: (),
+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-customorchestration.html#cfn-bedrock-agent-customorchestration-executor>
+                                 executor :: (Prelude.Maybe OrchestrationExecutorProperty)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkCustomOrchestrationProperty :: CustomOrchestrationProperty
+mkCustomOrchestrationProperty
+  = CustomOrchestrationProperty
+      {haddock_workaround_ = (), executor = Prelude.Nothing}
+instance ToResourceProperties CustomOrchestrationProperty where
+  toResourceProperties CustomOrchestrationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Agent.CustomOrchestration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes [(JSON..=) "Executor" Prelude.<$> executor])}
+instance JSON.ToJSON CustomOrchestrationProperty where
+  toJSON CustomOrchestrationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes [(JSON..=) "Executor" Prelude.<$> executor]))
+instance Property "Executor" CustomOrchestrationProperty where
+  type PropertyType "Executor" CustomOrchestrationProperty = OrchestrationExecutorProperty
+  set newValue CustomOrchestrationProperty {..}
+    = CustomOrchestrationProperty
+        {executor = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Agent/CustomOrchestrationProperty.hs-boot b/gen/Stratosphere/Bedrock/Agent/CustomOrchestrationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Agent/CustomOrchestrationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Agent.CustomOrchestrationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data CustomOrchestrationProperty :: Prelude.Type
+instance ToResourceProperties CustomOrchestrationProperty
+instance Prelude.Eq CustomOrchestrationProperty
+instance Prelude.Show CustomOrchestrationProperty
+instance JSON.ToJSON CustomOrchestrationProperty
diff --git a/gen/Stratosphere/Bedrock/Agent/FunctionProperty.hs b/gen/Stratosphere/Bedrock/Agent/FunctionProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Agent/FunctionProperty.hs
@@ -0,0 +1,66 @@
+module Stratosphere.Bedrock.Agent.FunctionProperty (
+        module Exports, FunctionProperty(..), mkFunctionProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.Agent.ParameterDetailProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data FunctionProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-function.html>
+    FunctionProperty {haddock_workaround_ :: (),
+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-function.html#cfn-bedrock-agent-function-description>
+                      description :: (Prelude.Maybe (Value Prelude.Text)),
+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-function.html#cfn-bedrock-agent-function-name>
+                      name :: (Value Prelude.Text),
+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-function.html#cfn-bedrock-agent-function-parameters>
+                      parameters :: (Prelude.Maybe (Prelude.Map Prelude.Text ParameterDetailProperty)),
+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-function.html#cfn-bedrock-agent-function-requireconfirmation>
+                      requireConfirmation :: (Prelude.Maybe (Value Prelude.Text))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkFunctionProperty :: Value Prelude.Text -> FunctionProperty
+mkFunctionProperty name
+  = FunctionProperty
+      {haddock_workaround_ = (), name = name,
+       description = Prelude.Nothing, parameters = Prelude.Nothing,
+       requireConfirmation = Prelude.Nothing}
+instance ToResourceProperties FunctionProperty where
+  toResourceProperties FunctionProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Agent.Function",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["Name" JSON..= name]
+                           (Prelude.catMaybes
+                              [(JSON..=) "Description" Prelude.<$> description,
+                               (JSON..=) "Parameters" Prelude.<$> parameters,
+                               (JSON..=) "RequireConfirmation" Prelude.<$> requireConfirmation]))}
+instance JSON.ToJSON FunctionProperty where
+  toJSON FunctionProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["Name" JSON..= name]
+              (Prelude.catMaybes
+                 [(JSON..=) "Description" Prelude.<$> description,
+                  (JSON..=) "Parameters" Prelude.<$> parameters,
+                  (JSON..=) "RequireConfirmation" Prelude.<$> requireConfirmation])))
+instance Property "Description" FunctionProperty where
+  type PropertyType "Description" FunctionProperty = Value Prelude.Text
+  set newValue FunctionProperty {..}
+    = FunctionProperty {description = Prelude.pure newValue, ..}
+instance Property "Name" FunctionProperty where
+  type PropertyType "Name" FunctionProperty = Value Prelude.Text
+  set newValue FunctionProperty {..}
+    = FunctionProperty {name = newValue, ..}
+instance Property "Parameters" FunctionProperty where
+  type PropertyType "Parameters" FunctionProperty = Prelude.Map Prelude.Text ParameterDetailProperty
+  set newValue FunctionProperty {..}
+    = FunctionProperty {parameters = Prelude.pure newValue, ..}
+instance Property "RequireConfirmation" FunctionProperty where
+  type PropertyType "RequireConfirmation" FunctionProperty = Value Prelude.Text
+  set newValue FunctionProperty {..}
+    = FunctionProperty
+        {requireConfirmation = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Agent/FunctionProperty.hs-boot b/gen/Stratosphere/Bedrock/Agent/FunctionProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Agent/FunctionProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Agent.FunctionProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data FunctionProperty :: Prelude.Type
+instance ToResourceProperties FunctionProperty
+instance Prelude.Eq FunctionProperty
+instance Prelude.Show FunctionProperty
+instance JSON.ToJSON FunctionProperty
diff --git a/gen/Stratosphere/Bedrock/Agent/FunctionSchemaProperty.hs b/gen/Stratosphere/Bedrock/Agent/FunctionSchemaProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Agent/FunctionSchemaProperty.hs
@@ -0,0 +1,33 @@
+module Stratosphere.Bedrock.Agent.FunctionSchemaProperty (
+        module Exports, FunctionSchemaProperty(..),
+        mkFunctionSchemaProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.Agent.FunctionProperty as Exports
+import Stratosphere.ResourceProperties
+data FunctionSchemaProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-functionschema.html>
+    FunctionSchemaProperty {haddock_workaround_ :: (),
+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-functionschema.html#cfn-bedrock-agent-functionschema-functions>
+                            functions :: [FunctionProperty]}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkFunctionSchemaProperty ::
+  [FunctionProperty] -> FunctionSchemaProperty
+mkFunctionSchemaProperty functions
+  = FunctionSchemaProperty
+      {haddock_workaround_ = (), functions = functions}
+instance ToResourceProperties FunctionSchemaProperty where
+  toResourceProperties FunctionSchemaProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Agent.FunctionSchema",
+         supportsTags = Prelude.False,
+         properties = ["Functions" JSON..= functions]}
+instance JSON.ToJSON FunctionSchemaProperty where
+  toJSON FunctionSchemaProperty {..}
+    = JSON.object ["Functions" JSON..= functions]
+instance Property "Functions" FunctionSchemaProperty where
+  type PropertyType "Functions" FunctionSchemaProperty = [FunctionProperty]
+  set newValue FunctionSchemaProperty {..}
+    = FunctionSchemaProperty {functions = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Agent/FunctionSchemaProperty.hs-boot b/gen/Stratosphere/Bedrock/Agent/FunctionSchemaProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Agent/FunctionSchemaProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Agent.FunctionSchemaProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data FunctionSchemaProperty :: Prelude.Type
+instance ToResourceProperties FunctionSchemaProperty
+instance Prelude.Eq FunctionSchemaProperty
+instance Prelude.Show FunctionSchemaProperty
+instance JSON.ToJSON FunctionSchemaProperty
diff --git a/gen/Stratosphere/Bedrock/Agent/GuardrailConfigurationProperty.hs b/gen/Stratosphere/Bedrock/Agent/GuardrailConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Agent/GuardrailConfigurationProperty.hs
@@ -0,0 +1,48 @@
+module Stratosphere.Bedrock.Agent.GuardrailConfigurationProperty (
+        GuardrailConfigurationProperty(..),
+        mkGuardrailConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data GuardrailConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-guardrailconfiguration.html>
+    GuardrailConfigurationProperty {haddock_workaround_ :: (),
+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-guardrailconfiguration.html#cfn-bedrock-agent-guardrailconfiguration-guardrailidentifier>
+                                    guardrailIdentifier :: (Prelude.Maybe (Value Prelude.Text)),
+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-guardrailconfiguration.html#cfn-bedrock-agent-guardrailconfiguration-guardrailversion>
+                                    guardrailVersion :: (Prelude.Maybe (Value Prelude.Text))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkGuardrailConfigurationProperty :: GuardrailConfigurationProperty
+mkGuardrailConfigurationProperty
+  = GuardrailConfigurationProperty
+      {haddock_workaround_ = (), guardrailIdentifier = Prelude.Nothing,
+       guardrailVersion = Prelude.Nothing}
+instance ToResourceProperties GuardrailConfigurationProperty where
+  toResourceProperties GuardrailConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Agent.GuardrailConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "GuardrailIdentifier" Prelude.<$> guardrailIdentifier,
+                            (JSON..=) "GuardrailVersion" Prelude.<$> guardrailVersion])}
+instance JSON.ToJSON GuardrailConfigurationProperty where
+  toJSON GuardrailConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "GuardrailIdentifier" Prelude.<$> guardrailIdentifier,
+               (JSON..=) "GuardrailVersion" Prelude.<$> guardrailVersion]))
+instance Property "GuardrailIdentifier" GuardrailConfigurationProperty where
+  type PropertyType "GuardrailIdentifier" GuardrailConfigurationProperty = Value Prelude.Text
+  set newValue GuardrailConfigurationProperty {..}
+    = GuardrailConfigurationProperty
+        {guardrailIdentifier = Prelude.pure newValue, ..}
+instance Property "GuardrailVersion" GuardrailConfigurationProperty where
+  type PropertyType "GuardrailVersion" GuardrailConfigurationProperty = Value Prelude.Text
+  set newValue GuardrailConfigurationProperty {..}
+    = GuardrailConfigurationProperty
+        {guardrailVersion = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Agent/GuardrailConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/Agent/GuardrailConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Agent/GuardrailConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Agent.GuardrailConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data GuardrailConfigurationProperty :: Prelude.Type
+instance ToResourceProperties GuardrailConfigurationProperty
+instance Prelude.Eq GuardrailConfigurationProperty
+instance Prelude.Show GuardrailConfigurationProperty
+instance JSON.ToJSON GuardrailConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/Agent/InferenceConfigurationProperty.hs b/gen/Stratosphere/Bedrock/Agent/InferenceConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Agent/InferenceConfigurationProperty.hs
@@ -0,0 +1,74 @@
+module Stratosphere.Bedrock.Agent.InferenceConfigurationProperty (
+        InferenceConfigurationProperty(..),
+        mkInferenceConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data InferenceConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-inferenceconfiguration.html>
+    InferenceConfigurationProperty {haddock_workaround_ :: (),
+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-inferenceconfiguration.html#cfn-bedrock-agent-inferenceconfiguration-maximumlength>
+                                    maximumLength :: (Prelude.Maybe (Value Prelude.Double)),
+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-inferenceconfiguration.html#cfn-bedrock-agent-inferenceconfiguration-stopsequences>
+                                    stopSequences :: (Prelude.Maybe (ValueList Prelude.Text)),
+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-inferenceconfiguration.html#cfn-bedrock-agent-inferenceconfiguration-temperature>
+                                    temperature :: (Prelude.Maybe (Value Prelude.Double)),
+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-inferenceconfiguration.html#cfn-bedrock-agent-inferenceconfiguration-topk>
+                                    topK :: (Prelude.Maybe (Value Prelude.Double)),
+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-inferenceconfiguration.html#cfn-bedrock-agent-inferenceconfiguration-topp>
+                                    topP :: (Prelude.Maybe (Value Prelude.Double))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkInferenceConfigurationProperty :: InferenceConfigurationProperty
+mkInferenceConfigurationProperty
+  = InferenceConfigurationProperty
+      {haddock_workaround_ = (), maximumLength = Prelude.Nothing,
+       stopSequences = Prelude.Nothing, temperature = Prelude.Nothing,
+       topK = Prelude.Nothing, topP = Prelude.Nothing}
+instance ToResourceProperties InferenceConfigurationProperty where
+  toResourceProperties InferenceConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Agent.InferenceConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "MaximumLength" Prelude.<$> maximumLength,
+                            (JSON..=) "StopSequences" Prelude.<$> stopSequences,
+                            (JSON..=) "Temperature" Prelude.<$> temperature,
+                            (JSON..=) "TopK" Prelude.<$> topK,
+                            (JSON..=) "TopP" Prelude.<$> topP])}
+instance JSON.ToJSON InferenceConfigurationProperty where
+  toJSON InferenceConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "MaximumLength" Prelude.<$> maximumLength,
+               (JSON..=) "StopSequences" Prelude.<$> stopSequences,
+               (JSON..=) "Temperature" Prelude.<$> temperature,
+               (JSON..=) "TopK" Prelude.<$> topK,
+               (JSON..=) "TopP" Prelude.<$> topP]))
+instance Property "MaximumLength" InferenceConfigurationProperty where
+  type PropertyType "MaximumLength" InferenceConfigurationProperty = Value Prelude.Double
+  set newValue InferenceConfigurationProperty {..}
+    = InferenceConfigurationProperty
+        {maximumLength = Prelude.pure newValue, ..}
+instance Property "StopSequences" InferenceConfigurationProperty where
+  type PropertyType "StopSequences" InferenceConfigurationProperty = ValueList Prelude.Text
+  set newValue InferenceConfigurationProperty {..}
+    = InferenceConfigurationProperty
+        {stopSequences = Prelude.pure newValue, ..}
+instance Property "Temperature" InferenceConfigurationProperty where
+  type PropertyType "Temperature" InferenceConfigurationProperty = Value Prelude.Double
+  set newValue InferenceConfigurationProperty {..}
+    = InferenceConfigurationProperty
+        {temperature = Prelude.pure newValue, ..}
+instance Property "TopK" InferenceConfigurationProperty where
+  type PropertyType "TopK" InferenceConfigurationProperty = Value Prelude.Double
+  set newValue InferenceConfigurationProperty {..}
+    = InferenceConfigurationProperty {topK = Prelude.pure newValue, ..}
+instance Property "TopP" InferenceConfigurationProperty where
+  type PropertyType "TopP" InferenceConfigurationProperty = Value Prelude.Double
+  set newValue InferenceConfigurationProperty {..}
+    = InferenceConfigurationProperty {topP = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Agent/InferenceConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/Agent/InferenceConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Agent/InferenceConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Agent.InferenceConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data InferenceConfigurationProperty :: Prelude.Type
+instance ToResourceProperties InferenceConfigurationProperty
+instance Prelude.Eq InferenceConfigurationProperty
+instance Prelude.Show InferenceConfigurationProperty
+instance JSON.ToJSON InferenceConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/Agent/MemoryConfigurationProperty.hs b/gen/Stratosphere/Bedrock/Agent/MemoryConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Agent/MemoryConfigurationProperty.hs
@@ -0,0 +1,61 @@
+module Stratosphere.Bedrock.Agent.MemoryConfigurationProperty (
+        module Exports, MemoryConfigurationProperty(..),
+        mkMemoryConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.Agent.SessionSummaryConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data MemoryConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-memoryconfiguration.html>
+    MemoryConfigurationProperty {haddock_workaround_ :: (),
+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-memoryconfiguration.html#cfn-bedrock-agent-memoryconfiguration-enabledmemorytypes>
+                                 enabledMemoryTypes :: (Prelude.Maybe (ValueList Prelude.Text)),
+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-memoryconfiguration.html#cfn-bedrock-agent-memoryconfiguration-sessionsummaryconfiguration>
+                                 sessionSummaryConfiguration :: (Prelude.Maybe SessionSummaryConfigurationProperty),
+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-memoryconfiguration.html#cfn-bedrock-agent-memoryconfiguration-storagedays>
+                                 storageDays :: (Prelude.Maybe (Value Prelude.Double))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkMemoryConfigurationProperty :: MemoryConfigurationProperty
+mkMemoryConfigurationProperty
+  = MemoryConfigurationProperty
+      {haddock_workaround_ = (), enabledMemoryTypes = Prelude.Nothing,
+       sessionSummaryConfiguration = Prelude.Nothing,
+       storageDays = Prelude.Nothing}
+instance ToResourceProperties MemoryConfigurationProperty where
+  toResourceProperties MemoryConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Agent.MemoryConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "EnabledMemoryTypes" Prelude.<$> enabledMemoryTypes,
+                            (JSON..=) "SessionSummaryConfiguration"
+                              Prelude.<$> sessionSummaryConfiguration,
+                            (JSON..=) "StorageDays" Prelude.<$> storageDays])}
+instance JSON.ToJSON MemoryConfigurationProperty where
+  toJSON MemoryConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "EnabledMemoryTypes" Prelude.<$> enabledMemoryTypes,
+               (JSON..=) "SessionSummaryConfiguration"
+                 Prelude.<$> sessionSummaryConfiguration,
+               (JSON..=) "StorageDays" Prelude.<$> storageDays]))
+instance Property "EnabledMemoryTypes" MemoryConfigurationProperty where
+  type PropertyType "EnabledMemoryTypes" MemoryConfigurationProperty = ValueList Prelude.Text
+  set newValue MemoryConfigurationProperty {..}
+    = MemoryConfigurationProperty
+        {enabledMemoryTypes = Prelude.pure newValue, ..}
+instance Property "SessionSummaryConfiguration" MemoryConfigurationProperty where
+  type PropertyType "SessionSummaryConfiguration" MemoryConfigurationProperty = SessionSummaryConfigurationProperty
+  set newValue MemoryConfigurationProperty {..}
+    = MemoryConfigurationProperty
+        {sessionSummaryConfiguration = Prelude.pure newValue, ..}
+instance Property "StorageDays" MemoryConfigurationProperty where
+  type PropertyType "StorageDays" MemoryConfigurationProperty = Value Prelude.Double
+  set newValue MemoryConfigurationProperty {..}
+    = MemoryConfigurationProperty
+        {storageDays = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Agent/MemoryConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/Agent/MemoryConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Agent/MemoryConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Agent.MemoryConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data MemoryConfigurationProperty :: Prelude.Type
+instance ToResourceProperties MemoryConfigurationProperty
+instance Prelude.Eq MemoryConfigurationProperty
+instance Prelude.Show MemoryConfigurationProperty
+instance JSON.ToJSON MemoryConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/Agent/OrchestrationExecutorProperty.hs b/gen/Stratosphere/Bedrock/Agent/OrchestrationExecutorProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Agent/OrchestrationExecutorProperty.hs
@@ -0,0 +1,32 @@
+module Stratosphere.Bedrock.Agent.OrchestrationExecutorProperty (
+        OrchestrationExecutorProperty(..), mkOrchestrationExecutorProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data OrchestrationExecutorProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-orchestrationexecutor.html>
+    OrchestrationExecutorProperty {haddock_workaround_ :: (),
+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-orchestrationexecutor.html#cfn-bedrock-agent-orchestrationexecutor-lambda>
+                                   lambda :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkOrchestrationExecutorProperty ::
+  Value Prelude.Text -> OrchestrationExecutorProperty
+mkOrchestrationExecutorProperty lambda
+  = OrchestrationExecutorProperty
+      {haddock_workaround_ = (), lambda = lambda}
+instance ToResourceProperties OrchestrationExecutorProperty where
+  toResourceProperties OrchestrationExecutorProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Agent.OrchestrationExecutor",
+         supportsTags = Prelude.False,
+         properties = ["Lambda" JSON..= lambda]}
+instance JSON.ToJSON OrchestrationExecutorProperty where
+  toJSON OrchestrationExecutorProperty {..}
+    = JSON.object ["Lambda" JSON..= lambda]
+instance Property "Lambda" OrchestrationExecutorProperty where
+  type PropertyType "Lambda" OrchestrationExecutorProperty = Value Prelude.Text
+  set newValue OrchestrationExecutorProperty {..}
+    = OrchestrationExecutorProperty {lambda = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Agent/OrchestrationExecutorProperty.hs-boot b/gen/Stratosphere/Bedrock/Agent/OrchestrationExecutorProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Agent/OrchestrationExecutorProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Agent.OrchestrationExecutorProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data OrchestrationExecutorProperty :: Prelude.Type
+instance ToResourceProperties OrchestrationExecutorProperty
+instance Prelude.Eq OrchestrationExecutorProperty
+instance Prelude.Show OrchestrationExecutorProperty
+instance JSON.ToJSON OrchestrationExecutorProperty
diff --git a/gen/Stratosphere/Bedrock/Agent/ParameterDetailProperty.hs b/gen/Stratosphere/Bedrock/Agent/ParameterDetailProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Agent/ParameterDetailProperty.hs
@@ -0,0 +1,56 @@
+module Stratosphere.Bedrock.Agent.ParameterDetailProperty (
+        ParameterDetailProperty(..), mkParameterDetailProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data ParameterDetailProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-parameterdetail.html>
+    ParameterDetailProperty {haddock_workaround_ :: (),
+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-parameterdetail.html#cfn-bedrock-agent-parameterdetail-description>
+                             description :: (Prelude.Maybe (Value Prelude.Text)),
+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-parameterdetail.html#cfn-bedrock-agent-parameterdetail-required>
+                             required :: (Prelude.Maybe (Value Prelude.Bool)),
+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-parameterdetail.html#cfn-bedrock-agent-parameterdetail-type>
+                             type' :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkParameterDetailProperty ::
+  Value Prelude.Text -> ParameterDetailProperty
+mkParameterDetailProperty type'
+  = ParameterDetailProperty
+      {haddock_workaround_ = (), type' = type',
+       description = Prelude.Nothing, required = Prelude.Nothing}
+instance ToResourceProperties ParameterDetailProperty where
+  toResourceProperties ParameterDetailProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Agent.ParameterDetail",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["Type" JSON..= type']
+                           (Prelude.catMaybes
+                              [(JSON..=) "Description" Prelude.<$> description,
+                               (JSON..=) "Required" Prelude.<$> required]))}
+instance JSON.ToJSON ParameterDetailProperty where
+  toJSON ParameterDetailProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["Type" JSON..= type']
+              (Prelude.catMaybes
+                 [(JSON..=) "Description" Prelude.<$> description,
+                  (JSON..=) "Required" Prelude.<$> required])))
+instance Property "Description" ParameterDetailProperty where
+  type PropertyType "Description" ParameterDetailProperty = Value Prelude.Text
+  set newValue ParameterDetailProperty {..}
+    = ParameterDetailProperty {description = Prelude.pure newValue, ..}
+instance Property "Required" ParameterDetailProperty where
+  type PropertyType "Required" ParameterDetailProperty = Value Prelude.Bool
+  set newValue ParameterDetailProperty {..}
+    = ParameterDetailProperty {required = Prelude.pure newValue, ..}
+instance Property "Type" ParameterDetailProperty where
+  type PropertyType "Type" ParameterDetailProperty = Value Prelude.Text
+  set newValue ParameterDetailProperty {..}
+    = ParameterDetailProperty {type' = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Agent/ParameterDetailProperty.hs-boot b/gen/Stratosphere/Bedrock/Agent/ParameterDetailProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Agent/ParameterDetailProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Agent.ParameterDetailProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data ParameterDetailProperty :: Prelude.Type
+instance ToResourceProperties ParameterDetailProperty
+instance Prelude.Eq ParameterDetailProperty
+instance Prelude.Show ParameterDetailProperty
+instance JSON.ToJSON ParameterDetailProperty
diff --git a/gen/Stratosphere/Bedrock/Agent/PromptConfigurationProperty.hs b/gen/Stratosphere/Bedrock/Agent/PromptConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Agent/PromptConfigurationProperty.hs
@@ -0,0 +1,112 @@
+module Stratosphere.Bedrock.Agent.PromptConfigurationProperty (
+        module Exports, PromptConfigurationProperty(..),
+        mkPromptConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.Agent.InferenceConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data PromptConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-promptconfiguration.html>
+    PromptConfigurationProperty {haddock_workaround_ :: (),
+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-promptconfiguration.html#cfn-bedrock-agent-promptconfiguration-additionalmodelrequestfields>
+                                 additionalModelRequestFields :: (Prelude.Maybe JSON.Object),
+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-promptconfiguration.html#cfn-bedrock-agent-promptconfiguration-baseprompttemplate>
+                                 basePromptTemplate :: (Prelude.Maybe (Value Prelude.Text)),
+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-promptconfiguration.html#cfn-bedrock-agent-promptconfiguration-foundationmodel>
+                                 foundationModel :: (Prelude.Maybe (Value Prelude.Text)),
+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-promptconfiguration.html#cfn-bedrock-agent-promptconfiguration-inferenceconfiguration>
+                                 inferenceConfiguration :: (Prelude.Maybe InferenceConfigurationProperty),
+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-promptconfiguration.html#cfn-bedrock-agent-promptconfiguration-parsermode>
+                                 parserMode :: (Prelude.Maybe (Value Prelude.Text)),
+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-promptconfiguration.html#cfn-bedrock-agent-promptconfiguration-promptcreationmode>
+                                 promptCreationMode :: (Prelude.Maybe (Value Prelude.Text)),
+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-promptconfiguration.html#cfn-bedrock-agent-promptconfiguration-promptstate>
+                                 promptState :: (Prelude.Maybe (Value Prelude.Text)),
+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-promptconfiguration.html#cfn-bedrock-agent-promptconfiguration-prompttype>
+                                 promptType :: (Prelude.Maybe (Value Prelude.Text))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkPromptConfigurationProperty :: PromptConfigurationProperty
+mkPromptConfigurationProperty
+  = PromptConfigurationProperty
+      {haddock_workaround_ = (),
+       additionalModelRequestFields = Prelude.Nothing,
+       basePromptTemplate = Prelude.Nothing,
+       foundationModel = Prelude.Nothing,
+       inferenceConfiguration = Prelude.Nothing,
+       parserMode = Prelude.Nothing, promptCreationMode = Prelude.Nothing,
+       promptState = Prelude.Nothing, promptType = Prelude.Nothing}
+instance ToResourceProperties PromptConfigurationProperty where
+  toResourceProperties PromptConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Agent.PromptConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "AdditionalModelRequestFields"
+                              Prelude.<$> additionalModelRequestFields,
+                            (JSON..=) "BasePromptTemplate" Prelude.<$> basePromptTemplate,
+                            (JSON..=) "FoundationModel" Prelude.<$> foundationModel,
+                            (JSON..=) "InferenceConfiguration"
+                              Prelude.<$> inferenceConfiguration,
+                            (JSON..=) "ParserMode" Prelude.<$> parserMode,
+                            (JSON..=) "PromptCreationMode" Prelude.<$> promptCreationMode,
+                            (JSON..=) "PromptState" Prelude.<$> promptState,
+                            (JSON..=) "PromptType" Prelude.<$> promptType])}
+instance JSON.ToJSON PromptConfigurationProperty where
+  toJSON PromptConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "AdditionalModelRequestFields"
+                 Prelude.<$> additionalModelRequestFields,
+               (JSON..=) "BasePromptTemplate" Prelude.<$> basePromptTemplate,
+               (JSON..=) "FoundationModel" Prelude.<$> foundationModel,
+               (JSON..=) "InferenceConfiguration"
+                 Prelude.<$> inferenceConfiguration,
+               (JSON..=) "ParserMode" Prelude.<$> parserMode,
+               (JSON..=) "PromptCreationMode" Prelude.<$> promptCreationMode,
+               (JSON..=) "PromptState" Prelude.<$> promptState,
+               (JSON..=) "PromptType" Prelude.<$> promptType]))
+instance Property "AdditionalModelRequestFields" PromptConfigurationProperty where
+  type PropertyType "AdditionalModelRequestFields" PromptConfigurationProperty = JSON.Object
+  set newValue PromptConfigurationProperty {..}
+    = PromptConfigurationProperty
+        {additionalModelRequestFields = Prelude.pure newValue, ..}
+instance Property "BasePromptTemplate" PromptConfigurationProperty where
+  type PropertyType "BasePromptTemplate" PromptConfigurationProperty = Value Prelude.Text
+  set newValue PromptConfigurationProperty {..}
+    = PromptConfigurationProperty
+        {basePromptTemplate = Prelude.pure newValue, ..}
+instance Property "FoundationModel" PromptConfigurationProperty where
+  type PropertyType "FoundationModel" PromptConfigurationProperty = Value Prelude.Text
+  set newValue PromptConfigurationProperty {..}
+    = PromptConfigurationProperty
+        {foundationModel = Prelude.pure newValue, ..}
+instance Property "InferenceConfiguration" PromptConfigurationProperty where
+  type PropertyType "InferenceConfiguration" PromptConfigurationProperty = InferenceConfigurationProperty
+  set newValue PromptConfigurationProperty {..}
+    = PromptConfigurationProperty
+        {inferenceConfiguration = Prelude.pure newValue, ..}
+instance Property "ParserMode" PromptConfigurationProperty where
+  type PropertyType "ParserMode" PromptConfigurationProperty = Value Prelude.Text
+  set newValue PromptConfigurationProperty {..}
+    = PromptConfigurationProperty
+        {parserMode = Prelude.pure newValue, ..}
+instance Property "PromptCreationMode" PromptConfigurationProperty where
+  type PropertyType "PromptCreationMode" PromptConfigurationProperty = Value Prelude.Text
+  set newValue PromptConfigurationProperty {..}
+    = PromptConfigurationProperty
+        {promptCreationMode = Prelude.pure newValue, ..}
+instance Property "PromptState" PromptConfigurationProperty where
+  type PropertyType "PromptState" PromptConfigurationProperty = Value Prelude.Text
+  set newValue PromptConfigurationProperty {..}
+    = PromptConfigurationProperty
+        {promptState = Prelude.pure newValue, ..}
+instance Property "PromptType" PromptConfigurationProperty where
+  type PropertyType "PromptType" PromptConfigurationProperty = Value Prelude.Text
+  set newValue PromptConfigurationProperty {..}
+    = PromptConfigurationProperty
+        {promptType = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Agent/PromptConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/Agent/PromptConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Agent/PromptConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Agent.PromptConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data PromptConfigurationProperty :: Prelude.Type
+instance ToResourceProperties PromptConfigurationProperty
+instance Prelude.Eq PromptConfigurationProperty
+instance Prelude.Show PromptConfigurationProperty
+instance JSON.ToJSON PromptConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/Agent/PromptOverrideConfigurationProperty.hs b/gen/Stratosphere/Bedrock/Agent/PromptOverrideConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Agent/PromptOverrideConfigurationProperty.hs
@@ -0,0 +1,54 @@
+module Stratosphere.Bedrock.Agent.PromptOverrideConfigurationProperty (
+        module Exports, PromptOverrideConfigurationProperty(..),
+        mkPromptOverrideConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.Agent.PromptConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data PromptOverrideConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-promptoverrideconfiguration.html>
+    PromptOverrideConfigurationProperty {haddock_workaround_ :: (),
+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-promptoverrideconfiguration.html#cfn-bedrock-agent-promptoverrideconfiguration-overridelambda>
+                                         overrideLambda :: (Prelude.Maybe (Value Prelude.Text)),
+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-promptoverrideconfiguration.html#cfn-bedrock-agent-promptoverrideconfiguration-promptconfigurations>
+                                         promptConfigurations :: [PromptConfigurationProperty]}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkPromptOverrideConfigurationProperty ::
+  [PromptConfigurationProperty]
+  -> PromptOverrideConfigurationProperty
+mkPromptOverrideConfigurationProperty promptConfigurations
+  = PromptOverrideConfigurationProperty
+      {haddock_workaround_ = (),
+       promptConfigurations = promptConfigurations,
+       overrideLambda = Prelude.Nothing}
+instance ToResourceProperties PromptOverrideConfigurationProperty where
+  toResourceProperties PromptOverrideConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Agent.PromptOverrideConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["PromptConfigurations" JSON..= promptConfigurations]
+                           (Prelude.catMaybes
+                              [(JSON..=) "OverrideLambda" Prelude.<$> overrideLambda]))}
+instance JSON.ToJSON PromptOverrideConfigurationProperty where
+  toJSON PromptOverrideConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["PromptConfigurations" JSON..= promptConfigurations]
+              (Prelude.catMaybes
+                 [(JSON..=) "OverrideLambda" Prelude.<$> overrideLambda])))
+instance Property "OverrideLambda" PromptOverrideConfigurationProperty where
+  type PropertyType "OverrideLambda" PromptOverrideConfigurationProperty = Value Prelude.Text
+  set newValue PromptOverrideConfigurationProperty {..}
+    = PromptOverrideConfigurationProperty
+        {overrideLambda = Prelude.pure newValue, ..}
+instance Property "PromptConfigurations" PromptOverrideConfigurationProperty where
+  type PropertyType "PromptConfigurations" PromptOverrideConfigurationProperty = [PromptConfigurationProperty]
+  set newValue PromptOverrideConfigurationProperty {..}
+    = PromptOverrideConfigurationProperty
+        {promptConfigurations = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Agent/PromptOverrideConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/Agent/PromptOverrideConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Agent/PromptOverrideConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Agent.PromptOverrideConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data PromptOverrideConfigurationProperty :: Prelude.Type
+instance ToResourceProperties PromptOverrideConfigurationProperty
+instance Prelude.Eq PromptOverrideConfigurationProperty
+instance Prelude.Show PromptOverrideConfigurationProperty
+instance JSON.ToJSON PromptOverrideConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/Agent/S3IdentifierProperty.hs b/gen/Stratosphere/Bedrock/Agent/S3IdentifierProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Agent/S3IdentifierProperty.hs
@@ -0,0 +1,45 @@
+module Stratosphere.Bedrock.Agent.S3IdentifierProperty (
+        S3IdentifierProperty(..), mkS3IdentifierProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data S3IdentifierProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-s3identifier.html>
+    S3IdentifierProperty {haddock_workaround_ :: (),
+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-s3identifier.html#cfn-bedrock-agent-s3identifier-s3bucketname>
+                          s3BucketName :: (Prelude.Maybe (Value Prelude.Text)),
+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-s3identifier.html#cfn-bedrock-agent-s3identifier-s3objectkey>
+                          s3ObjectKey :: (Prelude.Maybe (Value Prelude.Text))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkS3IdentifierProperty :: S3IdentifierProperty
+mkS3IdentifierProperty
+  = S3IdentifierProperty
+      {haddock_workaround_ = (), s3BucketName = Prelude.Nothing,
+       s3ObjectKey = Prelude.Nothing}
+instance ToResourceProperties S3IdentifierProperty where
+  toResourceProperties S3IdentifierProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Agent.S3Identifier",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "S3BucketName" Prelude.<$> s3BucketName,
+                            (JSON..=) "S3ObjectKey" Prelude.<$> s3ObjectKey])}
+instance JSON.ToJSON S3IdentifierProperty where
+  toJSON S3IdentifierProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "S3BucketName" Prelude.<$> s3BucketName,
+               (JSON..=) "S3ObjectKey" Prelude.<$> s3ObjectKey]))
+instance Property "S3BucketName" S3IdentifierProperty where
+  type PropertyType "S3BucketName" S3IdentifierProperty = Value Prelude.Text
+  set newValue S3IdentifierProperty {..}
+    = S3IdentifierProperty {s3BucketName = Prelude.pure newValue, ..}
+instance Property "S3ObjectKey" S3IdentifierProperty where
+  type PropertyType "S3ObjectKey" S3IdentifierProperty = Value Prelude.Text
+  set newValue S3IdentifierProperty {..}
+    = S3IdentifierProperty {s3ObjectKey = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Agent/S3IdentifierProperty.hs-boot b/gen/Stratosphere/Bedrock/Agent/S3IdentifierProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Agent/S3IdentifierProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Agent.S3IdentifierProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data S3IdentifierProperty :: Prelude.Type
+instance ToResourceProperties S3IdentifierProperty
+instance Prelude.Eq S3IdentifierProperty
+instance Prelude.Show S3IdentifierProperty
+instance JSON.ToJSON S3IdentifierProperty
diff --git a/gen/Stratosphere/Bedrock/Agent/SessionSummaryConfigurationProperty.hs b/gen/Stratosphere/Bedrock/Agent/SessionSummaryConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Agent/SessionSummaryConfigurationProperty.hs
@@ -0,0 +1,39 @@
+module Stratosphere.Bedrock.Agent.SessionSummaryConfigurationProperty (
+        SessionSummaryConfigurationProperty(..),
+        mkSessionSummaryConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data SessionSummaryConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-sessionsummaryconfiguration.html>
+    SessionSummaryConfigurationProperty {haddock_workaround_ :: (),
+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-sessionsummaryconfiguration.html#cfn-bedrock-agent-sessionsummaryconfiguration-maxrecentsessions>
+                                         maxRecentSessions :: (Prelude.Maybe (Value Prelude.Double))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkSessionSummaryConfigurationProperty ::
+  SessionSummaryConfigurationProperty
+mkSessionSummaryConfigurationProperty
+  = SessionSummaryConfigurationProperty
+      {haddock_workaround_ = (), maxRecentSessions = Prelude.Nothing}
+instance ToResourceProperties SessionSummaryConfigurationProperty where
+  toResourceProperties SessionSummaryConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Agent.SessionSummaryConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "MaxRecentSessions" Prelude.<$> maxRecentSessions])}
+instance JSON.ToJSON SessionSummaryConfigurationProperty where
+  toJSON SessionSummaryConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "MaxRecentSessions" Prelude.<$> maxRecentSessions]))
+instance Property "MaxRecentSessions" SessionSummaryConfigurationProperty where
+  type PropertyType "MaxRecentSessions" SessionSummaryConfigurationProperty = Value Prelude.Double
+  set newValue SessionSummaryConfigurationProperty {..}
+    = SessionSummaryConfigurationProperty
+        {maxRecentSessions = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Agent/SessionSummaryConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/Agent/SessionSummaryConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Agent/SessionSummaryConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Agent.SessionSummaryConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data SessionSummaryConfigurationProperty :: Prelude.Type
+instance ToResourceProperties SessionSummaryConfigurationProperty
+instance Prelude.Eq SessionSummaryConfigurationProperty
+instance Prelude.Show SessionSummaryConfigurationProperty
+instance JSON.ToJSON SessionSummaryConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/AgentAlias.hs b/gen/Stratosphere/Bedrock/AgentAlias.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/AgentAlias.hs
@@ -0,0 +1,72 @@
+module Stratosphere.Bedrock.AgentAlias (
+        module Exports, AgentAlias(..), mkAgentAlias
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.AgentAlias.AgentAliasRoutingConfigurationListItemProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data AgentAlias
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agentalias.html>
+    AgentAlias {haddock_workaround_ :: (),
+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agentalias.html#cfn-bedrock-agentalias-agentaliasname>
+                agentAliasName :: (Value Prelude.Text),
+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agentalias.html#cfn-bedrock-agentalias-agentid>
+                agentId :: (Value Prelude.Text),
+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agentalias.html#cfn-bedrock-agentalias-description>
+                description :: (Prelude.Maybe (Value Prelude.Text)),
+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agentalias.html#cfn-bedrock-agentalias-routingconfiguration>
+                routingConfiguration :: (Prelude.Maybe [AgentAliasRoutingConfigurationListItemProperty]),
+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agentalias.html#cfn-bedrock-agentalias-tags>
+                tags :: (Prelude.Maybe (Prelude.Map Prelude.Text (Value Prelude.Text)))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkAgentAlias ::
+  Value Prelude.Text -> Value Prelude.Text -> AgentAlias
+mkAgentAlias agentAliasName agentId
+  = AgentAlias
+      {haddock_workaround_ = (), agentAliasName = agentAliasName,
+       agentId = agentId, description = Prelude.Nothing,
+       routingConfiguration = Prelude.Nothing, tags = Prelude.Nothing}
+instance ToResourceProperties AgentAlias where
+  toResourceProperties AgentAlias {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::AgentAlias", supportsTags = Prelude.True,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["AgentAliasName" JSON..= agentAliasName,
+                            "AgentId" JSON..= agentId]
+                           (Prelude.catMaybes
+                              [(JSON..=) "Description" Prelude.<$> description,
+                               (JSON..=) "RoutingConfiguration" Prelude.<$> routingConfiguration,
+                               (JSON..=) "Tags" Prelude.<$> tags]))}
+instance JSON.ToJSON AgentAlias where
+  toJSON AgentAlias {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["AgentAliasName" JSON..= agentAliasName,
+               "AgentId" JSON..= agentId]
+              (Prelude.catMaybes
+                 [(JSON..=) "Description" Prelude.<$> description,
+                  (JSON..=) "RoutingConfiguration" Prelude.<$> routingConfiguration,
+                  (JSON..=) "Tags" Prelude.<$> tags])))
+instance Property "AgentAliasName" AgentAlias where
+  type PropertyType "AgentAliasName" AgentAlias = Value Prelude.Text
+  set newValue AgentAlias {..}
+    = AgentAlias {agentAliasName = newValue, ..}
+instance Property "AgentId" AgentAlias where
+  type PropertyType "AgentId" AgentAlias = Value Prelude.Text
+  set newValue AgentAlias {..} = AgentAlias {agentId = newValue, ..}
+instance Property "Description" AgentAlias where
+  type PropertyType "Description" AgentAlias = Value Prelude.Text
+  set newValue AgentAlias {..}
+    = AgentAlias {description = Prelude.pure newValue, ..}
+instance Property "RoutingConfiguration" AgentAlias where
+  type PropertyType "RoutingConfiguration" AgentAlias = [AgentAliasRoutingConfigurationListItemProperty]
+  set newValue AgentAlias {..}
+    = AgentAlias {routingConfiguration = Prelude.pure newValue, ..}
+instance Property "Tags" AgentAlias where
+  type PropertyType "Tags" AgentAlias = Prelude.Map Prelude.Text (Value Prelude.Text)
+  set newValue AgentAlias {..}
+    = AgentAlias {tags = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/AgentAlias/AgentAliasHistoryEventProperty.hs b/gen/Stratosphere/Bedrock/AgentAlias/AgentAliasHistoryEventProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/AgentAlias/AgentAliasHistoryEventProperty.hs
@@ -0,0 +1,59 @@
+module Stratosphere.Bedrock.AgentAlias.AgentAliasHistoryEventProperty (
+        module Exports, AgentAliasHistoryEventProperty(..),
+        mkAgentAliasHistoryEventProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.AgentAlias.AgentAliasRoutingConfigurationListItemProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data AgentAliasHistoryEventProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agentalias-agentaliashistoryevent.html>
+    AgentAliasHistoryEventProperty {haddock_workaround_ :: (),
+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agentalias-agentaliashistoryevent.html#cfn-bedrock-agentalias-agentaliashistoryevent-enddate>
+                                    endDate :: (Prelude.Maybe (Value Prelude.Text)),
+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agentalias-agentaliashistoryevent.html#cfn-bedrock-agentalias-agentaliashistoryevent-routingconfiguration>
+                                    routingConfiguration :: (Prelude.Maybe [AgentAliasRoutingConfigurationListItemProperty]),
+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agentalias-agentaliashistoryevent.html#cfn-bedrock-agentalias-agentaliashistoryevent-startdate>
+                                    startDate :: (Prelude.Maybe (Value Prelude.Text))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkAgentAliasHistoryEventProperty :: AgentAliasHistoryEventProperty
+mkAgentAliasHistoryEventProperty
+  = AgentAliasHistoryEventProperty
+      {haddock_workaround_ = (), endDate = Prelude.Nothing,
+       routingConfiguration = Prelude.Nothing,
+       startDate = Prelude.Nothing}
+instance ToResourceProperties AgentAliasHistoryEventProperty where
+  toResourceProperties AgentAliasHistoryEventProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::AgentAlias.AgentAliasHistoryEvent",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "EndDate" Prelude.<$> endDate,
+                            (JSON..=) "RoutingConfiguration" Prelude.<$> routingConfiguration,
+                            (JSON..=) "StartDate" Prelude.<$> startDate])}
+instance JSON.ToJSON AgentAliasHistoryEventProperty where
+  toJSON AgentAliasHistoryEventProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "EndDate" Prelude.<$> endDate,
+               (JSON..=) "RoutingConfiguration" Prelude.<$> routingConfiguration,
+               (JSON..=) "StartDate" Prelude.<$> startDate]))
+instance Property "EndDate" AgentAliasHistoryEventProperty where
+  type PropertyType "EndDate" AgentAliasHistoryEventProperty = Value Prelude.Text
+  set newValue AgentAliasHistoryEventProperty {..}
+    = AgentAliasHistoryEventProperty
+        {endDate = Prelude.pure newValue, ..}
+instance Property "RoutingConfiguration" AgentAliasHistoryEventProperty where
+  type PropertyType "RoutingConfiguration" AgentAliasHistoryEventProperty = [AgentAliasRoutingConfigurationListItemProperty]
+  set newValue AgentAliasHistoryEventProperty {..}
+    = AgentAliasHistoryEventProperty
+        {routingConfiguration = Prelude.pure newValue, ..}
+instance Property "StartDate" AgentAliasHistoryEventProperty where
+  type PropertyType "StartDate" AgentAliasHistoryEventProperty = Value Prelude.Text
+  set newValue AgentAliasHistoryEventProperty {..}
+    = AgentAliasHistoryEventProperty
+        {startDate = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/AgentAlias/AgentAliasHistoryEventProperty.hs-boot b/gen/Stratosphere/Bedrock/AgentAlias/AgentAliasHistoryEventProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/AgentAlias/AgentAliasHistoryEventProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.AgentAlias.AgentAliasHistoryEventProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data AgentAliasHistoryEventProperty :: Prelude.Type
+instance ToResourceProperties AgentAliasHistoryEventProperty
+instance Prelude.Eq AgentAliasHistoryEventProperty
+instance Prelude.Show AgentAliasHistoryEventProperty
+instance JSON.ToJSON AgentAliasHistoryEventProperty
diff --git a/gen/Stratosphere/Bedrock/AgentAlias/AgentAliasRoutingConfigurationListItemProperty.hs b/gen/Stratosphere/Bedrock/AgentAlias/AgentAliasRoutingConfigurationListItemProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/AgentAlias/AgentAliasRoutingConfigurationListItemProperty.hs
@@ -0,0 +1,36 @@
+module Stratosphere.Bedrock.AgentAlias.AgentAliasRoutingConfigurationListItemProperty (
+        AgentAliasRoutingConfigurationListItemProperty(..),
+        mkAgentAliasRoutingConfigurationListItemProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data AgentAliasRoutingConfigurationListItemProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agentalias-agentaliasroutingconfigurationlistitem.html>
+    AgentAliasRoutingConfigurationListItemProperty {haddock_workaround_ :: (),
+                                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agentalias-agentaliasroutingconfigurationlistitem.html#cfn-bedrock-agentalias-agentaliasroutingconfigurationlistitem-agentversion>
+                                                    agentVersion :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkAgentAliasRoutingConfigurationListItemProperty ::
+  Value Prelude.Text
+  -> AgentAliasRoutingConfigurationListItemProperty
+mkAgentAliasRoutingConfigurationListItemProperty agentVersion
+  = AgentAliasRoutingConfigurationListItemProperty
+      {haddock_workaround_ = (), agentVersion = agentVersion}
+instance ToResourceProperties AgentAliasRoutingConfigurationListItemProperty where
+  toResourceProperties
+    AgentAliasRoutingConfigurationListItemProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::AgentAlias.AgentAliasRoutingConfigurationListItem",
+         supportsTags = Prelude.False,
+         properties = ["AgentVersion" JSON..= agentVersion]}
+instance JSON.ToJSON AgentAliasRoutingConfigurationListItemProperty where
+  toJSON AgentAliasRoutingConfigurationListItemProperty {..}
+    = JSON.object ["AgentVersion" JSON..= agentVersion]
+instance Property "AgentVersion" AgentAliasRoutingConfigurationListItemProperty where
+  type PropertyType "AgentVersion" AgentAliasRoutingConfigurationListItemProperty = Value Prelude.Text
+  set newValue AgentAliasRoutingConfigurationListItemProperty {..}
+    = AgentAliasRoutingConfigurationListItemProperty
+        {agentVersion = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/AgentAlias/AgentAliasRoutingConfigurationListItemProperty.hs-boot b/gen/Stratosphere/Bedrock/AgentAlias/AgentAliasRoutingConfigurationListItemProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/AgentAlias/AgentAliasRoutingConfigurationListItemProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.AgentAlias.AgentAliasRoutingConfigurationListItemProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data AgentAliasRoutingConfigurationListItemProperty :: Prelude.Type
+instance ToResourceProperties AgentAliasRoutingConfigurationListItemProperty
+instance Prelude.Eq AgentAliasRoutingConfigurationListItemProperty
+instance Prelude.Show AgentAliasRoutingConfigurationListItemProperty
+instance JSON.ToJSON AgentAliasRoutingConfigurationListItemProperty
diff --git a/gen/Stratosphere/Bedrock/ApplicationInferenceProfile.hs b/gen/Stratosphere/Bedrock/ApplicationInferenceProfile.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/ApplicationInferenceProfile.hs
@@ -0,0 +1,71 @@
+module Stratosphere.Bedrock.ApplicationInferenceProfile (
+        module Exports, ApplicationInferenceProfile(..),
+        mkApplicationInferenceProfile
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.ApplicationInferenceProfile.InferenceProfileModelSourceProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Tag
+import Stratosphere.Value
+data ApplicationInferenceProfile
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-applicationinferenceprofile.html>
+    ApplicationInferenceProfile {haddock_workaround_ :: (),
+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-applicationinferenceprofile.html#cfn-bedrock-applicationinferenceprofile-description>
+                                 description :: (Prelude.Maybe (Value Prelude.Text)),
+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-applicationinferenceprofile.html#cfn-bedrock-applicationinferenceprofile-inferenceprofilename>
+                                 inferenceProfileName :: (Value Prelude.Text),
+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-applicationinferenceprofile.html#cfn-bedrock-applicationinferenceprofile-modelsource>
+                                 modelSource :: (Prelude.Maybe InferenceProfileModelSourceProperty),
+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-applicationinferenceprofile.html#cfn-bedrock-applicationinferenceprofile-tags>
+                                 tags :: (Prelude.Maybe [Tag])}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkApplicationInferenceProfile ::
+  Value Prelude.Text -> ApplicationInferenceProfile
+mkApplicationInferenceProfile inferenceProfileName
+  = ApplicationInferenceProfile
+      {haddock_workaround_ = (),
+       inferenceProfileName = inferenceProfileName,
+       description = Prelude.Nothing, modelSource = Prelude.Nothing,
+       tags = Prelude.Nothing}
+instance ToResourceProperties ApplicationInferenceProfile where
+  toResourceProperties ApplicationInferenceProfile {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::ApplicationInferenceProfile",
+         supportsTags = Prelude.True,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["InferenceProfileName" JSON..= inferenceProfileName]
+                           (Prelude.catMaybes
+                              [(JSON..=) "Description" Prelude.<$> description,
+                               (JSON..=) "ModelSource" Prelude.<$> modelSource,
+                               (JSON..=) "Tags" Prelude.<$> tags]))}
+instance JSON.ToJSON ApplicationInferenceProfile where
+  toJSON ApplicationInferenceProfile {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["InferenceProfileName" JSON..= inferenceProfileName]
+              (Prelude.catMaybes
+                 [(JSON..=) "Description" Prelude.<$> description,
+                  (JSON..=) "ModelSource" Prelude.<$> modelSource,
+                  (JSON..=) "Tags" Prelude.<$> tags])))
+instance Property "Description" ApplicationInferenceProfile where
+  type PropertyType "Description" ApplicationInferenceProfile = Value Prelude.Text
+  set newValue ApplicationInferenceProfile {..}
+    = ApplicationInferenceProfile
+        {description = Prelude.pure newValue, ..}
+instance Property "InferenceProfileName" ApplicationInferenceProfile where
+  type PropertyType "InferenceProfileName" ApplicationInferenceProfile = Value Prelude.Text
+  set newValue ApplicationInferenceProfile {..}
+    = ApplicationInferenceProfile {inferenceProfileName = newValue, ..}
+instance Property "ModelSource" ApplicationInferenceProfile where
+  type PropertyType "ModelSource" ApplicationInferenceProfile = InferenceProfileModelSourceProperty
+  set newValue ApplicationInferenceProfile {..}
+    = ApplicationInferenceProfile
+        {modelSource = Prelude.pure newValue, ..}
+instance Property "Tags" ApplicationInferenceProfile where
+  type PropertyType "Tags" ApplicationInferenceProfile = [Tag]
+  set newValue ApplicationInferenceProfile {..}
+    = ApplicationInferenceProfile {tags = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/ApplicationInferenceProfile/InferenceProfileModelProperty.hs b/gen/Stratosphere/Bedrock/ApplicationInferenceProfile/InferenceProfileModelProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/ApplicationInferenceProfile/InferenceProfileModelProperty.hs
@@ -0,0 +1,35 @@
+module Stratosphere.Bedrock.ApplicationInferenceProfile.InferenceProfileModelProperty (
+        InferenceProfileModelProperty(..), mkInferenceProfileModelProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data InferenceProfileModelProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-applicationinferenceprofile-inferenceprofilemodel.html>
+    InferenceProfileModelProperty {haddock_workaround_ :: (),
+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-applicationinferenceprofile-inferenceprofilemodel.html#cfn-bedrock-applicationinferenceprofile-inferenceprofilemodel-modelarn>
+                                   modelArn :: (Prelude.Maybe (Value Prelude.Text))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkInferenceProfileModelProperty :: InferenceProfileModelProperty
+mkInferenceProfileModelProperty
+  = InferenceProfileModelProperty
+      {haddock_workaround_ = (), modelArn = Prelude.Nothing}
+instance ToResourceProperties InferenceProfileModelProperty where
+  toResourceProperties InferenceProfileModelProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::ApplicationInferenceProfile.InferenceProfileModel",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes [(JSON..=) "ModelArn" Prelude.<$> modelArn])}
+instance JSON.ToJSON InferenceProfileModelProperty where
+  toJSON InferenceProfileModelProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes [(JSON..=) "ModelArn" Prelude.<$> modelArn]))
+instance Property "ModelArn" InferenceProfileModelProperty where
+  type PropertyType "ModelArn" InferenceProfileModelProperty = Value Prelude.Text
+  set newValue InferenceProfileModelProperty {..}
+    = InferenceProfileModelProperty
+        {modelArn = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/ApplicationInferenceProfile/InferenceProfileModelProperty.hs-boot b/gen/Stratosphere/Bedrock/ApplicationInferenceProfile/InferenceProfileModelProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/ApplicationInferenceProfile/InferenceProfileModelProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.ApplicationInferenceProfile.InferenceProfileModelProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data InferenceProfileModelProperty :: Prelude.Type
+instance ToResourceProperties InferenceProfileModelProperty
+instance Prelude.Eq InferenceProfileModelProperty
+instance Prelude.Show InferenceProfileModelProperty
+instance JSON.ToJSON InferenceProfileModelProperty
diff --git a/gen/Stratosphere/Bedrock/ApplicationInferenceProfile/InferenceProfileModelSourceProperty.hs b/gen/Stratosphere/Bedrock/ApplicationInferenceProfile/InferenceProfileModelSourceProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/ApplicationInferenceProfile/InferenceProfileModelSourceProperty.hs
@@ -0,0 +1,33 @@
+module Stratosphere.Bedrock.ApplicationInferenceProfile.InferenceProfileModelSourceProperty (
+        InferenceProfileModelSourceProperty(..),
+        mkInferenceProfileModelSourceProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data InferenceProfileModelSourceProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-applicationinferenceprofile-inferenceprofilemodelsource.html>
+    InferenceProfileModelSourceProperty {haddock_workaround_ :: (),
+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-applicationinferenceprofile-inferenceprofilemodelsource.html#cfn-bedrock-applicationinferenceprofile-inferenceprofilemodelsource-copyfrom>
+                                         copyFrom :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkInferenceProfileModelSourceProperty ::
+  Value Prelude.Text -> InferenceProfileModelSourceProperty
+mkInferenceProfileModelSourceProperty copyFrom
+  = InferenceProfileModelSourceProperty
+      {haddock_workaround_ = (), copyFrom = copyFrom}
+instance ToResourceProperties InferenceProfileModelSourceProperty where
+  toResourceProperties InferenceProfileModelSourceProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::ApplicationInferenceProfile.InferenceProfileModelSource",
+         supportsTags = Prelude.False,
+         properties = ["CopyFrom" JSON..= copyFrom]}
+instance JSON.ToJSON InferenceProfileModelSourceProperty where
+  toJSON InferenceProfileModelSourceProperty {..}
+    = JSON.object ["CopyFrom" JSON..= copyFrom]
+instance Property "CopyFrom" InferenceProfileModelSourceProperty where
+  type PropertyType "CopyFrom" InferenceProfileModelSourceProperty = Value Prelude.Text
+  set newValue InferenceProfileModelSourceProperty {..}
+    = InferenceProfileModelSourceProperty {copyFrom = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/ApplicationInferenceProfile/InferenceProfileModelSourceProperty.hs-boot b/gen/Stratosphere/Bedrock/ApplicationInferenceProfile/InferenceProfileModelSourceProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/ApplicationInferenceProfile/InferenceProfileModelSourceProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.ApplicationInferenceProfile.InferenceProfileModelSourceProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data InferenceProfileModelSourceProperty :: Prelude.Type
+instance ToResourceProperties InferenceProfileModelSourceProperty
+instance Prelude.Eq InferenceProfileModelSourceProperty
+instance Prelude.Show InferenceProfileModelSourceProperty
+instance JSON.ToJSON InferenceProfileModelSourceProperty
diff --git a/gen/Stratosphere/Bedrock/AutomatedReasoningPolicy.hs b/gen/Stratosphere/Bedrock/AutomatedReasoningPolicy.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/AutomatedReasoningPolicy.hs
@@ -0,0 +1,70 @@
+module Stratosphere.Bedrock.AutomatedReasoningPolicy (
+        module Exports, AutomatedReasoningPolicy(..),
+        mkAutomatedReasoningPolicy
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.AutomatedReasoningPolicy.PolicyDefinitionProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Tag
+import Stratosphere.Value
+data AutomatedReasoningPolicy
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-automatedreasoningpolicy.html>
+    AutomatedReasoningPolicy {haddock_workaround_ :: (),
+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-automatedreasoningpolicy.html#cfn-bedrock-automatedreasoningpolicy-description>
+                              description :: (Prelude.Maybe (Value Prelude.Text)),
+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-automatedreasoningpolicy.html#cfn-bedrock-automatedreasoningpolicy-name>
+                              name :: (Value Prelude.Text),
+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-automatedreasoningpolicy.html#cfn-bedrock-automatedreasoningpolicy-policydefinition>
+                              policyDefinition :: (Prelude.Maybe PolicyDefinitionProperty),
+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-automatedreasoningpolicy.html#cfn-bedrock-automatedreasoningpolicy-tags>
+                              tags :: (Prelude.Maybe [Tag])}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkAutomatedReasoningPolicy ::
+  Value Prelude.Text -> AutomatedReasoningPolicy
+mkAutomatedReasoningPolicy name
+  = AutomatedReasoningPolicy
+      {haddock_workaround_ = (), name = name,
+       description = Prelude.Nothing, policyDefinition = Prelude.Nothing,
+       tags = Prelude.Nothing}
+instance ToResourceProperties AutomatedReasoningPolicy where
+  toResourceProperties AutomatedReasoningPolicy {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::AutomatedReasoningPolicy",
+         supportsTags = Prelude.True,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["Name" JSON..= name]
+                           (Prelude.catMaybes
+                              [(JSON..=) "Description" Prelude.<$> description,
+                               (JSON..=) "PolicyDefinition" Prelude.<$> policyDefinition,
+                               (JSON..=) "Tags" Prelude.<$> tags]))}
+instance JSON.ToJSON AutomatedReasoningPolicy where
+  toJSON AutomatedReasoningPolicy {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["Name" JSON..= name]
+              (Prelude.catMaybes
+                 [(JSON..=) "Description" Prelude.<$> description,
+                  (JSON..=) "PolicyDefinition" Prelude.<$> policyDefinition,
+                  (JSON..=) "Tags" Prelude.<$> tags])))
+instance Property "Description" AutomatedReasoningPolicy where
+  type PropertyType "Description" AutomatedReasoningPolicy = Value Prelude.Text
+  set newValue AutomatedReasoningPolicy {..}
+    = AutomatedReasoningPolicy
+        {description = Prelude.pure newValue, ..}
+instance Property "Name" AutomatedReasoningPolicy where
+  type PropertyType "Name" AutomatedReasoningPolicy = Value Prelude.Text
+  set newValue AutomatedReasoningPolicy {..}
+    = AutomatedReasoningPolicy {name = newValue, ..}
+instance Property "PolicyDefinition" AutomatedReasoningPolicy where
+  type PropertyType "PolicyDefinition" AutomatedReasoningPolicy = PolicyDefinitionProperty
+  set newValue AutomatedReasoningPolicy {..}
+    = AutomatedReasoningPolicy
+        {policyDefinition = Prelude.pure newValue, ..}
+instance Property "Tags" AutomatedReasoningPolicy where
+  type PropertyType "Tags" AutomatedReasoningPolicy = [Tag]
+  set newValue AutomatedReasoningPolicy {..}
+    = AutomatedReasoningPolicy {tags = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/AutomatedReasoningPolicy/PolicyDefinitionProperty.hs b/gen/Stratosphere/Bedrock/AutomatedReasoningPolicy/PolicyDefinitionProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/AutomatedReasoningPolicy/PolicyDefinitionProperty.hs
@@ -0,0 +1,66 @@
+module Stratosphere.Bedrock.AutomatedReasoningPolicy.PolicyDefinitionProperty (
+        module Exports, PolicyDefinitionProperty(..),
+        mkPolicyDefinitionProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.AutomatedReasoningPolicy.PolicyDefinitionRuleProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.AutomatedReasoningPolicy.PolicyDefinitionTypeProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.AutomatedReasoningPolicy.PolicyDefinitionVariableProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data PolicyDefinitionProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-automatedreasoningpolicy-policydefinition.html>
+    PolicyDefinitionProperty {haddock_workaround_ :: (),
+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-automatedreasoningpolicy-policydefinition.html#cfn-bedrock-automatedreasoningpolicy-policydefinition-rules>
+                              rules :: (Prelude.Maybe [PolicyDefinitionRuleProperty]),
+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-automatedreasoningpolicy-policydefinition.html#cfn-bedrock-automatedreasoningpolicy-policydefinition-types>
+                              types :: (Prelude.Maybe [PolicyDefinitionTypeProperty]),
+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-automatedreasoningpolicy-policydefinition.html#cfn-bedrock-automatedreasoningpolicy-policydefinition-variables>
+                              variables :: (Prelude.Maybe [PolicyDefinitionVariableProperty]),
+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-automatedreasoningpolicy-policydefinition.html#cfn-bedrock-automatedreasoningpolicy-policydefinition-version>
+                              version :: (Prelude.Maybe (Value Prelude.Text))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkPolicyDefinitionProperty :: PolicyDefinitionProperty
+mkPolicyDefinitionProperty
+  = PolicyDefinitionProperty
+      {haddock_workaround_ = (), rules = Prelude.Nothing,
+       types = Prelude.Nothing, variables = Prelude.Nothing,
+       version = Prelude.Nothing}
+instance ToResourceProperties PolicyDefinitionProperty where
+  toResourceProperties PolicyDefinitionProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::AutomatedReasoningPolicy.PolicyDefinition",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "Rules" Prelude.<$> rules,
+                            (JSON..=) "Types" Prelude.<$> types,
+                            (JSON..=) "Variables" Prelude.<$> variables,
+                            (JSON..=) "Version" Prelude.<$> version])}
+instance JSON.ToJSON PolicyDefinitionProperty where
+  toJSON PolicyDefinitionProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "Rules" Prelude.<$> rules,
+               (JSON..=) "Types" Prelude.<$> types,
+               (JSON..=) "Variables" Prelude.<$> variables,
+               (JSON..=) "Version" Prelude.<$> version]))
+instance Property "Rules" PolicyDefinitionProperty where
+  type PropertyType "Rules" PolicyDefinitionProperty = [PolicyDefinitionRuleProperty]
+  set newValue PolicyDefinitionProperty {..}
+    = PolicyDefinitionProperty {rules = Prelude.pure newValue, ..}
+instance Property "Types" PolicyDefinitionProperty where
+  type PropertyType "Types" PolicyDefinitionProperty = [PolicyDefinitionTypeProperty]
+  set newValue PolicyDefinitionProperty {..}
+    = PolicyDefinitionProperty {types = Prelude.pure newValue, ..}
+instance Property "Variables" PolicyDefinitionProperty where
+  type PropertyType "Variables" PolicyDefinitionProperty = [PolicyDefinitionVariableProperty]
+  set newValue PolicyDefinitionProperty {..}
+    = PolicyDefinitionProperty {variables = Prelude.pure newValue, ..}
+instance Property "Version" PolicyDefinitionProperty where
+  type PropertyType "Version" PolicyDefinitionProperty = Value Prelude.Text
+  set newValue PolicyDefinitionProperty {..}
+    = PolicyDefinitionProperty {version = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/AutomatedReasoningPolicy/PolicyDefinitionProperty.hs-boot b/gen/Stratosphere/Bedrock/AutomatedReasoningPolicy/PolicyDefinitionProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/AutomatedReasoningPolicy/PolicyDefinitionProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.AutomatedReasoningPolicy.PolicyDefinitionProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data PolicyDefinitionProperty :: Prelude.Type
+instance ToResourceProperties PolicyDefinitionProperty
+instance Prelude.Eq PolicyDefinitionProperty
+instance Prelude.Show PolicyDefinitionProperty
+instance JSON.ToJSON PolicyDefinitionProperty
diff --git a/gen/Stratosphere/Bedrock/AutomatedReasoningPolicy/PolicyDefinitionRuleProperty.hs b/gen/Stratosphere/Bedrock/AutomatedReasoningPolicy/PolicyDefinitionRuleProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/AutomatedReasoningPolicy/PolicyDefinitionRuleProperty.hs
@@ -0,0 +1,58 @@
+module Stratosphere.Bedrock.AutomatedReasoningPolicy.PolicyDefinitionRuleProperty (
+        PolicyDefinitionRuleProperty(..), mkPolicyDefinitionRuleProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data PolicyDefinitionRuleProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-automatedreasoningpolicy-policydefinitionrule.html>
+    PolicyDefinitionRuleProperty {haddock_workaround_ :: (),
+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-automatedreasoningpolicy-policydefinitionrule.html#cfn-bedrock-automatedreasoningpolicy-policydefinitionrule-alternateexpression>
+                                  alternateExpression :: (Prelude.Maybe (Value Prelude.Text)),
+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-automatedreasoningpolicy-policydefinitionrule.html#cfn-bedrock-automatedreasoningpolicy-policydefinitionrule-expression>
+                                  expression :: (Value Prelude.Text),
+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-automatedreasoningpolicy-policydefinitionrule.html#cfn-bedrock-automatedreasoningpolicy-policydefinitionrule-id>
+                                  id :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkPolicyDefinitionRuleProperty ::
+  Value Prelude.Text
+  -> Value Prelude.Text -> PolicyDefinitionRuleProperty
+mkPolicyDefinitionRuleProperty expression id
+  = PolicyDefinitionRuleProperty
+      {haddock_workaround_ = (), expression = expression, id = id,
+       alternateExpression = Prelude.Nothing}
+instance ToResourceProperties PolicyDefinitionRuleProperty where
+  toResourceProperties PolicyDefinitionRuleProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::AutomatedReasoningPolicy.PolicyDefinitionRule",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["Expression" JSON..= expression, "Id" JSON..= id]
+                           (Prelude.catMaybes
+                              [(JSON..=) "AlternateExpression"
+                                 Prelude.<$> alternateExpression]))}
+instance JSON.ToJSON PolicyDefinitionRuleProperty where
+  toJSON PolicyDefinitionRuleProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["Expression" JSON..= expression, "Id" JSON..= id]
+              (Prelude.catMaybes
+                 [(JSON..=) "AlternateExpression"
+                    Prelude.<$> alternateExpression])))
+instance Property "AlternateExpression" PolicyDefinitionRuleProperty where
+  type PropertyType "AlternateExpression" PolicyDefinitionRuleProperty = Value Prelude.Text
+  set newValue PolicyDefinitionRuleProperty {..}
+    = PolicyDefinitionRuleProperty
+        {alternateExpression = Prelude.pure newValue, ..}
+instance Property "Expression" PolicyDefinitionRuleProperty where
+  type PropertyType "Expression" PolicyDefinitionRuleProperty = Value Prelude.Text
+  set newValue PolicyDefinitionRuleProperty {..}
+    = PolicyDefinitionRuleProperty {expression = newValue, ..}
+instance Property "Id" PolicyDefinitionRuleProperty where
+  type PropertyType "Id" PolicyDefinitionRuleProperty = Value Prelude.Text
+  set newValue PolicyDefinitionRuleProperty {..}
+    = PolicyDefinitionRuleProperty {id = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/AutomatedReasoningPolicy/PolicyDefinitionRuleProperty.hs-boot b/gen/Stratosphere/Bedrock/AutomatedReasoningPolicy/PolicyDefinitionRuleProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/AutomatedReasoningPolicy/PolicyDefinitionRuleProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.AutomatedReasoningPolicy.PolicyDefinitionRuleProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data PolicyDefinitionRuleProperty :: Prelude.Type
+instance ToResourceProperties PolicyDefinitionRuleProperty
+instance Prelude.Eq PolicyDefinitionRuleProperty
+instance Prelude.Show PolicyDefinitionRuleProperty
+instance JSON.ToJSON PolicyDefinitionRuleProperty
diff --git a/gen/Stratosphere/Bedrock/AutomatedReasoningPolicy/PolicyDefinitionTypeProperty.hs b/gen/Stratosphere/Bedrock/AutomatedReasoningPolicy/PolicyDefinitionTypeProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/AutomatedReasoningPolicy/PolicyDefinitionTypeProperty.hs
@@ -0,0 +1,59 @@
+module Stratosphere.Bedrock.AutomatedReasoningPolicy.PolicyDefinitionTypeProperty (
+        module Exports, PolicyDefinitionTypeProperty(..),
+        mkPolicyDefinitionTypeProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.AutomatedReasoningPolicy.PolicyDefinitionTypeValueProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data PolicyDefinitionTypeProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-automatedreasoningpolicy-policydefinitiontype.html>
+    PolicyDefinitionTypeProperty {haddock_workaround_ :: (),
+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-automatedreasoningpolicy-policydefinitiontype.html#cfn-bedrock-automatedreasoningpolicy-policydefinitiontype-description>
+                                  description :: (Prelude.Maybe (Value Prelude.Text)),
+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-automatedreasoningpolicy-policydefinitiontype.html#cfn-bedrock-automatedreasoningpolicy-policydefinitiontype-name>
+                                  name :: (Value Prelude.Text),
+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-automatedreasoningpolicy-policydefinitiontype.html#cfn-bedrock-automatedreasoningpolicy-policydefinitiontype-values>
+                                  values :: [PolicyDefinitionTypeValueProperty]}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkPolicyDefinitionTypeProperty ::
+  Value Prelude.Text
+  -> [PolicyDefinitionTypeValueProperty]
+     -> PolicyDefinitionTypeProperty
+mkPolicyDefinitionTypeProperty name values
+  = PolicyDefinitionTypeProperty
+      {haddock_workaround_ = (), name = name, values = values,
+       description = Prelude.Nothing}
+instance ToResourceProperties PolicyDefinitionTypeProperty where
+  toResourceProperties PolicyDefinitionTypeProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::AutomatedReasoningPolicy.PolicyDefinitionType",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["Name" JSON..= name, "Values" JSON..= values]
+                           (Prelude.catMaybes
+                              [(JSON..=) "Description" Prelude.<$> description]))}
+instance JSON.ToJSON PolicyDefinitionTypeProperty where
+  toJSON PolicyDefinitionTypeProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["Name" JSON..= name, "Values" JSON..= values]
+              (Prelude.catMaybes
+                 [(JSON..=) "Description" Prelude.<$> description])))
+instance Property "Description" PolicyDefinitionTypeProperty where
+  type PropertyType "Description" PolicyDefinitionTypeProperty = Value Prelude.Text
+  set newValue PolicyDefinitionTypeProperty {..}
+    = PolicyDefinitionTypeProperty
+        {description = Prelude.pure newValue, ..}
+instance Property "Name" PolicyDefinitionTypeProperty where
+  type PropertyType "Name" PolicyDefinitionTypeProperty = Value Prelude.Text
+  set newValue PolicyDefinitionTypeProperty {..}
+    = PolicyDefinitionTypeProperty {name = newValue, ..}
+instance Property "Values" PolicyDefinitionTypeProperty where
+  type PropertyType "Values" PolicyDefinitionTypeProperty = [PolicyDefinitionTypeValueProperty]
+  set newValue PolicyDefinitionTypeProperty {..}
+    = PolicyDefinitionTypeProperty {values = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/AutomatedReasoningPolicy/PolicyDefinitionTypeProperty.hs-boot b/gen/Stratosphere/Bedrock/AutomatedReasoningPolicy/PolicyDefinitionTypeProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/AutomatedReasoningPolicy/PolicyDefinitionTypeProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.AutomatedReasoningPolicy.PolicyDefinitionTypeProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data PolicyDefinitionTypeProperty :: Prelude.Type
+instance ToResourceProperties PolicyDefinitionTypeProperty
+instance Prelude.Eq PolicyDefinitionTypeProperty
+instance Prelude.Show PolicyDefinitionTypeProperty
+instance JSON.ToJSON PolicyDefinitionTypeProperty
diff --git a/gen/Stratosphere/Bedrock/AutomatedReasoningPolicy/PolicyDefinitionTypeValueProperty.hs b/gen/Stratosphere/Bedrock/AutomatedReasoningPolicy/PolicyDefinitionTypeValueProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/AutomatedReasoningPolicy/PolicyDefinitionTypeValueProperty.hs
@@ -0,0 +1,50 @@
+module Stratosphere.Bedrock.AutomatedReasoningPolicy.PolicyDefinitionTypeValueProperty (
+        PolicyDefinitionTypeValueProperty(..),
+        mkPolicyDefinitionTypeValueProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data PolicyDefinitionTypeValueProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-automatedreasoningpolicy-policydefinitiontypevalue.html>
+    PolicyDefinitionTypeValueProperty {haddock_workaround_ :: (),
+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-automatedreasoningpolicy-policydefinitiontypevalue.html#cfn-bedrock-automatedreasoningpolicy-policydefinitiontypevalue-description>
+                                       description :: (Prelude.Maybe (Value Prelude.Text)),
+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-automatedreasoningpolicy-policydefinitiontypevalue.html#cfn-bedrock-automatedreasoningpolicy-policydefinitiontypevalue-value>
+                                       value :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkPolicyDefinitionTypeValueProperty ::
+  Value Prelude.Text -> PolicyDefinitionTypeValueProperty
+mkPolicyDefinitionTypeValueProperty value
+  = PolicyDefinitionTypeValueProperty
+      {haddock_workaround_ = (), value = value,
+       description = Prelude.Nothing}
+instance ToResourceProperties PolicyDefinitionTypeValueProperty where
+  toResourceProperties PolicyDefinitionTypeValueProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::AutomatedReasoningPolicy.PolicyDefinitionTypeValue",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["Value" JSON..= value]
+                           (Prelude.catMaybes
+                              [(JSON..=) "Description" Prelude.<$> description]))}
+instance JSON.ToJSON PolicyDefinitionTypeValueProperty where
+  toJSON PolicyDefinitionTypeValueProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["Value" JSON..= value]
+              (Prelude.catMaybes
+                 [(JSON..=) "Description" Prelude.<$> description])))
+instance Property "Description" PolicyDefinitionTypeValueProperty where
+  type PropertyType "Description" PolicyDefinitionTypeValueProperty = Value Prelude.Text
+  set newValue PolicyDefinitionTypeValueProperty {..}
+    = PolicyDefinitionTypeValueProperty
+        {description = Prelude.pure newValue, ..}
+instance Property "Value" PolicyDefinitionTypeValueProperty where
+  type PropertyType "Value" PolicyDefinitionTypeValueProperty = Value Prelude.Text
+  set newValue PolicyDefinitionTypeValueProperty {..}
+    = PolicyDefinitionTypeValueProperty {value = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/AutomatedReasoningPolicy/PolicyDefinitionTypeValueProperty.hs-boot b/gen/Stratosphere/Bedrock/AutomatedReasoningPolicy/PolicyDefinitionTypeValueProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/AutomatedReasoningPolicy/PolicyDefinitionTypeValueProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.AutomatedReasoningPolicy.PolicyDefinitionTypeValueProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data PolicyDefinitionTypeValueProperty :: Prelude.Type
+instance ToResourceProperties PolicyDefinitionTypeValueProperty
+instance Prelude.Eq PolicyDefinitionTypeValueProperty
+instance Prelude.Show PolicyDefinitionTypeValueProperty
+instance JSON.ToJSON PolicyDefinitionTypeValueProperty
diff --git a/gen/Stratosphere/Bedrock/AutomatedReasoningPolicy/PolicyDefinitionVariableProperty.hs b/gen/Stratosphere/Bedrock/AutomatedReasoningPolicy/PolicyDefinitionVariableProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/AutomatedReasoningPolicy/PolicyDefinitionVariableProperty.hs
@@ -0,0 +1,51 @@
+module Stratosphere.Bedrock.AutomatedReasoningPolicy.PolicyDefinitionVariableProperty (
+        PolicyDefinitionVariableProperty(..),
+        mkPolicyDefinitionVariableProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data PolicyDefinitionVariableProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-automatedreasoningpolicy-policydefinitionvariable.html>
+    PolicyDefinitionVariableProperty {haddock_workaround_ :: (),
+                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-automatedreasoningpolicy-policydefinitionvariable.html#cfn-bedrock-automatedreasoningpolicy-policydefinitionvariable-description>
+                                      description :: (Value Prelude.Text),
+                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-automatedreasoningpolicy-policydefinitionvariable.html#cfn-bedrock-automatedreasoningpolicy-policydefinitionvariable-name>
+                                      name :: (Value Prelude.Text),
+                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-automatedreasoningpolicy-policydefinitionvariable.html#cfn-bedrock-automatedreasoningpolicy-policydefinitionvariable-type>
+                                      type' :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkPolicyDefinitionVariableProperty ::
+  Value Prelude.Text
+  -> Value Prelude.Text
+     -> Value Prelude.Text -> PolicyDefinitionVariableProperty
+mkPolicyDefinitionVariableProperty description name type'
+  = PolicyDefinitionVariableProperty
+      {haddock_workaround_ = (), description = description, name = name,
+       type' = type'}
+instance ToResourceProperties PolicyDefinitionVariableProperty where
+  toResourceProperties PolicyDefinitionVariableProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::AutomatedReasoningPolicy.PolicyDefinitionVariable",
+         supportsTags = Prelude.False,
+         properties = ["Description" JSON..= description,
+                       "Name" JSON..= name, "Type" JSON..= type']}
+instance JSON.ToJSON PolicyDefinitionVariableProperty where
+  toJSON PolicyDefinitionVariableProperty {..}
+    = JSON.object
+        ["Description" JSON..= description, "Name" JSON..= name,
+         "Type" JSON..= type']
+instance Property "Description" PolicyDefinitionVariableProperty where
+  type PropertyType "Description" PolicyDefinitionVariableProperty = Value Prelude.Text
+  set newValue PolicyDefinitionVariableProperty {..}
+    = PolicyDefinitionVariableProperty {description = newValue, ..}
+instance Property "Name" PolicyDefinitionVariableProperty where
+  type PropertyType "Name" PolicyDefinitionVariableProperty = Value Prelude.Text
+  set newValue PolicyDefinitionVariableProperty {..}
+    = PolicyDefinitionVariableProperty {name = newValue, ..}
+instance Property "Type" PolicyDefinitionVariableProperty where
+  type PropertyType "Type" PolicyDefinitionVariableProperty = Value Prelude.Text
+  set newValue PolicyDefinitionVariableProperty {..}
+    = PolicyDefinitionVariableProperty {type' = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/AutomatedReasoningPolicy/PolicyDefinitionVariableProperty.hs-boot b/gen/Stratosphere/Bedrock/AutomatedReasoningPolicy/PolicyDefinitionVariableProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/AutomatedReasoningPolicy/PolicyDefinitionVariableProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.AutomatedReasoningPolicy.PolicyDefinitionVariableProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data PolicyDefinitionVariableProperty :: Prelude.Type
+instance ToResourceProperties PolicyDefinitionVariableProperty
+instance Prelude.Eq PolicyDefinitionVariableProperty
+instance Prelude.Show PolicyDefinitionVariableProperty
+instance JSON.ToJSON PolicyDefinitionVariableProperty
diff --git a/gen/Stratosphere/Bedrock/AutomatedReasoningPolicyVersion.hs b/gen/Stratosphere/Bedrock/AutomatedReasoningPolicyVersion.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/AutomatedReasoningPolicyVersion.hs
@@ -0,0 +1,63 @@
+module Stratosphere.Bedrock.AutomatedReasoningPolicyVersion (
+        AutomatedReasoningPolicyVersion(..),
+        mkAutomatedReasoningPolicyVersion
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Tag
+import Stratosphere.Value
+data AutomatedReasoningPolicyVersion
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-automatedreasoningpolicyversion.html>
+    AutomatedReasoningPolicyVersion {haddock_workaround_ :: (),
+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-automatedreasoningpolicyversion.html#cfn-bedrock-automatedreasoningpolicyversion-lastupdateddefinitionhash>
+                                     lastUpdatedDefinitionHash :: (Prelude.Maybe (Value Prelude.Text)),
+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-automatedreasoningpolicyversion.html#cfn-bedrock-automatedreasoningpolicyversion-policyarn>
+                                     policyArn :: (Value Prelude.Text),
+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-automatedreasoningpolicyversion.html#cfn-bedrock-automatedreasoningpolicyversion-tags>
+                                     tags :: (Prelude.Maybe [Tag])}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkAutomatedReasoningPolicyVersion ::
+  Value Prelude.Text -> AutomatedReasoningPolicyVersion
+mkAutomatedReasoningPolicyVersion policyArn
+  = AutomatedReasoningPolicyVersion
+      {haddock_workaround_ = (), policyArn = policyArn,
+       lastUpdatedDefinitionHash = Prelude.Nothing,
+       tags = Prelude.Nothing}
+instance ToResourceProperties AutomatedReasoningPolicyVersion where
+  toResourceProperties AutomatedReasoningPolicyVersion {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::AutomatedReasoningPolicyVersion",
+         supportsTags = Prelude.True,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["PolicyArn" JSON..= policyArn]
+                           (Prelude.catMaybes
+                              [(JSON..=) "LastUpdatedDefinitionHash"
+                                 Prelude.<$> lastUpdatedDefinitionHash,
+                               (JSON..=) "Tags" Prelude.<$> tags]))}
+instance JSON.ToJSON AutomatedReasoningPolicyVersion where
+  toJSON AutomatedReasoningPolicyVersion {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["PolicyArn" JSON..= policyArn]
+              (Prelude.catMaybes
+                 [(JSON..=) "LastUpdatedDefinitionHash"
+                    Prelude.<$> lastUpdatedDefinitionHash,
+                  (JSON..=) "Tags" Prelude.<$> tags])))
+instance Property "LastUpdatedDefinitionHash" AutomatedReasoningPolicyVersion where
+  type PropertyType "LastUpdatedDefinitionHash" AutomatedReasoningPolicyVersion = Value Prelude.Text
+  set newValue AutomatedReasoningPolicyVersion {..}
+    = AutomatedReasoningPolicyVersion
+        {lastUpdatedDefinitionHash = Prelude.pure newValue, ..}
+instance Property "PolicyArn" AutomatedReasoningPolicyVersion where
+  type PropertyType "PolicyArn" AutomatedReasoningPolicyVersion = Value Prelude.Text
+  set newValue AutomatedReasoningPolicyVersion {..}
+    = AutomatedReasoningPolicyVersion {policyArn = newValue, ..}
+instance Property "Tags" AutomatedReasoningPolicyVersion where
+  type PropertyType "Tags" AutomatedReasoningPolicyVersion = [Tag]
+  set newValue AutomatedReasoningPolicyVersion {..}
+    = AutomatedReasoningPolicyVersion
+        {tags = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Blueprint.hs b/gen/Stratosphere/Bedrock/Blueprint.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Blueprint.hs
@@ -0,0 +1,79 @@
+module Stratosphere.Bedrock.Blueprint (
+        Blueprint(..), mkBlueprint
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Tag
+import Stratosphere.Value
+data Blueprint
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-blueprint.html>
+    Blueprint {haddock_workaround_ :: (),
+               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-blueprint.html#cfn-bedrock-blueprint-blueprintname>
+               blueprintName :: (Value Prelude.Text),
+               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-blueprint.html#cfn-bedrock-blueprint-kmsencryptioncontext>
+               kmsEncryptionContext :: (Prelude.Maybe (Prelude.Map Prelude.Text (Value Prelude.Text))),
+               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-blueprint.html#cfn-bedrock-blueprint-kmskeyid>
+               kmsKeyId :: (Prelude.Maybe (Value Prelude.Text)),
+               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-blueprint.html#cfn-bedrock-blueprint-schema>
+               schema :: JSON.Object,
+               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-blueprint.html#cfn-bedrock-blueprint-tags>
+               tags :: (Prelude.Maybe [Tag]),
+               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-blueprint.html#cfn-bedrock-blueprint-type>
+               type' :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkBlueprint ::
+  Value Prelude.Text
+  -> JSON.Object -> Value Prelude.Text -> Blueprint
+mkBlueprint blueprintName schema type'
+  = Blueprint
+      {haddock_workaround_ = (), blueprintName = blueprintName,
+       schema = schema, type' = type',
+       kmsEncryptionContext = Prelude.Nothing, kmsKeyId = Prelude.Nothing,
+       tags = Prelude.Nothing}
+instance ToResourceProperties Blueprint where
+  toResourceProperties Blueprint {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Blueprint", supportsTags = Prelude.True,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["BlueprintName" JSON..= blueprintName, "Schema" JSON..= schema,
+                            "Type" JSON..= type']
+                           (Prelude.catMaybes
+                              [(JSON..=) "KmsEncryptionContext" Prelude.<$> kmsEncryptionContext,
+                               (JSON..=) "KmsKeyId" Prelude.<$> kmsKeyId,
+                               (JSON..=) "Tags" Prelude.<$> tags]))}
+instance JSON.ToJSON Blueprint where
+  toJSON Blueprint {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["BlueprintName" JSON..= blueprintName, "Schema" JSON..= schema,
+               "Type" JSON..= type']
+              (Prelude.catMaybes
+                 [(JSON..=) "KmsEncryptionContext" Prelude.<$> kmsEncryptionContext,
+                  (JSON..=) "KmsKeyId" Prelude.<$> kmsKeyId,
+                  (JSON..=) "Tags" Prelude.<$> tags])))
+instance Property "BlueprintName" Blueprint where
+  type PropertyType "BlueprintName" Blueprint = Value Prelude.Text
+  set newValue Blueprint {..}
+    = Blueprint {blueprintName = newValue, ..}
+instance Property "KmsEncryptionContext" Blueprint where
+  type PropertyType "KmsEncryptionContext" Blueprint = Prelude.Map Prelude.Text (Value Prelude.Text)
+  set newValue Blueprint {..}
+    = Blueprint {kmsEncryptionContext = Prelude.pure newValue, ..}
+instance Property "KmsKeyId" Blueprint where
+  type PropertyType "KmsKeyId" Blueprint = Value Prelude.Text
+  set newValue Blueprint {..}
+    = Blueprint {kmsKeyId = Prelude.pure newValue, ..}
+instance Property "Schema" Blueprint where
+  type PropertyType "Schema" Blueprint = JSON.Object
+  set newValue Blueprint {..} = Blueprint {schema = newValue, ..}
+instance Property "Tags" Blueprint where
+  type PropertyType "Tags" Blueprint = [Tag]
+  set newValue Blueprint {..}
+    = Blueprint {tags = Prelude.pure newValue, ..}
+instance Property "Type" Blueprint where
+  type PropertyType "Type" Blueprint = Value Prelude.Text
+  set newValue Blueprint {..} = Blueprint {type' = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/DataAutomationProject.hs b/gen/Stratosphere/Bedrock/DataAutomationProject.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataAutomationProject.hs
@@ -0,0 +1,116 @@
+module Stratosphere.Bedrock.DataAutomationProject (
+        module Exports, DataAutomationProject(..), mkDataAutomationProject
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.DataAutomationProject.CustomOutputConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.DataAutomationProject.OverrideConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.DataAutomationProject.StandardOutputConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Tag
+import Stratosphere.Value
+data DataAutomationProject
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-dataautomationproject.html>
+    DataAutomationProject {haddock_workaround_ :: (),
+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-dataautomationproject.html#cfn-bedrock-dataautomationproject-customoutputconfiguration>
+                           customOutputConfiguration :: (Prelude.Maybe CustomOutputConfigurationProperty),
+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-dataautomationproject.html#cfn-bedrock-dataautomationproject-kmsencryptioncontext>
+                           kmsEncryptionContext :: (Prelude.Maybe (Prelude.Map Prelude.Text (Value Prelude.Text))),
+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-dataautomationproject.html#cfn-bedrock-dataautomationproject-kmskeyid>
+                           kmsKeyId :: (Prelude.Maybe (Value Prelude.Text)),
+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-dataautomationproject.html#cfn-bedrock-dataautomationproject-overrideconfiguration>
+                           overrideConfiguration :: (Prelude.Maybe OverrideConfigurationProperty),
+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-dataautomationproject.html#cfn-bedrock-dataautomationproject-projectdescription>
+                           projectDescription :: (Prelude.Maybe (Value Prelude.Text)),
+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-dataautomationproject.html#cfn-bedrock-dataautomationproject-projectname>
+                           projectName :: (Value Prelude.Text),
+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-dataautomationproject.html#cfn-bedrock-dataautomationproject-standardoutputconfiguration>
+                           standardOutputConfiguration :: (Prelude.Maybe StandardOutputConfigurationProperty),
+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-dataautomationproject.html#cfn-bedrock-dataautomationproject-tags>
+                           tags :: (Prelude.Maybe [Tag])}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkDataAutomationProject ::
+  Value Prelude.Text -> DataAutomationProject
+mkDataAutomationProject projectName
+  = DataAutomationProject
+      {haddock_workaround_ = (), projectName = projectName,
+       customOutputConfiguration = Prelude.Nothing,
+       kmsEncryptionContext = Prelude.Nothing, kmsKeyId = Prelude.Nothing,
+       overrideConfiguration = Prelude.Nothing,
+       projectDescription = Prelude.Nothing,
+       standardOutputConfiguration = Prelude.Nothing,
+       tags = Prelude.Nothing}
+instance ToResourceProperties DataAutomationProject where
+  toResourceProperties DataAutomationProject {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::DataAutomationProject",
+         supportsTags = Prelude.True,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["ProjectName" JSON..= projectName]
+                           (Prelude.catMaybes
+                              [(JSON..=) "CustomOutputConfiguration"
+                                 Prelude.<$> customOutputConfiguration,
+                               (JSON..=) "KmsEncryptionContext" Prelude.<$> kmsEncryptionContext,
+                               (JSON..=) "KmsKeyId" Prelude.<$> kmsKeyId,
+                               (JSON..=) "OverrideConfiguration"
+                                 Prelude.<$> overrideConfiguration,
+                               (JSON..=) "ProjectDescription" Prelude.<$> projectDescription,
+                               (JSON..=) "StandardOutputConfiguration"
+                                 Prelude.<$> standardOutputConfiguration,
+                               (JSON..=) "Tags" Prelude.<$> tags]))}
+instance JSON.ToJSON DataAutomationProject where
+  toJSON DataAutomationProject {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["ProjectName" JSON..= projectName]
+              (Prelude.catMaybes
+                 [(JSON..=) "CustomOutputConfiguration"
+                    Prelude.<$> customOutputConfiguration,
+                  (JSON..=) "KmsEncryptionContext" Prelude.<$> kmsEncryptionContext,
+                  (JSON..=) "KmsKeyId" Prelude.<$> kmsKeyId,
+                  (JSON..=) "OverrideConfiguration"
+                    Prelude.<$> overrideConfiguration,
+                  (JSON..=) "ProjectDescription" Prelude.<$> projectDescription,
+                  (JSON..=) "StandardOutputConfiguration"
+                    Prelude.<$> standardOutputConfiguration,
+                  (JSON..=) "Tags" Prelude.<$> tags])))
+instance Property "CustomOutputConfiguration" DataAutomationProject where
+  type PropertyType "CustomOutputConfiguration" DataAutomationProject = CustomOutputConfigurationProperty
+  set newValue DataAutomationProject {..}
+    = DataAutomationProject
+        {customOutputConfiguration = Prelude.pure newValue, ..}
+instance Property "KmsEncryptionContext" DataAutomationProject where
+  type PropertyType "KmsEncryptionContext" DataAutomationProject = Prelude.Map Prelude.Text (Value Prelude.Text)
+  set newValue DataAutomationProject {..}
+    = DataAutomationProject
+        {kmsEncryptionContext = Prelude.pure newValue, ..}
+instance Property "KmsKeyId" DataAutomationProject where
+  type PropertyType "KmsKeyId" DataAutomationProject = Value Prelude.Text
+  set newValue DataAutomationProject {..}
+    = DataAutomationProject {kmsKeyId = Prelude.pure newValue, ..}
+instance Property "OverrideConfiguration" DataAutomationProject where
+  type PropertyType "OverrideConfiguration" DataAutomationProject = OverrideConfigurationProperty
+  set newValue DataAutomationProject {..}
+    = DataAutomationProject
+        {overrideConfiguration = Prelude.pure newValue, ..}
+instance Property "ProjectDescription" DataAutomationProject where
+  type PropertyType "ProjectDescription" DataAutomationProject = Value Prelude.Text
+  set newValue DataAutomationProject {..}
+    = DataAutomationProject
+        {projectDescription = Prelude.pure newValue, ..}
+instance Property "ProjectName" DataAutomationProject where
+  type PropertyType "ProjectName" DataAutomationProject = Value Prelude.Text
+  set newValue DataAutomationProject {..}
+    = DataAutomationProject {projectName = newValue, ..}
+instance Property "StandardOutputConfiguration" DataAutomationProject where
+  type PropertyType "StandardOutputConfiguration" DataAutomationProject = StandardOutputConfigurationProperty
+  set newValue DataAutomationProject {..}
+    = DataAutomationProject
+        {standardOutputConfiguration = Prelude.pure newValue, ..}
+instance Property "Tags" DataAutomationProject where
+  type PropertyType "Tags" DataAutomationProject = [Tag]
+  set newValue DataAutomationProject {..}
+    = DataAutomationProject {tags = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/DataAutomationProject/AudioExtractionCategoryProperty.hs b/gen/Stratosphere/Bedrock/DataAutomationProject/AudioExtractionCategoryProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataAutomationProject/AudioExtractionCategoryProperty.hs
@@ -0,0 +1,60 @@
+module Stratosphere.Bedrock.DataAutomationProject.AudioExtractionCategoryProperty (
+        module Exports, AudioExtractionCategoryProperty(..),
+        mkAudioExtractionCategoryProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.DataAutomationProject.AudioExtractionCategoryTypeConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data AudioExtractionCategoryProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-audioextractioncategory.html>
+    AudioExtractionCategoryProperty {haddock_workaround_ :: (),
+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-audioextractioncategory.html#cfn-bedrock-dataautomationproject-audioextractioncategory-state>
+                                     state :: (Value Prelude.Text),
+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-audioextractioncategory.html#cfn-bedrock-dataautomationproject-audioextractioncategory-typeconfiguration>
+                                     typeConfiguration :: (Prelude.Maybe AudioExtractionCategoryTypeConfigurationProperty),
+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-audioextractioncategory.html#cfn-bedrock-dataautomationproject-audioextractioncategory-types>
+                                     types :: (Prelude.Maybe (ValueList Prelude.Text))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkAudioExtractionCategoryProperty ::
+  Value Prelude.Text -> AudioExtractionCategoryProperty
+mkAudioExtractionCategoryProperty state
+  = AudioExtractionCategoryProperty
+      {haddock_workaround_ = (), state = state,
+       typeConfiguration = Prelude.Nothing, types = Prelude.Nothing}
+instance ToResourceProperties AudioExtractionCategoryProperty where
+  toResourceProperties AudioExtractionCategoryProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::DataAutomationProject.AudioExtractionCategory",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["State" JSON..= state]
+                           (Prelude.catMaybes
+                              [(JSON..=) "TypeConfiguration" Prelude.<$> typeConfiguration,
+                               (JSON..=) "Types" Prelude.<$> types]))}
+instance JSON.ToJSON AudioExtractionCategoryProperty where
+  toJSON AudioExtractionCategoryProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["State" JSON..= state]
+              (Prelude.catMaybes
+                 [(JSON..=) "TypeConfiguration" Prelude.<$> typeConfiguration,
+                  (JSON..=) "Types" Prelude.<$> types])))
+instance Property "State" AudioExtractionCategoryProperty where
+  type PropertyType "State" AudioExtractionCategoryProperty = Value Prelude.Text
+  set newValue AudioExtractionCategoryProperty {..}
+    = AudioExtractionCategoryProperty {state = newValue, ..}
+instance Property "TypeConfiguration" AudioExtractionCategoryProperty where
+  type PropertyType "TypeConfiguration" AudioExtractionCategoryProperty = AudioExtractionCategoryTypeConfigurationProperty
+  set newValue AudioExtractionCategoryProperty {..}
+    = AudioExtractionCategoryProperty
+        {typeConfiguration = Prelude.pure newValue, ..}
+instance Property "Types" AudioExtractionCategoryProperty where
+  type PropertyType "Types" AudioExtractionCategoryProperty = ValueList Prelude.Text
+  set newValue AudioExtractionCategoryProperty {..}
+    = AudioExtractionCategoryProperty
+        {types = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/DataAutomationProject/AudioExtractionCategoryProperty.hs-boot b/gen/Stratosphere/Bedrock/DataAutomationProject/AudioExtractionCategoryProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataAutomationProject/AudioExtractionCategoryProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.DataAutomationProject.AudioExtractionCategoryProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data AudioExtractionCategoryProperty :: Prelude.Type
+instance ToResourceProperties AudioExtractionCategoryProperty
+instance Prelude.Eq AudioExtractionCategoryProperty
+instance Prelude.Show AudioExtractionCategoryProperty
+instance JSON.ToJSON AudioExtractionCategoryProperty
diff --git a/gen/Stratosphere/Bedrock/DataAutomationProject/AudioExtractionCategoryTypeConfigurationProperty.hs b/gen/Stratosphere/Bedrock/DataAutomationProject/AudioExtractionCategoryTypeConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataAutomationProject/AudioExtractionCategoryTypeConfigurationProperty.hs
@@ -0,0 +1,41 @@
+module Stratosphere.Bedrock.DataAutomationProject.AudioExtractionCategoryTypeConfigurationProperty (
+        module Exports,
+        AudioExtractionCategoryTypeConfigurationProperty(..),
+        mkAudioExtractionCategoryTypeConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.DataAutomationProject.TranscriptConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+data AudioExtractionCategoryTypeConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-audioextractioncategorytypeconfiguration.html>
+    AudioExtractionCategoryTypeConfigurationProperty {haddock_workaround_ :: (),
+                                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-audioextractioncategorytypeconfiguration.html#cfn-bedrock-dataautomationproject-audioextractioncategorytypeconfiguration-transcript>
+                                                      transcript :: (Prelude.Maybe TranscriptConfigurationProperty)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkAudioExtractionCategoryTypeConfigurationProperty ::
+  AudioExtractionCategoryTypeConfigurationProperty
+mkAudioExtractionCategoryTypeConfigurationProperty
+  = AudioExtractionCategoryTypeConfigurationProperty
+      {haddock_workaround_ = (), transcript = Prelude.Nothing}
+instance ToResourceProperties AudioExtractionCategoryTypeConfigurationProperty where
+  toResourceProperties
+    AudioExtractionCategoryTypeConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::DataAutomationProject.AudioExtractionCategoryTypeConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "Transcript" Prelude.<$> transcript])}
+instance JSON.ToJSON AudioExtractionCategoryTypeConfigurationProperty where
+  toJSON AudioExtractionCategoryTypeConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "Transcript" Prelude.<$> transcript]))
+instance Property "Transcript" AudioExtractionCategoryTypeConfigurationProperty where
+  type PropertyType "Transcript" AudioExtractionCategoryTypeConfigurationProperty = TranscriptConfigurationProperty
+  set newValue AudioExtractionCategoryTypeConfigurationProperty {..}
+    = AudioExtractionCategoryTypeConfigurationProperty
+        {transcript = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/DataAutomationProject/AudioExtractionCategoryTypeConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/DataAutomationProject/AudioExtractionCategoryTypeConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataAutomationProject/AudioExtractionCategoryTypeConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.DataAutomationProject.AudioExtractionCategoryTypeConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data AudioExtractionCategoryTypeConfigurationProperty :: Prelude.Type
+instance ToResourceProperties AudioExtractionCategoryTypeConfigurationProperty
+instance Prelude.Eq AudioExtractionCategoryTypeConfigurationProperty
+instance Prelude.Show AudioExtractionCategoryTypeConfigurationProperty
+instance JSON.ToJSON AudioExtractionCategoryTypeConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/DataAutomationProject/AudioOverrideConfigurationProperty.hs b/gen/Stratosphere/Bedrock/DataAutomationProject/AudioOverrideConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataAutomationProject/AudioOverrideConfigurationProperty.hs
@@ -0,0 +1,39 @@
+module Stratosphere.Bedrock.DataAutomationProject.AudioOverrideConfigurationProperty (
+        module Exports, AudioOverrideConfigurationProperty(..),
+        mkAudioOverrideConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.DataAutomationProject.ModalityProcessingConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+data AudioOverrideConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-audiooverrideconfiguration.html>
+    AudioOverrideConfigurationProperty {haddock_workaround_ :: (),
+                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-audiooverrideconfiguration.html#cfn-bedrock-dataautomationproject-audiooverrideconfiguration-modalityprocessing>
+                                        modalityProcessing :: (Prelude.Maybe ModalityProcessingConfigurationProperty)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkAudioOverrideConfigurationProperty ::
+  AudioOverrideConfigurationProperty
+mkAudioOverrideConfigurationProperty
+  = AudioOverrideConfigurationProperty
+      {haddock_workaround_ = (), modalityProcessing = Prelude.Nothing}
+instance ToResourceProperties AudioOverrideConfigurationProperty where
+  toResourceProperties AudioOverrideConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::DataAutomationProject.AudioOverrideConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "ModalityProcessing" Prelude.<$> modalityProcessing])}
+instance JSON.ToJSON AudioOverrideConfigurationProperty where
+  toJSON AudioOverrideConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "ModalityProcessing" Prelude.<$> modalityProcessing]))
+instance Property "ModalityProcessing" AudioOverrideConfigurationProperty where
+  type PropertyType "ModalityProcessing" AudioOverrideConfigurationProperty = ModalityProcessingConfigurationProperty
+  set newValue AudioOverrideConfigurationProperty {..}
+    = AudioOverrideConfigurationProperty
+        {modalityProcessing = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/DataAutomationProject/AudioOverrideConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/DataAutomationProject/AudioOverrideConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataAutomationProject/AudioOverrideConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.DataAutomationProject.AudioOverrideConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data AudioOverrideConfigurationProperty :: Prelude.Type
+instance ToResourceProperties AudioOverrideConfigurationProperty
+instance Prelude.Eq AudioOverrideConfigurationProperty
+instance Prelude.Show AudioOverrideConfigurationProperty
+instance JSON.ToJSON AudioOverrideConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/DataAutomationProject/AudioStandardExtractionProperty.hs b/gen/Stratosphere/Bedrock/DataAutomationProject/AudioStandardExtractionProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataAutomationProject/AudioStandardExtractionProperty.hs
@@ -0,0 +1,33 @@
+module Stratosphere.Bedrock.DataAutomationProject.AudioStandardExtractionProperty (
+        module Exports, AudioStandardExtractionProperty(..),
+        mkAudioStandardExtractionProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.DataAutomationProject.AudioExtractionCategoryProperty as Exports
+import Stratosphere.ResourceProperties
+data AudioStandardExtractionProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-audiostandardextraction.html>
+    AudioStandardExtractionProperty {haddock_workaround_ :: (),
+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-audiostandardextraction.html#cfn-bedrock-dataautomationproject-audiostandardextraction-category>
+                                     category :: AudioExtractionCategoryProperty}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkAudioStandardExtractionProperty ::
+  AudioExtractionCategoryProperty -> AudioStandardExtractionProperty
+mkAudioStandardExtractionProperty category
+  = AudioStandardExtractionProperty
+      {haddock_workaround_ = (), category = category}
+instance ToResourceProperties AudioStandardExtractionProperty where
+  toResourceProperties AudioStandardExtractionProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::DataAutomationProject.AudioStandardExtraction",
+         supportsTags = Prelude.False,
+         properties = ["Category" JSON..= category]}
+instance JSON.ToJSON AudioStandardExtractionProperty where
+  toJSON AudioStandardExtractionProperty {..}
+    = JSON.object ["Category" JSON..= category]
+instance Property "Category" AudioStandardExtractionProperty where
+  type PropertyType "Category" AudioStandardExtractionProperty = AudioExtractionCategoryProperty
+  set newValue AudioStandardExtractionProperty {..}
+    = AudioStandardExtractionProperty {category = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/DataAutomationProject/AudioStandardExtractionProperty.hs-boot b/gen/Stratosphere/Bedrock/DataAutomationProject/AudioStandardExtractionProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataAutomationProject/AudioStandardExtractionProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.DataAutomationProject.AudioStandardExtractionProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data AudioStandardExtractionProperty :: Prelude.Type
+instance ToResourceProperties AudioStandardExtractionProperty
+instance Prelude.Eq AudioStandardExtractionProperty
+instance Prelude.Show AudioStandardExtractionProperty
+instance JSON.ToJSON AudioStandardExtractionProperty
diff --git a/gen/Stratosphere/Bedrock/DataAutomationProject/AudioStandardGenerativeFieldProperty.hs b/gen/Stratosphere/Bedrock/DataAutomationProject/AudioStandardGenerativeFieldProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataAutomationProject/AudioStandardGenerativeFieldProperty.hs
@@ -0,0 +1,47 @@
+module Stratosphere.Bedrock.DataAutomationProject.AudioStandardGenerativeFieldProperty (
+        AudioStandardGenerativeFieldProperty(..),
+        mkAudioStandardGenerativeFieldProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data AudioStandardGenerativeFieldProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-audiostandardgenerativefield.html>
+    AudioStandardGenerativeFieldProperty {haddock_workaround_ :: (),
+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-audiostandardgenerativefield.html#cfn-bedrock-dataautomationproject-audiostandardgenerativefield-state>
+                                          state :: (Value Prelude.Text),
+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-audiostandardgenerativefield.html#cfn-bedrock-dataautomationproject-audiostandardgenerativefield-types>
+                                          types :: (Prelude.Maybe (ValueList Prelude.Text))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkAudioStandardGenerativeFieldProperty ::
+  Value Prelude.Text -> AudioStandardGenerativeFieldProperty
+mkAudioStandardGenerativeFieldProperty state
+  = AudioStandardGenerativeFieldProperty
+      {haddock_workaround_ = (), state = state, types = Prelude.Nothing}
+instance ToResourceProperties AudioStandardGenerativeFieldProperty where
+  toResourceProperties AudioStandardGenerativeFieldProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::DataAutomationProject.AudioStandardGenerativeField",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["State" JSON..= state]
+                           (Prelude.catMaybes [(JSON..=) "Types" Prelude.<$> types]))}
+instance JSON.ToJSON AudioStandardGenerativeFieldProperty where
+  toJSON AudioStandardGenerativeFieldProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["State" JSON..= state]
+              (Prelude.catMaybes [(JSON..=) "Types" Prelude.<$> types])))
+instance Property "State" AudioStandardGenerativeFieldProperty where
+  type PropertyType "State" AudioStandardGenerativeFieldProperty = Value Prelude.Text
+  set newValue AudioStandardGenerativeFieldProperty {..}
+    = AudioStandardGenerativeFieldProperty {state = newValue, ..}
+instance Property "Types" AudioStandardGenerativeFieldProperty where
+  type PropertyType "Types" AudioStandardGenerativeFieldProperty = ValueList Prelude.Text
+  set newValue AudioStandardGenerativeFieldProperty {..}
+    = AudioStandardGenerativeFieldProperty
+        {types = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/DataAutomationProject/AudioStandardGenerativeFieldProperty.hs-boot b/gen/Stratosphere/Bedrock/DataAutomationProject/AudioStandardGenerativeFieldProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataAutomationProject/AudioStandardGenerativeFieldProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.DataAutomationProject.AudioStandardGenerativeFieldProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data AudioStandardGenerativeFieldProperty :: Prelude.Type
+instance ToResourceProperties AudioStandardGenerativeFieldProperty
+instance Prelude.Eq AudioStandardGenerativeFieldProperty
+instance Prelude.Show AudioStandardGenerativeFieldProperty
+instance JSON.ToJSON AudioStandardGenerativeFieldProperty
diff --git a/gen/Stratosphere/Bedrock/DataAutomationProject/AudioStandardOutputConfigurationProperty.hs b/gen/Stratosphere/Bedrock/DataAutomationProject/AudioStandardOutputConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataAutomationProject/AudioStandardOutputConfigurationProperty.hs
@@ -0,0 +1,50 @@
+module Stratosphere.Bedrock.DataAutomationProject.AudioStandardOutputConfigurationProperty (
+        module Exports, AudioStandardOutputConfigurationProperty(..),
+        mkAudioStandardOutputConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.DataAutomationProject.AudioStandardExtractionProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.DataAutomationProject.AudioStandardGenerativeFieldProperty as Exports
+import Stratosphere.ResourceProperties
+data AudioStandardOutputConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-audiostandardoutputconfiguration.html>
+    AudioStandardOutputConfigurationProperty {haddock_workaround_ :: (),
+                                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-audiostandardoutputconfiguration.html#cfn-bedrock-dataautomationproject-audiostandardoutputconfiguration-extraction>
+                                              extraction :: (Prelude.Maybe AudioStandardExtractionProperty),
+                                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-audiostandardoutputconfiguration.html#cfn-bedrock-dataautomationproject-audiostandardoutputconfiguration-generativefield>
+                                              generativeField :: (Prelude.Maybe AudioStandardGenerativeFieldProperty)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkAudioStandardOutputConfigurationProperty ::
+  AudioStandardOutputConfigurationProperty
+mkAudioStandardOutputConfigurationProperty
+  = AudioStandardOutputConfigurationProperty
+      {haddock_workaround_ = (), extraction = Prelude.Nothing,
+       generativeField = Prelude.Nothing}
+instance ToResourceProperties AudioStandardOutputConfigurationProperty where
+  toResourceProperties AudioStandardOutputConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::DataAutomationProject.AudioStandardOutputConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "Extraction" Prelude.<$> extraction,
+                            (JSON..=) "GenerativeField" Prelude.<$> generativeField])}
+instance JSON.ToJSON AudioStandardOutputConfigurationProperty where
+  toJSON AudioStandardOutputConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "Extraction" Prelude.<$> extraction,
+               (JSON..=) "GenerativeField" Prelude.<$> generativeField]))
+instance Property "Extraction" AudioStandardOutputConfigurationProperty where
+  type PropertyType "Extraction" AudioStandardOutputConfigurationProperty = AudioStandardExtractionProperty
+  set newValue AudioStandardOutputConfigurationProperty {..}
+    = AudioStandardOutputConfigurationProperty
+        {extraction = Prelude.pure newValue, ..}
+instance Property "GenerativeField" AudioStandardOutputConfigurationProperty where
+  type PropertyType "GenerativeField" AudioStandardOutputConfigurationProperty = AudioStandardGenerativeFieldProperty
+  set newValue AudioStandardOutputConfigurationProperty {..}
+    = AudioStandardOutputConfigurationProperty
+        {generativeField = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/DataAutomationProject/AudioStandardOutputConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/DataAutomationProject/AudioStandardOutputConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataAutomationProject/AudioStandardOutputConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.DataAutomationProject.AudioStandardOutputConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data AudioStandardOutputConfigurationProperty :: Prelude.Type
+instance ToResourceProperties AudioStandardOutputConfigurationProperty
+instance Prelude.Eq AudioStandardOutputConfigurationProperty
+instance Prelude.Show AudioStandardOutputConfigurationProperty
+instance JSON.ToJSON AudioStandardOutputConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/DataAutomationProject/BlueprintItemProperty.hs b/gen/Stratosphere/Bedrock/DataAutomationProject/BlueprintItemProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataAutomationProject/BlueprintItemProperty.hs
@@ -0,0 +1,59 @@
+module Stratosphere.Bedrock.DataAutomationProject.BlueprintItemProperty (
+        BlueprintItemProperty(..), mkBlueprintItemProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data BlueprintItemProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-blueprintitem.html>
+    BlueprintItemProperty {haddock_workaround_ :: (),
+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-blueprintitem.html#cfn-bedrock-dataautomationproject-blueprintitem-blueprintarn>
+                           blueprintArn :: (Value Prelude.Text),
+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-blueprintitem.html#cfn-bedrock-dataautomationproject-blueprintitem-blueprintstage>
+                           blueprintStage :: (Prelude.Maybe (Value Prelude.Text)),
+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-blueprintitem.html#cfn-bedrock-dataautomationproject-blueprintitem-blueprintversion>
+                           blueprintVersion :: (Prelude.Maybe (Value Prelude.Text))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkBlueprintItemProperty ::
+  Value Prelude.Text -> BlueprintItemProperty
+mkBlueprintItemProperty blueprintArn
+  = BlueprintItemProperty
+      {haddock_workaround_ = (), blueprintArn = blueprintArn,
+       blueprintStage = Prelude.Nothing,
+       blueprintVersion = Prelude.Nothing}
+instance ToResourceProperties BlueprintItemProperty where
+  toResourceProperties BlueprintItemProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::DataAutomationProject.BlueprintItem",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["BlueprintArn" JSON..= blueprintArn]
+                           (Prelude.catMaybes
+                              [(JSON..=) "BlueprintStage" Prelude.<$> blueprintStage,
+                               (JSON..=) "BlueprintVersion" Prelude.<$> blueprintVersion]))}
+instance JSON.ToJSON BlueprintItemProperty where
+  toJSON BlueprintItemProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["BlueprintArn" JSON..= blueprintArn]
+              (Prelude.catMaybes
+                 [(JSON..=) "BlueprintStage" Prelude.<$> blueprintStage,
+                  (JSON..=) "BlueprintVersion" Prelude.<$> blueprintVersion])))
+instance Property "BlueprintArn" BlueprintItemProperty where
+  type PropertyType "BlueprintArn" BlueprintItemProperty = Value Prelude.Text
+  set newValue BlueprintItemProperty {..}
+    = BlueprintItemProperty {blueprintArn = newValue, ..}
+instance Property "BlueprintStage" BlueprintItemProperty where
+  type PropertyType "BlueprintStage" BlueprintItemProperty = Value Prelude.Text
+  set newValue BlueprintItemProperty {..}
+    = BlueprintItemProperty
+        {blueprintStage = Prelude.pure newValue, ..}
+instance Property "BlueprintVersion" BlueprintItemProperty where
+  type PropertyType "BlueprintVersion" BlueprintItemProperty = Value Prelude.Text
+  set newValue BlueprintItemProperty {..}
+    = BlueprintItemProperty
+        {blueprintVersion = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/DataAutomationProject/BlueprintItemProperty.hs-boot b/gen/Stratosphere/Bedrock/DataAutomationProject/BlueprintItemProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataAutomationProject/BlueprintItemProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.DataAutomationProject.BlueprintItemProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data BlueprintItemProperty :: Prelude.Type
+instance ToResourceProperties BlueprintItemProperty
+instance Prelude.Eq BlueprintItemProperty
+instance Prelude.Show BlueprintItemProperty
+instance JSON.ToJSON BlueprintItemProperty
diff --git a/gen/Stratosphere/Bedrock/DataAutomationProject/ChannelLabelingConfigurationProperty.hs b/gen/Stratosphere/Bedrock/DataAutomationProject/ChannelLabelingConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataAutomationProject/ChannelLabelingConfigurationProperty.hs
@@ -0,0 +1,32 @@
+module Stratosphere.Bedrock.DataAutomationProject.ChannelLabelingConfigurationProperty (
+        ChannelLabelingConfigurationProperty(..),
+        mkChannelLabelingConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data ChannelLabelingConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-channellabelingconfiguration.html>
+    ChannelLabelingConfigurationProperty {haddock_workaround_ :: (),
+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-channellabelingconfiguration.html#cfn-bedrock-dataautomationproject-channellabelingconfiguration-state>
+                                          state :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkChannelLabelingConfigurationProperty ::
+  Value Prelude.Text -> ChannelLabelingConfigurationProperty
+mkChannelLabelingConfigurationProperty state
+  = ChannelLabelingConfigurationProperty
+      {haddock_workaround_ = (), state = state}
+instance ToResourceProperties ChannelLabelingConfigurationProperty where
+  toResourceProperties ChannelLabelingConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::DataAutomationProject.ChannelLabelingConfiguration",
+         supportsTags = Prelude.False, properties = ["State" JSON..= state]}
+instance JSON.ToJSON ChannelLabelingConfigurationProperty where
+  toJSON ChannelLabelingConfigurationProperty {..}
+    = JSON.object ["State" JSON..= state]
+instance Property "State" ChannelLabelingConfigurationProperty where
+  type PropertyType "State" ChannelLabelingConfigurationProperty = Value Prelude.Text
+  set newValue ChannelLabelingConfigurationProperty {..}
+    = ChannelLabelingConfigurationProperty {state = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/DataAutomationProject/ChannelLabelingConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/DataAutomationProject/ChannelLabelingConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataAutomationProject/ChannelLabelingConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.DataAutomationProject.ChannelLabelingConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data ChannelLabelingConfigurationProperty :: Prelude.Type
+instance ToResourceProperties ChannelLabelingConfigurationProperty
+instance Prelude.Eq ChannelLabelingConfigurationProperty
+instance Prelude.Show ChannelLabelingConfigurationProperty
+instance JSON.ToJSON ChannelLabelingConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/DataAutomationProject/CustomOutputConfigurationProperty.hs b/gen/Stratosphere/Bedrock/DataAutomationProject/CustomOutputConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataAutomationProject/CustomOutputConfigurationProperty.hs
@@ -0,0 +1,39 @@
+module Stratosphere.Bedrock.DataAutomationProject.CustomOutputConfigurationProperty (
+        module Exports, CustomOutputConfigurationProperty(..),
+        mkCustomOutputConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.DataAutomationProject.BlueprintItemProperty as Exports
+import Stratosphere.ResourceProperties
+data CustomOutputConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-customoutputconfiguration.html>
+    CustomOutputConfigurationProperty {haddock_workaround_ :: (),
+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-customoutputconfiguration.html#cfn-bedrock-dataautomationproject-customoutputconfiguration-blueprints>
+                                       blueprints :: (Prelude.Maybe [BlueprintItemProperty])}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkCustomOutputConfigurationProperty ::
+  CustomOutputConfigurationProperty
+mkCustomOutputConfigurationProperty
+  = CustomOutputConfigurationProperty
+      {haddock_workaround_ = (), blueprints = Prelude.Nothing}
+instance ToResourceProperties CustomOutputConfigurationProperty where
+  toResourceProperties CustomOutputConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::DataAutomationProject.CustomOutputConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "Blueprints" Prelude.<$> blueprints])}
+instance JSON.ToJSON CustomOutputConfigurationProperty where
+  toJSON CustomOutputConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "Blueprints" Prelude.<$> blueprints]))
+instance Property "Blueprints" CustomOutputConfigurationProperty where
+  type PropertyType "Blueprints" CustomOutputConfigurationProperty = [BlueprintItemProperty]
+  set newValue CustomOutputConfigurationProperty {..}
+    = CustomOutputConfigurationProperty
+        {blueprints = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/DataAutomationProject/CustomOutputConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/DataAutomationProject/CustomOutputConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataAutomationProject/CustomOutputConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.DataAutomationProject.CustomOutputConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data CustomOutputConfigurationProperty :: Prelude.Type
+instance ToResourceProperties CustomOutputConfigurationProperty
+instance Prelude.Eq CustomOutputConfigurationProperty
+instance Prelude.Show CustomOutputConfigurationProperty
+instance JSON.ToJSON CustomOutputConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/DataAutomationProject/DocumentBoundingBoxProperty.hs b/gen/Stratosphere/Bedrock/DataAutomationProject/DocumentBoundingBoxProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataAutomationProject/DocumentBoundingBoxProperty.hs
@@ -0,0 +1,31 @@
+module Stratosphere.Bedrock.DataAutomationProject.DocumentBoundingBoxProperty (
+        DocumentBoundingBoxProperty(..), mkDocumentBoundingBoxProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data DocumentBoundingBoxProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-documentboundingbox.html>
+    DocumentBoundingBoxProperty {haddock_workaround_ :: (),
+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-documentboundingbox.html#cfn-bedrock-dataautomationproject-documentboundingbox-state>
+                                 state :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkDocumentBoundingBoxProperty ::
+  Value Prelude.Text -> DocumentBoundingBoxProperty
+mkDocumentBoundingBoxProperty state
+  = DocumentBoundingBoxProperty
+      {haddock_workaround_ = (), state = state}
+instance ToResourceProperties DocumentBoundingBoxProperty where
+  toResourceProperties DocumentBoundingBoxProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::DataAutomationProject.DocumentBoundingBox",
+         supportsTags = Prelude.False, properties = ["State" JSON..= state]}
+instance JSON.ToJSON DocumentBoundingBoxProperty where
+  toJSON DocumentBoundingBoxProperty {..}
+    = JSON.object ["State" JSON..= state]
+instance Property "State" DocumentBoundingBoxProperty where
+  type PropertyType "State" DocumentBoundingBoxProperty = Value Prelude.Text
+  set newValue DocumentBoundingBoxProperty {..}
+    = DocumentBoundingBoxProperty {state = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/DataAutomationProject/DocumentBoundingBoxProperty.hs-boot b/gen/Stratosphere/Bedrock/DataAutomationProject/DocumentBoundingBoxProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataAutomationProject/DocumentBoundingBoxProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.DataAutomationProject.DocumentBoundingBoxProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data DocumentBoundingBoxProperty :: Prelude.Type
+instance ToResourceProperties DocumentBoundingBoxProperty
+instance Prelude.Eq DocumentBoundingBoxProperty
+instance Prelude.Show DocumentBoundingBoxProperty
+instance JSON.ToJSON DocumentBoundingBoxProperty
diff --git a/gen/Stratosphere/Bedrock/DataAutomationProject/DocumentExtractionGranularityProperty.hs b/gen/Stratosphere/Bedrock/DataAutomationProject/DocumentExtractionGranularityProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataAutomationProject/DocumentExtractionGranularityProperty.hs
@@ -0,0 +1,37 @@
+module Stratosphere.Bedrock.DataAutomationProject.DocumentExtractionGranularityProperty (
+        DocumentExtractionGranularityProperty(..),
+        mkDocumentExtractionGranularityProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data DocumentExtractionGranularityProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-documentextractiongranularity.html>
+    DocumentExtractionGranularityProperty {haddock_workaround_ :: (),
+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-documentextractiongranularity.html#cfn-bedrock-dataautomationproject-documentextractiongranularity-types>
+                                           types :: (Prelude.Maybe (ValueList Prelude.Text))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkDocumentExtractionGranularityProperty ::
+  DocumentExtractionGranularityProperty
+mkDocumentExtractionGranularityProperty
+  = DocumentExtractionGranularityProperty
+      {haddock_workaround_ = (), types = Prelude.Nothing}
+instance ToResourceProperties DocumentExtractionGranularityProperty where
+  toResourceProperties DocumentExtractionGranularityProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::DataAutomationProject.DocumentExtractionGranularity",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes [(JSON..=) "Types" Prelude.<$> types])}
+instance JSON.ToJSON DocumentExtractionGranularityProperty where
+  toJSON DocumentExtractionGranularityProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes [(JSON..=) "Types" Prelude.<$> types]))
+instance Property "Types" DocumentExtractionGranularityProperty where
+  type PropertyType "Types" DocumentExtractionGranularityProperty = ValueList Prelude.Text
+  set newValue DocumentExtractionGranularityProperty {..}
+    = DocumentExtractionGranularityProperty
+        {types = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/DataAutomationProject/DocumentExtractionGranularityProperty.hs-boot b/gen/Stratosphere/Bedrock/DataAutomationProject/DocumentExtractionGranularityProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataAutomationProject/DocumentExtractionGranularityProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.DataAutomationProject.DocumentExtractionGranularityProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data DocumentExtractionGranularityProperty :: Prelude.Type
+instance ToResourceProperties DocumentExtractionGranularityProperty
+instance Prelude.Eq DocumentExtractionGranularityProperty
+instance Prelude.Show DocumentExtractionGranularityProperty
+instance JSON.ToJSON DocumentExtractionGranularityProperty
diff --git a/gen/Stratosphere/Bedrock/DataAutomationProject/DocumentOutputAdditionalFileFormatProperty.hs b/gen/Stratosphere/Bedrock/DataAutomationProject/DocumentOutputAdditionalFileFormatProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataAutomationProject/DocumentOutputAdditionalFileFormatProperty.hs
@@ -0,0 +1,33 @@
+module Stratosphere.Bedrock.DataAutomationProject.DocumentOutputAdditionalFileFormatProperty (
+        DocumentOutputAdditionalFileFormatProperty(..),
+        mkDocumentOutputAdditionalFileFormatProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data DocumentOutputAdditionalFileFormatProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-documentoutputadditionalfileformat.html>
+    DocumentOutputAdditionalFileFormatProperty {haddock_workaround_ :: (),
+                                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-documentoutputadditionalfileformat.html#cfn-bedrock-dataautomationproject-documentoutputadditionalfileformat-state>
+                                                state :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkDocumentOutputAdditionalFileFormatProperty ::
+  Value Prelude.Text -> DocumentOutputAdditionalFileFormatProperty
+mkDocumentOutputAdditionalFileFormatProperty state
+  = DocumentOutputAdditionalFileFormatProperty
+      {haddock_workaround_ = (), state = state}
+instance ToResourceProperties DocumentOutputAdditionalFileFormatProperty where
+  toResourceProperties
+    DocumentOutputAdditionalFileFormatProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::DataAutomationProject.DocumentOutputAdditionalFileFormat",
+         supportsTags = Prelude.False, properties = ["State" JSON..= state]}
+instance JSON.ToJSON DocumentOutputAdditionalFileFormatProperty where
+  toJSON DocumentOutputAdditionalFileFormatProperty {..}
+    = JSON.object ["State" JSON..= state]
+instance Property "State" DocumentOutputAdditionalFileFormatProperty where
+  type PropertyType "State" DocumentOutputAdditionalFileFormatProperty = Value Prelude.Text
+  set newValue DocumentOutputAdditionalFileFormatProperty {..}
+    = DocumentOutputAdditionalFileFormatProperty {state = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/DataAutomationProject/DocumentOutputAdditionalFileFormatProperty.hs-boot b/gen/Stratosphere/Bedrock/DataAutomationProject/DocumentOutputAdditionalFileFormatProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataAutomationProject/DocumentOutputAdditionalFileFormatProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.DataAutomationProject.DocumentOutputAdditionalFileFormatProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data DocumentOutputAdditionalFileFormatProperty :: Prelude.Type
+instance ToResourceProperties DocumentOutputAdditionalFileFormatProperty
+instance Prelude.Eq DocumentOutputAdditionalFileFormatProperty
+instance Prelude.Show DocumentOutputAdditionalFileFormatProperty
+instance JSON.ToJSON DocumentOutputAdditionalFileFormatProperty
diff --git a/gen/Stratosphere/Bedrock/DataAutomationProject/DocumentOutputFormatProperty.hs b/gen/Stratosphere/Bedrock/DataAutomationProject/DocumentOutputFormatProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataAutomationProject/DocumentOutputFormatProperty.hs
@@ -0,0 +1,47 @@
+module Stratosphere.Bedrock.DataAutomationProject.DocumentOutputFormatProperty (
+        module Exports, DocumentOutputFormatProperty(..),
+        mkDocumentOutputFormatProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.DataAutomationProject.DocumentOutputAdditionalFileFormatProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.DataAutomationProject.DocumentOutputTextFormatProperty as Exports
+import Stratosphere.ResourceProperties
+data DocumentOutputFormatProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-documentoutputformat.html>
+    DocumentOutputFormatProperty {haddock_workaround_ :: (),
+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-documentoutputformat.html#cfn-bedrock-dataautomationproject-documentoutputformat-additionalfileformat>
+                                  additionalFileFormat :: DocumentOutputAdditionalFileFormatProperty,
+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-documentoutputformat.html#cfn-bedrock-dataautomationproject-documentoutputformat-textformat>
+                                  textFormat :: DocumentOutputTextFormatProperty}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkDocumentOutputFormatProperty ::
+  DocumentOutputAdditionalFileFormatProperty
+  -> DocumentOutputTextFormatProperty -> DocumentOutputFormatProperty
+mkDocumentOutputFormatProperty additionalFileFormat textFormat
+  = DocumentOutputFormatProperty
+      {haddock_workaround_ = (),
+       additionalFileFormat = additionalFileFormat,
+       textFormat = textFormat}
+instance ToResourceProperties DocumentOutputFormatProperty where
+  toResourceProperties DocumentOutputFormatProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::DataAutomationProject.DocumentOutputFormat",
+         supportsTags = Prelude.False,
+         properties = ["AdditionalFileFormat" JSON..= additionalFileFormat,
+                       "TextFormat" JSON..= textFormat]}
+instance JSON.ToJSON DocumentOutputFormatProperty where
+  toJSON DocumentOutputFormatProperty {..}
+    = JSON.object
+        ["AdditionalFileFormat" JSON..= additionalFileFormat,
+         "TextFormat" JSON..= textFormat]
+instance Property "AdditionalFileFormat" DocumentOutputFormatProperty where
+  type PropertyType "AdditionalFileFormat" DocumentOutputFormatProperty = DocumentOutputAdditionalFileFormatProperty
+  set newValue DocumentOutputFormatProperty {..}
+    = DocumentOutputFormatProperty
+        {additionalFileFormat = newValue, ..}
+instance Property "TextFormat" DocumentOutputFormatProperty where
+  type PropertyType "TextFormat" DocumentOutputFormatProperty = DocumentOutputTextFormatProperty
+  set newValue DocumentOutputFormatProperty {..}
+    = DocumentOutputFormatProperty {textFormat = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/DataAutomationProject/DocumentOutputFormatProperty.hs-boot b/gen/Stratosphere/Bedrock/DataAutomationProject/DocumentOutputFormatProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataAutomationProject/DocumentOutputFormatProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.DataAutomationProject.DocumentOutputFormatProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data DocumentOutputFormatProperty :: Prelude.Type
+instance ToResourceProperties DocumentOutputFormatProperty
+instance Prelude.Eq DocumentOutputFormatProperty
+instance Prelude.Show DocumentOutputFormatProperty
+instance JSON.ToJSON DocumentOutputFormatProperty
diff --git a/gen/Stratosphere/Bedrock/DataAutomationProject/DocumentOutputTextFormatProperty.hs b/gen/Stratosphere/Bedrock/DataAutomationProject/DocumentOutputTextFormatProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataAutomationProject/DocumentOutputTextFormatProperty.hs
@@ -0,0 +1,37 @@
+module Stratosphere.Bedrock.DataAutomationProject.DocumentOutputTextFormatProperty (
+        DocumentOutputTextFormatProperty(..),
+        mkDocumentOutputTextFormatProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data DocumentOutputTextFormatProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-documentoutputtextformat.html>
+    DocumentOutputTextFormatProperty {haddock_workaround_ :: (),
+                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-documentoutputtextformat.html#cfn-bedrock-dataautomationproject-documentoutputtextformat-types>
+                                      types :: (Prelude.Maybe (ValueList Prelude.Text))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkDocumentOutputTextFormatProperty ::
+  DocumentOutputTextFormatProperty
+mkDocumentOutputTextFormatProperty
+  = DocumentOutputTextFormatProperty
+      {haddock_workaround_ = (), types = Prelude.Nothing}
+instance ToResourceProperties DocumentOutputTextFormatProperty where
+  toResourceProperties DocumentOutputTextFormatProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::DataAutomationProject.DocumentOutputTextFormat",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes [(JSON..=) "Types" Prelude.<$> types])}
+instance JSON.ToJSON DocumentOutputTextFormatProperty where
+  toJSON DocumentOutputTextFormatProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes [(JSON..=) "Types" Prelude.<$> types]))
+instance Property "Types" DocumentOutputTextFormatProperty where
+  type PropertyType "Types" DocumentOutputTextFormatProperty = ValueList Prelude.Text
+  set newValue DocumentOutputTextFormatProperty {..}
+    = DocumentOutputTextFormatProperty
+        {types = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/DataAutomationProject/DocumentOutputTextFormatProperty.hs-boot b/gen/Stratosphere/Bedrock/DataAutomationProject/DocumentOutputTextFormatProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataAutomationProject/DocumentOutputTextFormatProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.DataAutomationProject.DocumentOutputTextFormatProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data DocumentOutputTextFormatProperty :: Prelude.Type
+instance ToResourceProperties DocumentOutputTextFormatProperty
+instance Prelude.Eq DocumentOutputTextFormatProperty
+instance Prelude.Show DocumentOutputTextFormatProperty
+instance JSON.ToJSON DocumentOutputTextFormatProperty
diff --git a/gen/Stratosphere/Bedrock/DataAutomationProject/DocumentOverrideConfigurationProperty.hs b/gen/Stratosphere/Bedrock/DataAutomationProject/DocumentOverrideConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataAutomationProject/DocumentOverrideConfigurationProperty.hs
@@ -0,0 +1,50 @@
+module Stratosphere.Bedrock.DataAutomationProject.DocumentOverrideConfigurationProperty (
+        module Exports, DocumentOverrideConfigurationProperty(..),
+        mkDocumentOverrideConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.DataAutomationProject.ModalityProcessingConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.DataAutomationProject.SplitterConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+data DocumentOverrideConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-documentoverrideconfiguration.html>
+    DocumentOverrideConfigurationProperty {haddock_workaround_ :: (),
+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-documentoverrideconfiguration.html#cfn-bedrock-dataautomationproject-documentoverrideconfiguration-modalityprocessing>
+                                           modalityProcessing :: (Prelude.Maybe ModalityProcessingConfigurationProperty),
+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-documentoverrideconfiguration.html#cfn-bedrock-dataautomationproject-documentoverrideconfiguration-splitter>
+                                           splitter :: (Prelude.Maybe SplitterConfigurationProperty)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkDocumentOverrideConfigurationProperty ::
+  DocumentOverrideConfigurationProperty
+mkDocumentOverrideConfigurationProperty
+  = DocumentOverrideConfigurationProperty
+      {haddock_workaround_ = (), modalityProcessing = Prelude.Nothing,
+       splitter = Prelude.Nothing}
+instance ToResourceProperties DocumentOverrideConfigurationProperty where
+  toResourceProperties DocumentOverrideConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::DataAutomationProject.DocumentOverrideConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "ModalityProcessing" Prelude.<$> modalityProcessing,
+                            (JSON..=) "Splitter" Prelude.<$> splitter])}
+instance JSON.ToJSON DocumentOverrideConfigurationProperty where
+  toJSON DocumentOverrideConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "ModalityProcessing" Prelude.<$> modalityProcessing,
+               (JSON..=) "Splitter" Prelude.<$> splitter]))
+instance Property "ModalityProcessing" DocumentOverrideConfigurationProperty where
+  type PropertyType "ModalityProcessing" DocumentOverrideConfigurationProperty = ModalityProcessingConfigurationProperty
+  set newValue DocumentOverrideConfigurationProperty {..}
+    = DocumentOverrideConfigurationProperty
+        {modalityProcessing = Prelude.pure newValue, ..}
+instance Property "Splitter" DocumentOverrideConfigurationProperty where
+  type PropertyType "Splitter" DocumentOverrideConfigurationProperty = SplitterConfigurationProperty
+  set newValue DocumentOverrideConfigurationProperty {..}
+    = DocumentOverrideConfigurationProperty
+        {splitter = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/DataAutomationProject/DocumentOverrideConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/DataAutomationProject/DocumentOverrideConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataAutomationProject/DocumentOverrideConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.DataAutomationProject.DocumentOverrideConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data DocumentOverrideConfigurationProperty :: Prelude.Type
+instance ToResourceProperties DocumentOverrideConfigurationProperty
+instance Prelude.Eq DocumentOverrideConfigurationProperty
+instance Prelude.Show DocumentOverrideConfigurationProperty
+instance JSON.ToJSON DocumentOverrideConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/DataAutomationProject/DocumentStandardExtractionProperty.hs b/gen/Stratosphere/Bedrock/DataAutomationProject/DocumentStandardExtractionProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataAutomationProject/DocumentStandardExtractionProperty.hs
@@ -0,0 +1,46 @@
+module Stratosphere.Bedrock.DataAutomationProject.DocumentStandardExtractionProperty (
+        module Exports, DocumentStandardExtractionProperty(..),
+        mkDocumentStandardExtractionProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.DataAutomationProject.DocumentBoundingBoxProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.DataAutomationProject.DocumentExtractionGranularityProperty as Exports
+import Stratosphere.ResourceProperties
+data DocumentStandardExtractionProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-documentstandardextraction.html>
+    DocumentStandardExtractionProperty {haddock_workaround_ :: (),
+                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-documentstandardextraction.html#cfn-bedrock-dataautomationproject-documentstandardextraction-boundingbox>
+                                        boundingBox :: DocumentBoundingBoxProperty,
+                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-documentstandardextraction.html#cfn-bedrock-dataautomationproject-documentstandardextraction-granularity>
+                                        granularity :: DocumentExtractionGranularityProperty}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkDocumentStandardExtractionProperty ::
+  DocumentBoundingBoxProperty
+  -> DocumentExtractionGranularityProperty
+     -> DocumentStandardExtractionProperty
+mkDocumentStandardExtractionProperty boundingBox granularity
+  = DocumentStandardExtractionProperty
+      {haddock_workaround_ = (), boundingBox = boundingBox,
+       granularity = granularity}
+instance ToResourceProperties DocumentStandardExtractionProperty where
+  toResourceProperties DocumentStandardExtractionProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::DataAutomationProject.DocumentStandardExtraction",
+         supportsTags = Prelude.False,
+         properties = ["BoundingBox" JSON..= boundingBox,
+                       "Granularity" JSON..= granularity]}
+instance JSON.ToJSON DocumentStandardExtractionProperty where
+  toJSON DocumentStandardExtractionProperty {..}
+    = JSON.object
+        ["BoundingBox" JSON..= boundingBox,
+         "Granularity" JSON..= granularity]
+instance Property "BoundingBox" DocumentStandardExtractionProperty where
+  type PropertyType "BoundingBox" DocumentStandardExtractionProperty = DocumentBoundingBoxProperty
+  set newValue DocumentStandardExtractionProperty {..}
+    = DocumentStandardExtractionProperty {boundingBox = newValue, ..}
+instance Property "Granularity" DocumentStandardExtractionProperty where
+  type PropertyType "Granularity" DocumentStandardExtractionProperty = DocumentExtractionGranularityProperty
+  set newValue DocumentStandardExtractionProperty {..}
+    = DocumentStandardExtractionProperty {granularity = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/DataAutomationProject/DocumentStandardExtractionProperty.hs-boot b/gen/Stratosphere/Bedrock/DataAutomationProject/DocumentStandardExtractionProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataAutomationProject/DocumentStandardExtractionProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.DataAutomationProject.DocumentStandardExtractionProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data DocumentStandardExtractionProperty :: Prelude.Type
+instance ToResourceProperties DocumentStandardExtractionProperty
+instance Prelude.Eq DocumentStandardExtractionProperty
+instance Prelude.Show DocumentStandardExtractionProperty
+instance JSON.ToJSON DocumentStandardExtractionProperty
diff --git a/gen/Stratosphere/Bedrock/DataAutomationProject/DocumentStandardGenerativeFieldProperty.hs b/gen/Stratosphere/Bedrock/DataAutomationProject/DocumentStandardGenerativeFieldProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataAutomationProject/DocumentStandardGenerativeFieldProperty.hs
@@ -0,0 +1,32 @@
+module Stratosphere.Bedrock.DataAutomationProject.DocumentStandardGenerativeFieldProperty (
+        DocumentStandardGenerativeFieldProperty(..),
+        mkDocumentStandardGenerativeFieldProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data DocumentStandardGenerativeFieldProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-documentstandardgenerativefield.html>
+    DocumentStandardGenerativeFieldProperty {haddock_workaround_ :: (),
+                                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-documentstandardgenerativefield.html#cfn-bedrock-dataautomationproject-documentstandardgenerativefield-state>
+                                             state :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkDocumentStandardGenerativeFieldProperty ::
+  Value Prelude.Text -> DocumentStandardGenerativeFieldProperty
+mkDocumentStandardGenerativeFieldProperty state
+  = DocumentStandardGenerativeFieldProperty
+      {haddock_workaround_ = (), state = state}
+instance ToResourceProperties DocumentStandardGenerativeFieldProperty where
+  toResourceProperties DocumentStandardGenerativeFieldProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::DataAutomationProject.DocumentStandardGenerativeField",
+         supportsTags = Prelude.False, properties = ["State" JSON..= state]}
+instance JSON.ToJSON DocumentStandardGenerativeFieldProperty where
+  toJSON DocumentStandardGenerativeFieldProperty {..}
+    = JSON.object ["State" JSON..= state]
+instance Property "State" DocumentStandardGenerativeFieldProperty where
+  type PropertyType "State" DocumentStandardGenerativeFieldProperty = Value Prelude.Text
+  set newValue DocumentStandardGenerativeFieldProperty {..}
+    = DocumentStandardGenerativeFieldProperty {state = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/DataAutomationProject/DocumentStandardGenerativeFieldProperty.hs-boot b/gen/Stratosphere/Bedrock/DataAutomationProject/DocumentStandardGenerativeFieldProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataAutomationProject/DocumentStandardGenerativeFieldProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.DataAutomationProject.DocumentStandardGenerativeFieldProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data DocumentStandardGenerativeFieldProperty :: Prelude.Type
+instance ToResourceProperties DocumentStandardGenerativeFieldProperty
+instance Prelude.Eq DocumentStandardGenerativeFieldProperty
+instance Prelude.Show DocumentStandardGenerativeFieldProperty
+instance JSON.ToJSON DocumentStandardGenerativeFieldProperty
diff --git a/gen/Stratosphere/Bedrock/DataAutomationProject/DocumentStandardOutputConfigurationProperty.hs b/gen/Stratosphere/Bedrock/DataAutomationProject/DocumentStandardOutputConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataAutomationProject/DocumentStandardOutputConfigurationProperty.hs
@@ -0,0 +1,61 @@
+module Stratosphere.Bedrock.DataAutomationProject.DocumentStandardOutputConfigurationProperty (
+        module Exports, DocumentStandardOutputConfigurationProperty(..),
+        mkDocumentStandardOutputConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.DataAutomationProject.DocumentOutputFormatProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.DataAutomationProject.DocumentStandardExtractionProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.DataAutomationProject.DocumentStandardGenerativeFieldProperty as Exports
+import Stratosphere.ResourceProperties
+data DocumentStandardOutputConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-documentstandardoutputconfiguration.html>
+    DocumentStandardOutputConfigurationProperty {haddock_workaround_ :: (),
+                                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-documentstandardoutputconfiguration.html#cfn-bedrock-dataautomationproject-documentstandardoutputconfiguration-extraction>
+                                                 extraction :: (Prelude.Maybe DocumentStandardExtractionProperty),
+                                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-documentstandardoutputconfiguration.html#cfn-bedrock-dataautomationproject-documentstandardoutputconfiguration-generativefield>
+                                                 generativeField :: (Prelude.Maybe DocumentStandardGenerativeFieldProperty),
+                                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-documentstandardoutputconfiguration.html#cfn-bedrock-dataautomationproject-documentstandardoutputconfiguration-outputformat>
+                                                 outputFormat :: (Prelude.Maybe DocumentOutputFormatProperty)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkDocumentStandardOutputConfigurationProperty ::
+  DocumentStandardOutputConfigurationProperty
+mkDocumentStandardOutputConfigurationProperty
+  = DocumentStandardOutputConfigurationProperty
+      {haddock_workaround_ = (), extraction = Prelude.Nothing,
+       generativeField = Prelude.Nothing, outputFormat = Prelude.Nothing}
+instance ToResourceProperties DocumentStandardOutputConfigurationProperty where
+  toResourceProperties
+    DocumentStandardOutputConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::DataAutomationProject.DocumentStandardOutputConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "Extraction" Prelude.<$> extraction,
+                            (JSON..=) "GenerativeField" Prelude.<$> generativeField,
+                            (JSON..=) "OutputFormat" Prelude.<$> outputFormat])}
+instance JSON.ToJSON DocumentStandardOutputConfigurationProperty where
+  toJSON DocumentStandardOutputConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "Extraction" Prelude.<$> extraction,
+               (JSON..=) "GenerativeField" Prelude.<$> generativeField,
+               (JSON..=) "OutputFormat" Prelude.<$> outputFormat]))
+instance Property "Extraction" DocumentStandardOutputConfigurationProperty where
+  type PropertyType "Extraction" DocumentStandardOutputConfigurationProperty = DocumentStandardExtractionProperty
+  set newValue DocumentStandardOutputConfigurationProperty {..}
+    = DocumentStandardOutputConfigurationProperty
+        {extraction = Prelude.pure newValue, ..}
+instance Property "GenerativeField" DocumentStandardOutputConfigurationProperty where
+  type PropertyType "GenerativeField" DocumentStandardOutputConfigurationProperty = DocumentStandardGenerativeFieldProperty
+  set newValue DocumentStandardOutputConfigurationProperty {..}
+    = DocumentStandardOutputConfigurationProperty
+        {generativeField = Prelude.pure newValue, ..}
+instance Property "OutputFormat" DocumentStandardOutputConfigurationProperty where
+  type PropertyType "OutputFormat" DocumentStandardOutputConfigurationProperty = DocumentOutputFormatProperty
+  set newValue DocumentStandardOutputConfigurationProperty {..}
+    = DocumentStandardOutputConfigurationProperty
+        {outputFormat = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/DataAutomationProject/DocumentStandardOutputConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/DataAutomationProject/DocumentStandardOutputConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataAutomationProject/DocumentStandardOutputConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.DataAutomationProject.DocumentStandardOutputConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data DocumentStandardOutputConfigurationProperty :: Prelude.Type
+instance ToResourceProperties DocumentStandardOutputConfigurationProperty
+instance Prelude.Eq DocumentStandardOutputConfigurationProperty
+instance Prelude.Show DocumentStandardOutputConfigurationProperty
+instance JSON.ToJSON DocumentStandardOutputConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/DataAutomationProject/ImageBoundingBoxProperty.hs b/gen/Stratosphere/Bedrock/DataAutomationProject/ImageBoundingBoxProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataAutomationProject/ImageBoundingBoxProperty.hs
@@ -0,0 +1,31 @@
+module Stratosphere.Bedrock.DataAutomationProject.ImageBoundingBoxProperty (
+        ImageBoundingBoxProperty(..), mkImageBoundingBoxProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data ImageBoundingBoxProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-imageboundingbox.html>
+    ImageBoundingBoxProperty {haddock_workaround_ :: (),
+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-imageboundingbox.html#cfn-bedrock-dataautomationproject-imageboundingbox-state>
+                              state :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkImageBoundingBoxProperty ::
+  Value Prelude.Text -> ImageBoundingBoxProperty
+mkImageBoundingBoxProperty state
+  = ImageBoundingBoxProperty
+      {haddock_workaround_ = (), state = state}
+instance ToResourceProperties ImageBoundingBoxProperty where
+  toResourceProperties ImageBoundingBoxProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::DataAutomationProject.ImageBoundingBox",
+         supportsTags = Prelude.False, properties = ["State" JSON..= state]}
+instance JSON.ToJSON ImageBoundingBoxProperty where
+  toJSON ImageBoundingBoxProperty {..}
+    = JSON.object ["State" JSON..= state]
+instance Property "State" ImageBoundingBoxProperty where
+  type PropertyType "State" ImageBoundingBoxProperty = Value Prelude.Text
+  set newValue ImageBoundingBoxProperty {..}
+    = ImageBoundingBoxProperty {state = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/DataAutomationProject/ImageBoundingBoxProperty.hs-boot b/gen/Stratosphere/Bedrock/DataAutomationProject/ImageBoundingBoxProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataAutomationProject/ImageBoundingBoxProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.DataAutomationProject.ImageBoundingBoxProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data ImageBoundingBoxProperty :: Prelude.Type
+instance ToResourceProperties ImageBoundingBoxProperty
+instance Prelude.Eq ImageBoundingBoxProperty
+instance Prelude.Show ImageBoundingBoxProperty
+instance JSON.ToJSON ImageBoundingBoxProperty
diff --git a/gen/Stratosphere/Bedrock/DataAutomationProject/ImageExtractionCategoryProperty.hs b/gen/Stratosphere/Bedrock/DataAutomationProject/ImageExtractionCategoryProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataAutomationProject/ImageExtractionCategoryProperty.hs
@@ -0,0 +1,47 @@
+module Stratosphere.Bedrock.DataAutomationProject.ImageExtractionCategoryProperty (
+        ImageExtractionCategoryProperty(..),
+        mkImageExtractionCategoryProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data ImageExtractionCategoryProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-imageextractioncategory.html>
+    ImageExtractionCategoryProperty {haddock_workaround_ :: (),
+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-imageextractioncategory.html#cfn-bedrock-dataautomationproject-imageextractioncategory-state>
+                                     state :: (Value Prelude.Text),
+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-imageextractioncategory.html#cfn-bedrock-dataautomationproject-imageextractioncategory-types>
+                                     types :: (Prelude.Maybe (ValueList Prelude.Text))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkImageExtractionCategoryProperty ::
+  Value Prelude.Text -> ImageExtractionCategoryProperty
+mkImageExtractionCategoryProperty state
+  = ImageExtractionCategoryProperty
+      {haddock_workaround_ = (), state = state, types = Prelude.Nothing}
+instance ToResourceProperties ImageExtractionCategoryProperty where
+  toResourceProperties ImageExtractionCategoryProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::DataAutomationProject.ImageExtractionCategory",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["State" JSON..= state]
+                           (Prelude.catMaybes [(JSON..=) "Types" Prelude.<$> types]))}
+instance JSON.ToJSON ImageExtractionCategoryProperty where
+  toJSON ImageExtractionCategoryProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["State" JSON..= state]
+              (Prelude.catMaybes [(JSON..=) "Types" Prelude.<$> types])))
+instance Property "State" ImageExtractionCategoryProperty where
+  type PropertyType "State" ImageExtractionCategoryProperty = Value Prelude.Text
+  set newValue ImageExtractionCategoryProperty {..}
+    = ImageExtractionCategoryProperty {state = newValue, ..}
+instance Property "Types" ImageExtractionCategoryProperty where
+  type PropertyType "Types" ImageExtractionCategoryProperty = ValueList Prelude.Text
+  set newValue ImageExtractionCategoryProperty {..}
+    = ImageExtractionCategoryProperty
+        {types = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/DataAutomationProject/ImageExtractionCategoryProperty.hs-boot b/gen/Stratosphere/Bedrock/DataAutomationProject/ImageExtractionCategoryProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataAutomationProject/ImageExtractionCategoryProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.DataAutomationProject.ImageExtractionCategoryProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data ImageExtractionCategoryProperty :: Prelude.Type
+instance ToResourceProperties ImageExtractionCategoryProperty
+instance Prelude.Eq ImageExtractionCategoryProperty
+instance Prelude.Show ImageExtractionCategoryProperty
+instance JSON.ToJSON ImageExtractionCategoryProperty
diff --git a/gen/Stratosphere/Bedrock/DataAutomationProject/ImageOverrideConfigurationProperty.hs b/gen/Stratosphere/Bedrock/DataAutomationProject/ImageOverrideConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataAutomationProject/ImageOverrideConfigurationProperty.hs
@@ -0,0 +1,39 @@
+module Stratosphere.Bedrock.DataAutomationProject.ImageOverrideConfigurationProperty (
+        module Exports, ImageOverrideConfigurationProperty(..),
+        mkImageOverrideConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.DataAutomationProject.ModalityProcessingConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+data ImageOverrideConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-imageoverrideconfiguration.html>
+    ImageOverrideConfigurationProperty {haddock_workaround_ :: (),
+                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-imageoverrideconfiguration.html#cfn-bedrock-dataautomationproject-imageoverrideconfiguration-modalityprocessing>
+                                        modalityProcessing :: (Prelude.Maybe ModalityProcessingConfigurationProperty)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkImageOverrideConfigurationProperty ::
+  ImageOverrideConfigurationProperty
+mkImageOverrideConfigurationProperty
+  = ImageOverrideConfigurationProperty
+      {haddock_workaround_ = (), modalityProcessing = Prelude.Nothing}
+instance ToResourceProperties ImageOverrideConfigurationProperty where
+  toResourceProperties ImageOverrideConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::DataAutomationProject.ImageOverrideConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "ModalityProcessing" Prelude.<$> modalityProcessing])}
+instance JSON.ToJSON ImageOverrideConfigurationProperty where
+  toJSON ImageOverrideConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "ModalityProcessing" Prelude.<$> modalityProcessing]))
+instance Property "ModalityProcessing" ImageOverrideConfigurationProperty where
+  type PropertyType "ModalityProcessing" ImageOverrideConfigurationProperty = ModalityProcessingConfigurationProperty
+  set newValue ImageOverrideConfigurationProperty {..}
+    = ImageOverrideConfigurationProperty
+        {modalityProcessing = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/DataAutomationProject/ImageOverrideConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/DataAutomationProject/ImageOverrideConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataAutomationProject/ImageOverrideConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.DataAutomationProject.ImageOverrideConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data ImageOverrideConfigurationProperty :: Prelude.Type
+instance ToResourceProperties ImageOverrideConfigurationProperty
+instance Prelude.Eq ImageOverrideConfigurationProperty
+instance Prelude.Show ImageOverrideConfigurationProperty
+instance JSON.ToJSON ImageOverrideConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/DataAutomationProject/ImageStandardExtractionProperty.hs b/gen/Stratosphere/Bedrock/DataAutomationProject/ImageStandardExtractionProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataAutomationProject/ImageStandardExtractionProperty.hs
@@ -0,0 +1,45 @@
+module Stratosphere.Bedrock.DataAutomationProject.ImageStandardExtractionProperty (
+        module Exports, ImageStandardExtractionProperty(..),
+        mkImageStandardExtractionProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.DataAutomationProject.ImageBoundingBoxProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.DataAutomationProject.ImageExtractionCategoryProperty as Exports
+import Stratosphere.ResourceProperties
+data ImageStandardExtractionProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-imagestandardextraction.html>
+    ImageStandardExtractionProperty {haddock_workaround_ :: (),
+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-imagestandardextraction.html#cfn-bedrock-dataautomationproject-imagestandardextraction-boundingbox>
+                                     boundingBox :: ImageBoundingBoxProperty,
+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-imagestandardextraction.html#cfn-bedrock-dataautomationproject-imagestandardextraction-category>
+                                     category :: ImageExtractionCategoryProperty}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkImageStandardExtractionProperty ::
+  ImageBoundingBoxProperty
+  -> ImageExtractionCategoryProperty
+     -> ImageStandardExtractionProperty
+mkImageStandardExtractionProperty boundingBox category
+  = ImageStandardExtractionProperty
+      {haddock_workaround_ = (), boundingBox = boundingBox,
+       category = category}
+instance ToResourceProperties ImageStandardExtractionProperty where
+  toResourceProperties ImageStandardExtractionProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::DataAutomationProject.ImageStandardExtraction",
+         supportsTags = Prelude.False,
+         properties = ["BoundingBox" JSON..= boundingBox,
+                       "Category" JSON..= category]}
+instance JSON.ToJSON ImageStandardExtractionProperty where
+  toJSON ImageStandardExtractionProperty {..}
+    = JSON.object
+        ["BoundingBox" JSON..= boundingBox, "Category" JSON..= category]
+instance Property "BoundingBox" ImageStandardExtractionProperty where
+  type PropertyType "BoundingBox" ImageStandardExtractionProperty = ImageBoundingBoxProperty
+  set newValue ImageStandardExtractionProperty {..}
+    = ImageStandardExtractionProperty {boundingBox = newValue, ..}
+instance Property "Category" ImageStandardExtractionProperty where
+  type PropertyType "Category" ImageStandardExtractionProperty = ImageExtractionCategoryProperty
+  set newValue ImageStandardExtractionProperty {..}
+    = ImageStandardExtractionProperty {category = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/DataAutomationProject/ImageStandardExtractionProperty.hs-boot b/gen/Stratosphere/Bedrock/DataAutomationProject/ImageStandardExtractionProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataAutomationProject/ImageStandardExtractionProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.DataAutomationProject.ImageStandardExtractionProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data ImageStandardExtractionProperty :: Prelude.Type
+instance ToResourceProperties ImageStandardExtractionProperty
+instance Prelude.Eq ImageStandardExtractionProperty
+instance Prelude.Show ImageStandardExtractionProperty
+instance JSON.ToJSON ImageStandardExtractionProperty
diff --git a/gen/Stratosphere/Bedrock/DataAutomationProject/ImageStandardGenerativeFieldProperty.hs b/gen/Stratosphere/Bedrock/DataAutomationProject/ImageStandardGenerativeFieldProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataAutomationProject/ImageStandardGenerativeFieldProperty.hs
@@ -0,0 +1,47 @@
+module Stratosphere.Bedrock.DataAutomationProject.ImageStandardGenerativeFieldProperty (
+        ImageStandardGenerativeFieldProperty(..),
+        mkImageStandardGenerativeFieldProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data ImageStandardGenerativeFieldProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-imagestandardgenerativefield.html>
+    ImageStandardGenerativeFieldProperty {haddock_workaround_ :: (),
+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-imagestandardgenerativefield.html#cfn-bedrock-dataautomationproject-imagestandardgenerativefield-state>
+                                          state :: (Value Prelude.Text),
+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-imagestandardgenerativefield.html#cfn-bedrock-dataautomationproject-imagestandardgenerativefield-types>
+                                          types :: (Prelude.Maybe (ValueList Prelude.Text))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkImageStandardGenerativeFieldProperty ::
+  Value Prelude.Text -> ImageStandardGenerativeFieldProperty
+mkImageStandardGenerativeFieldProperty state
+  = ImageStandardGenerativeFieldProperty
+      {haddock_workaround_ = (), state = state, types = Prelude.Nothing}
+instance ToResourceProperties ImageStandardGenerativeFieldProperty where
+  toResourceProperties ImageStandardGenerativeFieldProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::DataAutomationProject.ImageStandardGenerativeField",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["State" JSON..= state]
+                           (Prelude.catMaybes [(JSON..=) "Types" Prelude.<$> types]))}
+instance JSON.ToJSON ImageStandardGenerativeFieldProperty where
+  toJSON ImageStandardGenerativeFieldProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["State" JSON..= state]
+              (Prelude.catMaybes [(JSON..=) "Types" Prelude.<$> types])))
+instance Property "State" ImageStandardGenerativeFieldProperty where
+  type PropertyType "State" ImageStandardGenerativeFieldProperty = Value Prelude.Text
+  set newValue ImageStandardGenerativeFieldProperty {..}
+    = ImageStandardGenerativeFieldProperty {state = newValue, ..}
+instance Property "Types" ImageStandardGenerativeFieldProperty where
+  type PropertyType "Types" ImageStandardGenerativeFieldProperty = ValueList Prelude.Text
+  set newValue ImageStandardGenerativeFieldProperty {..}
+    = ImageStandardGenerativeFieldProperty
+        {types = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/DataAutomationProject/ImageStandardGenerativeFieldProperty.hs-boot b/gen/Stratosphere/Bedrock/DataAutomationProject/ImageStandardGenerativeFieldProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataAutomationProject/ImageStandardGenerativeFieldProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.DataAutomationProject.ImageStandardGenerativeFieldProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data ImageStandardGenerativeFieldProperty :: Prelude.Type
+instance ToResourceProperties ImageStandardGenerativeFieldProperty
+instance Prelude.Eq ImageStandardGenerativeFieldProperty
+instance Prelude.Show ImageStandardGenerativeFieldProperty
+instance JSON.ToJSON ImageStandardGenerativeFieldProperty
diff --git a/gen/Stratosphere/Bedrock/DataAutomationProject/ImageStandardOutputConfigurationProperty.hs b/gen/Stratosphere/Bedrock/DataAutomationProject/ImageStandardOutputConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataAutomationProject/ImageStandardOutputConfigurationProperty.hs
@@ -0,0 +1,50 @@
+module Stratosphere.Bedrock.DataAutomationProject.ImageStandardOutputConfigurationProperty (
+        module Exports, ImageStandardOutputConfigurationProperty(..),
+        mkImageStandardOutputConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.DataAutomationProject.ImageStandardExtractionProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.DataAutomationProject.ImageStandardGenerativeFieldProperty as Exports
+import Stratosphere.ResourceProperties
+data ImageStandardOutputConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-imagestandardoutputconfiguration.html>
+    ImageStandardOutputConfigurationProperty {haddock_workaround_ :: (),
+                                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-imagestandardoutputconfiguration.html#cfn-bedrock-dataautomationproject-imagestandardoutputconfiguration-extraction>
+                                              extraction :: (Prelude.Maybe ImageStandardExtractionProperty),
+                                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-imagestandardoutputconfiguration.html#cfn-bedrock-dataautomationproject-imagestandardoutputconfiguration-generativefield>
+                                              generativeField :: (Prelude.Maybe ImageStandardGenerativeFieldProperty)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkImageStandardOutputConfigurationProperty ::
+  ImageStandardOutputConfigurationProperty
+mkImageStandardOutputConfigurationProperty
+  = ImageStandardOutputConfigurationProperty
+      {haddock_workaround_ = (), extraction = Prelude.Nothing,
+       generativeField = Prelude.Nothing}
+instance ToResourceProperties ImageStandardOutputConfigurationProperty where
+  toResourceProperties ImageStandardOutputConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::DataAutomationProject.ImageStandardOutputConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "Extraction" Prelude.<$> extraction,
+                            (JSON..=) "GenerativeField" Prelude.<$> generativeField])}
+instance JSON.ToJSON ImageStandardOutputConfigurationProperty where
+  toJSON ImageStandardOutputConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "Extraction" Prelude.<$> extraction,
+               (JSON..=) "GenerativeField" Prelude.<$> generativeField]))
+instance Property "Extraction" ImageStandardOutputConfigurationProperty where
+  type PropertyType "Extraction" ImageStandardOutputConfigurationProperty = ImageStandardExtractionProperty
+  set newValue ImageStandardOutputConfigurationProperty {..}
+    = ImageStandardOutputConfigurationProperty
+        {extraction = Prelude.pure newValue, ..}
+instance Property "GenerativeField" ImageStandardOutputConfigurationProperty where
+  type PropertyType "GenerativeField" ImageStandardOutputConfigurationProperty = ImageStandardGenerativeFieldProperty
+  set newValue ImageStandardOutputConfigurationProperty {..}
+    = ImageStandardOutputConfigurationProperty
+        {generativeField = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/DataAutomationProject/ImageStandardOutputConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/DataAutomationProject/ImageStandardOutputConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataAutomationProject/ImageStandardOutputConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.DataAutomationProject.ImageStandardOutputConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data ImageStandardOutputConfigurationProperty :: Prelude.Type
+instance ToResourceProperties ImageStandardOutputConfigurationProperty
+instance Prelude.Eq ImageStandardOutputConfigurationProperty
+instance Prelude.Show ImageStandardOutputConfigurationProperty
+instance JSON.ToJSON ImageStandardOutputConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/DataAutomationProject/ModalityProcessingConfigurationProperty.hs b/gen/Stratosphere/Bedrock/DataAutomationProject/ModalityProcessingConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataAutomationProject/ModalityProcessingConfigurationProperty.hs
@@ -0,0 +1,37 @@
+module Stratosphere.Bedrock.DataAutomationProject.ModalityProcessingConfigurationProperty (
+        ModalityProcessingConfigurationProperty(..),
+        mkModalityProcessingConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data ModalityProcessingConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-modalityprocessingconfiguration.html>
+    ModalityProcessingConfigurationProperty {haddock_workaround_ :: (),
+                                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-modalityprocessingconfiguration.html#cfn-bedrock-dataautomationproject-modalityprocessingconfiguration-state>
+                                             state :: (Prelude.Maybe (Value Prelude.Text))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkModalityProcessingConfigurationProperty ::
+  ModalityProcessingConfigurationProperty
+mkModalityProcessingConfigurationProperty
+  = ModalityProcessingConfigurationProperty
+      {haddock_workaround_ = (), state = Prelude.Nothing}
+instance ToResourceProperties ModalityProcessingConfigurationProperty where
+  toResourceProperties ModalityProcessingConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::DataAutomationProject.ModalityProcessingConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes [(JSON..=) "State" Prelude.<$> state])}
+instance JSON.ToJSON ModalityProcessingConfigurationProperty where
+  toJSON ModalityProcessingConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes [(JSON..=) "State" Prelude.<$> state]))
+instance Property "State" ModalityProcessingConfigurationProperty where
+  type PropertyType "State" ModalityProcessingConfigurationProperty = Value Prelude.Text
+  set newValue ModalityProcessingConfigurationProperty {..}
+    = ModalityProcessingConfigurationProperty
+        {state = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/DataAutomationProject/ModalityProcessingConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/DataAutomationProject/ModalityProcessingConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataAutomationProject/ModalityProcessingConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.DataAutomationProject.ModalityProcessingConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data ModalityProcessingConfigurationProperty :: Prelude.Type
+instance ToResourceProperties ModalityProcessingConfigurationProperty
+instance Prelude.Eq ModalityProcessingConfigurationProperty
+instance Prelude.Show ModalityProcessingConfigurationProperty
+instance JSON.ToJSON ModalityProcessingConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/DataAutomationProject/ModalityRoutingConfigurationProperty.hs b/gen/Stratosphere/Bedrock/DataAutomationProject/ModalityRoutingConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataAutomationProject/ModalityRoutingConfigurationProperty.hs
@@ -0,0 +1,66 @@
+module Stratosphere.Bedrock.DataAutomationProject.ModalityRoutingConfigurationProperty (
+        ModalityRoutingConfigurationProperty(..),
+        mkModalityRoutingConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data ModalityRoutingConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-modalityroutingconfiguration.html>
+    ModalityRoutingConfigurationProperty {haddock_workaround_ :: (),
+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-modalityroutingconfiguration.html#cfn-bedrock-dataautomationproject-modalityroutingconfiguration-jpeg>
+                                          jpeg :: (Prelude.Maybe (Value Prelude.Text)),
+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-modalityroutingconfiguration.html#cfn-bedrock-dataautomationproject-modalityroutingconfiguration-mov>
+                                          mov :: (Prelude.Maybe (Value Prelude.Text)),
+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-modalityroutingconfiguration.html#cfn-bedrock-dataautomationproject-modalityroutingconfiguration-mp4>
+                                          mp4 :: (Prelude.Maybe (Value Prelude.Text)),
+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-modalityroutingconfiguration.html#cfn-bedrock-dataautomationproject-modalityroutingconfiguration-png>
+                                          png :: (Prelude.Maybe (Value Prelude.Text))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkModalityRoutingConfigurationProperty ::
+  ModalityRoutingConfigurationProperty
+mkModalityRoutingConfigurationProperty
+  = ModalityRoutingConfigurationProperty
+      {haddock_workaround_ = (), jpeg = Prelude.Nothing,
+       mov = Prelude.Nothing, mp4 = Prelude.Nothing,
+       png = Prelude.Nothing}
+instance ToResourceProperties ModalityRoutingConfigurationProperty where
+  toResourceProperties ModalityRoutingConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::DataAutomationProject.ModalityRoutingConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "jpeg" Prelude.<$> jpeg,
+                            (JSON..=) "mov" Prelude.<$> mov, (JSON..=) "mp4" Prelude.<$> mp4,
+                            (JSON..=) "png" Prelude.<$> png])}
+instance JSON.ToJSON ModalityRoutingConfigurationProperty where
+  toJSON ModalityRoutingConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "jpeg" Prelude.<$> jpeg,
+               (JSON..=) "mov" Prelude.<$> mov, (JSON..=) "mp4" Prelude.<$> mp4,
+               (JSON..=) "png" Prelude.<$> png]))
+instance Property "jpeg" ModalityRoutingConfigurationProperty where
+  type PropertyType "jpeg" ModalityRoutingConfigurationProperty = Value Prelude.Text
+  set newValue ModalityRoutingConfigurationProperty {..}
+    = ModalityRoutingConfigurationProperty
+        {jpeg = Prelude.pure newValue, ..}
+instance Property "mov" ModalityRoutingConfigurationProperty where
+  type PropertyType "mov" ModalityRoutingConfigurationProperty = Value Prelude.Text
+  set newValue ModalityRoutingConfigurationProperty {..}
+    = ModalityRoutingConfigurationProperty
+        {mov = Prelude.pure newValue, ..}
+instance Property "mp4" ModalityRoutingConfigurationProperty where
+  type PropertyType "mp4" ModalityRoutingConfigurationProperty = Value Prelude.Text
+  set newValue ModalityRoutingConfigurationProperty {..}
+    = ModalityRoutingConfigurationProperty
+        {mp4 = Prelude.pure newValue, ..}
+instance Property "png" ModalityRoutingConfigurationProperty where
+  type PropertyType "png" ModalityRoutingConfigurationProperty = Value Prelude.Text
+  set newValue ModalityRoutingConfigurationProperty {..}
+    = ModalityRoutingConfigurationProperty
+        {png = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/DataAutomationProject/ModalityRoutingConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/DataAutomationProject/ModalityRoutingConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataAutomationProject/ModalityRoutingConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.DataAutomationProject.ModalityRoutingConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data ModalityRoutingConfigurationProperty :: Prelude.Type
+instance ToResourceProperties ModalityRoutingConfigurationProperty
+instance Prelude.Eq ModalityRoutingConfigurationProperty
+instance Prelude.Show ModalityRoutingConfigurationProperty
+instance JSON.ToJSON ModalityRoutingConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/DataAutomationProject/OverrideConfigurationProperty.hs b/gen/Stratosphere/Bedrock/DataAutomationProject/OverrideConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataAutomationProject/OverrideConfigurationProperty.hs
@@ -0,0 +1,77 @@
+module Stratosphere.Bedrock.DataAutomationProject.OverrideConfigurationProperty (
+        module Exports, OverrideConfigurationProperty(..),
+        mkOverrideConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.DataAutomationProject.AudioOverrideConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.DataAutomationProject.DocumentOverrideConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.DataAutomationProject.ImageOverrideConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.DataAutomationProject.ModalityRoutingConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.DataAutomationProject.VideoOverrideConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+data OverrideConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-overrideconfiguration.html>
+    OverrideConfigurationProperty {haddock_workaround_ :: (),
+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-overrideconfiguration.html#cfn-bedrock-dataautomationproject-overrideconfiguration-audio>
+                                   audio :: (Prelude.Maybe AudioOverrideConfigurationProperty),
+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-overrideconfiguration.html#cfn-bedrock-dataautomationproject-overrideconfiguration-document>
+                                   document :: (Prelude.Maybe DocumentOverrideConfigurationProperty),
+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-overrideconfiguration.html#cfn-bedrock-dataautomationproject-overrideconfiguration-image>
+                                   image :: (Prelude.Maybe ImageOverrideConfigurationProperty),
+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-overrideconfiguration.html#cfn-bedrock-dataautomationproject-overrideconfiguration-modalityrouting>
+                                   modalityRouting :: (Prelude.Maybe ModalityRoutingConfigurationProperty),
+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-overrideconfiguration.html#cfn-bedrock-dataautomationproject-overrideconfiguration-video>
+                                   video :: (Prelude.Maybe VideoOverrideConfigurationProperty)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkOverrideConfigurationProperty :: OverrideConfigurationProperty
+mkOverrideConfigurationProperty
+  = OverrideConfigurationProperty
+      {haddock_workaround_ = (), audio = Prelude.Nothing,
+       document = Prelude.Nothing, image = Prelude.Nothing,
+       modalityRouting = Prelude.Nothing, video = Prelude.Nothing}
+instance ToResourceProperties OverrideConfigurationProperty where
+  toResourceProperties OverrideConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::DataAutomationProject.OverrideConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "Audio" Prelude.<$> audio,
+                            (JSON..=) "Document" Prelude.<$> document,
+                            (JSON..=) "Image" Prelude.<$> image,
+                            (JSON..=) "ModalityRouting" Prelude.<$> modalityRouting,
+                            (JSON..=) "Video" Prelude.<$> video])}
+instance JSON.ToJSON OverrideConfigurationProperty where
+  toJSON OverrideConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "Audio" Prelude.<$> audio,
+               (JSON..=) "Document" Prelude.<$> document,
+               (JSON..=) "Image" Prelude.<$> image,
+               (JSON..=) "ModalityRouting" Prelude.<$> modalityRouting,
+               (JSON..=) "Video" Prelude.<$> video]))
+instance Property "Audio" OverrideConfigurationProperty where
+  type PropertyType "Audio" OverrideConfigurationProperty = AudioOverrideConfigurationProperty
+  set newValue OverrideConfigurationProperty {..}
+    = OverrideConfigurationProperty {audio = Prelude.pure newValue, ..}
+instance Property "Document" OverrideConfigurationProperty where
+  type PropertyType "Document" OverrideConfigurationProperty = DocumentOverrideConfigurationProperty
+  set newValue OverrideConfigurationProperty {..}
+    = OverrideConfigurationProperty
+        {document = Prelude.pure newValue, ..}
+instance Property "Image" OverrideConfigurationProperty where
+  type PropertyType "Image" OverrideConfigurationProperty = ImageOverrideConfigurationProperty
+  set newValue OverrideConfigurationProperty {..}
+    = OverrideConfigurationProperty {image = Prelude.pure newValue, ..}
+instance Property "ModalityRouting" OverrideConfigurationProperty where
+  type PropertyType "ModalityRouting" OverrideConfigurationProperty = ModalityRoutingConfigurationProperty
+  set newValue OverrideConfigurationProperty {..}
+    = OverrideConfigurationProperty
+        {modalityRouting = Prelude.pure newValue, ..}
+instance Property "Video" OverrideConfigurationProperty where
+  type PropertyType "Video" OverrideConfigurationProperty = VideoOverrideConfigurationProperty
+  set newValue OverrideConfigurationProperty {..}
+    = OverrideConfigurationProperty {video = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/DataAutomationProject/OverrideConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/DataAutomationProject/OverrideConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataAutomationProject/OverrideConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.DataAutomationProject.OverrideConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data OverrideConfigurationProperty :: Prelude.Type
+instance ToResourceProperties OverrideConfigurationProperty
+instance Prelude.Eq OverrideConfigurationProperty
+instance Prelude.Show OverrideConfigurationProperty
+instance JSON.ToJSON OverrideConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/DataAutomationProject/SpeakerLabelingConfigurationProperty.hs b/gen/Stratosphere/Bedrock/DataAutomationProject/SpeakerLabelingConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataAutomationProject/SpeakerLabelingConfigurationProperty.hs
@@ -0,0 +1,32 @@
+module Stratosphere.Bedrock.DataAutomationProject.SpeakerLabelingConfigurationProperty (
+        SpeakerLabelingConfigurationProperty(..),
+        mkSpeakerLabelingConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data SpeakerLabelingConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-speakerlabelingconfiguration.html>
+    SpeakerLabelingConfigurationProperty {haddock_workaround_ :: (),
+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-speakerlabelingconfiguration.html#cfn-bedrock-dataautomationproject-speakerlabelingconfiguration-state>
+                                          state :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkSpeakerLabelingConfigurationProperty ::
+  Value Prelude.Text -> SpeakerLabelingConfigurationProperty
+mkSpeakerLabelingConfigurationProperty state
+  = SpeakerLabelingConfigurationProperty
+      {haddock_workaround_ = (), state = state}
+instance ToResourceProperties SpeakerLabelingConfigurationProperty where
+  toResourceProperties SpeakerLabelingConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::DataAutomationProject.SpeakerLabelingConfiguration",
+         supportsTags = Prelude.False, properties = ["State" JSON..= state]}
+instance JSON.ToJSON SpeakerLabelingConfigurationProperty where
+  toJSON SpeakerLabelingConfigurationProperty {..}
+    = JSON.object ["State" JSON..= state]
+instance Property "State" SpeakerLabelingConfigurationProperty where
+  type PropertyType "State" SpeakerLabelingConfigurationProperty = Value Prelude.Text
+  set newValue SpeakerLabelingConfigurationProperty {..}
+    = SpeakerLabelingConfigurationProperty {state = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/DataAutomationProject/SpeakerLabelingConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/DataAutomationProject/SpeakerLabelingConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataAutomationProject/SpeakerLabelingConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.DataAutomationProject.SpeakerLabelingConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data SpeakerLabelingConfigurationProperty :: Prelude.Type
+instance ToResourceProperties SpeakerLabelingConfigurationProperty
+instance Prelude.Eq SpeakerLabelingConfigurationProperty
+instance Prelude.Show SpeakerLabelingConfigurationProperty
+instance JSON.ToJSON SpeakerLabelingConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/DataAutomationProject/SplitterConfigurationProperty.hs b/gen/Stratosphere/Bedrock/DataAutomationProject/SplitterConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataAutomationProject/SplitterConfigurationProperty.hs
@@ -0,0 +1,34 @@
+module Stratosphere.Bedrock.DataAutomationProject.SplitterConfigurationProperty (
+        SplitterConfigurationProperty(..), mkSplitterConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data SplitterConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-splitterconfiguration.html>
+    SplitterConfigurationProperty {haddock_workaround_ :: (),
+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-splitterconfiguration.html#cfn-bedrock-dataautomationproject-splitterconfiguration-state>
+                                   state :: (Prelude.Maybe (Value Prelude.Text))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkSplitterConfigurationProperty :: SplitterConfigurationProperty
+mkSplitterConfigurationProperty
+  = SplitterConfigurationProperty
+      {haddock_workaround_ = (), state = Prelude.Nothing}
+instance ToResourceProperties SplitterConfigurationProperty where
+  toResourceProperties SplitterConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::DataAutomationProject.SplitterConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes [(JSON..=) "State" Prelude.<$> state])}
+instance JSON.ToJSON SplitterConfigurationProperty where
+  toJSON SplitterConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes [(JSON..=) "State" Prelude.<$> state]))
+instance Property "State" SplitterConfigurationProperty where
+  type PropertyType "State" SplitterConfigurationProperty = Value Prelude.Text
+  set newValue SplitterConfigurationProperty {..}
+    = SplitterConfigurationProperty {state = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/DataAutomationProject/SplitterConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/DataAutomationProject/SplitterConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataAutomationProject/SplitterConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.DataAutomationProject.SplitterConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data SplitterConfigurationProperty :: Prelude.Type
+instance ToResourceProperties SplitterConfigurationProperty
+instance Prelude.Eq SplitterConfigurationProperty
+instance Prelude.Show SplitterConfigurationProperty
+instance JSON.ToJSON SplitterConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/DataAutomationProject/StandardOutputConfigurationProperty.hs b/gen/Stratosphere/Bedrock/DataAutomationProject/StandardOutputConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataAutomationProject/StandardOutputConfigurationProperty.hs
@@ -0,0 +1,71 @@
+module Stratosphere.Bedrock.DataAutomationProject.StandardOutputConfigurationProperty (
+        module Exports, StandardOutputConfigurationProperty(..),
+        mkStandardOutputConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.DataAutomationProject.AudioStandardOutputConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.DataAutomationProject.DocumentStandardOutputConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.DataAutomationProject.ImageStandardOutputConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.DataAutomationProject.VideoStandardOutputConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+data StandardOutputConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-standardoutputconfiguration.html>
+    StandardOutputConfigurationProperty {haddock_workaround_ :: (),
+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-standardoutputconfiguration.html#cfn-bedrock-dataautomationproject-standardoutputconfiguration-audio>
+                                         audio :: (Prelude.Maybe AudioStandardOutputConfigurationProperty),
+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-standardoutputconfiguration.html#cfn-bedrock-dataautomationproject-standardoutputconfiguration-document>
+                                         document :: (Prelude.Maybe DocumentStandardOutputConfigurationProperty),
+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-standardoutputconfiguration.html#cfn-bedrock-dataautomationproject-standardoutputconfiguration-image>
+                                         image :: (Prelude.Maybe ImageStandardOutputConfigurationProperty),
+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-standardoutputconfiguration.html#cfn-bedrock-dataautomationproject-standardoutputconfiguration-video>
+                                         video :: (Prelude.Maybe VideoStandardOutputConfigurationProperty)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkStandardOutputConfigurationProperty ::
+  StandardOutputConfigurationProperty
+mkStandardOutputConfigurationProperty
+  = StandardOutputConfigurationProperty
+      {haddock_workaround_ = (), audio = Prelude.Nothing,
+       document = Prelude.Nothing, image = Prelude.Nothing,
+       video = Prelude.Nothing}
+instance ToResourceProperties StandardOutputConfigurationProperty where
+  toResourceProperties StandardOutputConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::DataAutomationProject.StandardOutputConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "Audio" Prelude.<$> audio,
+                            (JSON..=) "Document" Prelude.<$> document,
+                            (JSON..=) "Image" Prelude.<$> image,
+                            (JSON..=) "Video" Prelude.<$> video])}
+instance JSON.ToJSON StandardOutputConfigurationProperty where
+  toJSON StandardOutputConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "Audio" Prelude.<$> audio,
+               (JSON..=) "Document" Prelude.<$> document,
+               (JSON..=) "Image" Prelude.<$> image,
+               (JSON..=) "Video" Prelude.<$> video]))
+instance Property "Audio" StandardOutputConfigurationProperty where
+  type PropertyType "Audio" StandardOutputConfigurationProperty = AudioStandardOutputConfigurationProperty
+  set newValue StandardOutputConfigurationProperty {..}
+    = StandardOutputConfigurationProperty
+        {audio = Prelude.pure newValue, ..}
+instance Property "Document" StandardOutputConfigurationProperty where
+  type PropertyType "Document" StandardOutputConfigurationProperty = DocumentStandardOutputConfigurationProperty
+  set newValue StandardOutputConfigurationProperty {..}
+    = StandardOutputConfigurationProperty
+        {document = Prelude.pure newValue, ..}
+instance Property "Image" StandardOutputConfigurationProperty where
+  type PropertyType "Image" StandardOutputConfigurationProperty = ImageStandardOutputConfigurationProperty
+  set newValue StandardOutputConfigurationProperty {..}
+    = StandardOutputConfigurationProperty
+        {image = Prelude.pure newValue, ..}
+instance Property "Video" StandardOutputConfigurationProperty where
+  type PropertyType "Video" StandardOutputConfigurationProperty = VideoStandardOutputConfigurationProperty
+  set newValue StandardOutputConfigurationProperty {..}
+    = StandardOutputConfigurationProperty
+        {video = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/DataAutomationProject/StandardOutputConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/DataAutomationProject/StandardOutputConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataAutomationProject/StandardOutputConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.DataAutomationProject.StandardOutputConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data StandardOutputConfigurationProperty :: Prelude.Type
+instance ToResourceProperties StandardOutputConfigurationProperty
+instance Prelude.Eq StandardOutputConfigurationProperty
+instance Prelude.Show StandardOutputConfigurationProperty
+instance JSON.ToJSON StandardOutputConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/DataAutomationProject/TranscriptConfigurationProperty.hs b/gen/Stratosphere/Bedrock/DataAutomationProject/TranscriptConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataAutomationProject/TranscriptConfigurationProperty.hs
@@ -0,0 +1,50 @@
+module Stratosphere.Bedrock.DataAutomationProject.TranscriptConfigurationProperty (
+        module Exports, TranscriptConfigurationProperty(..),
+        mkTranscriptConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.DataAutomationProject.ChannelLabelingConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.DataAutomationProject.SpeakerLabelingConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+data TranscriptConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-transcriptconfiguration.html>
+    TranscriptConfigurationProperty {haddock_workaround_ :: (),
+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-transcriptconfiguration.html#cfn-bedrock-dataautomationproject-transcriptconfiguration-channellabeling>
+                                     channelLabeling :: (Prelude.Maybe ChannelLabelingConfigurationProperty),
+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-transcriptconfiguration.html#cfn-bedrock-dataautomationproject-transcriptconfiguration-speakerlabeling>
+                                     speakerLabeling :: (Prelude.Maybe SpeakerLabelingConfigurationProperty)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkTranscriptConfigurationProperty ::
+  TranscriptConfigurationProperty
+mkTranscriptConfigurationProperty
+  = TranscriptConfigurationProperty
+      {haddock_workaround_ = (), channelLabeling = Prelude.Nothing,
+       speakerLabeling = Prelude.Nothing}
+instance ToResourceProperties TranscriptConfigurationProperty where
+  toResourceProperties TranscriptConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::DataAutomationProject.TranscriptConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "ChannelLabeling" Prelude.<$> channelLabeling,
+                            (JSON..=) "SpeakerLabeling" Prelude.<$> speakerLabeling])}
+instance JSON.ToJSON TranscriptConfigurationProperty where
+  toJSON TranscriptConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "ChannelLabeling" Prelude.<$> channelLabeling,
+               (JSON..=) "SpeakerLabeling" Prelude.<$> speakerLabeling]))
+instance Property "ChannelLabeling" TranscriptConfigurationProperty where
+  type PropertyType "ChannelLabeling" TranscriptConfigurationProperty = ChannelLabelingConfigurationProperty
+  set newValue TranscriptConfigurationProperty {..}
+    = TranscriptConfigurationProperty
+        {channelLabeling = Prelude.pure newValue, ..}
+instance Property "SpeakerLabeling" TranscriptConfigurationProperty where
+  type PropertyType "SpeakerLabeling" TranscriptConfigurationProperty = SpeakerLabelingConfigurationProperty
+  set newValue TranscriptConfigurationProperty {..}
+    = TranscriptConfigurationProperty
+        {speakerLabeling = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/DataAutomationProject/TranscriptConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/DataAutomationProject/TranscriptConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataAutomationProject/TranscriptConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.DataAutomationProject.TranscriptConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data TranscriptConfigurationProperty :: Prelude.Type
+instance ToResourceProperties TranscriptConfigurationProperty
+instance Prelude.Eq TranscriptConfigurationProperty
+instance Prelude.Show TranscriptConfigurationProperty
+instance JSON.ToJSON TranscriptConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/DataAutomationProject/VideoBoundingBoxProperty.hs b/gen/Stratosphere/Bedrock/DataAutomationProject/VideoBoundingBoxProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataAutomationProject/VideoBoundingBoxProperty.hs
@@ -0,0 +1,31 @@
+module Stratosphere.Bedrock.DataAutomationProject.VideoBoundingBoxProperty (
+        VideoBoundingBoxProperty(..), mkVideoBoundingBoxProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data VideoBoundingBoxProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-videoboundingbox.html>
+    VideoBoundingBoxProperty {haddock_workaround_ :: (),
+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-videoboundingbox.html#cfn-bedrock-dataautomationproject-videoboundingbox-state>
+                              state :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkVideoBoundingBoxProperty ::
+  Value Prelude.Text -> VideoBoundingBoxProperty
+mkVideoBoundingBoxProperty state
+  = VideoBoundingBoxProperty
+      {haddock_workaround_ = (), state = state}
+instance ToResourceProperties VideoBoundingBoxProperty where
+  toResourceProperties VideoBoundingBoxProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::DataAutomationProject.VideoBoundingBox",
+         supportsTags = Prelude.False, properties = ["State" JSON..= state]}
+instance JSON.ToJSON VideoBoundingBoxProperty where
+  toJSON VideoBoundingBoxProperty {..}
+    = JSON.object ["State" JSON..= state]
+instance Property "State" VideoBoundingBoxProperty where
+  type PropertyType "State" VideoBoundingBoxProperty = Value Prelude.Text
+  set newValue VideoBoundingBoxProperty {..}
+    = VideoBoundingBoxProperty {state = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/DataAutomationProject/VideoBoundingBoxProperty.hs-boot b/gen/Stratosphere/Bedrock/DataAutomationProject/VideoBoundingBoxProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataAutomationProject/VideoBoundingBoxProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.DataAutomationProject.VideoBoundingBoxProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data VideoBoundingBoxProperty :: Prelude.Type
+instance ToResourceProperties VideoBoundingBoxProperty
+instance Prelude.Eq VideoBoundingBoxProperty
+instance Prelude.Show VideoBoundingBoxProperty
+instance JSON.ToJSON VideoBoundingBoxProperty
diff --git a/gen/Stratosphere/Bedrock/DataAutomationProject/VideoExtractionCategoryProperty.hs b/gen/Stratosphere/Bedrock/DataAutomationProject/VideoExtractionCategoryProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataAutomationProject/VideoExtractionCategoryProperty.hs
@@ -0,0 +1,47 @@
+module Stratosphere.Bedrock.DataAutomationProject.VideoExtractionCategoryProperty (
+        VideoExtractionCategoryProperty(..),
+        mkVideoExtractionCategoryProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data VideoExtractionCategoryProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-videoextractioncategory.html>
+    VideoExtractionCategoryProperty {haddock_workaround_ :: (),
+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-videoextractioncategory.html#cfn-bedrock-dataautomationproject-videoextractioncategory-state>
+                                     state :: (Value Prelude.Text),
+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-videoextractioncategory.html#cfn-bedrock-dataautomationproject-videoextractioncategory-types>
+                                     types :: (Prelude.Maybe (ValueList Prelude.Text))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkVideoExtractionCategoryProperty ::
+  Value Prelude.Text -> VideoExtractionCategoryProperty
+mkVideoExtractionCategoryProperty state
+  = VideoExtractionCategoryProperty
+      {haddock_workaround_ = (), state = state, types = Prelude.Nothing}
+instance ToResourceProperties VideoExtractionCategoryProperty where
+  toResourceProperties VideoExtractionCategoryProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::DataAutomationProject.VideoExtractionCategory",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["State" JSON..= state]
+                           (Prelude.catMaybes [(JSON..=) "Types" Prelude.<$> types]))}
+instance JSON.ToJSON VideoExtractionCategoryProperty where
+  toJSON VideoExtractionCategoryProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["State" JSON..= state]
+              (Prelude.catMaybes [(JSON..=) "Types" Prelude.<$> types])))
+instance Property "State" VideoExtractionCategoryProperty where
+  type PropertyType "State" VideoExtractionCategoryProperty = Value Prelude.Text
+  set newValue VideoExtractionCategoryProperty {..}
+    = VideoExtractionCategoryProperty {state = newValue, ..}
+instance Property "Types" VideoExtractionCategoryProperty where
+  type PropertyType "Types" VideoExtractionCategoryProperty = ValueList Prelude.Text
+  set newValue VideoExtractionCategoryProperty {..}
+    = VideoExtractionCategoryProperty
+        {types = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/DataAutomationProject/VideoExtractionCategoryProperty.hs-boot b/gen/Stratosphere/Bedrock/DataAutomationProject/VideoExtractionCategoryProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataAutomationProject/VideoExtractionCategoryProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.DataAutomationProject.VideoExtractionCategoryProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data VideoExtractionCategoryProperty :: Prelude.Type
+instance ToResourceProperties VideoExtractionCategoryProperty
+instance Prelude.Eq VideoExtractionCategoryProperty
+instance Prelude.Show VideoExtractionCategoryProperty
+instance JSON.ToJSON VideoExtractionCategoryProperty
diff --git a/gen/Stratosphere/Bedrock/DataAutomationProject/VideoOverrideConfigurationProperty.hs b/gen/Stratosphere/Bedrock/DataAutomationProject/VideoOverrideConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataAutomationProject/VideoOverrideConfigurationProperty.hs
@@ -0,0 +1,39 @@
+module Stratosphere.Bedrock.DataAutomationProject.VideoOverrideConfigurationProperty (
+        module Exports, VideoOverrideConfigurationProperty(..),
+        mkVideoOverrideConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.DataAutomationProject.ModalityProcessingConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+data VideoOverrideConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-videooverrideconfiguration.html>
+    VideoOverrideConfigurationProperty {haddock_workaround_ :: (),
+                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-videooverrideconfiguration.html#cfn-bedrock-dataautomationproject-videooverrideconfiguration-modalityprocessing>
+                                        modalityProcessing :: (Prelude.Maybe ModalityProcessingConfigurationProperty)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkVideoOverrideConfigurationProperty ::
+  VideoOverrideConfigurationProperty
+mkVideoOverrideConfigurationProperty
+  = VideoOverrideConfigurationProperty
+      {haddock_workaround_ = (), modalityProcessing = Prelude.Nothing}
+instance ToResourceProperties VideoOverrideConfigurationProperty where
+  toResourceProperties VideoOverrideConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::DataAutomationProject.VideoOverrideConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "ModalityProcessing" Prelude.<$> modalityProcessing])}
+instance JSON.ToJSON VideoOverrideConfigurationProperty where
+  toJSON VideoOverrideConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "ModalityProcessing" Prelude.<$> modalityProcessing]))
+instance Property "ModalityProcessing" VideoOverrideConfigurationProperty where
+  type PropertyType "ModalityProcessing" VideoOverrideConfigurationProperty = ModalityProcessingConfigurationProperty
+  set newValue VideoOverrideConfigurationProperty {..}
+    = VideoOverrideConfigurationProperty
+        {modalityProcessing = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/DataAutomationProject/VideoOverrideConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/DataAutomationProject/VideoOverrideConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataAutomationProject/VideoOverrideConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.DataAutomationProject.VideoOverrideConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data VideoOverrideConfigurationProperty :: Prelude.Type
+instance ToResourceProperties VideoOverrideConfigurationProperty
+instance Prelude.Eq VideoOverrideConfigurationProperty
+instance Prelude.Show VideoOverrideConfigurationProperty
+instance JSON.ToJSON VideoOverrideConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/DataAutomationProject/VideoStandardExtractionProperty.hs b/gen/Stratosphere/Bedrock/DataAutomationProject/VideoStandardExtractionProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataAutomationProject/VideoStandardExtractionProperty.hs
@@ -0,0 +1,45 @@
+module Stratosphere.Bedrock.DataAutomationProject.VideoStandardExtractionProperty (
+        module Exports, VideoStandardExtractionProperty(..),
+        mkVideoStandardExtractionProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.DataAutomationProject.VideoBoundingBoxProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.DataAutomationProject.VideoExtractionCategoryProperty as Exports
+import Stratosphere.ResourceProperties
+data VideoStandardExtractionProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-videostandardextraction.html>
+    VideoStandardExtractionProperty {haddock_workaround_ :: (),
+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-videostandardextraction.html#cfn-bedrock-dataautomationproject-videostandardextraction-boundingbox>
+                                     boundingBox :: VideoBoundingBoxProperty,
+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-videostandardextraction.html#cfn-bedrock-dataautomationproject-videostandardextraction-category>
+                                     category :: VideoExtractionCategoryProperty}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkVideoStandardExtractionProperty ::
+  VideoBoundingBoxProperty
+  -> VideoExtractionCategoryProperty
+     -> VideoStandardExtractionProperty
+mkVideoStandardExtractionProperty boundingBox category
+  = VideoStandardExtractionProperty
+      {haddock_workaround_ = (), boundingBox = boundingBox,
+       category = category}
+instance ToResourceProperties VideoStandardExtractionProperty where
+  toResourceProperties VideoStandardExtractionProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::DataAutomationProject.VideoStandardExtraction",
+         supportsTags = Prelude.False,
+         properties = ["BoundingBox" JSON..= boundingBox,
+                       "Category" JSON..= category]}
+instance JSON.ToJSON VideoStandardExtractionProperty where
+  toJSON VideoStandardExtractionProperty {..}
+    = JSON.object
+        ["BoundingBox" JSON..= boundingBox, "Category" JSON..= category]
+instance Property "BoundingBox" VideoStandardExtractionProperty where
+  type PropertyType "BoundingBox" VideoStandardExtractionProperty = VideoBoundingBoxProperty
+  set newValue VideoStandardExtractionProperty {..}
+    = VideoStandardExtractionProperty {boundingBox = newValue, ..}
+instance Property "Category" VideoStandardExtractionProperty where
+  type PropertyType "Category" VideoStandardExtractionProperty = VideoExtractionCategoryProperty
+  set newValue VideoStandardExtractionProperty {..}
+    = VideoStandardExtractionProperty {category = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/DataAutomationProject/VideoStandardExtractionProperty.hs-boot b/gen/Stratosphere/Bedrock/DataAutomationProject/VideoStandardExtractionProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataAutomationProject/VideoStandardExtractionProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.DataAutomationProject.VideoStandardExtractionProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data VideoStandardExtractionProperty :: Prelude.Type
+instance ToResourceProperties VideoStandardExtractionProperty
+instance Prelude.Eq VideoStandardExtractionProperty
+instance Prelude.Show VideoStandardExtractionProperty
+instance JSON.ToJSON VideoStandardExtractionProperty
diff --git a/gen/Stratosphere/Bedrock/DataAutomationProject/VideoStandardGenerativeFieldProperty.hs b/gen/Stratosphere/Bedrock/DataAutomationProject/VideoStandardGenerativeFieldProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataAutomationProject/VideoStandardGenerativeFieldProperty.hs
@@ -0,0 +1,47 @@
+module Stratosphere.Bedrock.DataAutomationProject.VideoStandardGenerativeFieldProperty (
+        VideoStandardGenerativeFieldProperty(..),
+        mkVideoStandardGenerativeFieldProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data VideoStandardGenerativeFieldProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-videostandardgenerativefield.html>
+    VideoStandardGenerativeFieldProperty {haddock_workaround_ :: (),
+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-videostandardgenerativefield.html#cfn-bedrock-dataautomationproject-videostandardgenerativefield-state>
+                                          state :: (Value Prelude.Text),
+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-videostandardgenerativefield.html#cfn-bedrock-dataautomationproject-videostandardgenerativefield-types>
+                                          types :: (Prelude.Maybe (ValueList Prelude.Text))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkVideoStandardGenerativeFieldProperty ::
+  Value Prelude.Text -> VideoStandardGenerativeFieldProperty
+mkVideoStandardGenerativeFieldProperty state
+  = VideoStandardGenerativeFieldProperty
+      {haddock_workaround_ = (), state = state, types = Prelude.Nothing}
+instance ToResourceProperties VideoStandardGenerativeFieldProperty where
+  toResourceProperties VideoStandardGenerativeFieldProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::DataAutomationProject.VideoStandardGenerativeField",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["State" JSON..= state]
+                           (Prelude.catMaybes [(JSON..=) "Types" Prelude.<$> types]))}
+instance JSON.ToJSON VideoStandardGenerativeFieldProperty where
+  toJSON VideoStandardGenerativeFieldProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["State" JSON..= state]
+              (Prelude.catMaybes [(JSON..=) "Types" Prelude.<$> types])))
+instance Property "State" VideoStandardGenerativeFieldProperty where
+  type PropertyType "State" VideoStandardGenerativeFieldProperty = Value Prelude.Text
+  set newValue VideoStandardGenerativeFieldProperty {..}
+    = VideoStandardGenerativeFieldProperty {state = newValue, ..}
+instance Property "Types" VideoStandardGenerativeFieldProperty where
+  type PropertyType "Types" VideoStandardGenerativeFieldProperty = ValueList Prelude.Text
+  set newValue VideoStandardGenerativeFieldProperty {..}
+    = VideoStandardGenerativeFieldProperty
+        {types = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/DataAutomationProject/VideoStandardGenerativeFieldProperty.hs-boot b/gen/Stratosphere/Bedrock/DataAutomationProject/VideoStandardGenerativeFieldProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataAutomationProject/VideoStandardGenerativeFieldProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.DataAutomationProject.VideoStandardGenerativeFieldProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data VideoStandardGenerativeFieldProperty :: Prelude.Type
+instance ToResourceProperties VideoStandardGenerativeFieldProperty
+instance Prelude.Eq VideoStandardGenerativeFieldProperty
+instance Prelude.Show VideoStandardGenerativeFieldProperty
+instance JSON.ToJSON VideoStandardGenerativeFieldProperty
diff --git a/gen/Stratosphere/Bedrock/DataAutomationProject/VideoStandardOutputConfigurationProperty.hs b/gen/Stratosphere/Bedrock/DataAutomationProject/VideoStandardOutputConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataAutomationProject/VideoStandardOutputConfigurationProperty.hs
@@ -0,0 +1,50 @@
+module Stratosphere.Bedrock.DataAutomationProject.VideoStandardOutputConfigurationProperty (
+        module Exports, VideoStandardOutputConfigurationProperty(..),
+        mkVideoStandardOutputConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.DataAutomationProject.VideoStandardExtractionProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.DataAutomationProject.VideoStandardGenerativeFieldProperty as Exports
+import Stratosphere.ResourceProperties
+data VideoStandardOutputConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-videostandardoutputconfiguration.html>
+    VideoStandardOutputConfigurationProperty {haddock_workaround_ :: (),
+                                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-videostandardoutputconfiguration.html#cfn-bedrock-dataautomationproject-videostandardoutputconfiguration-extraction>
+                                              extraction :: (Prelude.Maybe VideoStandardExtractionProperty),
+                                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-videostandardoutputconfiguration.html#cfn-bedrock-dataautomationproject-videostandardoutputconfiguration-generativefield>
+                                              generativeField :: (Prelude.Maybe VideoStandardGenerativeFieldProperty)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkVideoStandardOutputConfigurationProperty ::
+  VideoStandardOutputConfigurationProperty
+mkVideoStandardOutputConfigurationProperty
+  = VideoStandardOutputConfigurationProperty
+      {haddock_workaround_ = (), extraction = Prelude.Nothing,
+       generativeField = Prelude.Nothing}
+instance ToResourceProperties VideoStandardOutputConfigurationProperty where
+  toResourceProperties VideoStandardOutputConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::DataAutomationProject.VideoStandardOutputConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "Extraction" Prelude.<$> extraction,
+                            (JSON..=) "GenerativeField" Prelude.<$> generativeField])}
+instance JSON.ToJSON VideoStandardOutputConfigurationProperty where
+  toJSON VideoStandardOutputConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "Extraction" Prelude.<$> extraction,
+               (JSON..=) "GenerativeField" Prelude.<$> generativeField]))
+instance Property "Extraction" VideoStandardOutputConfigurationProperty where
+  type PropertyType "Extraction" VideoStandardOutputConfigurationProperty = VideoStandardExtractionProperty
+  set newValue VideoStandardOutputConfigurationProperty {..}
+    = VideoStandardOutputConfigurationProperty
+        {extraction = Prelude.pure newValue, ..}
+instance Property "GenerativeField" VideoStandardOutputConfigurationProperty where
+  type PropertyType "GenerativeField" VideoStandardOutputConfigurationProperty = VideoStandardGenerativeFieldProperty
+  set newValue VideoStandardOutputConfigurationProperty {..}
+    = VideoStandardOutputConfigurationProperty
+        {generativeField = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/DataAutomationProject/VideoStandardOutputConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/DataAutomationProject/VideoStandardOutputConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataAutomationProject/VideoStandardOutputConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.DataAutomationProject.VideoStandardOutputConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data VideoStandardOutputConfigurationProperty :: Prelude.Type
+instance ToResourceProperties VideoStandardOutputConfigurationProperty
+instance Prelude.Eq VideoStandardOutputConfigurationProperty
+instance Prelude.Show VideoStandardOutputConfigurationProperty
+instance JSON.ToJSON VideoStandardOutputConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/DataSource.hs b/gen/Stratosphere/Bedrock/DataSource.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataSource.hs
@@ -0,0 +1,100 @@
+module Stratosphere.Bedrock.DataSource (
+        module Exports, DataSource(..), mkDataSource
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.DataSource.DataSourceConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.DataSource.ServerSideEncryptionConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.DataSource.VectorIngestionConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data DataSource
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-datasource.html>
+    DataSource {haddock_workaround_ :: (),
+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-datasource.html#cfn-bedrock-datasource-datadeletionpolicy>
+                dataDeletionPolicy :: (Prelude.Maybe (Value Prelude.Text)),
+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-datasource.html#cfn-bedrock-datasource-datasourceconfiguration>
+                dataSourceConfiguration :: DataSourceConfigurationProperty,
+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-datasource.html#cfn-bedrock-datasource-description>
+                description :: (Prelude.Maybe (Value Prelude.Text)),
+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-datasource.html#cfn-bedrock-datasource-knowledgebaseid>
+                knowledgeBaseId :: (Value Prelude.Text),
+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-datasource.html#cfn-bedrock-datasource-name>
+                name :: (Value Prelude.Text),
+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-datasource.html#cfn-bedrock-datasource-serversideencryptionconfiguration>
+                serverSideEncryptionConfiguration :: (Prelude.Maybe ServerSideEncryptionConfigurationProperty),
+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-datasource.html#cfn-bedrock-datasource-vectoringestionconfiguration>
+                vectorIngestionConfiguration :: (Prelude.Maybe VectorIngestionConfigurationProperty)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkDataSource ::
+  DataSourceConfigurationProperty
+  -> Value Prelude.Text -> Value Prelude.Text -> DataSource
+mkDataSource dataSourceConfiguration knowledgeBaseId name
+  = DataSource
+      {haddock_workaround_ = (),
+       dataSourceConfiguration = dataSourceConfiguration,
+       knowledgeBaseId = knowledgeBaseId, name = name,
+       dataDeletionPolicy = Prelude.Nothing,
+       description = Prelude.Nothing,
+       serverSideEncryptionConfiguration = Prelude.Nothing,
+       vectorIngestionConfiguration = Prelude.Nothing}
+instance ToResourceProperties DataSource where
+  toResourceProperties DataSource {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::DataSource",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["DataSourceConfiguration" JSON..= dataSourceConfiguration,
+                            "KnowledgeBaseId" JSON..= knowledgeBaseId, "Name" JSON..= name]
+                           (Prelude.catMaybes
+                              [(JSON..=) "DataDeletionPolicy" Prelude.<$> dataDeletionPolicy,
+                               (JSON..=) "Description" Prelude.<$> description,
+                               (JSON..=) "ServerSideEncryptionConfiguration"
+                                 Prelude.<$> serverSideEncryptionConfiguration,
+                               (JSON..=) "VectorIngestionConfiguration"
+                                 Prelude.<$> vectorIngestionConfiguration]))}
+instance JSON.ToJSON DataSource where
+  toJSON DataSource {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["DataSourceConfiguration" JSON..= dataSourceConfiguration,
+               "KnowledgeBaseId" JSON..= knowledgeBaseId, "Name" JSON..= name]
+              (Prelude.catMaybes
+                 [(JSON..=) "DataDeletionPolicy" Prelude.<$> dataDeletionPolicy,
+                  (JSON..=) "Description" Prelude.<$> description,
+                  (JSON..=) "ServerSideEncryptionConfiguration"
+                    Prelude.<$> serverSideEncryptionConfiguration,
+                  (JSON..=) "VectorIngestionConfiguration"
+                    Prelude.<$> vectorIngestionConfiguration])))
+instance Property "DataDeletionPolicy" DataSource where
+  type PropertyType "DataDeletionPolicy" DataSource = Value Prelude.Text
+  set newValue DataSource {..}
+    = DataSource {dataDeletionPolicy = Prelude.pure newValue, ..}
+instance Property "DataSourceConfiguration" DataSource where
+  type PropertyType "DataSourceConfiguration" DataSource = DataSourceConfigurationProperty
+  set newValue DataSource {..}
+    = DataSource {dataSourceConfiguration = newValue, ..}
+instance Property "Description" DataSource where
+  type PropertyType "Description" DataSource = Value Prelude.Text
+  set newValue DataSource {..}
+    = DataSource {description = Prelude.pure newValue, ..}
+instance Property "KnowledgeBaseId" DataSource where
+  type PropertyType "KnowledgeBaseId" DataSource = Value Prelude.Text
+  set newValue DataSource {..}
+    = DataSource {knowledgeBaseId = newValue, ..}
+instance Property "Name" DataSource where
+  type PropertyType "Name" DataSource = Value Prelude.Text
+  set newValue DataSource {..} = DataSource {name = newValue, ..}
+instance Property "ServerSideEncryptionConfiguration" DataSource where
+  type PropertyType "ServerSideEncryptionConfiguration" DataSource = ServerSideEncryptionConfigurationProperty
+  set newValue DataSource {..}
+    = DataSource
+        {serverSideEncryptionConfiguration = Prelude.pure newValue, ..}
+instance Property "VectorIngestionConfiguration" DataSource where
+  type PropertyType "VectorIngestionConfiguration" DataSource = VectorIngestionConfigurationProperty
+  set newValue DataSource {..}
+    = DataSource
+        {vectorIngestionConfiguration = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/DataSource/BedrockDataAutomationConfigurationProperty.hs b/gen/Stratosphere/Bedrock/DataSource/BedrockDataAutomationConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataSource/BedrockDataAutomationConfigurationProperty.hs
@@ -0,0 +1,40 @@
+module Stratosphere.Bedrock.DataSource.BedrockDataAutomationConfigurationProperty (
+        BedrockDataAutomationConfigurationProperty(..),
+        mkBedrockDataAutomationConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data BedrockDataAutomationConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-bedrockdataautomationconfiguration.html>
+    BedrockDataAutomationConfigurationProperty {haddock_workaround_ :: (),
+                                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-bedrockdataautomationconfiguration.html#cfn-bedrock-datasource-bedrockdataautomationconfiguration-parsingmodality>
+                                                parsingModality :: (Prelude.Maybe (Value Prelude.Text))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkBedrockDataAutomationConfigurationProperty ::
+  BedrockDataAutomationConfigurationProperty
+mkBedrockDataAutomationConfigurationProperty
+  = BedrockDataAutomationConfigurationProperty
+      {haddock_workaround_ = (), parsingModality = Prelude.Nothing}
+instance ToResourceProperties BedrockDataAutomationConfigurationProperty where
+  toResourceProperties
+    BedrockDataAutomationConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::DataSource.BedrockDataAutomationConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "ParsingModality" Prelude.<$> parsingModality])}
+instance JSON.ToJSON BedrockDataAutomationConfigurationProperty where
+  toJSON BedrockDataAutomationConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "ParsingModality" Prelude.<$> parsingModality]))
+instance Property "ParsingModality" BedrockDataAutomationConfigurationProperty where
+  type PropertyType "ParsingModality" BedrockDataAutomationConfigurationProperty = Value Prelude.Text
+  set newValue BedrockDataAutomationConfigurationProperty {..}
+    = BedrockDataAutomationConfigurationProperty
+        {parsingModality = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/DataSource/BedrockDataAutomationConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/DataSource/BedrockDataAutomationConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataSource/BedrockDataAutomationConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.DataSource.BedrockDataAutomationConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data BedrockDataAutomationConfigurationProperty :: Prelude.Type
+instance ToResourceProperties BedrockDataAutomationConfigurationProperty
+instance Prelude.Eq BedrockDataAutomationConfigurationProperty
+instance Prelude.Show BedrockDataAutomationConfigurationProperty
+instance JSON.ToJSON BedrockDataAutomationConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/DataSource/BedrockFoundationModelConfigurationProperty.hs b/gen/Stratosphere/Bedrock/DataSource/BedrockFoundationModelConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataSource/BedrockFoundationModelConfigurationProperty.hs
@@ -0,0 +1,62 @@
+module Stratosphere.Bedrock.DataSource.BedrockFoundationModelConfigurationProperty (
+        module Exports, BedrockFoundationModelConfigurationProperty(..),
+        mkBedrockFoundationModelConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.DataSource.ParsingPromptProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data BedrockFoundationModelConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-bedrockfoundationmodelconfiguration.html>
+    BedrockFoundationModelConfigurationProperty {haddock_workaround_ :: (),
+                                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-bedrockfoundationmodelconfiguration.html#cfn-bedrock-datasource-bedrockfoundationmodelconfiguration-modelarn>
+                                                 modelArn :: (Value Prelude.Text),
+                                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-bedrockfoundationmodelconfiguration.html#cfn-bedrock-datasource-bedrockfoundationmodelconfiguration-parsingmodality>
+                                                 parsingModality :: (Prelude.Maybe (Value Prelude.Text)),
+                                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-bedrockfoundationmodelconfiguration.html#cfn-bedrock-datasource-bedrockfoundationmodelconfiguration-parsingprompt>
+                                                 parsingPrompt :: (Prelude.Maybe ParsingPromptProperty)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkBedrockFoundationModelConfigurationProperty ::
+  Value Prelude.Text -> BedrockFoundationModelConfigurationProperty
+mkBedrockFoundationModelConfigurationProperty modelArn
+  = BedrockFoundationModelConfigurationProperty
+      {haddock_workaround_ = (), modelArn = modelArn,
+       parsingModality = Prelude.Nothing, parsingPrompt = Prelude.Nothing}
+instance ToResourceProperties BedrockFoundationModelConfigurationProperty where
+  toResourceProperties
+    BedrockFoundationModelConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::DataSource.BedrockFoundationModelConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["ModelArn" JSON..= modelArn]
+                           (Prelude.catMaybes
+                              [(JSON..=) "ParsingModality" Prelude.<$> parsingModality,
+                               (JSON..=) "ParsingPrompt" Prelude.<$> parsingPrompt]))}
+instance JSON.ToJSON BedrockFoundationModelConfigurationProperty where
+  toJSON BedrockFoundationModelConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["ModelArn" JSON..= modelArn]
+              (Prelude.catMaybes
+                 [(JSON..=) "ParsingModality" Prelude.<$> parsingModality,
+                  (JSON..=) "ParsingPrompt" Prelude.<$> parsingPrompt])))
+instance Property "ModelArn" BedrockFoundationModelConfigurationProperty where
+  type PropertyType "ModelArn" BedrockFoundationModelConfigurationProperty = Value Prelude.Text
+  set newValue BedrockFoundationModelConfigurationProperty {..}
+    = BedrockFoundationModelConfigurationProperty
+        {modelArn = newValue, ..}
+instance Property "ParsingModality" BedrockFoundationModelConfigurationProperty where
+  type PropertyType "ParsingModality" BedrockFoundationModelConfigurationProperty = Value Prelude.Text
+  set newValue BedrockFoundationModelConfigurationProperty {..}
+    = BedrockFoundationModelConfigurationProperty
+        {parsingModality = Prelude.pure newValue, ..}
+instance Property "ParsingPrompt" BedrockFoundationModelConfigurationProperty where
+  type PropertyType "ParsingPrompt" BedrockFoundationModelConfigurationProperty = ParsingPromptProperty
+  set newValue BedrockFoundationModelConfigurationProperty {..}
+    = BedrockFoundationModelConfigurationProperty
+        {parsingPrompt = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/DataSource/BedrockFoundationModelConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/DataSource/BedrockFoundationModelConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataSource/BedrockFoundationModelConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.DataSource.BedrockFoundationModelConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data BedrockFoundationModelConfigurationProperty :: Prelude.Type
+instance ToResourceProperties BedrockFoundationModelConfigurationProperty
+instance Prelude.Eq BedrockFoundationModelConfigurationProperty
+instance Prelude.Show BedrockFoundationModelConfigurationProperty
+instance JSON.ToJSON BedrockFoundationModelConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/DataSource/BedrockFoundationModelContextEnrichmentConfigurationProperty.hs b/gen/Stratosphere/Bedrock/DataSource/BedrockFoundationModelContextEnrichmentConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataSource/BedrockFoundationModelContextEnrichmentConfigurationProperty.hs
@@ -0,0 +1,60 @@
+module Stratosphere.Bedrock.DataSource.BedrockFoundationModelContextEnrichmentConfigurationProperty (
+        module Exports,
+        BedrockFoundationModelContextEnrichmentConfigurationProperty(..),
+        mkBedrockFoundationModelContextEnrichmentConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.DataSource.EnrichmentStrategyConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data BedrockFoundationModelContextEnrichmentConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-bedrockfoundationmodelcontextenrichmentconfiguration.html>
+    BedrockFoundationModelContextEnrichmentConfigurationProperty {haddock_workaround_ :: (),
+                                                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-bedrockfoundationmodelcontextenrichmentconfiguration.html#cfn-bedrock-datasource-bedrockfoundationmodelcontextenrichmentconfiguration-enrichmentstrategyconfiguration>
+                                                                  enrichmentStrategyConfiguration :: EnrichmentStrategyConfigurationProperty,
+                                                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-bedrockfoundationmodelcontextenrichmentconfiguration.html#cfn-bedrock-datasource-bedrockfoundationmodelcontextenrichmentconfiguration-modelarn>
+                                                                  modelArn :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkBedrockFoundationModelContextEnrichmentConfigurationProperty ::
+  EnrichmentStrategyConfigurationProperty
+  -> Value Prelude.Text
+     -> BedrockFoundationModelContextEnrichmentConfigurationProperty
+mkBedrockFoundationModelContextEnrichmentConfigurationProperty
+  enrichmentStrategyConfiguration
+  modelArn
+  = BedrockFoundationModelContextEnrichmentConfigurationProperty
+      {haddock_workaround_ = (),
+       enrichmentStrategyConfiguration = enrichmentStrategyConfiguration,
+       modelArn = modelArn}
+instance ToResourceProperties BedrockFoundationModelContextEnrichmentConfigurationProperty where
+  toResourceProperties
+    BedrockFoundationModelContextEnrichmentConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::DataSource.BedrockFoundationModelContextEnrichmentConfiguration",
+         supportsTags = Prelude.False,
+         properties = ["EnrichmentStrategyConfiguration"
+                         JSON..= enrichmentStrategyConfiguration,
+                       "ModelArn" JSON..= modelArn]}
+instance JSON.ToJSON BedrockFoundationModelContextEnrichmentConfigurationProperty where
+  toJSON
+    BedrockFoundationModelContextEnrichmentConfigurationProperty {..}
+    = JSON.object
+        ["EnrichmentStrategyConfiguration"
+           JSON..= enrichmentStrategyConfiguration,
+         "ModelArn" JSON..= modelArn]
+instance Property "EnrichmentStrategyConfiguration" BedrockFoundationModelContextEnrichmentConfigurationProperty where
+  type PropertyType "EnrichmentStrategyConfiguration" BedrockFoundationModelContextEnrichmentConfigurationProperty = EnrichmentStrategyConfigurationProperty
+  set
+    newValue
+    BedrockFoundationModelContextEnrichmentConfigurationProperty {..}
+    = BedrockFoundationModelContextEnrichmentConfigurationProperty
+        {enrichmentStrategyConfiguration = newValue, ..}
+instance Property "ModelArn" BedrockFoundationModelContextEnrichmentConfigurationProperty where
+  type PropertyType "ModelArn" BedrockFoundationModelContextEnrichmentConfigurationProperty = Value Prelude.Text
+  set
+    newValue
+    BedrockFoundationModelContextEnrichmentConfigurationProperty {..}
+    = BedrockFoundationModelContextEnrichmentConfigurationProperty
+        {modelArn = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/DataSource/BedrockFoundationModelContextEnrichmentConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/DataSource/BedrockFoundationModelContextEnrichmentConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataSource/BedrockFoundationModelContextEnrichmentConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.DataSource.BedrockFoundationModelContextEnrichmentConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data BedrockFoundationModelContextEnrichmentConfigurationProperty :: Prelude.Type
+instance ToResourceProperties BedrockFoundationModelContextEnrichmentConfigurationProperty
+instance Prelude.Eq BedrockFoundationModelContextEnrichmentConfigurationProperty
+instance Prelude.Show BedrockFoundationModelContextEnrichmentConfigurationProperty
+instance JSON.ToJSON BedrockFoundationModelContextEnrichmentConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/DataSource/ChunkingConfigurationProperty.hs b/gen/Stratosphere/Bedrock/DataSource/ChunkingConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataSource/ChunkingConfigurationProperty.hs
@@ -0,0 +1,79 @@
+module Stratosphere.Bedrock.DataSource.ChunkingConfigurationProperty (
+        module Exports, ChunkingConfigurationProperty(..),
+        mkChunkingConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.DataSource.FixedSizeChunkingConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.DataSource.HierarchicalChunkingConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.DataSource.SemanticChunkingConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data ChunkingConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-chunkingconfiguration.html>
+    ChunkingConfigurationProperty {haddock_workaround_ :: (),
+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-chunkingconfiguration.html#cfn-bedrock-datasource-chunkingconfiguration-chunkingstrategy>
+                                   chunkingStrategy :: (Value Prelude.Text),
+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-chunkingconfiguration.html#cfn-bedrock-datasource-chunkingconfiguration-fixedsizechunkingconfiguration>
+                                   fixedSizeChunkingConfiguration :: (Prelude.Maybe FixedSizeChunkingConfigurationProperty),
+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-chunkingconfiguration.html#cfn-bedrock-datasource-chunkingconfiguration-hierarchicalchunkingconfiguration>
+                                   hierarchicalChunkingConfiguration :: (Prelude.Maybe HierarchicalChunkingConfigurationProperty),
+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-chunkingconfiguration.html#cfn-bedrock-datasource-chunkingconfiguration-semanticchunkingconfiguration>
+                                   semanticChunkingConfiguration :: (Prelude.Maybe SemanticChunkingConfigurationProperty)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkChunkingConfigurationProperty ::
+  Value Prelude.Text -> ChunkingConfigurationProperty
+mkChunkingConfigurationProperty chunkingStrategy
+  = ChunkingConfigurationProperty
+      {haddock_workaround_ = (), chunkingStrategy = chunkingStrategy,
+       fixedSizeChunkingConfiguration = Prelude.Nothing,
+       hierarchicalChunkingConfiguration = Prelude.Nothing,
+       semanticChunkingConfiguration = Prelude.Nothing}
+instance ToResourceProperties ChunkingConfigurationProperty where
+  toResourceProperties ChunkingConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::DataSource.ChunkingConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["ChunkingStrategy" JSON..= chunkingStrategy]
+                           (Prelude.catMaybes
+                              [(JSON..=) "FixedSizeChunkingConfiguration"
+                                 Prelude.<$> fixedSizeChunkingConfiguration,
+                               (JSON..=) "HierarchicalChunkingConfiguration"
+                                 Prelude.<$> hierarchicalChunkingConfiguration,
+                               (JSON..=) "SemanticChunkingConfiguration"
+                                 Prelude.<$> semanticChunkingConfiguration]))}
+instance JSON.ToJSON ChunkingConfigurationProperty where
+  toJSON ChunkingConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["ChunkingStrategy" JSON..= chunkingStrategy]
+              (Prelude.catMaybes
+                 [(JSON..=) "FixedSizeChunkingConfiguration"
+                    Prelude.<$> fixedSizeChunkingConfiguration,
+                  (JSON..=) "HierarchicalChunkingConfiguration"
+                    Prelude.<$> hierarchicalChunkingConfiguration,
+                  (JSON..=) "SemanticChunkingConfiguration"
+                    Prelude.<$> semanticChunkingConfiguration])))
+instance Property "ChunkingStrategy" ChunkingConfigurationProperty where
+  type PropertyType "ChunkingStrategy" ChunkingConfigurationProperty = Value Prelude.Text
+  set newValue ChunkingConfigurationProperty {..}
+    = ChunkingConfigurationProperty {chunkingStrategy = newValue, ..}
+instance Property "FixedSizeChunkingConfiguration" ChunkingConfigurationProperty where
+  type PropertyType "FixedSizeChunkingConfiguration" ChunkingConfigurationProperty = FixedSizeChunkingConfigurationProperty
+  set newValue ChunkingConfigurationProperty {..}
+    = ChunkingConfigurationProperty
+        {fixedSizeChunkingConfiguration = Prelude.pure newValue, ..}
+instance Property "HierarchicalChunkingConfiguration" ChunkingConfigurationProperty where
+  type PropertyType "HierarchicalChunkingConfiguration" ChunkingConfigurationProperty = HierarchicalChunkingConfigurationProperty
+  set newValue ChunkingConfigurationProperty {..}
+    = ChunkingConfigurationProperty
+        {hierarchicalChunkingConfiguration = Prelude.pure newValue, ..}
+instance Property "SemanticChunkingConfiguration" ChunkingConfigurationProperty where
+  type PropertyType "SemanticChunkingConfiguration" ChunkingConfigurationProperty = SemanticChunkingConfigurationProperty
+  set newValue ChunkingConfigurationProperty {..}
+    = ChunkingConfigurationProperty
+        {semanticChunkingConfiguration = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/DataSource/ChunkingConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/DataSource/ChunkingConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataSource/ChunkingConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.DataSource.ChunkingConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data ChunkingConfigurationProperty :: Prelude.Type
+instance ToResourceProperties ChunkingConfigurationProperty
+instance Prelude.Eq ChunkingConfigurationProperty
+instance Prelude.Show ChunkingConfigurationProperty
+instance JSON.ToJSON ChunkingConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/DataSource/ConfluenceCrawlerConfigurationProperty.hs b/gen/Stratosphere/Bedrock/DataSource/ConfluenceCrawlerConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataSource/ConfluenceCrawlerConfigurationProperty.hs
@@ -0,0 +1,39 @@
+module Stratosphere.Bedrock.DataSource.ConfluenceCrawlerConfigurationProperty (
+        module Exports, ConfluenceCrawlerConfigurationProperty(..),
+        mkConfluenceCrawlerConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.DataSource.CrawlFilterConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+data ConfluenceCrawlerConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-confluencecrawlerconfiguration.html>
+    ConfluenceCrawlerConfigurationProperty {haddock_workaround_ :: (),
+                                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-confluencecrawlerconfiguration.html#cfn-bedrock-datasource-confluencecrawlerconfiguration-filterconfiguration>
+                                            filterConfiguration :: (Prelude.Maybe CrawlFilterConfigurationProperty)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkConfluenceCrawlerConfigurationProperty ::
+  ConfluenceCrawlerConfigurationProperty
+mkConfluenceCrawlerConfigurationProperty
+  = ConfluenceCrawlerConfigurationProperty
+      {haddock_workaround_ = (), filterConfiguration = Prelude.Nothing}
+instance ToResourceProperties ConfluenceCrawlerConfigurationProperty where
+  toResourceProperties ConfluenceCrawlerConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::DataSource.ConfluenceCrawlerConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "FilterConfiguration" Prelude.<$> filterConfiguration])}
+instance JSON.ToJSON ConfluenceCrawlerConfigurationProperty where
+  toJSON ConfluenceCrawlerConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "FilterConfiguration" Prelude.<$> filterConfiguration]))
+instance Property "FilterConfiguration" ConfluenceCrawlerConfigurationProperty where
+  type PropertyType "FilterConfiguration" ConfluenceCrawlerConfigurationProperty = CrawlFilterConfigurationProperty
+  set newValue ConfluenceCrawlerConfigurationProperty {..}
+    = ConfluenceCrawlerConfigurationProperty
+        {filterConfiguration = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/DataSource/ConfluenceCrawlerConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/DataSource/ConfluenceCrawlerConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataSource/ConfluenceCrawlerConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.DataSource.ConfluenceCrawlerConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data ConfluenceCrawlerConfigurationProperty :: Prelude.Type
+instance ToResourceProperties ConfluenceCrawlerConfigurationProperty
+instance Prelude.Eq ConfluenceCrawlerConfigurationProperty
+instance Prelude.Show ConfluenceCrawlerConfigurationProperty
+instance JSON.ToJSON ConfluenceCrawlerConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/DataSource/ConfluenceDataSourceConfigurationProperty.hs b/gen/Stratosphere/Bedrock/DataSource/ConfluenceDataSourceConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataSource/ConfluenceDataSourceConfigurationProperty.hs
@@ -0,0 +1,56 @@
+module Stratosphere.Bedrock.DataSource.ConfluenceDataSourceConfigurationProperty (
+        module Exports, ConfluenceDataSourceConfigurationProperty(..),
+        mkConfluenceDataSourceConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.DataSource.ConfluenceCrawlerConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.DataSource.ConfluenceSourceConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+data ConfluenceDataSourceConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-confluencedatasourceconfiguration.html>
+    ConfluenceDataSourceConfigurationProperty {haddock_workaround_ :: (),
+                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-confluencedatasourceconfiguration.html#cfn-bedrock-datasource-confluencedatasourceconfiguration-crawlerconfiguration>
+                                               crawlerConfiguration :: (Prelude.Maybe ConfluenceCrawlerConfigurationProperty),
+                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-confluencedatasourceconfiguration.html#cfn-bedrock-datasource-confluencedatasourceconfiguration-sourceconfiguration>
+                                               sourceConfiguration :: ConfluenceSourceConfigurationProperty}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkConfluenceDataSourceConfigurationProperty ::
+  ConfluenceSourceConfigurationProperty
+  -> ConfluenceDataSourceConfigurationProperty
+mkConfluenceDataSourceConfigurationProperty sourceConfiguration
+  = ConfluenceDataSourceConfigurationProperty
+      {haddock_workaround_ = (),
+       sourceConfiguration = sourceConfiguration,
+       crawlerConfiguration = Prelude.Nothing}
+instance ToResourceProperties ConfluenceDataSourceConfigurationProperty where
+  toResourceProperties ConfluenceDataSourceConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::DataSource.ConfluenceDataSourceConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["SourceConfiguration" JSON..= sourceConfiguration]
+                           (Prelude.catMaybes
+                              [(JSON..=) "CrawlerConfiguration"
+                                 Prelude.<$> crawlerConfiguration]))}
+instance JSON.ToJSON ConfluenceDataSourceConfigurationProperty where
+  toJSON ConfluenceDataSourceConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["SourceConfiguration" JSON..= sourceConfiguration]
+              (Prelude.catMaybes
+                 [(JSON..=) "CrawlerConfiguration"
+                    Prelude.<$> crawlerConfiguration])))
+instance Property "CrawlerConfiguration" ConfluenceDataSourceConfigurationProperty where
+  type PropertyType "CrawlerConfiguration" ConfluenceDataSourceConfigurationProperty = ConfluenceCrawlerConfigurationProperty
+  set newValue ConfluenceDataSourceConfigurationProperty {..}
+    = ConfluenceDataSourceConfigurationProperty
+        {crawlerConfiguration = Prelude.pure newValue, ..}
+instance Property "SourceConfiguration" ConfluenceDataSourceConfigurationProperty where
+  type PropertyType "SourceConfiguration" ConfluenceDataSourceConfigurationProperty = ConfluenceSourceConfigurationProperty
+  set newValue ConfluenceDataSourceConfigurationProperty {..}
+    = ConfluenceDataSourceConfigurationProperty
+        {sourceConfiguration = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/DataSource/ConfluenceDataSourceConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/DataSource/ConfluenceDataSourceConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataSource/ConfluenceDataSourceConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.DataSource.ConfluenceDataSourceConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data ConfluenceDataSourceConfigurationProperty :: Prelude.Type
+instance ToResourceProperties ConfluenceDataSourceConfigurationProperty
+instance Prelude.Eq ConfluenceDataSourceConfigurationProperty
+instance Prelude.Show ConfluenceDataSourceConfigurationProperty
+instance JSON.ToJSON ConfluenceDataSourceConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/DataSource/ConfluenceSourceConfigurationProperty.hs b/gen/Stratosphere/Bedrock/DataSource/ConfluenceSourceConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataSource/ConfluenceSourceConfigurationProperty.hs
@@ -0,0 +1,66 @@
+module Stratosphere.Bedrock.DataSource.ConfluenceSourceConfigurationProperty (
+        ConfluenceSourceConfigurationProperty(..),
+        mkConfluenceSourceConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data ConfluenceSourceConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-confluencesourceconfiguration.html>
+    ConfluenceSourceConfigurationProperty {haddock_workaround_ :: (),
+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-confluencesourceconfiguration.html#cfn-bedrock-datasource-confluencesourceconfiguration-authtype>
+                                           authType :: (Value Prelude.Text),
+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-confluencesourceconfiguration.html#cfn-bedrock-datasource-confluencesourceconfiguration-credentialssecretarn>
+                                           credentialsSecretArn :: (Value Prelude.Text),
+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-confluencesourceconfiguration.html#cfn-bedrock-datasource-confluencesourceconfiguration-hosttype>
+                                           hostType :: (Value Prelude.Text),
+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-confluencesourceconfiguration.html#cfn-bedrock-datasource-confluencesourceconfiguration-hosturl>
+                                           hostUrl :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkConfluenceSourceConfigurationProperty ::
+  Value Prelude.Text
+  -> Value Prelude.Text
+     -> Value Prelude.Text
+        -> Value Prelude.Text -> ConfluenceSourceConfigurationProperty
+mkConfluenceSourceConfigurationProperty
+  authType
+  credentialsSecretArn
+  hostType
+  hostUrl
+  = ConfluenceSourceConfigurationProperty
+      {haddock_workaround_ = (), authType = authType,
+       credentialsSecretArn = credentialsSecretArn, hostType = hostType,
+       hostUrl = hostUrl}
+instance ToResourceProperties ConfluenceSourceConfigurationProperty where
+  toResourceProperties ConfluenceSourceConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::DataSource.ConfluenceSourceConfiguration",
+         supportsTags = Prelude.False,
+         properties = ["AuthType" JSON..= authType,
+                       "CredentialsSecretArn" JSON..= credentialsSecretArn,
+                       "HostType" JSON..= hostType, "HostUrl" JSON..= hostUrl]}
+instance JSON.ToJSON ConfluenceSourceConfigurationProperty where
+  toJSON ConfluenceSourceConfigurationProperty {..}
+    = JSON.object
+        ["AuthType" JSON..= authType,
+         "CredentialsSecretArn" JSON..= credentialsSecretArn,
+         "HostType" JSON..= hostType, "HostUrl" JSON..= hostUrl]
+instance Property "AuthType" ConfluenceSourceConfigurationProperty where
+  type PropertyType "AuthType" ConfluenceSourceConfigurationProperty = Value Prelude.Text
+  set newValue ConfluenceSourceConfigurationProperty {..}
+    = ConfluenceSourceConfigurationProperty {authType = newValue, ..}
+instance Property "CredentialsSecretArn" ConfluenceSourceConfigurationProperty where
+  type PropertyType "CredentialsSecretArn" ConfluenceSourceConfigurationProperty = Value Prelude.Text
+  set newValue ConfluenceSourceConfigurationProperty {..}
+    = ConfluenceSourceConfigurationProperty
+        {credentialsSecretArn = newValue, ..}
+instance Property "HostType" ConfluenceSourceConfigurationProperty where
+  type PropertyType "HostType" ConfluenceSourceConfigurationProperty = Value Prelude.Text
+  set newValue ConfluenceSourceConfigurationProperty {..}
+    = ConfluenceSourceConfigurationProperty {hostType = newValue, ..}
+instance Property "HostUrl" ConfluenceSourceConfigurationProperty where
+  type PropertyType "HostUrl" ConfluenceSourceConfigurationProperty = Value Prelude.Text
+  set newValue ConfluenceSourceConfigurationProperty {..}
+    = ConfluenceSourceConfigurationProperty {hostUrl = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/DataSource/ConfluenceSourceConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/DataSource/ConfluenceSourceConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataSource/ConfluenceSourceConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.DataSource.ConfluenceSourceConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data ConfluenceSourceConfigurationProperty :: Prelude.Type
+instance ToResourceProperties ConfluenceSourceConfigurationProperty
+instance Prelude.Eq ConfluenceSourceConfigurationProperty
+instance Prelude.Show ConfluenceSourceConfigurationProperty
+instance JSON.ToJSON ConfluenceSourceConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/DataSource/ContextEnrichmentConfigurationProperty.hs b/gen/Stratosphere/Bedrock/DataSource/ContextEnrichmentConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataSource/ContextEnrichmentConfigurationProperty.hs
@@ -0,0 +1,53 @@
+module Stratosphere.Bedrock.DataSource.ContextEnrichmentConfigurationProperty (
+        module Exports, ContextEnrichmentConfigurationProperty(..),
+        mkContextEnrichmentConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.DataSource.BedrockFoundationModelContextEnrichmentConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data ContextEnrichmentConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-contextenrichmentconfiguration.html>
+    ContextEnrichmentConfigurationProperty {haddock_workaround_ :: (),
+                                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-contextenrichmentconfiguration.html#cfn-bedrock-datasource-contextenrichmentconfiguration-bedrockfoundationmodelconfiguration>
+                                            bedrockFoundationModelConfiguration :: (Prelude.Maybe BedrockFoundationModelContextEnrichmentConfigurationProperty),
+                                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-contextenrichmentconfiguration.html#cfn-bedrock-datasource-contextenrichmentconfiguration-type>
+                                            type' :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkContextEnrichmentConfigurationProperty ::
+  Value Prelude.Text -> ContextEnrichmentConfigurationProperty
+mkContextEnrichmentConfigurationProperty type'
+  = ContextEnrichmentConfigurationProperty
+      {haddock_workaround_ = (), type' = type',
+       bedrockFoundationModelConfiguration = Prelude.Nothing}
+instance ToResourceProperties ContextEnrichmentConfigurationProperty where
+  toResourceProperties ContextEnrichmentConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::DataSource.ContextEnrichmentConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["Type" JSON..= type']
+                           (Prelude.catMaybes
+                              [(JSON..=) "BedrockFoundationModelConfiguration"
+                                 Prelude.<$> bedrockFoundationModelConfiguration]))}
+instance JSON.ToJSON ContextEnrichmentConfigurationProperty where
+  toJSON ContextEnrichmentConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["Type" JSON..= type']
+              (Prelude.catMaybes
+                 [(JSON..=) "BedrockFoundationModelConfiguration"
+                    Prelude.<$> bedrockFoundationModelConfiguration])))
+instance Property "BedrockFoundationModelConfiguration" ContextEnrichmentConfigurationProperty where
+  type PropertyType "BedrockFoundationModelConfiguration" ContextEnrichmentConfigurationProperty = BedrockFoundationModelContextEnrichmentConfigurationProperty
+  set newValue ContextEnrichmentConfigurationProperty {..}
+    = ContextEnrichmentConfigurationProperty
+        {bedrockFoundationModelConfiguration = Prelude.pure newValue, ..}
+instance Property "Type" ContextEnrichmentConfigurationProperty where
+  type PropertyType "Type" ContextEnrichmentConfigurationProperty = Value Prelude.Text
+  set newValue ContextEnrichmentConfigurationProperty {..}
+    = ContextEnrichmentConfigurationProperty {type' = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/DataSource/ContextEnrichmentConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/DataSource/ContextEnrichmentConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataSource/ContextEnrichmentConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.DataSource.ContextEnrichmentConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data ContextEnrichmentConfigurationProperty :: Prelude.Type
+instance ToResourceProperties ContextEnrichmentConfigurationProperty
+instance Prelude.Eq ContextEnrichmentConfigurationProperty
+instance Prelude.Show ContextEnrichmentConfigurationProperty
+instance JSON.ToJSON ContextEnrichmentConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/DataSource/CrawlFilterConfigurationProperty.hs b/gen/Stratosphere/Bedrock/DataSource/CrawlFilterConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataSource/CrawlFilterConfigurationProperty.hs
@@ -0,0 +1,53 @@
+module Stratosphere.Bedrock.DataSource.CrawlFilterConfigurationProperty (
+        module Exports, CrawlFilterConfigurationProperty(..),
+        mkCrawlFilterConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.DataSource.PatternObjectFilterConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data CrawlFilterConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-crawlfilterconfiguration.html>
+    CrawlFilterConfigurationProperty {haddock_workaround_ :: (),
+                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-crawlfilterconfiguration.html#cfn-bedrock-datasource-crawlfilterconfiguration-patternobjectfilter>
+                                      patternObjectFilter :: (Prelude.Maybe PatternObjectFilterConfigurationProperty),
+                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-crawlfilterconfiguration.html#cfn-bedrock-datasource-crawlfilterconfiguration-type>
+                                      type' :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkCrawlFilterConfigurationProperty ::
+  Value Prelude.Text -> CrawlFilterConfigurationProperty
+mkCrawlFilterConfigurationProperty type'
+  = CrawlFilterConfigurationProperty
+      {haddock_workaround_ = (), type' = type',
+       patternObjectFilter = Prelude.Nothing}
+instance ToResourceProperties CrawlFilterConfigurationProperty where
+  toResourceProperties CrawlFilterConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::DataSource.CrawlFilterConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["Type" JSON..= type']
+                           (Prelude.catMaybes
+                              [(JSON..=) "PatternObjectFilter"
+                                 Prelude.<$> patternObjectFilter]))}
+instance JSON.ToJSON CrawlFilterConfigurationProperty where
+  toJSON CrawlFilterConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["Type" JSON..= type']
+              (Prelude.catMaybes
+                 [(JSON..=) "PatternObjectFilter"
+                    Prelude.<$> patternObjectFilter])))
+instance Property "PatternObjectFilter" CrawlFilterConfigurationProperty where
+  type PropertyType "PatternObjectFilter" CrawlFilterConfigurationProperty = PatternObjectFilterConfigurationProperty
+  set newValue CrawlFilterConfigurationProperty {..}
+    = CrawlFilterConfigurationProperty
+        {patternObjectFilter = Prelude.pure newValue, ..}
+instance Property "Type" CrawlFilterConfigurationProperty where
+  type PropertyType "Type" CrawlFilterConfigurationProperty = Value Prelude.Text
+  set newValue CrawlFilterConfigurationProperty {..}
+    = CrawlFilterConfigurationProperty {type' = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/DataSource/CrawlFilterConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/DataSource/CrawlFilterConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataSource/CrawlFilterConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.DataSource.CrawlFilterConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data CrawlFilterConfigurationProperty :: Prelude.Type
+instance ToResourceProperties CrawlFilterConfigurationProperty
+instance Prelude.Eq CrawlFilterConfigurationProperty
+instance Prelude.Show CrawlFilterConfigurationProperty
+instance JSON.ToJSON CrawlFilterConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/DataSource/CustomTransformationConfigurationProperty.hs b/gen/Stratosphere/Bedrock/DataSource/CustomTransformationConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataSource/CustomTransformationConfigurationProperty.hs
@@ -0,0 +1,51 @@
+module Stratosphere.Bedrock.DataSource.CustomTransformationConfigurationProperty (
+        module Exports, CustomTransformationConfigurationProperty(..),
+        mkCustomTransformationConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.DataSource.IntermediateStorageProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.DataSource.TransformationProperty as Exports
+import Stratosphere.ResourceProperties
+data CustomTransformationConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-customtransformationconfiguration.html>
+    CustomTransformationConfigurationProperty {haddock_workaround_ :: (),
+                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-customtransformationconfiguration.html#cfn-bedrock-datasource-customtransformationconfiguration-intermediatestorage>
+                                               intermediateStorage :: IntermediateStorageProperty,
+                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-customtransformationconfiguration.html#cfn-bedrock-datasource-customtransformationconfiguration-transformations>
+                                               transformations :: [TransformationProperty]}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkCustomTransformationConfigurationProperty ::
+  IntermediateStorageProperty
+  -> [TransformationProperty]
+     -> CustomTransformationConfigurationProperty
+mkCustomTransformationConfigurationProperty
+  intermediateStorage
+  transformations
+  = CustomTransformationConfigurationProperty
+      {haddock_workaround_ = (),
+       intermediateStorage = intermediateStorage,
+       transformations = transformations}
+instance ToResourceProperties CustomTransformationConfigurationProperty where
+  toResourceProperties CustomTransformationConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::DataSource.CustomTransformationConfiguration",
+         supportsTags = Prelude.False,
+         properties = ["IntermediateStorage" JSON..= intermediateStorage,
+                       "Transformations" JSON..= transformations]}
+instance JSON.ToJSON CustomTransformationConfigurationProperty where
+  toJSON CustomTransformationConfigurationProperty {..}
+    = JSON.object
+        ["IntermediateStorage" JSON..= intermediateStorage,
+         "Transformations" JSON..= transformations]
+instance Property "IntermediateStorage" CustomTransformationConfigurationProperty where
+  type PropertyType "IntermediateStorage" CustomTransformationConfigurationProperty = IntermediateStorageProperty
+  set newValue CustomTransformationConfigurationProperty {..}
+    = CustomTransformationConfigurationProperty
+        {intermediateStorage = newValue, ..}
+instance Property "Transformations" CustomTransformationConfigurationProperty where
+  type PropertyType "Transformations" CustomTransformationConfigurationProperty = [TransformationProperty]
+  set newValue CustomTransformationConfigurationProperty {..}
+    = CustomTransformationConfigurationProperty
+        {transformations = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/DataSource/CustomTransformationConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/DataSource/CustomTransformationConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataSource/CustomTransformationConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.DataSource.CustomTransformationConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data CustomTransformationConfigurationProperty :: Prelude.Type
+instance ToResourceProperties CustomTransformationConfigurationProperty
+instance Prelude.Eq CustomTransformationConfigurationProperty
+instance Prelude.Show CustomTransformationConfigurationProperty
+instance JSON.ToJSON CustomTransformationConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/DataSource/DataSourceConfigurationProperty.hs b/gen/Stratosphere/Bedrock/DataSource/DataSourceConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataSource/DataSourceConfigurationProperty.hs
@@ -0,0 +1,101 @@
+module Stratosphere.Bedrock.DataSource.DataSourceConfigurationProperty (
+        module Exports, DataSourceConfigurationProperty(..),
+        mkDataSourceConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.DataSource.ConfluenceDataSourceConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.DataSource.S3DataSourceConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.DataSource.SalesforceDataSourceConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.DataSource.SharePointDataSourceConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.DataSource.WebDataSourceConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data DataSourceConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-datasourceconfiguration.html>
+    DataSourceConfigurationProperty {haddock_workaround_ :: (),
+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-datasourceconfiguration.html#cfn-bedrock-datasource-datasourceconfiguration-confluenceconfiguration>
+                                     confluenceConfiguration :: (Prelude.Maybe ConfluenceDataSourceConfigurationProperty),
+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-datasourceconfiguration.html#cfn-bedrock-datasource-datasourceconfiguration-s3configuration>
+                                     s3Configuration :: (Prelude.Maybe S3DataSourceConfigurationProperty),
+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-datasourceconfiguration.html#cfn-bedrock-datasource-datasourceconfiguration-salesforceconfiguration>
+                                     salesforceConfiguration :: (Prelude.Maybe SalesforceDataSourceConfigurationProperty),
+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-datasourceconfiguration.html#cfn-bedrock-datasource-datasourceconfiguration-sharepointconfiguration>
+                                     sharePointConfiguration :: (Prelude.Maybe SharePointDataSourceConfigurationProperty),
+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-datasourceconfiguration.html#cfn-bedrock-datasource-datasourceconfiguration-type>
+                                     type' :: (Value Prelude.Text),
+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-datasourceconfiguration.html#cfn-bedrock-datasource-datasourceconfiguration-webconfiguration>
+                                     webConfiguration :: (Prelude.Maybe WebDataSourceConfigurationProperty)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkDataSourceConfigurationProperty ::
+  Value Prelude.Text -> DataSourceConfigurationProperty
+mkDataSourceConfigurationProperty type'
+  = DataSourceConfigurationProperty
+      {haddock_workaround_ = (), type' = type',
+       confluenceConfiguration = Prelude.Nothing,
+       s3Configuration = Prelude.Nothing,
+       salesforceConfiguration = Prelude.Nothing,
+       sharePointConfiguration = Prelude.Nothing,
+       webConfiguration = Prelude.Nothing}
+instance ToResourceProperties DataSourceConfigurationProperty where
+  toResourceProperties DataSourceConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::DataSource.DataSourceConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["Type" JSON..= type']
+                           (Prelude.catMaybes
+                              [(JSON..=) "ConfluenceConfiguration"
+                                 Prelude.<$> confluenceConfiguration,
+                               (JSON..=) "S3Configuration" Prelude.<$> s3Configuration,
+                               (JSON..=) "SalesforceConfiguration"
+                                 Prelude.<$> salesforceConfiguration,
+                               (JSON..=) "SharePointConfiguration"
+                                 Prelude.<$> sharePointConfiguration,
+                               (JSON..=) "WebConfiguration" Prelude.<$> webConfiguration]))}
+instance JSON.ToJSON DataSourceConfigurationProperty where
+  toJSON DataSourceConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["Type" JSON..= type']
+              (Prelude.catMaybes
+                 [(JSON..=) "ConfluenceConfiguration"
+                    Prelude.<$> confluenceConfiguration,
+                  (JSON..=) "S3Configuration" Prelude.<$> s3Configuration,
+                  (JSON..=) "SalesforceConfiguration"
+                    Prelude.<$> salesforceConfiguration,
+                  (JSON..=) "SharePointConfiguration"
+                    Prelude.<$> sharePointConfiguration,
+                  (JSON..=) "WebConfiguration" Prelude.<$> webConfiguration])))
+instance Property "ConfluenceConfiguration" DataSourceConfigurationProperty where
+  type PropertyType "ConfluenceConfiguration" DataSourceConfigurationProperty = ConfluenceDataSourceConfigurationProperty
+  set newValue DataSourceConfigurationProperty {..}
+    = DataSourceConfigurationProperty
+        {confluenceConfiguration = Prelude.pure newValue, ..}
+instance Property "S3Configuration" DataSourceConfigurationProperty where
+  type PropertyType "S3Configuration" DataSourceConfigurationProperty = S3DataSourceConfigurationProperty
+  set newValue DataSourceConfigurationProperty {..}
+    = DataSourceConfigurationProperty
+        {s3Configuration = Prelude.pure newValue, ..}
+instance Property "SalesforceConfiguration" DataSourceConfigurationProperty where
+  type PropertyType "SalesforceConfiguration" DataSourceConfigurationProperty = SalesforceDataSourceConfigurationProperty
+  set newValue DataSourceConfigurationProperty {..}
+    = DataSourceConfigurationProperty
+        {salesforceConfiguration = Prelude.pure newValue, ..}
+instance Property "SharePointConfiguration" DataSourceConfigurationProperty where
+  type PropertyType "SharePointConfiguration" DataSourceConfigurationProperty = SharePointDataSourceConfigurationProperty
+  set newValue DataSourceConfigurationProperty {..}
+    = DataSourceConfigurationProperty
+        {sharePointConfiguration = Prelude.pure newValue, ..}
+instance Property "Type" DataSourceConfigurationProperty where
+  type PropertyType "Type" DataSourceConfigurationProperty = Value Prelude.Text
+  set newValue DataSourceConfigurationProperty {..}
+    = DataSourceConfigurationProperty {type' = newValue, ..}
+instance Property "WebConfiguration" DataSourceConfigurationProperty where
+  type PropertyType "WebConfiguration" DataSourceConfigurationProperty = WebDataSourceConfigurationProperty
+  set newValue DataSourceConfigurationProperty {..}
+    = DataSourceConfigurationProperty
+        {webConfiguration = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/DataSource/DataSourceConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/DataSource/DataSourceConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataSource/DataSourceConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.DataSource.DataSourceConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data DataSourceConfigurationProperty :: Prelude.Type
+instance ToResourceProperties DataSourceConfigurationProperty
+instance Prelude.Eq DataSourceConfigurationProperty
+instance Prelude.Show DataSourceConfigurationProperty
+instance JSON.ToJSON DataSourceConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/DataSource/EnrichmentStrategyConfigurationProperty.hs b/gen/Stratosphere/Bedrock/DataSource/EnrichmentStrategyConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataSource/EnrichmentStrategyConfigurationProperty.hs
@@ -0,0 +1,33 @@
+module Stratosphere.Bedrock.DataSource.EnrichmentStrategyConfigurationProperty (
+        EnrichmentStrategyConfigurationProperty(..),
+        mkEnrichmentStrategyConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data EnrichmentStrategyConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-enrichmentstrategyconfiguration.html>
+    EnrichmentStrategyConfigurationProperty {haddock_workaround_ :: (),
+                                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-enrichmentstrategyconfiguration.html#cfn-bedrock-datasource-enrichmentstrategyconfiguration-method>
+                                             method :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkEnrichmentStrategyConfigurationProperty ::
+  Value Prelude.Text -> EnrichmentStrategyConfigurationProperty
+mkEnrichmentStrategyConfigurationProperty method
+  = EnrichmentStrategyConfigurationProperty
+      {haddock_workaround_ = (), method = method}
+instance ToResourceProperties EnrichmentStrategyConfigurationProperty where
+  toResourceProperties EnrichmentStrategyConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::DataSource.EnrichmentStrategyConfiguration",
+         supportsTags = Prelude.False,
+         properties = ["Method" JSON..= method]}
+instance JSON.ToJSON EnrichmentStrategyConfigurationProperty where
+  toJSON EnrichmentStrategyConfigurationProperty {..}
+    = JSON.object ["Method" JSON..= method]
+instance Property "Method" EnrichmentStrategyConfigurationProperty where
+  type PropertyType "Method" EnrichmentStrategyConfigurationProperty = Value Prelude.Text
+  set newValue EnrichmentStrategyConfigurationProperty {..}
+    = EnrichmentStrategyConfigurationProperty {method = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/DataSource/EnrichmentStrategyConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/DataSource/EnrichmentStrategyConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataSource/EnrichmentStrategyConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.DataSource.EnrichmentStrategyConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data EnrichmentStrategyConfigurationProperty :: Prelude.Type
+instance ToResourceProperties EnrichmentStrategyConfigurationProperty
+instance Prelude.Eq EnrichmentStrategyConfigurationProperty
+instance Prelude.Show EnrichmentStrategyConfigurationProperty
+instance JSON.ToJSON EnrichmentStrategyConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/DataSource/FixedSizeChunkingConfigurationProperty.hs b/gen/Stratosphere/Bedrock/DataSource/FixedSizeChunkingConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataSource/FixedSizeChunkingConfigurationProperty.hs
@@ -0,0 +1,47 @@
+module Stratosphere.Bedrock.DataSource.FixedSizeChunkingConfigurationProperty (
+        FixedSizeChunkingConfigurationProperty(..),
+        mkFixedSizeChunkingConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data FixedSizeChunkingConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-fixedsizechunkingconfiguration.html>
+    FixedSizeChunkingConfigurationProperty {haddock_workaround_ :: (),
+                                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-fixedsizechunkingconfiguration.html#cfn-bedrock-datasource-fixedsizechunkingconfiguration-maxtokens>
+                                            maxTokens :: (Value Prelude.Integer),
+                                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-fixedsizechunkingconfiguration.html#cfn-bedrock-datasource-fixedsizechunkingconfiguration-overlappercentage>
+                                            overlapPercentage :: (Value Prelude.Integer)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkFixedSizeChunkingConfigurationProperty ::
+  Value Prelude.Integer
+  -> Value Prelude.Integer -> FixedSizeChunkingConfigurationProperty
+mkFixedSizeChunkingConfigurationProperty
+  maxTokens
+  overlapPercentage
+  = FixedSizeChunkingConfigurationProperty
+      {haddock_workaround_ = (), maxTokens = maxTokens,
+       overlapPercentage = overlapPercentage}
+instance ToResourceProperties FixedSizeChunkingConfigurationProperty where
+  toResourceProperties FixedSizeChunkingConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::DataSource.FixedSizeChunkingConfiguration",
+         supportsTags = Prelude.False,
+         properties = ["MaxTokens" JSON..= maxTokens,
+                       "OverlapPercentage" JSON..= overlapPercentage]}
+instance JSON.ToJSON FixedSizeChunkingConfigurationProperty where
+  toJSON FixedSizeChunkingConfigurationProperty {..}
+    = JSON.object
+        ["MaxTokens" JSON..= maxTokens,
+         "OverlapPercentage" JSON..= overlapPercentage]
+instance Property "MaxTokens" FixedSizeChunkingConfigurationProperty where
+  type PropertyType "MaxTokens" FixedSizeChunkingConfigurationProperty = Value Prelude.Integer
+  set newValue FixedSizeChunkingConfigurationProperty {..}
+    = FixedSizeChunkingConfigurationProperty {maxTokens = newValue, ..}
+instance Property "OverlapPercentage" FixedSizeChunkingConfigurationProperty where
+  type PropertyType "OverlapPercentage" FixedSizeChunkingConfigurationProperty = Value Prelude.Integer
+  set newValue FixedSizeChunkingConfigurationProperty {..}
+    = FixedSizeChunkingConfigurationProperty
+        {overlapPercentage = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/DataSource/FixedSizeChunkingConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/DataSource/FixedSizeChunkingConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataSource/FixedSizeChunkingConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.DataSource.FixedSizeChunkingConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data FixedSizeChunkingConfigurationProperty :: Prelude.Type
+instance ToResourceProperties FixedSizeChunkingConfigurationProperty
+instance Prelude.Eq FixedSizeChunkingConfigurationProperty
+instance Prelude.Show FixedSizeChunkingConfigurationProperty
+instance JSON.ToJSON FixedSizeChunkingConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/DataSource/HierarchicalChunkingConfigurationProperty.hs b/gen/Stratosphere/Bedrock/DataSource/HierarchicalChunkingConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataSource/HierarchicalChunkingConfigurationProperty.hs
@@ -0,0 +1,51 @@
+module Stratosphere.Bedrock.DataSource.HierarchicalChunkingConfigurationProperty (
+        module Exports, HierarchicalChunkingConfigurationProperty(..),
+        mkHierarchicalChunkingConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.DataSource.HierarchicalChunkingLevelConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data HierarchicalChunkingConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-hierarchicalchunkingconfiguration.html>
+    HierarchicalChunkingConfigurationProperty {haddock_workaround_ :: (),
+                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-hierarchicalchunkingconfiguration.html#cfn-bedrock-datasource-hierarchicalchunkingconfiguration-levelconfigurations>
+                                               levelConfigurations :: [HierarchicalChunkingLevelConfigurationProperty],
+                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-hierarchicalchunkingconfiguration.html#cfn-bedrock-datasource-hierarchicalchunkingconfiguration-overlaptokens>
+                                               overlapTokens :: (Value Prelude.Integer)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkHierarchicalChunkingConfigurationProperty ::
+  [HierarchicalChunkingLevelConfigurationProperty]
+  -> Value Prelude.Integer
+     -> HierarchicalChunkingConfigurationProperty
+mkHierarchicalChunkingConfigurationProperty
+  levelConfigurations
+  overlapTokens
+  = HierarchicalChunkingConfigurationProperty
+      {haddock_workaround_ = (),
+       levelConfigurations = levelConfigurations,
+       overlapTokens = overlapTokens}
+instance ToResourceProperties HierarchicalChunkingConfigurationProperty where
+  toResourceProperties HierarchicalChunkingConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::DataSource.HierarchicalChunkingConfiguration",
+         supportsTags = Prelude.False,
+         properties = ["LevelConfigurations" JSON..= levelConfigurations,
+                       "OverlapTokens" JSON..= overlapTokens]}
+instance JSON.ToJSON HierarchicalChunkingConfigurationProperty where
+  toJSON HierarchicalChunkingConfigurationProperty {..}
+    = JSON.object
+        ["LevelConfigurations" JSON..= levelConfigurations,
+         "OverlapTokens" JSON..= overlapTokens]
+instance Property "LevelConfigurations" HierarchicalChunkingConfigurationProperty where
+  type PropertyType "LevelConfigurations" HierarchicalChunkingConfigurationProperty = [HierarchicalChunkingLevelConfigurationProperty]
+  set newValue HierarchicalChunkingConfigurationProperty {..}
+    = HierarchicalChunkingConfigurationProperty
+        {levelConfigurations = newValue, ..}
+instance Property "OverlapTokens" HierarchicalChunkingConfigurationProperty where
+  type PropertyType "OverlapTokens" HierarchicalChunkingConfigurationProperty = Value Prelude.Integer
+  set newValue HierarchicalChunkingConfigurationProperty {..}
+    = HierarchicalChunkingConfigurationProperty
+        {overlapTokens = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/DataSource/HierarchicalChunkingConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/DataSource/HierarchicalChunkingConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataSource/HierarchicalChunkingConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.DataSource.HierarchicalChunkingConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data HierarchicalChunkingConfigurationProperty :: Prelude.Type
+instance ToResourceProperties HierarchicalChunkingConfigurationProperty
+instance Prelude.Eq HierarchicalChunkingConfigurationProperty
+instance Prelude.Show HierarchicalChunkingConfigurationProperty
+instance JSON.ToJSON HierarchicalChunkingConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/DataSource/HierarchicalChunkingLevelConfigurationProperty.hs b/gen/Stratosphere/Bedrock/DataSource/HierarchicalChunkingLevelConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataSource/HierarchicalChunkingLevelConfigurationProperty.hs
@@ -0,0 +1,36 @@
+module Stratosphere.Bedrock.DataSource.HierarchicalChunkingLevelConfigurationProperty (
+        HierarchicalChunkingLevelConfigurationProperty(..),
+        mkHierarchicalChunkingLevelConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data HierarchicalChunkingLevelConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-hierarchicalchunkinglevelconfiguration.html>
+    HierarchicalChunkingLevelConfigurationProperty {haddock_workaround_ :: (),
+                                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-hierarchicalchunkinglevelconfiguration.html#cfn-bedrock-datasource-hierarchicalchunkinglevelconfiguration-maxtokens>
+                                                    maxTokens :: (Value Prelude.Integer)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkHierarchicalChunkingLevelConfigurationProperty ::
+  Value Prelude.Integer
+  -> HierarchicalChunkingLevelConfigurationProperty
+mkHierarchicalChunkingLevelConfigurationProperty maxTokens
+  = HierarchicalChunkingLevelConfigurationProperty
+      {haddock_workaround_ = (), maxTokens = maxTokens}
+instance ToResourceProperties HierarchicalChunkingLevelConfigurationProperty where
+  toResourceProperties
+    HierarchicalChunkingLevelConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::DataSource.HierarchicalChunkingLevelConfiguration",
+         supportsTags = Prelude.False,
+         properties = ["MaxTokens" JSON..= maxTokens]}
+instance JSON.ToJSON HierarchicalChunkingLevelConfigurationProperty where
+  toJSON HierarchicalChunkingLevelConfigurationProperty {..}
+    = JSON.object ["MaxTokens" JSON..= maxTokens]
+instance Property "MaxTokens" HierarchicalChunkingLevelConfigurationProperty where
+  type PropertyType "MaxTokens" HierarchicalChunkingLevelConfigurationProperty = Value Prelude.Integer
+  set newValue HierarchicalChunkingLevelConfigurationProperty {..}
+    = HierarchicalChunkingLevelConfigurationProperty
+        {maxTokens = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/DataSource/HierarchicalChunkingLevelConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/DataSource/HierarchicalChunkingLevelConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataSource/HierarchicalChunkingLevelConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.DataSource.HierarchicalChunkingLevelConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data HierarchicalChunkingLevelConfigurationProperty :: Prelude.Type
+instance ToResourceProperties HierarchicalChunkingLevelConfigurationProperty
+instance Prelude.Eq HierarchicalChunkingLevelConfigurationProperty
+instance Prelude.Show HierarchicalChunkingLevelConfigurationProperty
+instance JSON.ToJSON HierarchicalChunkingLevelConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/DataSource/IntermediateStorageProperty.hs b/gen/Stratosphere/Bedrock/DataSource/IntermediateStorageProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataSource/IntermediateStorageProperty.hs
@@ -0,0 +1,33 @@
+module Stratosphere.Bedrock.DataSource.IntermediateStorageProperty (
+        module Exports, IntermediateStorageProperty(..),
+        mkIntermediateStorageProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.DataSource.S3LocationProperty as Exports
+import Stratosphere.ResourceProperties
+data IntermediateStorageProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-intermediatestorage.html>
+    IntermediateStorageProperty {haddock_workaround_ :: (),
+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-intermediatestorage.html#cfn-bedrock-datasource-intermediatestorage-s3location>
+                                 s3Location :: S3LocationProperty}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkIntermediateStorageProperty ::
+  S3LocationProperty -> IntermediateStorageProperty
+mkIntermediateStorageProperty s3Location
+  = IntermediateStorageProperty
+      {haddock_workaround_ = (), s3Location = s3Location}
+instance ToResourceProperties IntermediateStorageProperty where
+  toResourceProperties IntermediateStorageProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::DataSource.IntermediateStorage",
+         supportsTags = Prelude.False,
+         properties = ["S3Location" JSON..= s3Location]}
+instance JSON.ToJSON IntermediateStorageProperty where
+  toJSON IntermediateStorageProperty {..}
+    = JSON.object ["S3Location" JSON..= s3Location]
+instance Property "S3Location" IntermediateStorageProperty where
+  type PropertyType "S3Location" IntermediateStorageProperty = S3LocationProperty
+  set newValue IntermediateStorageProperty {..}
+    = IntermediateStorageProperty {s3Location = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/DataSource/IntermediateStorageProperty.hs-boot b/gen/Stratosphere/Bedrock/DataSource/IntermediateStorageProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataSource/IntermediateStorageProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.DataSource.IntermediateStorageProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data IntermediateStorageProperty :: Prelude.Type
+instance ToResourceProperties IntermediateStorageProperty
+instance Prelude.Eq IntermediateStorageProperty
+instance Prelude.Show IntermediateStorageProperty
+instance JSON.ToJSON IntermediateStorageProperty
diff --git a/gen/Stratosphere/Bedrock/DataSource/ParsingConfigurationProperty.hs b/gen/Stratosphere/Bedrock/DataSource/ParsingConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataSource/ParsingConfigurationProperty.hs
@@ -0,0 +1,66 @@
+module Stratosphere.Bedrock.DataSource.ParsingConfigurationProperty (
+        module Exports, ParsingConfigurationProperty(..),
+        mkParsingConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.DataSource.BedrockDataAutomationConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.DataSource.BedrockFoundationModelConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data ParsingConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-parsingconfiguration.html>
+    ParsingConfigurationProperty {haddock_workaround_ :: (),
+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-parsingconfiguration.html#cfn-bedrock-datasource-parsingconfiguration-bedrockdataautomationconfiguration>
+                                  bedrockDataAutomationConfiguration :: (Prelude.Maybe BedrockDataAutomationConfigurationProperty),
+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-parsingconfiguration.html#cfn-bedrock-datasource-parsingconfiguration-bedrockfoundationmodelconfiguration>
+                                  bedrockFoundationModelConfiguration :: (Prelude.Maybe BedrockFoundationModelConfigurationProperty),
+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-parsingconfiguration.html#cfn-bedrock-datasource-parsingconfiguration-parsingstrategy>
+                                  parsingStrategy :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkParsingConfigurationProperty ::
+  Value Prelude.Text -> ParsingConfigurationProperty
+mkParsingConfigurationProperty parsingStrategy
+  = ParsingConfigurationProperty
+      {haddock_workaround_ = (), parsingStrategy = parsingStrategy,
+       bedrockDataAutomationConfiguration = Prelude.Nothing,
+       bedrockFoundationModelConfiguration = Prelude.Nothing}
+instance ToResourceProperties ParsingConfigurationProperty where
+  toResourceProperties ParsingConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::DataSource.ParsingConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["ParsingStrategy" JSON..= parsingStrategy]
+                           (Prelude.catMaybes
+                              [(JSON..=) "BedrockDataAutomationConfiguration"
+                                 Prelude.<$> bedrockDataAutomationConfiguration,
+                               (JSON..=) "BedrockFoundationModelConfiguration"
+                                 Prelude.<$> bedrockFoundationModelConfiguration]))}
+instance JSON.ToJSON ParsingConfigurationProperty where
+  toJSON ParsingConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["ParsingStrategy" JSON..= parsingStrategy]
+              (Prelude.catMaybes
+                 [(JSON..=) "BedrockDataAutomationConfiguration"
+                    Prelude.<$> bedrockDataAutomationConfiguration,
+                  (JSON..=) "BedrockFoundationModelConfiguration"
+                    Prelude.<$> bedrockFoundationModelConfiguration])))
+instance Property "BedrockDataAutomationConfiguration" ParsingConfigurationProperty where
+  type PropertyType "BedrockDataAutomationConfiguration" ParsingConfigurationProperty = BedrockDataAutomationConfigurationProperty
+  set newValue ParsingConfigurationProperty {..}
+    = ParsingConfigurationProperty
+        {bedrockDataAutomationConfiguration = Prelude.pure newValue, ..}
+instance Property "BedrockFoundationModelConfiguration" ParsingConfigurationProperty where
+  type PropertyType "BedrockFoundationModelConfiguration" ParsingConfigurationProperty = BedrockFoundationModelConfigurationProperty
+  set newValue ParsingConfigurationProperty {..}
+    = ParsingConfigurationProperty
+        {bedrockFoundationModelConfiguration = Prelude.pure newValue, ..}
+instance Property "ParsingStrategy" ParsingConfigurationProperty where
+  type PropertyType "ParsingStrategy" ParsingConfigurationProperty = Value Prelude.Text
+  set newValue ParsingConfigurationProperty {..}
+    = ParsingConfigurationProperty {parsingStrategy = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/DataSource/ParsingConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/DataSource/ParsingConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataSource/ParsingConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.DataSource.ParsingConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data ParsingConfigurationProperty :: Prelude.Type
+instance ToResourceProperties ParsingConfigurationProperty
+instance Prelude.Eq ParsingConfigurationProperty
+instance Prelude.Show ParsingConfigurationProperty
+instance JSON.ToJSON ParsingConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/DataSource/ParsingPromptProperty.hs b/gen/Stratosphere/Bedrock/DataSource/ParsingPromptProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataSource/ParsingPromptProperty.hs
@@ -0,0 +1,32 @@
+module Stratosphere.Bedrock.DataSource.ParsingPromptProperty (
+        ParsingPromptProperty(..), mkParsingPromptProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data ParsingPromptProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-parsingprompt.html>
+    ParsingPromptProperty {haddock_workaround_ :: (),
+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-parsingprompt.html#cfn-bedrock-datasource-parsingprompt-parsingprompttext>
+                           parsingPromptText :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkParsingPromptProperty ::
+  Value Prelude.Text -> ParsingPromptProperty
+mkParsingPromptProperty parsingPromptText
+  = ParsingPromptProperty
+      {haddock_workaround_ = (), parsingPromptText = parsingPromptText}
+instance ToResourceProperties ParsingPromptProperty where
+  toResourceProperties ParsingPromptProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::DataSource.ParsingPrompt",
+         supportsTags = Prelude.False,
+         properties = ["ParsingPromptText" JSON..= parsingPromptText]}
+instance JSON.ToJSON ParsingPromptProperty where
+  toJSON ParsingPromptProperty {..}
+    = JSON.object ["ParsingPromptText" JSON..= parsingPromptText]
+instance Property "ParsingPromptText" ParsingPromptProperty where
+  type PropertyType "ParsingPromptText" ParsingPromptProperty = Value Prelude.Text
+  set newValue ParsingPromptProperty {..}
+    = ParsingPromptProperty {parsingPromptText = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/DataSource/ParsingPromptProperty.hs-boot b/gen/Stratosphere/Bedrock/DataSource/ParsingPromptProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataSource/ParsingPromptProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.DataSource.ParsingPromptProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data ParsingPromptProperty :: Prelude.Type
+instance ToResourceProperties ParsingPromptProperty
+instance Prelude.Eq ParsingPromptProperty
+instance Prelude.Show ParsingPromptProperty
+instance JSON.ToJSON ParsingPromptProperty
diff --git a/gen/Stratosphere/Bedrock/DataSource/PatternObjectFilterConfigurationProperty.hs b/gen/Stratosphere/Bedrock/DataSource/PatternObjectFilterConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataSource/PatternObjectFilterConfigurationProperty.hs
@@ -0,0 +1,34 @@
+module Stratosphere.Bedrock.DataSource.PatternObjectFilterConfigurationProperty (
+        module Exports, PatternObjectFilterConfigurationProperty(..),
+        mkPatternObjectFilterConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.DataSource.PatternObjectFilterProperty as Exports
+import Stratosphere.ResourceProperties
+data PatternObjectFilterConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-patternobjectfilterconfiguration.html>
+    PatternObjectFilterConfigurationProperty {haddock_workaround_ :: (),
+                                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-patternobjectfilterconfiguration.html#cfn-bedrock-datasource-patternobjectfilterconfiguration-filters>
+                                              filters :: [PatternObjectFilterProperty]}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkPatternObjectFilterConfigurationProperty ::
+  [PatternObjectFilterProperty]
+  -> PatternObjectFilterConfigurationProperty
+mkPatternObjectFilterConfigurationProperty filters
+  = PatternObjectFilterConfigurationProperty
+      {haddock_workaround_ = (), filters = filters}
+instance ToResourceProperties PatternObjectFilterConfigurationProperty where
+  toResourceProperties PatternObjectFilterConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::DataSource.PatternObjectFilterConfiguration",
+         supportsTags = Prelude.False,
+         properties = ["Filters" JSON..= filters]}
+instance JSON.ToJSON PatternObjectFilterConfigurationProperty where
+  toJSON PatternObjectFilterConfigurationProperty {..}
+    = JSON.object ["Filters" JSON..= filters]
+instance Property "Filters" PatternObjectFilterConfigurationProperty where
+  type PropertyType "Filters" PatternObjectFilterConfigurationProperty = [PatternObjectFilterProperty]
+  set newValue PatternObjectFilterConfigurationProperty {..}
+    = PatternObjectFilterConfigurationProperty {filters = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/DataSource/PatternObjectFilterConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/DataSource/PatternObjectFilterConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataSource/PatternObjectFilterConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.DataSource.PatternObjectFilterConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data PatternObjectFilterConfigurationProperty :: Prelude.Type
+instance ToResourceProperties PatternObjectFilterConfigurationProperty
+instance Prelude.Eq PatternObjectFilterConfigurationProperty
+instance Prelude.Show PatternObjectFilterConfigurationProperty
+instance JSON.ToJSON PatternObjectFilterConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/DataSource/PatternObjectFilterProperty.hs b/gen/Stratosphere/Bedrock/DataSource/PatternObjectFilterProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataSource/PatternObjectFilterProperty.hs
@@ -0,0 +1,59 @@
+module Stratosphere.Bedrock.DataSource.PatternObjectFilterProperty (
+        PatternObjectFilterProperty(..), mkPatternObjectFilterProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data PatternObjectFilterProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-patternobjectfilter.html>
+    PatternObjectFilterProperty {haddock_workaround_ :: (),
+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-patternobjectfilter.html#cfn-bedrock-datasource-patternobjectfilter-exclusionfilters>
+                                 exclusionFilters :: (Prelude.Maybe (ValueList Prelude.Text)),
+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-patternobjectfilter.html#cfn-bedrock-datasource-patternobjectfilter-inclusionfilters>
+                                 inclusionFilters :: (Prelude.Maybe (ValueList Prelude.Text)),
+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-patternobjectfilter.html#cfn-bedrock-datasource-patternobjectfilter-objecttype>
+                                 objectType :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkPatternObjectFilterProperty ::
+  Value Prelude.Text -> PatternObjectFilterProperty
+mkPatternObjectFilterProperty objectType
+  = PatternObjectFilterProperty
+      {haddock_workaround_ = (), objectType = objectType,
+       exclusionFilters = Prelude.Nothing,
+       inclusionFilters = Prelude.Nothing}
+instance ToResourceProperties PatternObjectFilterProperty where
+  toResourceProperties PatternObjectFilterProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::DataSource.PatternObjectFilter",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["ObjectType" JSON..= objectType]
+                           (Prelude.catMaybes
+                              [(JSON..=) "ExclusionFilters" Prelude.<$> exclusionFilters,
+                               (JSON..=) "InclusionFilters" Prelude.<$> inclusionFilters]))}
+instance JSON.ToJSON PatternObjectFilterProperty where
+  toJSON PatternObjectFilterProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["ObjectType" JSON..= objectType]
+              (Prelude.catMaybes
+                 [(JSON..=) "ExclusionFilters" Prelude.<$> exclusionFilters,
+                  (JSON..=) "InclusionFilters" Prelude.<$> inclusionFilters])))
+instance Property "ExclusionFilters" PatternObjectFilterProperty where
+  type PropertyType "ExclusionFilters" PatternObjectFilterProperty = ValueList Prelude.Text
+  set newValue PatternObjectFilterProperty {..}
+    = PatternObjectFilterProperty
+        {exclusionFilters = Prelude.pure newValue, ..}
+instance Property "InclusionFilters" PatternObjectFilterProperty where
+  type PropertyType "InclusionFilters" PatternObjectFilterProperty = ValueList Prelude.Text
+  set newValue PatternObjectFilterProperty {..}
+    = PatternObjectFilterProperty
+        {inclusionFilters = Prelude.pure newValue, ..}
+instance Property "ObjectType" PatternObjectFilterProperty where
+  type PropertyType "ObjectType" PatternObjectFilterProperty = Value Prelude.Text
+  set newValue PatternObjectFilterProperty {..}
+    = PatternObjectFilterProperty {objectType = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/DataSource/PatternObjectFilterProperty.hs-boot b/gen/Stratosphere/Bedrock/DataSource/PatternObjectFilterProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataSource/PatternObjectFilterProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.DataSource.PatternObjectFilterProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data PatternObjectFilterProperty :: Prelude.Type
+instance ToResourceProperties PatternObjectFilterProperty
+instance Prelude.Eq PatternObjectFilterProperty
+instance Prelude.Show PatternObjectFilterProperty
+instance JSON.ToJSON PatternObjectFilterProperty
diff --git a/gen/Stratosphere/Bedrock/DataSource/S3DataSourceConfigurationProperty.hs b/gen/Stratosphere/Bedrock/DataSource/S3DataSourceConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataSource/S3DataSourceConfigurationProperty.hs
@@ -0,0 +1,60 @@
+module Stratosphere.Bedrock.DataSource.S3DataSourceConfigurationProperty (
+        S3DataSourceConfigurationProperty(..),
+        mkS3DataSourceConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data S3DataSourceConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-s3datasourceconfiguration.html>
+    S3DataSourceConfigurationProperty {haddock_workaround_ :: (),
+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-s3datasourceconfiguration.html#cfn-bedrock-datasource-s3datasourceconfiguration-bucketarn>
+                                       bucketArn :: (Value Prelude.Text),
+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-s3datasourceconfiguration.html#cfn-bedrock-datasource-s3datasourceconfiguration-bucketowneraccountid>
+                                       bucketOwnerAccountId :: (Prelude.Maybe (Value Prelude.Text)),
+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-s3datasourceconfiguration.html#cfn-bedrock-datasource-s3datasourceconfiguration-inclusionprefixes>
+                                       inclusionPrefixes :: (Prelude.Maybe (ValueList Prelude.Text))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkS3DataSourceConfigurationProperty ::
+  Value Prelude.Text -> S3DataSourceConfigurationProperty
+mkS3DataSourceConfigurationProperty bucketArn
+  = S3DataSourceConfigurationProperty
+      {haddock_workaround_ = (), bucketArn = bucketArn,
+       bucketOwnerAccountId = Prelude.Nothing,
+       inclusionPrefixes = Prelude.Nothing}
+instance ToResourceProperties S3DataSourceConfigurationProperty where
+  toResourceProperties S3DataSourceConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::DataSource.S3DataSourceConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["BucketArn" JSON..= bucketArn]
+                           (Prelude.catMaybes
+                              [(JSON..=) "BucketOwnerAccountId" Prelude.<$> bucketOwnerAccountId,
+                               (JSON..=) "InclusionPrefixes" Prelude.<$> inclusionPrefixes]))}
+instance JSON.ToJSON S3DataSourceConfigurationProperty where
+  toJSON S3DataSourceConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["BucketArn" JSON..= bucketArn]
+              (Prelude.catMaybes
+                 [(JSON..=) "BucketOwnerAccountId" Prelude.<$> bucketOwnerAccountId,
+                  (JSON..=) "InclusionPrefixes" Prelude.<$> inclusionPrefixes])))
+instance Property "BucketArn" S3DataSourceConfigurationProperty where
+  type PropertyType "BucketArn" S3DataSourceConfigurationProperty = Value Prelude.Text
+  set newValue S3DataSourceConfigurationProperty {..}
+    = S3DataSourceConfigurationProperty {bucketArn = newValue, ..}
+instance Property "BucketOwnerAccountId" S3DataSourceConfigurationProperty where
+  type PropertyType "BucketOwnerAccountId" S3DataSourceConfigurationProperty = Value Prelude.Text
+  set newValue S3DataSourceConfigurationProperty {..}
+    = S3DataSourceConfigurationProperty
+        {bucketOwnerAccountId = Prelude.pure newValue, ..}
+instance Property "InclusionPrefixes" S3DataSourceConfigurationProperty where
+  type PropertyType "InclusionPrefixes" S3DataSourceConfigurationProperty = ValueList Prelude.Text
+  set newValue S3DataSourceConfigurationProperty {..}
+    = S3DataSourceConfigurationProperty
+        {inclusionPrefixes = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/DataSource/S3DataSourceConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/DataSource/S3DataSourceConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataSource/S3DataSourceConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.DataSource.S3DataSourceConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data S3DataSourceConfigurationProperty :: Prelude.Type
+instance ToResourceProperties S3DataSourceConfigurationProperty
+instance Prelude.Eq S3DataSourceConfigurationProperty
+instance Prelude.Show S3DataSourceConfigurationProperty
+instance JSON.ToJSON S3DataSourceConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/DataSource/S3LocationProperty.hs b/gen/Stratosphere/Bedrock/DataSource/S3LocationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataSource/S3LocationProperty.hs
@@ -0,0 +1,28 @@
+module Stratosphere.Bedrock.DataSource.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-bedrock-datasource-s3location.html>
+    S3LocationProperty {haddock_workaround_ :: (),
+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-s3location.html#cfn-bedrock-datasource-s3location-uri>
+                        uRI :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkS3LocationProperty :: Value Prelude.Text -> S3LocationProperty
+mkS3LocationProperty uRI
+  = S3LocationProperty {haddock_workaround_ = (), uRI = uRI}
+instance ToResourceProperties S3LocationProperty where
+  toResourceProperties S3LocationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::DataSource.S3Location",
+         supportsTags = Prelude.False, properties = ["URI" JSON..= uRI]}
+instance JSON.ToJSON S3LocationProperty where
+  toJSON S3LocationProperty {..} = JSON.object ["URI" JSON..= uRI]
+instance Property "URI" S3LocationProperty where
+  type PropertyType "URI" S3LocationProperty = Value Prelude.Text
+  set newValue S3LocationProperty {..}
+    = S3LocationProperty {uRI = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/DataSource/S3LocationProperty.hs-boot b/gen/Stratosphere/Bedrock/DataSource/S3LocationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataSource/S3LocationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.DataSource.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/Bedrock/DataSource/SalesforceCrawlerConfigurationProperty.hs b/gen/Stratosphere/Bedrock/DataSource/SalesforceCrawlerConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataSource/SalesforceCrawlerConfigurationProperty.hs
@@ -0,0 +1,39 @@
+module Stratosphere.Bedrock.DataSource.SalesforceCrawlerConfigurationProperty (
+        module Exports, SalesforceCrawlerConfigurationProperty(..),
+        mkSalesforceCrawlerConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.DataSource.CrawlFilterConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+data SalesforceCrawlerConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-salesforcecrawlerconfiguration.html>
+    SalesforceCrawlerConfigurationProperty {haddock_workaround_ :: (),
+                                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-salesforcecrawlerconfiguration.html#cfn-bedrock-datasource-salesforcecrawlerconfiguration-filterconfiguration>
+                                            filterConfiguration :: (Prelude.Maybe CrawlFilterConfigurationProperty)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkSalesforceCrawlerConfigurationProperty ::
+  SalesforceCrawlerConfigurationProperty
+mkSalesforceCrawlerConfigurationProperty
+  = SalesforceCrawlerConfigurationProperty
+      {haddock_workaround_ = (), filterConfiguration = Prelude.Nothing}
+instance ToResourceProperties SalesforceCrawlerConfigurationProperty where
+  toResourceProperties SalesforceCrawlerConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::DataSource.SalesforceCrawlerConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "FilterConfiguration" Prelude.<$> filterConfiguration])}
+instance JSON.ToJSON SalesforceCrawlerConfigurationProperty where
+  toJSON SalesforceCrawlerConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "FilterConfiguration" Prelude.<$> filterConfiguration]))
+instance Property "FilterConfiguration" SalesforceCrawlerConfigurationProperty where
+  type PropertyType "FilterConfiguration" SalesforceCrawlerConfigurationProperty = CrawlFilterConfigurationProperty
+  set newValue SalesforceCrawlerConfigurationProperty {..}
+    = SalesforceCrawlerConfigurationProperty
+        {filterConfiguration = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/DataSource/SalesforceCrawlerConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/DataSource/SalesforceCrawlerConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataSource/SalesforceCrawlerConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.DataSource.SalesforceCrawlerConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data SalesforceCrawlerConfigurationProperty :: Prelude.Type
+instance ToResourceProperties SalesforceCrawlerConfigurationProperty
+instance Prelude.Eq SalesforceCrawlerConfigurationProperty
+instance Prelude.Show SalesforceCrawlerConfigurationProperty
+instance JSON.ToJSON SalesforceCrawlerConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/DataSource/SalesforceDataSourceConfigurationProperty.hs b/gen/Stratosphere/Bedrock/DataSource/SalesforceDataSourceConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataSource/SalesforceDataSourceConfigurationProperty.hs
@@ -0,0 +1,56 @@
+module Stratosphere.Bedrock.DataSource.SalesforceDataSourceConfigurationProperty (
+        module Exports, SalesforceDataSourceConfigurationProperty(..),
+        mkSalesforceDataSourceConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.DataSource.SalesforceCrawlerConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.DataSource.SalesforceSourceConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+data SalesforceDataSourceConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-salesforcedatasourceconfiguration.html>
+    SalesforceDataSourceConfigurationProperty {haddock_workaround_ :: (),
+                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-salesforcedatasourceconfiguration.html#cfn-bedrock-datasource-salesforcedatasourceconfiguration-crawlerconfiguration>
+                                               crawlerConfiguration :: (Prelude.Maybe SalesforceCrawlerConfigurationProperty),
+                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-salesforcedatasourceconfiguration.html#cfn-bedrock-datasource-salesforcedatasourceconfiguration-sourceconfiguration>
+                                               sourceConfiguration :: SalesforceSourceConfigurationProperty}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkSalesforceDataSourceConfigurationProperty ::
+  SalesforceSourceConfigurationProperty
+  -> SalesforceDataSourceConfigurationProperty
+mkSalesforceDataSourceConfigurationProperty sourceConfiguration
+  = SalesforceDataSourceConfigurationProperty
+      {haddock_workaround_ = (),
+       sourceConfiguration = sourceConfiguration,
+       crawlerConfiguration = Prelude.Nothing}
+instance ToResourceProperties SalesforceDataSourceConfigurationProperty where
+  toResourceProperties SalesforceDataSourceConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::DataSource.SalesforceDataSourceConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["SourceConfiguration" JSON..= sourceConfiguration]
+                           (Prelude.catMaybes
+                              [(JSON..=) "CrawlerConfiguration"
+                                 Prelude.<$> crawlerConfiguration]))}
+instance JSON.ToJSON SalesforceDataSourceConfigurationProperty where
+  toJSON SalesforceDataSourceConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["SourceConfiguration" JSON..= sourceConfiguration]
+              (Prelude.catMaybes
+                 [(JSON..=) "CrawlerConfiguration"
+                    Prelude.<$> crawlerConfiguration])))
+instance Property "CrawlerConfiguration" SalesforceDataSourceConfigurationProperty where
+  type PropertyType "CrawlerConfiguration" SalesforceDataSourceConfigurationProperty = SalesforceCrawlerConfigurationProperty
+  set newValue SalesforceDataSourceConfigurationProperty {..}
+    = SalesforceDataSourceConfigurationProperty
+        {crawlerConfiguration = Prelude.pure newValue, ..}
+instance Property "SourceConfiguration" SalesforceDataSourceConfigurationProperty where
+  type PropertyType "SourceConfiguration" SalesforceDataSourceConfigurationProperty = SalesforceSourceConfigurationProperty
+  set newValue SalesforceDataSourceConfigurationProperty {..}
+    = SalesforceDataSourceConfigurationProperty
+        {sourceConfiguration = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/DataSource/SalesforceDataSourceConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/DataSource/SalesforceDataSourceConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataSource/SalesforceDataSourceConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.DataSource.SalesforceDataSourceConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data SalesforceDataSourceConfigurationProperty :: Prelude.Type
+instance ToResourceProperties SalesforceDataSourceConfigurationProperty
+instance Prelude.Eq SalesforceDataSourceConfigurationProperty
+instance Prelude.Show SalesforceDataSourceConfigurationProperty
+instance JSON.ToJSON SalesforceDataSourceConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/DataSource/SalesforceSourceConfigurationProperty.hs b/gen/Stratosphere/Bedrock/DataSource/SalesforceSourceConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataSource/SalesforceSourceConfigurationProperty.hs
@@ -0,0 +1,57 @@
+module Stratosphere.Bedrock.DataSource.SalesforceSourceConfigurationProperty (
+        SalesforceSourceConfigurationProperty(..),
+        mkSalesforceSourceConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data SalesforceSourceConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-salesforcesourceconfiguration.html>
+    SalesforceSourceConfigurationProperty {haddock_workaround_ :: (),
+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-salesforcesourceconfiguration.html#cfn-bedrock-datasource-salesforcesourceconfiguration-authtype>
+                                           authType :: (Value Prelude.Text),
+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-salesforcesourceconfiguration.html#cfn-bedrock-datasource-salesforcesourceconfiguration-credentialssecretarn>
+                                           credentialsSecretArn :: (Value Prelude.Text),
+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-salesforcesourceconfiguration.html#cfn-bedrock-datasource-salesforcesourceconfiguration-hosturl>
+                                           hostUrl :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkSalesforceSourceConfigurationProperty ::
+  Value Prelude.Text
+  -> Value Prelude.Text
+     -> Value Prelude.Text -> SalesforceSourceConfigurationProperty
+mkSalesforceSourceConfigurationProperty
+  authType
+  credentialsSecretArn
+  hostUrl
+  = SalesforceSourceConfigurationProperty
+      {haddock_workaround_ = (), authType = authType,
+       credentialsSecretArn = credentialsSecretArn, hostUrl = hostUrl}
+instance ToResourceProperties SalesforceSourceConfigurationProperty where
+  toResourceProperties SalesforceSourceConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::DataSource.SalesforceSourceConfiguration",
+         supportsTags = Prelude.False,
+         properties = ["AuthType" JSON..= authType,
+                       "CredentialsSecretArn" JSON..= credentialsSecretArn,
+                       "HostUrl" JSON..= hostUrl]}
+instance JSON.ToJSON SalesforceSourceConfigurationProperty where
+  toJSON SalesforceSourceConfigurationProperty {..}
+    = JSON.object
+        ["AuthType" JSON..= authType,
+         "CredentialsSecretArn" JSON..= credentialsSecretArn,
+         "HostUrl" JSON..= hostUrl]
+instance Property "AuthType" SalesforceSourceConfigurationProperty where
+  type PropertyType "AuthType" SalesforceSourceConfigurationProperty = Value Prelude.Text
+  set newValue SalesforceSourceConfigurationProperty {..}
+    = SalesforceSourceConfigurationProperty {authType = newValue, ..}
+instance Property "CredentialsSecretArn" SalesforceSourceConfigurationProperty where
+  type PropertyType "CredentialsSecretArn" SalesforceSourceConfigurationProperty = Value Prelude.Text
+  set newValue SalesforceSourceConfigurationProperty {..}
+    = SalesforceSourceConfigurationProperty
+        {credentialsSecretArn = newValue, ..}
+instance Property "HostUrl" SalesforceSourceConfigurationProperty where
+  type PropertyType "HostUrl" SalesforceSourceConfigurationProperty = Value Prelude.Text
+  set newValue SalesforceSourceConfigurationProperty {..}
+    = SalesforceSourceConfigurationProperty {hostUrl = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/DataSource/SalesforceSourceConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/DataSource/SalesforceSourceConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataSource/SalesforceSourceConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.DataSource.SalesforceSourceConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data SalesforceSourceConfigurationProperty :: Prelude.Type
+instance ToResourceProperties SalesforceSourceConfigurationProperty
+instance Prelude.Eq SalesforceSourceConfigurationProperty
+instance Prelude.Show SalesforceSourceConfigurationProperty
+instance JSON.ToJSON SalesforceSourceConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/DataSource/SeedUrlProperty.hs b/gen/Stratosphere/Bedrock/DataSource/SeedUrlProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataSource/SeedUrlProperty.hs
@@ -0,0 +1,28 @@
+module Stratosphere.Bedrock.DataSource.SeedUrlProperty (
+        SeedUrlProperty(..), mkSeedUrlProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data SeedUrlProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-seedurl.html>
+    SeedUrlProperty {haddock_workaround_ :: (),
+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-seedurl.html#cfn-bedrock-datasource-seedurl-url>
+                     url :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkSeedUrlProperty :: Value Prelude.Text -> SeedUrlProperty
+mkSeedUrlProperty url
+  = SeedUrlProperty {haddock_workaround_ = (), url = url}
+instance ToResourceProperties SeedUrlProperty where
+  toResourceProperties SeedUrlProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::DataSource.SeedUrl",
+         supportsTags = Prelude.False, properties = ["Url" JSON..= url]}
+instance JSON.ToJSON SeedUrlProperty where
+  toJSON SeedUrlProperty {..} = JSON.object ["Url" JSON..= url]
+instance Property "Url" SeedUrlProperty where
+  type PropertyType "Url" SeedUrlProperty = Value Prelude.Text
+  set newValue SeedUrlProperty {..}
+    = SeedUrlProperty {url = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/DataSource/SeedUrlProperty.hs-boot b/gen/Stratosphere/Bedrock/DataSource/SeedUrlProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataSource/SeedUrlProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.DataSource.SeedUrlProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data SeedUrlProperty :: Prelude.Type
+instance ToResourceProperties SeedUrlProperty
+instance Prelude.Eq SeedUrlProperty
+instance Prelude.Show SeedUrlProperty
+instance JSON.ToJSON SeedUrlProperty
diff --git a/gen/Stratosphere/Bedrock/DataSource/SemanticChunkingConfigurationProperty.hs b/gen/Stratosphere/Bedrock/DataSource/SemanticChunkingConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataSource/SemanticChunkingConfigurationProperty.hs
@@ -0,0 +1,58 @@
+module Stratosphere.Bedrock.DataSource.SemanticChunkingConfigurationProperty (
+        SemanticChunkingConfigurationProperty(..),
+        mkSemanticChunkingConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data SemanticChunkingConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-semanticchunkingconfiguration.html>
+    SemanticChunkingConfigurationProperty {haddock_workaround_ :: (),
+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-semanticchunkingconfiguration.html#cfn-bedrock-datasource-semanticchunkingconfiguration-breakpointpercentilethreshold>
+                                           breakpointPercentileThreshold :: (Value Prelude.Integer),
+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-semanticchunkingconfiguration.html#cfn-bedrock-datasource-semanticchunkingconfiguration-buffersize>
+                                           bufferSize :: (Value Prelude.Integer),
+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-semanticchunkingconfiguration.html#cfn-bedrock-datasource-semanticchunkingconfiguration-maxtokens>
+                                           maxTokens :: (Value Prelude.Integer)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkSemanticChunkingConfigurationProperty ::
+  Value Prelude.Integer
+  -> Value Prelude.Integer
+     -> Value Prelude.Integer -> SemanticChunkingConfigurationProperty
+mkSemanticChunkingConfigurationProperty
+  breakpointPercentileThreshold
+  bufferSize
+  maxTokens
+  = SemanticChunkingConfigurationProperty
+      {haddock_workaround_ = (),
+       breakpointPercentileThreshold = breakpointPercentileThreshold,
+       bufferSize = bufferSize, maxTokens = maxTokens}
+instance ToResourceProperties SemanticChunkingConfigurationProperty where
+  toResourceProperties SemanticChunkingConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::DataSource.SemanticChunkingConfiguration",
+         supportsTags = Prelude.False,
+         properties = ["BreakpointPercentileThreshold"
+                         JSON..= breakpointPercentileThreshold,
+                       "BufferSize" JSON..= bufferSize, "MaxTokens" JSON..= maxTokens]}
+instance JSON.ToJSON SemanticChunkingConfigurationProperty where
+  toJSON SemanticChunkingConfigurationProperty {..}
+    = JSON.object
+        ["BreakpointPercentileThreshold"
+           JSON..= breakpointPercentileThreshold,
+         "BufferSize" JSON..= bufferSize, "MaxTokens" JSON..= maxTokens]
+instance Property "BreakpointPercentileThreshold" SemanticChunkingConfigurationProperty where
+  type PropertyType "BreakpointPercentileThreshold" SemanticChunkingConfigurationProperty = Value Prelude.Integer
+  set newValue SemanticChunkingConfigurationProperty {..}
+    = SemanticChunkingConfigurationProperty
+        {breakpointPercentileThreshold = newValue, ..}
+instance Property "BufferSize" SemanticChunkingConfigurationProperty where
+  type PropertyType "BufferSize" SemanticChunkingConfigurationProperty = Value Prelude.Integer
+  set newValue SemanticChunkingConfigurationProperty {..}
+    = SemanticChunkingConfigurationProperty {bufferSize = newValue, ..}
+instance Property "MaxTokens" SemanticChunkingConfigurationProperty where
+  type PropertyType "MaxTokens" SemanticChunkingConfigurationProperty = Value Prelude.Integer
+  set newValue SemanticChunkingConfigurationProperty {..}
+    = SemanticChunkingConfigurationProperty {maxTokens = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/DataSource/SemanticChunkingConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/DataSource/SemanticChunkingConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataSource/SemanticChunkingConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.DataSource.SemanticChunkingConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data SemanticChunkingConfigurationProperty :: Prelude.Type
+instance ToResourceProperties SemanticChunkingConfigurationProperty
+instance Prelude.Eq SemanticChunkingConfigurationProperty
+instance Prelude.Show SemanticChunkingConfigurationProperty
+instance JSON.ToJSON SemanticChunkingConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/DataSource/ServerSideEncryptionConfigurationProperty.hs b/gen/Stratosphere/Bedrock/DataSource/ServerSideEncryptionConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataSource/ServerSideEncryptionConfigurationProperty.hs
@@ -0,0 +1,37 @@
+module Stratosphere.Bedrock.DataSource.ServerSideEncryptionConfigurationProperty (
+        ServerSideEncryptionConfigurationProperty(..),
+        mkServerSideEncryptionConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data ServerSideEncryptionConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-serversideencryptionconfiguration.html>
+    ServerSideEncryptionConfigurationProperty {haddock_workaround_ :: (),
+                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-serversideencryptionconfiguration.html#cfn-bedrock-datasource-serversideencryptionconfiguration-kmskeyarn>
+                                               kmsKeyArn :: (Prelude.Maybe (Value Prelude.Text))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkServerSideEncryptionConfigurationProperty ::
+  ServerSideEncryptionConfigurationProperty
+mkServerSideEncryptionConfigurationProperty
+  = ServerSideEncryptionConfigurationProperty
+      {haddock_workaround_ = (), kmsKeyArn = Prelude.Nothing}
+instance ToResourceProperties ServerSideEncryptionConfigurationProperty where
+  toResourceProperties ServerSideEncryptionConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::DataSource.ServerSideEncryptionConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes [(JSON..=) "KmsKeyArn" Prelude.<$> kmsKeyArn])}
+instance JSON.ToJSON ServerSideEncryptionConfigurationProperty where
+  toJSON ServerSideEncryptionConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes [(JSON..=) "KmsKeyArn" Prelude.<$> kmsKeyArn]))
+instance Property "KmsKeyArn" ServerSideEncryptionConfigurationProperty where
+  type PropertyType "KmsKeyArn" ServerSideEncryptionConfigurationProperty = Value Prelude.Text
+  set newValue ServerSideEncryptionConfigurationProperty {..}
+    = ServerSideEncryptionConfigurationProperty
+        {kmsKeyArn = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/DataSource/ServerSideEncryptionConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/DataSource/ServerSideEncryptionConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataSource/ServerSideEncryptionConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.DataSource.ServerSideEncryptionConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data ServerSideEncryptionConfigurationProperty :: Prelude.Type
+instance ToResourceProperties ServerSideEncryptionConfigurationProperty
+instance Prelude.Eq ServerSideEncryptionConfigurationProperty
+instance Prelude.Show ServerSideEncryptionConfigurationProperty
+instance JSON.ToJSON ServerSideEncryptionConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/DataSource/SharePointCrawlerConfigurationProperty.hs b/gen/Stratosphere/Bedrock/DataSource/SharePointCrawlerConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataSource/SharePointCrawlerConfigurationProperty.hs
@@ -0,0 +1,39 @@
+module Stratosphere.Bedrock.DataSource.SharePointCrawlerConfigurationProperty (
+        module Exports, SharePointCrawlerConfigurationProperty(..),
+        mkSharePointCrawlerConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.DataSource.CrawlFilterConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+data SharePointCrawlerConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-sharepointcrawlerconfiguration.html>
+    SharePointCrawlerConfigurationProperty {haddock_workaround_ :: (),
+                                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-sharepointcrawlerconfiguration.html#cfn-bedrock-datasource-sharepointcrawlerconfiguration-filterconfiguration>
+                                            filterConfiguration :: (Prelude.Maybe CrawlFilterConfigurationProperty)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkSharePointCrawlerConfigurationProperty ::
+  SharePointCrawlerConfigurationProperty
+mkSharePointCrawlerConfigurationProperty
+  = SharePointCrawlerConfigurationProperty
+      {haddock_workaround_ = (), filterConfiguration = Prelude.Nothing}
+instance ToResourceProperties SharePointCrawlerConfigurationProperty where
+  toResourceProperties SharePointCrawlerConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::DataSource.SharePointCrawlerConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "FilterConfiguration" Prelude.<$> filterConfiguration])}
+instance JSON.ToJSON SharePointCrawlerConfigurationProperty where
+  toJSON SharePointCrawlerConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "FilterConfiguration" Prelude.<$> filterConfiguration]))
+instance Property "FilterConfiguration" SharePointCrawlerConfigurationProperty where
+  type PropertyType "FilterConfiguration" SharePointCrawlerConfigurationProperty = CrawlFilterConfigurationProperty
+  set newValue SharePointCrawlerConfigurationProperty {..}
+    = SharePointCrawlerConfigurationProperty
+        {filterConfiguration = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/DataSource/SharePointCrawlerConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/DataSource/SharePointCrawlerConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataSource/SharePointCrawlerConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.DataSource.SharePointCrawlerConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data SharePointCrawlerConfigurationProperty :: Prelude.Type
+instance ToResourceProperties SharePointCrawlerConfigurationProperty
+instance Prelude.Eq SharePointCrawlerConfigurationProperty
+instance Prelude.Show SharePointCrawlerConfigurationProperty
+instance JSON.ToJSON SharePointCrawlerConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/DataSource/SharePointDataSourceConfigurationProperty.hs b/gen/Stratosphere/Bedrock/DataSource/SharePointDataSourceConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataSource/SharePointDataSourceConfigurationProperty.hs
@@ -0,0 +1,56 @@
+module Stratosphere.Bedrock.DataSource.SharePointDataSourceConfigurationProperty (
+        module Exports, SharePointDataSourceConfigurationProperty(..),
+        mkSharePointDataSourceConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.DataSource.SharePointCrawlerConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.DataSource.SharePointSourceConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+data SharePointDataSourceConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-sharepointdatasourceconfiguration.html>
+    SharePointDataSourceConfigurationProperty {haddock_workaround_ :: (),
+                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-sharepointdatasourceconfiguration.html#cfn-bedrock-datasource-sharepointdatasourceconfiguration-crawlerconfiguration>
+                                               crawlerConfiguration :: (Prelude.Maybe SharePointCrawlerConfigurationProperty),
+                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-sharepointdatasourceconfiguration.html#cfn-bedrock-datasource-sharepointdatasourceconfiguration-sourceconfiguration>
+                                               sourceConfiguration :: SharePointSourceConfigurationProperty}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkSharePointDataSourceConfigurationProperty ::
+  SharePointSourceConfigurationProperty
+  -> SharePointDataSourceConfigurationProperty
+mkSharePointDataSourceConfigurationProperty sourceConfiguration
+  = SharePointDataSourceConfigurationProperty
+      {haddock_workaround_ = (),
+       sourceConfiguration = sourceConfiguration,
+       crawlerConfiguration = Prelude.Nothing}
+instance ToResourceProperties SharePointDataSourceConfigurationProperty where
+  toResourceProperties SharePointDataSourceConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::DataSource.SharePointDataSourceConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["SourceConfiguration" JSON..= sourceConfiguration]
+                           (Prelude.catMaybes
+                              [(JSON..=) "CrawlerConfiguration"
+                                 Prelude.<$> crawlerConfiguration]))}
+instance JSON.ToJSON SharePointDataSourceConfigurationProperty where
+  toJSON SharePointDataSourceConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["SourceConfiguration" JSON..= sourceConfiguration]
+              (Prelude.catMaybes
+                 [(JSON..=) "CrawlerConfiguration"
+                    Prelude.<$> crawlerConfiguration])))
+instance Property "CrawlerConfiguration" SharePointDataSourceConfigurationProperty where
+  type PropertyType "CrawlerConfiguration" SharePointDataSourceConfigurationProperty = SharePointCrawlerConfigurationProperty
+  set newValue SharePointDataSourceConfigurationProperty {..}
+    = SharePointDataSourceConfigurationProperty
+        {crawlerConfiguration = Prelude.pure newValue, ..}
+instance Property "SourceConfiguration" SharePointDataSourceConfigurationProperty where
+  type PropertyType "SourceConfiguration" SharePointDataSourceConfigurationProperty = SharePointSourceConfigurationProperty
+  set newValue SharePointDataSourceConfigurationProperty {..}
+    = SharePointDataSourceConfigurationProperty
+        {sourceConfiguration = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/DataSource/SharePointDataSourceConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/DataSource/SharePointDataSourceConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataSource/SharePointDataSourceConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.DataSource.SharePointDataSourceConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data SharePointDataSourceConfigurationProperty :: Prelude.Type
+instance ToResourceProperties SharePointDataSourceConfigurationProperty
+instance Prelude.Eq SharePointDataSourceConfigurationProperty
+instance Prelude.Show SharePointDataSourceConfigurationProperty
+instance JSON.ToJSON SharePointDataSourceConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/DataSource/SharePointSourceConfigurationProperty.hs b/gen/Stratosphere/Bedrock/DataSource/SharePointSourceConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataSource/SharePointSourceConfigurationProperty.hs
@@ -0,0 +1,90 @@
+module Stratosphere.Bedrock.DataSource.SharePointSourceConfigurationProperty (
+        SharePointSourceConfigurationProperty(..),
+        mkSharePointSourceConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data SharePointSourceConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-sharepointsourceconfiguration.html>
+    SharePointSourceConfigurationProperty {haddock_workaround_ :: (),
+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-sharepointsourceconfiguration.html#cfn-bedrock-datasource-sharepointsourceconfiguration-authtype>
+                                           authType :: (Value Prelude.Text),
+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-sharepointsourceconfiguration.html#cfn-bedrock-datasource-sharepointsourceconfiguration-credentialssecretarn>
+                                           credentialsSecretArn :: (Value Prelude.Text),
+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-sharepointsourceconfiguration.html#cfn-bedrock-datasource-sharepointsourceconfiguration-domain>
+                                           domain :: (Value Prelude.Text),
+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-sharepointsourceconfiguration.html#cfn-bedrock-datasource-sharepointsourceconfiguration-hosttype>
+                                           hostType :: (Value Prelude.Text),
+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-sharepointsourceconfiguration.html#cfn-bedrock-datasource-sharepointsourceconfiguration-siteurls>
+                                           siteUrls :: (ValueList Prelude.Text),
+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-sharepointsourceconfiguration.html#cfn-bedrock-datasource-sharepointsourceconfiguration-tenantid>
+                                           tenantId :: (Prelude.Maybe (Value Prelude.Text))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkSharePointSourceConfigurationProperty ::
+  Value Prelude.Text
+  -> Value Prelude.Text
+     -> Value Prelude.Text
+        -> Value Prelude.Text
+           -> ValueList Prelude.Text -> SharePointSourceConfigurationProperty
+mkSharePointSourceConfigurationProperty
+  authType
+  credentialsSecretArn
+  domain
+  hostType
+  siteUrls
+  = SharePointSourceConfigurationProperty
+      {haddock_workaround_ = (), authType = authType,
+       credentialsSecretArn = credentialsSecretArn, domain = domain,
+       hostType = hostType, siteUrls = siteUrls,
+       tenantId = Prelude.Nothing}
+instance ToResourceProperties SharePointSourceConfigurationProperty where
+  toResourceProperties SharePointSourceConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::DataSource.SharePointSourceConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["AuthType" JSON..= authType,
+                            "CredentialsSecretArn" JSON..= credentialsSecretArn,
+                            "Domain" JSON..= domain, "HostType" JSON..= hostType,
+                            "SiteUrls" JSON..= siteUrls]
+                           (Prelude.catMaybes [(JSON..=) "TenantId" Prelude.<$> tenantId]))}
+instance JSON.ToJSON SharePointSourceConfigurationProperty where
+  toJSON SharePointSourceConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["AuthType" JSON..= authType,
+               "CredentialsSecretArn" JSON..= credentialsSecretArn,
+               "Domain" JSON..= domain, "HostType" JSON..= hostType,
+               "SiteUrls" JSON..= siteUrls]
+              (Prelude.catMaybes [(JSON..=) "TenantId" Prelude.<$> tenantId])))
+instance Property "AuthType" SharePointSourceConfigurationProperty where
+  type PropertyType "AuthType" SharePointSourceConfigurationProperty = Value Prelude.Text
+  set newValue SharePointSourceConfigurationProperty {..}
+    = SharePointSourceConfigurationProperty {authType = newValue, ..}
+instance Property "CredentialsSecretArn" SharePointSourceConfigurationProperty where
+  type PropertyType "CredentialsSecretArn" SharePointSourceConfigurationProperty = Value Prelude.Text
+  set newValue SharePointSourceConfigurationProperty {..}
+    = SharePointSourceConfigurationProperty
+        {credentialsSecretArn = newValue, ..}
+instance Property "Domain" SharePointSourceConfigurationProperty where
+  type PropertyType "Domain" SharePointSourceConfigurationProperty = Value Prelude.Text
+  set newValue SharePointSourceConfigurationProperty {..}
+    = SharePointSourceConfigurationProperty {domain = newValue, ..}
+instance Property "HostType" SharePointSourceConfigurationProperty where
+  type PropertyType "HostType" SharePointSourceConfigurationProperty = Value Prelude.Text
+  set newValue SharePointSourceConfigurationProperty {..}
+    = SharePointSourceConfigurationProperty {hostType = newValue, ..}
+instance Property "SiteUrls" SharePointSourceConfigurationProperty where
+  type PropertyType "SiteUrls" SharePointSourceConfigurationProperty = ValueList Prelude.Text
+  set newValue SharePointSourceConfigurationProperty {..}
+    = SharePointSourceConfigurationProperty {siteUrls = newValue, ..}
+instance Property "TenantId" SharePointSourceConfigurationProperty where
+  type PropertyType "TenantId" SharePointSourceConfigurationProperty = Value Prelude.Text
+  set newValue SharePointSourceConfigurationProperty {..}
+    = SharePointSourceConfigurationProperty
+        {tenantId = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/DataSource/SharePointSourceConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/DataSource/SharePointSourceConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataSource/SharePointSourceConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.DataSource.SharePointSourceConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data SharePointSourceConfigurationProperty :: Prelude.Type
+instance ToResourceProperties SharePointSourceConfigurationProperty
+instance Prelude.Eq SharePointSourceConfigurationProperty
+instance Prelude.Show SharePointSourceConfigurationProperty
+instance JSON.ToJSON SharePointSourceConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/DataSource/TransformationFunctionProperty.hs b/gen/Stratosphere/Bedrock/DataSource/TransformationFunctionProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataSource/TransformationFunctionProperty.hs
@@ -0,0 +1,39 @@
+module Stratosphere.Bedrock.DataSource.TransformationFunctionProperty (
+        module Exports, TransformationFunctionProperty(..),
+        mkTransformationFunctionProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.DataSource.TransformationLambdaConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+data TransformationFunctionProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-transformationfunction.html>
+    TransformationFunctionProperty {haddock_workaround_ :: (),
+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-transformationfunction.html#cfn-bedrock-datasource-transformationfunction-transformationlambdaconfiguration>
+                                    transformationLambdaConfiguration :: TransformationLambdaConfigurationProperty}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkTransformationFunctionProperty ::
+  TransformationLambdaConfigurationProperty
+  -> TransformationFunctionProperty
+mkTransformationFunctionProperty transformationLambdaConfiguration
+  = TransformationFunctionProperty
+      {haddock_workaround_ = (),
+       transformationLambdaConfiguration = transformationLambdaConfiguration}
+instance ToResourceProperties TransformationFunctionProperty where
+  toResourceProperties TransformationFunctionProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::DataSource.TransformationFunction",
+         supportsTags = Prelude.False,
+         properties = ["TransformationLambdaConfiguration"
+                         JSON..= transformationLambdaConfiguration]}
+instance JSON.ToJSON TransformationFunctionProperty where
+  toJSON TransformationFunctionProperty {..}
+    = JSON.object
+        ["TransformationLambdaConfiguration"
+           JSON..= transformationLambdaConfiguration]
+instance Property "TransformationLambdaConfiguration" TransformationFunctionProperty where
+  type PropertyType "TransformationLambdaConfiguration" TransformationFunctionProperty = TransformationLambdaConfigurationProperty
+  set newValue TransformationFunctionProperty {..}
+    = TransformationFunctionProperty
+        {transformationLambdaConfiguration = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/DataSource/TransformationFunctionProperty.hs-boot b/gen/Stratosphere/Bedrock/DataSource/TransformationFunctionProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataSource/TransformationFunctionProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.DataSource.TransformationFunctionProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data TransformationFunctionProperty :: Prelude.Type
+instance ToResourceProperties TransformationFunctionProperty
+instance Prelude.Eq TransformationFunctionProperty
+instance Prelude.Show TransformationFunctionProperty
+instance JSON.ToJSON TransformationFunctionProperty
diff --git a/gen/Stratosphere/Bedrock/DataSource/TransformationLambdaConfigurationProperty.hs b/gen/Stratosphere/Bedrock/DataSource/TransformationLambdaConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataSource/TransformationLambdaConfigurationProperty.hs
@@ -0,0 +1,34 @@
+module Stratosphere.Bedrock.DataSource.TransformationLambdaConfigurationProperty (
+        TransformationLambdaConfigurationProperty(..),
+        mkTransformationLambdaConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data TransformationLambdaConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-transformationlambdaconfiguration.html>
+    TransformationLambdaConfigurationProperty {haddock_workaround_ :: (),
+                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-transformationlambdaconfiguration.html#cfn-bedrock-datasource-transformationlambdaconfiguration-lambdaarn>
+                                               lambdaArn :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkTransformationLambdaConfigurationProperty ::
+  Value Prelude.Text -> TransformationLambdaConfigurationProperty
+mkTransformationLambdaConfigurationProperty lambdaArn
+  = TransformationLambdaConfigurationProperty
+      {haddock_workaround_ = (), lambdaArn = lambdaArn}
+instance ToResourceProperties TransformationLambdaConfigurationProperty where
+  toResourceProperties TransformationLambdaConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::DataSource.TransformationLambdaConfiguration",
+         supportsTags = Prelude.False,
+         properties = ["LambdaArn" JSON..= lambdaArn]}
+instance JSON.ToJSON TransformationLambdaConfigurationProperty where
+  toJSON TransformationLambdaConfigurationProperty {..}
+    = JSON.object ["LambdaArn" JSON..= lambdaArn]
+instance Property "LambdaArn" TransformationLambdaConfigurationProperty where
+  type PropertyType "LambdaArn" TransformationLambdaConfigurationProperty = Value Prelude.Text
+  set newValue TransformationLambdaConfigurationProperty {..}
+    = TransformationLambdaConfigurationProperty
+        {lambdaArn = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/DataSource/TransformationLambdaConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/DataSource/TransformationLambdaConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataSource/TransformationLambdaConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.DataSource.TransformationLambdaConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data TransformationLambdaConfigurationProperty :: Prelude.Type
+instance ToResourceProperties TransformationLambdaConfigurationProperty
+instance Prelude.Eq TransformationLambdaConfigurationProperty
+instance Prelude.Show TransformationLambdaConfigurationProperty
+instance JSON.ToJSON TransformationLambdaConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/DataSource/TransformationProperty.hs b/gen/Stratosphere/Bedrock/DataSource/TransformationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataSource/TransformationProperty.hs
@@ -0,0 +1,45 @@
+module Stratosphere.Bedrock.DataSource.TransformationProperty (
+        module Exports, TransformationProperty(..),
+        mkTransformationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.DataSource.TransformationFunctionProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data TransformationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-transformation.html>
+    TransformationProperty {haddock_workaround_ :: (),
+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-transformation.html#cfn-bedrock-datasource-transformation-steptoapply>
+                            stepToApply :: (Value Prelude.Text),
+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-transformation.html#cfn-bedrock-datasource-transformation-transformationfunction>
+                            transformationFunction :: TransformationFunctionProperty}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkTransformationProperty ::
+  Value Prelude.Text
+  -> TransformationFunctionProperty -> TransformationProperty
+mkTransformationProperty stepToApply transformationFunction
+  = TransformationProperty
+      {haddock_workaround_ = (), stepToApply = stepToApply,
+       transformationFunction = transformationFunction}
+instance ToResourceProperties TransformationProperty where
+  toResourceProperties TransformationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::DataSource.Transformation",
+         supportsTags = Prelude.False,
+         properties = ["StepToApply" JSON..= stepToApply,
+                       "TransformationFunction" JSON..= transformationFunction]}
+instance JSON.ToJSON TransformationProperty where
+  toJSON TransformationProperty {..}
+    = JSON.object
+        ["StepToApply" JSON..= stepToApply,
+         "TransformationFunction" JSON..= transformationFunction]
+instance Property "StepToApply" TransformationProperty where
+  type PropertyType "StepToApply" TransformationProperty = Value Prelude.Text
+  set newValue TransformationProperty {..}
+    = TransformationProperty {stepToApply = newValue, ..}
+instance Property "TransformationFunction" TransformationProperty where
+  type PropertyType "TransformationFunction" TransformationProperty = TransformationFunctionProperty
+  set newValue TransformationProperty {..}
+    = TransformationProperty {transformationFunction = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/DataSource/TransformationProperty.hs-boot b/gen/Stratosphere/Bedrock/DataSource/TransformationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataSource/TransformationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.DataSource.TransformationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data TransformationProperty :: Prelude.Type
+instance ToResourceProperties TransformationProperty
+instance Prelude.Eq TransformationProperty
+instance Prelude.Show TransformationProperty
+instance JSON.ToJSON TransformationProperty
diff --git a/gen/Stratosphere/Bedrock/DataSource/UrlConfigurationProperty.hs b/gen/Stratosphere/Bedrock/DataSource/UrlConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataSource/UrlConfigurationProperty.hs
@@ -0,0 +1,33 @@
+module Stratosphere.Bedrock.DataSource.UrlConfigurationProperty (
+        module Exports, UrlConfigurationProperty(..),
+        mkUrlConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.DataSource.SeedUrlProperty as Exports
+import Stratosphere.ResourceProperties
+data UrlConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-urlconfiguration.html>
+    UrlConfigurationProperty {haddock_workaround_ :: (),
+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-urlconfiguration.html#cfn-bedrock-datasource-urlconfiguration-seedurls>
+                              seedUrls :: [SeedUrlProperty]}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkUrlConfigurationProperty ::
+  [SeedUrlProperty] -> UrlConfigurationProperty
+mkUrlConfigurationProperty seedUrls
+  = UrlConfigurationProperty
+      {haddock_workaround_ = (), seedUrls = seedUrls}
+instance ToResourceProperties UrlConfigurationProperty where
+  toResourceProperties UrlConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::DataSource.UrlConfiguration",
+         supportsTags = Prelude.False,
+         properties = ["SeedUrls" JSON..= seedUrls]}
+instance JSON.ToJSON UrlConfigurationProperty where
+  toJSON UrlConfigurationProperty {..}
+    = JSON.object ["SeedUrls" JSON..= seedUrls]
+instance Property "SeedUrls" UrlConfigurationProperty where
+  type PropertyType "SeedUrls" UrlConfigurationProperty = [SeedUrlProperty]
+  set newValue UrlConfigurationProperty {..}
+    = UrlConfigurationProperty {seedUrls = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/DataSource/UrlConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/DataSource/UrlConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataSource/UrlConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.DataSource.UrlConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data UrlConfigurationProperty :: Prelude.Type
+instance ToResourceProperties UrlConfigurationProperty
+instance Prelude.Eq UrlConfigurationProperty
+instance Prelude.Show UrlConfigurationProperty
+instance JSON.ToJSON UrlConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/DataSource/VectorIngestionConfigurationProperty.hs b/gen/Stratosphere/Bedrock/DataSource/VectorIngestionConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataSource/VectorIngestionConfigurationProperty.hs
@@ -0,0 +1,80 @@
+module Stratosphere.Bedrock.DataSource.VectorIngestionConfigurationProperty (
+        module Exports, VectorIngestionConfigurationProperty(..),
+        mkVectorIngestionConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.DataSource.ChunkingConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.DataSource.ContextEnrichmentConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.DataSource.CustomTransformationConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.DataSource.ParsingConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+data VectorIngestionConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-vectoringestionconfiguration.html>
+    VectorIngestionConfigurationProperty {haddock_workaround_ :: (),
+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-vectoringestionconfiguration.html#cfn-bedrock-datasource-vectoringestionconfiguration-chunkingconfiguration>
+                                          chunkingConfiguration :: (Prelude.Maybe ChunkingConfigurationProperty),
+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-vectoringestionconfiguration.html#cfn-bedrock-datasource-vectoringestionconfiguration-contextenrichmentconfiguration>
+                                          contextEnrichmentConfiguration :: (Prelude.Maybe ContextEnrichmentConfigurationProperty),
+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-vectoringestionconfiguration.html#cfn-bedrock-datasource-vectoringestionconfiguration-customtransformationconfiguration>
+                                          customTransformationConfiguration :: (Prelude.Maybe CustomTransformationConfigurationProperty),
+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-vectoringestionconfiguration.html#cfn-bedrock-datasource-vectoringestionconfiguration-parsingconfiguration>
+                                          parsingConfiguration :: (Prelude.Maybe ParsingConfigurationProperty)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkVectorIngestionConfigurationProperty ::
+  VectorIngestionConfigurationProperty
+mkVectorIngestionConfigurationProperty
+  = VectorIngestionConfigurationProperty
+      {haddock_workaround_ = (), chunkingConfiguration = Prelude.Nothing,
+       contextEnrichmentConfiguration = Prelude.Nothing,
+       customTransformationConfiguration = Prelude.Nothing,
+       parsingConfiguration = Prelude.Nothing}
+instance ToResourceProperties VectorIngestionConfigurationProperty where
+  toResourceProperties VectorIngestionConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::DataSource.VectorIngestionConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "ChunkingConfiguration"
+                              Prelude.<$> chunkingConfiguration,
+                            (JSON..=) "ContextEnrichmentConfiguration"
+                              Prelude.<$> contextEnrichmentConfiguration,
+                            (JSON..=) "CustomTransformationConfiguration"
+                              Prelude.<$> customTransformationConfiguration,
+                            (JSON..=) "ParsingConfiguration"
+                              Prelude.<$> parsingConfiguration])}
+instance JSON.ToJSON VectorIngestionConfigurationProperty where
+  toJSON VectorIngestionConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "ChunkingConfiguration"
+                 Prelude.<$> chunkingConfiguration,
+               (JSON..=) "ContextEnrichmentConfiguration"
+                 Prelude.<$> contextEnrichmentConfiguration,
+               (JSON..=) "CustomTransformationConfiguration"
+                 Prelude.<$> customTransformationConfiguration,
+               (JSON..=) "ParsingConfiguration"
+                 Prelude.<$> parsingConfiguration]))
+instance Property "ChunkingConfiguration" VectorIngestionConfigurationProperty where
+  type PropertyType "ChunkingConfiguration" VectorIngestionConfigurationProperty = ChunkingConfigurationProperty
+  set newValue VectorIngestionConfigurationProperty {..}
+    = VectorIngestionConfigurationProperty
+        {chunkingConfiguration = Prelude.pure newValue, ..}
+instance Property "ContextEnrichmentConfiguration" VectorIngestionConfigurationProperty where
+  type PropertyType "ContextEnrichmentConfiguration" VectorIngestionConfigurationProperty = ContextEnrichmentConfigurationProperty
+  set newValue VectorIngestionConfigurationProperty {..}
+    = VectorIngestionConfigurationProperty
+        {contextEnrichmentConfiguration = Prelude.pure newValue, ..}
+instance Property "CustomTransformationConfiguration" VectorIngestionConfigurationProperty where
+  type PropertyType "CustomTransformationConfiguration" VectorIngestionConfigurationProperty = CustomTransformationConfigurationProperty
+  set newValue VectorIngestionConfigurationProperty {..}
+    = VectorIngestionConfigurationProperty
+        {customTransformationConfiguration = Prelude.pure newValue, ..}
+instance Property "ParsingConfiguration" VectorIngestionConfigurationProperty where
+  type PropertyType "ParsingConfiguration" VectorIngestionConfigurationProperty = ParsingConfigurationProperty
+  set newValue VectorIngestionConfigurationProperty {..}
+    = VectorIngestionConfigurationProperty
+        {parsingConfiguration = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/DataSource/VectorIngestionConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/DataSource/VectorIngestionConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataSource/VectorIngestionConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.DataSource.VectorIngestionConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data VectorIngestionConfigurationProperty :: Prelude.Type
+instance ToResourceProperties VectorIngestionConfigurationProperty
+instance Prelude.Eq VectorIngestionConfigurationProperty
+instance Prelude.Show VectorIngestionConfigurationProperty
+instance JSON.ToJSON VectorIngestionConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/DataSource/WebCrawlerConfigurationProperty.hs b/gen/Stratosphere/Bedrock/DataSource/WebCrawlerConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataSource/WebCrawlerConfigurationProperty.hs
@@ -0,0 +1,88 @@
+module Stratosphere.Bedrock.DataSource.WebCrawlerConfigurationProperty (
+        module Exports, WebCrawlerConfigurationProperty(..),
+        mkWebCrawlerConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.DataSource.WebCrawlerLimitsProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data WebCrawlerConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-webcrawlerconfiguration.html>
+    WebCrawlerConfigurationProperty {haddock_workaround_ :: (),
+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-webcrawlerconfiguration.html#cfn-bedrock-datasource-webcrawlerconfiguration-crawlerlimits>
+                                     crawlerLimits :: (Prelude.Maybe WebCrawlerLimitsProperty),
+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-webcrawlerconfiguration.html#cfn-bedrock-datasource-webcrawlerconfiguration-exclusionfilters>
+                                     exclusionFilters :: (Prelude.Maybe (ValueList Prelude.Text)),
+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-webcrawlerconfiguration.html#cfn-bedrock-datasource-webcrawlerconfiguration-inclusionfilters>
+                                     inclusionFilters :: (Prelude.Maybe (ValueList Prelude.Text)),
+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-webcrawlerconfiguration.html#cfn-bedrock-datasource-webcrawlerconfiguration-scope>
+                                     scope :: (Prelude.Maybe (Value Prelude.Text)),
+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-webcrawlerconfiguration.html#cfn-bedrock-datasource-webcrawlerconfiguration-useragent>
+                                     userAgent :: (Prelude.Maybe (Value Prelude.Text)),
+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-webcrawlerconfiguration.html#cfn-bedrock-datasource-webcrawlerconfiguration-useragentheader>
+                                     userAgentHeader :: (Prelude.Maybe (Value Prelude.Text))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkWebCrawlerConfigurationProperty ::
+  WebCrawlerConfigurationProperty
+mkWebCrawlerConfigurationProperty
+  = WebCrawlerConfigurationProperty
+      {haddock_workaround_ = (), crawlerLimits = Prelude.Nothing,
+       exclusionFilters = Prelude.Nothing,
+       inclusionFilters = Prelude.Nothing, scope = Prelude.Nothing,
+       userAgent = Prelude.Nothing, userAgentHeader = Prelude.Nothing}
+instance ToResourceProperties WebCrawlerConfigurationProperty where
+  toResourceProperties WebCrawlerConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::DataSource.WebCrawlerConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "CrawlerLimits" Prelude.<$> crawlerLimits,
+                            (JSON..=) "ExclusionFilters" Prelude.<$> exclusionFilters,
+                            (JSON..=) "InclusionFilters" Prelude.<$> inclusionFilters,
+                            (JSON..=) "Scope" Prelude.<$> scope,
+                            (JSON..=) "UserAgent" Prelude.<$> userAgent,
+                            (JSON..=) "UserAgentHeader" Prelude.<$> userAgentHeader])}
+instance JSON.ToJSON WebCrawlerConfigurationProperty where
+  toJSON WebCrawlerConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "CrawlerLimits" Prelude.<$> crawlerLimits,
+               (JSON..=) "ExclusionFilters" Prelude.<$> exclusionFilters,
+               (JSON..=) "InclusionFilters" Prelude.<$> inclusionFilters,
+               (JSON..=) "Scope" Prelude.<$> scope,
+               (JSON..=) "UserAgent" Prelude.<$> userAgent,
+               (JSON..=) "UserAgentHeader" Prelude.<$> userAgentHeader]))
+instance Property "CrawlerLimits" WebCrawlerConfigurationProperty where
+  type PropertyType "CrawlerLimits" WebCrawlerConfigurationProperty = WebCrawlerLimitsProperty
+  set newValue WebCrawlerConfigurationProperty {..}
+    = WebCrawlerConfigurationProperty
+        {crawlerLimits = Prelude.pure newValue, ..}
+instance Property "ExclusionFilters" WebCrawlerConfigurationProperty where
+  type PropertyType "ExclusionFilters" WebCrawlerConfigurationProperty = ValueList Prelude.Text
+  set newValue WebCrawlerConfigurationProperty {..}
+    = WebCrawlerConfigurationProperty
+        {exclusionFilters = Prelude.pure newValue, ..}
+instance Property "InclusionFilters" WebCrawlerConfigurationProperty where
+  type PropertyType "InclusionFilters" WebCrawlerConfigurationProperty = ValueList Prelude.Text
+  set newValue WebCrawlerConfigurationProperty {..}
+    = WebCrawlerConfigurationProperty
+        {inclusionFilters = Prelude.pure newValue, ..}
+instance Property "Scope" WebCrawlerConfigurationProperty where
+  type PropertyType "Scope" WebCrawlerConfigurationProperty = Value Prelude.Text
+  set newValue WebCrawlerConfigurationProperty {..}
+    = WebCrawlerConfigurationProperty
+        {scope = Prelude.pure newValue, ..}
+instance Property "UserAgent" WebCrawlerConfigurationProperty where
+  type PropertyType "UserAgent" WebCrawlerConfigurationProperty = Value Prelude.Text
+  set newValue WebCrawlerConfigurationProperty {..}
+    = WebCrawlerConfigurationProperty
+        {userAgent = Prelude.pure newValue, ..}
+instance Property "UserAgentHeader" WebCrawlerConfigurationProperty where
+  type PropertyType "UserAgentHeader" WebCrawlerConfigurationProperty = Value Prelude.Text
+  set newValue WebCrawlerConfigurationProperty {..}
+    = WebCrawlerConfigurationProperty
+        {userAgentHeader = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/DataSource/WebCrawlerConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/DataSource/WebCrawlerConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataSource/WebCrawlerConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.DataSource.WebCrawlerConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data WebCrawlerConfigurationProperty :: Prelude.Type
+instance ToResourceProperties WebCrawlerConfigurationProperty
+instance Prelude.Eq WebCrawlerConfigurationProperty
+instance Prelude.Show WebCrawlerConfigurationProperty
+instance JSON.ToJSON WebCrawlerConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/DataSource/WebCrawlerLimitsProperty.hs b/gen/Stratosphere/Bedrock/DataSource/WebCrawlerLimitsProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataSource/WebCrawlerLimitsProperty.hs
@@ -0,0 +1,45 @@
+module Stratosphere.Bedrock.DataSource.WebCrawlerLimitsProperty (
+        WebCrawlerLimitsProperty(..), mkWebCrawlerLimitsProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data WebCrawlerLimitsProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-webcrawlerlimits.html>
+    WebCrawlerLimitsProperty {haddock_workaround_ :: (),
+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-webcrawlerlimits.html#cfn-bedrock-datasource-webcrawlerlimits-maxpages>
+                              maxPages :: (Prelude.Maybe (Value Prelude.Integer)),
+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-webcrawlerlimits.html#cfn-bedrock-datasource-webcrawlerlimits-ratelimit>
+                              rateLimit :: (Prelude.Maybe (Value Prelude.Integer))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkWebCrawlerLimitsProperty :: WebCrawlerLimitsProperty
+mkWebCrawlerLimitsProperty
+  = WebCrawlerLimitsProperty
+      {haddock_workaround_ = (), maxPages = Prelude.Nothing,
+       rateLimit = Prelude.Nothing}
+instance ToResourceProperties WebCrawlerLimitsProperty where
+  toResourceProperties WebCrawlerLimitsProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::DataSource.WebCrawlerLimits",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "MaxPages" Prelude.<$> maxPages,
+                            (JSON..=) "RateLimit" Prelude.<$> rateLimit])}
+instance JSON.ToJSON WebCrawlerLimitsProperty where
+  toJSON WebCrawlerLimitsProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "MaxPages" Prelude.<$> maxPages,
+               (JSON..=) "RateLimit" Prelude.<$> rateLimit]))
+instance Property "MaxPages" WebCrawlerLimitsProperty where
+  type PropertyType "MaxPages" WebCrawlerLimitsProperty = Value Prelude.Integer
+  set newValue WebCrawlerLimitsProperty {..}
+    = WebCrawlerLimitsProperty {maxPages = Prelude.pure newValue, ..}
+instance Property "RateLimit" WebCrawlerLimitsProperty where
+  type PropertyType "RateLimit" WebCrawlerLimitsProperty = Value Prelude.Integer
+  set newValue WebCrawlerLimitsProperty {..}
+    = WebCrawlerLimitsProperty {rateLimit = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/DataSource/WebCrawlerLimitsProperty.hs-boot b/gen/Stratosphere/Bedrock/DataSource/WebCrawlerLimitsProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataSource/WebCrawlerLimitsProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.DataSource.WebCrawlerLimitsProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data WebCrawlerLimitsProperty :: Prelude.Type
+instance ToResourceProperties WebCrawlerLimitsProperty
+instance Prelude.Eq WebCrawlerLimitsProperty
+instance Prelude.Show WebCrawlerLimitsProperty
+instance JSON.ToJSON WebCrawlerLimitsProperty
diff --git a/gen/Stratosphere/Bedrock/DataSource/WebDataSourceConfigurationProperty.hs b/gen/Stratosphere/Bedrock/DataSource/WebDataSourceConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataSource/WebDataSourceConfigurationProperty.hs
@@ -0,0 +1,56 @@
+module Stratosphere.Bedrock.DataSource.WebDataSourceConfigurationProperty (
+        module Exports, WebDataSourceConfigurationProperty(..),
+        mkWebDataSourceConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.DataSource.WebCrawlerConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.DataSource.WebSourceConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+data WebDataSourceConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-webdatasourceconfiguration.html>
+    WebDataSourceConfigurationProperty {haddock_workaround_ :: (),
+                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-webdatasourceconfiguration.html#cfn-bedrock-datasource-webdatasourceconfiguration-crawlerconfiguration>
+                                        crawlerConfiguration :: (Prelude.Maybe WebCrawlerConfigurationProperty),
+                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-webdatasourceconfiguration.html#cfn-bedrock-datasource-webdatasourceconfiguration-sourceconfiguration>
+                                        sourceConfiguration :: WebSourceConfigurationProperty}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkWebDataSourceConfigurationProperty ::
+  WebSourceConfigurationProperty
+  -> WebDataSourceConfigurationProperty
+mkWebDataSourceConfigurationProperty sourceConfiguration
+  = WebDataSourceConfigurationProperty
+      {haddock_workaround_ = (),
+       sourceConfiguration = sourceConfiguration,
+       crawlerConfiguration = Prelude.Nothing}
+instance ToResourceProperties WebDataSourceConfigurationProperty where
+  toResourceProperties WebDataSourceConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::DataSource.WebDataSourceConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["SourceConfiguration" JSON..= sourceConfiguration]
+                           (Prelude.catMaybes
+                              [(JSON..=) "CrawlerConfiguration"
+                                 Prelude.<$> crawlerConfiguration]))}
+instance JSON.ToJSON WebDataSourceConfigurationProperty where
+  toJSON WebDataSourceConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["SourceConfiguration" JSON..= sourceConfiguration]
+              (Prelude.catMaybes
+                 [(JSON..=) "CrawlerConfiguration"
+                    Prelude.<$> crawlerConfiguration])))
+instance Property "CrawlerConfiguration" WebDataSourceConfigurationProperty where
+  type PropertyType "CrawlerConfiguration" WebDataSourceConfigurationProperty = WebCrawlerConfigurationProperty
+  set newValue WebDataSourceConfigurationProperty {..}
+    = WebDataSourceConfigurationProperty
+        {crawlerConfiguration = Prelude.pure newValue, ..}
+instance Property "SourceConfiguration" WebDataSourceConfigurationProperty where
+  type PropertyType "SourceConfiguration" WebDataSourceConfigurationProperty = WebSourceConfigurationProperty
+  set newValue WebDataSourceConfigurationProperty {..}
+    = WebDataSourceConfigurationProperty
+        {sourceConfiguration = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/DataSource/WebDataSourceConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/DataSource/WebDataSourceConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataSource/WebDataSourceConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.DataSource.WebDataSourceConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data WebDataSourceConfigurationProperty :: Prelude.Type
+instance ToResourceProperties WebDataSourceConfigurationProperty
+instance Prelude.Eq WebDataSourceConfigurationProperty
+instance Prelude.Show WebDataSourceConfigurationProperty
+instance JSON.ToJSON WebDataSourceConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/DataSource/WebSourceConfigurationProperty.hs b/gen/Stratosphere/Bedrock/DataSource/WebSourceConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataSource/WebSourceConfigurationProperty.hs
@@ -0,0 +1,33 @@
+module Stratosphere.Bedrock.DataSource.WebSourceConfigurationProperty (
+        module Exports, WebSourceConfigurationProperty(..),
+        mkWebSourceConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.DataSource.UrlConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+data WebSourceConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-websourceconfiguration.html>
+    WebSourceConfigurationProperty {haddock_workaround_ :: (),
+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-websourceconfiguration.html#cfn-bedrock-datasource-websourceconfiguration-urlconfiguration>
+                                    urlConfiguration :: UrlConfigurationProperty}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkWebSourceConfigurationProperty ::
+  UrlConfigurationProperty -> WebSourceConfigurationProperty
+mkWebSourceConfigurationProperty urlConfiguration
+  = WebSourceConfigurationProperty
+      {haddock_workaround_ = (), urlConfiguration = urlConfiguration}
+instance ToResourceProperties WebSourceConfigurationProperty where
+  toResourceProperties WebSourceConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::DataSource.WebSourceConfiguration",
+         supportsTags = Prelude.False,
+         properties = ["UrlConfiguration" JSON..= urlConfiguration]}
+instance JSON.ToJSON WebSourceConfigurationProperty where
+  toJSON WebSourceConfigurationProperty {..}
+    = JSON.object ["UrlConfiguration" JSON..= urlConfiguration]
+instance Property "UrlConfiguration" WebSourceConfigurationProperty where
+  type PropertyType "UrlConfiguration" WebSourceConfigurationProperty = UrlConfigurationProperty
+  set newValue WebSourceConfigurationProperty {..}
+    = WebSourceConfigurationProperty {urlConfiguration = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/DataSource/WebSourceConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/DataSource/WebSourceConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/DataSource/WebSourceConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.DataSource.WebSourceConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data WebSourceConfigurationProperty :: Prelude.Type
+instance ToResourceProperties WebSourceConfigurationProperty
+instance Prelude.Eq WebSourceConfigurationProperty
+instance Prelude.Show WebSourceConfigurationProperty
+instance JSON.ToJSON WebSourceConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/Flow.hs b/gen/Stratosphere/Bedrock/Flow.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow.hs
@@ -0,0 +1,117 @@
+module Stratosphere.Bedrock.Flow (
+        module Exports, Flow(..), mkFlow
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.Flow.FlowDefinitionProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.Flow.S3LocationProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data Flow
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-flow.html>
+    Flow {haddock_workaround_ :: (),
+          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-flow.html#cfn-bedrock-flow-customerencryptionkeyarn>
+          customerEncryptionKeyArn :: (Prelude.Maybe (Value Prelude.Text)),
+          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-flow.html#cfn-bedrock-flow-definition>
+          definition :: (Prelude.Maybe FlowDefinitionProperty),
+          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-flow.html#cfn-bedrock-flow-definitions3location>
+          definitionS3Location :: (Prelude.Maybe S3LocationProperty),
+          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-flow.html#cfn-bedrock-flow-definitionstring>
+          definitionString :: (Prelude.Maybe (Value Prelude.Text)),
+          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-flow.html#cfn-bedrock-flow-definitionsubstitutions>
+          definitionSubstitutions :: (Prelude.Maybe (Prelude.Map Prelude.Text JSON.Object)),
+          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-flow.html#cfn-bedrock-flow-description>
+          description :: (Prelude.Maybe (Value Prelude.Text)),
+          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-flow.html#cfn-bedrock-flow-executionrolearn>
+          executionRoleArn :: (Value Prelude.Text),
+          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-flow.html#cfn-bedrock-flow-name>
+          name :: (Value Prelude.Text),
+          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-flow.html#cfn-bedrock-flow-tags>
+          tags :: (Prelude.Maybe (Prelude.Map Prelude.Text (Value Prelude.Text))),
+          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-flow.html#cfn-bedrock-flow-testaliastags>
+          testAliasTags :: (Prelude.Maybe (Prelude.Map Prelude.Text (Value Prelude.Text)))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkFlow :: Value Prelude.Text -> Value Prelude.Text -> Flow
+mkFlow executionRoleArn name
+  = Flow
+      {haddock_workaround_ = (), executionRoleArn = executionRoleArn,
+       name = name, customerEncryptionKeyArn = Prelude.Nothing,
+       definition = Prelude.Nothing,
+       definitionS3Location = Prelude.Nothing,
+       definitionString = Prelude.Nothing,
+       definitionSubstitutions = Prelude.Nothing,
+       description = Prelude.Nothing, tags = Prelude.Nothing,
+       testAliasTags = Prelude.Nothing}
+instance ToResourceProperties Flow where
+  toResourceProperties Flow {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Flow", supportsTags = Prelude.True,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["ExecutionRoleArn" JSON..= executionRoleArn, "Name" JSON..= name]
+                           (Prelude.catMaybes
+                              [(JSON..=) "CustomerEncryptionKeyArn"
+                                 Prelude.<$> customerEncryptionKeyArn,
+                               (JSON..=) "Definition" Prelude.<$> definition,
+                               (JSON..=) "DefinitionS3Location" Prelude.<$> definitionS3Location,
+                               (JSON..=) "DefinitionString" Prelude.<$> definitionString,
+                               (JSON..=) "DefinitionSubstitutions"
+                                 Prelude.<$> definitionSubstitutions,
+                               (JSON..=) "Description" Prelude.<$> description,
+                               (JSON..=) "Tags" Prelude.<$> tags,
+                               (JSON..=) "TestAliasTags" Prelude.<$> testAliasTags]))}
+instance JSON.ToJSON Flow where
+  toJSON Flow {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["ExecutionRoleArn" JSON..= executionRoleArn, "Name" JSON..= name]
+              (Prelude.catMaybes
+                 [(JSON..=) "CustomerEncryptionKeyArn"
+                    Prelude.<$> customerEncryptionKeyArn,
+                  (JSON..=) "Definition" Prelude.<$> definition,
+                  (JSON..=) "DefinitionS3Location" Prelude.<$> definitionS3Location,
+                  (JSON..=) "DefinitionString" Prelude.<$> definitionString,
+                  (JSON..=) "DefinitionSubstitutions"
+                    Prelude.<$> definitionSubstitutions,
+                  (JSON..=) "Description" Prelude.<$> description,
+                  (JSON..=) "Tags" Prelude.<$> tags,
+                  (JSON..=) "TestAliasTags" Prelude.<$> testAliasTags])))
+instance Property "CustomerEncryptionKeyArn" Flow where
+  type PropertyType "CustomerEncryptionKeyArn" Flow = Value Prelude.Text
+  set newValue Flow {..}
+    = Flow {customerEncryptionKeyArn = Prelude.pure newValue, ..}
+instance Property "Definition" Flow where
+  type PropertyType "Definition" Flow = FlowDefinitionProperty
+  set newValue Flow {..}
+    = Flow {definition = Prelude.pure newValue, ..}
+instance Property "DefinitionS3Location" Flow where
+  type PropertyType "DefinitionS3Location" Flow = S3LocationProperty
+  set newValue Flow {..}
+    = Flow {definitionS3Location = Prelude.pure newValue, ..}
+instance Property "DefinitionString" Flow where
+  type PropertyType "DefinitionString" Flow = Value Prelude.Text
+  set newValue Flow {..}
+    = Flow {definitionString = Prelude.pure newValue, ..}
+instance Property "DefinitionSubstitutions" Flow where
+  type PropertyType "DefinitionSubstitutions" Flow = Prelude.Map Prelude.Text JSON.Object
+  set newValue Flow {..}
+    = Flow {definitionSubstitutions = Prelude.pure newValue, ..}
+instance Property "Description" Flow where
+  type PropertyType "Description" Flow = Value Prelude.Text
+  set newValue Flow {..}
+    = Flow {description = Prelude.pure newValue, ..}
+instance Property "ExecutionRoleArn" Flow where
+  type PropertyType "ExecutionRoleArn" Flow = Value Prelude.Text
+  set newValue Flow {..} = Flow {executionRoleArn = newValue, ..}
+instance Property "Name" Flow where
+  type PropertyType "Name" Flow = Value Prelude.Text
+  set newValue Flow {..} = Flow {name = newValue, ..}
+instance Property "Tags" Flow where
+  type PropertyType "Tags" Flow = Prelude.Map Prelude.Text (Value Prelude.Text)
+  set newValue Flow {..} = Flow {tags = Prelude.pure newValue, ..}
+instance Property "TestAliasTags" Flow where
+  type PropertyType "TestAliasTags" Flow = Prelude.Map Prelude.Text (Value Prelude.Text)
+  set newValue Flow {..}
+    = Flow {testAliasTags = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Flow/AgentFlowNodeConfigurationProperty.hs b/gen/Stratosphere/Bedrock/Flow/AgentFlowNodeConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/AgentFlowNodeConfigurationProperty.hs
@@ -0,0 +1,33 @@
+module Stratosphere.Bedrock.Flow.AgentFlowNodeConfigurationProperty (
+        AgentFlowNodeConfigurationProperty(..),
+        mkAgentFlowNodeConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data AgentFlowNodeConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-agentflownodeconfiguration.html>
+    AgentFlowNodeConfigurationProperty {haddock_workaround_ :: (),
+                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-agentflownodeconfiguration.html#cfn-bedrock-flow-agentflownodeconfiguration-agentaliasarn>
+                                        agentAliasArn :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkAgentFlowNodeConfigurationProperty ::
+  Value Prelude.Text -> AgentFlowNodeConfigurationProperty
+mkAgentFlowNodeConfigurationProperty agentAliasArn
+  = AgentFlowNodeConfigurationProperty
+      {haddock_workaround_ = (), agentAliasArn = agentAliasArn}
+instance ToResourceProperties AgentFlowNodeConfigurationProperty where
+  toResourceProperties AgentFlowNodeConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Flow.AgentFlowNodeConfiguration",
+         supportsTags = Prelude.False,
+         properties = ["AgentAliasArn" JSON..= agentAliasArn]}
+instance JSON.ToJSON AgentFlowNodeConfigurationProperty where
+  toJSON AgentFlowNodeConfigurationProperty {..}
+    = JSON.object ["AgentAliasArn" JSON..= agentAliasArn]
+instance Property "AgentAliasArn" AgentFlowNodeConfigurationProperty where
+  type PropertyType "AgentAliasArn" AgentFlowNodeConfigurationProperty = Value Prelude.Text
+  set newValue AgentFlowNodeConfigurationProperty {..}
+    = AgentFlowNodeConfigurationProperty {agentAliasArn = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Flow/AgentFlowNodeConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/Flow/AgentFlowNodeConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/AgentFlowNodeConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Flow.AgentFlowNodeConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data AgentFlowNodeConfigurationProperty :: Prelude.Type
+instance ToResourceProperties AgentFlowNodeConfigurationProperty
+instance Prelude.Eq AgentFlowNodeConfigurationProperty
+instance Prelude.Show AgentFlowNodeConfigurationProperty
+instance JSON.ToJSON AgentFlowNodeConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/Flow/ConditionFlowNodeConfigurationProperty.hs b/gen/Stratosphere/Bedrock/Flow/ConditionFlowNodeConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/ConditionFlowNodeConfigurationProperty.hs
@@ -0,0 +1,34 @@
+module Stratosphere.Bedrock.Flow.ConditionFlowNodeConfigurationProperty (
+        module Exports, ConditionFlowNodeConfigurationProperty(..),
+        mkConditionFlowNodeConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.Flow.FlowConditionProperty as Exports
+import Stratosphere.ResourceProperties
+data ConditionFlowNodeConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-conditionflownodeconfiguration.html>
+    ConditionFlowNodeConfigurationProperty {haddock_workaround_ :: (),
+                                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-conditionflownodeconfiguration.html#cfn-bedrock-flow-conditionflownodeconfiguration-conditions>
+                                            conditions :: [FlowConditionProperty]}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkConditionFlowNodeConfigurationProperty ::
+  [FlowConditionProperty] -> ConditionFlowNodeConfigurationProperty
+mkConditionFlowNodeConfigurationProperty conditions
+  = ConditionFlowNodeConfigurationProperty
+      {haddock_workaround_ = (), conditions = conditions}
+instance ToResourceProperties ConditionFlowNodeConfigurationProperty where
+  toResourceProperties ConditionFlowNodeConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Flow.ConditionFlowNodeConfiguration",
+         supportsTags = Prelude.False,
+         properties = ["Conditions" JSON..= conditions]}
+instance JSON.ToJSON ConditionFlowNodeConfigurationProperty where
+  toJSON ConditionFlowNodeConfigurationProperty {..}
+    = JSON.object ["Conditions" JSON..= conditions]
+instance Property "Conditions" ConditionFlowNodeConfigurationProperty where
+  type PropertyType "Conditions" ConditionFlowNodeConfigurationProperty = [FlowConditionProperty]
+  set newValue ConditionFlowNodeConfigurationProperty {..}
+    = ConditionFlowNodeConfigurationProperty
+        {conditions = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Flow/ConditionFlowNodeConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/Flow/ConditionFlowNodeConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/ConditionFlowNodeConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Flow.ConditionFlowNodeConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data ConditionFlowNodeConfigurationProperty :: Prelude.Type
+instance ToResourceProperties ConditionFlowNodeConfigurationProperty
+instance Prelude.Eq ConditionFlowNodeConfigurationProperty
+instance Prelude.Show ConditionFlowNodeConfigurationProperty
+instance JSON.ToJSON ConditionFlowNodeConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/Flow/FieldForRerankingProperty.hs b/gen/Stratosphere/Bedrock/Flow/FieldForRerankingProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/FieldForRerankingProperty.hs
@@ -0,0 +1,32 @@
+module Stratosphere.Bedrock.Flow.FieldForRerankingProperty (
+        FieldForRerankingProperty(..), mkFieldForRerankingProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data FieldForRerankingProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-fieldforreranking.html>
+    FieldForRerankingProperty {haddock_workaround_ :: (),
+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-fieldforreranking.html#cfn-bedrock-flow-fieldforreranking-fieldname>
+                               fieldName :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkFieldForRerankingProperty ::
+  Value Prelude.Text -> FieldForRerankingProperty
+mkFieldForRerankingProperty fieldName
+  = FieldForRerankingProperty
+      {haddock_workaround_ = (), fieldName = fieldName}
+instance ToResourceProperties FieldForRerankingProperty where
+  toResourceProperties FieldForRerankingProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Flow.FieldForReranking",
+         supportsTags = Prelude.False,
+         properties = ["FieldName" JSON..= fieldName]}
+instance JSON.ToJSON FieldForRerankingProperty where
+  toJSON FieldForRerankingProperty {..}
+    = JSON.object ["FieldName" JSON..= fieldName]
+instance Property "FieldName" FieldForRerankingProperty where
+  type PropertyType "FieldName" FieldForRerankingProperty = Value Prelude.Text
+  set newValue FieldForRerankingProperty {..}
+    = FieldForRerankingProperty {fieldName = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Flow/FieldForRerankingProperty.hs-boot b/gen/Stratosphere/Bedrock/Flow/FieldForRerankingProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/FieldForRerankingProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Flow.FieldForRerankingProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data FieldForRerankingProperty :: Prelude.Type
+instance ToResourceProperties FieldForRerankingProperty
+instance Prelude.Eq FieldForRerankingProperty
+instance Prelude.Show FieldForRerankingProperty
+instance JSON.ToJSON FieldForRerankingProperty
diff --git a/gen/Stratosphere/Bedrock/Flow/FlowConditionProperty.hs b/gen/Stratosphere/Bedrock/Flow/FlowConditionProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/FlowConditionProperty.hs
@@ -0,0 +1,48 @@
+module Stratosphere.Bedrock.Flow.FlowConditionProperty (
+        FlowConditionProperty(..), mkFlowConditionProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data FlowConditionProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flowcondition.html>
+    FlowConditionProperty {haddock_workaround_ :: (),
+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flowcondition.html#cfn-bedrock-flow-flowcondition-expression>
+                           expression :: (Prelude.Maybe (Value Prelude.Text)),
+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flowcondition.html#cfn-bedrock-flow-flowcondition-name>
+                           name :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkFlowConditionProperty ::
+  Value Prelude.Text -> FlowConditionProperty
+mkFlowConditionProperty name
+  = FlowConditionProperty
+      {haddock_workaround_ = (), name = name,
+       expression = Prelude.Nothing}
+instance ToResourceProperties FlowConditionProperty where
+  toResourceProperties FlowConditionProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Flow.FlowCondition",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["Name" JSON..= name]
+                           (Prelude.catMaybes
+                              [(JSON..=) "Expression" Prelude.<$> expression]))}
+instance JSON.ToJSON FlowConditionProperty where
+  toJSON FlowConditionProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["Name" JSON..= name]
+              (Prelude.catMaybes
+                 [(JSON..=) "Expression" Prelude.<$> expression])))
+instance Property "Expression" FlowConditionProperty where
+  type PropertyType "Expression" FlowConditionProperty = Value Prelude.Text
+  set newValue FlowConditionProperty {..}
+    = FlowConditionProperty {expression = Prelude.pure newValue, ..}
+instance Property "Name" FlowConditionProperty where
+  type PropertyType "Name" FlowConditionProperty = Value Prelude.Text
+  set newValue FlowConditionProperty {..}
+    = FlowConditionProperty {name = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Flow/FlowConditionProperty.hs-boot b/gen/Stratosphere/Bedrock/Flow/FlowConditionProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/FlowConditionProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Flow.FlowConditionProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data FlowConditionProperty :: Prelude.Type
+instance ToResourceProperties FlowConditionProperty
+instance Prelude.Eq FlowConditionProperty
+instance Prelude.Show FlowConditionProperty
+instance JSON.ToJSON FlowConditionProperty
diff --git a/gen/Stratosphere/Bedrock/Flow/FlowConditionalConnectionConfigurationProperty.hs b/gen/Stratosphere/Bedrock/Flow/FlowConditionalConnectionConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/FlowConditionalConnectionConfigurationProperty.hs
@@ -0,0 +1,36 @@
+module Stratosphere.Bedrock.Flow.FlowConditionalConnectionConfigurationProperty (
+        FlowConditionalConnectionConfigurationProperty(..),
+        mkFlowConditionalConnectionConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data FlowConditionalConnectionConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flowconditionalconnectionconfiguration.html>
+    FlowConditionalConnectionConfigurationProperty {haddock_workaround_ :: (),
+                                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flowconditionalconnectionconfiguration.html#cfn-bedrock-flow-flowconditionalconnectionconfiguration-condition>
+                                                    condition :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkFlowConditionalConnectionConfigurationProperty ::
+  Value Prelude.Text
+  -> FlowConditionalConnectionConfigurationProperty
+mkFlowConditionalConnectionConfigurationProperty condition
+  = FlowConditionalConnectionConfigurationProperty
+      {haddock_workaround_ = (), condition = condition}
+instance ToResourceProperties FlowConditionalConnectionConfigurationProperty where
+  toResourceProperties
+    FlowConditionalConnectionConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Flow.FlowConditionalConnectionConfiguration",
+         supportsTags = Prelude.False,
+         properties = ["Condition" JSON..= condition]}
+instance JSON.ToJSON FlowConditionalConnectionConfigurationProperty where
+  toJSON FlowConditionalConnectionConfigurationProperty {..}
+    = JSON.object ["Condition" JSON..= condition]
+instance Property "Condition" FlowConditionalConnectionConfigurationProperty where
+  type PropertyType "Condition" FlowConditionalConnectionConfigurationProperty = Value Prelude.Text
+  set newValue FlowConditionalConnectionConfigurationProperty {..}
+    = FlowConditionalConnectionConfigurationProperty
+        {condition = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Flow/FlowConditionalConnectionConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/Flow/FlowConditionalConnectionConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/FlowConditionalConnectionConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Flow.FlowConditionalConnectionConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data FlowConditionalConnectionConfigurationProperty :: Prelude.Type
+instance ToResourceProperties FlowConditionalConnectionConfigurationProperty
+instance Prelude.Eq FlowConditionalConnectionConfigurationProperty
+instance Prelude.Show FlowConditionalConnectionConfigurationProperty
+instance JSON.ToJSON FlowConditionalConnectionConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/Flow/FlowConnectionConfigurationProperty.hs b/gen/Stratosphere/Bedrock/Flow/FlowConnectionConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/FlowConnectionConfigurationProperty.hs
@@ -0,0 +1,50 @@
+module Stratosphere.Bedrock.Flow.FlowConnectionConfigurationProperty (
+        module Exports, FlowConnectionConfigurationProperty(..),
+        mkFlowConnectionConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.Flow.FlowConditionalConnectionConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.Flow.FlowDataConnectionConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+data FlowConnectionConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flowconnectionconfiguration.html>
+    FlowConnectionConfigurationProperty {haddock_workaround_ :: (),
+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flowconnectionconfiguration.html#cfn-bedrock-flow-flowconnectionconfiguration-conditional>
+                                         conditional :: (Prelude.Maybe FlowConditionalConnectionConfigurationProperty),
+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flowconnectionconfiguration.html#cfn-bedrock-flow-flowconnectionconfiguration-data>
+                                         data' :: (Prelude.Maybe FlowDataConnectionConfigurationProperty)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkFlowConnectionConfigurationProperty ::
+  FlowConnectionConfigurationProperty
+mkFlowConnectionConfigurationProperty
+  = FlowConnectionConfigurationProperty
+      {haddock_workaround_ = (), conditional = Prelude.Nothing,
+       data' = Prelude.Nothing}
+instance ToResourceProperties FlowConnectionConfigurationProperty where
+  toResourceProperties FlowConnectionConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Flow.FlowConnectionConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "Conditional" Prelude.<$> conditional,
+                            (JSON..=) "Data" Prelude.<$> data'])}
+instance JSON.ToJSON FlowConnectionConfigurationProperty where
+  toJSON FlowConnectionConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "Conditional" Prelude.<$> conditional,
+               (JSON..=) "Data" Prelude.<$> data']))
+instance Property "Conditional" FlowConnectionConfigurationProperty where
+  type PropertyType "Conditional" FlowConnectionConfigurationProperty = FlowConditionalConnectionConfigurationProperty
+  set newValue FlowConnectionConfigurationProperty {..}
+    = FlowConnectionConfigurationProperty
+        {conditional = Prelude.pure newValue, ..}
+instance Property "Data" FlowConnectionConfigurationProperty where
+  type PropertyType "Data" FlowConnectionConfigurationProperty = FlowDataConnectionConfigurationProperty
+  set newValue FlowConnectionConfigurationProperty {..}
+    = FlowConnectionConfigurationProperty
+        {data' = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Flow/FlowConnectionConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/Flow/FlowConnectionConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/FlowConnectionConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Flow.FlowConnectionConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data FlowConnectionConfigurationProperty :: Prelude.Type
+instance ToResourceProperties FlowConnectionConfigurationProperty
+instance Prelude.Eq FlowConnectionConfigurationProperty
+instance Prelude.Show FlowConnectionConfigurationProperty
+instance JSON.ToJSON FlowConnectionConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/Flow/FlowConnectionProperty.hs b/gen/Stratosphere/Bedrock/Flow/FlowConnectionProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/FlowConnectionProperty.hs
@@ -0,0 +1,74 @@
+module Stratosphere.Bedrock.Flow.FlowConnectionProperty (
+        module Exports, FlowConnectionProperty(..),
+        mkFlowConnectionProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.Flow.FlowConnectionConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data FlowConnectionProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flowconnection.html>
+    FlowConnectionProperty {haddock_workaround_ :: (),
+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flowconnection.html#cfn-bedrock-flow-flowconnection-configuration>
+                            configuration :: (Prelude.Maybe FlowConnectionConfigurationProperty),
+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flowconnection.html#cfn-bedrock-flow-flowconnection-name>
+                            name :: (Value Prelude.Text),
+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flowconnection.html#cfn-bedrock-flow-flowconnection-source>
+                            source :: (Value Prelude.Text),
+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flowconnection.html#cfn-bedrock-flow-flowconnection-target>
+                            target :: (Value Prelude.Text),
+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flowconnection.html#cfn-bedrock-flow-flowconnection-type>
+                            type' :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkFlowConnectionProperty ::
+  Value Prelude.Text
+  -> Value Prelude.Text
+     -> Value Prelude.Text
+        -> Value Prelude.Text -> FlowConnectionProperty
+mkFlowConnectionProperty name source target type'
+  = FlowConnectionProperty
+      {haddock_workaround_ = (), name = name, source = source,
+       target = target, type' = type', configuration = Prelude.Nothing}
+instance ToResourceProperties FlowConnectionProperty where
+  toResourceProperties FlowConnectionProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Flow.FlowConnection",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["Name" JSON..= name, "Source" JSON..= source,
+                            "Target" JSON..= target, "Type" JSON..= type']
+                           (Prelude.catMaybes
+                              [(JSON..=) "Configuration" Prelude.<$> configuration]))}
+instance JSON.ToJSON FlowConnectionProperty where
+  toJSON FlowConnectionProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["Name" JSON..= name, "Source" JSON..= source,
+               "Target" JSON..= target, "Type" JSON..= type']
+              (Prelude.catMaybes
+                 [(JSON..=) "Configuration" Prelude.<$> configuration])))
+instance Property "Configuration" FlowConnectionProperty where
+  type PropertyType "Configuration" FlowConnectionProperty = FlowConnectionConfigurationProperty
+  set newValue FlowConnectionProperty {..}
+    = FlowConnectionProperty
+        {configuration = Prelude.pure newValue, ..}
+instance Property "Name" FlowConnectionProperty where
+  type PropertyType "Name" FlowConnectionProperty = Value Prelude.Text
+  set newValue FlowConnectionProperty {..}
+    = FlowConnectionProperty {name = newValue, ..}
+instance Property "Source" FlowConnectionProperty where
+  type PropertyType "Source" FlowConnectionProperty = Value Prelude.Text
+  set newValue FlowConnectionProperty {..}
+    = FlowConnectionProperty {source = newValue, ..}
+instance Property "Target" FlowConnectionProperty where
+  type PropertyType "Target" FlowConnectionProperty = Value Prelude.Text
+  set newValue FlowConnectionProperty {..}
+    = FlowConnectionProperty {target = newValue, ..}
+instance Property "Type" FlowConnectionProperty where
+  type PropertyType "Type" FlowConnectionProperty = Value Prelude.Text
+  set newValue FlowConnectionProperty {..}
+    = FlowConnectionProperty {type' = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Flow/FlowConnectionProperty.hs-boot b/gen/Stratosphere/Bedrock/Flow/FlowConnectionProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/FlowConnectionProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Flow.FlowConnectionProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data FlowConnectionProperty :: Prelude.Type
+instance ToResourceProperties FlowConnectionProperty
+instance Prelude.Eq FlowConnectionProperty
+instance Prelude.Show FlowConnectionProperty
+instance JSON.ToJSON FlowConnectionProperty
diff --git a/gen/Stratosphere/Bedrock/Flow/FlowDataConnectionConfigurationProperty.hs b/gen/Stratosphere/Bedrock/Flow/FlowDataConnectionConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/FlowDataConnectionConfigurationProperty.hs
@@ -0,0 +1,46 @@
+module Stratosphere.Bedrock.Flow.FlowDataConnectionConfigurationProperty (
+        FlowDataConnectionConfigurationProperty(..),
+        mkFlowDataConnectionConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data FlowDataConnectionConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flowdataconnectionconfiguration.html>
+    FlowDataConnectionConfigurationProperty {haddock_workaround_ :: (),
+                                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flowdataconnectionconfiguration.html#cfn-bedrock-flow-flowdataconnectionconfiguration-sourceoutput>
+                                             sourceOutput :: (Value Prelude.Text),
+                                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flowdataconnectionconfiguration.html#cfn-bedrock-flow-flowdataconnectionconfiguration-targetinput>
+                                             targetInput :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkFlowDataConnectionConfigurationProperty ::
+  Value Prelude.Text
+  -> Value Prelude.Text -> FlowDataConnectionConfigurationProperty
+mkFlowDataConnectionConfigurationProperty sourceOutput targetInput
+  = FlowDataConnectionConfigurationProperty
+      {haddock_workaround_ = (), sourceOutput = sourceOutput,
+       targetInput = targetInput}
+instance ToResourceProperties FlowDataConnectionConfigurationProperty where
+  toResourceProperties FlowDataConnectionConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Flow.FlowDataConnectionConfiguration",
+         supportsTags = Prelude.False,
+         properties = ["SourceOutput" JSON..= sourceOutput,
+                       "TargetInput" JSON..= targetInput]}
+instance JSON.ToJSON FlowDataConnectionConfigurationProperty where
+  toJSON FlowDataConnectionConfigurationProperty {..}
+    = JSON.object
+        ["SourceOutput" JSON..= sourceOutput,
+         "TargetInput" JSON..= targetInput]
+instance Property "SourceOutput" FlowDataConnectionConfigurationProperty where
+  type PropertyType "SourceOutput" FlowDataConnectionConfigurationProperty = Value Prelude.Text
+  set newValue FlowDataConnectionConfigurationProperty {..}
+    = FlowDataConnectionConfigurationProperty
+        {sourceOutput = newValue, ..}
+instance Property "TargetInput" FlowDataConnectionConfigurationProperty where
+  type PropertyType "TargetInput" FlowDataConnectionConfigurationProperty = Value Prelude.Text
+  set newValue FlowDataConnectionConfigurationProperty {..}
+    = FlowDataConnectionConfigurationProperty
+        {targetInput = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Flow/FlowDataConnectionConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/Flow/FlowDataConnectionConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/FlowDataConnectionConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Flow.FlowDataConnectionConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data FlowDataConnectionConfigurationProperty :: Prelude.Type
+instance ToResourceProperties FlowDataConnectionConfigurationProperty
+instance Prelude.Eq FlowDataConnectionConfigurationProperty
+instance Prelude.Show FlowDataConnectionConfigurationProperty
+instance JSON.ToJSON FlowDataConnectionConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/Flow/FlowDefinitionProperty.hs b/gen/Stratosphere/Bedrock/Flow/FlowDefinitionProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/FlowDefinitionProperty.hs
@@ -0,0 +1,47 @@
+module Stratosphere.Bedrock.Flow.FlowDefinitionProperty (
+        module Exports, FlowDefinitionProperty(..),
+        mkFlowDefinitionProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.Flow.FlowConnectionProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.Flow.FlowNodeProperty as Exports
+import Stratosphere.ResourceProperties
+data FlowDefinitionProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flowdefinition.html>
+    FlowDefinitionProperty {haddock_workaround_ :: (),
+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flowdefinition.html#cfn-bedrock-flow-flowdefinition-connections>
+                            connections :: (Prelude.Maybe [FlowConnectionProperty]),
+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flowdefinition.html#cfn-bedrock-flow-flowdefinition-nodes>
+                            nodes :: (Prelude.Maybe [FlowNodeProperty])}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkFlowDefinitionProperty :: FlowDefinitionProperty
+mkFlowDefinitionProperty
+  = FlowDefinitionProperty
+      {haddock_workaround_ = (), connections = Prelude.Nothing,
+       nodes = Prelude.Nothing}
+instance ToResourceProperties FlowDefinitionProperty where
+  toResourceProperties FlowDefinitionProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Flow.FlowDefinition",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "Connections" Prelude.<$> connections,
+                            (JSON..=) "Nodes" Prelude.<$> nodes])}
+instance JSON.ToJSON FlowDefinitionProperty where
+  toJSON FlowDefinitionProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "Connections" Prelude.<$> connections,
+               (JSON..=) "Nodes" Prelude.<$> nodes]))
+instance Property "Connections" FlowDefinitionProperty where
+  type PropertyType "Connections" FlowDefinitionProperty = [FlowConnectionProperty]
+  set newValue FlowDefinitionProperty {..}
+    = FlowDefinitionProperty {connections = Prelude.pure newValue, ..}
+instance Property "Nodes" FlowDefinitionProperty where
+  type PropertyType "Nodes" FlowDefinitionProperty = [FlowNodeProperty]
+  set newValue FlowDefinitionProperty {..}
+    = FlowDefinitionProperty {nodes = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Flow/FlowDefinitionProperty.hs-boot b/gen/Stratosphere/Bedrock/Flow/FlowDefinitionProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/FlowDefinitionProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Flow.FlowDefinitionProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data FlowDefinitionProperty :: Prelude.Type
+instance ToResourceProperties FlowDefinitionProperty
+instance Prelude.Eq FlowDefinitionProperty
+instance Prelude.Show FlowDefinitionProperty
+instance JSON.ToJSON FlowDefinitionProperty
diff --git a/gen/Stratosphere/Bedrock/Flow/FlowNodeConfigurationProperty.hs b/gen/Stratosphere/Bedrock/Flow/FlowNodeConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/FlowNodeConfigurationProperty.hs
@@ -0,0 +1,185 @@
+module Stratosphere.Bedrock.Flow.FlowNodeConfigurationProperty (
+        module Exports, FlowNodeConfigurationProperty(..),
+        mkFlowNodeConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.Flow.AgentFlowNodeConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.Flow.ConditionFlowNodeConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.Flow.InlineCodeFlowNodeConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.Flow.KnowledgeBaseFlowNodeConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.Flow.LambdaFunctionFlowNodeConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.Flow.LexFlowNodeConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.Flow.LoopControllerFlowNodeConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.Flow.LoopFlowNodeConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.Flow.PromptFlowNodeConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.Flow.RetrievalFlowNodeConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.Flow.StorageFlowNodeConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+data FlowNodeConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flownodeconfiguration.html>
+    FlowNodeConfigurationProperty {haddock_workaround_ :: (),
+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flownodeconfiguration.html#cfn-bedrock-flow-flownodeconfiguration-agent>
+                                   agent :: (Prelude.Maybe AgentFlowNodeConfigurationProperty),
+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flownodeconfiguration.html#cfn-bedrock-flow-flownodeconfiguration-collector>
+                                   collector :: (Prelude.Maybe JSON.Object),
+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flownodeconfiguration.html#cfn-bedrock-flow-flownodeconfiguration-condition>
+                                   condition :: (Prelude.Maybe ConditionFlowNodeConfigurationProperty),
+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flownodeconfiguration.html#cfn-bedrock-flow-flownodeconfiguration-inlinecode>
+                                   inlineCode :: (Prelude.Maybe InlineCodeFlowNodeConfigurationProperty),
+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flownodeconfiguration.html#cfn-bedrock-flow-flownodeconfiguration-input>
+                                   input :: (Prelude.Maybe JSON.Object),
+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flownodeconfiguration.html#cfn-bedrock-flow-flownodeconfiguration-iterator>
+                                   iterator :: (Prelude.Maybe JSON.Object),
+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flownodeconfiguration.html#cfn-bedrock-flow-flownodeconfiguration-knowledgebase>
+                                   knowledgeBase :: (Prelude.Maybe KnowledgeBaseFlowNodeConfigurationProperty),
+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flownodeconfiguration.html#cfn-bedrock-flow-flownodeconfiguration-lambdafunction>
+                                   lambdaFunction :: (Prelude.Maybe LambdaFunctionFlowNodeConfigurationProperty),
+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flownodeconfiguration.html#cfn-bedrock-flow-flownodeconfiguration-lex>
+                                   lex :: (Prelude.Maybe LexFlowNodeConfigurationProperty),
+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flownodeconfiguration.html#cfn-bedrock-flow-flownodeconfiguration-loop>
+                                   loop :: (Prelude.Maybe LoopFlowNodeConfigurationProperty),
+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flownodeconfiguration.html#cfn-bedrock-flow-flownodeconfiguration-loopcontroller>
+                                   loopController :: (Prelude.Maybe LoopControllerFlowNodeConfigurationProperty),
+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flownodeconfiguration.html#cfn-bedrock-flow-flownodeconfiguration-loopinput>
+                                   loopInput :: (Prelude.Maybe JSON.Object),
+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flownodeconfiguration.html#cfn-bedrock-flow-flownodeconfiguration-output>
+                                   output :: (Prelude.Maybe JSON.Object),
+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flownodeconfiguration.html#cfn-bedrock-flow-flownodeconfiguration-prompt>
+                                   prompt :: (Prelude.Maybe PromptFlowNodeConfigurationProperty),
+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flownodeconfiguration.html#cfn-bedrock-flow-flownodeconfiguration-retrieval>
+                                   retrieval :: (Prelude.Maybe RetrievalFlowNodeConfigurationProperty),
+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flownodeconfiguration.html#cfn-bedrock-flow-flownodeconfiguration-storage>
+                                   storage :: (Prelude.Maybe StorageFlowNodeConfigurationProperty)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkFlowNodeConfigurationProperty :: FlowNodeConfigurationProperty
+mkFlowNodeConfigurationProperty
+  = FlowNodeConfigurationProperty
+      {haddock_workaround_ = (), agent = Prelude.Nothing,
+       collector = Prelude.Nothing, condition = Prelude.Nothing,
+       inlineCode = Prelude.Nothing, input = Prelude.Nothing,
+       iterator = Prelude.Nothing, knowledgeBase = Prelude.Nothing,
+       lambdaFunction = Prelude.Nothing, lex = Prelude.Nothing,
+       loop = Prelude.Nothing, loopController = Prelude.Nothing,
+       loopInput = Prelude.Nothing, output = Prelude.Nothing,
+       prompt = Prelude.Nothing, retrieval = Prelude.Nothing,
+       storage = Prelude.Nothing}
+instance ToResourceProperties FlowNodeConfigurationProperty where
+  toResourceProperties FlowNodeConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Flow.FlowNodeConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "Agent" Prelude.<$> agent,
+                            (JSON..=) "Collector" Prelude.<$> collector,
+                            (JSON..=) "Condition" Prelude.<$> condition,
+                            (JSON..=) "InlineCode" Prelude.<$> inlineCode,
+                            (JSON..=) "Input" Prelude.<$> input,
+                            (JSON..=) "Iterator" Prelude.<$> iterator,
+                            (JSON..=) "KnowledgeBase" Prelude.<$> knowledgeBase,
+                            (JSON..=) "LambdaFunction" Prelude.<$> lambdaFunction,
+                            (JSON..=) "Lex" Prelude.<$> lex, (JSON..=) "Loop" Prelude.<$> loop,
+                            (JSON..=) "LoopController" Prelude.<$> loopController,
+                            (JSON..=) "LoopInput" Prelude.<$> loopInput,
+                            (JSON..=) "Output" Prelude.<$> output,
+                            (JSON..=) "Prompt" Prelude.<$> prompt,
+                            (JSON..=) "Retrieval" Prelude.<$> retrieval,
+                            (JSON..=) "Storage" Prelude.<$> storage])}
+instance JSON.ToJSON FlowNodeConfigurationProperty where
+  toJSON FlowNodeConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "Agent" Prelude.<$> agent,
+               (JSON..=) "Collector" Prelude.<$> collector,
+               (JSON..=) "Condition" Prelude.<$> condition,
+               (JSON..=) "InlineCode" Prelude.<$> inlineCode,
+               (JSON..=) "Input" Prelude.<$> input,
+               (JSON..=) "Iterator" Prelude.<$> iterator,
+               (JSON..=) "KnowledgeBase" Prelude.<$> knowledgeBase,
+               (JSON..=) "LambdaFunction" Prelude.<$> lambdaFunction,
+               (JSON..=) "Lex" Prelude.<$> lex, (JSON..=) "Loop" Prelude.<$> loop,
+               (JSON..=) "LoopController" Prelude.<$> loopController,
+               (JSON..=) "LoopInput" Prelude.<$> loopInput,
+               (JSON..=) "Output" Prelude.<$> output,
+               (JSON..=) "Prompt" Prelude.<$> prompt,
+               (JSON..=) "Retrieval" Prelude.<$> retrieval,
+               (JSON..=) "Storage" Prelude.<$> storage]))
+instance Property "Agent" FlowNodeConfigurationProperty where
+  type PropertyType "Agent" FlowNodeConfigurationProperty = AgentFlowNodeConfigurationProperty
+  set newValue FlowNodeConfigurationProperty {..}
+    = FlowNodeConfigurationProperty {agent = Prelude.pure newValue, ..}
+instance Property "Collector" FlowNodeConfigurationProperty where
+  type PropertyType "Collector" FlowNodeConfigurationProperty = JSON.Object
+  set newValue FlowNodeConfigurationProperty {..}
+    = FlowNodeConfigurationProperty
+        {collector = Prelude.pure newValue, ..}
+instance Property "Condition" FlowNodeConfigurationProperty where
+  type PropertyType "Condition" FlowNodeConfigurationProperty = ConditionFlowNodeConfigurationProperty
+  set newValue FlowNodeConfigurationProperty {..}
+    = FlowNodeConfigurationProperty
+        {condition = Prelude.pure newValue, ..}
+instance Property "InlineCode" FlowNodeConfigurationProperty where
+  type PropertyType "InlineCode" FlowNodeConfigurationProperty = InlineCodeFlowNodeConfigurationProperty
+  set newValue FlowNodeConfigurationProperty {..}
+    = FlowNodeConfigurationProperty
+        {inlineCode = Prelude.pure newValue, ..}
+instance Property "Input" FlowNodeConfigurationProperty where
+  type PropertyType "Input" FlowNodeConfigurationProperty = JSON.Object
+  set newValue FlowNodeConfigurationProperty {..}
+    = FlowNodeConfigurationProperty {input = Prelude.pure newValue, ..}
+instance Property "Iterator" FlowNodeConfigurationProperty where
+  type PropertyType "Iterator" FlowNodeConfigurationProperty = JSON.Object
+  set newValue FlowNodeConfigurationProperty {..}
+    = FlowNodeConfigurationProperty
+        {iterator = Prelude.pure newValue, ..}
+instance Property "KnowledgeBase" FlowNodeConfigurationProperty where
+  type PropertyType "KnowledgeBase" FlowNodeConfigurationProperty = KnowledgeBaseFlowNodeConfigurationProperty
+  set newValue FlowNodeConfigurationProperty {..}
+    = FlowNodeConfigurationProperty
+        {knowledgeBase = Prelude.pure newValue, ..}
+instance Property "LambdaFunction" FlowNodeConfigurationProperty where
+  type PropertyType "LambdaFunction" FlowNodeConfigurationProperty = LambdaFunctionFlowNodeConfigurationProperty
+  set newValue FlowNodeConfigurationProperty {..}
+    = FlowNodeConfigurationProperty
+        {lambdaFunction = Prelude.pure newValue, ..}
+instance Property "Lex" FlowNodeConfigurationProperty where
+  type PropertyType "Lex" FlowNodeConfigurationProperty = LexFlowNodeConfigurationProperty
+  set newValue FlowNodeConfigurationProperty {..}
+    = FlowNodeConfigurationProperty {lex = Prelude.pure newValue, ..}
+instance Property "Loop" FlowNodeConfigurationProperty where
+  type PropertyType "Loop" FlowNodeConfigurationProperty = LoopFlowNodeConfigurationProperty
+  set newValue FlowNodeConfigurationProperty {..}
+    = FlowNodeConfigurationProperty {loop = Prelude.pure newValue, ..}
+instance Property "LoopController" FlowNodeConfigurationProperty where
+  type PropertyType "LoopController" FlowNodeConfigurationProperty = LoopControllerFlowNodeConfigurationProperty
+  set newValue FlowNodeConfigurationProperty {..}
+    = FlowNodeConfigurationProperty
+        {loopController = Prelude.pure newValue, ..}
+instance Property "LoopInput" FlowNodeConfigurationProperty where
+  type PropertyType "LoopInput" FlowNodeConfigurationProperty = JSON.Object
+  set newValue FlowNodeConfigurationProperty {..}
+    = FlowNodeConfigurationProperty
+        {loopInput = Prelude.pure newValue, ..}
+instance Property "Output" FlowNodeConfigurationProperty where
+  type PropertyType "Output" FlowNodeConfigurationProperty = JSON.Object
+  set newValue FlowNodeConfigurationProperty {..}
+    = FlowNodeConfigurationProperty
+        {output = Prelude.pure newValue, ..}
+instance Property "Prompt" FlowNodeConfigurationProperty where
+  type PropertyType "Prompt" FlowNodeConfigurationProperty = PromptFlowNodeConfigurationProperty
+  set newValue FlowNodeConfigurationProperty {..}
+    = FlowNodeConfigurationProperty
+        {prompt = Prelude.pure newValue, ..}
+instance Property "Retrieval" FlowNodeConfigurationProperty where
+  type PropertyType "Retrieval" FlowNodeConfigurationProperty = RetrievalFlowNodeConfigurationProperty
+  set newValue FlowNodeConfigurationProperty {..}
+    = FlowNodeConfigurationProperty
+        {retrieval = Prelude.pure newValue, ..}
+instance Property "Storage" FlowNodeConfigurationProperty where
+  type PropertyType "Storage" FlowNodeConfigurationProperty = StorageFlowNodeConfigurationProperty
+  set newValue FlowNodeConfigurationProperty {..}
+    = FlowNodeConfigurationProperty
+        {storage = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Flow/FlowNodeConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/Flow/FlowNodeConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/FlowNodeConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Flow.FlowNodeConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data FlowNodeConfigurationProperty :: Prelude.Type
+instance ToResourceProperties FlowNodeConfigurationProperty
+instance Prelude.Eq FlowNodeConfigurationProperty
+instance Prelude.Show FlowNodeConfigurationProperty
+instance JSON.ToJSON FlowNodeConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/Flow/FlowNodeInputProperty.hs b/gen/Stratosphere/Bedrock/Flow/FlowNodeInputProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/FlowNodeInputProperty.hs
@@ -0,0 +1,62 @@
+module Stratosphere.Bedrock.Flow.FlowNodeInputProperty (
+        FlowNodeInputProperty(..), mkFlowNodeInputProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data FlowNodeInputProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flownodeinput.html>
+    FlowNodeInputProperty {haddock_workaround_ :: (),
+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flownodeinput.html#cfn-bedrock-flow-flownodeinput-category>
+                           category :: (Prelude.Maybe (Value Prelude.Text)),
+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flownodeinput.html#cfn-bedrock-flow-flownodeinput-expression>
+                           expression :: (Value Prelude.Text),
+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flownodeinput.html#cfn-bedrock-flow-flownodeinput-name>
+                           name :: (Value Prelude.Text),
+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flownodeinput.html#cfn-bedrock-flow-flownodeinput-type>
+                           type' :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkFlowNodeInputProperty ::
+  Value Prelude.Text
+  -> Value Prelude.Text
+     -> Value Prelude.Text -> FlowNodeInputProperty
+mkFlowNodeInputProperty expression name type'
+  = FlowNodeInputProperty
+      {haddock_workaround_ = (), expression = expression, name = name,
+       type' = type', category = Prelude.Nothing}
+instance ToResourceProperties FlowNodeInputProperty where
+  toResourceProperties FlowNodeInputProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Flow.FlowNodeInput",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["Expression" JSON..= expression, "Name" JSON..= name,
+                            "Type" JSON..= type']
+                           (Prelude.catMaybes [(JSON..=) "Category" Prelude.<$> category]))}
+instance JSON.ToJSON FlowNodeInputProperty where
+  toJSON FlowNodeInputProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["Expression" JSON..= expression, "Name" JSON..= name,
+               "Type" JSON..= type']
+              (Prelude.catMaybes [(JSON..=) "Category" Prelude.<$> category])))
+instance Property "Category" FlowNodeInputProperty where
+  type PropertyType "Category" FlowNodeInputProperty = Value Prelude.Text
+  set newValue FlowNodeInputProperty {..}
+    = FlowNodeInputProperty {category = Prelude.pure newValue, ..}
+instance Property "Expression" FlowNodeInputProperty where
+  type PropertyType "Expression" FlowNodeInputProperty = Value Prelude.Text
+  set newValue FlowNodeInputProperty {..}
+    = FlowNodeInputProperty {expression = newValue, ..}
+instance Property "Name" FlowNodeInputProperty where
+  type PropertyType "Name" FlowNodeInputProperty = Value Prelude.Text
+  set newValue FlowNodeInputProperty {..}
+    = FlowNodeInputProperty {name = newValue, ..}
+instance Property "Type" FlowNodeInputProperty where
+  type PropertyType "Type" FlowNodeInputProperty = Value Prelude.Text
+  set newValue FlowNodeInputProperty {..}
+    = FlowNodeInputProperty {type' = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Flow/FlowNodeInputProperty.hs-boot b/gen/Stratosphere/Bedrock/Flow/FlowNodeInputProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/FlowNodeInputProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Flow.FlowNodeInputProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data FlowNodeInputProperty :: Prelude.Type
+instance ToResourceProperties FlowNodeInputProperty
+instance Prelude.Eq FlowNodeInputProperty
+instance Prelude.Show FlowNodeInputProperty
+instance JSON.ToJSON FlowNodeInputProperty
diff --git a/gen/Stratosphere/Bedrock/Flow/FlowNodeOutputProperty.hs b/gen/Stratosphere/Bedrock/Flow/FlowNodeOutputProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/FlowNodeOutputProperty.hs
@@ -0,0 +1,38 @@
+module Stratosphere.Bedrock.Flow.FlowNodeOutputProperty (
+        FlowNodeOutputProperty(..), mkFlowNodeOutputProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data FlowNodeOutputProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flownodeoutput.html>
+    FlowNodeOutputProperty {haddock_workaround_ :: (),
+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flownodeoutput.html#cfn-bedrock-flow-flownodeoutput-name>
+                            name :: (Value Prelude.Text),
+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flownodeoutput.html#cfn-bedrock-flow-flownodeoutput-type>
+                            type' :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkFlowNodeOutputProperty ::
+  Value Prelude.Text -> Value Prelude.Text -> FlowNodeOutputProperty
+mkFlowNodeOutputProperty name type'
+  = FlowNodeOutputProperty
+      {haddock_workaround_ = (), name = name, type' = type'}
+instance ToResourceProperties FlowNodeOutputProperty where
+  toResourceProperties FlowNodeOutputProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Flow.FlowNodeOutput",
+         supportsTags = Prelude.False,
+         properties = ["Name" JSON..= name, "Type" JSON..= type']}
+instance JSON.ToJSON FlowNodeOutputProperty where
+  toJSON FlowNodeOutputProperty {..}
+    = JSON.object ["Name" JSON..= name, "Type" JSON..= type']
+instance Property "Name" FlowNodeOutputProperty where
+  type PropertyType "Name" FlowNodeOutputProperty = Value Prelude.Text
+  set newValue FlowNodeOutputProperty {..}
+    = FlowNodeOutputProperty {name = newValue, ..}
+instance Property "Type" FlowNodeOutputProperty where
+  type PropertyType "Type" FlowNodeOutputProperty = Value Prelude.Text
+  set newValue FlowNodeOutputProperty {..}
+    = FlowNodeOutputProperty {type' = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Flow/FlowNodeOutputProperty.hs-boot b/gen/Stratosphere/Bedrock/Flow/FlowNodeOutputProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/FlowNodeOutputProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Flow.FlowNodeOutputProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data FlowNodeOutputProperty :: Prelude.Type
+instance ToResourceProperties FlowNodeOutputProperty
+instance Prelude.Eq FlowNodeOutputProperty
+instance Prelude.Show FlowNodeOutputProperty
+instance JSON.ToJSON FlowNodeOutputProperty
diff --git a/gen/Stratosphere/Bedrock/Flow/FlowNodeProperty.hs b/gen/Stratosphere/Bedrock/Flow/FlowNodeProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/FlowNodeProperty.hs
@@ -0,0 +1,74 @@
+module Stratosphere.Bedrock.Flow.FlowNodeProperty (
+        module Exports, FlowNodeProperty(..), mkFlowNodeProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.Flow.FlowNodeConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.Flow.FlowNodeInputProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.Flow.FlowNodeOutputProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data FlowNodeProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flownode.html>
+    FlowNodeProperty {haddock_workaround_ :: (),
+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flownode.html#cfn-bedrock-flow-flownode-configuration>
+                      configuration :: (Prelude.Maybe FlowNodeConfigurationProperty),
+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flownode.html#cfn-bedrock-flow-flownode-inputs>
+                      inputs :: (Prelude.Maybe [FlowNodeInputProperty]),
+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flownode.html#cfn-bedrock-flow-flownode-name>
+                      name :: (Value Prelude.Text),
+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flownode.html#cfn-bedrock-flow-flownode-outputs>
+                      outputs :: (Prelude.Maybe [FlowNodeOutputProperty]),
+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flownode.html#cfn-bedrock-flow-flownode-type>
+                      type' :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkFlowNodeProperty ::
+  Value Prelude.Text -> Value Prelude.Text -> FlowNodeProperty
+mkFlowNodeProperty name type'
+  = FlowNodeProperty
+      {haddock_workaround_ = (), name = name, type' = type',
+       configuration = Prelude.Nothing, inputs = Prelude.Nothing,
+       outputs = Prelude.Nothing}
+instance ToResourceProperties FlowNodeProperty where
+  toResourceProperties FlowNodeProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Flow.FlowNode",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["Name" JSON..= name, "Type" JSON..= type']
+                           (Prelude.catMaybes
+                              [(JSON..=) "Configuration" Prelude.<$> configuration,
+                               (JSON..=) "Inputs" Prelude.<$> inputs,
+                               (JSON..=) "Outputs" Prelude.<$> outputs]))}
+instance JSON.ToJSON FlowNodeProperty where
+  toJSON FlowNodeProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["Name" JSON..= name, "Type" JSON..= type']
+              (Prelude.catMaybes
+                 [(JSON..=) "Configuration" Prelude.<$> configuration,
+                  (JSON..=) "Inputs" Prelude.<$> inputs,
+                  (JSON..=) "Outputs" Prelude.<$> outputs])))
+instance Property "Configuration" FlowNodeProperty where
+  type PropertyType "Configuration" FlowNodeProperty = FlowNodeConfigurationProperty
+  set newValue FlowNodeProperty {..}
+    = FlowNodeProperty {configuration = Prelude.pure newValue, ..}
+instance Property "Inputs" FlowNodeProperty where
+  type PropertyType "Inputs" FlowNodeProperty = [FlowNodeInputProperty]
+  set newValue FlowNodeProperty {..}
+    = FlowNodeProperty {inputs = Prelude.pure newValue, ..}
+instance Property "Name" FlowNodeProperty where
+  type PropertyType "Name" FlowNodeProperty = Value Prelude.Text
+  set newValue FlowNodeProperty {..}
+    = FlowNodeProperty {name = newValue, ..}
+instance Property "Outputs" FlowNodeProperty where
+  type PropertyType "Outputs" FlowNodeProperty = [FlowNodeOutputProperty]
+  set newValue FlowNodeProperty {..}
+    = FlowNodeProperty {outputs = Prelude.pure newValue, ..}
+instance Property "Type" FlowNodeProperty where
+  type PropertyType "Type" FlowNodeProperty = Value Prelude.Text
+  set newValue FlowNodeProperty {..}
+    = FlowNodeProperty {type' = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Flow/FlowNodeProperty.hs-boot b/gen/Stratosphere/Bedrock/Flow/FlowNodeProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/FlowNodeProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Flow.FlowNodeProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data FlowNodeProperty :: Prelude.Type
+instance ToResourceProperties FlowNodeProperty
+instance Prelude.Eq FlowNodeProperty
+instance Prelude.Show FlowNodeProperty
+instance JSON.ToJSON FlowNodeProperty
diff --git a/gen/Stratosphere/Bedrock/Flow/FlowValidationProperty.hs b/gen/Stratosphere/Bedrock/Flow/FlowValidationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/FlowValidationProperty.hs
@@ -0,0 +1,32 @@
+module Stratosphere.Bedrock.Flow.FlowValidationProperty (
+        FlowValidationProperty(..), mkFlowValidationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data FlowValidationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flowvalidation.html>
+    FlowValidationProperty {haddock_workaround_ :: (),
+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flowvalidation.html#cfn-bedrock-flow-flowvalidation-message>
+                            message :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkFlowValidationProperty ::
+  Value Prelude.Text -> FlowValidationProperty
+mkFlowValidationProperty message
+  = FlowValidationProperty
+      {haddock_workaround_ = (), message = message}
+instance ToResourceProperties FlowValidationProperty where
+  toResourceProperties FlowValidationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Flow.FlowValidation",
+         supportsTags = Prelude.False,
+         properties = ["Message" JSON..= message]}
+instance JSON.ToJSON FlowValidationProperty where
+  toJSON FlowValidationProperty {..}
+    = JSON.object ["Message" JSON..= message]
+instance Property "Message" FlowValidationProperty where
+  type PropertyType "Message" FlowValidationProperty = Value Prelude.Text
+  set newValue FlowValidationProperty {..}
+    = FlowValidationProperty {message = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Flow/FlowValidationProperty.hs-boot b/gen/Stratosphere/Bedrock/Flow/FlowValidationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/FlowValidationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Flow.FlowValidationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data FlowValidationProperty :: Prelude.Type
+instance ToResourceProperties FlowValidationProperty
+instance Prelude.Eq FlowValidationProperty
+instance Prelude.Show FlowValidationProperty
+instance JSON.ToJSON FlowValidationProperty
diff --git a/gen/Stratosphere/Bedrock/Flow/GuardrailConfigurationProperty.hs b/gen/Stratosphere/Bedrock/Flow/GuardrailConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/GuardrailConfigurationProperty.hs
@@ -0,0 +1,48 @@
+module Stratosphere.Bedrock.Flow.GuardrailConfigurationProperty (
+        GuardrailConfigurationProperty(..),
+        mkGuardrailConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data GuardrailConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-guardrailconfiguration.html>
+    GuardrailConfigurationProperty {haddock_workaround_ :: (),
+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-guardrailconfiguration.html#cfn-bedrock-flow-guardrailconfiguration-guardrailidentifier>
+                                    guardrailIdentifier :: (Prelude.Maybe (Value Prelude.Text)),
+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-guardrailconfiguration.html#cfn-bedrock-flow-guardrailconfiguration-guardrailversion>
+                                    guardrailVersion :: (Prelude.Maybe (Value Prelude.Text))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkGuardrailConfigurationProperty :: GuardrailConfigurationProperty
+mkGuardrailConfigurationProperty
+  = GuardrailConfigurationProperty
+      {haddock_workaround_ = (), guardrailIdentifier = Prelude.Nothing,
+       guardrailVersion = Prelude.Nothing}
+instance ToResourceProperties GuardrailConfigurationProperty where
+  toResourceProperties GuardrailConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Flow.GuardrailConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "GuardrailIdentifier" Prelude.<$> guardrailIdentifier,
+                            (JSON..=) "GuardrailVersion" Prelude.<$> guardrailVersion])}
+instance JSON.ToJSON GuardrailConfigurationProperty where
+  toJSON GuardrailConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "GuardrailIdentifier" Prelude.<$> guardrailIdentifier,
+               (JSON..=) "GuardrailVersion" Prelude.<$> guardrailVersion]))
+instance Property "GuardrailIdentifier" GuardrailConfigurationProperty where
+  type PropertyType "GuardrailIdentifier" GuardrailConfigurationProperty = Value Prelude.Text
+  set newValue GuardrailConfigurationProperty {..}
+    = GuardrailConfigurationProperty
+        {guardrailIdentifier = Prelude.pure newValue, ..}
+instance Property "GuardrailVersion" GuardrailConfigurationProperty where
+  type PropertyType "GuardrailVersion" GuardrailConfigurationProperty = Value Prelude.Text
+  set newValue GuardrailConfigurationProperty {..}
+    = GuardrailConfigurationProperty
+        {guardrailVersion = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Flow/GuardrailConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/Flow/GuardrailConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/GuardrailConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Flow.GuardrailConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data GuardrailConfigurationProperty :: Prelude.Type
+instance ToResourceProperties GuardrailConfigurationProperty
+instance Prelude.Eq GuardrailConfigurationProperty
+instance Prelude.Show GuardrailConfigurationProperty
+instance JSON.ToJSON GuardrailConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/Flow/InlineCodeFlowNodeConfigurationProperty.hs b/gen/Stratosphere/Bedrock/Flow/InlineCodeFlowNodeConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/InlineCodeFlowNodeConfigurationProperty.hs
@@ -0,0 +1,40 @@
+module Stratosphere.Bedrock.Flow.InlineCodeFlowNodeConfigurationProperty (
+        InlineCodeFlowNodeConfigurationProperty(..),
+        mkInlineCodeFlowNodeConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data InlineCodeFlowNodeConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-inlinecodeflownodeconfiguration.html>
+    InlineCodeFlowNodeConfigurationProperty {haddock_workaround_ :: (),
+                                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-inlinecodeflownodeconfiguration.html#cfn-bedrock-flow-inlinecodeflownodeconfiguration-code>
+                                             code :: (Value Prelude.Text),
+                                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-inlinecodeflownodeconfiguration.html#cfn-bedrock-flow-inlinecodeflownodeconfiguration-language>
+                                             language :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkInlineCodeFlowNodeConfigurationProperty ::
+  Value Prelude.Text
+  -> Value Prelude.Text -> InlineCodeFlowNodeConfigurationProperty
+mkInlineCodeFlowNodeConfigurationProperty code language
+  = InlineCodeFlowNodeConfigurationProperty
+      {haddock_workaround_ = (), code = code, language = language}
+instance ToResourceProperties InlineCodeFlowNodeConfigurationProperty where
+  toResourceProperties InlineCodeFlowNodeConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Flow.InlineCodeFlowNodeConfiguration",
+         supportsTags = Prelude.False,
+         properties = ["Code" JSON..= code, "Language" JSON..= language]}
+instance JSON.ToJSON InlineCodeFlowNodeConfigurationProperty where
+  toJSON InlineCodeFlowNodeConfigurationProperty {..}
+    = JSON.object ["Code" JSON..= code, "Language" JSON..= language]
+instance Property "Code" InlineCodeFlowNodeConfigurationProperty where
+  type PropertyType "Code" InlineCodeFlowNodeConfigurationProperty = Value Prelude.Text
+  set newValue InlineCodeFlowNodeConfigurationProperty {..}
+    = InlineCodeFlowNodeConfigurationProperty {code = newValue, ..}
+instance Property "Language" InlineCodeFlowNodeConfigurationProperty where
+  type PropertyType "Language" InlineCodeFlowNodeConfigurationProperty = Value Prelude.Text
+  set newValue InlineCodeFlowNodeConfigurationProperty {..}
+    = InlineCodeFlowNodeConfigurationProperty {language = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Flow/InlineCodeFlowNodeConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/Flow/InlineCodeFlowNodeConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/InlineCodeFlowNodeConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Flow.InlineCodeFlowNodeConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data InlineCodeFlowNodeConfigurationProperty :: Prelude.Type
+instance ToResourceProperties InlineCodeFlowNodeConfigurationProperty
+instance Prelude.Eq InlineCodeFlowNodeConfigurationProperty
+instance Prelude.Show InlineCodeFlowNodeConfigurationProperty
+instance JSON.ToJSON InlineCodeFlowNodeConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/Flow/KnowledgeBaseFlowNodeConfigurationProperty.hs b/gen/Stratosphere/Bedrock/Flow/KnowledgeBaseFlowNodeConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/KnowledgeBaseFlowNodeConfigurationProperty.hs
@@ -0,0 +1,124 @@
+module Stratosphere.Bedrock.Flow.KnowledgeBaseFlowNodeConfigurationProperty (
+        module Exports, KnowledgeBaseFlowNodeConfigurationProperty(..),
+        mkKnowledgeBaseFlowNodeConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.Flow.GuardrailConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.Flow.KnowledgeBaseOrchestrationConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.Flow.KnowledgeBasePromptTemplateProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.Flow.PromptInferenceConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.Flow.VectorSearchRerankingConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data KnowledgeBaseFlowNodeConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-knowledgebaseflownodeconfiguration.html>
+    KnowledgeBaseFlowNodeConfigurationProperty {haddock_workaround_ :: (),
+                                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-knowledgebaseflownodeconfiguration.html#cfn-bedrock-flow-knowledgebaseflownodeconfiguration-guardrailconfiguration>
+                                                guardrailConfiguration :: (Prelude.Maybe GuardrailConfigurationProperty),
+                                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-knowledgebaseflownodeconfiguration.html#cfn-bedrock-flow-knowledgebaseflownodeconfiguration-inferenceconfiguration>
+                                                inferenceConfiguration :: (Prelude.Maybe PromptInferenceConfigurationProperty),
+                                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-knowledgebaseflownodeconfiguration.html#cfn-bedrock-flow-knowledgebaseflownodeconfiguration-knowledgebaseid>
+                                                knowledgeBaseId :: (Value Prelude.Text),
+                                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-knowledgebaseflownodeconfiguration.html#cfn-bedrock-flow-knowledgebaseflownodeconfiguration-modelid>
+                                                modelId :: (Prelude.Maybe (Value Prelude.Text)),
+                                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-knowledgebaseflownodeconfiguration.html#cfn-bedrock-flow-knowledgebaseflownodeconfiguration-numberofresults>
+                                                numberOfResults :: (Prelude.Maybe (Value Prelude.Double)),
+                                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-knowledgebaseflownodeconfiguration.html#cfn-bedrock-flow-knowledgebaseflownodeconfiguration-orchestrationconfiguration>
+                                                orchestrationConfiguration :: (Prelude.Maybe KnowledgeBaseOrchestrationConfigurationProperty),
+                                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-knowledgebaseflownodeconfiguration.html#cfn-bedrock-flow-knowledgebaseflownodeconfiguration-prompttemplate>
+                                                promptTemplate :: (Prelude.Maybe KnowledgeBasePromptTemplateProperty),
+                                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-knowledgebaseflownodeconfiguration.html#cfn-bedrock-flow-knowledgebaseflownodeconfiguration-rerankingconfiguration>
+                                                rerankingConfiguration :: (Prelude.Maybe VectorSearchRerankingConfigurationProperty)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkKnowledgeBaseFlowNodeConfigurationProperty ::
+  Value Prelude.Text -> KnowledgeBaseFlowNodeConfigurationProperty
+mkKnowledgeBaseFlowNodeConfigurationProperty knowledgeBaseId
+  = KnowledgeBaseFlowNodeConfigurationProperty
+      {haddock_workaround_ = (), knowledgeBaseId = knowledgeBaseId,
+       guardrailConfiguration = Prelude.Nothing,
+       inferenceConfiguration = Prelude.Nothing,
+       modelId = Prelude.Nothing, numberOfResults = Prelude.Nothing,
+       orchestrationConfiguration = Prelude.Nothing,
+       promptTemplate = Prelude.Nothing,
+       rerankingConfiguration = Prelude.Nothing}
+instance ToResourceProperties KnowledgeBaseFlowNodeConfigurationProperty where
+  toResourceProperties
+    KnowledgeBaseFlowNodeConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Flow.KnowledgeBaseFlowNodeConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["KnowledgeBaseId" JSON..= knowledgeBaseId]
+                           (Prelude.catMaybes
+                              [(JSON..=) "GuardrailConfiguration"
+                                 Prelude.<$> guardrailConfiguration,
+                               (JSON..=) "InferenceConfiguration"
+                                 Prelude.<$> inferenceConfiguration,
+                               (JSON..=) "ModelId" Prelude.<$> modelId,
+                               (JSON..=) "NumberOfResults" Prelude.<$> numberOfResults,
+                               (JSON..=) "OrchestrationConfiguration"
+                                 Prelude.<$> orchestrationConfiguration,
+                               (JSON..=) "PromptTemplate" Prelude.<$> promptTemplate,
+                               (JSON..=) "RerankingConfiguration"
+                                 Prelude.<$> rerankingConfiguration]))}
+instance JSON.ToJSON KnowledgeBaseFlowNodeConfigurationProperty where
+  toJSON KnowledgeBaseFlowNodeConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["KnowledgeBaseId" JSON..= knowledgeBaseId]
+              (Prelude.catMaybes
+                 [(JSON..=) "GuardrailConfiguration"
+                    Prelude.<$> guardrailConfiguration,
+                  (JSON..=) "InferenceConfiguration"
+                    Prelude.<$> inferenceConfiguration,
+                  (JSON..=) "ModelId" Prelude.<$> modelId,
+                  (JSON..=) "NumberOfResults" Prelude.<$> numberOfResults,
+                  (JSON..=) "OrchestrationConfiguration"
+                    Prelude.<$> orchestrationConfiguration,
+                  (JSON..=) "PromptTemplate" Prelude.<$> promptTemplate,
+                  (JSON..=) "RerankingConfiguration"
+                    Prelude.<$> rerankingConfiguration])))
+instance Property "GuardrailConfiguration" KnowledgeBaseFlowNodeConfigurationProperty where
+  type PropertyType "GuardrailConfiguration" KnowledgeBaseFlowNodeConfigurationProperty = GuardrailConfigurationProperty
+  set newValue KnowledgeBaseFlowNodeConfigurationProperty {..}
+    = KnowledgeBaseFlowNodeConfigurationProperty
+        {guardrailConfiguration = Prelude.pure newValue, ..}
+instance Property "InferenceConfiguration" KnowledgeBaseFlowNodeConfigurationProperty where
+  type PropertyType "InferenceConfiguration" KnowledgeBaseFlowNodeConfigurationProperty = PromptInferenceConfigurationProperty
+  set newValue KnowledgeBaseFlowNodeConfigurationProperty {..}
+    = KnowledgeBaseFlowNodeConfigurationProperty
+        {inferenceConfiguration = Prelude.pure newValue, ..}
+instance Property "KnowledgeBaseId" KnowledgeBaseFlowNodeConfigurationProperty where
+  type PropertyType "KnowledgeBaseId" KnowledgeBaseFlowNodeConfigurationProperty = Value Prelude.Text
+  set newValue KnowledgeBaseFlowNodeConfigurationProperty {..}
+    = KnowledgeBaseFlowNodeConfigurationProperty
+        {knowledgeBaseId = newValue, ..}
+instance Property "ModelId" KnowledgeBaseFlowNodeConfigurationProperty where
+  type PropertyType "ModelId" KnowledgeBaseFlowNodeConfigurationProperty = Value Prelude.Text
+  set newValue KnowledgeBaseFlowNodeConfigurationProperty {..}
+    = KnowledgeBaseFlowNodeConfigurationProperty
+        {modelId = Prelude.pure newValue, ..}
+instance Property "NumberOfResults" KnowledgeBaseFlowNodeConfigurationProperty where
+  type PropertyType "NumberOfResults" KnowledgeBaseFlowNodeConfigurationProperty = Value Prelude.Double
+  set newValue KnowledgeBaseFlowNodeConfigurationProperty {..}
+    = KnowledgeBaseFlowNodeConfigurationProperty
+        {numberOfResults = Prelude.pure newValue, ..}
+instance Property "OrchestrationConfiguration" KnowledgeBaseFlowNodeConfigurationProperty where
+  type PropertyType "OrchestrationConfiguration" KnowledgeBaseFlowNodeConfigurationProperty = KnowledgeBaseOrchestrationConfigurationProperty
+  set newValue KnowledgeBaseFlowNodeConfigurationProperty {..}
+    = KnowledgeBaseFlowNodeConfigurationProperty
+        {orchestrationConfiguration = Prelude.pure newValue, ..}
+instance Property "PromptTemplate" KnowledgeBaseFlowNodeConfigurationProperty where
+  type PropertyType "PromptTemplate" KnowledgeBaseFlowNodeConfigurationProperty = KnowledgeBasePromptTemplateProperty
+  set newValue KnowledgeBaseFlowNodeConfigurationProperty {..}
+    = KnowledgeBaseFlowNodeConfigurationProperty
+        {promptTemplate = Prelude.pure newValue, ..}
+instance Property "RerankingConfiguration" KnowledgeBaseFlowNodeConfigurationProperty where
+  type PropertyType "RerankingConfiguration" KnowledgeBaseFlowNodeConfigurationProperty = VectorSearchRerankingConfigurationProperty
+  set newValue KnowledgeBaseFlowNodeConfigurationProperty {..}
+    = KnowledgeBaseFlowNodeConfigurationProperty
+        {rerankingConfiguration = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Flow/KnowledgeBaseFlowNodeConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/Flow/KnowledgeBaseFlowNodeConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/KnowledgeBaseFlowNodeConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Flow.KnowledgeBaseFlowNodeConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data KnowledgeBaseFlowNodeConfigurationProperty :: Prelude.Type
+instance ToResourceProperties KnowledgeBaseFlowNodeConfigurationProperty
+instance Prelude.Eq KnowledgeBaseFlowNodeConfigurationProperty
+instance Prelude.Show KnowledgeBaseFlowNodeConfigurationProperty
+instance JSON.ToJSON KnowledgeBaseFlowNodeConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/Flow/KnowledgeBaseOrchestrationConfigurationProperty.hs b/gen/Stratosphere/Bedrock/Flow/KnowledgeBaseOrchestrationConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/KnowledgeBaseOrchestrationConfigurationProperty.hs
@@ -0,0 +1,76 @@
+module Stratosphere.Bedrock.Flow.KnowledgeBaseOrchestrationConfigurationProperty (
+        module Exports,
+        KnowledgeBaseOrchestrationConfigurationProperty(..),
+        mkKnowledgeBaseOrchestrationConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.Flow.KnowledgeBasePromptTemplateProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.Flow.PerformanceConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.Flow.PromptInferenceConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+data KnowledgeBaseOrchestrationConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-knowledgebaseorchestrationconfiguration.html>
+    KnowledgeBaseOrchestrationConfigurationProperty {haddock_workaround_ :: (),
+                                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-knowledgebaseorchestrationconfiguration.html#cfn-bedrock-flow-knowledgebaseorchestrationconfiguration-additionalmodelrequestfields>
+                                                     additionalModelRequestFields :: (Prelude.Maybe JSON.Object),
+                                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-knowledgebaseorchestrationconfiguration.html#cfn-bedrock-flow-knowledgebaseorchestrationconfiguration-inferenceconfig>
+                                                     inferenceConfig :: (Prelude.Maybe PromptInferenceConfigurationProperty),
+                                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-knowledgebaseorchestrationconfiguration.html#cfn-bedrock-flow-knowledgebaseorchestrationconfiguration-performanceconfig>
+                                                     performanceConfig :: (Prelude.Maybe PerformanceConfigurationProperty),
+                                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-knowledgebaseorchestrationconfiguration.html#cfn-bedrock-flow-knowledgebaseorchestrationconfiguration-prompttemplate>
+                                                     promptTemplate :: (Prelude.Maybe KnowledgeBasePromptTemplateProperty)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkKnowledgeBaseOrchestrationConfigurationProperty ::
+  KnowledgeBaseOrchestrationConfigurationProperty
+mkKnowledgeBaseOrchestrationConfigurationProperty
+  = KnowledgeBaseOrchestrationConfigurationProperty
+      {haddock_workaround_ = (),
+       additionalModelRequestFields = Prelude.Nothing,
+       inferenceConfig = Prelude.Nothing,
+       performanceConfig = Prelude.Nothing,
+       promptTemplate = Prelude.Nothing}
+instance ToResourceProperties KnowledgeBaseOrchestrationConfigurationProperty where
+  toResourceProperties
+    KnowledgeBaseOrchestrationConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Flow.KnowledgeBaseOrchestrationConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "AdditionalModelRequestFields"
+                              Prelude.<$> additionalModelRequestFields,
+                            (JSON..=) "InferenceConfig" Prelude.<$> inferenceConfig,
+                            (JSON..=) "PerformanceConfig" Prelude.<$> performanceConfig,
+                            (JSON..=) "PromptTemplate" Prelude.<$> promptTemplate])}
+instance JSON.ToJSON KnowledgeBaseOrchestrationConfigurationProperty where
+  toJSON KnowledgeBaseOrchestrationConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "AdditionalModelRequestFields"
+                 Prelude.<$> additionalModelRequestFields,
+               (JSON..=) "InferenceConfig" Prelude.<$> inferenceConfig,
+               (JSON..=) "PerformanceConfig" Prelude.<$> performanceConfig,
+               (JSON..=) "PromptTemplate" Prelude.<$> promptTemplate]))
+instance Property "AdditionalModelRequestFields" KnowledgeBaseOrchestrationConfigurationProperty where
+  type PropertyType "AdditionalModelRequestFields" KnowledgeBaseOrchestrationConfigurationProperty = JSON.Object
+  set newValue KnowledgeBaseOrchestrationConfigurationProperty {..}
+    = KnowledgeBaseOrchestrationConfigurationProperty
+        {additionalModelRequestFields = Prelude.pure newValue, ..}
+instance Property "InferenceConfig" KnowledgeBaseOrchestrationConfigurationProperty where
+  type PropertyType "InferenceConfig" KnowledgeBaseOrchestrationConfigurationProperty = PromptInferenceConfigurationProperty
+  set newValue KnowledgeBaseOrchestrationConfigurationProperty {..}
+    = KnowledgeBaseOrchestrationConfigurationProperty
+        {inferenceConfig = Prelude.pure newValue, ..}
+instance Property "PerformanceConfig" KnowledgeBaseOrchestrationConfigurationProperty where
+  type PropertyType "PerformanceConfig" KnowledgeBaseOrchestrationConfigurationProperty = PerformanceConfigurationProperty
+  set newValue KnowledgeBaseOrchestrationConfigurationProperty {..}
+    = KnowledgeBaseOrchestrationConfigurationProperty
+        {performanceConfig = Prelude.pure newValue, ..}
+instance Property "PromptTemplate" KnowledgeBaseOrchestrationConfigurationProperty where
+  type PropertyType "PromptTemplate" KnowledgeBaseOrchestrationConfigurationProperty = KnowledgeBasePromptTemplateProperty
+  set newValue KnowledgeBaseOrchestrationConfigurationProperty {..}
+    = KnowledgeBaseOrchestrationConfigurationProperty
+        {promptTemplate = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Flow/KnowledgeBaseOrchestrationConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/Flow/KnowledgeBaseOrchestrationConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/KnowledgeBaseOrchestrationConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Flow.KnowledgeBaseOrchestrationConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data KnowledgeBaseOrchestrationConfigurationProperty :: Prelude.Type
+instance ToResourceProperties KnowledgeBaseOrchestrationConfigurationProperty
+instance Prelude.Eq KnowledgeBaseOrchestrationConfigurationProperty
+instance Prelude.Show KnowledgeBaseOrchestrationConfigurationProperty
+instance JSON.ToJSON KnowledgeBaseOrchestrationConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/Flow/KnowledgeBasePromptTemplateProperty.hs b/gen/Stratosphere/Bedrock/Flow/KnowledgeBasePromptTemplateProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/KnowledgeBasePromptTemplateProperty.hs
@@ -0,0 +1,34 @@
+module Stratosphere.Bedrock.Flow.KnowledgeBasePromptTemplateProperty (
+        KnowledgeBasePromptTemplateProperty(..),
+        mkKnowledgeBasePromptTemplateProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data KnowledgeBasePromptTemplateProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-knowledgebaseprompttemplate.html>
+    KnowledgeBasePromptTemplateProperty {haddock_workaround_ :: (),
+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-knowledgebaseprompttemplate.html#cfn-bedrock-flow-knowledgebaseprompttemplate-textprompttemplate>
+                                         textPromptTemplate :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkKnowledgeBasePromptTemplateProperty ::
+  Value Prelude.Text -> KnowledgeBasePromptTemplateProperty
+mkKnowledgeBasePromptTemplateProperty textPromptTemplate
+  = KnowledgeBasePromptTemplateProperty
+      {haddock_workaround_ = (), textPromptTemplate = textPromptTemplate}
+instance ToResourceProperties KnowledgeBasePromptTemplateProperty where
+  toResourceProperties KnowledgeBasePromptTemplateProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Flow.KnowledgeBasePromptTemplate",
+         supportsTags = Prelude.False,
+         properties = ["TextPromptTemplate" JSON..= textPromptTemplate]}
+instance JSON.ToJSON KnowledgeBasePromptTemplateProperty where
+  toJSON KnowledgeBasePromptTemplateProperty {..}
+    = JSON.object ["TextPromptTemplate" JSON..= textPromptTemplate]
+instance Property "TextPromptTemplate" KnowledgeBasePromptTemplateProperty where
+  type PropertyType "TextPromptTemplate" KnowledgeBasePromptTemplateProperty = Value Prelude.Text
+  set newValue KnowledgeBasePromptTemplateProperty {..}
+    = KnowledgeBasePromptTemplateProperty
+        {textPromptTemplate = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Flow/KnowledgeBasePromptTemplateProperty.hs-boot b/gen/Stratosphere/Bedrock/Flow/KnowledgeBasePromptTemplateProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/KnowledgeBasePromptTemplateProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Flow.KnowledgeBasePromptTemplateProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data KnowledgeBasePromptTemplateProperty :: Prelude.Type
+instance ToResourceProperties KnowledgeBasePromptTemplateProperty
+instance Prelude.Eq KnowledgeBasePromptTemplateProperty
+instance Prelude.Show KnowledgeBasePromptTemplateProperty
+instance JSON.ToJSON KnowledgeBasePromptTemplateProperty
diff --git a/gen/Stratosphere/Bedrock/Flow/LambdaFunctionFlowNodeConfigurationProperty.hs b/gen/Stratosphere/Bedrock/Flow/LambdaFunctionFlowNodeConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/LambdaFunctionFlowNodeConfigurationProperty.hs
@@ -0,0 +1,35 @@
+module Stratosphere.Bedrock.Flow.LambdaFunctionFlowNodeConfigurationProperty (
+        LambdaFunctionFlowNodeConfigurationProperty(..),
+        mkLambdaFunctionFlowNodeConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data LambdaFunctionFlowNodeConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-lambdafunctionflownodeconfiguration.html>
+    LambdaFunctionFlowNodeConfigurationProperty {haddock_workaround_ :: (),
+                                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-lambdafunctionflownodeconfiguration.html#cfn-bedrock-flow-lambdafunctionflownodeconfiguration-lambdaarn>
+                                                 lambdaArn :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkLambdaFunctionFlowNodeConfigurationProperty ::
+  Value Prelude.Text -> LambdaFunctionFlowNodeConfigurationProperty
+mkLambdaFunctionFlowNodeConfigurationProperty lambdaArn
+  = LambdaFunctionFlowNodeConfigurationProperty
+      {haddock_workaround_ = (), lambdaArn = lambdaArn}
+instance ToResourceProperties LambdaFunctionFlowNodeConfigurationProperty where
+  toResourceProperties
+    LambdaFunctionFlowNodeConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Flow.LambdaFunctionFlowNodeConfiguration",
+         supportsTags = Prelude.False,
+         properties = ["LambdaArn" JSON..= lambdaArn]}
+instance JSON.ToJSON LambdaFunctionFlowNodeConfigurationProperty where
+  toJSON LambdaFunctionFlowNodeConfigurationProperty {..}
+    = JSON.object ["LambdaArn" JSON..= lambdaArn]
+instance Property "LambdaArn" LambdaFunctionFlowNodeConfigurationProperty where
+  type PropertyType "LambdaArn" LambdaFunctionFlowNodeConfigurationProperty = Value Prelude.Text
+  set newValue LambdaFunctionFlowNodeConfigurationProperty {..}
+    = LambdaFunctionFlowNodeConfigurationProperty
+        {lambdaArn = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Flow/LambdaFunctionFlowNodeConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/Flow/LambdaFunctionFlowNodeConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/LambdaFunctionFlowNodeConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Flow.LambdaFunctionFlowNodeConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data LambdaFunctionFlowNodeConfigurationProperty :: Prelude.Type
+instance ToResourceProperties LambdaFunctionFlowNodeConfigurationProperty
+instance Prelude.Eq LambdaFunctionFlowNodeConfigurationProperty
+instance Prelude.Show LambdaFunctionFlowNodeConfigurationProperty
+instance JSON.ToJSON LambdaFunctionFlowNodeConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/Flow/LexFlowNodeConfigurationProperty.hs b/gen/Stratosphere/Bedrock/Flow/LexFlowNodeConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/LexFlowNodeConfigurationProperty.hs
@@ -0,0 +1,43 @@
+module Stratosphere.Bedrock.Flow.LexFlowNodeConfigurationProperty (
+        LexFlowNodeConfigurationProperty(..),
+        mkLexFlowNodeConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data LexFlowNodeConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-lexflownodeconfiguration.html>
+    LexFlowNodeConfigurationProperty {haddock_workaround_ :: (),
+                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-lexflownodeconfiguration.html#cfn-bedrock-flow-lexflownodeconfiguration-botaliasarn>
+                                      botAliasArn :: (Value Prelude.Text),
+                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-lexflownodeconfiguration.html#cfn-bedrock-flow-lexflownodeconfiguration-localeid>
+                                      localeId :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkLexFlowNodeConfigurationProperty ::
+  Value Prelude.Text
+  -> Value Prelude.Text -> LexFlowNodeConfigurationProperty
+mkLexFlowNodeConfigurationProperty botAliasArn localeId
+  = LexFlowNodeConfigurationProperty
+      {haddock_workaround_ = (), botAliasArn = botAliasArn,
+       localeId = localeId}
+instance ToResourceProperties LexFlowNodeConfigurationProperty where
+  toResourceProperties LexFlowNodeConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Flow.LexFlowNodeConfiguration",
+         supportsTags = Prelude.False,
+         properties = ["BotAliasArn" JSON..= botAliasArn,
+                       "LocaleId" JSON..= localeId]}
+instance JSON.ToJSON LexFlowNodeConfigurationProperty where
+  toJSON LexFlowNodeConfigurationProperty {..}
+    = JSON.object
+        ["BotAliasArn" JSON..= botAliasArn, "LocaleId" JSON..= localeId]
+instance Property "BotAliasArn" LexFlowNodeConfigurationProperty where
+  type PropertyType "BotAliasArn" LexFlowNodeConfigurationProperty = Value Prelude.Text
+  set newValue LexFlowNodeConfigurationProperty {..}
+    = LexFlowNodeConfigurationProperty {botAliasArn = newValue, ..}
+instance Property "LocaleId" LexFlowNodeConfigurationProperty where
+  type PropertyType "LocaleId" LexFlowNodeConfigurationProperty = Value Prelude.Text
+  set newValue LexFlowNodeConfigurationProperty {..}
+    = LexFlowNodeConfigurationProperty {localeId = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Flow/LexFlowNodeConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/Flow/LexFlowNodeConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/LexFlowNodeConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Flow.LexFlowNodeConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data LexFlowNodeConfigurationProperty :: Prelude.Type
+instance ToResourceProperties LexFlowNodeConfigurationProperty
+instance Prelude.Eq LexFlowNodeConfigurationProperty
+instance Prelude.Show LexFlowNodeConfigurationProperty
+instance JSON.ToJSON LexFlowNodeConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/Flow/LoopControllerFlowNodeConfigurationProperty.hs b/gen/Stratosphere/Bedrock/Flow/LoopControllerFlowNodeConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/LoopControllerFlowNodeConfigurationProperty.hs
@@ -0,0 +1,54 @@
+module Stratosphere.Bedrock.Flow.LoopControllerFlowNodeConfigurationProperty (
+        module Exports, LoopControllerFlowNodeConfigurationProperty(..),
+        mkLoopControllerFlowNodeConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.Flow.FlowConditionProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data LoopControllerFlowNodeConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-loopcontrollerflownodeconfiguration.html>
+    LoopControllerFlowNodeConfigurationProperty {haddock_workaround_ :: (),
+                                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-loopcontrollerflownodeconfiguration.html#cfn-bedrock-flow-loopcontrollerflownodeconfiguration-continuecondition>
+                                                 continueCondition :: FlowConditionProperty,
+                                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-loopcontrollerflownodeconfiguration.html#cfn-bedrock-flow-loopcontrollerflownodeconfiguration-maxiterations>
+                                                 maxIterations :: (Prelude.Maybe (Value Prelude.Double))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkLoopControllerFlowNodeConfigurationProperty ::
+  FlowConditionProperty
+  -> LoopControllerFlowNodeConfigurationProperty
+mkLoopControllerFlowNodeConfigurationProperty continueCondition
+  = LoopControllerFlowNodeConfigurationProperty
+      {haddock_workaround_ = (), continueCondition = continueCondition,
+       maxIterations = Prelude.Nothing}
+instance ToResourceProperties LoopControllerFlowNodeConfigurationProperty where
+  toResourceProperties
+    LoopControllerFlowNodeConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Flow.LoopControllerFlowNodeConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["ContinueCondition" JSON..= continueCondition]
+                           (Prelude.catMaybes
+                              [(JSON..=) "MaxIterations" Prelude.<$> maxIterations]))}
+instance JSON.ToJSON LoopControllerFlowNodeConfigurationProperty where
+  toJSON LoopControllerFlowNodeConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["ContinueCondition" JSON..= continueCondition]
+              (Prelude.catMaybes
+                 [(JSON..=) "MaxIterations" Prelude.<$> maxIterations])))
+instance Property "ContinueCondition" LoopControllerFlowNodeConfigurationProperty where
+  type PropertyType "ContinueCondition" LoopControllerFlowNodeConfigurationProperty = FlowConditionProperty
+  set newValue LoopControllerFlowNodeConfigurationProperty {..}
+    = LoopControllerFlowNodeConfigurationProperty
+        {continueCondition = newValue, ..}
+instance Property "MaxIterations" LoopControllerFlowNodeConfigurationProperty where
+  type PropertyType "MaxIterations" LoopControllerFlowNodeConfigurationProperty = Value Prelude.Double
+  set newValue LoopControllerFlowNodeConfigurationProperty {..}
+    = LoopControllerFlowNodeConfigurationProperty
+        {maxIterations = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Flow/LoopControllerFlowNodeConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/Flow/LoopControllerFlowNodeConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/LoopControllerFlowNodeConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Flow.LoopControllerFlowNodeConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data LoopControllerFlowNodeConfigurationProperty :: Prelude.Type
+instance ToResourceProperties LoopControllerFlowNodeConfigurationProperty
+instance Prelude.Eq LoopControllerFlowNodeConfigurationProperty
+instance Prelude.Show LoopControllerFlowNodeConfigurationProperty
+instance JSON.ToJSON LoopControllerFlowNodeConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/Flow/LoopFlowNodeConfigurationProperty.hs b/gen/Stratosphere/Bedrock/Flow/LoopFlowNodeConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/LoopFlowNodeConfigurationProperty.hs
@@ -0,0 +1,33 @@
+module Stratosphere.Bedrock.Flow.LoopFlowNodeConfigurationProperty (
+        module Exports, LoopFlowNodeConfigurationProperty(..),
+        mkLoopFlowNodeConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.Flow.FlowDefinitionProperty as Exports
+import Stratosphere.ResourceProperties
+data LoopFlowNodeConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-loopflownodeconfiguration.html>
+    LoopFlowNodeConfigurationProperty {haddock_workaround_ :: (),
+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-loopflownodeconfiguration.html#cfn-bedrock-flow-loopflownodeconfiguration-definition>
+                                       definition :: FlowDefinitionProperty}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkLoopFlowNodeConfigurationProperty ::
+  FlowDefinitionProperty -> LoopFlowNodeConfigurationProperty
+mkLoopFlowNodeConfigurationProperty definition
+  = LoopFlowNodeConfigurationProperty
+      {haddock_workaround_ = (), definition = definition}
+instance ToResourceProperties LoopFlowNodeConfigurationProperty where
+  toResourceProperties LoopFlowNodeConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Flow.LoopFlowNodeConfiguration",
+         supportsTags = Prelude.False,
+         properties = ["Definition" JSON..= definition]}
+instance JSON.ToJSON LoopFlowNodeConfigurationProperty where
+  toJSON LoopFlowNodeConfigurationProperty {..}
+    = JSON.object ["Definition" JSON..= definition]
+instance Property "Definition" LoopFlowNodeConfigurationProperty where
+  type PropertyType "Definition" LoopFlowNodeConfigurationProperty = FlowDefinitionProperty
+  set newValue LoopFlowNodeConfigurationProperty {..}
+    = LoopFlowNodeConfigurationProperty {definition = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Flow/LoopFlowNodeConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/Flow/LoopFlowNodeConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/LoopFlowNodeConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Flow.LoopFlowNodeConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data LoopFlowNodeConfigurationProperty :: Prelude.Type
+instance ToResourceProperties LoopFlowNodeConfigurationProperty
+instance Prelude.Eq LoopFlowNodeConfigurationProperty
+instance Prelude.Show LoopFlowNodeConfigurationProperty
+instance JSON.ToJSON LoopFlowNodeConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/Flow/MetadataConfigurationForRerankingProperty.hs b/gen/Stratosphere/Bedrock/Flow/MetadataConfigurationForRerankingProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/MetadataConfigurationForRerankingProperty.hs
@@ -0,0 +1,54 @@
+module Stratosphere.Bedrock.Flow.MetadataConfigurationForRerankingProperty (
+        module Exports, MetadataConfigurationForRerankingProperty(..),
+        mkMetadataConfigurationForRerankingProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.Flow.RerankingMetadataSelectiveModeConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data MetadataConfigurationForRerankingProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-metadataconfigurationforreranking.html>
+    MetadataConfigurationForRerankingProperty {haddock_workaround_ :: (),
+                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-metadataconfigurationforreranking.html#cfn-bedrock-flow-metadataconfigurationforreranking-selectionmode>
+                                               selectionMode :: (Value Prelude.Text),
+                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-metadataconfigurationforreranking.html#cfn-bedrock-flow-metadataconfigurationforreranking-selectivemodeconfiguration>
+                                               selectiveModeConfiguration :: (Prelude.Maybe RerankingMetadataSelectiveModeConfigurationProperty)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkMetadataConfigurationForRerankingProperty ::
+  Value Prelude.Text -> MetadataConfigurationForRerankingProperty
+mkMetadataConfigurationForRerankingProperty selectionMode
+  = MetadataConfigurationForRerankingProperty
+      {haddock_workaround_ = (), selectionMode = selectionMode,
+       selectiveModeConfiguration = Prelude.Nothing}
+instance ToResourceProperties MetadataConfigurationForRerankingProperty where
+  toResourceProperties MetadataConfigurationForRerankingProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Flow.MetadataConfigurationForReranking",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["SelectionMode" JSON..= selectionMode]
+                           (Prelude.catMaybes
+                              [(JSON..=) "SelectiveModeConfiguration"
+                                 Prelude.<$> selectiveModeConfiguration]))}
+instance JSON.ToJSON MetadataConfigurationForRerankingProperty where
+  toJSON MetadataConfigurationForRerankingProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["SelectionMode" JSON..= selectionMode]
+              (Prelude.catMaybes
+                 [(JSON..=) "SelectiveModeConfiguration"
+                    Prelude.<$> selectiveModeConfiguration])))
+instance Property "SelectionMode" MetadataConfigurationForRerankingProperty where
+  type PropertyType "SelectionMode" MetadataConfigurationForRerankingProperty = Value Prelude.Text
+  set newValue MetadataConfigurationForRerankingProperty {..}
+    = MetadataConfigurationForRerankingProperty
+        {selectionMode = newValue, ..}
+instance Property "SelectiveModeConfiguration" MetadataConfigurationForRerankingProperty where
+  type PropertyType "SelectiveModeConfiguration" MetadataConfigurationForRerankingProperty = RerankingMetadataSelectiveModeConfigurationProperty
+  set newValue MetadataConfigurationForRerankingProperty {..}
+    = MetadataConfigurationForRerankingProperty
+        {selectiveModeConfiguration = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Flow/MetadataConfigurationForRerankingProperty.hs-boot b/gen/Stratosphere/Bedrock/Flow/MetadataConfigurationForRerankingProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/MetadataConfigurationForRerankingProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Flow.MetadataConfigurationForRerankingProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data MetadataConfigurationForRerankingProperty :: Prelude.Type
+instance ToResourceProperties MetadataConfigurationForRerankingProperty
+instance Prelude.Eq MetadataConfigurationForRerankingProperty
+instance Prelude.Show MetadataConfigurationForRerankingProperty
+instance JSON.ToJSON MetadataConfigurationForRerankingProperty
diff --git a/gen/Stratosphere/Bedrock/Flow/PerformanceConfigurationProperty.hs b/gen/Stratosphere/Bedrock/Flow/PerformanceConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/PerformanceConfigurationProperty.hs
@@ -0,0 +1,37 @@
+module Stratosphere.Bedrock.Flow.PerformanceConfigurationProperty (
+        PerformanceConfigurationProperty(..),
+        mkPerformanceConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data PerformanceConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-performanceconfiguration.html>
+    PerformanceConfigurationProperty {haddock_workaround_ :: (),
+                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-performanceconfiguration.html#cfn-bedrock-flow-performanceconfiguration-latency>
+                                      latency :: (Prelude.Maybe (Value Prelude.Text))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkPerformanceConfigurationProperty ::
+  PerformanceConfigurationProperty
+mkPerformanceConfigurationProperty
+  = PerformanceConfigurationProperty
+      {haddock_workaround_ = (), latency = Prelude.Nothing}
+instance ToResourceProperties PerformanceConfigurationProperty where
+  toResourceProperties PerformanceConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Flow.PerformanceConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes [(JSON..=) "Latency" Prelude.<$> latency])}
+instance JSON.ToJSON PerformanceConfigurationProperty where
+  toJSON PerformanceConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes [(JSON..=) "Latency" Prelude.<$> latency]))
+instance Property "Latency" PerformanceConfigurationProperty where
+  type PropertyType "Latency" PerformanceConfigurationProperty = Value Prelude.Text
+  set newValue PerformanceConfigurationProperty {..}
+    = PerformanceConfigurationProperty
+        {latency = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Flow/PerformanceConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/Flow/PerformanceConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/PerformanceConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Flow.PerformanceConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data PerformanceConfigurationProperty :: Prelude.Type
+instance ToResourceProperties PerformanceConfigurationProperty
+instance Prelude.Eq PerformanceConfigurationProperty
+instance Prelude.Show PerformanceConfigurationProperty
+instance JSON.ToJSON PerformanceConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/Flow/PromptFlowNodeConfigurationProperty.hs b/gen/Stratosphere/Bedrock/Flow/PromptFlowNodeConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/PromptFlowNodeConfigurationProperty.hs
@@ -0,0 +1,56 @@
+module Stratosphere.Bedrock.Flow.PromptFlowNodeConfigurationProperty (
+        module Exports, PromptFlowNodeConfigurationProperty(..),
+        mkPromptFlowNodeConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.Flow.GuardrailConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.Flow.PromptFlowNodeSourceConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+data PromptFlowNodeConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-promptflownodeconfiguration.html>
+    PromptFlowNodeConfigurationProperty {haddock_workaround_ :: (),
+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-promptflownodeconfiguration.html#cfn-bedrock-flow-promptflownodeconfiguration-guardrailconfiguration>
+                                         guardrailConfiguration :: (Prelude.Maybe GuardrailConfigurationProperty),
+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-promptflownodeconfiguration.html#cfn-bedrock-flow-promptflownodeconfiguration-sourceconfiguration>
+                                         sourceConfiguration :: PromptFlowNodeSourceConfigurationProperty}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkPromptFlowNodeConfigurationProperty ::
+  PromptFlowNodeSourceConfigurationProperty
+  -> PromptFlowNodeConfigurationProperty
+mkPromptFlowNodeConfigurationProperty sourceConfiguration
+  = PromptFlowNodeConfigurationProperty
+      {haddock_workaround_ = (),
+       sourceConfiguration = sourceConfiguration,
+       guardrailConfiguration = Prelude.Nothing}
+instance ToResourceProperties PromptFlowNodeConfigurationProperty where
+  toResourceProperties PromptFlowNodeConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Flow.PromptFlowNodeConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["SourceConfiguration" JSON..= sourceConfiguration]
+                           (Prelude.catMaybes
+                              [(JSON..=) "GuardrailConfiguration"
+                                 Prelude.<$> guardrailConfiguration]))}
+instance JSON.ToJSON PromptFlowNodeConfigurationProperty where
+  toJSON PromptFlowNodeConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["SourceConfiguration" JSON..= sourceConfiguration]
+              (Prelude.catMaybes
+                 [(JSON..=) "GuardrailConfiguration"
+                    Prelude.<$> guardrailConfiguration])))
+instance Property "GuardrailConfiguration" PromptFlowNodeConfigurationProperty where
+  type PropertyType "GuardrailConfiguration" PromptFlowNodeConfigurationProperty = GuardrailConfigurationProperty
+  set newValue PromptFlowNodeConfigurationProperty {..}
+    = PromptFlowNodeConfigurationProperty
+        {guardrailConfiguration = Prelude.pure newValue, ..}
+instance Property "SourceConfiguration" PromptFlowNodeConfigurationProperty where
+  type PropertyType "SourceConfiguration" PromptFlowNodeConfigurationProperty = PromptFlowNodeSourceConfigurationProperty
+  set newValue PromptFlowNodeConfigurationProperty {..}
+    = PromptFlowNodeConfigurationProperty
+        {sourceConfiguration = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Flow/PromptFlowNodeConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/Flow/PromptFlowNodeConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/PromptFlowNodeConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Flow.PromptFlowNodeConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data PromptFlowNodeConfigurationProperty :: Prelude.Type
+instance ToResourceProperties PromptFlowNodeConfigurationProperty
+instance Prelude.Eq PromptFlowNodeConfigurationProperty
+instance Prelude.Show PromptFlowNodeConfigurationProperty
+instance JSON.ToJSON PromptFlowNodeConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/Flow/PromptFlowNodeInlineConfigurationProperty.hs b/gen/Stratosphere/Bedrock/Flow/PromptFlowNodeInlineConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/PromptFlowNodeInlineConfigurationProperty.hs
@@ -0,0 +1,80 @@
+module Stratosphere.Bedrock.Flow.PromptFlowNodeInlineConfigurationProperty (
+        module Exports, PromptFlowNodeInlineConfigurationProperty(..),
+        mkPromptFlowNodeInlineConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.Flow.PromptInferenceConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.Flow.PromptTemplateConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data PromptFlowNodeInlineConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-promptflownodeinlineconfiguration.html>
+    PromptFlowNodeInlineConfigurationProperty {haddock_workaround_ :: (),
+                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-promptflownodeinlineconfiguration.html#cfn-bedrock-flow-promptflownodeinlineconfiguration-inferenceconfiguration>
+                                               inferenceConfiguration :: (Prelude.Maybe PromptInferenceConfigurationProperty),
+                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-promptflownodeinlineconfiguration.html#cfn-bedrock-flow-promptflownodeinlineconfiguration-modelid>
+                                               modelId :: (Value Prelude.Text),
+                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-promptflownodeinlineconfiguration.html#cfn-bedrock-flow-promptflownodeinlineconfiguration-templateconfiguration>
+                                               templateConfiguration :: PromptTemplateConfigurationProperty,
+                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-promptflownodeinlineconfiguration.html#cfn-bedrock-flow-promptflownodeinlineconfiguration-templatetype>
+                                               templateType :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkPromptFlowNodeInlineConfigurationProperty ::
+  Value Prelude.Text
+  -> PromptTemplateConfigurationProperty
+     -> Value Prelude.Text -> PromptFlowNodeInlineConfigurationProperty
+mkPromptFlowNodeInlineConfigurationProperty
+  modelId
+  templateConfiguration
+  templateType
+  = PromptFlowNodeInlineConfigurationProperty
+      {haddock_workaround_ = (), modelId = modelId,
+       templateConfiguration = templateConfiguration,
+       templateType = templateType,
+       inferenceConfiguration = Prelude.Nothing}
+instance ToResourceProperties PromptFlowNodeInlineConfigurationProperty where
+  toResourceProperties PromptFlowNodeInlineConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Flow.PromptFlowNodeInlineConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["ModelId" JSON..= modelId,
+                            "TemplateConfiguration" JSON..= templateConfiguration,
+                            "TemplateType" JSON..= templateType]
+                           (Prelude.catMaybes
+                              [(JSON..=) "InferenceConfiguration"
+                                 Prelude.<$> inferenceConfiguration]))}
+instance JSON.ToJSON PromptFlowNodeInlineConfigurationProperty where
+  toJSON PromptFlowNodeInlineConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["ModelId" JSON..= modelId,
+               "TemplateConfiguration" JSON..= templateConfiguration,
+               "TemplateType" JSON..= templateType]
+              (Prelude.catMaybes
+                 [(JSON..=) "InferenceConfiguration"
+                    Prelude.<$> inferenceConfiguration])))
+instance Property "InferenceConfiguration" PromptFlowNodeInlineConfigurationProperty where
+  type PropertyType "InferenceConfiguration" PromptFlowNodeInlineConfigurationProperty = PromptInferenceConfigurationProperty
+  set newValue PromptFlowNodeInlineConfigurationProperty {..}
+    = PromptFlowNodeInlineConfigurationProperty
+        {inferenceConfiguration = Prelude.pure newValue, ..}
+instance Property "ModelId" PromptFlowNodeInlineConfigurationProperty where
+  type PropertyType "ModelId" PromptFlowNodeInlineConfigurationProperty = Value Prelude.Text
+  set newValue PromptFlowNodeInlineConfigurationProperty {..}
+    = PromptFlowNodeInlineConfigurationProperty
+        {modelId = newValue, ..}
+instance Property "TemplateConfiguration" PromptFlowNodeInlineConfigurationProperty where
+  type PropertyType "TemplateConfiguration" PromptFlowNodeInlineConfigurationProperty = PromptTemplateConfigurationProperty
+  set newValue PromptFlowNodeInlineConfigurationProperty {..}
+    = PromptFlowNodeInlineConfigurationProperty
+        {templateConfiguration = newValue, ..}
+instance Property "TemplateType" PromptFlowNodeInlineConfigurationProperty where
+  type PropertyType "TemplateType" PromptFlowNodeInlineConfigurationProperty = Value Prelude.Text
+  set newValue PromptFlowNodeInlineConfigurationProperty {..}
+    = PromptFlowNodeInlineConfigurationProperty
+        {templateType = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Flow/PromptFlowNodeInlineConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/Flow/PromptFlowNodeInlineConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/PromptFlowNodeInlineConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Flow.PromptFlowNodeInlineConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data PromptFlowNodeInlineConfigurationProperty :: Prelude.Type
+instance ToResourceProperties PromptFlowNodeInlineConfigurationProperty
+instance Prelude.Eq PromptFlowNodeInlineConfigurationProperty
+instance Prelude.Show PromptFlowNodeInlineConfigurationProperty
+instance JSON.ToJSON PromptFlowNodeInlineConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/Flow/PromptFlowNodeResourceConfigurationProperty.hs b/gen/Stratosphere/Bedrock/Flow/PromptFlowNodeResourceConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/PromptFlowNodeResourceConfigurationProperty.hs
@@ -0,0 +1,35 @@
+module Stratosphere.Bedrock.Flow.PromptFlowNodeResourceConfigurationProperty (
+        PromptFlowNodeResourceConfigurationProperty(..),
+        mkPromptFlowNodeResourceConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data PromptFlowNodeResourceConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-promptflownoderesourceconfiguration.html>
+    PromptFlowNodeResourceConfigurationProperty {haddock_workaround_ :: (),
+                                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-promptflownoderesourceconfiguration.html#cfn-bedrock-flow-promptflownoderesourceconfiguration-promptarn>
+                                                 promptArn :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkPromptFlowNodeResourceConfigurationProperty ::
+  Value Prelude.Text -> PromptFlowNodeResourceConfigurationProperty
+mkPromptFlowNodeResourceConfigurationProperty promptArn
+  = PromptFlowNodeResourceConfigurationProperty
+      {haddock_workaround_ = (), promptArn = promptArn}
+instance ToResourceProperties PromptFlowNodeResourceConfigurationProperty where
+  toResourceProperties
+    PromptFlowNodeResourceConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Flow.PromptFlowNodeResourceConfiguration",
+         supportsTags = Prelude.False,
+         properties = ["PromptArn" JSON..= promptArn]}
+instance JSON.ToJSON PromptFlowNodeResourceConfigurationProperty where
+  toJSON PromptFlowNodeResourceConfigurationProperty {..}
+    = JSON.object ["PromptArn" JSON..= promptArn]
+instance Property "PromptArn" PromptFlowNodeResourceConfigurationProperty where
+  type PropertyType "PromptArn" PromptFlowNodeResourceConfigurationProperty = Value Prelude.Text
+  set newValue PromptFlowNodeResourceConfigurationProperty {..}
+    = PromptFlowNodeResourceConfigurationProperty
+        {promptArn = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Flow/PromptFlowNodeResourceConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/Flow/PromptFlowNodeResourceConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/PromptFlowNodeResourceConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Flow.PromptFlowNodeResourceConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data PromptFlowNodeResourceConfigurationProperty :: Prelude.Type
+instance ToResourceProperties PromptFlowNodeResourceConfigurationProperty
+instance Prelude.Eq PromptFlowNodeResourceConfigurationProperty
+instance Prelude.Show PromptFlowNodeResourceConfigurationProperty
+instance JSON.ToJSON PromptFlowNodeResourceConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/Flow/PromptFlowNodeSourceConfigurationProperty.hs b/gen/Stratosphere/Bedrock/Flow/PromptFlowNodeSourceConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/PromptFlowNodeSourceConfigurationProperty.hs
@@ -0,0 +1,50 @@
+module Stratosphere.Bedrock.Flow.PromptFlowNodeSourceConfigurationProperty (
+        module Exports, PromptFlowNodeSourceConfigurationProperty(..),
+        mkPromptFlowNodeSourceConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.Flow.PromptFlowNodeInlineConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.Flow.PromptFlowNodeResourceConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+data PromptFlowNodeSourceConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-promptflownodesourceconfiguration.html>
+    PromptFlowNodeSourceConfigurationProperty {haddock_workaround_ :: (),
+                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-promptflownodesourceconfiguration.html#cfn-bedrock-flow-promptflownodesourceconfiguration-inline>
+                                               inline :: (Prelude.Maybe PromptFlowNodeInlineConfigurationProperty),
+                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-promptflownodesourceconfiguration.html#cfn-bedrock-flow-promptflownodesourceconfiguration-resource>
+                                               resource :: (Prelude.Maybe PromptFlowNodeResourceConfigurationProperty)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkPromptFlowNodeSourceConfigurationProperty ::
+  PromptFlowNodeSourceConfigurationProperty
+mkPromptFlowNodeSourceConfigurationProperty
+  = PromptFlowNodeSourceConfigurationProperty
+      {haddock_workaround_ = (), inline = Prelude.Nothing,
+       resource = Prelude.Nothing}
+instance ToResourceProperties PromptFlowNodeSourceConfigurationProperty where
+  toResourceProperties PromptFlowNodeSourceConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Flow.PromptFlowNodeSourceConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "Inline" Prelude.<$> inline,
+                            (JSON..=) "Resource" Prelude.<$> resource])}
+instance JSON.ToJSON PromptFlowNodeSourceConfigurationProperty where
+  toJSON PromptFlowNodeSourceConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "Inline" Prelude.<$> inline,
+               (JSON..=) "Resource" Prelude.<$> resource]))
+instance Property "Inline" PromptFlowNodeSourceConfigurationProperty where
+  type PropertyType "Inline" PromptFlowNodeSourceConfigurationProperty = PromptFlowNodeInlineConfigurationProperty
+  set newValue PromptFlowNodeSourceConfigurationProperty {..}
+    = PromptFlowNodeSourceConfigurationProperty
+        {inline = Prelude.pure newValue, ..}
+instance Property "Resource" PromptFlowNodeSourceConfigurationProperty where
+  type PropertyType "Resource" PromptFlowNodeSourceConfigurationProperty = PromptFlowNodeResourceConfigurationProperty
+  set newValue PromptFlowNodeSourceConfigurationProperty {..}
+    = PromptFlowNodeSourceConfigurationProperty
+        {resource = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Flow/PromptFlowNodeSourceConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/Flow/PromptFlowNodeSourceConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/PromptFlowNodeSourceConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Flow.PromptFlowNodeSourceConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data PromptFlowNodeSourceConfigurationProperty :: Prelude.Type
+instance ToResourceProperties PromptFlowNodeSourceConfigurationProperty
+instance Prelude.Eq PromptFlowNodeSourceConfigurationProperty
+instance Prelude.Show PromptFlowNodeSourceConfigurationProperty
+instance JSON.ToJSON PromptFlowNodeSourceConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/Flow/PromptInferenceConfigurationProperty.hs b/gen/Stratosphere/Bedrock/Flow/PromptInferenceConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/PromptInferenceConfigurationProperty.hs
@@ -0,0 +1,33 @@
+module Stratosphere.Bedrock.Flow.PromptInferenceConfigurationProperty (
+        module Exports, PromptInferenceConfigurationProperty(..),
+        mkPromptInferenceConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.Flow.PromptModelInferenceConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+data PromptInferenceConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-promptinferenceconfiguration.html>
+    PromptInferenceConfigurationProperty {haddock_workaround_ :: (),
+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-promptinferenceconfiguration.html#cfn-bedrock-flow-promptinferenceconfiguration-text>
+                                          text :: PromptModelInferenceConfigurationProperty}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkPromptInferenceConfigurationProperty ::
+  PromptModelInferenceConfigurationProperty
+  -> PromptInferenceConfigurationProperty
+mkPromptInferenceConfigurationProperty text
+  = PromptInferenceConfigurationProperty
+      {haddock_workaround_ = (), text = text}
+instance ToResourceProperties PromptInferenceConfigurationProperty where
+  toResourceProperties PromptInferenceConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Flow.PromptInferenceConfiguration",
+         supportsTags = Prelude.False, properties = ["Text" JSON..= text]}
+instance JSON.ToJSON PromptInferenceConfigurationProperty where
+  toJSON PromptInferenceConfigurationProperty {..}
+    = JSON.object ["Text" JSON..= text]
+instance Property "Text" PromptInferenceConfigurationProperty where
+  type PropertyType "Text" PromptInferenceConfigurationProperty = PromptModelInferenceConfigurationProperty
+  set newValue PromptInferenceConfigurationProperty {..}
+    = PromptInferenceConfigurationProperty {text = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Flow/PromptInferenceConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/Flow/PromptInferenceConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/PromptInferenceConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Flow.PromptInferenceConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data PromptInferenceConfigurationProperty :: Prelude.Type
+instance ToResourceProperties PromptInferenceConfigurationProperty
+instance Prelude.Eq PromptInferenceConfigurationProperty
+instance Prelude.Show PromptInferenceConfigurationProperty
+instance JSON.ToJSON PromptInferenceConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/Flow/PromptInputVariableProperty.hs b/gen/Stratosphere/Bedrock/Flow/PromptInputVariableProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/PromptInputVariableProperty.hs
@@ -0,0 +1,34 @@
+module Stratosphere.Bedrock.Flow.PromptInputVariableProperty (
+        PromptInputVariableProperty(..), mkPromptInputVariableProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data PromptInputVariableProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-promptinputvariable.html>
+    PromptInputVariableProperty {haddock_workaround_ :: (),
+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-promptinputvariable.html#cfn-bedrock-flow-promptinputvariable-name>
+                                 name :: (Prelude.Maybe (Value Prelude.Text))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkPromptInputVariableProperty :: PromptInputVariableProperty
+mkPromptInputVariableProperty
+  = PromptInputVariableProperty
+      {haddock_workaround_ = (), name = Prelude.Nothing}
+instance ToResourceProperties PromptInputVariableProperty where
+  toResourceProperties PromptInputVariableProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Flow.PromptInputVariable",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes [(JSON..=) "Name" Prelude.<$> name])}
+instance JSON.ToJSON PromptInputVariableProperty where
+  toJSON PromptInputVariableProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes [(JSON..=) "Name" Prelude.<$> name]))
+instance Property "Name" PromptInputVariableProperty where
+  type PropertyType "Name" PromptInputVariableProperty = Value Prelude.Text
+  set newValue PromptInputVariableProperty {..}
+    = PromptInputVariableProperty {name = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Flow/PromptInputVariableProperty.hs-boot b/gen/Stratosphere/Bedrock/Flow/PromptInputVariableProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/PromptInputVariableProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Flow.PromptInputVariableProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data PromptInputVariableProperty :: Prelude.Type
+instance ToResourceProperties PromptInputVariableProperty
+instance Prelude.Eq PromptInputVariableProperty
+instance Prelude.Show PromptInputVariableProperty
+instance JSON.ToJSON PromptInputVariableProperty
diff --git a/gen/Stratosphere/Bedrock/Flow/PromptModelInferenceConfigurationProperty.hs b/gen/Stratosphere/Bedrock/Flow/PromptModelInferenceConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/PromptModelInferenceConfigurationProperty.hs
@@ -0,0 +1,68 @@
+module Stratosphere.Bedrock.Flow.PromptModelInferenceConfigurationProperty (
+        PromptModelInferenceConfigurationProperty(..),
+        mkPromptModelInferenceConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data PromptModelInferenceConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-promptmodelinferenceconfiguration.html>
+    PromptModelInferenceConfigurationProperty {haddock_workaround_ :: (),
+                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-promptmodelinferenceconfiguration.html#cfn-bedrock-flow-promptmodelinferenceconfiguration-maxtokens>
+                                               maxTokens :: (Prelude.Maybe (Value Prelude.Double)),
+                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-promptmodelinferenceconfiguration.html#cfn-bedrock-flow-promptmodelinferenceconfiguration-stopsequences>
+                                               stopSequences :: (Prelude.Maybe (ValueList Prelude.Text)),
+                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-promptmodelinferenceconfiguration.html#cfn-bedrock-flow-promptmodelinferenceconfiguration-temperature>
+                                               temperature :: (Prelude.Maybe (Value Prelude.Double)),
+                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-promptmodelinferenceconfiguration.html#cfn-bedrock-flow-promptmodelinferenceconfiguration-topp>
+                                               topP :: (Prelude.Maybe (Value Prelude.Double))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkPromptModelInferenceConfigurationProperty ::
+  PromptModelInferenceConfigurationProperty
+mkPromptModelInferenceConfigurationProperty
+  = PromptModelInferenceConfigurationProperty
+      {haddock_workaround_ = (), maxTokens = Prelude.Nothing,
+       stopSequences = Prelude.Nothing, temperature = Prelude.Nothing,
+       topP = Prelude.Nothing}
+instance ToResourceProperties PromptModelInferenceConfigurationProperty where
+  toResourceProperties PromptModelInferenceConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Flow.PromptModelInferenceConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "MaxTokens" Prelude.<$> maxTokens,
+                            (JSON..=) "StopSequences" Prelude.<$> stopSequences,
+                            (JSON..=) "Temperature" Prelude.<$> temperature,
+                            (JSON..=) "TopP" Prelude.<$> topP])}
+instance JSON.ToJSON PromptModelInferenceConfigurationProperty where
+  toJSON PromptModelInferenceConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "MaxTokens" Prelude.<$> maxTokens,
+               (JSON..=) "StopSequences" Prelude.<$> stopSequences,
+               (JSON..=) "Temperature" Prelude.<$> temperature,
+               (JSON..=) "TopP" Prelude.<$> topP]))
+instance Property "MaxTokens" PromptModelInferenceConfigurationProperty where
+  type PropertyType "MaxTokens" PromptModelInferenceConfigurationProperty = Value Prelude.Double
+  set newValue PromptModelInferenceConfigurationProperty {..}
+    = PromptModelInferenceConfigurationProperty
+        {maxTokens = Prelude.pure newValue, ..}
+instance Property "StopSequences" PromptModelInferenceConfigurationProperty where
+  type PropertyType "StopSequences" PromptModelInferenceConfigurationProperty = ValueList Prelude.Text
+  set newValue PromptModelInferenceConfigurationProperty {..}
+    = PromptModelInferenceConfigurationProperty
+        {stopSequences = Prelude.pure newValue, ..}
+instance Property "Temperature" PromptModelInferenceConfigurationProperty where
+  type PropertyType "Temperature" PromptModelInferenceConfigurationProperty = Value Prelude.Double
+  set newValue PromptModelInferenceConfigurationProperty {..}
+    = PromptModelInferenceConfigurationProperty
+        {temperature = Prelude.pure newValue, ..}
+instance Property "TopP" PromptModelInferenceConfigurationProperty where
+  type PropertyType "TopP" PromptModelInferenceConfigurationProperty = Value Prelude.Double
+  set newValue PromptModelInferenceConfigurationProperty {..}
+    = PromptModelInferenceConfigurationProperty
+        {topP = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Flow/PromptModelInferenceConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/Flow/PromptModelInferenceConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/PromptModelInferenceConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Flow.PromptModelInferenceConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data PromptModelInferenceConfigurationProperty :: Prelude.Type
+instance ToResourceProperties PromptModelInferenceConfigurationProperty
+instance Prelude.Eq PromptModelInferenceConfigurationProperty
+instance Prelude.Show PromptModelInferenceConfigurationProperty
+instance JSON.ToJSON PromptModelInferenceConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/Flow/PromptTemplateConfigurationProperty.hs b/gen/Stratosphere/Bedrock/Flow/PromptTemplateConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/PromptTemplateConfigurationProperty.hs
@@ -0,0 +1,33 @@
+module Stratosphere.Bedrock.Flow.PromptTemplateConfigurationProperty (
+        module Exports, PromptTemplateConfigurationProperty(..),
+        mkPromptTemplateConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.Flow.TextPromptTemplateConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+data PromptTemplateConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-prompttemplateconfiguration.html>
+    PromptTemplateConfigurationProperty {haddock_workaround_ :: (),
+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-prompttemplateconfiguration.html#cfn-bedrock-flow-prompttemplateconfiguration-text>
+                                         text :: TextPromptTemplateConfigurationProperty}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkPromptTemplateConfigurationProperty ::
+  TextPromptTemplateConfigurationProperty
+  -> PromptTemplateConfigurationProperty
+mkPromptTemplateConfigurationProperty text
+  = PromptTemplateConfigurationProperty
+      {haddock_workaround_ = (), text = text}
+instance ToResourceProperties PromptTemplateConfigurationProperty where
+  toResourceProperties PromptTemplateConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Flow.PromptTemplateConfiguration",
+         supportsTags = Prelude.False, properties = ["Text" JSON..= text]}
+instance JSON.ToJSON PromptTemplateConfigurationProperty where
+  toJSON PromptTemplateConfigurationProperty {..}
+    = JSON.object ["Text" JSON..= text]
+instance Property "Text" PromptTemplateConfigurationProperty where
+  type PropertyType "Text" PromptTemplateConfigurationProperty = TextPromptTemplateConfigurationProperty
+  set newValue PromptTemplateConfigurationProperty {..}
+    = PromptTemplateConfigurationProperty {text = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Flow/PromptTemplateConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/Flow/PromptTemplateConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/PromptTemplateConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Flow.PromptTemplateConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data PromptTemplateConfigurationProperty :: Prelude.Type
+instance ToResourceProperties PromptTemplateConfigurationProperty
+instance Prelude.Eq PromptTemplateConfigurationProperty
+instance Prelude.Show PromptTemplateConfigurationProperty
+instance JSON.ToJSON PromptTemplateConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/Flow/RerankingMetadataSelectiveModeConfigurationProperty.hs b/gen/Stratosphere/Bedrock/Flow/RerankingMetadataSelectiveModeConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/RerankingMetadataSelectiveModeConfigurationProperty.hs
@@ -0,0 +1,55 @@
+module Stratosphere.Bedrock.Flow.RerankingMetadataSelectiveModeConfigurationProperty (
+        module Exports,
+        RerankingMetadataSelectiveModeConfigurationProperty(..),
+        mkRerankingMetadataSelectiveModeConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.Flow.FieldForRerankingProperty as Exports
+import Stratosphere.ResourceProperties
+data RerankingMetadataSelectiveModeConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-rerankingmetadataselectivemodeconfiguration.html>
+    RerankingMetadataSelectiveModeConfigurationProperty {haddock_workaround_ :: (),
+                                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-rerankingmetadataselectivemodeconfiguration.html#cfn-bedrock-flow-rerankingmetadataselectivemodeconfiguration-fieldstoexclude>
+                                                         fieldsToExclude :: (Prelude.Maybe [FieldForRerankingProperty]),
+                                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-rerankingmetadataselectivemodeconfiguration.html#cfn-bedrock-flow-rerankingmetadataselectivemodeconfiguration-fieldstoinclude>
+                                                         fieldsToInclude :: (Prelude.Maybe [FieldForRerankingProperty])}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkRerankingMetadataSelectiveModeConfigurationProperty ::
+  RerankingMetadataSelectiveModeConfigurationProperty
+mkRerankingMetadataSelectiveModeConfigurationProperty
+  = RerankingMetadataSelectiveModeConfigurationProperty
+      {haddock_workaround_ = (), fieldsToExclude = Prelude.Nothing,
+       fieldsToInclude = Prelude.Nothing}
+instance ToResourceProperties RerankingMetadataSelectiveModeConfigurationProperty where
+  toResourceProperties
+    RerankingMetadataSelectiveModeConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Flow.RerankingMetadataSelectiveModeConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "FieldsToExclude" Prelude.<$> fieldsToExclude,
+                            (JSON..=) "FieldsToInclude" Prelude.<$> fieldsToInclude])}
+instance JSON.ToJSON RerankingMetadataSelectiveModeConfigurationProperty where
+  toJSON RerankingMetadataSelectiveModeConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "FieldsToExclude" Prelude.<$> fieldsToExclude,
+               (JSON..=) "FieldsToInclude" Prelude.<$> fieldsToInclude]))
+instance Property "FieldsToExclude" RerankingMetadataSelectiveModeConfigurationProperty where
+  type PropertyType "FieldsToExclude" RerankingMetadataSelectiveModeConfigurationProperty = [FieldForRerankingProperty]
+  set
+    newValue
+    RerankingMetadataSelectiveModeConfigurationProperty {..}
+    = RerankingMetadataSelectiveModeConfigurationProperty
+        {fieldsToExclude = Prelude.pure newValue, ..}
+instance Property "FieldsToInclude" RerankingMetadataSelectiveModeConfigurationProperty where
+  type PropertyType "FieldsToInclude" RerankingMetadataSelectiveModeConfigurationProperty = [FieldForRerankingProperty]
+  set
+    newValue
+    RerankingMetadataSelectiveModeConfigurationProperty {..}
+    = RerankingMetadataSelectiveModeConfigurationProperty
+        {fieldsToInclude = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Flow/RerankingMetadataSelectiveModeConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/Flow/RerankingMetadataSelectiveModeConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/RerankingMetadataSelectiveModeConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Flow.RerankingMetadataSelectiveModeConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data RerankingMetadataSelectiveModeConfigurationProperty :: Prelude.Type
+instance ToResourceProperties RerankingMetadataSelectiveModeConfigurationProperty
+instance Prelude.Eq RerankingMetadataSelectiveModeConfigurationProperty
+instance Prelude.Show RerankingMetadataSelectiveModeConfigurationProperty
+instance JSON.ToJSON RerankingMetadataSelectiveModeConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/Flow/RetrievalFlowNodeConfigurationProperty.hs b/gen/Stratosphere/Bedrock/Flow/RetrievalFlowNodeConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/RetrievalFlowNodeConfigurationProperty.hs
@@ -0,0 +1,36 @@
+module Stratosphere.Bedrock.Flow.RetrievalFlowNodeConfigurationProperty (
+        module Exports, RetrievalFlowNodeConfigurationProperty(..),
+        mkRetrievalFlowNodeConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.Flow.RetrievalFlowNodeServiceConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+data RetrievalFlowNodeConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-retrievalflownodeconfiguration.html>
+    RetrievalFlowNodeConfigurationProperty {haddock_workaround_ :: (),
+                                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-retrievalflownodeconfiguration.html#cfn-bedrock-flow-retrievalflownodeconfiguration-serviceconfiguration>
+                                            serviceConfiguration :: RetrievalFlowNodeServiceConfigurationProperty}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkRetrievalFlowNodeConfigurationProperty ::
+  RetrievalFlowNodeServiceConfigurationProperty
+  -> RetrievalFlowNodeConfigurationProperty
+mkRetrievalFlowNodeConfigurationProperty serviceConfiguration
+  = RetrievalFlowNodeConfigurationProperty
+      {haddock_workaround_ = (),
+       serviceConfiguration = serviceConfiguration}
+instance ToResourceProperties RetrievalFlowNodeConfigurationProperty where
+  toResourceProperties RetrievalFlowNodeConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Flow.RetrievalFlowNodeConfiguration",
+         supportsTags = Prelude.False,
+         properties = ["ServiceConfiguration" JSON..= serviceConfiguration]}
+instance JSON.ToJSON RetrievalFlowNodeConfigurationProperty where
+  toJSON RetrievalFlowNodeConfigurationProperty {..}
+    = JSON.object ["ServiceConfiguration" JSON..= serviceConfiguration]
+instance Property "ServiceConfiguration" RetrievalFlowNodeConfigurationProperty where
+  type PropertyType "ServiceConfiguration" RetrievalFlowNodeConfigurationProperty = RetrievalFlowNodeServiceConfigurationProperty
+  set newValue RetrievalFlowNodeConfigurationProperty {..}
+    = RetrievalFlowNodeConfigurationProperty
+        {serviceConfiguration = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Flow/RetrievalFlowNodeConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/Flow/RetrievalFlowNodeConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/RetrievalFlowNodeConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Flow.RetrievalFlowNodeConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data RetrievalFlowNodeConfigurationProperty :: Prelude.Type
+instance ToResourceProperties RetrievalFlowNodeConfigurationProperty
+instance Prelude.Eq RetrievalFlowNodeConfigurationProperty
+instance Prelude.Show RetrievalFlowNodeConfigurationProperty
+instance JSON.ToJSON RetrievalFlowNodeConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/Flow/RetrievalFlowNodeS3ConfigurationProperty.hs b/gen/Stratosphere/Bedrock/Flow/RetrievalFlowNodeS3ConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/RetrievalFlowNodeS3ConfigurationProperty.hs
@@ -0,0 +1,34 @@
+module Stratosphere.Bedrock.Flow.RetrievalFlowNodeS3ConfigurationProperty (
+        RetrievalFlowNodeS3ConfigurationProperty(..),
+        mkRetrievalFlowNodeS3ConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data RetrievalFlowNodeS3ConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-retrievalflownodes3configuration.html>
+    RetrievalFlowNodeS3ConfigurationProperty {haddock_workaround_ :: (),
+                                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-retrievalflownodes3configuration.html#cfn-bedrock-flow-retrievalflownodes3configuration-bucketname>
+                                              bucketName :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkRetrievalFlowNodeS3ConfigurationProperty ::
+  Value Prelude.Text -> RetrievalFlowNodeS3ConfigurationProperty
+mkRetrievalFlowNodeS3ConfigurationProperty bucketName
+  = RetrievalFlowNodeS3ConfigurationProperty
+      {haddock_workaround_ = (), bucketName = bucketName}
+instance ToResourceProperties RetrievalFlowNodeS3ConfigurationProperty where
+  toResourceProperties RetrievalFlowNodeS3ConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Flow.RetrievalFlowNodeS3Configuration",
+         supportsTags = Prelude.False,
+         properties = ["BucketName" JSON..= bucketName]}
+instance JSON.ToJSON RetrievalFlowNodeS3ConfigurationProperty where
+  toJSON RetrievalFlowNodeS3ConfigurationProperty {..}
+    = JSON.object ["BucketName" JSON..= bucketName]
+instance Property "BucketName" RetrievalFlowNodeS3ConfigurationProperty where
+  type PropertyType "BucketName" RetrievalFlowNodeS3ConfigurationProperty = Value Prelude.Text
+  set newValue RetrievalFlowNodeS3ConfigurationProperty {..}
+    = RetrievalFlowNodeS3ConfigurationProperty
+        {bucketName = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Flow/RetrievalFlowNodeS3ConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/Flow/RetrievalFlowNodeS3ConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/RetrievalFlowNodeS3ConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Flow.RetrievalFlowNodeS3ConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data RetrievalFlowNodeS3ConfigurationProperty :: Prelude.Type
+instance ToResourceProperties RetrievalFlowNodeS3ConfigurationProperty
+instance Prelude.Eq RetrievalFlowNodeS3ConfigurationProperty
+instance Prelude.Show RetrievalFlowNodeS3ConfigurationProperty
+instance JSON.ToJSON RetrievalFlowNodeS3ConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/Flow/RetrievalFlowNodeServiceConfigurationProperty.hs b/gen/Stratosphere/Bedrock/Flow/RetrievalFlowNodeServiceConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/RetrievalFlowNodeServiceConfigurationProperty.hs
@@ -0,0 +1,38 @@
+module Stratosphere.Bedrock.Flow.RetrievalFlowNodeServiceConfigurationProperty (
+        module Exports, RetrievalFlowNodeServiceConfigurationProperty(..),
+        mkRetrievalFlowNodeServiceConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.Flow.RetrievalFlowNodeS3ConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+data RetrievalFlowNodeServiceConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-retrievalflownodeserviceconfiguration.html>
+    RetrievalFlowNodeServiceConfigurationProperty {haddock_workaround_ :: (),
+                                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-retrievalflownodeserviceconfiguration.html#cfn-bedrock-flow-retrievalflownodeserviceconfiguration-s3>
+                                                   s3 :: (Prelude.Maybe RetrievalFlowNodeS3ConfigurationProperty)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkRetrievalFlowNodeServiceConfigurationProperty ::
+  RetrievalFlowNodeServiceConfigurationProperty
+mkRetrievalFlowNodeServiceConfigurationProperty
+  = RetrievalFlowNodeServiceConfigurationProperty
+      {haddock_workaround_ = (), s3 = Prelude.Nothing}
+instance ToResourceProperties RetrievalFlowNodeServiceConfigurationProperty where
+  toResourceProperties
+    RetrievalFlowNodeServiceConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Flow.RetrievalFlowNodeServiceConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes [(JSON..=) "S3" Prelude.<$> s3])}
+instance JSON.ToJSON RetrievalFlowNodeServiceConfigurationProperty where
+  toJSON RetrievalFlowNodeServiceConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes [(JSON..=) "S3" Prelude.<$> s3]))
+instance Property "S3" RetrievalFlowNodeServiceConfigurationProperty where
+  type PropertyType "S3" RetrievalFlowNodeServiceConfigurationProperty = RetrievalFlowNodeS3ConfigurationProperty
+  set newValue RetrievalFlowNodeServiceConfigurationProperty {..}
+    = RetrievalFlowNodeServiceConfigurationProperty
+        {s3 = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Flow/RetrievalFlowNodeServiceConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/Flow/RetrievalFlowNodeServiceConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/RetrievalFlowNodeServiceConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Flow.RetrievalFlowNodeServiceConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data RetrievalFlowNodeServiceConfigurationProperty :: Prelude.Type
+instance ToResourceProperties RetrievalFlowNodeServiceConfigurationProperty
+instance Prelude.Eq RetrievalFlowNodeServiceConfigurationProperty
+instance Prelude.Show RetrievalFlowNodeServiceConfigurationProperty
+instance JSON.ToJSON RetrievalFlowNodeServiceConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/Flow/S3LocationProperty.hs b/gen/Stratosphere/Bedrock/Flow/S3LocationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/S3LocationProperty.hs
@@ -0,0 +1,52 @@
+module Stratosphere.Bedrock.Flow.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-bedrock-flow-s3location.html>
+    S3LocationProperty {haddock_workaround_ :: (),
+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-s3location.html#cfn-bedrock-flow-s3location-bucket>
+                        bucket :: (Value Prelude.Text),
+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-s3location.html#cfn-bedrock-flow-s3location-key>
+                        key :: (Value Prelude.Text),
+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-s3location.html#cfn-bedrock-flow-s3location-version>
+                        version :: (Prelude.Maybe (Value Prelude.Text))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkS3LocationProperty ::
+  Value Prelude.Text -> Value Prelude.Text -> S3LocationProperty
+mkS3LocationProperty bucket key
+  = S3LocationProperty
+      {haddock_workaround_ = (), bucket = bucket, key = key,
+       version = Prelude.Nothing}
+instance ToResourceProperties S3LocationProperty where
+  toResourceProperties S3LocationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Flow.S3Location",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["Bucket" JSON..= bucket, "Key" JSON..= key]
+                           (Prelude.catMaybes [(JSON..=) "Version" Prelude.<$> version]))}
+instance JSON.ToJSON S3LocationProperty where
+  toJSON S3LocationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["Bucket" JSON..= bucket, "Key" JSON..= key]
+              (Prelude.catMaybes [(JSON..=) "Version" Prelude.<$> version])))
+instance Property "Bucket" S3LocationProperty where
+  type PropertyType "Bucket" S3LocationProperty = Value Prelude.Text
+  set newValue S3LocationProperty {..}
+    = S3LocationProperty {bucket = newValue, ..}
+instance Property "Key" S3LocationProperty where
+  type PropertyType "Key" S3LocationProperty = Value Prelude.Text
+  set newValue S3LocationProperty {..}
+    = S3LocationProperty {key = newValue, ..}
+instance Property "Version" S3LocationProperty where
+  type PropertyType "Version" S3LocationProperty = Value Prelude.Text
+  set newValue S3LocationProperty {..}
+    = S3LocationProperty {version = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Flow/S3LocationProperty.hs-boot b/gen/Stratosphere/Bedrock/Flow/S3LocationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/S3LocationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Flow.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/Bedrock/Flow/StorageFlowNodeConfigurationProperty.hs b/gen/Stratosphere/Bedrock/Flow/StorageFlowNodeConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/StorageFlowNodeConfigurationProperty.hs
@@ -0,0 +1,36 @@
+module Stratosphere.Bedrock.Flow.StorageFlowNodeConfigurationProperty (
+        module Exports, StorageFlowNodeConfigurationProperty(..),
+        mkStorageFlowNodeConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.Flow.StorageFlowNodeServiceConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+data StorageFlowNodeConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-storageflownodeconfiguration.html>
+    StorageFlowNodeConfigurationProperty {haddock_workaround_ :: (),
+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-storageflownodeconfiguration.html#cfn-bedrock-flow-storageflownodeconfiguration-serviceconfiguration>
+                                          serviceConfiguration :: StorageFlowNodeServiceConfigurationProperty}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkStorageFlowNodeConfigurationProperty ::
+  StorageFlowNodeServiceConfigurationProperty
+  -> StorageFlowNodeConfigurationProperty
+mkStorageFlowNodeConfigurationProperty serviceConfiguration
+  = StorageFlowNodeConfigurationProperty
+      {haddock_workaround_ = (),
+       serviceConfiguration = serviceConfiguration}
+instance ToResourceProperties StorageFlowNodeConfigurationProperty where
+  toResourceProperties StorageFlowNodeConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Flow.StorageFlowNodeConfiguration",
+         supportsTags = Prelude.False,
+         properties = ["ServiceConfiguration" JSON..= serviceConfiguration]}
+instance JSON.ToJSON StorageFlowNodeConfigurationProperty where
+  toJSON StorageFlowNodeConfigurationProperty {..}
+    = JSON.object ["ServiceConfiguration" JSON..= serviceConfiguration]
+instance Property "ServiceConfiguration" StorageFlowNodeConfigurationProperty where
+  type PropertyType "ServiceConfiguration" StorageFlowNodeConfigurationProperty = StorageFlowNodeServiceConfigurationProperty
+  set newValue StorageFlowNodeConfigurationProperty {..}
+    = StorageFlowNodeConfigurationProperty
+        {serviceConfiguration = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Flow/StorageFlowNodeConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/Flow/StorageFlowNodeConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/StorageFlowNodeConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Flow.StorageFlowNodeConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data StorageFlowNodeConfigurationProperty :: Prelude.Type
+instance ToResourceProperties StorageFlowNodeConfigurationProperty
+instance Prelude.Eq StorageFlowNodeConfigurationProperty
+instance Prelude.Show StorageFlowNodeConfigurationProperty
+instance JSON.ToJSON StorageFlowNodeConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/Flow/StorageFlowNodeS3ConfigurationProperty.hs b/gen/Stratosphere/Bedrock/Flow/StorageFlowNodeS3ConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/StorageFlowNodeS3ConfigurationProperty.hs
@@ -0,0 +1,34 @@
+module Stratosphere.Bedrock.Flow.StorageFlowNodeS3ConfigurationProperty (
+        StorageFlowNodeS3ConfigurationProperty(..),
+        mkStorageFlowNodeS3ConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data StorageFlowNodeS3ConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-storageflownodes3configuration.html>
+    StorageFlowNodeS3ConfigurationProperty {haddock_workaround_ :: (),
+                                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-storageflownodes3configuration.html#cfn-bedrock-flow-storageflownodes3configuration-bucketname>
+                                            bucketName :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkStorageFlowNodeS3ConfigurationProperty ::
+  Value Prelude.Text -> StorageFlowNodeS3ConfigurationProperty
+mkStorageFlowNodeS3ConfigurationProperty bucketName
+  = StorageFlowNodeS3ConfigurationProperty
+      {haddock_workaround_ = (), bucketName = bucketName}
+instance ToResourceProperties StorageFlowNodeS3ConfigurationProperty where
+  toResourceProperties StorageFlowNodeS3ConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Flow.StorageFlowNodeS3Configuration",
+         supportsTags = Prelude.False,
+         properties = ["BucketName" JSON..= bucketName]}
+instance JSON.ToJSON StorageFlowNodeS3ConfigurationProperty where
+  toJSON StorageFlowNodeS3ConfigurationProperty {..}
+    = JSON.object ["BucketName" JSON..= bucketName]
+instance Property "BucketName" StorageFlowNodeS3ConfigurationProperty where
+  type PropertyType "BucketName" StorageFlowNodeS3ConfigurationProperty = Value Prelude.Text
+  set newValue StorageFlowNodeS3ConfigurationProperty {..}
+    = StorageFlowNodeS3ConfigurationProperty
+        {bucketName = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Flow/StorageFlowNodeS3ConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/Flow/StorageFlowNodeS3ConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/StorageFlowNodeS3ConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Flow.StorageFlowNodeS3ConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data StorageFlowNodeS3ConfigurationProperty :: Prelude.Type
+instance ToResourceProperties StorageFlowNodeS3ConfigurationProperty
+instance Prelude.Eq StorageFlowNodeS3ConfigurationProperty
+instance Prelude.Show StorageFlowNodeS3ConfigurationProperty
+instance JSON.ToJSON StorageFlowNodeS3ConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/Flow/StorageFlowNodeServiceConfigurationProperty.hs b/gen/Stratosphere/Bedrock/Flow/StorageFlowNodeServiceConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/StorageFlowNodeServiceConfigurationProperty.hs
@@ -0,0 +1,38 @@
+module Stratosphere.Bedrock.Flow.StorageFlowNodeServiceConfigurationProperty (
+        module Exports, StorageFlowNodeServiceConfigurationProperty(..),
+        mkStorageFlowNodeServiceConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.Flow.StorageFlowNodeS3ConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+data StorageFlowNodeServiceConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-storageflownodeserviceconfiguration.html>
+    StorageFlowNodeServiceConfigurationProperty {haddock_workaround_ :: (),
+                                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-storageflownodeserviceconfiguration.html#cfn-bedrock-flow-storageflownodeserviceconfiguration-s3>
+                                                 s3 :: (Prelude.Maybe StorageFlowNodeS3ConfigurationProperty)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkStorageFlowNodeServiceConfigurationProperty ::
+  StorageFlowNodeServiceConfigurationProperty
+mkStorageFlowNodeServiceConfigurationProperty
+  = StorageFlowNodeServiceConfigurationProperty
+      {haddock_workaround_ = (), s3 = Prelude.Nothing}
+instance ToResourceProperties StorageFlowNodeServiceConfigurationProperty where
+  toResourceProperties
+    StorageFlowNodeServiceConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Flow.StorageFlowNodeServiceConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes [(JSON..=) "S3" Prelude.<$> s3])}
+instance JSON.ToJSON StorageFlowNodeServiceConfigurationProperty where
+  toJSON StorageFlowNodeServiceConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes [(JSON..=) "S3" Prelude.<$> s3]))
+instance Property "S3" StorageFlowNodeServiceConfigurationProperty where
+  type PropertyType "S3" StorageFlowNodeServiceConfigurationProperty = StorageFlowNodeS3ConfigurationProperty
+  set newValue StorageFlowNodeServiceConfigurationProperty {..}
+    = StorageFlowNodeServiceConfigurationProperty
+        {s3 = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Flow/StorageFlowNodeServiceConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/Flow/StorageFlowNodeServiceConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/StorageFlowNodeServiceConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Flow.StorageFlowNodeServiceConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data StorageFlowNodeServiceConfigurationProperty :: Prelude.Type
+instance ToResourceProperties StorageFlowNodeServiceConfigurationProperty
+instance Prelude.Eq StorageFlowNodeServiceConfigurationProperty
+instance Prelude.Show StorageFlowNodeServiceConfigurationProperty
+instance JSON.ToJSON StorageFlowNodeServiceConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/Flow/TextPromptTemplateConfigurationProperty.hs b/gen/Stratosphere/Bedrock/Flow/TextPromptTemplateConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/TextPromptTemplateConfigurationProperty.hs
@@ -0,0 +1,51 @@
+module Stratosphere.Bedrock.Flow.TextPromptTemplateConfigurationProperty (
+        module Exports, TextPromptTemplateConfigurationProperty(..),
+        mkTextPromptTemplateConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.Flow.PromptInputVariableProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data TextPromptTemplateConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-textprompttemplateconfiguration.html>
+    TextPromptTemplateConfigurationProperty {haddock_workaround_ :: (),
+                                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-textprompttemplateconfiguration.html#cfn-bedrock-flow-textprompttemplateconfiguration-inputvariables>
+                                             inputVariables :: (Prelude.Maybe [PromptInputVariableProperty]),
+                                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-textprompttemplateconfiguration.html#cfn-bedrock-flow-textprompttemplateconfiguration-text>
+                                             text :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkTextPromptTemplateConfigurationProperty ::
+  Value Prelude.Text -> TextPromptTemplateConfigurationProperty
+mkTextPromptTemplateConfigurationProperty text
+  = TextPromptTemplateConfigurationProperty
+      {haddock_workaround_ = (), text = text,
+       inputVariables = Prelude.Nothing}
+instance ToResourceProperties TextPromptTemplateConfigurationProperty where
+  toResourceProperties TextPromptTemplateConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Flow.TextPromptTemplateConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["Text" JSON..= text]
+                           (Prelude.catMaybes
+                              [(JSON..=) "InputVariables" Prelude.<$> inputVariables]))}
+instance JSON.ToJSON TextPromptTemplateConfigurationProperty where
+  toJSON TextPromptTemplateConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["Text" JSON..= text]
+              (Prelude.catMaybes
+                 [(JSON..=) "InputVariables" Prelude.<$> inputVariables])))
+instance Property "InputVariables" TextPromptTemplateConfigurationProperty where
+  type PropertyType "InputVariables" TextPromptTemplateConfigurationProperty = [PromptInputVariableProperty]
+  set newValue TextPromptTemplateConfigurationProperty {..}
+    = TextPromptTemplateConfigurationProperty
+        {inputVariables = Prelude.pure newValue, ..}
+instance Property "Text" TextPromptTemplateConfigurationProperty where
+  type PropertyType "Text" TextPromptTemplateConfigurationProperty = Value Prelude.Text
+  set newValue TextPromptTemplateConfigurationProperty {..}
+    = TextPromptTemplateConfigurationProperty {text = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Flow/TextPromptTemplateConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/Flow/TextPromptTemplateConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/TextPromptTemplateConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Flow.TextPromptTemplateConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data TextPromptTemplateConfigurationProperty :: Prelude.Type
+instance ToResourceProperties TextPromptTemplateConfigurationProperty
+instance Prelude.Eq TextPromptTemplateConfigurationProperty
+instance Prelude.Show TextPromptTemplateConfigurationProperty
+instance JSON.ToJSON TextPromptTemplateConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/Flow/VectorSearchBedrockRerankingConfigurationProperty.hs b/gen/Stratosphere/Bedrock/Flow/VectorSearchBedrockRerankingConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/VectorSearchBedrockRerankingConfigurationProperty.hs
@@ -0,0 +1,71 @@
+module Stratosphere.Bedrock.Flow.VectorSearchBedrockRerankingConfigurationProperty (
+        module Exports,
+        VectorSearchBedrockRerankingConfigurationProperty(..),
+        mkVectorSearchBedrockRerankingConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.Flow.MetadataConfigurationForRerankingProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.Flow.VectorSearchBedrockRerankingModelConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data VectorSearchBedrockRerankingConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-vectorsearchbedrockrerankingconfiguration.html>
+    VectorSearchBedrockRerankingConfigurationProperty {haddock_workaround_ :: (),
+                                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-vectorsearchbedrockrerankingconfiguration.html#cfn-bedrock-flow-vectorsearchbedrockrerankingconfiguration-metadataconfiguration>
+                                                       metadataConfiguration :: (Prelude.Maybe MetadataConfigurationForRerankingProperty),
+                                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-vectorsearchbedrockrerankingconfiguration.html#cfn-bedrock-flow-vectorsearchbedrockrerankingconfiguration-modelconfiguration>
+                                                       modelConfiguration :: VectorSearchBedrockRerankingModelConfigurationProperty,
+                                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-vectorsearchbedrockrerankingconfiguration.html#cfn-bedrock-flow-vectorsearchbedrockrerankingconfiguration-numberofrerankedresults>
+                                                       numberOfRerankedResults :: (Prelude.Maybe (Value Prelude.Double))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkVectorSearchBedrockRerankingConfigurationProperty ::
+  VectorSearchBedrockRerankingModelConfigurationProperty
+  -> VectorSearchBedrockRerankingConfigurationProperty
+mkVectorSearchBedrockRerankingConfigurationProperty
+  modelConfiguration
+  = VectorSearchBedrockRerankingConfigurationProperty
+      {haddock_workaround_ = (), modelConfiguration = modelConfiguration,
+       metadataConfiguration = Prelude.Nothing,
+       numberOfRerankedResults = Prelude.Nothing}
+instance ToResourceProperties VectorSearchBedrockRerankingConfigurationProperty where
+  toResourceProperties
+    VectorSearchBedrockRerankingConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Flow.VectorSearchBedrockRerankingConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["ModelConfiguration" JSON..= modelConfiguration]
+                           (Prelude.catMaybes
+                              [(JSON..=) "MetadataConfiguration"
+                                 Prelude.<$> metadataConfiguration,
+                               (JSON..=) "NumberOfRerankedResults"
+                                 Prelude.<$> numberOfRerankedResults]))}
+instance JSON.ToJSON VectorSearchBedrockRerankingConfigurationProperty where
+  toJSON VectorSearchBedrockRerankingConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["ModelConfiguration" JSON..= modelConfiguration]
+              (Prelude.catMaybes
+                 [(JSON..=) "MetadataConfiguration"
+                    Prelude.<$> metadataConfiguration,
+                  (JSON..=) "NumberOfRerankedResults"
+                    Prelude.<$> numberOfRerankedResults])))
+instance Property "MetadataConfiguration" VectorSearchBedrockRerankingConfigurationProperty where
+  type PropertyType "MetadataConfiguration" VectorSearchBedrockRerankingConfigurationProperty = MetadataConfigurationForRerankingProperty
+  set newValue VectorSearchBedrockRerankingConfigurationProperty {..}
+    = VectorSearchBedrockRerankingConfigurationProperty
+        {metadataConfiguration = Prelude.pure newValue, ..}
+instance Property "ModelConfiguration" VectorSearchBedrockRerankingConfigurationProperty where
+  type PropertyType "ModelConfiguration" VectorSearchBedrockRerankingConfigurationProperty = VectorSearchBedrockRerankingModelConfigurationProperty
+  set newValue VectorSearchBedrockRerankingConfigurationProperty {..}
+    = VectorSearchBedrockRerankingConfigurationProperty
+        {modelConfiguration = newValue, ..}
+instance Property "NumberOfRerankedResults" VectorSearchBedrockRerankingConfigurationProperty where
+  type PropertyType "NumberOfRerankedResults" VectorSearchBedrockRerankingConfigurationProperty = Value Prelude.Double
+  set newValue VectorSearchBedrockRerankingConfigurationProperty {..}
+    = VectorSearchBedrockRerankingConfigurationProperty
+        {numberOfRerankedResults = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Flow/VectorSearchBedrockRerankingConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/Flow/VectorSearchBedrockRerankingConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/VectorSearchBedrockRerankingConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Flow.VectorSearchBedrockRerankingConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data VectorSearchBedrockRerankingConfigurationProperty :: Prelude.Type
+instance ToResourceProperties VectorSearchBedrockRerankingConfigurationProperty
+instance Prelude.Eq VectorSearchBedrockRerankingConfigurationProperty
+instance Prelude.Show VectorSearchBedrockRerankingConfigurationProperty
+instance JSON.ToJSON VectorSearchBedrockRerankingConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/Flow/VectorSearchBedrockRerankingModelConfigurationProperty.hs b/gen/Stratosphere/Bedrock/Flow/VectorSearchBedrockRerankingModelConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/VectorSearchBedrockRerankingModelConfigurationProperty.hs
@@ -0,0 +1,59 @@
+module Stratosphere.Bedrock.Flow.VectorSearchBedrockRerankingModelConfigurationProperty (
+        VectorSearchBedrockRerankingModelConfigurationProperty(..),
+        mkVectorSearchBedrockRerankingModelConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data VectorSearchBedrockRerankingModelConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-vectorsearchbedrockrerankingmodelconfiguration.html>
+    VectorSearchBedrockRerankingModelConfigurationProperty {haddock_workaround_ :: (),
+                                                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-vectorsearchbedrockrerankingmodelconfiguration.html#cfn-bedrock-flow-vectorsearchbedrockrerankingmodelconfiguration-additionalmodelrequestfields>
+                                                            additionalModelRequestFields :: (Prelude.Maybe JSON.Object),
+                                                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-vectorsearchbedrockrerankingmodelconfiguration.html#cfn-bedrock-flow-vectorsearchbedrockrerankingmodelconfiguration-modelarn>
+                                                            modelArn :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkVectorSearchBedrockRerankingModelConfigurationProperty ::
+  Value Prelude.Text
+  -> VectorSearchBedrockRerankingModelConfigurationProperty
+mkVectorSearchBedrockRerankingModelConfigurationProperty modelArn
+  = VectorSearchBedrockRerankingModelConfigurationProperty
+      {haddock_workaround_ = (), modelArn = modelArn,
+       additionalModelRequestFields = Prelude.Nothing}
+instance ToResourceProperties VectorSearchBedrockRerankingModelConfigurationProperty where
+  toResourceProperties
+    VectorSearchBedrockRerankingModelConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Flow.VectorSearchBedrockRerankingModelConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["ModelArn" JSON..= modelArn]
+                           (Prelude.catMaybes
+                              [(JSON..=) "AdditionalModelRequestFields"
+                                 Prelude.<$> additionalModelRequestFields]))}
+instance JSON.ToJSON VectorSearchBedrockRerankingModelConfigurationProperty where
+  toJSON VectorSearchBedrockRerankingModelConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["ModelArn" JSON..= modelArn]
+              (Prelude.catMaybes
+                 [(JSON..=) "AdditionalModelRequestFields"
+                    Prelude.<$> additionalModelRequestFields])))
+instance Property "AdditionalModelRequestFields" VectorSearchBedrockRerankingModelConfigurationProperty where
+  type PropertyType "AdditionalModelRequestFields" VectorSearchBedrockRerankingModelConfigurationProperty = JSON.Object
+  set
+    newValue
+    VectorSearchBedrockRerankingModelConfigurationProperty {..}
+    = VectorSearchBedrockRerankingModelConfigurationProperty
+        {additionalModelRequestFields = Prelude.pure newValue, ..}
+instance Property "ModelArn" VectorSearchBedrockRerankingModelConfigurationProperty where
+  type PropertyType "ModelArn" VectorSearchBedrockRerankingModelConfigurationProperty = Value Prelude.Text
+  set
+    newValue
+    VectorSearchBedrockRerankingModelConfigurationProperty {..}
+    = VectorSearchBedrockRerankingModelConfigurationProperty
+        {modelArn = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Flow/VectorSearchBedrockRerankingModelConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/Flow/VectorSearchBedrockRerankingModelConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/VectorSearchBedrockRerankingModelConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Flow.VectorSearchBedrockRerankingModelConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data VectorSearchBedrockRerankingModelConfigurationProperty :: Prelude.Type
+instance ToResourceProperties VectorSearchBedrockRerankingModelConfigurationProperty
+instance Prelude.Eq VectorSearchBedrockRerankingModelConfigurationProperty
+instance Prelude.Show VectorSearchBedrockRerankingModelConfigurationProperty
+instance JSON.ToJSON VectorSearchBedrockRerankingModelConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/Flow/VectorSearchRerankingConfigurationProperty.hs b/gen/Stratosphere/Bedrock/Flow/VectorSearchRerankingConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/VectorSearchRerankingConfigurationProperty.hs
@@ -0,0 +1,54 @@
+module Stratosphere.Bedrock.Flow.VectorSearchRerankingConfigurationProperty (
+        module Exports, VectorSearchRerankingConfigurationProperty(..),
+        mkVectorSearchRerankingConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.Flow.VectorSearchBedrockRerankingConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data VectorSearchRerankingConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-vectorsearchrerankingconfiguration.html>
+    VectorSearchRerankingConfigurationProperty {haddock_workaround_ :: (),
+                                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-vectorsearchrerankingconfiguration.html#cfn-bedrock-flow-vectorsearchrerankingconfiguration-bedrockrerankingconfiguration>
+                                                bedrockRerankingConfiguration :: (Prelude.Maybe VectorSearchBedrockRerankingConfigurationProperty),
+                                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-vectorsearchrerankingconfiguration.html#cfn-bedrock-flow-vectorsearchrerankingconfiguration-type>
+                                                type' :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkVectorSearchRerankingConfigurationProperty ::
+  Value Prelude.Text -> VectorSearchRerankingConfigurationProperty
+mkVectorSearchRerankingConfigurationProperty type'
+  = VectorSearchRerankingConfigurationProperty
+      {haddock_workaround_ = (), type' = type',
+       bedrockRerankingConfiguration = Prelude.Nothing}
+instance ToResourceProperties VectorSearchRerankingConfigurationProperty where
+  toResourceProperties
+    VectorSearchRerankingConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Flow.VectorSearchRerankingConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["Type" JSON..= type']
+                           (Prelude.catMaybes
+                              [(JSON..=) "BedrockRerankingConfiguration"
+                                 Prelude.<$> bedrockRerankingConfiguration]))}
+instance JSON.ToJSON VectorSearchRerankingConfigurationProperty where
+  toJSON VectorSearchRerankingConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["Type" JSON..= type']
+              (Prelude.catMaybes
+                 [(JSON..=) "BedrockRerankingConfiguration"
+                    Prelude.<$> bedrockRerankingConfiguration])))
+instance Property "BedrockRerankingConfiguration" VectorSearchRerankingConfigurationProperty where
+  type PropertyType "BedrockRerankingConfiguration" VectorSearchRerankingConfigurationProperty = VectorSearchBedrockRerankingConfigurationProperty
+  set newValue VectorSearchRerankingConfigurationProperty {..}
+    = VectorSearchRerankingConfigurationProperty
+        {bedrockRerankingConfiguration = Prelude.pure newValue, ..}
+instance Property "Type" VectorSearchRerankingConfigurationProperty where
+  type PropertyType "Type" VectorSearchRerankingConfigurationProperty = Value Prelude.Text
+  set newValue VectorSearchRerankingConfigurationProperty {..}
+    = VectorSearchRerankingConfigurationProperty {type' = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Flow/VectorSearchRerankingConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/Flow/VectorSearchRerankingConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Flow/VectorSearchRerankingConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Flow.VectorSearchRerankingConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data VectorSearchRerankingConfigurationProperty :: Prelude.Type
+instance ToResourceProperties VectorSearchRerankingConfigurationProperty
+instance Prelude.Eq VectorSearchRerankingConfigurationProperty
+instance Prelude.Show VectorSearchRerankingConfigurationProperty
+instance JSON.ToJSON VectorSearchRerankingConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/FlowAlias.hs b/gen/Stratosphere/Bedrock/FlowAlias.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowAlias.hs
@@ -0,0 +1,83 @@
+module Stratosphere.Bedrock.FlowAlias (
+        module Exports, FlowAlias(..), mkFlowAlias
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.FlowAlias.FlowAliasConcurrencyConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.FlowAlias.FlowAliasRoutingConfigurationListItemProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data FlowAlias
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-flowalias.html>
+    FlowAlias {haddock_workaround_ :: (),
+               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-flowalias.html#cfn-bedrock-flowalias-concurrencyconfiguration>
+               concurrencyConfiguration :: (Prelude.Maybe FlowAliasConcurrencyConfigurationProperty),
+               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-flowalias.html#cfn-bedrock-flowalias-description>
+               description :: (Prelude.Maybe (Value Prelude.Text)),
+               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-flowalias.html#cfn-bedrock-flowalias-flowarn>
+               flowArn :: (Value Prelude.Text),
+               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-flowalias.html#cfn-bedrock-flowalias-name>
+               name :: (Value Prelude.Text),
+               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-flowalias.html#cfn-bedrock-flowalias-routingconfiguration>
+               routingConfiguration :: [FlowAliasRoutingConfigurationListItemProperty],
+               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-flowalias.html#cfn-bedrock-flowalias-tags>
+               tags :: (Prelude.Maybe (Prelude.Map Prelude.Text (Value Prelude.Text)))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkFlowAlias ::
+  Value Prelude.Text
+  -> Value Prelude.Text
+     -> [FlowAliasRoutingConfigurationListItemProperty] -> FlowAlias
+mkFlowAlias flowArn name routingConfiguration
+  = FlowAlias
+      {haddock_workaround_ = (), flowArn = flowArn, name = name,
+       routingConfiguration = routingConfiguration,
+       concurrencyConfiguration = Prelude.Nothing,
+       description = Prelude.Nothing, tags = Prelude.Nothing}
+instance ToResourceProperties FlowAlias where
+  toResourceProperties FlowAlias {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::FlowAlias", supportsTags = Prelude.True,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["FlowArn" JSON..= flowArn, "Name" JSON..= name,
+                            "RoutingConfiguration" JSON..= routingConfiguration]
+                           (Prelude.catMaybes
+                              [(JSON..=) "ConcurrencyConfiguration"
+                                 Prelude.<$> concurrencyConfiguration,
+                               (JSON..=) "Description" Prelude.<$> description,
+                               (JSON..=) "Tags" Prelude.<$> tags]))}
+instance JSON.ToJSON FlowAlias where
+  toJSON FlowAlias {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["FlowArn" JSON..= flowArn, "Name" JSON..= name,
+               "RoutingConfiguration" JSON..= routingConfiguration]
+              (Prelude.catMaybes
+                 [(JSON..=) "ConcurrencyConfiguration"
+                    Prelude.<$> concurrencyConfiguration,
+                  (JSON..=) "Description" Prelude.<$> description,
+                  (JSON..=) "Tags" Prelude.<$> tags])))
+instance Property "ConcurrencyConfiguration" FlowAlias where
+  type PropertyType "ConcurrencyConfiguration" FlowAlias = FlowAliasConcurrencyConfigurationProperty
+  set newValue FlowAlias {..}
+    = FlowAlias {concurrencyConfiguration = Prelude.pure newValue, ..}
+instance Property "Description" FlowAlias where
+  type PropertyType "Description" FlowAlias = Value Prelude.Text
+  set newValue FlowAlias {..}
+    = FlowAlias {description = Prelude.pure newValue, ..}
+instance Property "FlowArn" FlowAlias where
+  type PropertyType "FlowArn" FlowAlias = Value Prelude.Text
+  set newValue FlowAlias {..} = FlowAlias {flowArn = newValue, ..}
+instance Property "Name" FlowAlias where
+  type PropertyType "Name" FlowAlias = Value Prelude.Text
+  set newValue FlowAlias {..} = FlowAlias {name = newValue, ..}
+instance Property "RoutingConfiguration" FlowAlias where
+  type PropertyType "RoutingConfiguration" FlowAlias = [FlowAliasRoutingConfigurationListItemProperty]
+  set newValue FlowAlias {..}
+    = FlowAlias {routingConfiguration = newValue, ..}
+instance Property "Tags" FlowAlias where
+  type PropertyType "Tags" FlowAlias = Prelude.Map Prelude.Text (Value Prelude.Text)
+  set newValue FlowAlias {..}
+    = FlowAlias {tags = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/FlowAlias/FlowAliasConcurrencyConfigurationProperty.hs b/gen/Stratosphere/Bedrock/FlowAlias/FlowAliasConcurrencyConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowAlias/FlowAliasConcurrencyConfigurationProperty.hs
@@ -0,0 +1,50 @@
+module Stratosphere.Bedrock.FlowAlias.FlowAliasConcurrencyConfigurationProperty (
+        FlowAliasConcurrencyConfigurationProperty(..),
+        mkFlowAliasConcurrencyConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data FlowAliasConcurrencyConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowalias-flowaliasconcurrencyconfiguration.html>
+    FlowAliasConcurrencyConfigurationProperty {haddock_workaround_ :: (),
+                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowalias-flowaliasconcurrencyconfiguration.html#cfn-bedrock-flowalias-flowaliasconcurrencyconfiguration-maxconcurrency>
+                                               maxConcurrency :: (Prelude.Maybe (Value Prelude.Double)),
+                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowalias-flowaliasconcurrencyconfiguration.html#cfn-bedrock-flowalias-flowaliasconcurrencyconfiguration-type>
+                                               type' :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkFlowAliasConcurrencyConfigurationProperty ::
+  Value Prelude.Text -> FlowAliasConcurrencyConfigurationProperty
+mkFlowAliasConcurrencyConfigurationProperty type'
+  = FlowAliasConcurrencyConfigurationProperty
+      {haddock_workaround_ = (), type' = type',
+       maxConcurrency = Prelude.Nothing}
+instance ToResourceProperties FlowAliasConcurrencyConfigurationProperty where
+  toResourceProperties FlowAliasConcurrencyConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::FlowAlias.FlowAliasConcurrencyConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["Type" JSON..= type']
+                           (Prelude.catMaybes
+                              [(JSON..=) "MaxConcurrency" Prelude.<$> maxConcurrency]))}
+instance JSON.ToJSON FlowAliasConcurrencyConfigurationProperty where
+  toJSON FlowAliasConcurrencyConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["Type" JSON..= type']
+              (Prelude.catMaybes
+                 [(JSON..=) "MaxConcurrency" Prelude.<$> maxConcurrency])))
+instance Property "MaxConcurrency" FlowAliasConcurrencyConfigurationProperty where
+  type PropertyType "MaxConcurrency" FlowAliasConcurrencyConfigurationProperty = Value Prelude.Double
+  set newValue FlowAliasConcurrencyConfigurationProperty {..}
+    = FlowAliasConcurrencyConfigurationProperty
+        {maxConcurrency = Prelude.pure newValue, ..}
+instance Property "Type" FlowAliasConcurrencyConfigurationProperty where
+  type PropertyType "Type" FlowAliasConcurrencyConfigurationProperty = Value Prelude.Text
+  set newValue FlowAliasConcurrencyConfigurationProperty {..}
+    = FlowAliasConcurrencyConfigurationProperty {type' = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/FlowAlias/FlowAliasConcurrencyConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/FlowAlias/FlowAliasConcurrencyConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowAlias/FlowAliasConcurrencyConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.FlowAlias.FlowAliasConcurrencyConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data FlowAliasConcurrencyConfigurationProperty :: Prelude.Type
+instance ToResourceProperties FlowAliasConcurrencyConfigurationProperty
+instance Prelude.Eq FlowAliasConcurrencyConfigurationProperty
+instance Prelude.Show FlowAliasConcurrencyConfigurationProperty
+instance JSON.ToJSON FlowAliasConcurrencyConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/FlowAlias/FlowAliasRoutingConfigurationListItemProperty.hs b/gen/Stratosphere/Bedrock/FlowAlias/FlowAliasRoutingConfigurationListItemProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowAlias/FlowAliasRoutingConfigurationListItemProperty.hs
@@ -0,0 +1,40 @@
+module Stratosphere.Bedrock.FlowAlias.FlowAliasRoutingConfigurationListItemProperty (
+        FlowAliasRoutingConfigurationListItemProperty(..),
+        mkFlowAliasRoutingConfigurationListItemProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data FlowAliasRoutingConfigurationListItemProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowalias-flowaliasroutingconfigurationlistitem.html>
+    FlowAliasRoutingConfigurationListItemProperty {haddock_workaround_ :: (),
+                                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowalias-flowaliasroutingconfigurationlistitem.html#cfn-bedrock-flowalias-flowaliasroutingconfigurationlistitem-flowversion>
+                                                   flowVersion :: (Prelude.Maybe (Value Prelude.Text))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkFlowAliasRoutingConfigurationListItemProperty ::
+  FlowAliasRoutingConfigurationListItemProperty
+mkFlowAliasRoutingConfigurationListItemProperty
+  = FlowAliasRoutingConfigurationListItemProperty
+      {haddock_workaround_ = (), flowVersion = Prelude.Nothing}
+instance ToResourceProperties FlowAliasRoutingConfigurationListItemProperty where
+  toResourceProperties
+    FlowAliasRoutingConfigurationListItemProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::FlowAlias.FlowAliasRoutingConfigurationListItem",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "FlowVersion" Prelude.<$> flowVersion])}
+instance JSON.ToJSON FlowAliasRoutingConfigurationListItemProperty where
+  toJSON FlowAliasRoutingConfigurationListItemProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "FlowVersion" Prelude.<$> flowVersion]))
+instance Property "FlowVersion" FlowAliasRoutingConfigurationListItemProperty where
+  type PropertyType "FlowVersion" FlowAliasRoutingConfigurationListItemProperty = Value Prelude.Text
+  set newValue FlowAliasRoutingConfigurationListItemProperty {..}
+    = FlowAliasRoutingConfigurationListItemProperty
+        {flowVersion = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/FlowAlias/FlowAliasRoutingConfigurationListItemProperty.hs-boot b/gen/Stratosphere/Bedrock/FlowAlias/FlowAliasRoutingConfigurationListItemProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowAlias/FlowAliasRoutingConfigurationListItemProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.FlowAlias.FlowAliasRoutingConfigurationListItemProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data FlowAliasRoutingConfigurationListItemProperty :: Prelude.Type
+instance ToResourceProperties FlowAliasRoutingConfigurationListItemProperty
+instance Prelude.Eq FlowAliasRoutingConfigurationListItemProperty
+instance Prelude.Show FlowAliasRoutingConfigurationListItemProperty
+instance JSON.ToJSON FlowAliasRoutingConfigurationListItemProperty
diff --git a/gen/Stratosphere/Bedrock/FlowVersion.hs b/gen/Stratosphere/Bedrock/FlowVersion.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion.hs
@@ -0,0 +1,47 @@
+module Stratosphere.Bedrock.FlowVersion (
+        FlowVersion(..), mkFlowVersion
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data FlowVersion
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-flowversion.html>
+    FlowVersion {haddock_workaround_ :: (),
+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-flowversion.html#cfn-bedrock-flowversion-description>
+                 description :: (Prelude.Maybe (Value Prelude.Text)),
+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-flowversion.html#cfn-bedrock-flowversion-flowarn>
+                 flowArn :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkFlowVersion :: Value Prelude.Text -> FlowVersion
+mkFlowVersion flowArn
+  = FlowVersion
+      {haddock_workaround_ = (), flowArn = flowArn,
+       description = Prelude.Nothing}
+instance ToResourceProperties FlowVersion where
+  toResourceProperties FlowVersion {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::FlowVersion",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["FlowArn" JSON..= flowArn]
+                           (Prelude.catMaybes
+                              [(JSON..=) "Description" Prelude.<$> description]))}
+instance JSON.ToJSON FlowVersion where
+  toJSON FlowVersion {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["FlowArn" JSON..= flowArn]
+              (Prelude.catMaybes
+                 [(JSON..=) "Description" Prelude.<$> description])))
+instance Property "Description" FlowVersion where
+  type PropertyType "Description" FlowVersion = Value Prelude.Text
+  set newValue FlowVersion {..}
+    = FlowVersion {description = Prelude.pure newValue, ..}
+instance Property "FlowArn" FlowVersion where
+  type PropertyType "FlowArn" FlowVersion = Value Prelude.Text
+  set newValue FlowVersion {..}
+    = FlowVersion {flowArn = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/AgentFlowNodeConfigurationProperty.hs b/gen/Stratosphere/Bedrock/FlowVersion/AgentFlowNodeConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/AgentFlowNodeConfigurationProperty.hs
@@ -0,0 +1,33 @@
+module Stratosphere.Bedrock.FlowVersion.AgentFlowNodeConfigurationProperty (
+        AgentFlowNodeConfigurationProperty(..),
+        mkAgentFlowNodeConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data AgentFlowNodeConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-agentflownodeconfiguration.html>
+    AgentFlowNodeConfigurationProperty {haddock_workaround_ :: (),
+                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-agentflownodeconfiguration.html#cfn-bedrock-flowversion-agentflownodeconfiguration-agentaliasarn>
+                                        agentAliasArn :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkAgentFlowNodeConfigurationProperty ::
+  Value Prelude.Text -> AgentFlowNodeConfigurationProperty
+mkAgentFlowNodeConfigurationProperty agentAliasArn
+  = AgentFlowNodeConfigurationProperty
+      {haddock_workaround_ = (), agentAliasArn = agentAliasArn}
+instance ToResourceProperties AgentFlowNodeConfigurationProperty where
+  toResourceProperties AgentFlowNodeConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::FlowVersion.AgentFlowNodeConfiguration",
+         supportsTags = Prelude.False,
+         properties = ["AgentAliasArn" JSON..= agentAliasArn]}
+instance JSON.ToJSON AgentFlowNodeConfigurationProperty where
+  toJSON AgentFlowNodeConfigurationProperty {..}
+    = JSON.object ["AgentAliasArn" JSON..= agentAliasArn]
+instance Property "AgentAliasArn" AgentFlowNodeConfigurationProperty where
+  type PropertyType "AgentAliasArn" AgentFlowNodeConfigurationProperty = Value Prelude.Text
+  set newValue AgentFlowNodeConfigurationProperty {..}
+    = AgentFlowNodeConfigurationProperty {agentAliasArn = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/AgentFlowNodeConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/FlowVersion/AgentFlowNodeConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/AgentFlowNodeConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.FlowVersion.AgentFlowNodeConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data AgentFlowNodeConfigurationProperty :: Prelude.Type
+instance ToResourceProperties AgentFlowNodeConfigurationProperty
+instance Prelude.Eq AgentFlowNodeConfigurationProperty
+instance Prelude.Show AgentFlowNodeConfigurationProperty
+instance JSON.ToJSON AgentFlowNodeConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/ConditionFlowNodeConfigurationProperty.hs b/gen/Stratosphere/Bedrock/FlowVersion/ConditionFlowNodeConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/ConditionFlowNodeConfigurationProperty.hs
@@ -0,0 +1,34 @@
+module Stratosphere.Bedrock.FlowVersion.ConditionFlowNodeConfigurationProperty (
+        module Exports, ConditionFlowNodeConfigurationProperty(..),
+        mkConditionFlowNodeConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.FlowVersion.FlowConditionProperty as Exports
+import Stratosphere.ResourceProperties
+data ConditionFlowNodeConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-conditionflownodeconfiguration.html>
+    ConditionFlowNodeConfigurationProperty {haddock_workaround_ :: (),
+                                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-conditionflownodeconfiguration.html#cfn-bedrock-flowversion-conditionflownodeconfiguration-conditions>
+                                            conditions :: [FlowConditionProperty]}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkConditionFlowNodeConfigurationProperty ::
+  [FlowConditionProperty] -> ConditionFlowNodeConfigurationProperty
+mkConditionFlowNodeConfigurationProperty conditions
+  = ConditionFlowNodeConfigurationProperty
+      {haddock_workaround_ = (), conditions = conditions}
+instance ToResourceProperties ConditionFlowNodeConfigurationProperty where
+  toResourceProperties ConditionFlowNodeConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::FlowVersion.ConditionFlowNodeConfiguration",
+         supportsTags = Prelude.False,
+         properties = ["Conditions" JSON..= conditions]}
+instance JSON.ToJSON ConditionFlowNodeConfigurationProperty where
+  toJSON ConditionFlowNodeConfigurationProperty {..}
+    = JSON.object ["Conditions" JSON..= conditions]
+instance Property "Conditions" ConditionFlowNodeConfigurationProperty where
+  type PropertyType "Conditions" ConditionFlowNodeConfigurationProperty = [FlowConditionProperty]
+  set newValue ConditionFlowNodeConfigurationProperty {..}
+    = ConditionFlowNodeConfigurationProperty
+        {conditions = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/ConditionFlowNodeConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/FlowVersion/ConditionFlowNodeConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/ConditionFlowNodeConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.FlowVersion.ConditionFlowNodeConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data ConditionFlowNodeConfigurationProperty :: Prelude.Type
+instance ToResourceProperties ConditionFlowNodeConfigurationProperty
+instance Prelude.Eq ConditionFlowNodeConfigurationProperty
+instance Prelude.Show ConditionFlowNodeConfigurationProperty
+instance JSON.ToJSON ConditionFlowNodeConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/FieldForRerankingProperty.hs b/gen/Stratosphere/Bedrock/FlowVersion/FieldForRerankingProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/FieldForRerankingProperty.hs
@@ -0,0 +1,32 @@
+module Stratosphere.Bedrock.FlowVersion.FieldForRerankingProperty (
+        FieldForRerankingProperty(..), mkFieldForRerankingProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data FieldForRerankingProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-fieldforreranking.html>
+    FieldForRerankingProperty {haddock_workaround_ :: (),
+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-fieldforreranking.html#cfn-bedrock-flowversion-fieldforreranking-fieldname>
+                               fieldName :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkFieldForRerankingProperty ::
+  Value Prelude.Text -> FieldForRerankingProperty
+mkFieldForRerankingProperty fieldName
+  = FieldForRerankingProperty
+      {haddock_workaround_ = (), fieldName = fieldName}
+instance ToResourceProperties FieldForRerankingProperty where
+  toResourceProperties FieldForRerankingProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::FlowVersion.FieldForReranking",
+         supportsTags = Prelude.False,
+         properties = ["FieldName" JSON..= fieldName]}
+instance JSON.ToJSON FieldForRerankingProperty where
+  toJSON FieldForRerankingProperty {..}
+    = JSON.object ["FieldName" JSON..= fieldName]
+instance Property "FieldName" FieldForRerankingProperty where
+  type PropertyType "FieldName" FieldForRerankingProperty = Value Prelude.Text
+  set newValue FieldForRerankingProperty {..}
+    = FieldForRerankingProperty {fieldName = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/FieldForRerankingProperty.hs-boot b/gen/Stratosphere/Bedrock/FlowVersion/FieldForRerankingProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/FieldForRerankingProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.FlowVersion.FieldForRerankingProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data FieldForRerankingProperty :: Prelude.Type
+instance ToResourceProperties FieldForRerankingProperty
+instance Prelude.Eq FieldForRerankingProperty
+instance Prelude.Show FieldForRerankingProperty
+instance JSON.ToJSON FieldForRerankingProperty
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/FlowConditionProperty.hs b/gen/Stratosphere/Bedrock/FlowVersion/FlowConditionProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/FlowConditionProperty.hs
@@ -0,0 +1,48 @@
+module Stratosphere.Bedrock.FlowVersion.FlowConditionProperty (
+        FlowConditionProperty(..), mkFlowConditionProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data FlowConditionProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flowcondition.html>
+    FlowConditionProperty {haddock_workaround_ :: (),
+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flowcondition.html#cfn-bedrock-flowversion-flowcondition-expression>
+                           expression :: (Prelude.Maybe (Value Prelude.Text)),
+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flowcondition.html#cfn-bedrock-flowversion-flowcondition-name>
+                           name :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkFlowConditionProperty ::
+  Value Prelude.Text -> FlowConditionProperty
+mkFlowConditionProperty name
+  = FlowConditionProperty
+      {haddock_workaround_ = (), name = name,
+       expression = Prelude.Nothing}
+instance ToResourceProperties FlowConditionProperty where
+  toResourceProperties FlowConditionProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::FlowVersion.FlowCondition",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["Name" JSON..= name]
+                           (Prelude.catMaybes
+                              [(JSON..=) "Expression" Prelude.<$> expression]))}
+instance JSON.ToJSON FlowConditionProperty where
+  toJSON FlowConditionProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["Name" JSON..= name]
+              (Prelude.catMaybes
+                 [(JSON..=) "Expression" Prelude.<$> expression])))
+instance Property "Expression" FlowConditionProperty where
+  type PropertyType "Expression" FlowConditionProperty = Value Prelude.Text
+  set newValue FlowConditionProperty {..}
+    = FlowConditionProperty {expression = Prelude.pure newValue, ..}
+instance Property "Name" FlowConditionProperty where
+  type PropertyType "Name" FlowConditionProperty = Value Prelude.Text
+  set newValue FlowConditionProperty {..}
+    = FlowConditionProperty {name = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/FlowConditionProperty.hs-boot b/gen/Stratosphere/Bedrock/FlowVersion/FlowConditionProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/FlowConditionProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.FlowVersion.FlowConditionProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data FlowConditionProperty :: Prelude.Type
+instance ToResourceProperties FlowConditionProperty
+instance Prelude.Eq FlowConditionProperty
+instance Prelude.Show FlowConditionProperty
+instance JSON.ToJSON FlowConditionProperty
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/FlowConditionalConnectionConfigurationProperty.hs b/gen/Stratosphere/Bedrock/FlowVersion/FlowConditionalConnectionConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/FlowConditionalConnectionConfigurationProperty.hs
@@ -0,0 +1,36 @@
+module Stratosphere.Bedrock.FlowVersion.FlowConditionalConnectionConfigurationProperty (
+        FlowConditionalConnectionConfigurationProperty(..),
+        mkFlowConditionalConnectionConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data FlowConditionalConnectionConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flowconditionalconnectionconfiguration.html>
+    FlowConditionalConnectionConfigurationProperty {haddock_workaround_ :: (),
+                                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flowconditionalconnectionconfiguration.html#cfn-bedrock-flowversion-flowconditionalconnectionconfiguration-condition>
+                                                    condition :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkFlowConditionalConnectionConfigurationProperty ::
+  Value Prelude.Text
+  -> FlowConditionalConnectionConfigurationProperty
+mkFlowConditionalConnectionConfigurationProperty condition
+  = FlowConditionalConnectionConfigurationProperty
+      {haddock_workaround_ = (), condition = condition}
+instance ToResourceProperties FlowConditionalConnectionConfigurationProperty where
+  toResourceProperties
+    FlowConditionalConnectionConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::FlowVersion.FlowConditionalConnectionConfiguration",
+         supportsTags = Prelude.False,
+         properties = ["Condition" JSON..= condition]}
+instance JSON.ToJSON FlowConditionalConnectionConfigurationProperty where
+  toJSON FlowConditionalConnectionConfigurationProperty {..}
+    = JSON.object ["Condition" JSON..= condition]
+instance Property "Condition" FlowConditionalConnectionConfigurationProperty where
+  type PropertyType "Condition" FlowConditionalConnectionConfigurationProperty = Value Prelude.Text
+  set newValue FlowConditionalConnectionConfigurationProperty {..}
+    = FlowConditionalConnectionConfigurationProperty
+        {condition = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/FlowConditionalConnectionConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/FlowVersion/FlowConditionalConnectionConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/FlowConditionalConnectionConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.FlowVersion.FlowConditionalConnectionConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data FlowConditionalConnectionConfigurationProperty :: Prelude.Type
+instance ToResourceProperties FlowConditionalConnectionConfigurationProperty
+instance Prelude.Eq FlowConditionalConnectionConfigurationProperty
+instance Prelude.Show FlowConditionalConnectionConfigurationProperty
+instance JSON.ToJSON FlowConditionalConnectionConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/FlowConnectionConfigurationProperty.hs b/gen/Stratosphere/Bedrock/FlowVersion/FlowConnectionConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/FlowConnectionConfigurationProperty.hs
@@ -0,0 +1,50 @@
+module Stratosphere.Bedrock.FlowVersion.FlowConnectionConfigurationProperty (
+        module Exports, FlowConnectionConfigurationProperty(..),
+        mkFlowConnectionConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.FlowVersion.FlowConditionalConnectionConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.FlowVersion.FlowDataConnectionConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+data FlowConnectionConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flowconnectionconfiguration.html>
+    FlowConnectionConfigurationProperty {haddock_workaround_ :: (),
+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flowconnectionconfiguration.html#cfn-bedrock-flowversion-flowconnectionconfiguration-conditional>
+                                         conditional :: (Prelude.Maybe FlowConditionalConnectionConfigurationProperty),
+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flowconnectionconfiguration.html#cfn-bedrock-flowversion-flowconnectionconfiguration-data>
+                                         data' :: (Prelude.Maybe FlowDataConnectionConfigurationProperty)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkFlowConnectionConfigurationProperty ::
+  FlowConnectionConfigurationProperty
+mkFlowConnectionConfigurationProperty
+  = FlowConnectionConfigurationProperty
+      {haddock_workaround_ = (), conditional = Prelude.Nothing,
+       data' = Prelude.Nothing}
+instance ToResourceProperties FlowConnectionConfigurationProperty where
+  toResourceProperties FlowConnectionConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::FlowVersion.FlowConnectionConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "Conditional" Prelude.<$> conditional,
+                            (JSON..=) "Data" Prelude.<$> data'])}
+instance JSON.ToJSON FlowConnectionConfigurationProperty where
+  toJSON FlowConnectionConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "Conditional" Prelude.<$> conditional,
+               (JSON..=) "Data" Prelude.<$> data']))
+instance Property "Conditional" FlowConnectionConfigurationProperty where
+  type PropertyType "Conditional" FlowConnectionConfigurationProperty = FlowConditionalConnectionConfigurationProperty
+  set newValue FlowConnectionConfigurationProperty {..}
+    = FlowConnectionConfigurationProperty
+        {conditional = Prelude.pure newValue, ..}
+instance Property "Data" FlowConnectionConfigurationProperty where
+  type PropertyType "Data" FlowConnectionConfigurationProperty = FlowDataConnectionConfigurationProperty
+  set newValue FlowConnectionConfigurationProperty {..}
+    = FlowConnectionConfigurationProperty
+        {data' = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/FlowConnectionConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/FlowVersion/FlowConnectionConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/FlowConnectionConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.FlowVersion.FlowConnectionConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data FlowConnectionConfigurationProperty :: Prelude.Type
+instance ToResourceProperties FlowConnectionConfigurationProperty
+instance Prelude.Eq FlowConnectionConfigurationProperty
+instance Prelude.Show FlowConnectionConfigurationProperty
+instance JSON.ToJSON FlowConnectionConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/FlowConnectionProperty.hs b/gen/Stratosphere/Bedrock/FlowVersion/FlowConnectionProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/FlowConnectionProperty.hs
@@ -0,0 +1,74 @@
+module Stratosphere.Bedrock.FlowVersion.FlowConnectionProperty (
+        module Exports, FlowConnectionProperty(..),
+        mkFlowConnectionProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.FlowVersion.FlowConnectionConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data FlowConnectionProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flowconnection.html>
+    FlowConnectionProperty {haddock_workaround_ :: (),
+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flowconnection.html#cfn-bedrock-flowversion-flowconnection-configuration>
+                            configuration :: (Prelude.Maybe FlowConnectionConfigurationProperty),
+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flowconnection.html#cfn-bedrock-flowversion-flowconnection-name>
+                            name :: (Value Prelude.Text),
+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flowconnection.html#cfn-bedrock-flowversion-flowconnection-source>
+                            source :: (Value Prelude.Text),
+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flowconnection.html#cfn-bedrock-flowversion-flowconnection-target>
+                            target :: (Value Prelude.Text),
+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flowconnection.html#cfn-bedrock-flowversion-flowconnection-type>
+                            type' :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkFlowConnectionProperty ::
+  Value Prelude.Text
+  -> Value Prelude.Text
+     -> Value Prelude.Text
+        -> Value Prelude.Text -> FlowConnectionProperty
+mkFlowConnectionProperty name source target type'
+  = FlowConnectionProperty
+      {haddock_workaround_ = (), name = name, source = source,
+       target = target, type' = type', configuration = Prelude.Nothing}
+instance ToResourceProperties FlowConnectionProperty where
+  toResourceProperties FlowConnectionProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::FlowVersion.FlowConnection",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["Name" JSON..= name, "Source" JSON..= source,
+                            "Target" JSON..= target, "Type" JSON..= type']
+                           (Prelude.catMaybes
+                              [(JSON..=) "Configuration" Prelude.<$> configuration]))}
+instance JSON.ToJSON FlowConnectionProperty where
+  toJSON FlowConnectionProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["Name" JSON..= name, "Source" JSON..= source,
+               "Target" JSON..= target, "Type" JSON..= type']
+              (Prelude.catMaybes
+                 [(JSON..=) "Configuration" Prelude.<$> configuration])))
+instance Property "Configuration" FlowConnectionProperty where
+  type PropertyType "Configuration" FlowConnectionProperty = FlowConnectionConfigurationProperty
+  set newValue FlowConnectionProperty {..}
+    = FlowConnectionProperty
+        {configuration = Prelude.pure newValue, ..}
+instance Property "Name" FlowConnectionProperty where
+  type PropertyType "Name" FlowConnectionProperty = Value Prelude.Text
+  set newValue FlowConnectionProperty {..}
+    = FlowConnectionProperty {name = newValue, ..}
+instance Property "Source" FlowConnectionProperty where
+  type PropertyType "Source" FlowConnectionProperty = Value Prelude.Text
+  set newValue FlowConnectionProperty {..}
+    = FlowConnectionProperty {source = newValue, ..}
+instance Property "Target" FlowConnectionProperty where
+  type PropertyType "Target" FlowConnectionProperty = Value Prelude.Text
+  set newValue FlowConnectionProperty {..}
+    = FlowConnectionProperty {target = newValue, ..}
+instance Property "Type" FlowConnectionProperty where
+  type PropertyType "Type" FlowConnectionProperty = Value Prelude.Text
+  set newValue FlowConnectionProperty {..}
+    = FlowConnectionProperty {type' = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/FlowConnectionProperty.hs-boot b/gen/Stratosphere/Bedrock/FlowVersion/FlowConnectionProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/FlowConnectionProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.FlowVersion.FlowConnectionProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data FlowConnectionProperty :: Prelude.Type
+instance ToResourceProperties FlowConnectionProperty
+instance Prelude.Eq FlowConnectionProperty
+instance Prelude.Show FlowConnectionProperty
+instance JSON.ToJSON FlowConnectionProperty
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/FlowDataConnectionConfigurationProperty.hs b/gen/Stratosphere/Bedrock/FlowVersion/FlowDataConnectionConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/FlowDataConnectionConfigurationProperty.hs
@@ -0,0 +1,46 @@
+module Stratosphere.Bedrock.FlowVersion.FlowDataConnectionConfigurationProperty (
+        FlowDataConnectionConfigurationProperty(..),
+        mkFlowDataConnectionConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data FlowDataConnectionConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flowdataconnectionconfiguration.html>
+    FlowDataConnectionConfigurationProperty {haddock_workaround_ :: (),
+                                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flowdataconnectionconfiguration.html#cfn-bedrock-flowversion-flowdataconnectionconfiguration-sourceoutput>
+                                             sourceOutput :: (Value Prelude.Text),
+                                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flowdataconnectionconfiguration.html#cfn-bedrock-flowversion-flowdataconnectionconfiguration-targetinput>
+                                             targetInput :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkFlowDataConnectionConfigurationProperty ::
+  Value Prelude.Text
+  -> Value Prelude.Text -> FlowDataConnectionConfigurationProperty
+mkFlowDataConnectionConfigurationProperty sourceOutput targetInput
+  = FlowDataConnectionConfigurationProperty
+      {haddock_workaround_ = (), sourceOutput = sourceOutput,
+       targetInput = targetInput}
+instance ToResourceProperties FlowDataConnectionConfigurationProperty where
+  toResourceProperties FlowDataConnectionConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::FlowVersion.FlowDataConnectionConfiguration",
+         supportsTags = Prelude.False,
+         properties = ["SourceOutput" JSON..= sourceOutput,
+                       "TargetInput" JSON..= targetInput]}
+instance JSON.ToJSON FlowDataConnectionConfigurationProperty where
+  toJSON FlowDataConnectionConfigurationProperty {..}
+    = JSON.object
+        ["SourceOutput" JSON..= sourceOutput,
+         "TargetInput" JSON..= targetInput]
+instance Property "SourceOutput" FlowDataConnectionConfigurationProperty where
+  type PropertyType "SourceOutput" FlowDataConnectionConfigurationProperty = Value Prelude.Text
+  set newValue FlowDataConnectionConfigurationProperty {..}
+    = FlowDataConnectionConfigurationProperty
+        {sourceOutput = newValue, ..}
+instance Property "TargetInput" FlowDataConnectionConfigurationProperty where
+  type PropertyType "TargetInput" FlowDataConnectionConfigurationProperty = Value Prelude.Text
+  set newValue FlowDataConnectionConfigurationProperty {..}
+    = FlowDataConnectionConfigurationProperty
+        {targetInput = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/FlowDataConnectionConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/FlowVersion/FlowDataConnectionConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/FlowDataConnectionConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.FlowVersion.FlowDataConnectionConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data FlowDataConnectionConfigurationProperty :: Prelude.Type
+instance ToResourceProperties FlowDataConnectionConfigurationProperty
+instance Prelude.Eq FlowDataConnectionConfigurationProperty
+instance Prelude.Show FlowDataConnectionConfigurationProperty
+instance JSON.ToJSON FlowDataConnectionConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/FlowDefinitionProperty.hs b/gen/Stratosphere/Bedrock/FlowVersion/FlowDefinitionProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/FlowDefinitionProperty.hs
@@ -0,0 +1,47 @@
+module Stratosphere.Bedrock.FlowVersion.FlowDefinitionProperty (
+        module Exports, FlowDefinitionProperty(..),
+        mkFlowDefinitionProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.FlowVersion.FlowConnectionProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.FlowVersion.FlowNodeProperty as Exports
+import Stratosphere.ResourceProperties
+data FlowDefinitionProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flowdefinition.html>
+    FlowDefinitionProperty {haddock_workaround_ :: (),
+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flowdefinition.html#cfn-bedrock-flowversion-flowdefinition-connections>
+                            connections :: (Prelude.Maybe [FlowConnectionProperty]),
+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flowdefinition.html#cfn-bedrock-flowversion-flowdefinition-nodes>
+                            nodes :: (Prelude.Maybe [FlowNodeProperty])}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkFlowDefinitionProperty :: FlowDefinitionProperty
+mkFlowDefinitionProperty
+  = FlowDefinitionProperty
+      {haddock_workaround_ = (), connections = Prelude.Nothing,
+       nodes = Prelude.Nothing}
+instance ToResourceProperties FlowDefinitionProperty where
+  toResourceProperties FlowDefinitionProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::FlowVersion.FlowDefinition",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "Connections" Prelude.<$> connections,
+                            (JSON..=) "Nodes" Prelude.<$> nodes])}
+instance JSON.ToJSON FlowDefinitionProperty where
+  toJSON FlowDefinitionProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "Connections" Prelude.<$> connections,
+               (JSON..=) "Nodes" Prelude.<$> nodes]))
+instance Property "Connections" FlowDefinitionProperty where
+  type PropertyType "Connections" FlowDefinitionProperty = [FlowConnectionProperty]
+  set newValue FlowDefinitionProperty {..}
+    = FlowDefinitionProperty {connections = Prelude.pure newValue, ..}
+instance Property "Nodes" FlowDefinitionProperty where
+  type PropertyType "Nodes" FlowDefinitionProperty = [FlowNodeProperty]
+  set newValue FlowDefinitionProperty {..}
+    = FlowDefinitionProperty {nodes = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/FlowDefinitionProperty.hs-boot b/gen/Stratosphere/Bedrock/FlowVersion/FlowDefinitionProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/FlowDefinitionProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.FlowVersion.FlowDefinitionProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data FlowDefinitionProperty :: Prelude.Type
+instance ToResourceProperties FlowDefinitionProperty
+instance Prelude.Eq FlowDefinitionProperty
+instance Prelude.Show FlowDefinitionProperty
+instance JSON.ToJSON FlowDefinitionProperty
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/FlowNodeConfigurationProperty.hs b/gen/Stratosphere/Bedrock/FlowVersion/FlowNodeConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/FlowNodeConfigurationProperty.hs
@@ -0,0 +1,185 @@
+module Stratosphere.Bedrock.FlowVersion.FlowNodeConfigurationProperty (
+        module Exports, FlowNodeConfigurationProperty(..),
+        mkFlowNodeConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.FlowVersion.AgentFlowNodeConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.FlowVersion.ConditionFlowNodeConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.FlowVersion.InlineCodeFlowNodeConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.FlowVersion.KnowledgeBaseFlowNodeConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.FlowVersion.LambdaFunctionFlowNodeConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.FlowVersion.LexFlowNodeConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.FlowVersion.LoopControllerFlowNodeConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.FlowVersion.LoopFlowNodeConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.FlowVersion.PromptFlowNodeConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.FlowVersion.RetrievalFlowNodeConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.FlowVersion.StorageFlowNodeConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+data FlowNodeConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flownodeconfiguration.html>
+    FlowNodeConfigurationProperty {haddock_workaround_ :: (),
+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flownodeconfiguration.html#cfn-bedrock-flowversion-flownodeconfiguration-agent>
+                                   agent :: (Prelude.Maybe AgentFlowNodeConfigurationProperty),
+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flownodeconfiguration.html#cfn-bedrock-flowversion-flownodeconfiguration-collector>
+                                   collector :: (Prelude.Maybe JSON.Object),
+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flownodeconfiguration.html#cfn-bedrock-flowversion-flownodeconfiguration-condition>
+                                   condition :: (Prelude.Maybe ConditionFlowNodeConfigurationProperty),
+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flownodeconfiguration.html#cfn-bedrock-flowversion-flownodeconfiguration-inlinecode>
+                                   inlineCode :: (Prelude.Maybe InlineCodeFlowNodeConfigurationProperty),
+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flownodeconfiguration.html#cfn-bedrock-flowversion-flownodeconfiguration-input>
+                                   input :: (Prelude.Maybe JSON.Object),
+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flownodeconfiguration.html#cfn-bedrock-flowversion-flownodeconfiguration-iterator>
+                                   iterator :: (Prelude.Maybe JSON.Object),
+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flownodeconfiguration.html#cfn-bedrock-flowversion-flownodeconfiguration-knowledgebase>
+                                   knowledgeBase :: (Prelude.Maybe KnowledgeBaseFlowNodeConfigurationProperty),
+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flownodeconfiguration.html#cfn-bedrock-flowversion-flownodeconfiguration-lambdafunction>
+                                   lambdaFunction :: (Prelude.Maybe LambdaFunctionFlowNodeConfigurationProperty),
+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flownodeconfiguration.html#cfn-bedrock-flowversion-flownodeconfiguration-lex>
+                                   lex :: (Prelude.Maybe LexFlowNodeConfigurationProperty),
+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flownodeconfiguration.html#cfn-bedrock-flowversion-flownodeconfiguration-loop>
+                                   loop :: (Prelude.Maybe LoopFlowNodeConfigurationProperty),
+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flownodeconfiguration.html#cfn-bedrock-flowversion-flownodeconfiguration-loopcontroller>
+                                   loopController :: (Prelude.Maybe LoopControllerFlowNodeConfigurationProperty),
+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flownodeconfiguration.html#cfn-bedrock-flowversion-flownodeconfiguration-loopinput>
+                                   loopInput :: (Prelude.Maybe JSON.Object),
+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flownodeconfiguration.html#cfn-bedrock-flowversion-flownodeconfiguration-output>
+                                   output :: (Prelude.Maybe JSON.Object),
+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flownodeconfiguration.html#cfn-bedrock-flowversion-flownodeconfiguration-prompt>
+                                   prompt :: (Prelude.Maybe PromptFlowNodeConfigurationProperty),
+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flownodeconfiguration.html#cfn-bedrock-flowversion-flownodeconfiguration-retrieval>
+                                   retrieval :: (Prelude.Maybe RetrievalFlowNodeConfigurationProperty),
+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flownodeconfiguration.html#cfn-bedrock-flowversion-flownodeconfiguration-storage>
+                                   storage :: (Prelude.Maybe StorageFlowNodeConfigurationProperty)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkFlowNodeConfigurationProperty :: FlowNodeConfigurationProperty
+mkFlowNodeConfigurationProperty
+  = FlowNodeConfigurationProperty
+      {haddock_workaround_ = (), agent = Prelude.Nothing,
+       collector = Prelude.Nothing, condition = Prelude.Nothing,
+       inlineCode = Prelude.Nothing, input = Prelude.Nothing,
+       iterator = Prelude.Nothing, knowledgeBase = Prelude.Nothing,
+       lambdaFunction = Prelude.Nothing, lex = Prelude.Nothing,
+       loop = Prelude.Nothing, loopController = Prelude.Nothing,
+       loopInput = Prelude.Nothing, output = Prelude.Nothing,
+       prompt = Prelude.Nothing, retrieval = Prelude.Nothing,
+       storage = Prelude.Nothing}
+instance ToResourceProperties FlowNodeConfigurationProperty where
+  toResourceProperties FlowNodeConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::FlowVersion.FlowNodeConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "Agent" Prelude.<$> agent,
+                            (JSON..=) "Collector" Prelude.<$> collector,
+                            (JSON..=) "Condition" Prelude.<$> condition,
+                            (JSON..=) "InlineCode" Prelude.<$> inlineCode,
+                            (JSON..=) "Input" Prelude.<$> input,
+                            (JSON..=) "Iterator" Prelude.<$> iterator,
+                            (JSON..=) "KnowledgeBase" Prelude.<$> knowledgeBase,
+                            (JSON..=) "LambdaFunction" Prelude.<$> lambdaFunction,
+                            (JSON..=) "Lex" Prelude.<$> lex, (JSON..=) "Loop" Prelude.<$> loop,
+                            (JSON..=) "LoopController" Prelude.<$> loopController,
+                            (JSON..=) "LoopInput" Prelude.<$> loopInput,
+                            (JSON..=) "Output" Prelude.<$> output,
+                            (JSON..=) "Prompt" Prelude.<$> prompt,
+                            (JSON..=) "Retrieval" Prelude.<$> retrieval,
+                            (JSON..=) "Storage" Prelude.<$> storage])}
+instance JSON.ToJSON FlowNodeConfigurationProperty where
+  toJSON FlowNodeConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "Agent" Prelude.<$> agent,
+               (JSON..=) "Collector" Prelude.<$> collector,
+               (JSON..=) "Condition" Prelude.<$> condition,
+               (JSON..=) "InlineCode" Prelude.<$> inlineCode,
+               (JSON..=) "Input" Prelude.<$> input,
+               (JSON..=) "Iterator" Prelude.<$> iterator,
+               (JSON..=) "KnowledgeBase" Prelude.<$> knowledgeBase,
+               (JSON..=) "LambdaFunction" Prelude.<$> lambdaFunction,
+               (JSON..=) "Lex" Prelude.<$> lex, (JSON..=) "Loop" Prelude.<$> loop,
+               (JSON..=) "LoopController" Prelude.<$> loopController,
+               (JSON..=) "LoopInput" Prelude.<$> loopInput,
+               (JSON..=) "Output" Prelude.<$> output,
+               (JSON..=) "Prompt" Prelude.<$> prompt,
+               (JSON..=) "Retrieval" Prelude.<$> retrieval,
+               (JSON..=) "Storage" Prelude.<$> storage]))
+instance Property "Agent" FlowNodeConfigurationProperty where
+  type PropertyType "Agent" FlowNodeConfigurationProperty = AgentFlowNodeConfigurationProperty
+  set newValue FlowNodeConfigurationProperty {..}
+    = FlowNodeConfigurationProperty {agent = Prelude.pure newValue, ..}
+instance Property "Collector" FlowNodeConfigurationProperty where
+  type PropertyType "Collector" FlowNodeConfigurationProperty = JSON.Object
+  set newValue FlowNodeConfigurationProperty {..}
+    = FlowNodeConfigurationProperty
+        {collector = Prelude.pure newValue, ..}
+instance Property "Condition" FlowNodeConfigurationProperty where
+  type PropertyType "Condition" FlowNodeConfigurationProperty = ConditionFlowNodeConfigurationProperty
+  set newValue FlowNodeConfigurationProperty {..}
+    = FlowNodeConfigurationProperty
+        {condition = Prelude.pure newValue, ..}
+instance Property "InlineCode" FlowNodeConfigurationProperty where
+  type PropertyType "InlineCode" FlowNodeConfigurationProperty = InlineCodeFlowNodeConfigurationProperty
+  set newValue FlowNodeConfigurationProperty {..}
+    = FlowNodeConfigurationProperty
+        {inlineCode = Prelude.pure newValue, ..}
+instance Property "Input" FlowNodeConfigurationProperty where
+  type PropertyType "Input" FlowNodeConfigurationProperty = JSON.Object
+  set newValue FlowNodeConfigurationProperty {..}
+    = FlowNodeConfigurationProperty {input = Prelude.pure newValue, ..}
+instance Property "Iterator" FlowNodeConfigurationProperty where
+  type PropertyType "Iterator" FlowNodeConfigurationProperty = JSON.Object
+  set newValue FlowNodeConfigurationProperty {..}
+    = FlowNodeConfigurationProperty
+        {iterator = Prelude.pure newValue, ..}
+instance Property "KnowledgeBase" FlowNodeConfigurationProperty where
+  type PropertyType "KnowledgeBase" FlowNodeConfigurationProperty = KnowledgeBaseFlowNodeConfigurationProperty
+  set newValue FlowNodeConfigurationProperty {..}
+    = FlowNodeConfigurationProperty
+        {knowledgeBase = Prelude.pure newValue, ..}
+instance Property "LambdaFunction" FlowNodeConfigurationProperty where
+  type PropertyType "LambdaFunction" FlowNodeConfigurationProperty = LambdaFunctionFlowNodeConfigurationProperty
+  set newValue FlowNodeConfigurationProperty {..}
+    = FlowNodeConfigurationProperty
+        {lambdaFunction = Prelude.pure newValue, ..}
+instance Property "Lex" FlowNodeConfigurationProperty where
+  type PropertyType "Lex" FlowNodeConfigurationProperty = LexFlowNodeConfigurationProperty
+  set newValue FlowNodeConfigurationProperty {..}
+    = FlowNodeConfigurationProperty {lex = Prelude.pure newValue, ..}
+instance Property "Loop" FlowNodeConfigurationProperty where
+  type PropertyType "Loop" FlowNodeConfigurationProperty = LoopFlowNodeConfigurationProperty
+  set newValue FlowNodeConfigurationProperty {..}
+    = FlowNodeConfigurationProperty {loop = Prelude.pure newValue, ..}
+instance Property "LoopController" FlowNodeConfigurationProperty where
+  type PropertyType "LoopController" FlowNodeConfigurationProperty = LoopControllerFlowNodeConfigurationProperty
+  set newValue FlowNodeConfigurationProperty {..}
+    = FlowNodeConfigurationProperty
+        {loopController = Prelude.pure newValue, ..}
+instance Property "LoopInput" FlowNodeConfigurationProperty where
+  type PropertyType "LoopInput" FlowNodeConfigurationProperty = JSON.Object
+  set newValue FlowNodeConfigurationProperty {..}
+    = FlowNodeConfigurationProperty
+        {loopInput = Prelude.pure newValue, ..}
+instance Property "Output" FlowNodeConfigurationProperty where
+  type PropertyType "Output" FlowNodeConfigurationProperty = JSON.Object
+  set newValue FlowNodeConfigurationProperty {..}
+    = FlowNodeConfigurationProperty
+        {output = Prelude.pure newValue, ..}
+instance Property "Prompt" FlowNodeConfigurationProperty where
+  type PropertyType "Prompt" FlowNodeConfigurationProperty = PromptFlowNodeConfigurationProperty
+  set newValue FlowNodeConfigurationProperty {..}
+    = FlowNodeConfigurationProperty
+        {prompt = Prelude.pure newValue, ..}
+instance Property "Retrieval" FlowNodeConfigurationProperty where
+  type PropertyType "Retrieval" FlowNodeConfigurationProperty = RetrievalFlowNodeConfigurationProperty
+  set newValue FlowNodeConfigurationProperty {..}
+    = FlowNodeConfigurationProperty
+        {retrieval = Prelude.pure newValue, ..}
+instance Property "Storage" FlowNodeConfigurationProperty where
+  type PropertyType "Storage" FlowNodeConfigurationProperty = StorageFlowNodeConfigurationProperty
+  set newValue FlowNodeConfigurationProperty {..}
+    = FlowNodeConfigurationProperty
+        {storage = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/FlowNodeConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/FlowVersion/FlowNodeConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/FlowNodeConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.FlowVersion.FlowNodeConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data FlowNodeConfigurationProperty :: Prelude.Type
+instance ToResourceProperties FlowNodeConfigurationProperty
+instance Prelude.Eq FlowNodeConfigurationProperty
+instance Prelude.Show FlowNodeConfigurationProperty
+instance JSON.ToJSON FlowNodeConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/FlowNodeInputProperty.hs b/gen/Stratosphere/Bedrock/FlowVersion/FlowNodeInputProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/FlowNodeInputProperty.hs
@@ -0,0 +1,50 @@
+module Stratosphere.Bedrock.FlowVersion.FlowNodeInputProperty (
+        FlowNodeInputProperty(..), mkFlowNodeInputProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data FlowNodeInputProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flownodeinput.html>
+    FlowNodeInputProperty {haddock_workaround_ :: (),
+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flownodeinput.html#cfn-bedrock-flowversion-flownodeinput-expression>
+                           expression :: (Value Prelude.Text),
+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flownodeinput.html#cfn-bedrock-flowversion-flownodeinput-name>
+                           name :: (Value Prelude.Text),
+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flownodeinput.html#cfn-bedrock-flowversion-flownodeinput-type>
+                           type' :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkFlowNodeInputProperty ::
+  Value Prelude.Text
+  -> Value Prelude.Text
+     -> Value Prelude.Text -> FlowNodeInputProperty
+mkFlowNodeInputProperty expression name type'
+  = FlowNodeInputProperty
+      {haddock_workaround_ = (), expression = expression, name = name,
+       type' = type'}
+instance ToResourceProperties FlowNodeInputProperty where
+  toResourceProperties FlowNodeInputProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::FlowVersion.FlowNodeInput",
+         supportsTags = Prelude.False,
+         properties = ["Expression" JSON..= expression, "Name" JSON..= name,
+                       "Type" JSON..= type']}
+instance JSON.ToJSON FlowNodeInputProperty where
+  toJSON FlowNodeInputProperty {..}
+    = JSON.object
+        ["Expression" JSON..= expression, "Name" JSON..= name,
+         "Type" JSON..= type']
+instance Property "Expression" FlowNodeInputProperty where
+  type PropertyType "Expression" FlowNodeInputProperty = Value Prelude.Text
+  set newValue FlowNodeInputProperty {..}
+    = FlowNodeInputProperty {expression = newValue, ..}
+instance Property "Name" FlowNodeInputProperty where
+  type PropertyType "Name" FlowNodeInputProperty = Value Prelude.Text
+  set newValue FlowNodeInputProperty {..}
+    = FlowNodeInputProperty {name = newValue, ..}
+instance Property "Type" FlowNodeInputProperty where
+  type PropertyType "Type" FlowNodeInputProperty = Value Prelude.Text
+  set newValue FlowNodeInputProperty {..}
+    = FlowNodeInputProperty {type' = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/FlowNodeInputProperty.hs-boot b/gen/Stratosphere/Bedrock/FlowVersion/FlowNodeInputProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/FlowNodeInputProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.FlowVersion.FlowNodeInputProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data FlowNodeInputProperty :: Prelude.Type
+instance ToResourceProperties FlowNodeInputProperty
+instance Prelude.Eq FlowNodeInputProperty
+instance Prelude.Show FlowNodeInputProperty
+instance JSON.ToJSON FlowNodeInputProperty
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/FlowNodeOutputProperty.hs b/gen/Stratosphere/Bedrock/FlowVersion/FlowNodeOutputProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/FlowNodeOutputProperty.hs
@@ -0,0 +1,38 @@
+module Stratosphere.Bedrock.FlowVersion.FlowNodeOutputProperty (
+        FlowNodeOutputProperty(..), mkFlowNodeOutputProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data FlowNodeOutputProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flownodeoutput.html>
+    FlowNodeOutputProperty {haddock_workaround_ :: (),
+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flownodeoutput.html#cfn-bedrock-flowversion-flownodeoutput-name>
+                            name :: (Value Prelude.Text),
+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flownodeoutput.html#cfn-bedrock-flowversion-flownodeoutput-type>
+                            type' :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkFlowNodeOutputProperty ::
+  Value Prelude.Text -> Value Prelude.Text -> FlowNodeOutputProperty
+mkFlowNodeOutputProperty name type'
+  = FlowNodeOutputProperty
+      {haddock_workaround_ = (), name = name, type' = type'}
+instance ToResourceProperties FlowNodeOutputProperty where
+  toResourceProperties FlowNodeOutputProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::FlowVersion.FlowNodeOutput",
+         supportsTags = Prelude.False,
+         properties = ["Name" JSON..= name, "Type" JSON..= type']}
+instance JSON.ToJSON FlowNodeOutputProperty where
+  toJSON FlowNodeOutputProperty {..}
+    = JSON.object ["Name" JSON..= name, "Type" JSON..= type']
+instance Property "Name" FlowNodeOutputProperty where
+  type PropertyType "Name" FlowNodeOutputProperty = Value Prelude.Text
+  set newValue FlowNodeOutputProperty {..}
+    = FlowNodeOutputProperty {name = newValue, ..}
+instance Property "Type" FlowNodeOutputProperty where
+  type PropertyType "Type" FlowNodeOutputProperty = Value Prelude.Text
+  set newValue FlowNodeOutputProperty {..}
+    = FlowNodeOutputProperty {type' = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/FlowNodeOutputProperty.hs-boot b/gen/Stratosphere/Bedrock/FlowVersion/FlowNodeOutputProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/FlowNodeOutputProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.FlowVersion.FlowNodeOutputProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data FlowNodeOutputProperty :: Prelude.Type
+instance ToResourceProperties FlowNodeOutputProperty
+instance Prelude.Eq FlowNodeOutputProperty
+instance Prelude.Show FlowNodeOutputProperty
+instance JSON.ToJSON FlowNodeOutputProperty
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/FlowNodeProperty.hs b/gen/Stratosphere/Bedrock/FlowVersion/FlowNodeProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/FlowNodeProperty.hs
@@ -0,0 +1,74 @@
+module Stratosphere.Bedrock.FlowVersion.FlowNodeProperty (
+        module Exports, FlowNodeProperty(..), mkFlowNodeProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.FlowVersion.FlowNodeConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.FlowVersion.FlowNodeInputProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.FlowVersion.FlowNodeOutputProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data FlowNodeProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flownode.html>
+    FlowNodeProperty {haddock_workaround_ :: (),
+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flownode.html#cfn-bedrock-flowversion-flownode-configuration>
+                      configuration :: (Prelude.Maybe FlowNodeConfigurationProperty),
+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flownode.html#cfn-bedrock-flowversion-flownode-inputs>
+                      inputs :: (Prelude.Maybe [FlowNodeInputProperty]),
+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flownode.html#cfn-bedrock-flowversion-flownode-name>
+                      name :: (Value Prelude.Text),
+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flownode.html#cfn-bedrock-flowversion-flownode-outputs>
+                      outputs :: (Prelude.Maybe [FlowNodeOutputProperty]),
+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flownode.html#cfn-bedrock-flowversion-flownode-type>
+                      type' :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkFlowNodeProperty ::
+  Value Prelude.Text -> Value Prelude.Text -> FlowNodeProperty
+mkFlowNodeProperty name type'
+  = FlowNodeProperty
+      {haddock_workaround_ = (), name = name, type' = type',
+       configuration = Prelude.Nothing, inputs = Prelude.Nothing,
+       outputs = Prelude.Nothing}
+instance ToResourceProperties FlowNodeProperty where
+  toResourceProperties FlowNodeProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::FlowVersion.FlowNode",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["Name" JSON..= name, "Type" JSON..= type']
+                           (Prelude.catMaybes
+                              [(JSON..=) "Configuration" Prelude.<$> configuration,
+                               (JSON..=) "Inputs" Prelude.<$> inputs,
+                               (JSON..=) "Outputs" Prelude.<$> outputs]))}
+instance JSON.ToJSON FlowNodeProperty where
+  toJSON FlowNodeProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["Name" JSON..= name, "Type" JSON..= type']
+              (Prelude.catMaybes
+                 [(JSON..=) "Configuration" Prelude.<$> configuration,
+                  (JSON..=) "Inputs" Prelude.<$> inputs,
+                  (JSON..=) "Outputs" Prelude.<$> outputs])))
+instance Property "Configuration" FlowNodeProperty where
+  type PropertyType "Configuration" FlowNodeProperty = FlowNodeConfigurationProperty
+  set newValue FlowNodeProperty {..}
+    = FlowNodeProperty {configuration = Prelude.pure newValue, ..}
+instance Property "Inputs" FlowNodeProperty where
+  type PropertyType "Inputs" FlowNodeProperty = [FlowNodeInputProperty]
+  set newValue FlowNodeProperty {..}
+    = FlowNodeProperty {inputs = Prelude.pure newValue, ..}
+instance Property "Name" FlowNodeProperty where
+  type PropertyType "Name" FlowNodeProperty = Value Prelude.Text
+  set newValue FlowNodeProperty {..}
+    = FlowNodeProperty {name = newValue, ..}
+instance Property "Outputs" FlowNodeProperty where
+  type PropertyType "Outputs" FlowNodeProperty = [FlowNodeOutputProperty]
+  set newValue FlowNodeProperty {..}
+    = FlowNodeProperty {outputs = Prelude.pure newValue, ..}
+instance Property "Type" FlowNodeProperty where
+  type PropertyType "Type" FlowNodeProperty = Value Prelude.Text
+  set newValue FlowNodeProperty {..}
+    = FlowNodeProperty {type' = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/FlowNodeProperty.hs-boot b/gen/Stratosphere/Bedrock/FlowVersion/FlowNodeProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/FlowNodeProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.FlowVersion.FlowNodeProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data FlowNodeProperty :: Prelude.Type
+instance ToResourceProperties FlowNodeProperty
+instance Prelude.Eq FlowNodeProperty
+instance Prelude.Show FlowNodeProperty
+instance JSON.ToJSON FlowNodeProperty
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/GuardrailConfigurationProperty.hs b/gen/Stratosphere/Bedrock/FlowVersion/GuardrailConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/GuardrailConfigurationProperty.hs
@@ -0,0 +1,48 @@
+module Stratosphere.Bedrock.FlowVersion.GuardrailConfigurationProperty (
+        GuardrailConfigurationProperty(..),
+        mkGuardrailConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data GuardrailConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-guardrailconfiguration.html>
+    GuardrailConfigurationProperty {haddock_workaround_ :: (),
+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-guardrailconfiguration.html#cfn-bedrock-flowversion-guardrailconfiguration-guardrailidentifier>
+                                    guardrailIdentifier :: (Prelude.Maybe (Value Prelude.Text)),
+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-guardrailconfiguration.html#cfn-bedrock-flowversion-guardrailconfiguration-guardrailversion>
+                                    guardrailVersion :: (Prelude.Maybe (Value Prelude.Text))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkGuardrailConfigurationProperty :: GuardrailConfigurationProperty
+mkGuardrailConfigurationProperty
+  = GuardrailConfigurationProperty
+      {haddock_workaround_ = (), guardrailIdentifier = Prelude.Nothing,
+       guardrailVersion = Prelude.Nothing}
+instance ToResourceProperties GuardrailConfigurationProperty where
+  toResourceProperties GuardrailConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::FlowVersion.GuardrailConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "GuardrailIdentifier" Prelude.<$> guardrailIdentifier,
+                            (JSON..=) "GuardrailVersion" Prelude.<$> guardrailVersion])}
+instance JSON.ToJSON GuardrailConfigurationProperty where
+  toJSON GuardrailConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "GuardrailIdentifier" Prelude.<$> guardrailIdentifier,
+               (JSON..=) "GuardrailVersion" Prelude.<$> guardrailVersion]))
+instance Property "GuardrailIdentifier" GuardrailConfigurationProperty where
+  type PropertyType "GuardrailIdentifier" GuardrailConfigurationProperty = Value Prelude.Text
+  set newValue GuardrailConfigurationProperty {..}
+    = GuardrailConfigurationProperty
+        {guardrailIdentifier = Prelude.pure newValue, ..}
+instance Property "GuardrailVersion" GuardrailConfigurationProperty where
+  type PropertyType "GuardrailVersion" GuardrailConfigurationProperty = Value Prelude.Text
+  set newValue GuardrailConfigurationProperty {..}
+    = GuardrailConfigurationProperty
+        {guardrailVersion = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/GuardrailConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/FlowVersion/GuardrailConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/GuardrailConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.FlowVersion.GuardrailConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data GuardrailConfigurationProperty :: Prelude.Type
+instance ToResourceProperties GuardrailConfigurationProperty
+instance Prelude.Eq GuardrailConfigurationProperty
+instance Prelude.Show GuardrailConfigurationProperty
+instance JSON.ToJSON GuardrailConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/InlineCodeFlowNodeConfigurationProperty.hs b/gen/Stratosphere/Bedrock/FlowVersion/InlineCodeFlowNodeConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/InlineCodeFlowNodeConfigurationProperty.hs
@@ -0,0 +1,40 @@
+module Stratosphere.Bedrock.FlowVersion.InlineCodeFlowNodeConfigurationProperty (
+        InlineCodeFlowNodeConfigurationProperty(..),
+        mkInlineCodeFlowNodeConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data InlineCodeFlowNodeConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-inlinecodeflownodeconfiguration.html>
+    InlineCodeFlowNodeConfigurationProperty {haddock_workaround_ :: (),
+                                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-inlinecodeflownodeconfiguration.html#cfn-bedrock-flowversion-inlinecodeflownodeconfiguration-code>
+                                             code :: (Value Prelude.Text),
+                                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-inlinecodeflownodeconfiguration.html#cfn-bedrock-flowversion-inlinecodeflownodeconfiguration-language>
+                                             language :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkInlineCodeFlowNodeConfigurationProperty ::
+  Value Prelude.Text
+  -> Value Prelude.Text -> InlineCodeFlowNodeConfigurationProperty
+mkInlineCodeFlowNodeConfigurationProperty code language
+  = InlineCodeFlowNodeConfigurationProperty
+      {haddock_workaround_ = (), code = code, language = language}
+instance ToResourceProperties InlineCodeFlowNodeConfigurationProperty where
+  toResourceProperties InlineCodeFlowNodeConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::FlowVersion.InlineCodeFlowNodeConfiguration",
+         supportsTags = Prelude.False,
+         properties = ["Code" JSON..= code, "Language" JSON..= language]}
+instance JSON.ToJSON InlineCodeFlowNodeConfigurationProperty where
+  toJSON InlineCodeFlowNodeConfigurationProperty {..}
+    = JSON.object ["Code" JSON..= code, "Language" JSON..= language]
+instance Property "Code" InlineCodeFlowNodeConfigurationProperty where
+  type PropertyType "Code" InlineCodeFlowNodeConfigurationProperty = Value Prelude.Text
+  set newValue InlineCodeFlowNodeConfigurationProperty {..}
+    = InlineCodeFlowNodeConfigurationProperty {code = newValue, ..}
+instance Property "Language" InlineCodeFlowNodeConfigurationProperty where
+  type PropertyType "Language" InlineCodeFlowNodeConfigurationProperty = Value Prelude.Text
+  set newValue InlineCodeFlowNodeConfigurationProperty {..}
+    = InlineCodeFlowNodeConfigurationProperty {language = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/InlineCodeFlowNodeConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/FlowVersion/InlineCodeFlowNodeConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/InlineCodeFlowNodeConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.FlowVersion.InlineCodeFlowNodeConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data InlineCodeFlowNodeConfigurationProperty :: Prelude.Type
+instance ToResourceProperties InlineCodeFlowNodeConfigurationProperty
+instance Prelude.Eq InlineCodeFlowNodeConfigurationProperty
+instance Prelude.Show InlineCodeFlowNodeConfigurationProperty
+instance JSON.ToJSON InlineCodeFlowNodeConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/KnowledgeBaseFlowNodeConfigurationProperty.hs b/gen/Stratosphere/Bedrock/FlowVersion/KnowledgeBaseFlowNodeConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/KnowledgeBaseFlowNodeConfigurationProperty.hs
@@ -0,0 +1,124 @@
+module Stratosphere.Bedrock.FlowVersion.KnowledgeBaseFlowNodeConfigurationProperty (
+        module Exports, KnowledgeBaseFlowNodeConfigurationProperty(..),
+        mkKnowledgeBaseFlowNodeConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.FlowVersion.GuardrailConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.FlowVersion.KnowledgeBaseOrchestrationConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.FlowVersion.KnowledgeBasePromptTemplateProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.FlowVersion.PromptInferenceConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.FlowVersion.VectorSearchRerankingConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data KnowledgeBaseFlowNodeConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-knowledgebaseflownodeconfiguration.html>
+    KnowledgeBaseFlowNodeConfigurationProperty {haddock_workaround_ :: (),
+                                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-knowledgebaseflownodeconfiguration.html#cfn-bedrock-flowversion-knowledgebaseflownodeconfiguration-guardrailconfiguration>
+                                                guardrailConfiguration :: (Prelude.Maybe GuardrailConfigurationProperty),
+                                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-knowledgebaseflownodeconfiguration.html#cfn-bedrock-flowversion-knowledgebaseflownodeconfiguration-inferenceconfiguration>
+                                                inferenceConfiguration :: (Prelude.Maybe PromptInferenceConfigurationProperty),
+                                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-knowledgebaseflownodeconfiguration.html#cfn-bedrock-flowversion-knowledgebaseflownodeconfiguration-knowledgebaseid>
+                                                knowledgeBaseId :: (Value Prelude.Text),
+                                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-knowledgebaseflownodeconfiguration.html#cfn-bedrock-flowversion-knowledgebaseflownodeconfiguration-modelid>
+                                                modelId :: (Prelude.Maybe (Value Prelude.Text)),
+                                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-knowledgebaseflownodeconfiguration.html#cfn-bedrock-flowversion-knowledgebaseflownodeconfiguration-numberofresults>
+                                                numberOfResults :: (Prelude.Maybe (Value Prelude.Double)),
+                                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-knowledgebaseflownodeconfiguration.html#cfn-bedrock-flowversion-knowledgebaseflownodeconfiguration-orchestrationconfiguration>
+                                                orchestrationConfiguration :: (Prelude.Maybe KnowledgeBaseOrchestrationConfigurationProperty),
+                                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-knowledgebaseflownodeconfiguration.html#cfn-bedrock-flowversion-knowledgebaseflownodeconfiguration-prompttemplate>
+                                                promptTemplate :: (Prelude.Maybe KnowledgeBasePromptTemplateProperty),
+                                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-knowledgebaseflownodeconfiguration.html#cfn-bedrock-flowversion-knowledgebaseflownodeconfiguration-rerankingconfiguration>
+                                                rerankingConfiguration :: (Prelude.Maybe VectorSearchRerankingConfigurationProperty)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkKnowledgeBaseFlowNodeConfigurationProperty ::
+  Value Prelude.Text -> KnowledgeBaseFlowNodeConfigurationProperty
+mkKnowledgeBaseFlowNodeConfigurationProperty knowledgeBaseId
+  = KnowledgeBaseFlowNodeConfigurationProperty
+      {haddock_workaround_ = (), knowledgeBaseId = knowledgeBaseId,
+       guardrailConfiguration = Prelude.Nothing,
+       inferenceConfiguration = Prelude.Nothing,
+       modelId = Prelude.Nothing, numberOfResults = Prelude.Nothing,
+       orchestrationConfiguration = Prelude.Nothing,
+       promptTemplate = Prelude.Nothing,
+       rerankingConfiguration = Prelude.Nothing}
+instance ToResourceProperties KnowledgeBaseFlowNodeConfigurationProperty where
+  toResourceProperties
+    KnowledgeBaseFlowNodeConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::FlowVersion.KnowledgeBaseFlowNodeConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["KnowledgeBaseId" JSON..= knowledgeBaseId]
+                           (Prelude.catMaybes
+                              [(JSON..=) "GuardrailConfiguration"
+                                 Prelude.<$> guardrailConfiguration,
+                               (JSON..=) "InferenceConfiguration"
+                                 Prelude.<$> inferenceConfiguration,
+                               (JSON..=) "ModelId" Prelude.<$> modelId,
+                               (JSON..=) "NumberOfResults" Prelude.<$> numberOfResults,
+                               (JSON..=) "OrchestrationConfiguration"
+                                 Prelude.<$> orchestrationConfiguration,
+                               (JSON..=) "PromptTemplate" Prelude.<$> promptTemplate,
+                               (JSON..=) "RerankingConfiguration"
+                                 Prelude.<$> rerankingConfiguration]))}
+instance JSON.ToJSON KnowledgeBaseFlowNodeConfigurationProperty where
+  toJSON KnowledgeBaseFlowNodeConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["KnowledgeBaseId" JSON..= knowledgeBaseId]
+              (Prelude.catMaybes
+                 [(JSON..=) "GuardrailConfiguration"
+                    Prelude.<$> guardrailConfiguration,
+                  (JSON..=) "InferenceConfiguration"
+                    Prelude.<$> inferenceConfiguration,
+                  (JSON..=) "ModelId" Prelude.<$> modelId,
+                  (JSON..=) "NumberOfResults" Prelude.<$> numberOfResults,
+                  (JSON..=) "OrchestrationConfiguration"
+                    Prelude.<$> orchestrationConfiguration,
+                  (JSON..=) "PromptTemplate" Prelude.<$> promptTemplate,
+                  (JSON..=) "RerankingConfiguration"
+                    Prelude.<$> rerankingConfiguration])))
+instance Property "GuardrailConfiguration" KnowledgeBaseFlowNodeConfigurationProperty where
+  type PropertyType "GuardrailConfiguration" KnowledgeBaseFlowNodeConfigurationProperty = GuardrailConfigurationProperty
+  set newValue KnowledgeBaseFlowNodeConfigurationProperty {..}
+    = KnowledgeBaseFlowNodeConfigurationProperty
+        {guardrailConfiguration = Prelude.pure newValue, ..}
+instance Property "InferenceConfiguration" KnowledgeBaseFlowNodeConfigurationProperty where
+  type PropertyType "InferenceConfiguration" KnowledgeBaseFlowNodeConfigurationProperty = PromptInferenceConfigurationProperty
+  set newValue KnowledgeBaseFlowNodeConfigurationProperty {..}
+    = KnowledgeBaseFlowNodeConfigurationProperty
+        {inferenceConfiguration = Prelude.pure newValue, ..}
+instance Property "KnowledgeBaseId" KnowledgeBaseFlowNodeConfigurationProperty where
+  type PropertyType "KnowledgeBaseId" KnowledgeBaseFlowNodeConfigurationProperty = Value Prelude.Text
+  set newValue KnowledgeBaseFlowNodeConfigurationProperty {..}
+    = KnowledgeBaseFlowNodeConfigurationProperty
+        {knowledgeBaseId = newValue, ..}
+instance Property "ModelId" KnowledgeBaseFlowNodeConfigurationProperty where
+  type PropertyType "ModelId" KnowledgeBaseFlowNodeConfigurationProperty = Value Prelude.Text
+  set newValue KnowledgeBaseFlowNodeConfigurationProperty {..}
+    = KnowledgeBaseFlowNodeConfigurationProperty
+        {modelId = Prelude.pure newValue, ..}
+instance Property "NumberOfResults" KnowledgeBaseFlowNodeConfigurationProperty where
+  type PropertyType "NumberOfResults" KnowledgeBaseFlowNodeConfigurationProperty = Value Prelude.Double
+  set newValue KnowledgeBaseFlowNodeConfigurationProperty {..}
+    = KnowledgeBaseFlowNodeConfigurationProperty
+        {numberOfResults = Prelude.pure newValue, ..}
+instance Property "OrchestrationConfiguration" KnowledgeBaseFlowNodeConfigurationProperty where
+  type PropertyType "OrchestrationConfiguration" KnowledgeBaseFlowNodeConfigurationProperty = KnowledgeBaseOrchestrationConfigurationProperty
+  set newValue KnowledgeBaseFlowNodeConfigurationProperty {..}
+    = KnowledgeBaseFlowNodeConfigurationProperty
+        {orchestrationConfiguration = Prelude.pure newValue, ..}
+instance Property "PromptTemplate" KnowledgeBaseFlowNodeConfigurationProperty where
+  type PropertyType "PromptTemplate" KnowledgeBaseFlowNodeConfigurationProperty = KnowledgeBasePromptTemplateProperty
+  set newValue KnowledgeBaseFlowNodeConfigurationProperty {..}
+    = KnowledgeBaseFlowNodeConfigurationProperty
+        {promptTemplate = Prelude.pure newValue, ..}
+instance Property "RerankingConfiguration" KnowledgeBaseFlowNodeConfigurationProperty where
+  type PropertyType "RerankingConfiguration" KnowledgeBaseFlowNodeConfigurationProperty = VectorSearchRerankingConfigurationProperty
+  set newValue KnowledgeBaseFlowNodeConfigurationProperty {..}
+    = KnowledgeBaseFlowNodeConfigurationProperty
+        {rerankingConfiguration = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/KnowledgeBaseFlowNodeConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/FlowVersion/KnowledgeBaseFlowNodeConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/KnowledgeBaseFlowNodeConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.FlowVersion.KnowledgeBaseFlowNodeConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data KnowledgeBaseFlowNodeConfigurationProperty :: Prelude.Type
+instance ToResourceProperties KnowledgeBaseFlowNodeConfigurationProperty
+instance Prelude.Eq KnowledgeBaseFlowNodeConfigurationProperty
+instance Prelude.Show KnowledgeBaseFlowNodeConfigurationProperty
+instance JSON.ToJSON KnowledgeBaseFlowNodeConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/KnowledgeBaseOrchestrationConfigurationProperty.hs b/gen/Stratosphere/Bedrock/FlowVersion/KnowledgeBaseOrchestrationConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/KnowledgeBaseOrchestrationConfigurationProperty.hs
@@ -0,0 +1,76 @@
+module Stratosphere.Bedrock.FlowVersion.KnowledgeBaseOrchestrationConfigurationProperty (
+        module Exports,
+        KnowledgeBaseOrchestrationConfigurationProperty(..),
+        mkKnowledgeBaseOrchestrationConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.FlowVersion.KnowledgeBasePromptTemplateProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.FlowVersion.PerformanceConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.FlowVersion.PromptInferenceConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+data KnowledgeBaseOrchestrationConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-knowledgebaseorchestrationconfiguration.html>
+    KnowledgeBaseOrchestrationConfigurationProperty {haddock_workaround_ :: (),
+                                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-knowledgebaseorchestrationconfiguration.html#cfn-bedrock-flowversion-knowledgebaseorchestrationconfiguration-additionalmodelrequestfields>
+                                                     additionalModelRequestFields :: (Prelude.Maybe JSON.Object),
+                                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-knowledgebaseorchestrationconfiguration.html#cfn-bedrock-flowversion-knowledgebaseorchestrationconfiguration-inferenceconfig>
+                                                     inferenceConfig :: (Prelude.Maybe PromptInferenceConfigurationProperty),
+                                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-knowledgebaseorchestrationconfiguration.html#cfn-bedrock-flowversion-knowledgebaseorchestrationconfiguration-performanceconfig>
+                                                     performanceConfig :: (Prelude.Maybe PerformanceConfigurationProperty),
+                                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-knowledgebaseorchestrationconfiguration.html#cfn-bedrock-flowversion-knowledgebaseorchestrationconfiguration-prompttemplate>
+                                                     promptTemplate :: (Prelude.Maybe KnowledgeBasePromptTemplateProperty)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkKnowledgeBaseOrchestrationConfigurationProperty ::
+  KnowledgeBaseOrchestrationConfigurationProperty
+mkKnowledgeBaseOrchestrationConfigurationProperty
+  = KnowledgeBaseOrchestrationConfigurationProperty
+      {haddock_workaround_ = (),
+       additionalModelRequestFields = Prelude.Nothing,
+       inferenceConfig = Prelude.Nothing,
+       performanceConfig = Prelude.Nothing,
+       promptTemplate = Prelude.Nothing}
+instance ToResourceProperties KnowledgeBaseOrchestrationConfigurationProperty where
+  toResourceProperties
+    KnowledgeBaseOrchestrationConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::FlowVersion.KnowledgeBaseOrchestrationConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "AdditionalModelRequestFields"
+                              Prelude.<$> additionalModelRequestFields,
+                            (JSON..=) "InferenceConfig" Prelude.<$> inferenceConfig,
+                            (JSON..=) "PerformanceConfig" Prelude.<$> performanceConfig,
+                            (JSON..=) "PromptTemplate" Prelude.<$> promptTemplate])}
+instance JSON.ToJSON KnowledgeBaseOrchestrationConfigurationProperty where
+  toJSON KnowledgeBaseOrchestrationConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "AdditionalModelRequestFields"
+                 Prelude.<$> additionalModelRequestFields,
+               (JSON..=) "InferenceConfig" Prelude.<$> inferenceConfig,
+               (JSON..=) "PerformanceConfig" Prelude.<$> performanceConfig,
+               (JSON..=) "PromptTemplate" Prelude.<$> promptTemplate]))
+instance Property "AdditionalModelRequestFields" KnowledgeBaseOrchestrationConfigurationProperty where
+  type PropertyType "AdditionalModelRequestFields" KnowledgeBaseOrchestrationConfigurationProperty = JSON.Object
+  set newValue KnowledgeBaseOrchestrationConfigurationProperty {..}
+    = KnowledgeBaseOrchestrationConfigurationProperty
+        {additionalModelRequestFields = Prelude.pure newValue, ..}
+instance Property "InferenceConfig" KnowledgeBaseOrchestrationConfigurationProperty where
+  type PropertyType "InferenceConfig" KnowledgeBaseOrchestrationConfigurationProperty = PromptInferenceConfigurationProperty
+  set newValue KnowledgeBaseOrchestrationConfigurationProperty {..}
+    = KnowledgeBaseOrchestrationConfigurationProperty
+        {inferenceConfig = Prelude.pure newValue, ..}
+instance Property "PerformanceConfig" KnowledgeBaseOrchestrationConfigurationProperty where
+  type PropertyType "PerformanceConfig" KnowledgeBaseOrchestrationConfigurationProperty = PerformanceConfigurationProperty
+  set newValue KnowledgeBaseOrchestrationConfigurationProperty {..}
+    = KnowledgeBaseOrchestrationConfigurationProperty
+        {performanceConfig = Prelude.pure newValue, ..}
+instance Property "PromptTemplate" KnowledgeBaseOrchestrationConfigurationProperty where
+  type PropertyType "PromptTemplate" KnowledgeBaseOrchestrationConfigurationProperty = KnowledgeBasePromptTemplateProperty
+  set newValue KnowledgeBaseOrchestrationConfigurationProperty {..}
+    = KnowledgeBaseOrchestrationConfigurationProperty
+        {promptTemplate = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/KnowledgeBaseOrchestrationConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/FlowVersion/KnowledgeBaseOrchestrationConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/KnowledgeBaseOrchestrationConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.FlowVersion.KnowledgeBaseOrchestrationConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data KnowledgeBaseOrchestrationConfigurationProperty :: Prelude.Type
+instance ToResourceProperties KnowledgeBaseOrchestrationConfigurationProperty
+instance Prelude.Eq KnowledgeBaseOrchestrationConfigurationProperty
+instance Prelude.Show KnowledgeBaseOrchestrationConfigurationProperty
+instance JSON.ToJSON KnowledgeBaseOrchestrationConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/KnowledgeBasePromptTemplateProperty.hs b/gen/Stratosphere/Bedrock/FlowVersion/KnowledgeBasePromptTemplateProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/KnowledgeBasePromptTemplateProperty.hs
@@ -0,0 +1,34 @@
+module Stratosphere.Bedrock.FlowVersion.KnowledgeBasePromptTemplateProperty (
+        KnowledgeBasePromptTemplateProperty(..),
+        mkKnowledgeBasePromptTemplateProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data KnowledgeBasePromptTemplateProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-knowledgebaseprompttemplate.html>
+    KnowledgeBasePromptTemplateProperty {haddock_workaround_ :: (),
+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-knowledgebaseprompttemplate.html#cfn-bedrock-flowversion-knowledgebaseprompttemplate-textprompttemplate>
+                                         textPromptTemplate :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkKnowledgeBasePromptTemplateProperty ::
+  Value Prelude.Text -> KnowledgeBasePromptTemplateProperty
+mkKnowledgeBasePromptTemplateProperty textPromptTemplate
+  = KnowledgeBasePromptTemplateProperty
+      {haddock_workaround_ = (), textPromptTemplate = textPromptTemplate}
+instance ToResourceProperties KnowledgeBasePromptTemplateProperty where
+  toResourceProperties KnowledgeBasePromptTemplateProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::FlowVersion.KnowledgeBasePromptTemplate",
+         supportsTags = Prelude.False,
+         properties = ["TextPromptTemplate" JSON..= textPromptTemplate]}
+instance JSON.ToJSON KnowledgeBasePromptTemplateProperty where
+  toJSON KnowledgeBasePromptTemplateProperty {..}
+    = JSON.object ["TextPromptTemplate" JSON..= textPromptTemplate]
+instance Property "TextPromptTemplate" KnowledgeBasePromptTemplateProperty where
+  type PropertyType "TextPromptTemplate" KnowledgeBasePromptTemplateProperty = Value Prelude.Text
+  set newValue KnowledgeBasePromptTemplateProperty {..}
+    = KnowledgeBasePromptTemplateProperty
+        {textPromptTemplate = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/KnowledgeBasePromptTemplateProperty.hs-boot b/gen/Stratosphere/Bedrock/FlowVersion/KnowledgeBasePromptTemplateProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/KnowledgeBasePromptTemplateProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.FlowVersion.KnowledgeBasePromptTemplateProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data KnowledgeBasePromptTemplateProperty :: Prelude.Type
+instance ToResourceProperties KnowledgeBasePromptTemplateProperty
+instance Prelude.Eq KnowledgeBasePromptTemplateProperty
+instance Prelude.Show KnowledgeBasePromptTemplateProperty
+instance JSON.ToJSON KnowledgeBasePromptTemplateProperty
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/LambdaFunctionFlowNodeConfigurationProperty.hs b/gen/Stratosphere/Bedrock/FlowVersion/LambdaFunctionFlowNodeConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/LambdaFunctionFlowNodeConfigurationProperty.hs
@@ -0,0 +1,35 @@
+module Stratosphere.Bedrock.FlowVersion.LambdaFunctionFlowNodeConfigurationProperty (
+        LambdaFunctionFlowNodeConfigurationProperty(..),
+        mkLambdaFunctionFlowNodeConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data LambdaFunctionFlowNodeConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-lambdafunctionflownodeconfiguration.html>
+    LambdaFunctionFlowNodeConfigurationProperty {haddock_workaround_ :: (),
+                                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-lambdafunctionflownodeconfiguration.html#cfn-bedrock-flowversion-lambdafunctionflownodeconfiguration-lambdaarn>
+                                                 lambdaArn :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkLambdaFunctionFlowNodeConfigurationProperty ::
+  Value Prelude.Text -> LambdaFunctionFlowNodeConfigurationProperty
+mkLambdaFunctionFlowNodeConfigurationProperty lambdaArn
+  = LambdaFunctionFlowNodeConfigurationProperty
+      {haddock_workaround_ = (), lambdaArn = lambdaArn}
+instance ToResourceProperties LambdaFunctionFlowNodeConfigurationProperty where
+  toResourceProperties
+    LambdaFunctionFlowNodeConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::FlowVersion.LambdaFunctionFlowNodeConfiguration",
+         supportsTags = Prelude.False,
+         properties = ["LambdaArn" JSON..= lambdaArn]}
+instance JSON.ToJSON LambdaFunctionFlowNodeConfigurationProperty where
+  toJSON LambdaFunctionFlowNodeConfigurationProperty {..}
+    = JSON.object ["LambdaArn" JSON..= lambdaArn]
+instance Property "LambdaArn" LambdaFunctionFlowNodeConfigurationProperty where
+  type PropertyType "LambdaArn" LambdaFunctionFlowNodeConfigurationProperty = Value Prelude.Text
+  set newValue LambdaFunctionFlowNodeConfigurationProperty {..}
+    = LambdaFunctionFlowNodeConfigurationProperty
+        {lambdaArn = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/LambdaFunctionFlowNodeConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/FlowVersion/LambdaFunctionFlowNodeConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/LambdaFunctionFlowNodeConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.FlowVersion.LambdaFunctionFlowNodeConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data LambdaFunctionFlowNodeConfigurationProperty :: Prelude.Type
+instance ToResourceProperties LambdaFunctionFlowNodeConfigurationProperty
+instance Prelude.Eq LambdaFunctionFlowNodeConfigurationProperty
+instance Prelude.Show LambdaFunctionFlowNodeConfigurationProperty
+instance JSON.ToJSON LambdaFunctionFlowNodeConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/LexFlowNodeConfigurationProperty.hs b/gen/Stratosphere/Bedrock/FlowVersion/LexFlowNodeConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/LexFlowNodeConfigurationProperty.hs
@@ -0,0 +1,43 @@
+module Stratosphere.Bedrock.FlowVersion.LexFlowNodeConfigurationProperty (
+        LexFlowNodeConfigurationProperty(..),
+        mkLexFlowNodeConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data LexFlowNodeConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-lexflownodeconfiguration.html>
+    LexFlowNodeConfigurationProperty {haddock_workaround_ :: (),
+                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-lexflownodeconfiguration.html#cfn-bedrock-flowversion-lexflownodeconfiguration-botaliasarn>
+                                      botAliasArn :: (Value Prelude.Text),
+                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-lexflownodeconfiguration.html#cfn-bedrock-flowversion-lexflownodeconfiguration-localeid>
+                                      localeId :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkLexFlowNodeConfigurationProperty ::
+  Value Prelude.Text
+  -> Value Prelude.Text -> LexFlowNodeConfigurationProperty
+mkLexFlowNodeConfigurationProperty botAliasArn localeId
+  = LexFlowNodeConfigurationProperty
+      {haddock_workaround_ = (), botAliasArn = botAliasArn,
+       localeId = localeId}
+instance ToResourceProperties LexFlowNodeConfigurationProperty where
+  toResourceProperties LexFlowNodeConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::FlowVersion.LexFlowNodeConfiguration",
+         supportsTags = Prelude.False,
+         properties = ["BotAliasArn" JSON..= botAliasArn,
+                       "LocaleId" JSON..= localeId]}
+instance JSON.ToJSON LexFlowNodeConfigurationProperty where
+  toJSON LexFlowNodeConfigurationProperty {..}
+    = JSON.object
+        ["BotAliasArn" JSON..= botAliasArn, "LocaleId" JSON..= localeId]
+instance Property "BotAliasArn" LexFlowNodeConfigurationProperty where
+  type PropertyType "BotAliasArn" LexFlowNodeConfigurationProperty = Value Prelude.Text
+  set newValue LexFlowNodeConfigurationProperty {..}
+    = LexFlowNodeConfigurationProperty {botAliasArn = newValue, ..}
+instance Property "LocaleId" LexFlowNodeConfigurationProperty where
+  type PropertyType "LocaleId" LexFlowNodeConfigurationProperty = Value Prelude.Text
+  set newValue LexFlowNodeConfigurationProperty {..}
+    = LexFlowNodeConfigurationProperty {localeId = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/LexFlowNodeConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/FlowVersion/LexFlowNodeConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/LexFlowNodeConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.FlowVersion.LexFlowNodeConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data LexFlowNodeConfigurationProperty :: Prelude.Type
+instance ToResourceProperties LexFlowNodeConfigurationProperty
+instance Prelude.Eq LexFlowNodeConfigurationProperty
+instance Prelude.Show LexFlowNodeConfigurationProperty
+instance JSON.ToJSON LexFlowNodeConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/LoopControllerFlowNodeConfigurationProperty.hs b/gen/Stratosphere/Bedrock/FlowVersion/LoopControllerFlowNodeConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/LoopControllerFlowNodeConfigurationProperty.hs
@@ -0,0 +1,54 @@
+module Stratosphere.Bedrock.FlowVersion.LoopControllerFlowNodeConfigurationProperty (
+        module Exports, LoopControllerFlowNodeConfigurationProperty(..),
+        mkLoopControllerFlowNodeConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.FlowVersion.FlowConditionProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data LoopControllerFlowNodeConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-loopcontrollerflownodeconfiguration.html>
+    LoopControllerFlowNodeConfigurationProperty {haddock_workaround_ :: (),
+                                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-loopcontrollerflownodeconfiguration.html#cfn-bedrock-flowversion-loopcontrollerflownodeconfiguration-continuecondition>
+                                                 continueCondition :: FlowConditionProperty,
+                                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-loopcontrollerflownodeconfiguration.html#cfn-bedrock-flowversion-loopcontrollerflownodeconfiguration-maxiterations>
+                                                 maxIterations :: (Prelude.Maybe (Value Prelude.Double))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkLoopControllerFlowNodeConfigurationProperty ::
+  FlowConditionProperty
+  -> LoopControllerFlowNodeConfigurationProperty
+mkLoopControllerFlowNodeConfigurationProperty continueCondition
+  = LoopControllerFlowNodeConfigurationProperty
+      {haddock_workaround_ = (), continueCondition = continueCondition,
+       maxIterations = Prelude.Nothing}
+instance ToResourceProperties LoopControllerFlowNodeConfigurationProperty where
+  toResourceProperties
+    LoopControllerFlowNodeConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::FlowVersion.LoopControllerFlowNodeConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["ContinueCondition" JSON..= continueCondition]
+                           (Prelude.catMaybes
+                              [(JSON..=) "MaxIterations" Prelude.<$> maxIterations]))}
+instance JSON.ToJSON LoopControllerFlowNodeConfigurationProperty where
+  toJSON LoopControllerFlowNodeConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["ContinueCondition" JSON..= continueCondition]
+              (Prelude.catMaybes
+                 [(JSON..=) "MaxIterations" Prelude.<$> maxIterations])))
+instance Property "ContinueCondition" LoopControllerFlowNodeConfigurationProperty where
+  type PropertyType "ContinueCondition" LoopControllerFlowNodeConfigurationProperty = FlowConditionProperty
+  set newValue LoopControllerFlowNodeConfigurationProperty {..}
+    = LoopControllerFlowNodeConfigurationProperty
+        {continueCondition = newValue, ..}
+instance Property "MaxIterations" LoopControllerFlowNodeConfigurationProperty where
+  type PropertyType "MaxIterations" LoopControllerFlowNodeConfigurationProperty = Value Prelude.Double
+  set newValue LoopControllerFlowNodeConfigurationProperty {..}
+    = LoopControllerFlowNodeConfigurationProperty
+        {maxIterations = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/LoopControllerFlowNodeConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/FlowVersion/LoopControllerFlowNodeConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/LoopControllerFlowNodeConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.FlowVersion.LoopControllerFlowNodeConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data LoopControllerFlowNodeConfigurationProperty :: Prelude.Type
+instance ToResourceProperties LoopControllerFlowNodeConfigurationProperty
+instance Prelude.Eq LoopControllerFlowNodeConfigurationProperty
+instance Prelude.Show LoopControllerFlowNodeConfigurationProperty
+instance JSON.ToJSON LoopControllerFlowNodeConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/LoopFlowNodeConfigurationProperty.hs b/gen/Stratosphere/Bedrock/FlowVersion/LoopFlowNodeConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/LoopFlowNodeConfigurationProperty.hs
@@ -0,0 +1,33 @@
+module Stratosphere.Bedrock.FlowVersion.LoopFlowNodeConfigurationProperty (
+        module Exports, LoopFlowNodeConfigurationProperty(..),
+        mkLoopFlowNodeConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.FlowVersion.FlowDefinitionProperty as Exports
+import Stratosphere.ResourceProperties
+data LoopFlowNodeConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-loopflownodeconfiguration.html>
+    LoopFlowNodeConfigurationProperty {haddock_workaround_ :: (),
+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-loopflownodeconfiguration.html#cfn-bedrock-flowversion-loopflownodeconfiguration-definition>
+                                       definition :: FlowDefinitionProperty}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkLoopFlowNodeConfigurationProperty ::
+  FlowDefinitionProperty -> LoopFlowNodeConfigurationProperty
+mkLoopFlowNodeConfigurationProperty definition
+  = LoopFlowNodeConfigurationProperty
+      {haddock_workaround_ = (), definition = definition}
+instance ToResourceProperties LoopFlowNodeConfigurationProperty where
+  toResourceProperties LoopFlowNodeConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::FlowVersion.LoopFlowNodeConfiguration",
+         supportsTags = Prelude.False,
+         properties = ["Definition" JSON..= definition]}
+instance JSON.ToJSON LoopFlowNodeConfigurationProperty where
+  toJSON LoopFlowNodeConfigurationProperty {..}
+    = JSON.object ["Definition" JSON..= definition]
+instance Property "Definition" LoopFlowNodeConfigurationProperty where
+  type PropertyType "Definition" LoopFlowNodeConfigurationProperty = FlowDefinitionProperty
+  set newValue LoopFlowNodeConfigurationProperty {..}
+    = LoopFlowNodeConfigurationProperty {definition = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/LoopFlowNodeConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/FlowVersion/LoopFlowNodeConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/LoopFlowNodeConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.FlowVersion.LoopFlowNodeConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data LoopFlowNodeConfigurationProperty :: Prelude.Type
+instance ToResourceProperties LoopFlowNodeConfigurationProperty
+instance Prelude.Eq LoopFlowNodeConfigurationProperty
+instance Prelude.Show LoopFlowNodeConfigurationProperty
+instance JSON.ToJSON LoopFlowNodeConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/MetadataConfigurationForRerankingProperty.hs b/gen/Stratosphere/Bedrock/FlowVersion/MetadataConfigurationForRerankingProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/MetadataConfigurationForRerankingProperty.hs
@@ -0,0 +1,54 @@
+module Stratosphere.Bedrock.FlowVersion.MetadataConfigurationForRerankingProperty (
+        module Exports, MetadataConfigurationForRerankingProperty(..),
+        mkMetadataConfigurationForRerankingProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.FlowVersion.RerankingMetadataSelectiveModeConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data MetadataConfigurationForRerankingProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-metadataconfigurationforreranking.html>
+    MetadataConfigurationForRerankingProperty {haddock_workaround_ :: (),
+                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-metadataconfigurationforreranking.html#cfn-bedrock-flowversion-metadataconfigurationforreranking-selectionmode>
+                                               selectionMode :: (Value Prelude.Text),
+                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-metadataconfigurationforreranking.html#cfn-bedrock-flowversion-metadataconfigurationforreranking-selectivemodeconfiguration>
+                                               selectiveModeConfiguration :: (Prelude.Maybe RerankingMetadataSelectiveModeConfigurationProperty)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkMetadataConfigurationForRerankingProperty ::
+  Value Prelude.Text -> MetadataConfigurationForRerankingProperty
+mkMetadataConfigurationForRerankingProperty selectionMode
+  = MetadataConfigurationForRerankingProperty
+      {haddock_workaround_ = (), selectionMode = selectionMode,
+       selectiveModeConfiguration = Prelude.Nothing}
+instance ToResourceProperties MetadataConfigurationForRerankingProperty where
+  toResourceProperties MetadataConfigurationForRerankingProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::FlowVersion.MetadataConfigurationForReranking",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["SelectionMode" JSON..= selectionMode]
+                           (Prelude.catMaybes
+                              [(JSON..=) "SelectiveModeConfiguration"
+                                 Prelude.<$> selectiveModeConfiguration]))}
+instance JSON.ToJSON MetadataConfigurationForRerankingProperty where
+  toJSON MetadataConfigurationForRerankingProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["SelectionMode" JSON..= selectionMode]
+              (Prelude.catMaybes
+                 [(JSON..=) "SelectiveModeConfiguration"
+                    Prelude.<$> selectiveModeConfiguration])))
+instance Property "SelectionMode" MetadataConfigurationForRerankingProperty where
+  type PropertyType "SelectionMode" MetadataConfigurationForRerankingProperty = Value Prelude.Text
+  set newValue MetadataConfigurationForRerankingProperty {..}
+    = MetadataConfigurationForRerankingProperty
+        {selectionMode = newValue, ..}
+instance Property "SelectiveModeConfiguration" MetadataConfigurationForRerankingProperty where
+  type PropertyType "SelectiveModeConfiguration" MetadataConfigurationForRerankingProperty = RerankingMetadataSelectiveModeConfigurationProperty
+  set newValue MetadataConfigurationForRerankingProperty {..}
+    = MetadataConfigurationForRerankingProperty
+        {selectiveModeConfiguration = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/MetadataConfigurationForRerankingProperty.hs-boot b/gen/Stratosphere/Bedrock/FlowVersion/MetadataConfigurationForRerankingProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/MetadataConfigurationForRerankingProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.FlowVersion.MetadataConfigurationForRerankingProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data MetadataConfigurationForRerankingProperty :: Prelude.Type
+instance ToResourceProperties MetadataConfigurationForRerankingProperty
+instance Prelude.Eq MetadataConfigurationForRerankingProperty
+instance Prelude.Show MetadataConfigurationForRerankingProperty
+instance JSON.ToJSON MetadataConfigurationForRerankingProperty
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/PerformanceConfigurationProperty.hs b/gen/Stratosphere/Bedrock/FlowVersion/PerformanceConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/PerformanceConfigurationProperty.hs
@@ -0,0 +1,37 @@
+module Stratosphere.Bedrock.FlowVersion.PerformanceConfigurationProperty (
+        PerformanceConfigurationProperty(..),
+        mkPerformanceConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data PerformanceConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-performanceconfiguration.html>
+    PerformanceConfigurationProperty {haddock_workaround_ :: (),
+                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-performanceconfiguration.html#cfn-bedrock-flowversion-performanceconfiguration-latency>
+                                      latency :: (Prelude.Maybe (Value Prelude.Text))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkPerformanceConfigurationProperty ::
+  PerformanceConfigurationProperty
+mkPerformanceConfigurationProperty
+  = PerformanceConfigurationProperty
+      {haddock_workaround_ = (), latency = Prelude.Nothing}
+instance ToResourceProperties PerformanceConfigurationProperty where
+  toResourceProperties PerformanceConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::FlowVersion.PerformanceConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes [(JSON..=) "Latency" Prelude.<$> latency])}
+instance JSON.ToJSON PerformanceConfigurationProperty where
+  toJSON PerformanceConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes [(JSON..=) "Latency" Prelude.<$> latency]))
+instance Property "Latency" PerformanceConfigurationProperty where
+  type PropertyType "Latency" PerformanceConfigurationProperty = Value Prelude.Text
+  set newValue PerformanceConfigurationProperty {..}
+    = PerformanceConfigurationProperty
+        {latency = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/PerformanceConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/FlowVersion/PerformanceConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/PerformanceConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.FlowVersion.PerformanceConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data PerformanceConfigurationProperty :: Prelude.Type
+instance ToResourceProperties PerformanceConfigurationProperty
+instance Prelude.Eq PerformanceConfigurationProperty
+instance Prelude.Show PerformanceConfigurationProperty
+instance JSON.ToJSON PerformanceConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/PromptFlowNodeConfigurationProperty.hs b/gen/Stratosphere/Bedrock/FlowVersion/PromptFlowNodeConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/PromptFlowNodeConfigurationProperty.hs
@@ -0,0 +1,56 @@
+module Stratosphere.Bedrock.FlowVersion.PromptFlowNodeConfigurationProperty (
+        module Exports, PromptFlowNodeConfigurationProperty(..),
+        mkPromptFlowNodeConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.FlowVersion.GuardrailConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.FlowVersion.PromptFlowNodeSourceConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+data PromptFlowNodeConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-promptflownodeconfiguration.html>
+    PromptFlowNodeConfigurationProperty {haddock_workaround_ :: (),
+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-promptflownodeconfiguration.html#cfn-bedrock-flowversion-promptflownodeconfiguration-guardrailconfiguration>
+                                         guardrailConfiguration :: (Prelude.Maybe GuardrailConfigurationProperty),
+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-promptflownodeconfiguration.html#cfn-bedrock-flowversion-promptflownodeconfiguration-sourceconfiguration>
+                                         sourceConfiguration :: PromptFlowNodeSourceConfigurationProperty}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkPromptFlowNodeConfigurationProperty ::
+  PromptFlowNodeSourceConfigurationProperty
+  -> PromptFlowNodeConfigurationProperty
+mkPromptFlowNodeConfigurationProperty sourceConfiguration
+  = PromptFlowNodeConfigurationProperty
+      {haddock_workaround_ = (),
+       sourceConfiguration = sourceConfiguration,
+       guardrailConfiguration = Prelude.Nothing}
+instance ToResourceProperties PromptFlowNodeConfigurationProperty where
+  toResourceProperties PromptFlowNodeConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::FlowVersion.PromptFlowNodeConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["SourceConfiguration" JSON..= sourceConfiguration]
+                           (Prelude.catMaybes
+                              [(JSON..=) "GuardrailConfiguration"
+                                 Prelude.<$> guardrailConfiguration]))}
+instance JSON.ToJSON PromptFlowNodeConfigurationProperty where
+  toJSON PromptFlowNodeConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["SourceConfiguration" JSON..= sourceConfiguration]
+              (Prelude.catMaybes
+                 [(JSON..=) "GuardrailConfiguration"
+                    Prelude.<$> guardrailConfiguration])))
+instance Property "GuardrailConfiguration" PromptFlowNodeConfigurationProperty where
+  type PropertyType "GuardrailConfiguration" PromptFlowNodeConfigurationProperty = GuardrailConfigurationProperty
+  set newValue PromptFlowNodeConfigurationProperty {..}
+    = PromptFlowNodeConfigurationProperty
+        {guardrailConfiguration = Prelude.pure newValue, ..}
+instance Property "SourceConfiguration" PromptFlowNodeConfigurationProperty where
+  type PropertyType "SourceConfiguration" PromptFlowNodeConfigurationProperty = PromptFlowNodeSourceConfigurationProperty
+  set newValue PromptFlowNodeConfigurationProperty {..}
+    = PromptFlowNodeConfigurationProperty
+        {sourceConfiguration = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/PromptFlowNodeConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/FlowVersion/PromptFlowNodeConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/PromptFlowNodeConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.FlowVersion.PromptFlowNodeConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data PromptFlowNodeConfigurationProperty :: Prelude.Type
+instance ToResourceProperties PromptFlowNodeConfigurationProperty
+instance Prelude.Eq PromptFlowNodeConfigurationProperty
+instance Prelude.Show PromptFlowNodeConfigurationProperty
+instance JSON.ToJSON PromptFlowNodeConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/PromptFlowNodeInlineConfigurationProperty.hs b/gen/Stratosphere/Bedrock/FlowVersion/PromptFlowNodeInlineConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/PromptFlowNodeInlineConfigurationProperty.hs
@@ -0,0 +1,80 @@
+module Stratosphere.Bedrock.FlowVersion.PromptFlowNodeInlineConfigurationProperty (
+        module Exports, PromptFlowNodeInlineConfigurationProperty(..),
+        mkPromptFlowNodeInlineConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.FlowVersion.PromptInferenceConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.FlowVersion.PromptTemplateConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data PromptFlowNodeInlineConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-promptflownodeinlineconfiguration.html>
+    PromptFlowNodeInlineConfigurationProperty {haddock_workaround_ :: (),
+                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-promptflownodeinlineconfiguration.html#cfn-bedrock-flowversion-promptflownodeinlineconfiguration-inferenceconfiguration>
+                                               inferenceConfiguration :: (Prelude.Maybe PromptInferenceConfigurationProperty),
+                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-promptflownodeinlineconfiguration.html#cfn-bedrock-flowversion-promptflownodeinlineconfiguration-modelid>
+                                               modelId :: (Value Prelude.Text),
+                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-promptflownodeinlineconfiguration.html#cfn-bedrock-flowversion-promptflownodeinlineconfiguration-templateconfiguration>
+                                               templateConfiguration :: PromptTemplateConfigurationProperty,
+                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-promptflownodeinlineconfiguration.html#cfn-bedrock-flowversion-promptflownodeinlineconfiguration-templatetype>
+                                               templateType :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkPromptFlowNodeInlineConfigurationProperty ::
+  Value Prelude.Text
+  -> PromptTemplateConfigurationProperty
+     -> Value Prelude.Text -> PromptFlowNodeInlineConfigurationProperty
+mkPromptFlowNodeInlineConfigurationProperty
+  modelId
+  templateConfiguration
+  templateType
+  = PromptFlowNodeInlineConfigurationProperty
+      {haddock_workaround_ = (), modelId = modelId,
+       templateConfiguration = templateConfiguration,
+       templateType = templateType,
+       inferenceConfiguration = Prelude.Nothing}
+instance ToResourceProperties PromptFlowNodeInlineConfigurationProperty where
+  toResourceProperties PromptFlowNodeInlineConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::FlowVersion.PromptFlowNodeInlineConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["ModelId" JSON..= modelId,
+                            "TemplateConfiguration" JSON..= templateConfiguration,
+                            "TemplateType" JSON..= templateType]
+                           (Prelude.catMaybes
+                              [(JSON..=) "InferenceConfiguration"
+                                 Prelude.<$> inferenceConfiguration]))}
+instance JSON.ToJSON PromptFlowNodeInlineConfigurationProperty where
+  toJSON PromptFlowNodeInlineConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["ModelId" JSON..= modelId,
+               "TemplateConfiguration" JSON..= templateConfiguration,
+               "TemplateType" JSON..= templateType]
+              (Prelude.catMaybes
+                 [(JSON..=) "InferenceConfiguration"
+                    Prelude.<$> inferenceConfiguration])))
+instance Property "InferenceConfiguration" PromptFlowNodeInlineConfigurationProperty where
+  type PropertyType "InferenceConfiguration" PromptFlowNodeInlineConfigurationProperty = PromptInferenceConfigurationProperty
+  set newValue PromptFlowNodeInlineConfigurationProperty {..}
+    = PromptFlowNodeInlineConfigurationProperty
+        {inferenceConfiguration = Prelude.pure newValue, ..}
+instance Property "ModelId" PromptFlowNodeInlineConfigurationProperty where
+  type PropertyType "ModelId" PromptFlowNodeInlineConfigurationProperty = Value Prelude.Text
+  set newValue PromptFlowNodeInlineConfigurationProperty {..}
+    = PromptFlowNodeInlineConfigurationProperty
+        {modelId = newValue, ..}
+instance Property "TemplateConfiguration" PromptFlowNodeInlineConfigurationProperty where
+  type PropertyType "TemplateConfiguration" PromptFlowNodeInlineConfigurationProperty = PromptTemplateConfigurationProperty
+  set newValue PromptFlowNodeInlineConfigurationProperty {..}
+    = PromptFlowNodeInlineConfigurationProperty
+        {templateConfiguration = newValue, ..}
+instance Property "TemplateType" PromptFlowNodeInlineConfigurationProperty where
+  type PropertyType "TemplateType" PromptFlowNodeInlineConfigurationProperty = Value Prelude.Text
+  set newValue PromptFlowNodeInlineConfigurationProperty {..}
+    = PromptFlowNodeInlineConfigurationProperty
+        {templateType = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/PromptFlowNodeInlineConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/FlowVersion/PromptFlowNodeInlineConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/PromptFlowNodeInlineConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.FlowVersion.PromptFlowNodeInlineConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data PromptFlowNodeInlineConfigurationProperty :: Prelude.Type
+instance ToResourceProperties PromptFlowNodeInlineConfigurationProperty
+instance Prelude.Eq PromptFlowNodeInlineConfigurationProperty
+instance Prelude.Show PromptFlowNodeInlineConfigurationProperty
+instance JSON.ToJSON PromptFlowNodeInlineConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/PromptFlowNodeResourceConfigurationProperty.hs b/gen/Stratosphere/Bedrock/FlowVersion/PromptFlowNodeResourceConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/PromptFlowNodeResourceConfigurationProperty.hs
@@ -0,0 +1,35 @@
+module Stratosphere.Bedrock.FlowVersion.PromptFlowNodeResourceConfigurationProperty (
+        PromptFlowNodeResourceConfigurationProperty(..),
+        mkPromptFlowNodeResourceConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data PromptFlowNodeResourceConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-promptflownoderesourceconfiguration.html>
+    PromptFlowNodeResourceConfigurationProperty {haddock_workaround_ :: (),
+                                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-promptflownoderesourceconfiguration.html#cfn-bedrock-flowversion-promptflownoderesourceconfiguration-promptarn>
+                                                 promptArn :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkPromptFlowNodeResourceConfigurationProperty ::
+  Value Prelude.Text -> PromptFlowNodeResourceConfigurationProperty
+mkPromptFlowNodeResourceConfigurationProperty promptArn
+  = PromptFlowNodeResourceConfigurationProperty
+      {haddock_workaround_ = (), promptArn = promptArn}
+instance ToResourceProperties PromptFlowNodeResourceConfigurationProperty where
+  toResourceProperties
+    PromptFlowNodeResourceConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::FlowVersion.PromptFlowNodeResourceConfiguration",
+         supportsTags = Prelude.False,
+         properties = ["PromptArn" JSON..= promptArn]}
+instance JSON.ToJSON PromptFlowNodeResourceConfigurationProperty where
+  toJSON PromptFlowNodeResourceConfigurationProperty {..}
+    = JSON.object ["PromptArn" JSON..= promptArn]
+instance Property "PromptArn" PromptFlowNodeResourceConfigurationProperty where
+  type PropertyType "PromptArn" PromptFlowNodeResourceConfigurationProperty = Value Prelude.Text
+  set newValue PromptFlowNodeResourceConfigurationProperty {..}
+    = PromptFlowNodeResourceConfigurationProperty
+        {promptArn = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/PromptFlowNodeResourceConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/FlowVersion/PromptFlowNodeResourceConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/PromptFlowNodeResourceConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.FlowVersion.PromptFlowNodeResourceConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data PromptFlowNodeResourceConfigurationProperty :: Prelude.Type
+instance ToResourceProperties PromptFlowNodeResourceConfigurationProperty
+instance Prelude.Eq PromptFlowNodeResourceConfigurationProperty
+instance Prelude.Show PromptFlowNodeResourceConfigurationProperty
+instance JSON.ToJSON PromptFlowNodeResourceConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/PromptFlowNodeSourceConfigurationProperty.hs b/gen/Stratosphere/Bedrock/FlowVersion/PromptFlowNodeSourceConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/PromptFlowNodeSourceConfigurationProperty.hs
@@ -0,0 +1,50 @@
+module Stratosphere.Bedrock.FlowVersion.PromptFlowNodeSourceConfigurationProperty (
+        module Exports, PromptFlowNodeSourceConfigurationProperty(..),
+        mkPromptFlowNodeSourceConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.FlowVersion.PromptFlowNodeInlineConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.FlowVersion.PromptFlowNodeResourceConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+data PromptFlowNodeSourceConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-promptflownodesourceconfiguration.html>
+    PromptFlowNodeSourceConfigurationProperty {haddock_workaround_ :: (),
+                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-promptflownodesourceconfiguration.html#cfn-bedrock-flowversion-promptflownodesourceconfiguration-inline>
+                                               inline :: (Prelude.Maybe PromptFlowNodeInlineConfigurationProperty),
+                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-promptflownodesourceconfiguration.html#cfn-bedrock-flowversion-promptflownodesourceconfiguration-resource>
+                                               resource :: (Prelude.Maybe PromptFlowNodeResourceConfigurationProperty)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkPromptFlowNodeSourceConfigurationProperty ::
+  PromptFlowNodeSourceConfigurationProperty
+mkPromptFlowNodeSourceConfigurationProperty
+  = PromptFlowNodeSourceConfigurationProperty
+      {haddock_workaround_ = (), inline = Prelude.Nothing,
+       resource = Prelude.Nothing}
+instance ToResourceProperties PromptFlowNodeSourceConfigurationProperty where
+  toResourceProperties PromptFlowNodeSourceConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::FlowVersion.PromptFlowNodeSourceConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "Inline" Prelude.<$> inline,
+                            (JSON..=) "Resource" Prelude.<$> resource])}
+instance JSON.ToJSON PromptFlowNodeSourceConfigurationProperty where
+  toJSON PromptFlowNodeSourceConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "Inline" Prelude.<$> inline,
+               (JSON..=) "Resource" Prelude.<$> resource]))
+instance Property "Inline" PromptFlowNodeSourceConfigurationProperty where
+  type PropertyType "Inline" PromptFlowNodeSourceConfigurationProperty = PromptFlowNodeInlineConfigurationProperty
+  set newValue PromptFlowNodeSourceConfigurationProperty {..}
+    = PromptFlowNodeSourceConfigurationProperty
+        {inline = Prelude.pure newValue, ..}
+instance Property "Resource" PromptFlowNodeSourceConfigurationProperty where
+  type PropertyType "Resource" PromptFlowNodeSourceConfigurationProperty = PromptFlowNodeResourceConfigurationProperty
+  set newValue PromptFlowNodeSourceConfigurationProperty {..}
+    = PromptFlowNodeSourceConfigurationProperty
+        {resource = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/PromptFlowNodeSourceConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/FlowVersion/PromptFlowNodeSourceConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/PromptFlowNodeSourceConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.FlowVersion.PromptFlowNodeSourceConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data PromptFlowNodeSourceConfigurationProperty :: Prelude.Type
+instance ToResourceProperties PromptFlowNodeSourceConfigurationProperty
+instance Prelude.Eq PromptFlowNodeSourceConfigurationProperty
+instance Prelude.Show PromptFlowNodeSourceConfigurationProperty
+instance JSON.ToJSON PromptFlowNodeSourceConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/PromptInferenceConfigurationProperty.hs b/gen/Stratosphere/Bedrock/FlowVersion/PromptInferenceConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/PromptInferenceConfigurationProperty.hs
@@ -0,0 +1,33 @@
+module Stratosphere.Bedrock.FlowVersion.PromptInferenceConfigurationProperty (
+        module Exports, PromptInferenceConfigurationProperty(..),
+        mkPromptInferenceConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.FlowVersion.PromptModelInferenceConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+data PromptInferenceConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-promptinferenceconfiguration.html>
+    PromptInferenceConfigurationProperty {haddock_workaround_ :: (),
+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-promptinferenceconfiguration.html#cfn-bedrock-flowversion-promptinferenceconfiguration-text>
+                                          text :: PromptModelInferenceConfigurationProperty}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkPromptInferenceConfigurationProperty ::
+  PromptModelInferenceConfigurationProperty
+  -> PromptInferenceConfigurationProperty
+mkPromptInferenceConfigurationProperty text
+  = PromptInferenceConfigurationProperty
+      {haddock_workaround_ = (), text = text}
+instance ToResourceProperties PromptInferenceConfigurationProperty where
+  toResourceProperties PromptInferenceConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::FlowVersion.PromptInferenceConfiguration",
+         supportsTags = Prelude.False, properties = ["Text" JSON..= text]}
+instance JSON.ToJSON PromptInferenceConfigurationProperty where
+  toJSON PromptInferenceConfigurationProperty {..}
+    = JSON.object ["Text" JSON..= text]
+instance Property "Text" PromptInferenceConfigurationProperty where
+  type PropertyType "Text" PromptInferenceConfigurationProperty = PromptModelInferenceConfigurationProperty
+  set newValue PromptInferenceConfigurationProperty {..}
+    = PromptInferenceConfigurationProperty {text = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/PromptInferenceConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/FlowVersion/PromptInferenceConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/PromptInferenceConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.FlowVersion.PromptInferenceConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data PromptInferenceConfigurationProperty :: Prelude.Type
+instance ToResourceProperties PromptInferenceConfigurationProperty
+instance Prelude.Eq PromptInferenceConfigurationProperty
+instance Prelude.Show PromptInferenceConfigurationProperty
+instance JSON.ToJSON PromptInferenceConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/PromptInputVariableProperty.hs b/gen/Stratosphere/Bedrock/FlowVersion/PromptInputVariableProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/PromptInputVariableProperty.hs
@@ -0,0 +1,34 @@
+module Stratosphere.Bedrock.FlowVersion.PromptInputVariableProperty (
+        PromptInputVariableProperty(..), mkPromptInputVariableProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data PromptInputVariableProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-promptinputvariable.html>
+    PromptInputVariableProperty {haddock_workaround_ :: (),
+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-promptinputvariable.html#cfn-bedrock-flowversion-promptinputvariable-name>
+                                 name :: (Prelude.Maybe (Value Prelude.Text))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkPromptInputVariableProperty :: PromptInputVariableProperty
+mkPromptInputVariableProperty
+  = PromptInputVariableProperty
+      {haddock_workaround_ = (), name = Prelude.Nothing}
+instance ToResourceProperties PromptInputVariableProperty where
+  toResourceProperties PromptInputVariableProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::FlowVersion.PromptInputVariable",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes [(JSON..=) "Name" Prelude.<$> name])}
+instance JSON.ToJSON PromptInputVariableProperty where
+  toJSON PromptInputVariableProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes [(JSON..=) "Name" Prelude.<$> name]))
+instance Property "Name" PromptInputVariableProperty where
+  type PropertyType "Name" PromptInputVariableProperty = Value Prelude.Text
+  set newValue PromptInputVariableProperty {..}
+    = PromptInputVariableProperty {name = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/PromptInputVariableProperty.hs-boot b/gen/Stratosphere/Bedrock/FlowVersion/PromptInputVariableProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/PromptInputVariableProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.FlowVersion.PromptInputVariableProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data PromptInputVariableProperty :: Prelude.Type
+instance ToResourceProperties PromptInputVariableProperty
+instance Prelude.Eq PromptInputVariableProperty
+instance Prelude.Show PromptInputVariableProperty
+instance JSON.ToJSON PromptInputVariableProperty
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/PromptModelInferenceConfigurationProperty.hs b/gen/Stratosphere/Bedrock/FlowVersion/PromptModelInferenceConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/PromptModelInferenceConfigurationProperty.hs
@@ -0,0 +1,68 @@
+module Stratosphere.Bedrock.FlowVersion.PromptModelInferenceConfigurationProperty (
+        PromptModelInferenceConfigurationProperty(..),
+        mkPromptModelInferenceConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data PromptModelInferenceConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-promptmodelinferenceconfiguration.html>
+    PromptModelInferenceConfigurationProperty {haddock_workaround_ :: (),
+                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-promptmodelinferenceconfiguration.html#cfn-bedrock-flowversion-promptmodelinferenceconfiguration-maxtokens>
+                                               maxTokens :: (Prelude.Maybe (Value Prelude.Double)),
+                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-promptmodelinferenceconfiguration.html#cfn-bedrock-flowversion-promptmodelinferenceconfiguration-stopsequences>
+                                               stopSequences :: (Prelude.Maybe (ValueList Prelude.Text)),
+                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-promptmodelinferenceconfiguration.html#cfn-bedrock-flowversion-promptmodelinferenceconfiguration-temperature>
+                                               temperature :: (Prelude.Maybe (Value Prelude.Double)),
+                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-promptmodelinferenceconfiguration.html#cfn-bedrock-flowversion-promptmodelinferenceconfiguration-topp>
+                                               topP :: (Prelude.Maybe (Value Prelude.Double))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkPromptModelInferenceConfigurationProperty ::
+  PromptModelInferenceConfigurationProperty
+mkPromptModelInferenceConfigurationProperty
+  = PromptModelInferenceConfigurationProperty
+      {haddock_workaround_ = (), maxTokens = Prelude.Nothing,
+       stopSequences = Prelude.Nothing, temperature = Prelude.Nothing,
+       topP = Prelude.Nothing}
+instance ToResourceProperties PromptModelInferenceConfigurationProperty where
+  toResourceProperties PromptModelInferenceConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::FlowVersion.PromptModelInferenceConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "MaxTokens" Prelude.<$> maxTokens,
+                            (JSON..=) "StopSequences" Prelude.<$> stopSequences,
+                            (JSON..=) "Temperature" Prelude.<$> temperature,
+                            (JSON..=) "TopP" Prelude.<$> topP])}
+instance JSON.ToJSON PromptModelInferenceConfigurationProperty where
+  toJSON PromptModelInferenceConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "MaxTokens" Prelude.<$> maxTokens,
+               (JSON..=) "StopSequences" Prelude.<$> stopSequences,
+               (JSON..=) "Temperature" Prelude.<$> temperature,
+               (JSON..=) "TopP" Prelude.<$> topP]))
+instance Property "MaxTokens" PromptModelInferenceConfigurationProperty where
+  type PropertyType "MaxTokens" PromptModelInferenceConfigurationProperty = Value Prelude.Double
+  set newValue PromptModelInferenceConfigurationProperty {..}
+    = PromptModelInferenceConfigurationProperty
+        {maxTokens = Prelude.pure newValue, ..}
+instance Property "StopSequences" PromptModelInferenceConfigurationProperty where
+  type PropertyType "StopSequences" PromptModelInferenceConfigurationProperty = ValueList Prelude.Text
+  set newValue PromptModelInferenceConfigurationProperty {..}
+    = PromptModelInferenceConfigurationProperty
+        {stopSequences = Prelude.pure newValue, ..}
+instance Property "Temperature" PromptModelInferenceConfigurationProperty where
+  type PropertyType "Temperature" PromptModelInferenceConfigurationProperty = Value Prelude.Double
+  set newValue PromptModelInferenceConfigurationProperty {..}
+    = PromptModelInferenceConfigurationProperty
+        {temperature = Prelude.pure newValue, ..}
+instance Property "TopP" PromptModelInferenceConfigurationProperty where
+  type PropertyType "TopP" PromptModelInferenceConfigurationProperty = Value Prelude.Double
+  set newValue PromptModelInferenceConfigurationProperty {..}
+    = PromptModelInferenceConfigurationProperty
+        {topP = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/PromptModelInferenceConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/FlowVersion/PromptModelInferenceConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/PromptModelInferenceConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.FlowVersion.PromptModelInferenceConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data PromptModelInferenceConfigurationProperty :: Prelude.Type
+instance ToResourceProperties PromptModelInferenceConfigurationProperty
+instance Prelude.Eq PromptModelInferenceConfigurationProperty
+instance Prelude.Show PromptModelInferenceConfigurationProperty
+instance JSON.ToJSON PromptModelInferenceConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/PromptTemplateConfigurationProperty.hs b/gen/Stratosphere/Bedrock/FlowVersion/PromptTemplateConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/PromptTemplateConfigurationProperty.hs
@@ -0,0 +1,33 @@
+module Stratosphere.Bedrock.FlowVersion.PromptTemplateConfigurationProperty (
+        module Exports, PromptTemplateConfigurationProperty(..),
+        mkPromptTemplateConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.FlowVersion.TextPromptTemplateConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+data PromptTemplateConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-prompttemplateconfiguration.html>
+    PromptTemplateConfigurationProperty {haddock_workaround_ :: (),
+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-prompttemplateconfiguration.html#cfn-bedrock-flowversion-prompttemplateconfiguration-text>
+                                         text :: TextPromptTemplateConfigurationProperty}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkPromptTemplateConfigurationProperty ::
+  TextPromptTemplateConfigurationProperty
+  -> PromptTemplateConfigurationProperty
+mkPromptTemplateConfigurationProperty text
+  = PromptTemplateConfigurationProperty
+      {haddock_workaround_ = (), text = text}
+instance ToResourceProperties PromptTemplateConfigurationProperty where
+  toResourceProperties PromptTemplateConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::FlowVersion.PromptTemplateConfiguration",
+         supportsTags = Prelude.False, properties = ["Text" JSON..= text]}
+instance JSON.ToJSON PromptTemplateConfigurationProperty where
+  toJSON PromptTemplateConfigurationProperty {..}
+    = JSON.object ["Text" JSON..= text]
+instance Property "Text" PromptTemplateConfigurationProperty where
+  type PropertyType "Text" PromptTemplateConfigurationProperty = TextPromptTemplateConfigurationProperty
+  set newValue PromptTemplateConfigurationProperty {..}
+    = PromptTemplateConfigurationProperty {text = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/PromptTemplateConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/FlowVersion/PromptTemplateConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/PromptTemplateConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.FlowVersion.PromptTemplateConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data PromptTemplateConfigurationProperty :: Prelude.Type
+instance ToResourceProperties PromptTemplateConfigurationProperty
+instance Prelude.Eq PromptTemplateConfigurationProperty
+instance Prelude.Show PromptTemplateConfigurationProperty
+instance JSON.ToJSON PromptTemplateConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/RerankingMetadataSelectiveModeConfigurationProperty.hs b/gen/Stratosphere/Bedrock/FlowVersion/RerankingMetadataSelectiveModeConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/RerankingMetadataSelectiveModeConfigurationProperty.hs
@@ -0,0 +1,55 @@
+module Stratosphere.Bedrock.FlowVersion.RerankingMetadataSelectiveModeConfigurationProperty (
+        module Exports,
+        RerankingMetadataSelectiveModeConfigurationProperty(..),
+        mkRerankingMetadataSelectiveModeConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.FlowVersion.FieldForRerankingProperty as Exports
+import Stratosphere.ResourceProperties
+data RerankingMetadataSelectiveModeConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-rerankingmetadataselectivemodeconfiguration.html>
+    RerankingMetadataSelectiveModeConfigurationProperty {haddock_workaround_ :: (),
+                                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-rerankingmetadataselectivemodeconfiguration.html#cfn-bedrock-flowversion-rerankingmetadataselectivemodeconfiguration-fieldstoexclude>
+                                                         fieldsToExclude :: (Prelude.Maybe [FieldForRerankingProperty]),
+                                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-rerankingmetadataselectivemodeconfiguration.html#cfn-bedrock-flowversion-rerankingmetadataselectivemodeconfiguration-fieldstoinclude>
+                                                         fieldsToInclude :: (Prelude.Maybe [FieldForRerankingProperty])}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkRerankingMetadataSelectiveModeConfigurationProperty ::
+  RerankingMetadataSelectiveModeConfigurationProperty
+mkRerankingMetadataSelectiveModeConfigurationProperty
+  = RerankingMetadataSelectiveModeConfigurationProperty
+      {haddock_workaround_ = (), fieldsToExclude = Prelude.Nothing,
+       fieldsToInclude = Prelude.Nothing}
+instance ToResourceProperties RerankingMetadataSelectiveModeConfigurationProperty where
+  toResourceProperties
+    RerankingMetadataSelectiveModeConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::FlowVersion.RerankingMetadataSelectiveModeConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "FieldsToExclude" Prelude.<$> fieldsToExclude,
+                            (JSON..=) "FieldsToInclude" Prelude.<$> fieldsToInclude])}
+instance JSON.ToJSON RerankingMetadataSelectiveModeConfigurationProperty where
+  toJSON RerankingMetadataSelectiveModeConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "FieldsToExclude" Prelude.<$> fieldsToExclude,
+               (JSON..=) "FieldsToInclude" Prelude.<$> fieldsToInclude]))
+instance Property "FieldsToExclude" RerankingMetadataSelectiveModeConfigurationProperty where
+  type PropertyType "FieldsToExclude" RerankingMetadataSelectiveModeConfigurationProperty = [FieldForRerankingProperty]
+  set
+    newValue
+    RerankingMetadataSelectiveModeConfigurationProperty {..}
+    = RerankingMetadataSelectiveModeConfigurationProperty
+        {fieldsToExclude = Prelude.pure newValue, ..}
+instance Property "FieldsToInclude" RerankingMetadataSelectiveModeConfigurationProperty where
+  type PropertyType "FieldsToInclude" RerankingMetadataSelectiveModeConfigurationProperty = [FieldForRerankingProperty]
+  set
+    newValue
+    RerankingMetadataSelectiveModeConfigurationProperty {..}
+    = RerankingMetadataSelectiveModeConfigurationProperty
+        {fieldsToInclude = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/RerankingMetadataSelectiveModeConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/FlowVersion/RerankingMetadataSelectiveModeConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/RerankingMetadataSelectiveModeConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.FlowVersion.RerankingMetadataSelectiveModeConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data RerankingMetadataSelectiveModeConfigurationProperty :: Prelude.Type
+instance ToResourceProperties RerankingMetadataSelectiveModeConfigurationProperty
+instance Prelude.Eq RerankingMetadataSelectiveModeConfigurationProperty
+instance Prelude.Show RerankingMetadataSelectiveModeConfigurationProperty
+instance JSON.ToJSON RerankingMetadataSelectiveModeConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/RetrievalFlowNodeConfigurationProperty.hs b/gen/Stratosphere/Bedrock/FlowVersion/RetrievalFlowNodeConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/RetrievalFlowNodeConfigurationProperty.hs
@@ -0,0 +1,36 @@
+module Stratosphere.Bedrock.FlowVersion.RetrievalFlowNodeConfigurationProperty (
+        module Exports, RetrievalFlowNodeConfigurationProperty(..),
+        mkRetrievalFlowNodeConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.FlowVersion.RetrievalFlowNodeServiceConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+data RetrievalFlowNodeConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-retrievalflownodeconfiguration.html>
+    RetrievalFlowNodeConfigurationProperty {haddock_workaround_ :: (),
+                                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-retrievalflownodeconfiguration.html#cfn-bedrock-flowversion-retrievalflownodeconfiguration-serviceconfiguration>
+                                            serviceConfiguration :: RetrievalFlowNodeServiceConfigurationProperty}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkRetrievalFlowNodeConfigurationProperty ::
+  RetrievalFlowNodeServiceConfigurationProperty
+  -> RetrievalFlowNodeConfigurationProperty
+mkRetrievalFlowNodeConfigurationProperty serviceConfiguration
+  = RetrievalFlowNodeConfigurationProperty
+      {haddock_workaround_ = (),
+       serviceConfiguration = serviceConfiguration}
+instance ToResourceProperties RetrievalFlowNodeConfigurationProperty where
+  toResourceProperties RetrievalFlowNodeConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::FlowVersion.RetrievalFlowNodeConfiguration",
+         supportsTags = Prelude.False,
+         properties = ["ServiceConfiguration" JSON..= serviceConfiguration]}
+instance JSON.ToJSON RetrievalFlowNodeConfigurationProperty where
+  toJSON RetrievalFlowNodeConfigurationProperty {..}
+    = JSON.object ["ServiceConfiguration" JSON..= serviceConfiguration]
+instance Property "ServiceConfiguration" RetrievalFlowNodeConfigurationProperty where
+  type PropertyType "ServiceConfiguration" RetrievalFlowNodeConfigurationProperty = RetrievalFlowNodeServiceConfigurationProperty
+  set newValue RetrievalFlowNodeConfigurationProperty {..}
+    = RetrievalFlowNodeConfigurationProperty
+        {serviceConfiguration = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/RetrievalFlowNodeConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/FlowVersion/RetrievalFlowNodeConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/RetrievalFlowNodeConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.FlowVersion.RetrievalFlowNodeConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data RetrievalFlowNodeConfigurationProperty :: Prelude.Type
+instance ToResourceProperties RetrievalFlowNodeConfigurationProperty
+instance Prelude.Eq RetrievalFlowNodeConfigurationProperty
+instance Prelude.Show RetrievalFlowNodeConfigurationProperty
+instance JSON.ToJSON RetrievalFlowNodeConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/RetrievalFlowNodeS3ConfigurationProperty.hs b/gen/Stratosphere/Bedrock/FlowVersion/RetrievalFlowNodeS3ConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/RetrievalFlowNodeS3ConfigurationProperty.hs
@@ -0,0 +1,34 @@
+module Stratosphere.Bedrock.FlowVersion.RetrievalFlowNodeS3ConfigurationProperty (
+        RetrievalFlowNodeS3ConfigurationProperty(..),
+        mkRetrievalFlowNodeS3ConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data RetrievalFlowNodeS3ConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-retrievalflownodes3configuration.html>
+    RetrievalFlowNodeS3ConfigurationProperty {haddock_workaround_ :: (),
+                                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-retrievalflownodes3configuration.html#cfn-bedrock-flowversion-retrievalflownodes3configuration-bucketname>
+                                              bucketName :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkRetrievalFlowNodeS3ConfigurationProperty ::
+  Value Prelude.Text -> RetrievalFlowNodeS3ConfigurationProperty
+mkRetrievalFlowNodeS3ConfigurationProperty bucketName
+  = RetrievalFlowNodeS3ConfigurationProperty
+      {haddock_workaround_ = (), bucketName = bucketName}
+instance ToResourceProperties RetrievalFlowNodeS3ConfigurationProperty where
+  toResourceProperties RetrievalFlowNodeS3ConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::FlowVersion.RetrievalFlowNodeS3Configuration",
+         supportsTags = Prelude.False,
+         properties = ["BucketName" JSON..= bucketName]}
+instance JSON.ToJSON RetrievalFlowNodeS3ConfigurationProperty where
+  toJSON RetrievalFlowNodeS3ConfigurationProperty {..}
+    = JSON.object ["BucketName" JSON..= bucketName]
+instance Property "BucketName" RetrievalFlowNodeS3ConfigurationProperty where
+  type PropertyType "BucketName" RetrievalFlowNodeS3ConfigurationProperty = Value Prelude.Text
+  set newValue RetrievalFlowNodeS3ConfigurationProperty {..}
+    = RetrievalFlowNodeS3ConfigurationProperty
+        {bucketName = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/RetrievalFlowNodeS3ConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/FlowVersion/RetrievalFlowNodeS3ConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/RetrievalFlowNodeS3ConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.FlowVersion.RetrievalFlowNodeS3ConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data RetrievalFlowNodeS3ConfigurationProperty :: Prelude.Type
+instance ToResourceProperties RetrievalFlowNodeS3ConfigurationProperty
+instance Prelude.Eq RetrievalFlowNodeS3ConfigurationProperty
+instance Prelude.Show RetrievalFlowNodeS3ConfigurationProperty
+instance JSON.ToJSON RetrievalFlowNodeS3ConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/RetrievalFlowNodeServiceConfigurationProperty.hs b/gen/Stratosphere/Bedrock/FlowVersion/RetrievalFlowNodeServiceConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/RetrievalFlowNodeServiceConfigurationProperty.hs
@@ -0,0 +1,38 @@
+module Stratosphere.Bedrock.FlowVersion.RetrievalFlowNodeServiceConfigurationProperty (
+        module Exports, RetrievalFlowNodeServiceConfigurationProperty(..),
+        mkRetrievalFlowNodeServiceConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.FlowVersion.RetrievalFlowNodeS3ConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+data RetrievalFlowNodeServiceConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-retrievalflownodeserviceconfiguration.html>
+    RetrievalFlowNodeServiceConfigurationProperty {haddock_workaround_ :: (),
+                                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-retrievalflownodeserviceconfiguration.html#cfn-bedrock-flowversion-retrievalflownodeserviceconfiguration-s3>
+                                                   s3 :: (Prelude.Maybe RetrievalFlowNodeS3ConfigurationProperty)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkRetrievalFlowNodeServiceConfigurationProperty ::
+  RetrievalFlowNodeServiceConfigurationProperty
+mkRetrievalFlowNodeServiceConfigurationProperty
+  = RetrievalFlowNodeServiceConfigurationProperty
+      {haddock_workaround_ = (), s3 = Prelude.Nothing}
+instance ToResourceProperties RetrievalFlowNodeServiceConfigurationProperty where
+  toResourceProperties
+    RetrievalFlowNodeServiceConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::FlowVersion.RetrievalFlowNodeServiceConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes [(JSON..=) "S3" Prelude.<$> s3])}
+instance JSON.ToJSON RetrievalFlowNodeServiceConfigurationProperty where
+  toJSON RetrievalFlowNodeServiceConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes [(JSON..=) "S3" Prelude.<$> s3]))
+instance Property "S3" RetrievalFlowNodeServiceConfigurationProperty where
+  type PropertyType "S3" RetrievalFlowNodeServiceConfigurationProperty = RetrievalFlowNodeS3ConfigurationProperty
+  set newValue RetrievalFlowNodeServiceConfigurationProperty {..}
+    = RetrievalFlowNodeServiceConfigurationProperty
+        {s3 = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/RetrievalFlowNodeServiceConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/FlowVersion/RetrievalFlowNodeServiceConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/RetrievalFlowNodeServiceConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.FlowVersion.RetrievalFlowNodeServiceConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data RetrievalFlowNodeServiceConfigurationProperty :: Prelude.Type
+instance ToResourceProperties RetrievalFlowNodeServiceConfigurationProperty
+instance Prelude.Eq RetrievalFlowNodeServiceConfigurationProperty
+instance Prelude.Show RetrievalFlowNodeServiceConfigurationProperty
+instance JSON.ToJSON RetrievalFlowNodeServiceConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/StorageFlowNodeConfigurationProperty.hs b/gen/Stratosphere/Bedrock/FlowVersion/StorageFlowNodeConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/StorageFlowNodeConfigurationProperty.hs
@@ -0,0 +1,36 @@
+module Stratosphere.Bedrock.FlowVersion.StorageFlowNodeConfigurationProperty (
+        module Exports, StorageFlowNodeConfigurationProperty(..),
+        mkStorageFlowNodeConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.FlowVersion.StorageFlowNodeServiceConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+data StorageFlowNodeConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-storageflownodeconfiguration.html>
+    StorageFlowNodeConfigurationProperty {haddock_workaround_ :: (),
+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-storageflownodeconfiguration.html#cfn-bedrock-flowversion-storageflownodeconfiguration-serviceconfiguration>
+                                          serviceConfiguration :: StorageFlowNodeServiceConfigurationProperty}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkStorageFlowNodeConfigurationProperty ::
+  StorageFlowNodeServiceConfigurationProperty
+  -> StorageFlowNodeConfigurationProperty
+mkStorageFlowNodeConfigurationProperty serviceConfiguration
+  = StorageFlowNodeConfigurationProperty
+      {haddock_workaround_ = (),
+       serviceConfiguration = serviceConfiguration}
+instance ToResourceProperties StorageFlowNodeConfigurationProperty where
+  toResourceProperties StorageFlowNodeConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::FlowVersion.StorageFlowNodeConfiguration",
+         supportsTags = Prelude.False,
+         properties = ["ServiceConfiguration" JSON..= serviceConfiguration]}
+instance JSON.ToJSON StorageFlowNodeConfigurationProperty where
+  toJSON StorageFlowNodeConfigurationProperty {..}
+    = JSON.object ["ServiceConfiguration" JSON..= serviceConfiguration]
+instance Property "ServiceConfiguration" StorageFlowNodeConfigurationProperty where
+  type PropertyType "ServiceConfiguration" StorageFlowNodeConfigurationProperty = StorageFlowNodeServiceConfigurationProperty
+  set newValue StorageFlowNodeConfigurationProperty {..}
+    = StorageFlowNodeConfigurationProperty
+        {serviceConfiguration = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/StorageFlowNodeConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/FlowVersion/StorageFlowNodeConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/StorageFlowNodeConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.FlowVersion.StorageFlowNodeConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data StorageFlowNodeConfigurationProperty :: Prelude.Type
+instance ToResourceProperties StorageFlowNodeConfigurationProperty
+instance Prelude.Eq StorageFlowNodeConfigurationProperty
+instance Prelude.Show StorageFlowNodeConfigurationProperty
+instance JSON.ToJSON StorageFlowNodeConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/StorageFlowNodeS3ConfigurationProperty.hs b/gen/Stratosphere/Bedrock/FlowVersion/StorageFlowNodeS3ConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/StorageFlowNodeS3ConfigurationProperty.hs
@@ -0,0 +1,34 @@
+module Stratosphere.Bedrock.FlowVersion.StorageFlowNodeS3ConfigurationProperty (
+        StorageFlowNodeS3ConfigurationProperty(..),
+        mkStorageFlowNodeS3ConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data StorageFlowNodeS3ConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-storageflownodes3configuration.html>
+    StorageFlowNodeS3ConfigurationProperty {haddock_workaround_ :: (),
+                                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-storageflownodes3configuration.html#cfn-bedrock-flowversion-storageflownodes3configuration-bucketname>
+                                            bucketName :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkStorageFlowNodeS3ConfigurationProperty ::
+  Value Prelude.Text -> StorageFlowNodeS3ConfigurationProperty
+mkStorageFlowNodeS3ConfigurationProperty bucketName
+  = StorageFlowNodeS3ConfigurationProperty
+      {haddock_workaround_ = (), bucketName = bucketName}
+instance ToResourceProperties StorageFlowNodeS3ConfigurationProperty where
+  toResourceProperties StorageFlowNodeS3ConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::FlowVersion.StorageFlowNodeS3Configuration",
+         supportsTags = Prelude.False,
+         properties = ["BucketName" JSON..= bucketName]}
+instance JSON.ToJSON StorageFlowNodeS3ConfigurationProperty where
+  toJSON StorageFlowNodeS3ConfigurationProperty {..}
+    = JSON.object ["BucketName" JSON..= bucketName]
+instance Property "BucketName" StorageFlowNodeS3ConfigurationProperty where
+  type PropertyType "BucketName" StorageFlowNodeS3ConfigurationProperty = Value Prelude.Text
+  set newValue StorageFlowNodeS3ConfigurationProperty {..}
+    = StorageFlowNodeS3ConfigurationProperty
+        {bucketName = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/StorageFlowNodeS3ConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/FlowVersion/StorageFlowNodeS3ConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/StorageFlowNodeS3ConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.FlowVersion.StorageFlowNodeS3ConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data StorageFlowNodeS3ConfigurationProperty :: Prelude.Type
+instance ToResourceProperties StorageFlowNodeS3ConfigurationProperty
+instance Prelude.Eq StorageFlowNodeS3ConfigurationProperty
+instance Prelude.Show StorageFlowNodeS3ConfigurationProperty
+instance JSON.ToJSON StorageFlowNodeS3ConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/StorageFlowNodeServiceConfigurationProperty.hs b/gen/Stratosphere/Bedrock/FlowVersion/StorageFlowNodeServiceConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/StorageFlowNodeServiceConfigurationProperty.hs
@@ -0,0 +1,38 @@
+module Stratosphere.Bedrock.FlowVersion.StorageFlowNodeServiceConfigurationProperty (
+        module Exports, StorageFlowNodeServiceConfigurationProperty(..),
+        mkStorageFlowNodeServiceConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.FlowVersion.StorageFlowNodeS3ConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+data StorageFlowNodeServiceConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-storageflownodeserviceconfiguration.html>
+    StorageFlowNodeServiceConfigurationProperty {haddock_workaround_ :: (),
+                                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-storageflownodeserviceconfiguration.html#cfn-bedrock-flowversion-storageflownodeserviceconfiguration-s3>
+                                                 s3 :: (Prelude.Maybe StorageFlowNodeS3ConfigurationProperty)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkStorageFlowNodeServiceConfigurationProperty ::
+  StorageFlowNodeServiceConfigurationProperty
+mkStorageFlowNodeServiceConfigurationProperty
+  = StorageFlowNodeServiceConfigurationProperty
+      {haddock_workaround_ = (), s3 = Prelude.Nothing}
+instance ToResourceProperties StorageFlowNodeServiceConfigurationProperty where
+  toResourceProperties
+    StorageFlowNodeServiceConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::FlowVersion.StorageFlowNodeServiceConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes [(JSON..=) "S3" Prelude.<$> s3])}
+instance JSON.ToJSON StorageFlowNodeServiceConfigurationProperty where
+  toJSON StorageFlowNodeServiceConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes [(JSON..=) "S3" Prelude.<$> s3]))
+instance Property "S3" StorageFlowNodeServiceConfigurationProperty where
+  type PropertyType "S3" StorageFlowNodeServiceConfigurationProperty = StorageFlowNodeS3ConfigurationProperty
+  set newValue StorageFlowNodeServiceConfigurationProperty {..}
+    = StorageFlowNodeServiceConfigurationProperty
+        {s3 = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/StorageFlowNodeServiceConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/FlowVersion/StorageFlowNodeServiceConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/StorageFlowNodeServiceConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.FlowVersion.StorageFlowNodeServiceConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data StorageFlowNodeServiceConfigurationProperty :: Prelude.Type
+instance ToResourceProperties StorageFlowNodeServiceConfigurationProperty
+instance Prelude.Eq StorageFlowNodeServiceConfigurationProperty
+instance Prelude.Show StorageFlowNodeServiceConfigurationProperty
+instance JSON.ToJSON StorageFlowNodeServiceConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/TextPromptTemplateConfigurationProperty.hs b/gen/Stratosphere/Bedrock/FlowVersion/TextPromptTemplateConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/TextPromptTemplateConfigurationProperty.hs
@@ -0,0 +1,51 @@
+module Stratosphere.Bedrock.FlowVersion.TextPromptTemplateConfigurationProperty (
+        module Exports, TextPromptTemplateConfigurationProperty(..),
+        mkTextPromptTemplateConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.FlowVersion.PromptInputVariableProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data TextPromptTemplateConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-textprompttemplateconfiguration.html>
+    TextPromptTemplateConfigurationProperty {haddock_workaround_ :: (),
+                                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-textprompttemplateconfiguration.html#cfn-bedrock-flowversion-textprompttemplateconfiguration-inputvariables>
+                                             inputVariables :: (Prelude.Maybe [PromptInputVariableProperty]),
+                                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-textprompttemplateconfiguration.html#cfn-bedrock-flowversion-textprompttemplateconfiguration-text>
+                                             text :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkTextPromptTemplateConfigurationProperty ::
+  Value Prelude.Text -> TextPromptTemplateConfigurationProperty
+mkTextPromptTemplateConfigurationProperty text
+  = TextPromptTemplateConfigurationProperty
+      {haddock_workaround_ = (), text = text,
+       inputVariables = Prelude.Nothing}
+instance ToResourceProperties TextPromptTemplateConfigurationProperty where
+  toResourceProperties TextPromptTemplateConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::FlowVersion.TextPromptTemplateConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["Text" JSON..= text]
+                           (Prelude.catMaybes
+                              [(JSON..=) "InputVariables" Prelude.<$> inputVariables]))}
+instance JSON.ToJSON TextPromptTemplateConfigurationProperty where
+  toJSON TextPromptTemplateConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["Text" JSON..= text]
+              (Prelude.catMaybes
+                 [(JSON..=) "InputVariables" Prelude.<$> inputVariables])))
+instance Property "InputVariables" TextPromptTemplateConfigurationProperty where
+  type PropertyType "InputVariables" TextPromptTemplateConfigurationProperty = [PromptInputVariableProperty]
+  set newValue TextPromptTemplateConfigurationProperty {..}
+    = TextPromptTemplateConfigurationProperty
+        {inputVariables = Prelude.pure newValue, ..}
+instance Property "Text" TextPromptTemplateConfigurationProperty where
+  type PropertyType "Text" TextPromptTemplateConfigurationProperty = Value Prelude.Text
+  set newValue TextPromptTemplateConfigurationProperty {..}
+    = TextPromptTemplateConfigurationProperty {text = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/TextPromptTemplateConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/FlowVersion/TextPromptTemplateConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/TextPromptTemplateConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.FlowVersion.TextPromptTemplateConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data TextPromptTemplateConfigurationProperty :: Prelude.Type
+instance ToResourceProperties TextPromptTemplateConfigurationProperty
+instance Prelude.Eq TextPromptTemplateConfigurationProperty
+instance Prelude.Show TextPromptTemplateConfigurationProperty
+instance JSON.ToJSON TextPromptTemplateConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/VectorSearchBedrockRerankingConfigurationProperty.hs b/gen/Stratosphere/Bedrock/FlowVersion/VectorSearchBedrockRerankingConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/VectorSearchBedrockRerankingConfigurationProperty.hs
@@ -0,0 +1,71 @@
+module Stratosphere.Bedrock.FlowVersion.VectorSearchBedrockRerankingConfigurationProperty (
+        module Exports,
+        VectorSearchBedrockRerankingConfigurationProperty(..),
+        mkVectorSearchBedrockRerankingConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.FlowVersion.MetadataConfigurationForRerankingProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.FlowVersion.VectorSearchBedrockRerankingModelConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data VectorSearchBedrockRerankingConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-vectorsearchbedrockrerankingconfiguration.html>
+    VectorSearchBedrockRerankingConfigurationProperty {haddock_workaround_ :: (),
+                                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-vectorsearchbedrockrerankingconfiguration.html#cfn-bedrock-flowversion-vectorsearchbedrockrerankingconfiguration-metadataconfiguration>
+                                                       metadataConfiguration :: (Prelude.Maybe MetadataConfigurationForRerankingProperty),
+                                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-vectorsearchbedrockrerankingconfiguration.html#cfn-bedrock-flowversion-vectorsearchbedrockrerankingconfiguration-modelconfiguration>
+                                                       modelConfiguration :: VectorSearchBedrockRerankingModelConfigurationProperty,
+                                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-vectorsearchbedrockrerankingconfiguration.html#cfn-bedrock-flowversion-vectorsearchbedrockrerankingconfiguration-numberofrerankedresults>
+                                                       numberOfRerankedResults :: (Prelude.Maybe (Value Prelude.Double))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkVectorSearchBedrockRerankingConfigurationProperty ::
+  VectorSearchBedrockRerankingModelConfigurationProperty
+  -> VectorSearchBedrockRerankingConfigurationProperty
+mkVectorSearchBedrockRerankingConfigurationProperty
+  modelConfiguration
+  = VectorSearchBedrockRerankingConfigurationProperty
+      {haddock_workaround_ = (), modelConfiguration = modelConfiguration,
+       metadataConfiguration = Prelude.Nothing,
+       numberOfRerankedResults = Prelude.Nothing}
+instance ToResourceProperties VectorSearchBedrockRerankingConfigurationProperty where
+  toResourceProperties
+    VectorSearchBedrockRerankingConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::FlowVersion.VectorSearchBedrockRerankingConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["ModelConfiguration" JSON..= modelConfiguration]
+                           (Prelude.catMaybes
+                              [(JSON..=) "MetadataConfiguration"
+                                 Prelude.<$> metadataConfiguration,
+                               (JSON..=) "NumberOfRerankedResults"
+                                 Prelude.<$> numberOfRerankedResults]))}
+instance JSON.ToJSON VectorSearchBedrockRerankingConfigurationProperty where
+  toJSON VectorSearchBedrockRerankingConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["ModelConfiguration" JSON..= modelConfiguration]
+              (Prelude.catMaybes
+                 [(JSON..=) "MetadataConfiguration"
+                    Prelude.<$> metadataConfiguration,
+                  (JSON..=) "NumberOfRerankedResults"
+                    Prelude.<$> numberOfRerankedResults])))
+instance Property "MetadataConfiguration" VectorSearchBedrockRerankingConfigurationProperty where
+  type PropertyType "MetadataConfiguration" VectorSearchBedrockRerankingConfigurationProperty = MetadataConfigurationForRerankingProperty
+  set newValue VectorSearchBedrockRerankingConfigurationProperty {..}
+    = VectorSearchBedrockRerankingConfigurationProperty
+        {metadataConfiguration = Prelude.pure newValue, ..}
+instance Property "ModelConfiguration" VectorSearchBedrockRerankingConfigurationProperty where
+  type PropertyType "ModelConfiguration" VectorSearchBedrockRerankingConfigurationProperty = VectorSearchBedrockRerankingModelConfigurationProperty
+  set newValue VectorSearchBedrockRerankingConfigurationProperty {..}
+    = VectorSearchBedrockRerankingConfigurationProperty
+        {modelConfiguration = newValue, ..}
+instance Property "NumberOfRerankedResults" VectorSearchBedrockRerankingConfigurationProperty where
+  type PropertyType "NumberOfRerankedResults" VectorSearchBedrockRerankingConfigurationProperty = Value Prelude.Double
+  set newValue VectorSearchBedrockRerankingConfigurationProperty {..}
+    = VectorSearchBedrockRerankingConfigurationProperty
+        {numberOfRerankedResults = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/VectorSearchBedrockRerankingConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/FlowVersion/VectorSearchBedrockRerankingConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/VectorSearchBedrockRerankingConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.FlowVersion.VectorSearchBedrockRerankingConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data VectorSearchBedrockRerankingConfigurationProperty :: Prelude.Type
+instance ToResourceProperties VectorSearchBedrockRerankingConfigurationProperty
+instance Prelude.Eq VectorSearchBedrockRerankingConfigurationProperty
+instance Prelude.Show VectorSearchBedrockRerankingConfigurationProperty
+instance JSON.ToJSON VectorSearchBedrockRerankingConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/VectorSearchBedrockRerankingModelConfigurationProperty.hs b/gen/Stratosphere/Bedrock/FlowVersion/VectorSearchBedrockRerankingModelConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/VectorSearchBedrockRerankingModelConfigurationProperty.hs
@@ -0,0 +1,59 @@
+module Stratosphere.Bedrock.FlowVersion.VectorSearchBedrockRerankingModelConfigurationProperty (
+        VectorSearchBedrockRerankingModelConfigurationProperty(..),
+        mkVectorSearchBedrockRerankingModelConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data VectorSearchBedrockRerankingModelConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-vectorsearchbedrockrerankingmodelconfiguration.html>
+    VectorSearchBedrockRerankingModelConfigurationProperty {haddock_workaround_ :: (),
+                                                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-vectorsearchbedrockrerankingmodelconfiguration.html#cfn-bedrock-flowversion-vectorsearchbedrockrerankingmodelconfiguration-additionalmodelrequestfields>
+                                                            additionalModelRequestFields :: (Prelude.Maybe JSON.Object),
+                                                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-vectorsearchbedrockrerankingmodelconfiguration.html#cfn-bedrock-flowversion-vectorsearchbedrockrerankingmodelconfiguration-modelarn>
+                                                            modelArn :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkVectorSearchBedrockRerankingModelConfigurationProperty ::
+  Value Prelude.Text
+  -> VectorSearchBedrockRerankingModelConfigurationProperty
+mkVectorSearchBedrockRerankingModelConfigurationProperty modelArn
+  = VectorSearchBedrockRerankingModelConfigurationProperty
+      {haddock_workaround_ = (), modelArn = modelArn,
+       additionalModelRequestFields = Prelude.Nothing}
+instance ToResourceProperties VectorSearchBedrockRerankingModelConfigurationProperty where
+  toResourceProperties
+    VectorSearchBedrockRerankingModelConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::FlowVersion.VectorSearchBedrockRerankingModelConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["ModelArn" JSON..= modelArn]
+                           (Prelude.catMaybes
+                              [(JSON..=) "AdditionalModelRequestFields"
+                                 Prelude.<$> additionalModelRequestFields]))}
+instance JSON.ToJSON VectorSearchBedrockRerankingModelConfigurationProperty where
+  toJSON VectorSearchBedrockRerankingModelConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["ModelArn" JSON..= modelArn]
+              (Prelude.catMaybes
+                 [(JSON..=) "AdditionalModelRequestFields"
+                    Prelude.<$> additionalModelRequestFields])))
+instance Property "AdditionalModelRequestFields" VectorSearchBedrockRerankingModelConfigurationProperty where
+  type PropertyType "AdditionalModelRequestFields" VectorSearchBedrockRerankingModelConfigurationProperty = JSON.Object
+  set
+    newValue
+    VectorSearchBedrockRerankingModelConfigurationProperty {..}
+    = VectorSearchBedrockRerankingModelConfigurationProperty
+        {additionalModelRequestFields = Prelude.pure newValue, ..}
+instance Property "ModelArn" VectorSearchBedrockRerankingModelConfigurationProperty where
+  type PropertyType "ModelArn" VectorSearchBedrockRerankingModelConfigurationProperty = Value Prelude.Text
+  set
+    newValue
+    VectorSearchBedrockRerankingModelConfigurationProperty {..}
+    = VectorSearchBedrockRerankingModelConfigurationProperty
+        {modelArn = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/VectorSearchBedrockRerankingModelConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/FlowVersion/VectorSearchBedrockRerankingModelConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/VectorSearchBedrockRerankingModelConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.FlowVersion.VectorSearchBedrockRerankingModelConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data VectorSearchBedrockRerankingModelConfigurationProperty :: Prelude.Type
+instance ToResourceProperties VectorSearchBedrockRerankingModelConfigurationProperty
+instance Prelude.Eq VectorSearchBedrockRerankingModelConfigurationProperty
+instance Prelude.Show VectorSearchBedrockRerankingModelConfigurationProperty
+instance JSON.ToJSON VectorSearchBedrockRerankingModelConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/VectorSearchRerankingConfigurationProperty.hs b/gen/Stratosphere/Bedrock/FlowVersion/VectorSearchRerankingConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/VectorSearchRerankingConfigurationProperty.hs
@@ -0,0 +1,54 @@
+module Stratosphere.Bedrock.FlowVersion.VectorSearchRerankingConfigurationProperty (
+        module Exports, VectorSearchRerankingConfigurationProperty(..),
+        mkVectorSearchRerankingConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.FlowVersion.VectorSearchBedrockRerankingConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data VectorSearchRerankingConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-vectorsearchrerankingconfiguration.html>
+    VectorSearchRerankingConfigurationProperty {haddock_workaround_ :: (),
+                                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-vectorsearchrerankingconfiguration.html#cfn-bedrock-flowversion-vectorsearchrerankingconfiguration-bedrockrerankingconfiguration>
+                                                bedrockRerankingConfiguration :: (Prelude.Maybe VectorSearchBedrockRerankingConfigurationProperty),
+                                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-vectorsearchrerankingconfiguration.html#cfn-bedrock-flowversion-vectorsearchrerankingconfiguration-type>
+                                                type' :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkVectorSearchRerankingConfigurationProperty ::
+  Value Prelude.Text -> VectorSearchRerankingConfigurationProperty
+mkVectorSearchRerankingConfigurationProperty type'
+  = VectorSearchRerankingConfigurationProperty
+      {haddock_workaround_ = (), type' = type',
+       bedrockRerankingConfiguration = Prelude.Nothing}
+instance ToResourceProperties VectorSearchRerankingConfigurationProperty where
+  toResourceProperties
+    VectorSearchRerankingConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::FlowVersion.VectorSearchRerankingConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["Type" JSON..= type']
+                           (Prelude.catMaybes
+                              [(JSON..=) "BedrockRerankingConfiguration"
+                                 Prelude.<$> bedrockRerankingConfiguration]))}
+instance JSON.ToJSON VectorSearchRerankingConfigurationProperty where
+  toJSON VectorSearchRerankingConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["Type" JSON..= type']
+              (Prelude.catMaybes
+                 [(JSON..=) "BedrockRerankingConfiguration"
+                    Prelude.<$> bedrockRerankingConfiguration])))
+instance Property "BedrockRerankingConfiguration" VectorSearchRerankingConfigurationProperty where
+  type PropertyType "BedrockRerankingConfiguration" VectorSearchRerankingConfigurationProperty = VectorSearchBedrockRerankingConfigurationProperty
+  set newValue VectorSearchRerankingConfigurationProperty {..}
+    = VectorSearchRerankingConfigurationProperty
+        {bedrockRerankingConfiguration = Prelude.pure newValue, ..}
+instance Property "Type" VectorSearchRerankingConfigurationProperty where
+  type PropertyType "Type" VectorSearchRerankingConfigurationProperty = Value Prelude.Text
+  set newValue VectorSearchRerankingConfigurationProperty {..}
+    = VectorSearchRerankingConfigurationProperty {type' = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/FlowVersion/VectorSearchRerankingConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/FlowVersion/VectorSearchRerankingConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/FlowVersion/VectorSearchRerankingConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.FlowVersion.VectorSearchRerankingConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data VectorSearchRerankingConfigurationProperty :: Prelude.Type
+instance ToResourceProperties VectorSearchRerankingConfigurationProperty
+instance Prelude.Eq VectorSearchRerankingConfigurationProperty
+instance Prelude.Show VectorSearchRerankingConfigurationProperty
+instance JSON.ToJSON VectorSearchRerankingConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/Guardrail.hs b/gen/Stratosphere/Bedrock/Guardrail.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Guardrail.hs
@@ -0,0 +1,161 @@
+module Stratosphere.Bedrock.Guardrail (
+        module Exports, Guardrail(..), mkGuardrail
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.Guardrail.AutomatedReasoningPolicyConfigProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.Guardrail.ContentPolicyConfigProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.Guardrail.ContextualGroundingPolicyConfigProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.Guardrail.GuardrailCrossRegionConfigProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.Guardrail.SensitiveInformationPolicyConfigProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.Guardrail.TopicPolicyConfigProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.Guardrail.WordPolicyConfigProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Tag
+import Stratosphere.Value
+data Guardrail
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-guardrail.html>
+    Guardrail {haddock_workaround_ :: (),
+               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-guardrail.html#cfn-bedrock-guardrail-automatedreasoningpolicyconfig>
+               automatedReasoningPolicyConfig :: (Prelude.Maybe AutomatedReasoningPolicyConfigProperty),
+               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-guardrail.html#cfn-bedrock-guardrail-blockedinputmessaging>
+               blockedInputMessaging :: (Value Prelude.Text),
+               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-guardrail.html#cfn-bedrock-guardrail-blockedoutputsmessaging>
+               blockedOutputsMessaging :: (Value Prelude.Text),
+               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-guardrail.html#cfn-bedrock-guardrail-contentpolicyconfig>
+               contentPolicyConfig :: (Prelude.Maybe ContentPolicyConfigProperty),
+               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-guardrail.html#cfn-bedrock-guardrail-contextualgroundingpolicyconfig>
+               contextualGroundingPolicyConfig :: (Prelude.Maybe ContextualGroundingPolicyConfigProperty),
+               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-guardrail.html#cfn-bedrock-guardrail-crossregionconfig>
+               crossRegionConfig :: (Prelude.Maybe GuardrailCrossRegionConfigProperty),
+               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-guardrail.html#cfn-bedrock-guardrail-description>
+               description :: (Prelude.Maybe (Value Prelude.Text)),
+               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-guardrail.html#cfn-bedrock-guardrail-kmskeyarn>
+               kmsKeyArn :: (Prelude.Maybe (Value Prelude.Text)),
+               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-guardrail.html#cfn-bedrock-guardrail-name>
+               name :: (Value Prelude.Text),
+               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-guardrail.html#cfn-bedrock-guardrail-sensitiveinformationpolicyconfig>
+               sensitiveInformationPolicyConfig :: (Prelude.Maybe SensitiveInformationPolicyConfigProperty),
+               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-guardrail.html#cfn-bedrock-guardrail-tags>
+               tags :: (Prelude.Maybe [Tag]),
+               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-guardrail.html#cfn-bedrock-guardrail-topicpolicyconfig>
+               topicPolicyConfig :: (Prelude.Maybe TopicPolicyConfigProperty),
+               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-guardrail.html#cfn-bedrock-guardrail-wordpolicyconfig>
+               wordPolicyConfig :: (Prelude.Maybe WordPolicyConfigProperty)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkGuardrail ::
+  Value Prelude.Text
+  -> Value Prelude.Text -> Value Prelude.Text -> Guardrail
+mkGuardrail blockedInputMessaging blockedOutputsMessaging name
+  = Guardrail
+      {haddock_workaround_ = (),
+       blockedInputMessaging = blockedInputMessaging,
+       blockedOutputsMessaging = blockedOutputsMessaging, name = name,
+       automatedReasoningPolicyConfig = Prelude.Nothing,
+       contentPolicyConfig = Prelude.Nothing,
+       contextualGroundingPolicyConfig = Prelude.Nothing,
+       crossRegionConfig = Prelude.Nothing, description = Prelude.Nothing,
+       kmsKeyArn = Prelude.Nothing,
+       sensitiveInformationPolicyConfig = Prelude.Nothing,
+       tags = Prelude.Nothing, topicPolicyConfig = Prelude.Nothing,
+       wordPolicyConfig = Prelude.Nothing}
+instance ToResourceProperties Guardrail where
+  toResourceProperties Guardrail {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Guardrail", supportsTags = Prelude.True,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["BlockedInputMessaging" JSON..= blockedInputMessaging,
+                            "BlockedOutputsMessaging" JSON..= blockedOutputsMessaging,
+                            "Name" JSON..= name]
+                           (Prelude.catMaybes
+                              [(JSON..=) "AutomatedReasoningPolicyConfig"
+                                 Prelude.<$> automatedReasoningPolicyConfig,
+                               (JSON..=) "ContentPolicyConfig" Prelude.<$> contentPolicyConfig,
+                               (JSON..=) "ContextualGroundingPolicyConfig"
+                                 Prelude.<$> contextualGroundingPolicyConfig,
+                               (JSON..=) "CrossRegionConfig" Prelude.<$> crossRegionConfig,
+                               (JSON..=) "Description" Prelude.<$> description,
+                               (JSON..=) "KmsKeyArn" Prelude.<$> kmsKeyArn,
+                               (JSON..=) "SensitiveInformationPolicyConfig"
+                                 Prelude.<$> sensitiveInformationPolicyConfig,
+                               (JSON..=) "Tags" Prelude.<$> tags,
+                               (JSON..=) "TopicPolicyConfig" Prelude.<$> topicPolicyConfig,
+                               (JSON..=) "WordPolicyConfig" Prelude.<$> wordPolicyConfig]))}
+instance JSON.ToJSON Guardrail where
+  toJSON Guardrail {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["BlockedInputMessaging" JSON..= blockedInputMessaging,
+               "BlockedOutputsMessaging" JSON..= blockedOutputsMessaging,
+               "Name" JSON..= name]
+              (Prelude.catMaybes
+                 [(JSON..=) "AutomatedReasoningPolicyConfig"
+                    Prelude.<$> automatedReasoningPolicyConfig,
+                  (JSON..=) "ContentPolicyConfig" Prelude.<$> contentPolicyConfig,
+                  (JSON..=) "ContextualGroundingPolicyConfig"
+                    Prelude.<$> contextualGroundingPolicyConfig,
+                  (JSON..=) "CrossRegionConfig" Prelude.<$> crossRegionConfig,
+                  (JSON..=) "Description" Prelude.<$> description,
+                  (JSON..=) "KmsKeyArn" Prelude.<$> kmsKeyArn,
+                  (JSON..=) "SensitiveInformationPolicyConfig"
+                    Prelude.<$> sensitiveInformationPolicyConfig,
+                  (JSON..=) "Tags" Prelude.<$> tags,
+                  (JSON..=) "TopicPolicyConfig" Prelude.<$> topicPolicyConfig,
+                  (JSON..=) "WordPolicyConfig" Prelude.<$> wordPolicyConfig])))
+instance Property "AutomatedReasoningPolicyConfig" Guardrail where
+  type PropertyType "AutomatedReasoningPolicyConfig" Guardrail = AutomatedReasoningPolicyConfigProperty
+  set newValue Guardrail {..}
+    = Guardrail
+        {automatedReasoningPolicyConfig = Prelude.pure newValue, ..}
+instance Property "BlockedInputMessaging" Guardrail where
+  type PropertyType "BlockedInputMessaging" Guardrail = Value Prelude.Text
+  set newValue Guardrail {..}
+    = Guardrail {blockedInputMessaging = newValue, ..}
+instance Property "BlockedOutputsMessaging" Guardrail where
+  type PropertyType "BlockedOutputsMessaging" Guardrail = Value Prelude.Text
+  set newValue Guardrail {..}
+    = Guardrail {blockedOutputsMessaging = newValue, ..}
+instance Property "ContentPolicyConfig" Guardrail where
+  type PropertyType "ContentPolicyConfig" Guardrail = ContentPolicyConfigProperty
+  set newValue Guardrail {..}
+    = Guardrail {contentPolicyConfig = Prelude.pure newValue, ..}
+instance Property "ContextualGroundingPolicyConfig" Guardrail where
+  type PropertyType "ContextualGroundingPolicyConfig" Guardrail = ContextualGroundingPolicyConfigProperty
+  set newValue Guardrail {..}
+    = Guardrail
+        {contextualGroundingPolicyConfig = Prelude.pure newValue, ..}
+instance Property "CrossRegionConfig" Guardrail where
+  type PropertyType "CrossRegionConfig" Guardrail = GuardrailCrossRegionConfigProperty
+  set newValue Guardrail {..}
+    = Guardrail {crossRegionConfig = Prelude.pure newValue, ..}
+instance Property "Description" Guardrail where
+  type PropertyType "Description" Guardrail = Value Prelude.Text
+  set newValue Guardrail {..}
+    = Guardrail {description = Prelude.pure newValue, ..}
+instance Property "KmsKeyArn" Guardrail where
+  type PropertyType "KmsKeyArn" Guardrail = Value Prelude.Text
+  set newValue Guardrail {..}
+    = Guardrail {kmsKeyArn = Prelude.pure newValue, ..}
+instance Property "Name" Guardrail where
+  type PropertyType "Name" Guardrail = Value Prelude.Text
+  set newValue Guardrail {..} = Guardrail {name = newValue, ..}
+instance Property "SensitiveInformationPolicyConfig" Guardrail where
+  type PropertyType "SensitiveInformationPolicyConfig" Guardrail = SensitiveInformationPolicyConfigProperty
+  set newValue Guardrail {..}
+    = Guardrail
+        {sensitiveInformationPolicyConfig = Prelude.pure newValue, ..}
+instance Property "Tags" Guardrail where
+  type PropertyType "Tags" Guardrail = [Tag]
+  set newValue Guardrail {..}
+    = Guardrail {tags = Prelude.pure newValue, ..}
+instance Property "TopicPolicyConfig" Guardrail where
+  type PropertyType "TopicPolicyConfig" Guardrail = TopicPolicyConfigProperty
+  set newValue Guardrail {..}
+    = Guardrail {topicPolicyConfig = Prelude.pure newValue, ..}
+instance Property "WordPolicyConfig" Guardrail where
+  type PropertyType "WordPolicyConfig" Guardrail = WordPolicyConfigProperty
+  set newValue Guardrail {..}
+    = Guardrail {wordPolicyConfig = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Guardrail/AutomatedReasoningPolicyConfigProperty.hs b/gen/Stratosphere/Bedrock/Guardrail/AutomatedReasoningPolicyConfigProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Guardrail/AutomatedReasoningPolicyConfigProperty.hs
@@ -0,0 +1,52 @@
+module Stratosphere.Bedrock.Guardrail.AutomatedReasoningPolicyConfigProperty (
+        AutomatedReasoningPolicyConfigProperty(..),
+        mkAutomatedReasoningPolicyConfigProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data AutomatedReasoningPolicyConfigProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-automatedreasoningpolicyconfig.html>
+    AutomatedReasoningPolicyConfigProperty {haddock_workaround_ :: (),
+                                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-automatedreasoningpolicyconfig.html#cfn-bedrock-guardrail-automatedreasoningpolicyconfig-confidencethreshold>
+                                            confidenceThreshold :: (Prelude.Maybe (Value Prelude.Double)),
+                                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-automatedreasoningpolicyconfig.html#cfn-bedrock-guardrail-automatedreasoningpolicyconfig-policies>
+                                            policies :: (ValueList Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkAutomatedReasoningPolicyConfigProperty ::
+  ValueList Prelude.Text -> AutomatedReasoningPolicyConfigProperty
+mkAutomatedReasoningPolicyConfigProperty policies
+  = AutomatedReasoningPolicyConfigProperty
+      {haddock_workaround_ = (), policies = policies,
+       confidenceThreshold = Prelude.Nothing}
+instance ToResourceProperties AutomatedReasoningPolicyConfigProperty where
+  toResourceProperties AutomatedReasoningPolicyConfigProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Guardrail.AutomatedReasoningPolicyConfig",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["Policies" JSON..= policies]
+                           (Prelude.catMaybes
+                              [(JSON..=) "ConfidenceThreshold"
+                                 Prelude.<$> confidenceThreshold]))}
+instance JSON.ToJSON AutomatedReasoningPolicyConfigProperty where
+  toJSON AutomatedReasoningPolicyConfigProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["Policies" JSON..= policies]
+              (Prelude.catMaybes
+                 [(JSON..=) "ConfidenceThreshold"
+                    Prelude.<$> confidenceThreshold])))
+instance Property "ConfidenceThreshold" AutomatedReasoningPolicyConfigProperty where
+  type PropertyType "ConfidenceThreshold" AutomatedReasoningPolicyConfigProperty = Value Prelude.Double
+  set newValue AutomatedReasoningPolicyConfigProperty {..}
+    = AutomatedReasoningPolicyConfigProperty
+        {confidenceThreshold = Prelude.pure newValue, ..}
+instance Property "Policies" AutomatedReasoningPolicyConfigProperty where
+  type PropertyType "Policies" AutomatedReasoningPolicyConfigProperty = ValueList Prelude.Text
+  set newValue AutomatedReasoningPolicyConfigProperty {..}
+    = AutomatedReasoningPolicyConfigProperty {policies = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Guardrail/AutomatedReasoningPolicyConfigProperty.hs-boot b/gen/Stratosphere/Bedrock/Guardrail/AutomatedReasoningPolicyConfigProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Guardrail/AutomatedReasoningPolicyConfigProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Guardrail.AutomatedReasoningPolicyConfigProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data AutomatedReasoningPolicyConfigProperty :: Prelude.Type
+instance ToResourceProperties AutomatedReasoningPolicyConfigProperty
+instance Prelude.Eq AutomatedReasoningPolicyConfigProperty
+instance Prelude.Show AutomatedReasoningPolicyConfigProperty
+instance JSON.ToJSON AutomatedReasoningPolicyConfigProperty
diff --git a/gen/Stratosphere/Bedrock/Guardrail/ContentFilterConfigProperty.hs b/gen/Stratosphere/Bedrock/Guardrail/ContentFilterConfigProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Guardrail/ContentFilterConfigProperty.hs
@@ -0,0 +1,114 @@
+module Stratosphere.Bedrock.Guardrail.ContentFilterConfigProperty (
+        ContentFilterConfigProperty(..), mkContentFilterConfigProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data ContentFilterConfigProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-contentfilterconfig.html>
+    ContentFilterConfigProperty {haddock_workaround_ :: (),
+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-contentfilterconfig.html#cfn-bedrock-guardrail-contentfilterconfig-inputaction>
+                                 inputAction :: (Prelude.Maybe (Value Prelude.Text)),
+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-contentfilterconfig.html#cfn-bedrock-guardrail-contentfilterconfig-inputenabled>
+                                 inputEnabled :: (Prelude.Maybe (Value Prelude.Bool)),
+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-contentfilterconfig.html#cfn-bedrock-guardrail-contentfilterconfig-inputmodalities>
+                                 inputModalities :: (Prelude.Maybe (ValueList Prelude.Text)),
+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-contentfilterconfig.html#cfn-bedrock-guardrail-contentfilterconfig-inputstrength>
+                                 inputStrength :: (Value Prelude.Text),
+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-contentfilterconfig.html#cfn-bedrock-guardrail-contentfilterconfig-outputaction>
+                                 outputAction :: (Prelude.Maybe (Value Prelude.Text)),
+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-contentfilterconfig.html#cfn-bedrock-guardrail-contentfilterconfig-outputenabled>
+                                 outputEnabled :: (Prelude.Maybe (Value Prelude.Bool)),
+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-contentfilterconfig.html#cfn-bedrock-guardrail-contentfilterconfig-outputmodalities>
+                                 outputModalities :: (Prelude.Maybe (ValueList Prelude.Text)),
+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-contentfilterconfig.html#cfn-bedrock-guardrail-contentfilterconfig-outputstrength>
+                                 outputStrength :: (Value Prelude.Text),
+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-contentfilterconfig.html#cfn-bedrock-guardrail-contentfilterconfig-type>
+                                 type' :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkContentFilterConfigProperty ::
+  Value Prelude.Text
+  -> Value Prelude.Text
+     -> Value Prelude.Text -> ContentFilterConfigProperty
+mkContentFilterConfigProperty inputStrength outputStrength type'
+  = ContentFilterConfigProperty
+      {haddock_workaround_ = (), inputStrength = inputStrength,
+       outputStrength = outputStrength, type' = type',
+       inputAction = Prelude.Nothing, inputEnabled = Prelude.Nothing,
+       inputModalities = Prelude.Nothing, outputAction = Prelude.Nothing,
+       outputEnabled = Prelude.Nothing,
+       outputModalities = Prelude.Nothing}
+instance ToResourceProperties ContentFilterConfigProperty where
+  toResourceProperties ContentFilterConfigProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Guardrail.ContentFilterConfig",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["InputStrength" JSON..= inputStrength,
+                            "OutputStrength" JSON..= outputStrength, "Type" JSON..= type']
+                           (Prelude.catMaybes
+                              [(JSON..=) "InputAction" Prelude.<$> inputAction,
+                               (JSON..=) "InputEnabled" Prelude.<$> inputEnabled,
+                               (JSON..=) "InputModalities" Prelude.<$> inputModalities,
+                               (JSON..=) "OutputAction" Prelude.<$> outputAction,
+                               (JSON..=) "OutputEnabled" Prelude.<$> outputEnabled,
+                               (JSON..=) "OutputModalities" Prelude.<$> outputModalities]))}
+instance JSON.ToJSON ContentFilterConfigProperty where
+  toJSON ContentFilterConfigProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["InputStrength" JSON..= inputStrength,
+               "OutputStrength" JSON..= outputStrength, "Type" JSON..= type']
+              (Prelude.catMaybes
+                 [(JSON..=) "InputAction" Prelude.<$> inputAction,
+                  (JSON..=) "InputEnabled" Prelude.<$> inputEnabled,
+                  (JSON..=) "InputModalities" Prelude.<$> inputModalities,
+                  (JSON..=) "OutputAction" Prelude.<$> outputAction,
+                  (JSON..=) "OutputEnabled" Prelude.<$> outputEnabled,
+                  (JSON..=) "OutputModalities" Prelude.<$> outputModalities])))
+instance Property "InputAction" ContentFilterConfigProperty where
+  type PropertyType "InputAction" ContentFilterConfigProperty = Value Prelude.Text
+  set newValue ContentFilterConfigProperty {..}
+    = ContentFilterConfigProperty
+        {inputAction = Prelude.pure newValue, ..}
+instance Property "InputEnabled" ContentFilterConfigProperty where
+  type PropertyType "InputEnabled" ContentFilterConfigProperty = Value Prelude.Bool
+  set newValue ContentFilterConfigProperty {..}
+    = ContentFilterConfigProperty
+        {inputEnabled = Prelude.pure newValue, ..}
+instance Property "InputModalities" ContentFilterConfigProperty where
+  type PropertyType "InputModalities" ContentFilterConfigProperty = ValueList Prelude.Text
+  set newValue ContentFilterConfigProperty {..}
+    = ContentFilterConfigProperty
+        {inputModalities = Prelude.pure newValue, ..}
+instance Property "InputStrength" ContentFilterConfigProperty where
+  type PropertyType "InputStrength" ContentFilterConfigProperty = Value Prelude.Text
+  set newValue ContentFilterConfigProperty {..}
+    = ContentFilterConfigProperty {inputStrength = newValue, ..}
+instance Property "OutputAction" ContentFilterConfigProperty where
+  type PropertyType "OutputAction" ContentFilterConfigProperty = Value Prelude.Text
+  set newValue ContentFilterConfigProperty {..}
+    = ContentFilterConfigProperty
+        {outputAction = Prelude.pure newValue, ..}
+instance Property "OutputEnabled" ContentFilterConfigProperty where
+  type PropertyType "OutputEnabled" ContentFilterConfigProperty = Value Prelude.Bool
+  set newValue ContentFilterConfigProperty {..}
+    = ContentFilterConfigProperty
+        {outputEnabled = Prelude.pure newValue, ..}
+instance Property "OutputModalities" ContentFilterConfigProperty where
+  type PropertyType "OutputModalities" ContentFilterConfigProperty = ValueList Prelude.Text
+  set newValue ContentFilterConfigProperty {..}
+    = ContentFilterConfigProperty
+        {outputModalities = Prelude.pure newValue, ..}
+instance Property "OutputStrength" ContentFilterConfigProperty where
+  type PropertyType "OutputStrength" ContentFilterConfigProperty = Value Prelude.Text
+  set newValue ContentFilterConfigProperty {..}
+    = ContentFilterConfigProperty {outputStrength = newValue, ..}
+instance Property "Type" ContentFilterConfigProperty where
+  type PropertyType "Type" ContentFilterConfigProperty = Value Prelude.Text
+  set newValue ContentFilterConfigProperty {..}
+    = ContentFilterConfigProperty {type' = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Guardrail/ContentFilterConfigProperty.hs-boot b/gen/Stratosphere/Bedrock/Guardrail/ContentFilterConfigProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Guardrail/ContentFilterConfigProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Guardrail.ContentFilterConfigProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data ContentFilterConfigProperty :: Prelude.Type
+instance ToResourceProperties ContentFilterConfigProperty
+instance Prelude.Eq ContentFilterConfigProperty
+instance Prelude.Show ContentFilterConfigProperty
+instance JSON.ToJSON ContentFilterConfigProperty
diff --git a/gen/Stratosphere/Bedrock/Guardrail/ContentFiltersTierConfigProperty.hs b/gen/Stratosphere/Bedrock/Guardrail/ContentFiltersTierConfigProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Guardrail/ContentFiltersTierConfigProperty.hs
@@ -0,0 +1,33 @@
+module Stratosphere.Bedrock.Guardrail.ContentFiltersTierConfigProperty (
+        ContentFiltersTierConfigProperty(..),
+        mkContentFiltersTierConfigProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data ContentFiltersTierConfigProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-contentfilterstierconfig.html>
+    ContentFiltersTierConfigProperty {haddock_workaround_ :: (),
+                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-contentfilterstierconfig.html#cfn-bedrock-guardrail-contentfilterstierconfig-tiername>
+                                      tierName :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkContentFiltersTierConfigProperty ::
+  Value Prelude.Text -> ContentFiltersTierConfigProperty
+mkContentFiltersTierConfigProperty tierName
+  = ContentFiltersTierConfigProperty
+      {haddock_workaround_ = (), tierName = tierName}
+instance ToResourceProperties ContentFiltersTierConfigProperty where
+  toResourceProperties ContentFiltersTierConfigProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Guardrail.ContentFiltersTierConfig",
+         supportsTags = Prelude.False,
+         properties = ["TierName" JSON..= tierName]}
+instance JSON.ToJSON ContentFiltersTierConfigProperty where
+  toJSON ContentFiltersTierConfigProperty {..}
+    = JSON.object ["TierName" JSON..= tierName]
+instance Property "TierName" ContentFiltersTierConfigProperty where
+  type PropertyType "TierName" ContentFiltersTierConfigProperty = Value Prelude.Text
+  set newValue ContentFiltersTierConfigProperty {..}
+    = ContentFiltersTierConfigProperty {tierName = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Guardrail/ContentFiltersTierConfigProperty.hs-boot b/gen/Stratosphere/Bedrock/Guardrail/ContentFiltersTierConfigProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Guardrail/ContentFiltersTierConfigProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Guardrail.ContentFiltersTierConfigProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data ContentFiltersTierConfigProperty :: Prelude.Type
+instance ToResourceProperties ContentFiltersTierConfigProperty
+instance Prelude.Eq ContentFiltersTierConfigProperty
+instance Prelude.Show ContentFiltersTierConfigProperty
+instance JSON.ToJSON ContentFiltersTierConfigProperty
diff --git a/gen/Stratosphere/Bedrock/Guardrail/ContentPolicyConfigProperty.hs b/gen/Stratosphere/Bedrock/Guardrail/ContentPolicyConfigProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Guardrail/ContentPolicyConfigProperty.hs
@@ -0,0 +1,53 @@
+module Stratosphere.Bedrock.Guardrail.ContentPolicyConfigProperty (
+        module Exports, ContentPolicyConfigProperty(..),
+        mkContentPolicyConfigProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.Guardrail.ContentFilterConfigProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.Guardrail.ContentFiltersTierConfigProperty as Exports
+import Stratosphere.ResourceProperties
+data ContentPolicyConfigProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-contentpolicyconfig.html>
+    ContentPolicyConfigProperty {haddock_workaround_ :: (),
+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-contentpolicyconfig.html#cfn-bedrock-guardrail-contentpolicyconfig-contentfilterstierconfig>
+                                 contentFiltersTierConfig :: (Prelude.Maybe ContentFiltersTierConfigProperty),
+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-contentpolicyconfig.html#cfn-bedrock-guardrail-contentpolicyconfig-filtersconfig>
+                                 filtersConfig :: [ContentFilterConfigProperty]}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkContentPolicyConfigProperty ::
+  [ContentFilterConfigProperty] -> ContentPolicyConfigProperty
+mkContentPolicyConfigProperty filtersConfig
+  = ContentPolicyConfigProperty
+      {haddock_workaround_ = (), filtersConfig = filtersConfig,
+       contentFiltersTierConfig = Prelude.Nothing}
+instance ToResourceProperties ContentPolicyConfigProperty where
+  toResourceProperties ContentPolicyConfigProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Guardrail.ContentPolicyConfig",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["FiltersConfig" JSON..= filtersConfig]
+                           (Prelude.catMaybes
+                              [(JSON..=) "ContentFiltersTierConfig"
+                                 Prelude.<$> contentFiltersTierConfig]))}
+instance JSON.ToJSON ContentPolicyConfigProperty where
+  toJSON ContentPolicyConfigProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["FiltersConfig" JSON..= filtersConfig]
+              (Prelude.catMaybes
+                 [(JSON..=) "ContentFiltersTierConfig"
+                    Prelude.<$> contentFiltersTierConfig])))
+instance Property "ContentFiltersTierConfig" ContentPolicyConfigProperty where
+  type PropertyType "ContentFiltersTierConfig" ContentPolicyConfigProperty = ContentFiltersTierConfigProperty
+  set newValue ContentPolicyConfigProperty {..}
+    = ContentPolicyConfigProperty
+        {contentFiltersTierConfig = Prelude.pure newValue, ..}
+instance Property "FiltersConfig" ContentPolicyConfigProperty where
+  type PropertyType "FiltersConfig" ContentPolicyConfigProperty = [ContentFilterConfigProperty]
+  set newValue ContentPolicyConfigProperty {..}
+    = ContentPolicyConfigProperty {filtersConfig = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Guardrail/ContentPolicyConfigProperty.hs-boot b/gen/Stratosphere/Bedrock/Guardrail/ContentPolicyConfigProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Guardrail/ContentPolicyConfigProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Guardrail.ContentPolicyConfigProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data ContentPolicyConfigProperty :: Prelude.Type
+instance ToResourceProperties ContentPolicyConfigProperty
+instance Prelude.Eq ContentPolicyConfigProperty
+instance Prelude.Show ContentPolicyConfigProperty
+instance JSON.ToJSON ContentPolicyConfigProperty
diff --git a/gen/Stratosphere/Bedrock/Guardrail/ContextualGroundingFilterConfigProperty.hs b/gen/Stratosphere/Bedrock/Guardrail/ContextualGroundingFilterConfigProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Guardrail/ContextualGroundingFilterConfigProperty.hs
@@ -0,0 +1,67 @@
+module Stratosphere.Bedrock.Guardrail.ContextualGroundingFilterConfigProperty (
+        ContextualGroundingFilterConfigProperty(..),
+        mkContextualGroundingFilterConfigProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data ContextualGroundingFilterConfigProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-contextualgroundingfilterconfig.html>
+    ContextualGroundingFilterConfigProperty {haddock_workaround_ :: (),
+                                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-contextualgroundingfilterconfig.html#cfn-bedrock-guardrail-contextualgroundingfilterconfig-action>
+                                             action :: (Prelude.Maybe (Value Prelude.Text)),
+                                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-contextualgroundingfilterconfig.html#cfn-bedrock-guardrail-contextualgroundingfilterconfig-enabled>
+                                             enabled :: (Prelude.Maybe (Value Prelude.Bool)),
+                                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-contextualgroundingfilterconfig.html#cfn-bedrock-guardrail-contextualgroundingfilterconfig-threshold>
+                                             threshold :: (Value Prelude.Double),
+                                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-contextualgroundingfilterconfig.html#cfn-bedrock-guardrail-contextualgroundingfilterconfig-type>
+                                             type' :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkContextualGroundingFilterConfigProperty ::
+  Value Prelude.Double
+  -> Value Prelude.Text -> ContextualGroundingFilterConfigProperty
+mkContextualGroundingFilterConfigProperty threshold type'
+  = ContextualGroundingFilterConfigProperty
+      {haddock_workaround_ = (), threshold = threshold, type' = type',
+       action = Prelude.Nothing, enabled = Prelude.Nothing}
+instance ToResourceProperties ContextualGroundingFilterConfigProperty where
+  toResourceProperties ContextualGroundingFilterConfigProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Guardrail.ContextualGroundingFilterConfig",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["Threshold" JSON..= threshold, "Type" JSON..= type']
+                           (Prelude.catMaybes
+                              [(JSON..=) "Action" Prelude.<$> action,
+                               (JSON..=) "Enabled" Prelude.<$> enabled]))}
+instance JSON.ToJSON ContextualGroundingFilterConfigProperty where
+  toJSON ContextualGroundingFilterConfigProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["Threshold" JSON..= threshold, "Type" JSON..= type']
+              (Prelude.catMaybes
+                 [(JSON..=) "Action" Prelude.<$> action,
+                  (JSON..=) "Enabled" Prelude.<$> enabled])))
+instance Property "Action" ContextualGroundingFilterConfigProperty where
+  type PropertyType "Action" ContextualGroundingFilterConfigProperty = Value Prelude.Text
+  set newValue ContextualGroundingFilterConfigProperty {..}
+    = ContextualGroundingFilterConfigProperty
+        {action = Prelude.pure newValue, ..}
+instance Property "Enabled" ContextualGroundingFilterConfigProperty where
+  type PropertyType "Enabled" ContextualGroundingFilterConfigProperty = Value Prelude.Bool
+  set newValue ContextualGroundingFilterConfigProperty {..}
+    = ContextualGroundingFilterConfigProperty
+        {enabled = Prelude.pure newValue, ..}
+instance Property "Threshold" ContextualGroundingFilterConfigProperty where
+  type PropertyType "Threshold" ContextualGroundingFilterConfigProperty = Value Prelude.Double
+  set newValue ContextualGroundingFilterConfigProperty {..}
+    = ContextualGroundingFilterConfigProperty
+        {threshold = newValue, ..}
+instance Property "Type" ContextualGroundingFilterConfigProperty where
+  type PropertyType "Type" ContextualGroundingFilterConfigProperty = Value Prelude.Text
+  set newValue ContextualGroundingFilterConfigProperty {..}
+    = ContextualGroundingFilterConfigProperty {type' = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Guardrail/ContextualGroundingFilterConfigProperty.hs-boot b/gen/Stratosphere/Bedrock/Guardrail/ContextualGroundingFilterConfigProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Guardrail/ContextualGroundingFilterConfigProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Guardrail.ContextualGroundingFilterConfigProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data ContextualGroundingFilterConfigProperty :: Prelude.Type
+instance ToResourceProperties ContextualGroundingFilterConfigProperty
+instance Prelude.Eq ContextualGroundingFilterConfigProperty
+instance Prelude.Show ContextualGroundingFilterConfigProperty
+instance JSON.ToJSON ContextualGroundingFilterConfigProperty
diff --git a/gen/Stratosphere/Bedrock/Guardrail/ContextualGroundingPolicyConfigProperty.hs b/gen/Stratosphere/Bedrock/Guardrail/ContextualGroundingPolicyConfigProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Guardrail/ContextualGroundingPolicyConfigProperty.hs
@@ -0,0 +1,35 @@
+module Stratosphere.Bedrock.Guardrail.ContextualGroundingPolicyConfigProperty (
+        module Exports, ContextualGroundingPolicyConfigProperty(..),
+        mkContextualGroundingPolicyConfigProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.Guardrail.ContextualGroundingFilterConfigProperty as Exports
+import Stratosphere.ResourceProperties
+data ContextualGroundingPolicyConfigProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-contextualgroundingpolicyconfig.html>
+    ContextualGroundingPolicyConfigProperty {haddock_workaround_ :: (),
+                                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-contextualgroundingpolicyconfig.html#cfn-bedrock-guardrail-contextualgroundingpolicyconfig-filtersconfig>
+                                             filtersConfig :: [ContextualGroundingFilterConfigProperty]}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkContextualGroundingPolicyConfigProperty ::
+  [ContextualGroundingFilterConfigProperty]
+  -> ContextualGroundingPolicyConfigProperty
+mkContextualGroundingPolicyConfigProperty filtersConfig
+  = ContextualGroundingPolicyConfigProperty
+      {haddock_workaround_ = (), filtersConfig = filtersConfig}
+instance ToResourceProperties ContextualGroundingPolicyConfigProperty where
+  toResourceProperties ContextualGroundingPolicyConfigProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Guardrail.ContextualGroundingPolicyConfig",
+         supportsTags = Prelude.False,
+         properties = ["FiltersConfig" JSON..= filtersConfig]}
+instance JSON.ToJSON ContextualGroundingPolicyConfigProperty where
+  toJSON ContextualGroundingPolicyConfigProperty {..}
+    = JSON.object ["FiltersConfig" JSON..= filtersConfig]
+instance Property "FiltersConfig" ContextualGroundingPolicyConfigProperty where
+  type PropertyType "FiltersConfig" ContextualGroundingPolicyConfigProperty = [ContextualGroundingFilterConfigProperty]
+  set newValue ContextualGroundingPolicyConfigProperty {..}
+    = ContextualGroundingPolicyConfigProperty
+        {filtersConfig = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Guardrail/ContextualGroundingPolicyConfigProperty.hs-boot b/gen/Stratosphere/Bedrock/Guardrail/ContextualGroundingPolicyConfigProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Guardrail/ContextualGroundingPolicyConfigProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Guardrail.ContextualGroundingPolicyConfigProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data ContextualGroundingPolicyConfigProperty :: Prelude.Type
+instance ToResourceProperties ContextualGroundingPolicyConfigProperty
+instance Prelude.Eq ContextualGroundingPolicyConfigProperty
+instance Prelude.Show ContextualGroundingPolicyConfigProperty
+instance JSON.ToJSON ContextualGroundingPolicyConfigProperty
diff --git a/gen/Stratosphere/Bedrock/Guardrail/GuardrailCrossRegionConfigProperty.hs b/gen/Stratosphere/Bedrock/Guardrail/GuardrailCrossRegionConfigProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Guardrail/GuardrailCrossRegionConfigProperty.hs
@@ -0,0 +1,35 @@
+module Stratosphere.Bedrock.Guardrail.GuardrailCrossRegionConfigProperty (
+        GuardrailCrossRegionConfigProperty(..),
+        mkGuardrailCrossRegionConfigProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data GuardrailCrossRegionConfigProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-guardrailcrossregionconfig.html>
+    GuardrailCrossRegionConfigProperty {haddock_workaround_ :: (),
+                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-guardrailcrossregionconfig.html#cfn-bedrock-guardrail-guardrailcrossregionconfig-guardrailprofilearn>
+                                        guardrailProfileArn :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkGuardrailCrossRegionConfigProperty ::
+  Value Prelude.Text -> GuardrailCrossRegionConfigProperty
+mkGuardrailCrossRegionConfigProperty guardrailProfileArn
+  = GuardrailCrossRegionConfigProperty
+      {haddock_workaround_ = (),
+       guardrailProfileArn = guardrailProfileArn}
+instance ToResourceProperties GuardrailCrossRegionConfigProperty where
+  toResourceProperties GuardrailCrossRegionConfigProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Guardrail.GuardrailCrossRegionConfig",
+         supportsTags = Prelude.False,
+         properties = ["GuardrailProfileArn" JSON..= guardrailProfileArn]}
+instance JSON.ToJSON GuardrailCrossRegionConfigProperty where
+  toJSON GuardrailCrossRegionConfigProperty {..}
+    = JSON.object ["GuardrailProfileArn" JSON..= guardrailProfileArn]
+instance Property "GuardrailProfileArn" GuardrailCrossRegionConfigProperty where
+  type PropertyType "GuardrailProfileArn" GuardrailCrossRegionConfigProperty = Value Prelude.Text
+  set newValue GuardrailCrossRegionConfigProperty {..}
+    = GuardrailCrossRegionConfigProperty
+        {guardrailProfileArn = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Guardrail/GuardrailCrossRegionConfigProperty.hs-boot b/gen/Stratosphere/Bedrock/Guardrail/GuardrailCrossRegionConfigProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Guardrail/GuardrailCrossRegionConfigProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Guardrail.GuardrailCrossRegionConfigProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data GuardrailCrossRegionConfigProperty :: Prelude.Type
+instance ToResourceProperties GuardrailCrossRegionConfigProperty
+instance Prelude.Eq GuardrailCrossRegionConfigProperty
+instance Prelude.Show GuardrailCrossRegionConfigProperty
+instance JSON.ToJSON GuardrailCrossRegionConfigProperty
diff --git a/gen/Stratosphere/Bedrock/Guardrail/ManagedWordsConfigProperty.hs b/gen/Stratosphere/Bedrock/Guardrail/ManagedWordsConfigProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Guardrail/ManagedWordsConfigProperty.hs
@@ -0,0 +1,77 @@
+module Stratosphere.Bedrock.Guardrail.ManagedWordsConfigProperty (
+        ManagedWordsConfigProperty(..), mkManagedWordsConfigProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data ManagedWordsConfigProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-managedwordsconfig.html>
+    ManagedWordsConfigProperty {haddock_workaround_ :: (),
+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-managedwordsconfig.html#cfn-bedrock-guardrail-managedwordsconfig-inputaction>
+                                inputAction :: (Prelude.Maybe (Value Prelude.Text)),
+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-managedwordsconfig.html#cfn-bedrock-guardrail-managedwordsconfig-inputenabled>
+                                inputEnabled :: (Prelude.Maybe (Value Prelude.Bool)),
+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-managedwordsconfig.html#cfn-bedrock-guardrail-managedwordsconfig-outputaction>
+                                outputAction :: (Prelude.Maybe (Value Prelude.Text)),
+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-managedwordsconfig.html#cfn-bedrock-guardrail-managedwordsconfig-outputenabled>
+                                outputEnabled :: (Prelude.Maybe (Value Prelude.Bool)),
+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-managedwordsconfig.html#cfn-bedrock-guardrail-managedwordsconfig-type>
+                                type' :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkManagedWordsConfigProperty ::
+  Value Prelude.Text -> ManagedWordsConfigProperty
+mkManagedWordsConfigProperty type'
+  = ManagedWordsConfigProperty
+      {haddock_workaround_ = (), type' = type',
+       inputAction = Prelude.Nothing, inputEnabled = Prelude.Nothing,
+       outputAction = Prelude.Nothing, outputEnabled = Prelude.Nothing}
+instance ToResourceProperties ManagedWordsConfigProperty where
+  toResourceProperties ManagedWordsConfigProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Guardrail.ManagedWordsConfig",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["Type" JSON..= type']
+                           (Prelude.catMaybes
+                              [(JSON..=) "InputAction" Prelude.<$> inputAction,
+                               (JSON..=) "InputEnabled" Prelude.<$> inputEnabled,
+                               (JSON..=) "OutputAction" Prelude.<$> outputAction,
+                               (JSON..=) "OutputEnabled" Prelude.<$> outputEnabled]))}
+instance JSON.ToJSON ManagedWordsConfigProperty where
+  toJSON ManagedWordsConfigProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["Type" JSON..= type']
+              (Prelude.catMaybes
+                 [(JSON..=) "InputAction" Prelude.<$> inputAction,
+                  (JSON..=) "InputEnabled" Prelude.<$> inputEnabled,
+                  (JSON..=) "OutputAction" Prelude.<$> outputAction,
+                  (JSON..=) "OutputEnabled" Prelude.<$> outputEnabled])))
+instance Property "InputAction" ManagedWordsConfigProperty where
+  type PropertyType "InputAction" ManagedWordsConfigProperty = Value Prelude.Text
+  set newValue ManagedWordsConfigProperty {..}
+    = ManagedWordsConfigProperty
+        {inputAction = Prelude.pure newValue, ..}
+instance Property "InputEnabled" ManagedWordsConfigProperty where
+  type PropertyType "InputEnabled" ManagedWordsConfigProperty = Value Prelude.Bool
+  set newValue ManagedWordsConfigProperty {..}
+    = ManagedWordsConfigProperty
+        {inputEnabled = Prelude.pure newValue, ..}
+instance Property "OutputAction" ManagedWordsConfigProperty where
+  type PropertyType "OutputAction" ManagedWordsConfigProperty = Value Prelude.Text
+  set newValue ManagedWordsConfigProperty {..}
+    = ManagedWordsConfigProperty
+        {outputAction = Prelude.pure newValue, ..}
+instance Property "OutputEnabled" ManagedWordsConfigProperty where
+  type PropertyType "OutputEnabled" ManagedWordsConfigProperty = Value Prelude.Bool
+  set newValue ManagedWordsConfigProperty {..}
+    = ManagedWordsConfigProperty
+        {outputEnabled = Prelude.pure newValue, ..}
+instance Property "Type" ManagedWordsConfigProperty where
+  type PropertyType "Type" ManagedWordsConfigProperty = Value Prelude.Text
+  set newValue ManagedWordsConfigProperty {..}
+    = ManagedWordsConfigProperty {type' = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Guardrail/ManagedWordsConfigProperty.hs-boot b/gen/Stratosphere/Bedrock/Guardrail/ManagedWordsConfigProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Guardrail/ManagedWordsConfigProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Guardrail.ManagedWordsConfigProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data ManagedWordsConfigProperty :: Prelude.Type
+instance ToResourceProperties ManagedWordsConfigProperty
+instance Prelude.Eq ManagedWordsConfigProperty
+instance Prelude.Show ManagedWordsConfigProperty
+instance JSON.ToJSON ManagedWordsConfigProperty
diff --git a/gen/Stratosphere/Bedrock/Guardrail/PiiEntityConfigProperty.hs b/gen/Stratosphere/Bedrock/Guardrail/PiiEntityConfigProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Guardrail/PiiEntityConfigProperty.hs
@@ -0,0 +1,82 @@
+module Stratosphere.Bedrock.Guardrail.PiiEntityConfigProperty (
+        PiiEntityConfigProperty(..), mkPiiEntityConfigProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data PiiEntityConfigProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-piientityconfig.html>
+    PiiEntityConfigProperty {haddock_workaround_ :: (),
+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-piientityconfig.html#cfn-bedrock-guardrail-piientityconfig-action>
+                             action :: (Value Prelude.Text),
+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-piientityconfig.html#cfn-bedrock-guardrail-piientityconfig-inputaction>
+                             inputAction :: (Prelude.Maybe (Value Prelude.Text)),
+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-piientityconfig.html#cfn-bedrock-guardrail-piientityconfig-inputenabled>
+                             inputEnabled :: (Prelude.Maybe (Value Prelude.Bool)),
+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-piientityconfig.html#cfn-bedrock-guardrail-piientityconfig-outputaction>
+                             outputAction :: (Prelude.Maybe (Value Prelude.Text)),
+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-piientityconfig.html#cfn-bedrock-guardrail-piientityconfig-outputenabled>
+                             outputEnabled :: (Prelude.Maybe (Value Prelude.Bool)),
+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-piientityconfig.html#cfn-bedrock-guardrail-piientityconfig-type>
+                             type' :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkPiiEntityConfigProperty ::
+  Value Prelude.Text -> Value Prelude.Text -> PiiEntityConfigProperty
+mkPiiEntityConfigProperty action type'
+  = PiiEntityConfigProperty
+      {haddock_workaround_ = (), action = action, type' = type',
+       inputAction = Prelude.Nothing, inputEnabled = Prelude.Nothing,
+       outputAction = Prelude.Nothing, outputEnabled = Prelude.Nothing}
+instance ToResourceProperties PiiEntityConfigProperty where
+  toResourceProperties PiiEntityConfigProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Guardrail.PiiEntityConfig",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["Action" JSON..= action, "Type" JSON..= type']
+                           (Prelude.catMaybes
+                              [(JSON..=) "InputAction" Prelude.<$> inputAction,
+                               (JSON..=) "InputEnabled" Prelude.<$> inputEnabled,
+                               (JSON..=) "OutputAction" Prelude.<$> outputAction,
+                               (JSON..=) "OutputEnabled" Prelude.<$> outputEnabled]))}
+instance JSON.ToJSON PiiEntityConfigProperty where
+  toJSON PiiEntityConfigProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["Action" JSON..= action, "Type" JSON..= type']
+              (Prelude.catMaybes
+                 [(JSON..=) "InputAction" Prelude.<$> inputAction,
+                  (JSON..=) "InputEnabled" Prelude.<$> inputEnabled,
+                  (JSON..=) "OutputAction" Prelude.<$> outputAction,
+                  (JSON..=) "OutputEnabled" Prelude.<$> outputEnabled])))
+instance Property "Action" PiiEntityConfigProperty where
+  type PropertyType "Action" PiiEntityConfigProperty = Value Prelude.Text
+  set newValue PiiEntityConfigProperty {..}
+    = PiiEntityConfigProperty {action = newValue, ..}
+instance Property "InputAction" PiiEntityConfigProperty where
+  type PropertyType "InputAction" PiiEntityConfigProperty = Value Prelude.Text
+  set newValue PiiEntityConfigProperty {..}
+    = PiiEntityConfigProperty {inputAction = Prelude.pure newValue, ..}
+instance Property "InputEnabled" PiiEntityConfigProperty where
+  type PropertyType "InputEnabled" PiiEntityConfigProperty = Value Prelude.Bool
+  set newValue PiiEntityConfigProperty {..}
+    = PiiEntityConfigProperty
+        {inputEnabled = Prelude.pure newValue, ..}
+instance Property "OutputAction" PiiEntityConfigProperty where
+  type PropertyType "OutputAction" PiiEntityConfigProperty = Value Prelude.Text
+  set newValue PiiEntityConfigProperty {..}
+    = PiiEntityConfigProperty
+        {outputAction = Prelude.pure newValue, ..}
+instance Property "OutputEnabled" PiiEntityConfigProperty where
+  type PropertyType "OutputEnabled" PiiEntityConfigProperty = Value Prelude.Bool
+  set newValue PiiEntityConfigProperty {..}
+    = PiiEntityConfigProperty
+        {outputEnabled = Prelude.pure newValue, ..}
+instance Property "Type" PiiEntityConfigProperty where
+  type PropertyType "Type" PiiEntityConfigProperty = Value Prelude.Text
+  set newValue PiiEntityConfigProperty {..}
+    = PiiEntityConfigProperty {type' = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Guardrail/PiiEntityConfigProperty.hs-boot b/gen/Stratosphere/Bedrock/Guardrail/PiiEntityConfigProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Guardrail/PiiEntityConfigProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Guardrail.PiiEntityConfigProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data PiiEntityConfigProperty :: Prelude.Type
+instance ToResourceProperties PiiEntityConfigProperty
+instance Prelude.Eq PiiEntityConfigProperty
+instance Prelude.Show PiiEntityConfigProperty
+instance JSON.ToJSON PiiEntityConfigProperty
diff --git a/gen/Stratosphere/Bedrock/Guardrail/RegexConfigProperty.hs b/gen/Stratosphere/Bedrock/Guardrail/RegexConfigProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Guardrail/RegexConfigProperty.hs
@@ -0,0 +1,97 @@
+module Stratosphere.Bedrock.Guardrail.RegexConfigProperty (
+        RegexConfigProperty(..), mkRegexConfigProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data RegexConfigProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-regexconfig.html>
+    RegexConfigProperty {haddock_workaround_ :: (),
+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-regexconfig.html#cfn-bedrock-guardrail-regexconfig-action>
+                         action :: (Value Prelude.Text),
+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-regexconfig.html#cfn-bedrock-guardrail-regexconfig-description>
+                         description :: (Prelude.Maybe (Value Prelude.Text)),
+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-regexconfig.html#cfn-bedrock-guardrail-regexconfig-inputaction>
+                         inputAction :: (Prelude.Maybe (Value Prelude.Text)),
+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-regexconfig.html#cfn-bedrock-guardrail-regexconfig-inputenabled>
+                         inputEnabled :: (Prelude.Maybe (Value Prelude.Bool)),
+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-regexconfig.html#cfn-bedrock-guardrail-regexconfig-name>
+                         name :: (Value Prelude.Text),
+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-regexconfig.html#cfn-bedrock-guardrail-regexconfig-outputaction>
+                         outputAction :: (Prelude.Maybe (Value Prelude.Text)),
+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-regexconfig.html#cfn-bedrock-guardrail-regexconfig-outputenabled>
+                         outputEnabled :: (Prelude.Maybe (Value Prelude.Bool)),
+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-regexconfig.html#cfn-bedrock-guardrail-regexconfig-pattern>
+                         pattern :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkRegexConfigProperty ::
+  Value Prelude.Text
+  -> Value Prelude.Text -> Value Prelude.Text -> RegexConfigProperty
+mkRegexConfigProperty action name pattern
+  = RegexConfigProperty
+      {haddock_workaround_ = (), action = action, name = name,
+       pattern = pattern, description = Prelude.Nothing,
+       inputAction = Prelude.Nothing, inputEnabled = Prelude.Nothing,
+       outputAction = Prelude.Nothing, outputEnabled = Prelude.Nothing}
+instance ToResourceProperties RegexConfigProperty where
+  toResourceProperties RegexConfigProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Guardrail.RegexConfig",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["Action" JSON..= action, "Name" JSON..= name,
+                            "Pattern" JSON..= pattern]
+                           (Prelude.catMaybes
+                              [(JSON..=) "Description" Prelude.<$> description,
+                               (JSON..=) "InputAction" Prelude.<$> inputAction,
+                               (JSON..=) "InputEnabled" Prelude.<$> inputEnabled,
+                               (JSON..=) "OutputAction" Prelude.<$> outputAction,
+                               (JSON..=) "OutputEnabled" Prelude.<$> outputEnabled]))}
+instance JSON.ToJSON RegexConfigProperty where
+  toJSON RegexConfigProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["Action" JSON..= action, "Name" JSON..= name,
+               "Pattern" JSON..= pattern]
+              (Prelude.catMaybes
+                 [(JSON..=) "Description" Prelude.<$> description,
+                  (JSON..=) "InputAction" Prelude.<$> inputAction,
+                  (JSON..=) "InputEnabled" Prelude.<$> inputEnabled,
+                  (JSON..=) "OutputAction" Prelude.<$> outputAction,
+                  (JSON..=) "OutputEnabled" Prelude.<$> outputEnabled])))
+instance Property "Action" RegexConfigProperty where
+  type PropertyType "Action" RegexConfigProperty = Value Prelude.Text
+  set newValue RegexConfigProperty {..}
+    = RegexConfigProperty {action = newValue, ..}
+instance Property "Description" RegexConfigProperty where
+  type PropertyType "Description" RegexConfigProperty = Value Prelude.Text
+  set newValue RegexConfigProperty {..}
+    = RegexConfigProperty {description = Prelude.pure newValue, ..}
+instance Property "InputAction" RegexConfigProperty where
+  type PropertyType "InputAction" RegexConfigProperty = Value Prelude.Text
+  set newValue RegexConfigProperty {..}
+    = RegexConfigProperty {inputAction = Prelude.pure newValue, ..}
+instance Property "InputEnabled" RegexConfigProperty where
+  type PropertyType "InputEnabled" RegexConfigProperty = Value Prelude.Bool
+  set newValue RegexConfigProperty {..}
+    = RegexConfigProperty {inputEnabled = Prelude.pure newValue, ..}
+instance Property "Name" RegexConfigProperty where
+  type PropertyType "Name" RegexConfigProperty = Value Prelude.Text
+  set newValue RegexConfigProperty {..}
+    = RegexConfigProperty {name = newValue, ..}
+instance Property "OutputAction" RegexConfigProperty where
+  type PropertyType "OutputAction" RegexConfigProperty = Value Prelude.Text
+  set newValue RegexConfigProperty {..}
+    = RegexConfigProperty {outputAction = Prelude.pure newValue, ..}
+instance Property "OutputEnabled" RegexConfigProperty where
+  type PropertyType "OutputEnabled" RegexConfigProperty = Value Prelude.Bool
+  set newValue RegexConfigProperty {..}
+    = RegexConfigProperty {outputEnabled = Prelude.pure newValue, ..}
+instance Property "Pattern" RegexConfigProperty where
+  type PropertyType "Pattern" RegexConfigProperty = Value Prelude.Text
+  set newValue RegexConfigProperty {..}
+    = RegexConfigProperty {pattern = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Guardrail/RegexConfigProperty.hs-boot b/gen/Stratosphere/Bedrock/Guardrail/RegexConfigProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Guardrail/RegexConfigProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Guardrail.RegexConfigProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data RegexConfigProperty :: Prelude.Type
+instance ToResourceProperties RegexConfigProperty
+instance Prelude.Eq RegexConfigProperty
+instance Prelude.Show RegexConfigProperty
+instance JSON.ToJSON RegexConfigProperty
diff --git a/gen/Stratosphere/Bedrock/Guardrail/SensitiveInformationPolicyConfigProperty.hs b/gen/Stratosphere/Bedrock/Guardrail/SensitiveInformationPolicyConfigProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Guardrail/SensitiveInformationPolicyConfigProperty.hs
@@ -0,0 +1,50 @@
+module Stratosphere.Bedrock.Guardrail.SensitiveInformationPolicyConfigProperty (
+        module Exports, SensitiveInformationPolicyConfigProperty(..),
+        mkSensitiveInformationPolicyConfigProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.Guardrail.PiiEntityConfigProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.Guardrail.RegexConfigProperty as Exports
+import Stratosphere.ResourceProperties
+data SensitiveInformationPolicyConfigProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-sensitiveinformationpolicyconfig.html>
+    SensitiveInformationPolicyConfigProperty {haddock_workaround_ :: (),
+                                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-sensitiveinformationpolicyconfig.html#cfn-bedrock-guardrail-sensitiveinformationpolicyconfig-piientitiesconfig>
+                                              piiEntitiesConfig :: (Prelude.Maybe [PiiEntityConfigProperty]),
+                                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-sensitiveinformationpolicyconfig.html#cfn-bedrock-guardrail-sensitiveinformationpolicyconfig-regexesconfig>
+                                              regexesConfig :: (Prelude.Maybe [RegexConfigProperty])}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkSensitiveInformationPolicyConfigProperty ::
+  SensitiveInformationPolicyConfigProperty
+mkSensitiveInformationPolicyConfigProperty
+  = SensitiveInformationPolicyConfigProperty
+      {haddock_workaround_ = (), piiEntitiesConfig = Prelude.Nothing,
+       regexesConfig = Prelude.Nothing}
+instance ToResourceProperties SensitiveInformationPolicyConfigProperty where
+  toResourceProperties SensitiveInformationPolicyConfigProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Guardrail.SensitiveInformationPolicyConfig",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "PiiEntitiesConfig" Prelude.<$> piiEntitiesConfig,
+                            (JSON..=) "RegexesConfig" Prelude.<$> regexesConfig])}
+instance JSON.ToJSON SensitiveInformationPolicyConfigProperty where
+  toJSON SensitiveInformationPolicyConfigProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "PiiEntitiesConfig" Prelude.<$> piiEntitiesConfig,
+               (JSON..=) "RegexesConfig" Prelude.<$> regexesConfig]))
+instance Property "PiiEntitiesConfig" SensitiveInformationPolicyConfigProperty where
+  type PropertyType "PiiEntitiesConfig" SensitiveInformationPolicyConfigProperty = [PiiEntityConfigProperty]
+  set newValue SensitiveInformationPolicyConfigProperty {..}
+    = SensitiveInformationPolicyConfigProperty
+        {piiEntitiesConfig = Prelude.pure newValue, ..}
+instance Property "RegexesConfig" SensitiveInformationPolicyConfigProperty where
+  type PropertyType "RegexesConfig" SensitiveInformationPolicyConfigProperty = [RegexConfigProperty]
+  set newValue SensitiveInformationPolicyConfigProperty {..}
+    = SensitiveInformationPolicyConfigProperty
+        {regexesConfig = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Guardrail/SensitiveInformationPolicyConfigProperty.hs-boot b/gen/Stratosphere/Bedrock/Guardrail/SensitiveInformationPolicyConfigProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Guardrail/SensitiveInformationPolicyConfigProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Guardrail.SensitiveInformationPolicyConfigProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data SensitiveInformationPolicyConfigProperty :: Prelude.Type
+instance ToResourceProperties SensitiveInformationPolicyConfigProperty
+instance Prelude.Eq SensitiveInformationPolicyConfigProperty
+instance Prelude.Show SensitiveInformationPolicyConfigProperty
+instance JSON.ToJSON SensitiveInformationPolicyConfigProperty
diff --git a/gen/Stratosphere/Bedrock/Guardrail/TopicConfigProperty.hs b/gen/Stratosphere/Bedrock/Guardrail/TopicConfigProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Guardrail/TopicConfigProperty.hs
@@ -0,0 +1,97 @@
+module Stratosphere.Bedrock.Guardrail.TopicConfigProperty (
+        TopicConfigProperty(..), mkTopicConfigProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data TopicConfigProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-topicconfig.html>
+    TopicConfigProperty {haddock_workaround_ :: (),
+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-topicconfig.html#cfn-bedrock-guardrail-topicconfig-definition>
+                         definition :: (Value Prelude.Text),
+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-topicconfig.html#cfn-bedrock-guardrail-topicconfig-examples>
+                         examples :: (Prelude.Maybe (ValueList Prelude.Text)),
+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-topicconfig.html#cfn-bedrock-guardrail-topicconfig-inputaction>
+                         inputAction :: (Prelude.Maybe (Value Prelude.Text)),
+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-topicconfig.html#cfn-bedrock-guardrail-topicconfig-inputenabled>
+                         inputEnabled :: (Prelude.Maybe (Value Prelude.Bool)),
+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-topicconfig.html#cfn-bedrock-guardrail-topicconfig-name>
+                         name :: (Value Prelude.Text),
+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-topicconfig.html#cfn-bedrock-guardrail-topicconfig-outputaction>
+                         outputAction :: (Prelude.Maybe (Value Prelude.Text)),
+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-topicconfig.html#cfn-bedrock-guardrail-topicconfig-outputenabled>
+                         outputEnabled :: (Prelude.Maybe (Value Prelude.Bool)),
+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-topicconfig.html#cfn-bedrock-guardrail-topicconfig-type>
+                         type' :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkTopicConfigProperty ::
+  Value Prelude.Text
+  -> Value Prelude.Text -> Value Prelude.Text -> TopicConfigProperty
+mkTopicConfigProperty definition name type'
+  = TopicConfigProperty
+      {haddock_workaround_ = (), definition = definition, name = name,
+       type' = type', examples = Prelude.Nothing,
+       inputAction = Prelude.Nothing, inputEnabled = Prelude.Nothing,
+       outputAction = Prelude.Nothing, outputEnabled = Prelude.Nothing}
+instance ToResourceProperties TopicConfigProperty where
+  toResourceProperties TopicConfigProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Guardrail.TopicConfig",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["Definition" JSON..= definition, "Name" JSON..= name,
+                            "Type" JSON..= type']
+                           (Prelude.catMaybes
+                              [(JSON..=) "Examples" Prelude.<$> examples,
+                               (JSON..=) "InputAction" Prelude.<$> inputAction,
+                               (JSON..=) "InputEnabled" Prelude.<$> inputEnabled,
+                               (JSON..=) "OutputAction" Prelude.<$> outputAction,
+                               (JSON..=) "OutputEnabled" Prelude.<$> outputEnabled]))}
+instance JSON.ToJSON TopicConfigProperty where
+  toJSON TopicConfigProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["Definition" JSON..= definition, "Name" JSON..= name,
+               "Type" JSON..= type']
+              (Prelude.catMaybes
+                 [(JSON..=) "Examples" Prelude.<$> examples,
+                  (JSON..=) "InputAction" Prelude.<$> inputAction,
+                  (JSON..=) "InputEnabled" Prelude.<$> inputEnabled,
+                  (JSON..=) "OutputAction" Prelude.<$> outputAction,
+                  (JSON..=) "OutputEnabled" Prelude.<$> outputEnabled])))
+instance Property "Definition" TopicConfigProperty where
+  type PropertyType "Definition" TopicConfigProperty = Value Prelude.Text
+  set newValue TopicConfigProperty {..}
+    = TopicConfigProperty {definition = newValue, ..}
+instance Property "Examples" TopicConfigProperty where
+  type PropertyType "Examples" TopicConfigProperty = ValueList Prelude.Text
+  set newValue TopicConfigProperty {..}
+    = TopicConfigProperty {examples = Prelude.pure newValue, ..}
+instance Property "InputAction" TopicConfigProperty where
+  type PropertyType "InputAction" TopicConfigProperty = Value Prelude.Text
+  set newValue TopicConfigProperty {..}
+    = TopicConfigProperty {inputAction = Prelude.pure newValue, ..}
+instance Property "InputEnabled" TopicConfigProperty where
+  type PropertyType "InputEnabled" TopicConfigProperty = Value Prelude.Bool
+  set newValue TopicConfigProperty {..}
+    = TopicConfigProperty {inputEnabled = Prelude.pure newValue, ..}
+instance Property "Name" TopicConfigProperty where
+  type PropertyType "Name" TopicConfigProperty = Value Prelude.Text
+  set newValue TopicConfigProperty {..}
+    = TopicConfigProperty {name = newValue, ..}
+instance Property "OutputAction" TopicConfigProperty where
+  type PropertyType "OutputAction" TopicConfigProperty = Value Prelude.Text
+  set newValue TopicConfigProperty {..}
+    = TopicConfigProperty {outputAction = Prelude.pure newValue, ..}
+instance Property "OutputEnabled" TopicConfigProperty where
+  type PropertyType "OutputEnabled" TopicConfigProperty = Value Prelude.Bool
+  set newValue TopicConfigProperty {..}
+    = TopicConfigProperty {outputEnabled = Prelude.pure newValue, ..}
+instance Property "Type" TopicConfigProperty where
+  type PropertyType "Type" TopicConfigProperty = Value Prelude.Text
+  set newValue TopicConfigProperty {..}
+    = TopicConfigProperty {type' = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Guardrail/TopicConfigProperty.hs-boot b/gen/Stratosphere/Bedrock/Guardrail/TopicConfigProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Guardrail/TopicConfigProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Guardrail.TopicConfigProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data TopicConfigProperty :: Prelude.Type
+instance ToResourceProperties TopicConfigProperty
+instance Prelude.Eq TopicConfigProperty
+instance Prelude.Show TopicConfigProperty
+instance JSON.ToJSON TopicConfigProperty
diff --git a/gen/Stratosphere/Bedrock/Guardrail/TopicPolicyConfigProperty.hs b/gen/Stratosphere/Bedrock/Guardrail/TopicPolicyConfigProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Guardrail/TopicPolicyConfigProperty.hs
@@ -0,0 +1,51 @@
+module Stratosphere.Bedrock.Guardrail.TopicPolicyConfigProperty (
+        module Exports, TopicPolicyConfigProperty(..),
+        mkTopicPolicyConfigProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.Guardrail.TopicConfigProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.Guardrail.TopicsTierConfigProperty as Exports
+import Stratosphere.ResourceProperties
+data TopicPolicyConfigProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-topicpolicyconfig.html>
+    TopicPolicyConfigProperty {haddock_workaround_ :: (),
+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-topicpolicyconfig.html#cfn-bedrock-guardrail-topicpolicyconfig-topicsconfig>
+                               topicsConfig :: [TopicConfigProperty],
+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-topicpolicyconfig.html#cfn-bedrock-guardrail-topicpolicyconfig-topicstierconfig>
+                               topicsTierConfig :: (Prelude.Maybe TopicsTierConfigProperty)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkTopicPolicyConfigProperty ::
+  [TopicConfigProperty] -> TopicPolicyConfigProperty
+mkTopicPolicyConfigProperty topicsConfig
+  = TopicPolicyConfigProperty
+      {haddock_workaround_ = (), topicsConfig = topicsConfig,
+       topicsTierConfig = Prelude.Nothing}
+instance ToResourceProperties TopicPolicyConfigProperty where
+  toResourceProperties TopicPolicyConfigProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Guardrail.TopicPolicyConfig",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["TopicsConfig" JSON..= topicsConfig]
+                           (Prelude.catMaybes
+                              [(JSON..=) "TopicsTierConfig" Prelude.<$> topicsTierConfig]))}
+instance JSON.ToJSON TopicPolicyConfigProperty where
+  toJSON TopicPolicyConfigProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["TopicsConfig" JSON..= topicsConfig]
+              (Prelude.catMaybes
+                 [(JSON..=) "TopicsTierConfig" Prelude.<$> topicsTierConfig])))
+instance Property "TopicsConfig" TopicPolicyConfigProperty where
+  type PropertyType "TopicsConfig" TopicPolicyConfigProperty = [TopicConfigProperty]
+  set newValue TopicPolicyConfigProperty {..}
+    = TopicPolicyConfigProperty {topicsConfig = newValue, ..}
+instance Property "TopicsTierConfig" TopicPolicyConfigProperty where
+  type PropertyType "TopicsTierConfig" TopicPolicyConfigProperty = TopicsTierConfigProperty
+  set newValue TopicPolicyConfigProperty {..}
+    = TopicPolicyConfigProperty
+        {topicsTierConfig = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Guardrail/TopicPolicyConfigProperty.hs-boot b/gen/Stratosphere/Bedrock/Guardrail/TopicPolicyConfigProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Guardrail/TopicPolicyConfigProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Guardrail.TopicPolicyConfigProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data TopicPolicyConfigProperty :: Prelude.Type
+instance ToResourceProperties TopicPolicyConfigProperty
+instance Prelude.Eq TopicPolicyConfigProperty
+instance Prelude.Show TopicPolicyConfigProperty
+instance JSON.ToJSON TopicPolicyConfigProperty
diff --git a/gen/Stratosphere/Bedrock/Guardrail/TopicsTierConfigProperty.hs b/gen/Stratosphere/Bedrock/Guardrail/TopicsTierConfigProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Guardrail/TopicsTierConfigProperty.hs
@@ -0,0 +1,32 @@
+module Stratosphere.Bedrock.Guardrail.TopicsTierConfigProperty (
+        TopicsTierConfigProperty(..), mkTopicsTierConfigProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data TopicsTierConfigProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-topicstierconfig.html>
+    TopicsTierConfigProperty {haddock_workaround_ :: (),
+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-topicstierconfig.html#cfn-bedrock-guardrail-topicstierconfig-tiername>
+                              tierName :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkTopicsTierConfigProperty ::
+  Value Prelude.Text -> TopicsTierConfigProperty
+mkTopicsTierConfigProperty tierName
+  = TopicsTierConfigProperty
+      {haddock_workaround_ = (), tierName = tierName}
+instance ToResourceProperties TopicsTierConfigProperty where
+  toResourceProperties TopicsTierConfigProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Guardrail.TopicsTierConfig",
+         supportsTags = Prelude.False,
+         properties = ["TierName" JSON..= tierName]}
+instance JSON.ToJSON TopicsTierConfigProperty where
+  toJSON TopicsTierConfigProperty {..}
+    = JSON.object ["TierName" JSON..= tierName]
+instance Property "TierName" TopicsTierConfigProperty where
+  type PropertyType "TierName" TopicsTierConfigProperty = Value Prelude.Text
+  set newValue TopicsTierConfigProperty {..}
+    = TopicsTierConfigProperty {tierName = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Guardrail/TopicsTierConfigProperty.hs-boot b/gen/Stratosphere/Bedrock/Guardrail/TopicsTierConfigProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Guardrail/TopicsTierConfigProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Guardrail.TopicsTierConfigProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data TopicsTierConfigProperty :: Prelude.Type
+instance ToResourceProperties TopicsTierConfigProperty
+instance Prelude.Eq TopicsTierConfigProperty
+instance Prelude.Show TopicsTierConfigProperty
+instance JSON.ToJSON TopicsTierConfigProperty
diff --git a/gen/Stratosphere/Bedrock/Guardrail/WordConfigProperty.hs b/gen/Stratosphere/Bedrock/Guardrail/WordConfigProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Guardrail/WordConfigProperty.hs
@@ -0,0 +1,72 @@
+module Stratosphere.Bedrock.Guardrail.WordConfigProperty (
+        WordConfigProperty(..), mkWordConfigProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data WordConfigProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-wordconfig.html>
+    WordConfigProperty {haddock_workaround_ :: (),
+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-wordconfig.html#cfn-bedrock-guardrail-wordconfig-inputaction>
+                        inputAction :: (Prelude.Maybe (Value Prelude.Text)),
+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-wordconfig.html#cfn-bedrock-guardrail-wordconfig-inputenabled>
+                        inputEnabled :: (Prelude.Maybe (Value Prelude.Bool)),
+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-wordconfig.html#cfn-bedrock-guardrail-wordconfig-outputaction>
+                        outputAction :: (Prelude.Maybe (Value Prelude.Text)),
+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-wordconfig.html#cfn-bedrock-guardrail-wordconfig-outputenabled>
+                        outputEnabled :: (Prelude.Maybe (Value Prelude.Bool)),
+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-wordconfig.html#cfn-bedrock-guardrail-wordconfig-text>
+                        text :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkWordConfigProperty :: Value Prelude.Text -> WordConfigProperty
+mkWordConfigProperty text
+  = WordConfigProperty
+      {haddock_workaround_ = (), text = text,
+       inputAction = Prelude.Nothing, inputEnabled = Prelude.Nothing,
+       outputAction = Prelude.Nothing, outputEnabled = Prelude.Nothing}
+instance ToResourceProperties WordConfigProperty where
+  toResourceProperties WordConfigProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Guardrail.WordConfig",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["Text" JSON..= text]
+                           (Prelude.catMaybes
+                              [(JSON..=) "InputAction" Prelude.<$> inputAction,
+                               (JSON..=) "InputEnabled" Prelude.<$> inputEnabled,
+                               (JSON..=) "OutputAction" Prelude.<$> outputAction,
+                               (JSON..=) "OutputEnabled" Prelude.<$> outputEnabled]))}
+instance JSON.ToJSON WordConfigProperty where
+  toJSON WordConfigProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["Text" JSON..= text]
+              (Prelude.catMaybes
+                 [(JSON..=) "InputAction" Prelude.<$> inputAction,
+                  (JSON..=) "InputEnabled" Prelude.<$> inputEnabled,
+                  (JSON..=) "OutputAction" Prelude.<$> outputAction,
+                  (JSON..=) "OutputEnabled" Prelude.<$> outputEnabled])))
+instance Property "InputAction" WordConfigProperty where
+  type PropertyType "InputAction" WordConfigProperty = Value Prelude.Text
+  set newValue WordConfigProperty {..}
+    = WordConfigProperty {inputAction = Prelude.pure newValue, ..}
+instance Property "InputEnabled" WordConfigProperty where
+  type PropertyType "InputEnabled" WordConfigProperty = Value Prelude.Bool
+  set newValue WordConfigProperty {..}
+    = WordConfigProperty {inputEnabled = Prelude.pure newValue, ..}
+instance Property "OutputAction" WordConfigProperty where
+  type PropertyType "OutputAction" WordConfigProperty = Value Prelude.Text
+  set newValue WordConfigProperty {..}
+    = WordConfigProperty {outputAction = Prelude.pure newValue, ..}
+instance Property "OutputEnabled" WordConfigProperty where
+  type PropertyType "OutputEnabled" WordConfigProperty = Value Prelude.Bool
+  set newValue WordConfigProperty {..}
+    = WordConfigProperty {outputEnabled = Prelude.pure newValue, ..}
+instance Property "Text" WordConfigProperty where
+  type PropertyType "Text" WordConfigProperty = Value Prelude.Text
+  set newValue WordConfigProperty {..}
+    = WordConfigProperty {text = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Guardrail/WordConfigProperty.hs-boot b/gen/Stratosphere/Bedrock/Guardrail/WordConfigProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Guardrail/WordConfigProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Guardrail.WordConfigProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data WordConfigProperty :: Prelude.Type
+instance ToResourceProperties WordConfigProperty
+instance Prelude.Eq WordConfigProperty
+instance Prelude.Show WordConfigProperty
+instance JSON.ToJSON WordConfigProperty
diff --git a/gen/Stratosphere/Bedrock/Guardrail/WordPolicyConfigProperty.hs b/gen/Stratosphere/Bedrock/Guardrail/WordPolicyConfigProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Guardrail/WordPolicyConfigProperty.hs
@@ -0,0 +1,52 @@
+module Stratosphere.Bedrock.Guardrail.WordPolicyConfigProperty (
+        module Exports, WordPolicyConfigProperty(..),
+        mkWordPolicyConfigProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.Guardrail.ManagedWordsConfigProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.Guardrail.WordConfigProperty as Exports
+import Stratosphere.ResourceProperties
+data WordPolicyConfigProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-wordpolicyconfig.html>
+    WordPolicyConfigProperty {haddock_workaround_ :: (),
+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-wordpolicyconfig.html#cfn-bedrock-guardrail-wordpolicyconfig-managedwordlistsconfig>
+                              managedWordListsConfig :: (Prelude.Maybe [ManagedWordsConfigProperty]),
+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-wordpolicyconfig.html#cfn-bedrock-guardrail-wordpolicyconfig-wordsconfig>
+                              wordsConfig :: (Prelude.Maybe [WordConfigProperty])}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkWordPolicyConfigProperty :: WordPolicyConfigProperty
+mkWordPolicyConfigProperty
+  = WordPolicyConfigProperty
+      {haddock_workaround_ = (),
+       managedWordListsConfig = Prelude.Nothing,
+       wordsConfig = Prelude.Nothing}
+instance ToResourceProperties WordPolicyConfigProperty where
+  toResourceProperties WordPolicyConfigProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Guardrail.WordPolicyConfig",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "ManagedWordListsConfig"
+                              Prelude.<$> managedWordListsConfig,
+                            (JSON..=) "WordsConfig" Prelude.<$> wordsConfig])}
+instance JSON.ToJSON WordPolicyConfigProperty where
+  toJSON WordPolicyConfigProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "ManagedWordListsConfig"
+                 Prelude.<$> managedWordListsConfig,
+               (JSON..=) "WordsConfig" Prelude.<$> wordsConfig]))
+instance Property "ManagedWordListsConfig" WordPolicyConfigProperty where
+  type PropertyType "ManagedWordListsConfig" WordPolicyConfigProperty = [ManagedWordsConfigProperty]
+  set newValue WordPolicyConfigProperty {..}
+    = WordPolicyConfigProperty
+        {managedWordListsConfig = Prelude.pure newValue, ..}
+instance Property "WordsConfig" WordPolicyConfigProperty where
+  type PropertyType "WordsConfig" WordPolicyConfigProperty = [WordConfigProperty]
+  set newValue WordPolicyConfigProperty {..}
+    = WordPolicyConfigProperty
+        {wordsConfig = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Guardrail/WordPolicyConfigProperty.hs-boot b/gen/Stratosphere/Bedrock/Guardrail/WordPolicyConfigProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Guardrail/WordPolicyConfigProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Guardrail.WordPolicyConfigProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data WordPolicyConfigProperty :: Prelude.Type
+instance ToResourceProperties WordPolicyConfigProperty
+instance Prelude.Eq WordPolicyConfigProperty
+instance Prelude.Show WordPolicyConfigProperty
+instance JSON.ToJSON WordPolicyConfigProperty
diff --git a/gen/Stratosphere/Bedrock/GuardrailVersion.hs b/gen/Stratosphere/Bedrock/GuardrailVersion.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/GuardrailVersion.hs
@@ -0,0 +1,48 @@
+module Stratosphere.Bedrock.GuardrailVersion (
+        GuardrailVersion(..), mkGuardrailVersion
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data GuardrailVersion
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-guardrailversion.html>
+    GuardrailVersion {haddock_workaround_ :: (),
+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-guardrailversion.html#cfn-bedrock-guardrailversion-description>
+                      description :: (Prelude.Maybe (Value Prelude.Text)),
+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-guardrailversion.html#cfn-bedrock-guardrailversion-guardrailidentifier>
+                      guardrailIdentifier :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkGuardrailVersion :: Value Prelude.Text -> GuardrailVersion
+mkGuardrailVersion guardrailIdentifier
+  = GuardrailVersion
+      {haddock_workaround_ = (),
+       guardrailIdentifier = guardrailIdentifier,
+       description = Prelude.Nothing}
+instance ToResourceProperties GuardrailVersion where
+  toResourceProperties GuardrailVersion {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::GuardrailVersion",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["GuardrailIdentifier" JSON..= guardrailIdentifier]
+                           (Prelude.catMaybes
+                              [(JSON..=) "Description" Prelude.<$> description]))}
+instance JSON.ToJSON GuardrailVersion where
+  toJSON GuardrailVersion {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["GuardrailIdentifier" JSON..= guardrailIdentifier]
+              (Prelude.catMaybes
+                 [(JSON..=) "Description" Prelude.<$> description])))
+instance Property "Description" GuardrailVersion where
+  type PropertyType "Description" GuardrailVersion = Value Prelude.Text
+  set newValue GuardrailVersion {..}
+    = GuardrailVersion {description = Prelude.pure newValue, ..}
+instance Property "GuardrailIdentifier" GuardrailVersion where
+  type PropertyType "GuardrailIdentifier" GuardrailVersion = Value Prelude.Text
+  set newValue GuardrailVersion {..}
+    = GuardrailVersion {guardrailIdentifier = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/IntelligentPromptRouter.hs b/gen/Stratosphere/Bedrock/IntelligentPromptRouter.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/IntelligentPromptRouter.hs
@@ -0,0 +1,91 @@
+module Stratosphere.Bedrock.IntelligentPromptRouter (
+        module Exports, IntelligentPromptRouter(..),
+        mkIntelligentPromptRouter
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.IntelligentPromptRouter.PromptRouterTargetModelProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.IntelligentPromptRouter.RoutingCriteriaProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Tag
+import Stratosphere.Value
+data IntelligentPromptRouter
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-intelligentpromptrouter.html>
+    IntelligentPromptRouter {haddock_workaround_ :: (),
+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-intelligentpromptrouter.html#cfn-bedrock-intelligentpromptrouter-description>
+                             description :: (Prelude.Maybe (Value Prelude.Text)),
+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-intelligentpromptrouter.html#cfn-bedrock-intelligentpromptrouter-fallbackmodel>
+                             fallbackModel :: PromptRouterTargetModelProperty,
+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-intelligentpromptrouter.html#cfn-bedrock-intelligentpromptrouter-models>
+                             models :: [PromptRouterTargetModelProperty],
+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-intelligentpromptrouter.html#cfn-bedrock-intelligentpromptrouter-promptroutername>
+                             promptRouterName :: (Value Prelude.Text),
+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-intelligentpromptrouter.html#cfn-bedrock-intelligentpromptrouter-routingcriteria>
+                             routingCriteria :: RoutingCriteriaProperty,
+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-intelligentpromptrouter.html#cfn-bedrock-intelligentpromptrouter-tags>
+                             tags :: (Prelude.Maybe [Tag])}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkIntelligentPromptRouter ::
+  PromptRouterTargetModelProperty
+  -> [PromptRouterTargetModelProperty]
+     -> Value Prelude.Text
+        -> RoutingCriteriaProperty -> IntelligentPromptRouter
+mkIntelligentPromptRouter
+  fallbackModel
+  models
+  promptRouterName
+  routingCriteria
+  = IntelligentPromptRouter
+      {haddock_workaround_ = (), fallbackModel = fallbackModel,
+       models = models, promptRouterName = promptRouterName,
+       routingCriteria = routingCriteria, description = Prelude.Nothing,
+       tags = Prelude.Nothing}
+instance ToResourceProperties IntelligentPromptRouter where
+  toResourceProperties IntelligentPromptRouter {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::IntelligentPromptRouter",
+         supportsTags = Prelude.True,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["FallbackModel" JSON..= fallbackModel, "Models" JSON..= models,
+                            "PromptRouterName" JSON..= promptRouterName,
+                            "RoutingCriteria" JSON..= routingCriteria]
+                           (Prelude.catMaybes
+                              [(JSON..=) "Description" Prelude.<$> description,
+                               (JSON..=) "Tags" Prelude.<$> tags]))}
+instance JSON.ToJSON IntelligentPromptRouter where
+  toJSON IntelligentPromptRouter {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["FallbackModel" JSON..= fallbackModel, "Models" JSON..= models,
+               "PromptRouterName" JSON..= promptRouterName,
+               "RoutingCriteria" JSON..= routingCriteria]
+              (Prelude.catMaybes
+                 [(JSON..=) "Description" Prelude.<$> description,
+                  (JSON..=) "Tags" Prelude.<$> tags])))
+instance Property "Description" IntelligentPromptRouter where
+  type PropertyType "Description" IntelligentPromptRouter = Value Prelude.Text
+  set newValue IntelligentPromptRouter {..}
+    = IntelligentPromptRouter {description = Prelude.pure newValue, ..}
+instance Property "FallbackModel" IntelligentPromptRouter where
+  type PropertyType "FallbackModel" IntelligentPromptRouter = PromptRouterTargetModelProperty
+  set newValue IntelligentPromptRouter {..}
+    = IntelligentPromptRouter {fallbackModel = newValue, ..}
+instance Property "Models" IntelligentPromptRouter where
+  type PropertyType "Models" IntelligentPromptRouter = [PromptRouterTargetModelProperty]
+  set newValue IntelligentPromptRouter {..}
+    = IntelligentPromptRouter {models = newValue, ..}
+instance Property "PromptRouterName" IntelligentPromptRouter where
+  type PropertyType "PromptRouterName" IntelligentPromptRouter = Value Prelude.Text
+  set newValue IntelligentPromptRouter {..}
+    = IntelligentPromptRouter {promptRouterName = newValue, ..}
+instance Property "RoutingCriteria" IntelligentPromptRouter where
+  type PropertyType "RoutingCriteria" IntelligentPromptRouter = RoutingCriteriaProperty
+  set newValue IntelligentPromptRouter {..}
+    = IntelligentPromptRouter {routingCriteria = newValue, ..}
+instance Property "Tags" IntelligentPromptRouter where
+  type PropertyType "Tags" IntelligentPromptRouter = [Tag]
+  set newValue IntelligentPromptRouter {..}
+    = IntelligentPromptRouter {tags = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/IntelligentPromptRouter/PromptRouterTargetModelProperty.hs b/gen/Stratosphere/Bedrock/IntelligentPromptRouter/PromptRouterTargetModelProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/IntelligentPromptRouter/PromptRouterTargetModelProperty.hs
@@ -0,0 +1,33 @@
+module Stratosphere.Bedrock.IntelligentPromptRouter.PromptRouterTargetModelProperty (
+        PromptRouterTargetModelProperty(..),
+        mkPromptRouterTargetModelProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data PromptRouterTargetModelProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-intelligentpromptrouter-promptroutertargetmodel.html>
+    PromptRouterTargetModelProperty {haddock_workaround_ :: (),
+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-intelligentpromptrouter-promptroutertargetmodel.html#cfn-bedrock-intelligentpromptrouter-promptroutertargetmodel-modelarn>
+                                     modelArn :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkPromptRouterTargetModelProperty ::
+  Value Prelude.Text -> PromptRouterTargetModelProperty
+mkPromptRouterTargetModelProperty modelArn
+  = PromptRouterTargetModelProperty
+      {haddock_workaround_ = (), modelArn = modelArn}
+instance ToResourceProperties PromptRouterTargetModelProperty where
+  toResourceProperties PromptRouterTargetModelProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::IntelligentPromptRouter.PromptRouterTargetModel",
+         supportsTags = Prelude.False,
+         properties = ["ModelArn" JSON..= modelArn]}
+instance JSON.ToJSON PromptRouterTargetModelProperty where
+  toJSON PromptRouterTargetModelProperty {..}
+    = JSON.object ["ModelArn" JSON..= modelArn]
+instance Property "ModelArn" PromptRouterTargetModelProperty where
+  type PropertyType "ModelArn" PromptRouterTargetModelProperty = Value Prelude.Text
+  set newValue PromptRouterTargetModelProperty {..}
+    = PromptRouterTargetModelProperty {modelArn = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/IntelligentPromptRouter/PromptRouterTargetModelProperty.hs-boot b/gen/Stratosphere/Bedrock/IntelligentPromptRouter/PromptRouterTargetModelProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/IntelligentPromptRouter/PromptRouterTargetModelProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.IntelligentPromptRouter.PromptRouterTargetModelProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data PromptRouterTargetModelProperty :: Prelude.Type
+instance ToResourceProperties PromptRouterTargetModelProperty
+instance Prelude.Eq PromptRouterTargetModelProperty
+instance Prelude.Show PromptRouterTargetModelProperty
+instance JSON.ToJSON PromptRouterTargetModelProperty
diff --git a/gen/Stratosphere/Bedrock/IntelligentPromptRouter/RoutingCriteriaProperty.hs b/gen/Stratosphere/Bedrock/IntelligentPromptRouter/RoutingCriteriaProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/IntelligentPromptRouter/RoutingCriteriaProperty.hs
@@ -0,0 +1,36 @@
+module Stratosphere.Bedrock.IntelligentPromptRouter.RoutingCriteriaProperty (
+        RoutingCriteriaProperty(..), mkRoutingCriteriaProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data RoutingCriteriaProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-intelligentpromptrouter-routingcriteria.html>
+    RoutingCriteriaProperty {haddock_workaround_ :: (),
+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-intelligentpromptrouter-routingcriteria.html#cfn-bedrock-intelligentpromptrouter-routingcriteria-responsequalitydifference>
+                             responseQualityDifference :: (Value Prelude.Double)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkRoutingCriteriaProperty ::
+  Value Prelude.Double -> RoutingCriteriaProperty
+mkRoutingCriteriaProperty responseQualityDifference
+  = RoutingCriteriaProperty
+      {haddock_workaround_ = (),
+       responseQualityDifference = responseQualityDifference}
+instance ToResourceProperties RoutingCriteriaProperty where
+  toResourceProperties RoutingCriteriaProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::IntelligentPromptRouter.RoutingCriteria",
+         supportsTags = Prelude.False,
+         properties = ["ResponseQualityDifference"
+                         JSON..= responseQualityDifference]}
+instance JSON.ToJSON RoutingCriteriaProperty where
+  toJSON RoutingCriteriaProperty {..}
+    = JSON.object
+        ["ResponseQualityDifference" JSON..= responseQualityDifference]
+instance Property "ResponseQualityDifference" RoutingCriteriaProperty where
+  type PropertyType "ResponseQualityDifference" RoutingCriteriaProperty = Value Prelude.Double
+  set newValue RoutingCriteriaProperty {..}
+    = RoutingCriteriaProperty
+        {responseQualityDifference = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/IntelligentPromptRouter/RoutingCriteriaProperty.hs-boot b/gen/Stratosphere/Bedrock/IntelligentPromptRouter/RoutingCriteriaProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/IntelligentPromptRouter/RoutingCriteriaProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.IntelligentPromptRouter.RoutingCriteriaProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data RoutingCriteriaProperty :: Prelude.Type
+instance ToResourceProperties RoutingCriteriaProperty
+instance Prelude.Eq RoutingCriteriaProperty
+instance Prelude.Show RoutingCriteriaProperty
+instance JSON.ToJSON RoutingCriteriaProperty
diff --git a/gen/Stratosphere/Bedrock/KnowledgeBase.hs b/gen/Stratosphere/Bedrock/KnowledgeBase.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/KnowledgeBase.hs
@@ -0,0 +1,83 @@
+module Stratosphere.Bedrock.KnowledgeBase (
+        module Exports, KnowledgeBase(..), mkKnowledgeBase
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.KnowledgeBase.KnowledgeBaseConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.KnowledgeBase.StorageConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data KnowledgeBase
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-knowledgebase.html>
+    KnowledgeBase {haddock_workaround_ :: (),
+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-knowledgebase.html#cfn-bedrock-knowledgebase-description>
+                   description :: (Prelude.Maybe (Value Prelude.Text)),
+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-knowledgebase.html#cfn-bedrock-knowledgebase-knowledgebaseconfiguration>
+                   knowledgeBaseConfiguration :: KnowledgeBaseConfigurationProperty,
+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-knowledgebase.html#cfn-bedrock-knowledgebase-name>
+                   name :: (Value Prelude.Text),
+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-knowledgebase.html#cfn-bedrock-knowledgebase-rolearn>
+                   roleArn :: (Value Prelude.Text),
+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-knowledgebase.html#cfn-bedrock-knowledgebase-storageconfiguration>
+                   storageConfiguration :: (Prelude.Maybe StorageConfigurationProperty),
+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-knowledgebase.html#cfn-bedrock-knowledgebase-tags>
+                   tags :: (Prelude.Maybe (Prelude.Map Prelude.Text (Value Prelude.Text)))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkKnowledgeBase ::
+  KnowledgeBaseConfigurationProperty
+  -> Value Prelude.Text -> Value Prelude.Text -> KnowledgeBase
+mkKnowledgeBase knowledgeBaseConfiguration name roleArn
+  = KnowledgeBase
+      {haddock_workaround_ = (),
+       knowledgeBaseConfiguration = knowledgeBaseConfiguration,
+       name = name, roleArn = roleArn, description = Prelude.Nothing,
+       storageConfiguration = Prelude.Nothing, tags = Prelude.Nothing}
+instance ToResourceProperties KnowledgeBase where
+  toResourceProperties KnowledgeBase {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::KnowledgeBase",
+         supportsTags = Prelude.True,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["KnowledgeBaseConfiguration" JSON..= knowledgeBaseConfiguration,
+                            "Name" JSON..= name, "RoleArn" JSON..= roleArn]
+                           (Prelude.catMaybes
+                              [(JSON..=) "Description" Prelude.<$> description,
+                               (JSON..=) "StorageConfiguration" Prelude.<$> storageConfiguration,
+                               (JSON..=) "Tags" Prelude.<$> tags]))}
+instance JSON.ToJSON KnowledgeBase where
+  toJSON KnowledgeBase {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["KnowledgeBaseConfiguration" JSON..= knowledgeBaseConfiguration,
+               "Name" JSON..= name, "RoleArn" JSON..= roleArn]
+              (Prelude.catMaybes
+                 [(JSON..=) "Description" Prelude.<$> description,
+                  (JSON..=) "StorageConfiguration" Prelude.<$> storageConfiguration,
+                  (JSON..=) "Tags" Prelude.<$> tags])))
+instance Property "Description" KnowledgeBase where
+  type PropertyType "Description" KnowledgeBase = Value Prelude.Text
+  set newValue KnowledgeBase {..}
+    = KnowledgeBase {description = Prelude.pure newValue, ..}
+instance Property "KnowledgeBaseConfiguration" KnowledgeBase where
+  type PropertyType "KnowledgeBaseConfiguration" KnowledgeBase = KnowledgeBaseConfigurationProperty
+  set newValue KnowledgeBase {..}
+    = KnowledgeBase {knowledgeBaseConfiguration = newValue, ..}
+instance Property "Name" KnowledgeBase where
+  type PropertyType "Name" KnowledgeBase = Value Prelude.Text
+  set newValue KnowledgeBase {..}
+    = KnowledgeBase {name = newValue, ..}
+instance Property "RoleArn" KnowledgeBase where
+  type PropertyType "RoleArn" KnowledgeBase = Value Prelude.Text
+  set newValue KnowledgeBase {..}
+    = KnowledgeBase {roleArn = newValue, ..}
+instance Property "StorageConfiguration" KnowledgeBase where
+  type PropertyType "StorageConfiguration" KnowledgeBase = StorageConfigurationProperty
+  set newValue KnowledgeBase {..}
+    = KnowledgeBase {storageConfiguration = Prelude.pure newValue, ..}
+instance Property "Tags" KnowledgeBase where
+  type PropertyType "Tags" KnowledgeBase = Prelude.Map Prelude.Text (Value Prelude.Text)
+  set newValue KnowledgeBase {..}
+    = KnowledgeBase {tags = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/KnowledgeBase/BedrockEmbeddingModelConfigurationProperty.hs b/gen/Stratosphere/Bedrock/KnowledgeBase/BedrockEmbeddingModelConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/KnowledgeBase/BedrockEmbeddingModelConfigurationProperty.hs
@@ -0,0 +1,50 @@
+module Stratosphere.Bedrock.KnowledgeBase.BedrockEmbeddingModelConfigurationProperty (
+        BedrockEmbeddingModelConfigurationProperty(..),
+        mkBedrockEmbeddingModelConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data BedrockEmbeddingModelConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-bedrockembeddingmodelconfiguration.html>
+    BedrockEmbeddingModelConfigurationProperty {haddock_workaround_ :: (),
+                                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-bedrockembeddingmodelconfiguration.html#cfn-bedrock-knowledgebase-bedrockembeddingmodelconfiguration-dimensions>
+                                                dimensions :: (Prelude.Maybe (Value Prelude.Integer)),
+                                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-bedrockembeddingmodelconfiguration.html#cfn-bedrock-knowledgebase-bedrockembeddingmodelconfiguration-embeddingdatatype>
+                                                embeddingDataType :: (Prelude.Maybe (Value Prelude.Text))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkBedrockEmbeddingModelConfigurationProperty ::
+  BedrockEmbeddingModelConfigurationProperty
+mkBedrockEmbeddingModelConfigurationProperty
+  = BedrockEmbeddingModelConfigurationProperty
+      {haddock_workaround_ = (), dimensions = Prelude.Nothing,
+       embeddingDataType = Prelude.Nothing}
+instance ToResourceProperties BedrockEmbeddingModelConfigurationProperty where
+  toResourceProperties
+    BedrockEmbeddingModelConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::KnowledgeBase.BedrockEmbeddingModelConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "Dimensions" Prelude.<$> dimensions,
+                            (JSON..=) "EmbeddingDataType" Prelude.<$> embeddingDataType])}
+instance JSON.ToJSON BedrockEmbeddingModelConfigurationProperty where
+  toJSON BedrockEmbeddingModelConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "Dimensions" Prelude.<$> dimensions,
+               (JSON..=) "EmbeddingDataType" Prelude.<$> embeddingDataType]))
+instance Property "Dimensions" BedrockEmbeddingModelConfigurationProperty where
+  type PropertyType "Dimensions" BedrockEmbeddingModelConfigurationProperty = Value Prelude.Integer
+  set newValue BedrockEmbeddingModelConfigurationProperty {..}
+    = BedrockEmbeddingModelConfigurationProperty
+        {dimensions = Prelude.pure newValue, ..}
+instance Property "EmbeddingDataType" BedrockEmbeddingModelConfigurationProperty where
+  type PropertyType "EmbeddingDataType" BedrockEmbeddingModelConfigurationProperty = Value Prelude.Text
+  set newValue BedrockEmbeddingModelConfigurationProperty {..}
+    = BedrockEmbeddingModelConfigurationProperty
+        {embeddingDataType = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/KnowledgeBase/BedrockEmbeddingModelConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/KnowledgeBase/BedrockEmbeddingModelConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/KnowledgeBase/BedrockEmbeddingModelConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.KnowledgeBase.BedrockEmbeddingModelConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data BedrockEmbeddingModelConfigurationProperty :: Prelude.Type
+instance ToResourceProperties BedrockEmbeddingModelConfigurationProperty
+instance Prelude.Eq BedrockEmbeddingModelConfigurationProperty
+instance Prelude.Show BedrockEmbeddingModelConfigurationProperty
+instance JSON.ToJSON BedrockEmbeddingModelConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/KnowledgeBase/CuratedQueryProperty.hs b/gen/Stratosphere/Bedrock/KnowledgeBase/CuratedQueryProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/KnowledgeBase/CuratedQueryProperty.hs
@@ -0,0 +1,41 @@
+module Stratosphere.Bedrock.KnowledgeBase.CuratedQueryProperty (
+        CuratedQueryProperty(..), mkCuratedQueryProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data CuratedQueryProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-curatedquery.html>
+    CuratedQueryProperty {haddock_workaround_ :: (),
+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-curatedquery.html#cfn-bedrock-knowledgebase-curatedquery-naturallanguage>
+                          naturalLanguage :: (Value Prelude.Text),
+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-curatedquery.html#cfn-bedrock-knowledgebase-curatedquery-sql>
+                          sql :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkCuratedQueryProperty ::
+  Value Prelude.Text -> Value Prelude.Text -> CuratedQueryProperty
+mkCuratedQueryProperty naturalLanguage sql
+  = CuratedQueryProperty
+      {haddock_workaround_ = (), naturalLanguage = naturalLanguage,
+       sql = sql}
+instance ToResourceProperties CuratedQueryProperty where
+  toResourceProperties CuratedQueryProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::KnowledgeBase.CuratedQuery",
+         supportsTags = Prelude.False,
+         properties = ["NaturalLanguage" JSON..= naturalLanguage,
+                       "Sql" JSON..= sql]}
+instance JSON.ToJSON CuratedQueryProperty where
+  toJSON CuratedQueryProperty {..}
+    = JSON.object
+        ["NaturalLanguage" JSON..= naturalLanguage, "Sql" JSON..= sql]
+instance Property "NaturalLanguage" CuratedQueryProperty where
+  type PropertyType "NaturalLanguage" CuratedQueryProperty = Value Prelude.Text
+  set newValue CuratedQueryProperty {..}
+    = CuratedQueryProperty {naturalLanguage = newValue, ..}
+instance Property "Sql" CuratedQueryProperty where
+  type PropertyType "Sql" CuratedQueryProperty = Value Prelude.Text
+  set newValue CuratedQueryProperty {..}
+    = CuratedQueryProperty {sql = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/KnowledgeBase/CuratedQueryProperty.hs-boot b/gen/Stratosphere/Bedrock/KnowledgeBase/CuratedQueryProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/KnowledgeBase/CuratedQueryProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.KnowledgeBase.CuratedQueryProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data CuratedQueryProperty :: Prelude.Type
+instance ToResourceProperties CuratedQueryProperty
+instance Prelude.Eq CuratedQueryProperty
+instance Prelude.Show CuratedQueryProperty
+instance JSON.ToJSON CuratedQueryProperty
diff --git a/gen/Stratosphere/Bedrock/KnowledgeBase/EmbeddingModelConfigurationProperty.hs b/gen/Stratosphere/Bedrock/KnowledgeBase/EmbeddingModelConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/KnowledgeBase/EmbeddingModelConfigurationProperty.hs
@@ -0,0 +1,42 @@
+module Stratosphere.Bedrock.KnowledgeBase.EmbeddingModelConfigurationProperty (
+        module Exports, EmbeddingModelConfigurationProperty(..),
+        mkEmbeddingModelConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.KnowledgeBase.BedrockEmbeddingModelConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+data EmbeddingModelConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-embeddingmodelconfiguration.html>
+    EmbeddingModelConfigurationProperty {haddock_workaround_ :: (),
+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-embeddingmodelconfiguration.html#cfn-bedrock-knowledgebase-embeddingmodelconfiguration-bedrockembeddingmodelconfiguration>
+                                         bedrockEmbeddingModelConfiguration :: (Prelude.Maybe BedrockEmbeddingModelConfigurationProperty)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkEmbeddingModelConfigurationProperty ::
+  EmbeddingModelConfigurationProperty
+mkEmbeddingModelConfigurationProperty
+  = EmbeddingModelConfigurationProperty
+      {haddock_workaround_ = (),
+       bedrockEmbeddingModelConfiguration = Prelude.Nothing}
+instance ToResourceProperties EmbeddingModelConfigurationProperty where
+  toResourceProperties EmbeddingModelConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::KnowledgeBase.EmbeddingModelConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "BedrockEmbeddingModelConfiguration"
+                              Prelude.<$> bedrockEmbeddingModelConfiguration])}
+instance JSON.ToJSON EmbeddingModelConfigurationProperty where
+  toJSON EmbeddingModelConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "BedrockEmbeddingModelConfiguration"
+                 Prelude.<$> bedrockEmbeddingModelConfiguration]))
+instance Property "BedrockEmbeddingModelConfiguration" EmbeddingModelConfigurationProperty where
+  type PropertyType "BedrockEmbeddingModelConfiguration" EmbeddingModelConfigurationProperty = BedrockEmbeddingModelConfigurationProperty
+  set newValue EmbeddingModelConfigurationProperty {..}
+    = EmbeddingModelConfigurationProperty
+        {bedrockEmbeddingModelConfiguration = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/KnowledgeBase/EmbeddingModelConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/KnowledgeBase/EmbeddingModelConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/KnowledgeBase/EmbeddingModelConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.KnowledgeBase.EmbeddingModelConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data EmbeddingModelConfigurationProperty :: Prelude.Type
+instance ToResourceProperties EmbeddingModelConfigurationProperty
+instance Prelude.Eq EmbeddingModelConfigurationProperty
+instance Prelude.Show EmbeddingModelConfigurationProperty
+instance JSON.ToJSON EmbeddingModelConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/KnowledgeBase/KendraKnowledgeBaseConfigurationProperty.hs b/gen/Stratosphere/Bedrock/KnowledgeBase/KendraKnowledgeBaseConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/KnowledgeBase/KendraKnowledgeBaseConfigurationProperty.hs
@@ -0,0 +1,34 @@
+module Stratosphere.Bedrock.KnowledgeBase.KendraKnowledgeBaseConfigurationProperty (
+        KendraKnowledgeBaseConfigurationProperty(..),
+        mkKendraKnowledgeBaseConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data KendraKnowledgeBaseConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-kendraknowledgebaseconfiguration.html>
+    KendraKnowledgeBaseConfigurationProperty {haddock_workaround_ :: (),
+                                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-kendraknowledgebaseconfiguration.html#cfn-bedrock-knowledgebase-kendraknowledgebaseconfiguration-kendraindexarn>
+                                              kendraIndexArn :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkKendraKnowledgeBaseConfigurationProperty ::
+  Value Prelude.Text -> KendraKnowledgeBaseConfigurationProperty
+mkKendraKnowledgeBaseConfigurationProperty kendraIndexArn
+  = KendraKnowledgeBaseConfigurationProperty
+      {haddock_workaround_ = (), kendraIndexArn = kendraIndexArn}
+instance ToResourceProperties KendraKnowledgeBaseConfigurationProperty where
+  toResourceProperties KendraKnowledgeBaseConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::KnowledgeBase.KendraKnowledgeBaseConfiguration",
+         supportsTags = Prelude.False,
+         properties = ["KendraIndexArn" JSON..= kendraIndexArn]}
+instance JSON.ToJSON KendraKnowledgeBaseConfigurationProperty where
+  toJSON KendraKnowledgeBaseConfigurationProperty {..}
+    = JSON.object ["KendraIndexArn" JSON..= kendraIndexArn]
+instance Property "KendraIndexArn" KendraKnowledgeBaseConfigurationProperty where
+  type PropertyType "KendraIndexArn" KendraKnowledgeBaseConfigurationProperty = Value Prelude.Text
+  set newValue KendraKnowledgeBaseConfigurationProperty {..}
+    = KendraKnowledgeBaseConfigurationProperty
+        {kendraIndexArn = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/KnowledgeBase/KendraKnowledgeBaseConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/KnowledgeBase/KendraKnowledgeBaseConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/KnowledgeBase/KendraKnowledgeBaseConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.KnowledgeBase.KendraKnowledgeBaseConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data KendraKnowledgeBaseConfigurationProperty :: Prelude.Type
+instance ToResourceProperties KendraKnowledgeBaseConfigurationProperty
+instance Prelude.Eq KendraKnowledgeBaseConfigurationProperty
+instance Prelude.Show KendraKnowledgeBaseConfigurationProperty
+instance JSON.ToJSON KendraKnowledgeBaseConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/KnowledgeBase/KnowledgeBaseConfigurationProperty.hs b/gen/Stratosphere/Bedrock/KnowledgeBase/KnowledgeBaseConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/KnowledgeBase/KnowledgeBaseConfigurationProperty.hs
@@ -0,0 +1,79 @@
+module Stratosphere.Bedrock.KnowledgeBase.KnowledgeBaseConfigurationProperty (
+        module Exports, KnowledgeBaseConfigurationProperty(..),
+        mkKnowledgeBaseConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.KnowledgeBase.KendraKnowledgeBaseConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.KnowledgeBase.SqlKnowledgeBaseConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.KnowledgeBase.VectorKnowledgeBaseConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data KnowledgeBaseConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-knowledgebaseconfiguration.html>
+    KnowledgeBaseConfigurationProperty {haddock_workaround_ :: (),
+                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-knowledgebaseconfiguration.html#cfn-bedrock-knowledgebase-knowledgebaseconfiguration-kendraknowledgebaseconfiguration>
+                                        kendraKnowledgeBaseConfiguration :: (Prelude.Maybe KendraKnowledgeBaseConfigurationProperty),
+                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-knowledgebaseconfiguration.html#cfn-bedrock-knowledgebase-knowledgebaseconfiguration-sqlknowledgebaseconfiguration>
+                                        sqlKnowledgeBaseConfiguration :: (Prelude.Maybe SqlKnowledgeBaseConfigurationProperty),
+                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-knowledgebaseconfiguration.html#cfn-bedrock-knowledgebase-knowledgebaseconfiguration-type>
+                                        type' :: (Value Prelude.Text),
+                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-knowledgebaseconfiguration.html#cfn-bedrock-knowledgebase-knowledgebaseconfiguration-vectorknowledgebaseconfiguration>
+                                        vectorKnowledgeBaseConfiguration :: (Prelude.Maybe VectorKnowledgeBaseConfigurationProperty)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkKnowledgeBaseConfigurationProperty ::
+  Value Prelude.Text -> KnowledgeBaseConfigurationProperty
+mkKnowledgeBaseConfigurationProperty type'
+  = KnowledgeBaseConfigurationProperty
+      {haddock_workaround_ = (), type' = type',
+       kendraKnowledgeBaseConfiguration = Prelude.Nothing,
+       sqlKnowledgeBaseConfiguration = Prelude.Nothing,
+       vectorKnowledgeBaseConfiguration = Prelude.Nothing}
+instance ToResourceProperties KnowledgeBaseConfigurationProperty where
+  toResourceProperties KnowledgeBaseConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::KnowledgeBase.KnowledgeBaseConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["Type" JSON..= type']
+                           (Prelude.catMaybes
+                              [(JSON..=) "KendraKnowledgeBaseConfiguration"
+                                 Prelude.<$> kendraKnowledgeBaseConfiguration,
+                               (JSON..=) "SqlKnowledgeBaseConfiguration"
+                                 Prelude.<$> sqlKnowledgeBaseConfiguration,
+                               (JSON..=) "VectorKnowledgeBaseConfiguration"
+                                 Prelude.<$> vectorKnowledgeBaseConfiguration]))}
+instance JSON.ToJSON KnowledgeBaseConfigurationProperty where
+  toJSON KnowledgeBaseConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["Type" JSON..= type']
+              (Prelude.catMaybes
+                 [(JSON..=) "KendraKnowledgeBaseConfiguration"
+                    Prelude.<$> kendraKnowledgeBaseConfiguration,
+                  (JSON..=) "SqlKnowledgeBaseConfiguration"
+                    Prelude.<$> sqlKnowledgeBaseConfiguration,
+                  (JSON..=) "VectorKnowledgeBaseConfiguration"
+                    Prelude.<$> vectorKnowledgeBaseConfiguration])))
+instance Property "KendraKnowledgeBaseConfiguration" KnowledgeBaseConfigurationProperty where
+  type PropertyType "KendraKnowledgeBaseConfiguration" KnowledgeBaseConfigurationProperty = KendraKnowledgeBaseConfigurationProperty
+  set newValue KnowledgeBaseConfigurationProperty {..}
+    = KnowledgeBaseConfigurationProperty
+        {kendraKnowledgeBaseConfiguration = Prelude.pure newValue, ..}
+instance Property "SqlKnowledgeBaseConfiguration" KnowledgeBaseConfigurationProperty where
+  type PropertyType "SqlKnowledgeBaseConfiguration" KnowledgeBaseConfigurationProperty = SqlKnowledgeBaseConfigurationProperty
+  set newValue KnowledgeBaseConfigurationProperty {..}
+    = KnowledgeBaseConfigurationProperty
+        {sqlKnowledgeBaseConfiguration = Prelude.pure newValue, ..}
+instance Property "Type" KnowledgeBaseConfigurationProperty where
+  type PropertyType "Type" KnowledgeBaseConfigurationProperty = Value Prelude.Text
+  set newValue KnowledgeBaseConfigurationProperty {..}
+    = KnowledgeBaseConfigurationProperty {type' = newValue, ..}
+instance Property "VectorKnowledgeBaseConfiguration" KnowledgeBaseConfigurationProperty where
+  type PropertyType "VectorKnowledgeBaseConfiguration" KnowledgeBaseConfigurationProperty = VectorKnowledgeBaseConfigurationProperty
+  set newValue KnowledgeBaseConfigurationProperty {..}
+    = KnowledgeBaseConfigurationProperty
+        {vectorKnowledgeBaseConfiguration = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/KnowledgeBase/KnowledgeBaseConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/KnowledgeBase/KnowledgeBaseConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/KnowledgeBase/KnowledgeBaseConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.KnowledgeBase.KnowledgeBaseConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data KnowledgeBaseConfigurationProperty :: Prelude.Type
+instance ToResourceProperties KnowledgeBaseConfigurationProperty
+instance Prelude.Eq KnowledgeBaseConfigurationProperty
+instance Prelude.Show KnowledgeBaseConfigurationProperty
+instance JSON.ToJSON KnowledgeBaseConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/KnowledgeBase/MongoDbAtlasConfigurationProperty.hs b/gen/Stratosphere/Bedrock/KnowledgeBase/MongoDbAtlasConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/KnowledgeBase/MongoDbAtlasConfigurationProperty.hs
@@ -0,0 +1,115 @@
+module Stratosphere.Bedrock.KnowledgeBase.MongoDbAtlasConfigurationProperty (
+        module Exports, MongoDbAtlasConfigurationProperty(..),
+        mkMongoDbAtlasConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.KnowledgeBase.MongoDbAtlasFieldMappingProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data MongoDbAtlasConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-mongodbatlasconfiguration.html>
+    MongoDbAtlasConfigurationProperty {haddock_workaround_ :: (),
+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-mongodbatlasconfiguration.html#cfn-bedrock-knowledgebase-mongodbatlasconfiguration-collectionname>
+                                       collectionName :: (Value Prelude.Text),
+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-mongodbatlasconfiguration.html#cfn-bedrock-knowledgebase-mongodbatlasconfiguration-credentialssecretarn>
+                                       credentialsSecretArn :: (Value Prelude.Text),
+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-mongodbatlasconfiguration.html#cfn-bedrock-knowledgebase-mongodbatlasconfiguration-databasename>
+                                       databaseName :: (Value Prelude.Text),
+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-mongodbatlasconfiguration.html#cfn-bedrock-knowledgebase-mongodbatlasconfiguration-endpoint>
+                                       endpoint :: (Value Prelude.Text),
+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-mongodbatlasconfiguration.html#cfn-bedrock-knowledgebase-mongodbatlasconfiguration-endpointservicename>
+                                       endpointServiceName :: (Prelude.Maybe (Value Prelude.Text)),
+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-mongodbatlasconfiguration.html#cfn-bedrock-knowledgebase-mongodbatlasconfiguration-fieldmapping>
+                                       fieldMapping :: MongoDbAtlasFieldMappingProperty,
+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-mongodbatlasconfiguration.html#cfn-bedrock-knowledgebase-mongodbatlasconfiguration-textindexname>
+                                       textIndexName :: (Prelude.Maybe (Value Prelude.Text)),
+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-mongodbatlasconfiguration.html#cfn-bedrock-knowledgebase-mongodbatlasconfiguration-vectorindexname>
+                                       vectorIndexName :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkMongoDbAtlasConfigurationProperty ::
+  Value Prelude.Text
+  -> Value Prelude.Text
+     -> Value Prelude.Text
+        -> Value Prelude.Text
+           -> MongoDbAtlasFieldMappingProperty
+              -> Value Prelude.Text -> MongoDbAtlasConfigurationProperty
+mkMongoDbAtlasConfigurationProperty
+  collectionName
+  credentialsSecretArn
+  databaseName
+  endpoint
+  fieldMapping
+  vectorIndexName
+  = MongoDbAtlasConfigurationProperty
+      {haddock_workaround_ = (), collectionName = collectionName,
+       credentialsSecretArn = credentialsSecretArn,
+       databaseName = databaseName, endpoint = endpoint,
+       fieldMapping = fieldMapping, vectorIndexName = vectorIndexName,
+       endpointServiceName = Prelude.Nothing,
+       textIndexName = Prelude.Nothing}
+instance ToResourceProperties MongoDbAtlasConfigurationProperty where
+  toResourceProperties MongoDbAtlasConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::KnowledgeBase.MongoDbAtlasConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["CollectionName" JSON..= collectionName,
+                            "CredentialsSecretArn" JSON..= credentialsSecretArn,
+                            "DatabaseName" JSON..= databaseName, "Endpoint" JSON..= endpoint,
+                            "FieldMapping" JSON..= fieldMapping,
+                            "VectorIndexName" JSON..= vectorIndexName]
+                           (Prelude.catMaybes
+                              [(JSON..=) "EndpointServiceName" Prelude.<$> endpointServiceName,
+                               (JSON..=) "TextIndexName" Prelude.<$> textIndexName]))}
+instance JSON.ToJSON MongoDbAtlasConfigurationProperty where
+  toJSON MongoDbAtlasConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["CollectionName" JSON..= collectionName,
+               "CredentialsSecretArn" JSON..= credentialsSecretArn,
+               "DatabaseName" JSON..= databaseName, "Endpoint" JSON..= endpoint,
+               "FieldMapping" JSON..= fieldMapping,
+               "VectorIndexName" JSON..= vectorIndexName]
+              (Prelude.catMaybes
+                 [(JSON..=) "EndpointServiceName" Prelude.<$> endpointServiceName,
+                  (JSON..=) "TextIndexName" Prelude.<$> textIndexName])))
+instance Property "CollectionName" MongoDbAtlasConfigurationProperty where
+  type PropertyType "CollectionName" MongoDbAtlasConfigurationProperty = Value Prelude.Text
+  set newValue MongoDbAtlasConfigurationProperty {..}
+    = MongoDbAtlasConfigurationProperty {collectionName = newValue, ..}
+instance Property "CredentialsSecretArn" MongoDbAtlasConfigurationProperty where
+  type PropertyType "CredentialsSecretArn" MongoDbAtlasConfigurationProperty = Value Prelude.Text
+  set newValue MongoDbAtlasConfigurationProperty {..}
+    = MongoDbAtlasConfigurationProperty
+        {credentialsSecretArn = newValue, ..}
+instance Property "DatabaseName" MongoDbAtlasConfigurationProperty where
+  type PropertyType "DatabaseName" MongoDbAtlasConfigurationProperty = Value Prelude.Text
+  set newValue MongoDbAtlasConfigurationProperty {..}
+    = MongoDbAtlasConfigurationProperty {databaseName = newValue, ..}
+instance Property "Endpoint" MongoDbAtlasConfigurationProperty where
+  type PropertyType "Endpoint" MongoDbAtlasConfigurationProperty = Value Prelude.Text
+  set newValue MongoDbAtlasConfigurationProperty {..}
+    = MongoDbAtlasConfigurationProperty {endpoint = newValue, ..}
+instance Property "EndpointServiceName" MongoDbAtlasConfigurationProperty where
+  type PropertyType "EndpointServiceName" MongoDbAtlasConfigurationProperty = Value Prelude.Text
+  set newValue MongoDbAtlasConfigurationProperty {..}
+    = MongoDbAtlasConfigurationProperty
+        {endpointServiceName = Prelude.pure newValue, ..}
+instance Property "FieldMapping" MongoDbAtlasConfigurationProperty where
+  type PropertyType "FieldMapping" MongoDbAtlasConfigurationProperty = MongoDbAtlasFieldMappingProperty
+  set newValue MongoDbAtlasConfigurationProperty {..}
+    = MongoDbAtlasConfigurationProperty {fieldMapping = newValue, ..}
+instance Property "TextIndexName" MongoDbAtlasConfigurationProperty where
+  type PropertyType "TextIndexName" MongoDbAtlasConfigurationProperty = Value Prelude.Text
+  set newValue MongoDbAtlasConfigurationProperty {..}
+    = MongoDbAtlasConfigurationProperty
+        {textIndexName = Prelude.pure newValue, ..}
+instance Property "VectorIndexName" MongoDbAtlasConfigurationProperty where
+  type PropertyType "VectorIndexName" MongoDbAtlasConfigurationProperty = Value Prelude.Text
+  set newValue MongoDbAtlasConfigurationProperty {..}
+    = MongoDbAtlasConfigurationProperty
+        {vectorIndexName = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/KnowledgeBase/MongoDbAtlasConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/KnowledgeBase/MongoDbAtlasConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/KnowledgeBase/MongoDbAtlasConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.KnowledgeBase.MongoDbAtlasConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data MongoDbAtlasConfigurationProperty :: Prelude.Type
+instance ToResourceProperties MongoDbAtlasConfigurationProperty
+instance Prelude.Eq MongoDbAtlasConfigurationProperty
+instance Prelude.Show MongoDbAtlasConfigurationProperty
+instance JSON.ToJSON MongoDbAtlasConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/KnowledgeBase/MongoDbAtlasFieldMappingProperty.hs b/gen/Stratosphere/Bedrock/KnowledgeBase/MongoDbAtlasFieldMappingProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/KnowledgeBase/MongoDbAtlasFieldMappingProperty.hs
@@ -0,0 +1,54 @@
+module Stratosphere.Bedrock.KnowledgeBase.MongoDbAtlasFieldMappingProperty (
+        MongoDbAtlasFieldMappingProperty(..),
+        mkMongoDbAtlasFieldMappingProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data MongoDbAtlasFieldMappingProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-mongodbatlasfieldmapping.html>
+    MongoDbAtlasFieldMappingProperty {haddock_workaround_ :: (),
+                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-mongodbatlasfieldmapping.html#cfn-bedrock-knowledgebase-mongodbatlasfieldmapping-metadatafield>
+                                      metadataField :: (Value Prelude.Text),
+                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-mongodbatlasfieldmapping.html#cfn-bedrock-knowledgebase-mongodbatlasfieldmapping-textfield>
+                                      textField :: (Value Prelude.Text),
+                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-mongodbatlasfieldmapping.html#cfn-bedrock-knowledgebase-mongodbatlasfieldmapping-vectorfield>
+                                      vectorField :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkMongoDbAtlasFieldMappingProperty ::
+  Value Prelude.Text
+  -> Value Prelude.Text
+     -> Value Prelude.Text -> MongoDbAtlasFieldMappingProperty
+mkMongoDbAtlasFieldMappingProperty
+  metadataField
+  textField
+  vectorField
+  = MongoDbAtlasFieldMappingProperty
+      {haddock_workaround_ = (), metadataField = metadataField,
+       textField = textField, vectorField = vectorField}
+instance ToResourceProperties MongoDbAtlasFieldMappingProperty where
+  toResourceProperties MongoDbAtlasFieldMappingProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::KnowledgeBase.MongoDbAtlasFieldMapping",
+         supportsTags = Prelude.False,
+         properties = ["MetadataField" JSON..= metadataField,
+                       "TextField" JSON..= textField, "VectorField" JSON..= vectorField]}
+instance JSON.ToJSON MongoDbAtlasFieldMappingProperty where
+  toJSON MongoDbAtlasFieldMappingProperty {..}
+    = JSON.object
+        ["MetadataField" JSON..= metadataField,
+         "TextField" JSON..= textField, "VectorField" JSON..= vectorField]
+instance Property "MetadataField" MongoDbAtlasFieldMappingProperty where
+  type PropertyType "MetadataField" MongoDbAtlasFieldMappingProperty = Value Prelude.Text
+  set newValue MongoDbAtlasFieldMappingProperty {..}
+    = MongoDbAtlasFieldMappingProperty {metadataField = newValue, ..}
+instance Property "TextField" MongoDbAtlasFieldMappingProperty where
+  type PropertyType "TextField" MongoDbAtlasFieldMappingProperty = Value Prelude.Text
+  set newValue MongoDbAtlasFieldMappingProperty {..}
+    = MongoDbAtlasFieldMappingProperty {textField = newValue, ..}
+instance Property "VectorField" MongoDbAtlasFieldMappingProperty where
+  type PropertyType "VectorField" MongoDbAtlasFieldMappingProperty = Value Prelude.Text
+  set newValue MongoDbAtlasFieldMappingProperty {..}
+    = MongoDbAtlasFieldMappingProperty {vectorField = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/KnowledgeBase/MongoDbAtlasFieldMappingProperty.hs-boot b/gen/Stratosphere/Bedrock/KnowledgeBase/MongoDbAtlasFieldMappingProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/KnowledgeBase/MongoDbAtlasFieldMappingProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.KnowledgeBase.MongoDbAtlasFieldMappingProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data MongoDbAtlasFieldMappingProperty :: Prelude.Type
+instance ToResourceProperties MongoDbAtlasFieldMappingProperty
+instance Prelude.Eq MongoDbAtlasFieldMappingProperty
+instance Prelude.Show MongoDbAtlasFieldMappingProperty
+instance JSON.ToJSON MongoDbAtlasFieldMappingProperty
diff --git a/gen/Stratosphere/Bedrock/KnowledgeBase/NeptuneAnalyticsConfigurationProperty.hs b/gen/Stratosphere/Bedrock/KnowledgeBase/NeptuneAnalyticsConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/KnowledgeBase/NeptuneAnalyticsConfigurationProperty.hs
@@ -0,0 +1,45 @@
+module Stratosphere.Bedrock.KnowledgeBase.NeptuneAnalyticsConfigurationProperty (
+        module Exports, NeptuneAnalyticsConfigurationProperty(..),
+        mkNeptuneAnalyticsConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.KnowledgeBase.NeptuneAnalyticsFieldMappingProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data NeptuneAnalyticsConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-neptuneanalyticsconfiguration.html>
+    NeptuneAnalyticsConfigurationProperty {haddock_workaround_ :: (),
+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-neptuneanalyticsconfiguration.html#cfn-bedrock-knowledgebase-neptuneanalyticsconfiguration-fieldmapping>
+                                           fieldMapping :: NeptuneAnalyticsFieldMappingProperty,
+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-neptuneanalyticsconfiguration.html#cfn-bedrock-knowledgebase-neptuneanalyticsconfiguration-grapharn>
+                                           graphArn :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkNeptuneAnalyticsConfigurationProperty ::
+  NeptuneAnalyticsFieldMappingProperty
+  -> Value Prelude.Text -> NeptuneAnalyticsConfigurationProperty
+mkNeptuneAnalyticsConfigurationProperty fieldMapping graphArn
+  = NeptuneAnalyticsConfigurationProperty
+      {haddock_workaround_ = (), fieldMapping = fieldMapping,
+       graphArn = graphArn}
+instance ToResourceProperties NeptuneAnalyticsConfigurationProperty where
+  toResourceProperties NeptuneAnalyticsConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::KnowledgeBase.NeptuneAnalyticsConfiguration",
+         supportsTags = Prelude.False,
+         properties = ["FieldMapping" JSON..= fieldMapping,
+                       "GraphArn" JSON..= graphArn]}
+instance JSON.ToJSON NeptuneAnalyticsConfigurationProperty where
+  toJSON NeptuneAnalyticsConfigurationProperty {..}
+    = JSON.object
+        ["FieldMapping" JSON..= fieldMapping, "GraphArn" JSON..= graphArn]
+instance Property "FieldMapping" NeptuneAnalyticsConfigurationProperty where
+  type PropertyType "FieldMapping" NeptuneAnalyticsConfigurationProperty = NeptuneAnalyticsFieldMappingProperty
+  set newValue NeptuneAnalyticsConfigurationProperty {..}
+    = NeptuneAnalyticsConfigurationProperty
+        {fieldMapping = newValue, ..}
+instance Property "GraphArn" NeptuneAnalyticsConfigurationProperty where
+  type PropertyType "GraphArn" NeptuneAnalyticsConfigurationProperty = Value Prelude.Text
+  set newValue NeptuneAnalyticsConfigurationProperty {..}
+    = NeptuneAnalyticsConfigurationProperty {graphArn = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/KnowledgeBase/NeptuneAnalyticsConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/KnowledgeBase/NeptuneAnalyticsConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/KnowledgeBase/NeptuneAnalyticsConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.KnowledgeBase.NeptuneAnalyticsConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data NeptuneAnalyticsConfigurationProperty :: Prelude.Type
+instance ToResourceProperties NeptuneAnalyticsConfigurationProperty
+instance Prelude.Eq NeptuneAnalyticsConfigurationProperty
+instance Prelude.Show NeptuneAnalyticsConfigurationProperty
+instance JSON.ToJSON NeptuneAnalyticsConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/KnowledgeBase/NeptuneAnalyticsFieldMappingProperty.hs b/gen/Stratosphere/Bedrock/KnowledgeBase/NeptuneAnalyticsFieldMappingProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/KnowledgeBase/NeptuneAnalyticsFieldMappingProperty.hs
@@ -0,0 +1,45 @@
+module Stratosphere.Bedrock.KnowledgeBase.NeptuneAnalyticsFieldMappingProperty (
+        NeptuneAnalyticsFieldMappingProperty(..),
+        mkNeptuneAnalyticsFieldMappingProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data NeptuneAnalyticsFieldMappingProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-neptuneanalyticsfieldmapping.html>
+    NeptuneAnalyticsFieldMappingProperty {haddock_workaround_ :: (),
+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-neptuneanalyticsfieldmapping.html#cfn-bedrock-knowledgebase-neptuneanalyticsfieldmapping-metadatafield>
+                                          metadataField :: (Value Prelude.Text),
+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-neptuneanalyticsfieldmapping.html#cfn-bedrock-knowledgebase-neptuneanalyticsfieldmapping-textfield>
+                                          textField :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkNeptuneAnalyticsFieldMappingProperty ::
+  Value Prelude.Text
+  -> Value Prelude.Text -> NeptuneAnalyticsFieldMappingProperty
+mkNeptuneAnalyticsFieldMappingProperty metadataField textField
+  = NeptuneAnalyticsFieldMappingProperty
+      {haddock_workaround_ = (), metadataField = metadataField,
+       textField = textField}
+instance ToResourceProperties NeptuneAnalyticsFieldMappingProperty where
+  toResourceProperties NeptuneAnalyticsFieldMappingProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::KnowledgeBase.NeptuneAnalyticsFieldMapping",
+         supportsTags = Prelude.False,
+         properties = ["MetadataField" JSON..= metadataField,
+                       "TextField" JSON..= textField]}
+instance JSON.ToJSON NeptuneAnalyticsFieldMappingProperty where
+  toJSON NeptuneAnalyticsFieldMappingProperty {..}
+    = JSON.object
+        ["MetadataField" JSON..= metadataField,
+         "TextField" JSON..= textField]
+instance Property "MetadataField" NeptuneAnalyticsFieldMappingProperty where
+  type PropertyType "MetadataField" NeptuneAnalyticsFieldMappingProperty = Value Prelude.Text
+  set newValue NeptuneAnalyticsFieldMappingProperty {..}
+    = NeptuneAnalyticsFieldMappingProperty
+        {metadataField = newValue, ..}
+instance Property "TextField" NeptuneAnalyticsFieldMappingProperty where
+  type PropertyType "TextField" NeptuneAnalyticsFieldMappingProperty = Value Prelude.Text
+  set newValue NeptuneAnalyticsFieldMappingProperty {..}
+    = NeptuneAnalyticsFieldMappingProperty {textField = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/KnowledgeBase/NeptuneAnalyticsFieldMappingProperty.hs-boot b/gen/Stratosphere/Bedrock/KnowledgeBase/NeptuneAnalyticsFieldMappingProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/KnowledgeBase/NeptuneAnalyticsFieldMappingProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.KnowledgeBase.NeptuneAnalyticsFieldMappingProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data NeptuneAnalyticsFieldMappingProperty :: Prelude.Type
+instance ToResourceProperties NeptuneAnalyticsFieldMappingProperty
+instance Prelude.Eq NeptuneAnalyticsFieldMappingProperty
+instance Prelude.Show NeptuneAnalyticsFieldMappingProperty
+instance JSON.ToJSON NeptuneAnalyticsFieldMappingProperty
diff --git a/gen/Stratosphere/Bedrock/KnowledgeBase/OpenSearchManagedClusterConfigurationProperty.hs b/gen/Stratosphere/Bedrock/KnowledgeBase/OpenSearchManagedClusterConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/KnowledgeBase/OpenSearchManagedClusterConfigurationProperty.hs
@@ -0,0 +1,74 @@
+module Stratosphere.Bedrock.KnowledgeBase.OpenSearchManagedClusterConfigurationProperty (
+        module Exports, OpenSearchManagedClusterConfigurationProperty(..),
+        mkOpenSearchManagedClusterConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.KnowledgeBase.OpenSearchManagedClusterFieldMappingProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data OpenSearchManagedClusterConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-opensearchmanagedclusterconfiguration.html>
+    OpenSearchManagedClusterConfigurationProperty {haddock_workaround_ :: (),
+                                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-opensearchmanagedclusterconfiguration.html#cfn-bedrock-knowledgebase-opensearchmanagedclusterconfiguration-domainarn>
+                                                   domainArn :: (Value Prelude.Text),
+                                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-opensearchmanagedclusterconfiguration.html#cfn-bedrock-knowledgebase-opensearchmanagedclusterconfiguration-domainendpoint>
+                                                   domainEndpoint :: (Value Prelude.Text),
+                                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-opensearchmanagedclusterconfiguration.html#cfn-bedrock-knowledgebase-opensearchmanagedclusterconfiguration-fieldmapping>
+                                                   fieldMapping :: OpenSearchManagedClusterFieldMappingProperty,
+                                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-opensearchmanagedclusterconfiguration.html#cfn-bedrock-knowledgebase-opensearchmanagedclusterconfiguration-vectorindexname>
+                                                   vectorIndexName :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkOpenSearchManagedClusterConfigurationProperty ::
+  Value Prelude.Text
+  -> Value Prelude.Text
+     -> OpenSearchManagedClusterFieldMappingProperty
+        -> Value Prelude.Text
+           -> OpenSearchManagedClusterConfigurationProperty
+mkOpenSearchManagedClusterConfigurationProperty
+  domainArn
+  domainEndpoint
+  fieldMapping
+  vectorIndexName
+  = OpenSearchManagedClusterConfigurationProperty
+      {haddock_workaround_ = (), domainArn = domainArn,
+       domainEndpoint = domainEndpoint, fieldMapping = fieldMapping,
+       vectorIndexName = vectorIndexName}
+instance ToResourceProperties OpenSearchManagedClusterConfigurationProperty where
+  toResourceProperties
+    OpenSearchManagedClusterConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::KnowledgeBase.OpenSearchManagedClusterConfiguration",
+         supportsTags = Prelude.False,
+         properties = ["DomainArn" JSON..= domainArn,
+                       "DomainEndpoint" JSON..= domainEndpoint,
+                       "FieldMapping" JSON..= fieldMapping,
+                       "VectorIndexName" JSON..= vectorIndexName]}
+instance JSON.ToJSON OpenSearchManagedClusterConfigurationProperty where
+  toJSON OpenSearchManagedClusterConfigurationProperty {..}
+    = JSON.object
+        ["DomainArn" JSON..= domainArn,
+         "DomainEndpoint" JSON..= domainEndpoint,
+         "FieldMapping" JSON..= fieldMapping,
+         "VectorIndexName" JSON..= vectorIndexName]
+instance Property "DomainArn" OpenSearchManagedClusterConfigurationProperty where
+  type PropertyType "DomainArn" OpenSearchManagedClusterConfigurationProperty = Value Prelude.Text
+  set newValue OpenSearchManagedClusterConfigurationProperty {..}
+    = OpenSearchManagedClusterConfigurationProperty
+        {domainArn = newValue, ..}
+instance Property "DomainEndpoint" OpenSearchManagedClusterConfigurationProperty where
+  type PropertyType "DomainEndpoint" OpenSearchManagedClusterConfigurationProperty = Value Prelude.Text
+  set newValue OpenSearchManagedClusterConfigurationProperty {..}
+    = OpenSearchManagedClusterConfigurationProperty
+        {domainEndpoint = newValue, ..}
+instance Property "FieldMapping" OpenSearchManagedClusterConfigurationProperty where
+  type PropertyType "FieldMapping" OpenSearchManagedClusterConfigurationProperty = OpenSearchManagedClusterFieldMappingProperty
+  set newValue OpenSearchManagedClusterConfigurationProperty {..}
+    = OpenSearchManagedClusterConfigurationProperty
+        {fieldMapping = newValue, ..}
+instance Property "VectorIndexName" OpenSearchManagedClusterConfigurationProperty where
+  type PropertyType "VectorIndexName" OpenSearchManagedClusterConfigurationProperty = Value Prelude.Text
+  set newValue OpenSearchManagedClusterConfigurationProperty {..}
+    = OpenSearchManagedClusterConfigurationProperty
+        {vectorIndexName = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/KnowledgeBase/OpenSearchManagedClusterConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/KnowledgeBase/OpenSearchManagedClusterConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/KnowledgeBase/OpenSearchManagedClusterConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.KnowledgeBase.OpenSearchManagedClusterConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data OpenSearchManagedClusterConfigurationProperty :: Prelude.Type
+instance ToResourceProperties OpenSearchManagedClusterConfigurationProperty
+instance Prelude.Eq OpenSearchManagedClusterConfigurationProperty
+instance Prelude.Show OpenSearchManagedClusterConfigurationProperty
+instance JSON.ToJSON OpenSearchManagedClusterConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/KnowledgeBase/OpenSearchManagedClusterFieldMappingProperty.hs b/gen/Stratosphere/Bedrock/KnowledgeBase/OpenSearchManagedClusterFieldMappingProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/KnowledgeBase/OpenSearchManagedClusterFieldMappingProperty.hs
@@ -0,0 +1,59 @@
+module Stratosphere.Bedrock.KnowledgeBase.OpenSearchManagedClusterFieldMappingProperty (
+        OpenSearchManagedClusterFieldMappingProperty(..),
+        mkOpenSearchManagedClusterFieldMappingProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data OpenSearchManagedClusterFieldMappingProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-opensearchmanagedclusterfieldmapping.html>
+    OpenSearchManagedClusterFieldMappingProperty {haddock_workaround_ :: (),
+                                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-opensearchmanagedclusterfieldmapping.html#cfn-bedrock-knowledgebase-opensearchmanagedclusterfieldmapping-metadatafield>
+                                                  metadataField :: (Value Prelude.Text),
+                                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-opensearchmanagedclusterfieldmapping.html#cfn-bedrock-knowledgebase-opensearchmanagedclusterfieldmapping-textfield>
+                                                  textField :: (Value Prelude.Text),
+                                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-opensearchmanagedclusterfieldmapping.html#cfn-bedrock-knowledgebase-opensearchmanagedclusterfieldmapping-vectorfield>
+                                                  vectorField :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkOpenSearchManagedClusterFieldMappingProperty ::
+  Value Prelude.Text
+  -> Value Prelude.Text
+     -> Value Prelude.Text
+        -> OpenSearchManagedClusterFieldMappingProperty
+mkOpenSearchManagedClusterFieldMappingProperty
+  metadataField
+  textField
+  vectorField
+  = OpenSearchManagedClusterFieldMappingProperty
+      {haddock_workaround_ = (), metadataField = metadataField,
+       textField = textField, vectorField = vectorField}
+instance ToResourceProperties OpenSearchManagedClusterFieldMappingProperty where
+  toResourceProperties
+    OpenSearchManagedClusterFieldMappingProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::KnowledgeBase.OpenSearchManagedClusterFieldMapping",
+         supportsTags = Prelude.False,
+         properties = ["MetadataField" JSON..= metadataField,
+                       "TextField" JSON..= textField, "VectorField" JSON..= vectorField]}
+instance JSON.ToJSON OpenSearchManagedClusterFieldMappingProperty where
+  toJSON OpenSearchManagedClusterFieldMappingProperty {..}
+    = JSON.object
+        ["MetadataField" JSON..= metadataField,
+         "TextField" JSON..= textField, "VectorField" JSON..= vectorField]
+instance Property "MetadataField" OpenSearchManagedClusterFieldMappingProperty where
+  type PropertyType "MetadataField" OpenSearchManagedClusterFieldMappingProperty = Value Prelude.Text
+  set newValue OpenSearchManagedClusterFieldMappingProperty {..}
+    = OpenSearchManagedClusterFieldMappingProperty
+        {metadataField = newValue, ..}
+instance Property "TextField" OpenSearchManagedClusterFieldMappingProperty where
+  type PropertyType "TextField" OpenSearchManagedClusterFieldMappingProperty = Value Prelude.Text
+  set newValue OpenSearchManagedClusterFieldMappingProperty {..}
+    = OpenSearchManagedClusterFieldMappingProperty
+        {textField = newValue, ..}
+instance Property "VectorField" OpenSearchManagedClusterFieldMappingProperty where
+  type PropertyType "VectorField" OpenSearchManagedClusterFieldMappingProperty = Value Prelude.Text
+  set newValue OpenSearchManagedClusterFieldMappingProperty {..}
+    = OpenSearchManagedClusterFieldMappingProperty
+        {vectorField = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/KnowledgeBase/OpenSearchManagedClusterFieldMappingProperty.hs-boot b/gen/Stratosphere/Bedrock/KnowledgeBase/OpenSearchManagedClusterFieldMappingProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/KnowledgeBase/OpenSearchManagedClusterFieldMappingProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.KnowledgeBase.OpenSearchManagedClusterFieldMappingProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data OpenSearchManagedClusterFieldMappingProperty :: Prelude.Type
+instance ToResourceProperties OpenSearchManagedClusterFieldMappingProperty
+instance Prelude.Eq OpenSearchManagedClusterFieldMappingProperty
+instance Prelude.Show OpenSearchManagedClusterFieldMappingProperty
+instance JSON.ToJSON OpenSearchManagedClusterFieldMappingProperty
diff --git a/gen/Stratosphere/Bedrock/KnowledgeBase/OpenSearchServerlessConfigurationProperty.hs b/gen/Stratosphere/Bedrock/KnowledgeBase/OpenSearchServerlessConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/KnowledgeBase/OpenSearchServerlessConfigurationProperty.hs
@@ -0,0 +1,60 @@
+module Stratosphere.Bedrock.KnowledgeBase.OpenSearchServerlessConfigurationProperty (
+        module Exports, OpenSearchServerlessConfigurationProperty(..),
+        mkOpenSearchServerlessConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.KnowledgeBase.OpenSearchServerlessFieldMappingProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data OpenSearchServerlessConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-opensearchserverlessconfiguration.html>
+    OpenSearchServerlessConfigurationProperty {haddock_workaround_ :: (),
+                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-opensearchserverlessconfiguration.html#cfn-bedrock-knowledgebase-opensearchserverlessconfiguration-collectionarn>
+                                               collectionArn :: (Value Prelude.Text),
+                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-opensearchserverlessconfiguration.html#cfn-bedrock-knowledgebase-opensearchserverlessconfiguration-fieldmapping>
+                                               fieldMapping :: OpenSearchServerlessFieldMappingProperty,
+                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-opensearchserverlessconfiguration.html#cfn-bedrock-knowledgebase-opensearchserverlessconfiguration-vectorindexname>
+                                               vectorIndexName :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkOpenSearchServerlessConfigurationProperty ::
+  Value Prelude.Text
+  -> OpenSearchServerlessFieldMappingProperty
+     -> Value Prelude.Text -> OpenSearchServerlessConfigurationProperty
+mkOpenSearchServerlessConfigurationProperty
+  collectionArn
+  fieldMapping
+  vectorIndexName
+  = OpenSearchServerlessConfigurationProperty
+      {haddock_workaround_ = (), collectionArn = collectionArn,
+       fieldMapping = fieldMapping, vectorIndexName = vectorIndexName}
+instance ToResourceProperties OpenSearchServerlessConfigurationProperty where
+  toResourceProperties OpenSearchServerlessConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::KnowledgeBase.OpenSearchServerlessConfiguration",
+         supportsTags = Prelude.False,
+         properties = ["CollectionArn" JSON..= collectionArn,
+                       "FieldMapping" JSON..= fieldMapping,
+                       "VectorIndexName" JSON..= vectorIndexName]}
+instance JSON.ToJSON OpenSearchServerlessConfigurationProperty where
+  toJSON OpenSearchServerlessConfigurationProperty {..}
+    = JSON.object
+        ["CollectionArn" JSON..= collectionArn,
+         "FieldMapping" JSON..= fieldMapping,
+         "VectorIndexName" JSON..= vectorIndexName]
+instance Property "CollectionArn" OpenSearchServerlessConfigurationProperty where
+  type PropertyType "CollectionArn" OpenSearchServerlessConfigurationProperty = Value Prelude.Text
+  set newValue OpenSearchServerlessConfigurationProperty {..}
+    = OpenSearchServerlessConfigurationProperty
+        {collectionArn = newValue, ..}
+instance Property "FieldMapping" OpenSearchServerlessConfigurationProperty where
+  type PropertyType "FieldMapping" OpenSearchServerlessConfigurationProperty = OpenSearchServerlessFieldMappingProperty
+  set newValue OpenSearchServerlessConfigurationProperty {..}
+    = OpenSearchServerlessConfigurationProperty
+        {fieldMapping = newValue, ..}
+instance Property "VectorIndexName" OpenSearchServerlessConfigurationProperty where
+  type PropertyType "VectorIndexName" OpenSearchServerlessConfigurationProperty = Value Prelude.Text
+  set newValue OpenSearchServerlessConfigurationProperty {..}
+    = OpenSearchServerlessConfigurationProperty
+        {vectorIndexName = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/KnowledgeBase/OpenSearchServerlessConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/KnowledgeBase/OpenSearchServerlessConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/KnowledgeBase/OpenSearchServerlessConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.KnowledgeBase.OpenSearchServerlessConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data OpenSearchServerlessConfigurationProperty :: Prelude.Type
+instance ToResourceProperties OpenSearchServerlessConfigurationProperty
+instance Prelude.Eq OpenSearchServerlessConfigurationProperty
+instance Prelude.Show OpenSearchServerlessConfigurationProperty
+instance JSON.ToJSON OpenSearchServerlessConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/KnowledgeBase/OpenSearchServerlessFieldMappingProperty.hs b/gen/Stratosphere/Bedrock/KnowledgeBase/OpenSearchServerlessFieldMappingProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/KnowledgeBase/OpenSearchServerlessFieldMappingProperty.hs
@@ -0,0 +1,57 @@
+module Stratosphere.Bedrock.KnowledgeBase.OpenSearchServerlessFieldMappingProperty (
+        OpenSearchServerlessFieldMappingProperty(..),
+        mkOpenSearchServerlessFieldMappingProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data OpenSearchServerlessFieldMappingProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-opensearchserverlessfieldmapping.html>
+    OpenSearchServerlessFieldMappingProperty {haddock_workaround_ :: (),
+                                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-opensearchserverlessfieldmapping.html#cfn-bedrock-knowledgebase-opensearchserverlessfieldmapping-metadatafield>
+                                              metadataField :: (Value Prelude.Text),
+                                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-opensearchserverlessfieldmapping.html#cfn-bedrock-knowledgebase-opensearchserverlessfieldmapping-textfield>
+                                              textField :: (Value Prelude.Text),
+                                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-opensearchserverlessfieldmapping.html#cfn-bedrock-knowledgebase-opensearchserverlessfieldmapping-vectorfield>
+                                              vectorField :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkOpenSearchServerlessFieldMappingProperty ::
+  Value Prelude.Text
+  -> Value Prelude.Text
+     -> Value Prelude.Text -> OpenSearchServerlessFieldMappingProperty
+mkOpenSearchServerlessFieldMappingProperty
+  metadataField
+  textField
+  vectorField
+  = OpenSearchServerlessFieldMappingProperty
+      {haddock_workaround_ = (), metadataField = metadataField,
+       textField = textField, vectorField = vectorField}
+instance ToResourceProperties OpenSearchServerlessFieldMappingProperty where
+  toResourceProperties OpenSearchServerlessFieldMappingProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::KnowledgeBase.OpenSearchServerlessFieldMapping",
+         supportsTags = Prelude.False,
+         properties = ["MetadataField" JSON..= metadataField,
+                       "TextField" JSON..= textField, "VectorField" JSON..= vectorField]}
+instance JSON.ToJSON OpenSearchServerlessFieldMappingProperty where
+  toJSON OpenSearchServerlessFieldMappingProperty {..}
+    = JSON.object
+        ["MetadataField" JSON..= metadataField,
+         "TextField" JSON..= textField, "VectorField" JSON..= vectorField]
+instance Property "MetadataField" OpenSearchServerlessFieldMappingProperty where
+  type PropertyType "MetadataField" OpenSearchServerlessFieldMappingProperty = Value Prelude.Text
+  set newValue OpenSearchServerlessFieldMappingProperty {..}
+    = OpenSearchServerlessFieldMappingProperty
+        {metadataField = newValue, ..}
+instance Property "TextField" OpenSearchServerlessFieldMappingProperty where
+  type PropertyType "TextField" OpenSearchServerlessFieldMappingProperty = Value Prelude.Text
+  set newValue OpenSearchServerlessFieldMappingProperty {..}
+    = OpenSearchServerlessFieldMappingProperty
+        {textField = newValue, ..}
+instance Property "VectorField" OpenSearchServerlessFieldMappingProperty where
+  type PropertyType "VectorField" OpenSearchServerlessFieldMappingProperty = Value Prelude.Text
+  set newValue OpenSearchServerlessFieldMappingProperty {..}
+    = OpenSearchServerlessFieldMappingProperty
+        {vectorField = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/KnowledgeBase/OpenSearchServerlessFieldMappingProperty.hs-boot b/gen/Stratosphere/Bedrock/KnowledgeBase/OpenSearchServerlessFieldMappingProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/KnowledgeBase/OpenSearchServerlessFieldMappingProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.KnowledgeBase.OpenSearchServerlessFieldMappingProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data OpenSearchServerlessFieldMappingProperty :: Prelude.Type
+instance ToResourceProperties OpenSearchServerlessFieldMappingProperty
+instance Prelude.Eq OpenSearchServerlessFieldMappingProperty
+instance Prelude.Show OpenSearchServerlessFieldMappingProperty
+instance JSON.ToJSON OpenSearchServerlessFieldMappingProperty
diff --git a/gen/Stratosphere/Bedrock/KnowledgeBase/PineconeConfigurationProperty.hs b/gen/Stratosphere/Bedrock/KnowledgeBase/PineconeConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/KnowledgeBase/PineconeConfigurationProperty.hs
@@ -0,0 +1,72 @@
+module Stratosphere.Bedrock.KnowledgeBase.PineconeConfigurationProperty (
+        module Exports, PineconeConfigurationProperty(..),
+        mkPineconeConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.KnowledgeBase.PineconeFieldMappingProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data PineconeConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-pineconeconfiguration.html>
+    PineconeConfigurationProperty {haddock_workaround_ :: (),
+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-pineconeconfiguration.html#cfn-bedrock-knowledgebase-pineconeconfiguration-connectionstring>
+                                   connectionString :: (Value Prelude.Text),
+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-pineconeconfiguration.html#cfn-bedrock-knowledgebase-pineconeconfiguration-credentialssecretarn>
+                                   credentialsSecretArn :: (Value Prelude.Text),
+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-pineconeconfiguration.html#cfn-bedrock-knowledgebase-pineconeconfiguration-fieldmapping>
+                                   fieldMapping :: PineconeFieldMappingProperty,
+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-pineconeconfiguration.html#cfn-bedrock-knowledgebase-pineconeconfiguration-namespace>
+                                   namespace :: (Prelude.Maybe (Value Prelude.Text))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkPineconeConfigurationProperty ::
+  Value Prelude.Text
+  -> Value Prelude.Text
+     -> PineconeFieldMappingProperty -> PineconeConfigurationProperty
+mkPineconeConfigurationProperty
+  connectionString
+  credentialsSecretArn
+  fieldMapping
+  = PineconeConfigurationProperty
+      {haddock_workaround_ = (), connectionString = connectionString,
+       credentialsSecretArn = credentialsSecretArn,
+       fieldMapping = fieldMapping, namespace = Prelude.Nothing}
+instance ToResourceProperties PineconeConfigurationProperty where
+  toResourceProperties PineconeConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::KnowledgeBase.PineconeConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["ConnectionString" JSON..= connectionString,
+                            "CredentialsSecretArn" JSON..= credentialsSecretArn,
+                            "FieldMapping" JSON..= fieldMapping]
+                           (Prelude.catMaybes [(JSON..=) "Namespace" Prelude.<$> namespace]))}
+instance JSON.ToJSON PineconeConfigurationProperty where
+  toJSON PineconeConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["ConnectionString" JSON..= connectionString,
+               "CredentialsSecretArn" JSON..= credentialsSecretArn,
+               "FieldMapping" JSON..= fieldMapping]
+              (Prelude.catMaybes [(JSON..=) "Namespace" Prelude.<$> namespace])))
+instance Property "ConnectionString" PineconeConfigurationProperty where
+  type PropertyType "ConnectionString" PineconeConfigurationProperty = Value Prelude.Text
+  set newValue PineconeConfigurationProperty {..}
+    = PineconeConfigurationProperty {connectionString = newValue, ..}
+instance Property "CredentialsSecretArn" PineconeConfigurationProperty where
+  type PropertyType "CredentialsSecretArn" PineconeConfigurationProperty = Value Prelude.Text
+  set newValue PineconeConfigurationProperty {..}
+    = PineconeConfigurationProperty
+        {credentialsSecretArn = newValue, ..}
+instance Property "FieldMapping" PineconeConfigurationProperty where
+  type PropertyType "FieldMapping" PineconeConfigurationProperty = PineconeFieldMappingProperty
+  set newValue PineconeConfigurationProperty {..}
+    = PineconeConfigurationProperty {fieldMapping = newValue, ..}
+instance Property "Namespace" PineconeConfigurationProperty where
+  type PropertyType "Namespace" PineconeConfigurationProperty = Value Prelude.Text
+  set newValue PineconeConfigurationProperty {..}
+    = PineconeConfigurationProperty
+        {namespace = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/KnowledgeBase/PineconeConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/KnowledgeBase/PineconeConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/KnowledgeBase/PineconeConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.KnowledgeBase.PineconeConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data PineconeConfigurationProperty :: Prelude.Type
+instance ToResourceProperties PineconeConfigurationProperty
+instance Prelude.Eq PineconeConfigurationProperty
+instance Prelude.Show PineconeConfigurationProperty
+instance JSON.ToJSON PineconeConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/KnowledgeBase/PineconeFieldMappingProperty.hs b/gen/Stratosphere/Bedrock/KnowledgeBase/PineconeFieldMappingProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/KnowledgeBase/PineconeFieldMappingProperty.hs
@@ -0,0 +1,43 @@
+module Stratosphere.Bedrock.KnowledgeBase.PineconeFieldMappingProperty (
+        PineconeFieldMappingProperty(..), mkPineconeFieldMappingProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data PineconeFieldMappingProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-pineconefieldmapping.html>
+    PineconeFieldMappingProperty {haddock_workaround_ :: (),
+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-pineconefieldmapping.html#cfn-bedrock-knowledgebase-pineconefieldmapping-metadatafield>
+                                  metadataField :: (Value Prelude.Text),
+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-pineconefieldmapping.html#cfn-bedrock-knowledgebase-pineconefieldmapping-textfield>
+                                  textField :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkPineconeFieldMappingProperty ::
+  Value Prelude.Text
+  -> Value Prelude.Text -> PineconeFieldMappingProperty
+mkPineconeFieldMappingProperty metadataField textField
+  = PineconeFieldMappingProperty
+      {haddock_workaround_ = (), metadataField = metadataField,
+       textField = textField}
+instance ToResourceProperties PineconeFieldMappingProperty where
+  toResourceProperties PineconeFieldMappingProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::KnowledgeBase.PineconeFieldMapping",
+         supportsTags = Prelude.False,
+         properties = ["MetadataField" JSON..= metadataField,
+                       "TextField" JSON..= textField]}
+instance JSON.ToJSON PineconeFieldMappingProperty where
+  toJSON PineconeFieldMappingProperty {..}
+    = JSON.object
+        ["MetadataField" JSON..= metadataField,
+         "TextField" JSON..= textField]
+instance Property "MetadataField" PineconeFieldMappingProperty where
+  type PropertyType "MetadataField" PineconeFieldMappingProperty = Value Prelude.Text
+  set newValue PineconeFieldMappingProperty {..}
+    = PineconeFieldMappingProperty {metadataField = newValue, ..}
+instance Property "TextField" PineconeFieldMappingProperty where
+  type PropertyType "TextField" PineconeFieldMappingProperty = Value Prelude.Text
+  set newValue PineconeFieldMappingProperty {..}
+    = PineconeFieldMappingProperty {textField = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/KnowledgeBase/PineconeFieldMappingProperty.hs-boot b/gen/Stratosphere/Bedrock/KnowledgeBase/PineconeFieldMappingProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/KnowledgeBase/PineconeFieldMappingProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.KnowledgeBase.PineconeFieldMappingProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data PineconeFieldMappingProperty :: Prelude.Type
+instance ToResourceProperties PineconeFieldMappingProperty
+instance Prelude.Eq PineconeFieldMappingProperty
+instance Prelude.Show PineconeFieldMappingProperty
+instance JSON.ToJSON PineconeFieldMappingProperty
diff --git a/gen/Stratosphere/Bedrock/KnowledgeBase/QueryGenerationColumnProperty.hs b/gen/Stratosphere/Bedrock/KnowledgeBase/QueryGenerationColumnProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/KnowledgeBase/QueryGenerationColumnProperty.hs
@@ -0,0 +1,55 @@
+module Stratosphere.Bedrock.KnowledgeBase.QueryGenerationColumnProperty (
+        QueryGenerationColumnProperty(..), mkQueryGenerationColumnProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data QueryGenerationColumnProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-querygenerationcolumn.html>
+    QueryGenerationColumnProperty {haddock_workaround_ :: (),
+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-querygenerationcolumn.html#cfn-bedrock-knowledgebase-querygenerationcolumn-description>
+                                   description :: (Prelude.Maybe (Value Prelude.Text)),
+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-querygenerationcolumn.html#cfn-bedrock-knowledgebase-querygenerationcolumn-inclusion>
+                                   inclusion :: (Prelude.Maybe (Value Prelude.Text)),
+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-querygenerationcolumn.html#cfn-bedrock-knowledgebase-querygenerationcolumn-name>
+                                   name :: (Prelude.Maybe (Value Prelude.Text))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkQueryGenerationColumnProperty :: QueryGenerationColumnProperty
+mkQueryGenerationColumnProperty
+  = QueryGenerationColumnProperty
+      {haddock_workaround_ = (), description = Prelude.Nothing,
+       inclusion = Prelude.Nothing, name = Prelude.Nothing}
+instance ToResourceProperties QueryGenerationColumnProperty where
+  toResourceProperties QueryGenerationColumnProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::KnowledgeBase.QueryGenerationColumn",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "Description" Prelude.<$> description,
+                            (JSON..=) "Inclusion" Prelude.<$> inclusion,
+                            (JSON..=) "Name" Prelude.<$> name])}
+instance JSON.ToJSON QueryGenerationColumnProperty where
+  toJSON QueryGenerationColumnProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "Description" Prelude.<$> description,
+               (JSON..=) "Inclusion" Prelude.<$> inclusion,
+               (JSON..=) "Name" Prelude.<$> name]))
+instance Property "Description" QueryGenerationColumnProperty where
+  type PropertyType "Description" QueryGenerationColumnProperty = Value Prelude.Text
+  set newValue QueryGenerationColumnProperty {..}
+    = QueryGenerationColumnProperty
+        {description = Prelude.pure newValue, ..}
+instance Property "Inclusion" QueryGenerationColumnProperty where
+  type PropertyType "Inclusion" QueryGenerationColumnProperty = Value Prelude.Text
+  set newValue QueryGenerationColumnProperty {..}
+    = QueryGenerationColumnProperty
+        {inclusion = Prelude.pure newValue, ..}
+instance Property "Name" QueryGenerationColumnProperty where
+  type PropertyType "Name" QueryGenerationColumnProperty = Value Prelude.Text
+  set newValue QueryGenerationColumnProperty {..}
+    = QueryGenerationColumnProperty {name = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/KnowledgeBase/QueryGenerationColumnProperty.hs-boot b/gen/Stratosphere/Bedrock/KnowledgeBase/QueryGenerationColumnProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/KnowledgeBase/QueryGenerationColumnProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.KnowledgeBase.QueryGenerationColumnProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data QueryGenerationColumnProperty :: Prelude.Type
+instance ToResourceProperties QueryGenerationColumnProperty
+instance Prelude.Eq QueryGenerationColumnProperty
+instance Prelude.Show QueryGenerationColumnProperty
+instance JSON.ToJSON QueryGenerationColumnProperty
diff --git a/gen/Stratosphere/Bedrock/KnowledgeBase/QueryGenerationConfigurationProperty.hs b/gen/Stratosphere/Bedrock/KnowledgeBase/QueryGenerationConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/KnowledgeBase/QueryGenerationConfigurationProperty.hs
@@ -0,0 +1,53 @@
+module Stratosphere.Bedrock.KnowledgeBase.QueryGenerationConfigurationProperty (
+        module Exports, QueryGenerationConfigurationProperty(..),
+        mkQueryGenerationConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.KnowledgeBase.QueryGenerationContextProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data QueryGenerationConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-querygenerationconfiguration.html>
+    QueryGenerationConfigurationProperty {haddock_workaround_ :: (),
+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-querygenerationconfiguration.html#cfn-bedrock-knowledgebase-querygenerationconfiguration-executiontimeoutseconds>
+                                          executionTimeoutSeconds :: (Prelude.Maybe (Value Prelude.Integer)),
+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-querygenerationconfiguration.html#cfn-bedrock-knowledgebase-querygenerationconfiguration-generationcontext>
+                                          generationContext :: (Prelude.Maybe QueryGenerationContextProperty)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkQueryGenerationConfigurationProperty ::
+  QueryGenerationConfigurationProperty
+mkQueryGenerationConfigurationProperty
+  = QueryGenerationConfigurationProperty
+      {haddock_workaround_ = (),
+       executionTimeoutSeconds = Prelude.Nothing,
+       generationContext = Prelude.Nothing}
+instance ToResourceProperties QueryGenerationConfigurationProperty where
+  toResourceProperties QueryGenerationConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::KnowledgeBase.QueryGenerationConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "ExecutionTimeoutSeconds"
+                              Prelude.<$> executionTimeoutSeconds,
+                            (JSON..=) "GenerationContext" Prelude.<$> generationContext])}
+instance JSON.ToJSON QueryGenerationConfigurationProperty where
+  toJSON QueryGenerationConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "ExecutionTimeoutSeconds"
+                 Prelude.<$> executionTimeoutSeconds,
+               (JSON..=) "GenerationContext" Prelude.<$> generationContext]))
+instance Property "ExecutionTimeoutSeconds" QueryGenerationConfigurationProperty where
+  type PropertyType "ExecutionTimeoutSeconds" QueryGenerationConfigurationProperty = Value Prelude.Integer
+  set newValue QueryGenerationConfigurationProperty {..}
+    = QueryGenerationConfigurationProperty
+        {executionTimeoutSeconds = Prelude.pure newValue, ..}
+instance Property "GenerationContext" QueryGenerationConfigurationProperty where
+  type PropertyType "GenerationContext" QueryGenerationConfigurationProperty = QueryGenerationContextProperty
+  set newValue QueryGenerationConfigurationProperty {..}
+    = QueryGenerationConfigurationProperty
+        {generationContext = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/KnowledgeBase/QueryGenerationConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/KnowledgeBase/QueryGenerationConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/KnowledgeBase/QueryGenerationConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.KnowledgeBase.QueryGenerationConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data QueryGenerationConfigurationProperty :: Prelude.Type
+instance ToResourceProperties QueryGenerationConfigurationProperty
+instance Prelude.Eq QueryGenerationConfigurationProperty
+instance Prelude.Show QueryGenerationConfigurationProperty
+instance JSON.ToJSON QueryGenerationConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/KnowledgeBase/QueryGenerationContextProperty.hs b/gen/Stratosphere/Bedrock/KnowledgeBase/QueryGenerationContextProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/KnowledgeBase/QueryGenerationContextProperty.hs
@@ -0,0 +1,49 @@
+module Stratosphere.Bedrock.KnowledgeBase.QueryGenerationContextProperty (
+        module Exports, QueryGenerationContextProperty(..),
+        mkQueryGenerationContextProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.KnowledgeBase.CuratedQueryProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.KnowledgeBase.QueryGenerationTableProperty as Exports
+import Stratosphere.ResourceProperties
+data QueryGenerationContextProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-querygenerationcontext.html>
+    QueryGenerationContextProperty {haddock_workaround_ :: (),
+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-querygenerationcontext.html#cfn-bedrock-knowledgebase-querygenerationcontext-curatedqueries>
+                                    curatedQueries :: (Prelude.Maybe [CuratedQueryProperty]),
+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-querygenerationcontext.html#cfn-bedrock-knowledgebase-querygenerationcontext-tables>
+                                    tables :: (Prelude.Maybe [QueryGenerationTableProperty])}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkQueryGenerationContextProperty :: QueryGenerationContextProperty
+mkQueryGenerationContextProperty
+  = QueryGenerationContextProperty
+      {haddock_workaround_ = (), curatedQueries = Prelude.Nothing,
+       tables = Prelude.Nothing}
+instance ToResourceProperties QueryGenerationContextProperty where
+  toResourceProperties QueryGenerationContextProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::KnowledgeBase.QueryGenerationContext",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "CuratedQueries" Prelude.<$> curatedQueries,
+                            (JSON..=) "Tables" Prelude.<$> tables])}
+instance JSON.ToJSON QueryGenerationContextProperty where
+  toJSON QueryGenerationContextProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "CuratedQueries" Prelude.<$> curatedQueries,
+               (JSON..=) "Tables" Prelude.<$> tables]))
+instance Property "CuratedQueries" QueryGenerationContextProperty where
+  type PropertyType "CuratedQueries" QueryGenerationContextProperty = [CuratedQueryProperty]
+  set newValue QueryGenerationContextProperty {..}
+    = QueryGenerationContextProperty
+        {curatedQueries = Prelude.pure newValue, ..}
+instance Property "Tables" QueryGenerationContextProperty where
+  type PropertyType "Tables" QueryGenerationContextProperty = [QueryGenerationTableProperty]
+  set newValue QueryGenerationContextProperty {..}
+    = QueryGenerationContextProperty
+        {tables = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/KnowledgeBase/QueryGenerationContextProperty.hs-boot b/gen/Stratosphere/Bedrock/KnowledgeBase/QueryGenerationContextProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/KnowledgeBase/QueryGenerationContextProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.KnowledgeBase.QueryGenerationContextProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data QueryGenerationContextProperty :: Prelude.Type
+instance ToResourceProperties QueryGenerationContextProperty
+instance Prelude.Eq QueryGenerationContextProperty
+instance Prelude.Show QueryGenerationContextProperty
+instance JSON.ToJSON QueryGenerationContextProperty
diff --git a/gen/Stratosphere/Bedrock/KnowledgeBase/QueryGenerationTableProperty.hs b/gen/Stratosphere/Bedrock/KnowledgeBase/QueryGenerationTableProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/KnowledgeBase/QueryGenerationTableProperty.hs
@@ -0,0 +1,69 @@
+module Stratosphere.Bedrock.KnowledgeBase.QueryGenerationTableProperty (
+        module Exports, QueryGenerationTableProperty(..),
+        mkQueryGenerationTableProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.KnowledgeBase.QueryGenerationColumnProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data QueryGenerationTableProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-querygenerationtable.html>
+    QueryGenerationTableProperty {haddock_workaround_ :: (),
+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-querygenerationtable.html#cfn-bedrock-knowledgebase-querygenerationtable-columns>
+                                  columns :: (Prelude.Maybe [QueryGenerationColumnProperty]),
+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-querygenerationtable.html#cfn-bedrock-knowledgebase-querygenerationtable-description>
+                                  description :: (Prelude.Maybe (Value Prelude.Text)),
+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-querygenerationtable.html#cfn-bedrock-knowledgebase-querygenerationtable-inclusion>
+                                  inclusion :: (Prelude.Maybe (Value Prelude.Text)),
+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-querygenerationtable.html#cfn-bedrock-knowledgebase-querygenerationtable-name>
+                                  name :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkQueryGenerationTableProperty ::
+  Value Prelude.Text -> QueryGenerationTableProperty
+mkQueryGenerationTableProperty name
+  = QueryGenerationTableProperty
+      {haddock_workaround_ = (), name = name, columns = Prelude.Nothing,
+       description = Prelude.Nothing, inclusion = Prelude.Nothing}
+instance ToResourceProperties QueryGenerationTableProperty where
+  toResourceProperties QueryGenerationTableProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::KnowledgeBase.QueryGenerationTable",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["Name" JSON..= name]
+                           (Prelude.catMaybes
+                              [(JSON..=) "Columns" Prelude.<$> columns,
+                               (JSON..=) "Description" Prelude.<$> description,
+                               (JSON..=) "Inclusion" Prelude.<$> inclusion]))}
+instance JSON.ToJSON QueryGenerationTableProperty where
+  toJSON QueryGenerationTableProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["Name" JSON..= name]
+              (Prelude.catMaybes
+                 [(JSON..=) "Columns" Prelude.<$> columns,
+                  (JSON..=) "Description" Prelude.<$> description,
+                  (JSON..=) "Inclusion" Prelude.<$> inclusion])))
+instance Property "Columns" QueryGenerationTableProperty where
+  type PropertyType "Columns" QueryGenerationTableProperty = [QueryGenerationColumnProperty]
+  set newValue QueryGenerationTableProperty {..}
+    = QueryGenerationTableProperty
+        {columns = Prelude.pure newValue, ..}
+instance Property "Description" QueryGenerationTableProperty where
+  type PropertyType "Description" QueryGenerationTableProperty = Value Prelude.Text
+  set newValue QueryGenerationTableProperty {..}
+    = QueryGenerationTableProperty
+        {description = Prelude.pure newValue, ..}
+instance Property "Inclusion" QueryGenerationTableProperty where
+  type PropertyType "Inclusion" QueryGenerationTableProperty = Value Prelude.Text
+  set newValue QueryGenerationTableProperty {..}
+    = QueryGenerationTableProperty
+        {inclusion = Prelude.pure newValue, ..}
+instance Property "Name" QueryGenerationTableProperty where
+  type PropertyType "Name" QueryGenerationTableProperty = Value Prelude.Text
+  set newValue QueryGenerationTableProperty {..}
+    = QueryGenerationTableProperty {name = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/KnowledgeBase/QueryGenerationTableProperty.hs-boot b/gen/Stratosphere/Bedrock/KnowledgeBase/QueryGenerationTableProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/KnowledgeBase/QueryGenerationTableProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.KnowledgeBase.QueryGenerationTableProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data QueryGenerationTableProperty :: Prelude.Type
+instance ToResourceProperties QueryGenerationTableProperty
+instance Prelude.Eq QueryGenerationTableProperty
+instance Prelude.Show QueryGenerationTableProperty
+instance JSON.ToJSON QueryGenerationTableProperty
diff --git a/gen/Stratosphere/Bedrock/KnowledgeBase/RdsConfigurationProperty.hs b/gen/Stratosphere/Bedrock/KnowledgeBase/RdsConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/KnowledgeBase/RdsConfigurationProperty.hs
@@ -0,0 +1,77 @@
+module Stratosphere.Bedrock.KnowledgeBase.RdsConfigurationProperty (
+        module Exports, RdsConfigurationProperty(..),
+        mkRdsConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.KnowledgeBase.RdsFieldMappingProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data RdsConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-rdsconfiguration.html>
+    RdsConfigurationProperty {haddock_workaround_ :: (),
+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-rdsconfiguration.html#cfn-bedrock-knowledgebase-rdsconfiguration-credentialssecretarn>
+                              credentialsSecretArn :: (Value Prelude.Text),
+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-rdsconfiguration.html#cfn-bedrock-knowledgebase-rdsconfiguration-databasename>
+                              databaseName :: (Value Prelude.Text),
+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-rdsconfiguration.html#cfn-bedrock-knowledgebase-rdsconfiguration-fieldmapping>
+                              fieldMapping :: RdsFieldMappingProperty,
+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-rdsconfiguration.html#cfn-bedrock-knowledgebase-rdsconfiguration-resourcearn>
+                              resourceArn :: (Value Prelude.Text),
+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-rdsconfiguration.html#cfn-bedrock-knowledgebase-rdsconfiguration-tablename>
+                              tableName :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkRdsConfigurationProperty ::
+  Value Prelude.Text
+  -> Value Prelude.Text
+     -> RdsFieldMappingProperty
+        -> Value Prelude.Text
+           -> Value Prelude.Text -> RdsConfigurationProperty
+mkRdsConfigurationProperty
+  credentialsSecretArn
+  databaseName
+  fieldMapping
+  resourceArn
+  tableName
+  = RdsConfigurationProperty
+      {haddock_workaround_ = (),
+       credentialsSecretArn = credentialsSecretArn,
+       databaseName = databaseName, fieldMapping = fieldMapping,
+       resourceArn = resourceArn, tableName = tableName}
+instance ToResourceProperties RdsConfigurationProperty where
+  toResourceProperties RdsConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::KnowledgeBase.RdsConfiguration",
+         supportsTags = Prelude.False,
+         properties = ["CredentialsSecretArn" JSON..= credentialsSecretArn,
+                       "DatabaseName" JSON..= databaseName,
+                       "FieldMapping" JSON..= fieldMapping,
+                       "ResourceArn" JSON..= resourceArn, "TableName" JSON..= tableName]}
+instance JSON.ToJSON RdsConfigurationProperty where
+  toJSON RdsConfigurationProperty {..}
+    = JSON.object
+        ["CredentialsSecretArn" JSON..= credentialsSecretArn,
+         "DatabaseName" JSON..= databaseName,
+         "FieldMapping" JSON..= fieldMapping,
+         "ResourceArn" JSON..= resourceArn, "TableName" JSON..= tableName]
+instance Property "CredentialsSecretArn" RdsConfigurationProperty where
+  type PropertyType "CredentialsSecretArn" RdsConfigurationProperty = Value Prelude.Text
+  set newValue RdsConfigurationProperty {..}
+    = RdsConfigurationProperty {credentialsSecretArn = newValue, ..}
+instance Property "DatabaseName" RdsConfigurationProperty where
+  type PropertyType "DatabaseName" RdsConfigurationProperty = Value Prelude.Text
+  set newValue RdsConfigurationProperty {..}
+    = RdsConfigurationProperty {databaseName = newValue, ..}
+instance Property "FieldMapping" RdsConfigurationProperty where
+  type PropertyType "FieldMapping" RdsConfigurationProperty = RdsFieldMappingProperty
+  set newValue RdsConfigurationProperty {..}
+    = RdsConfigurationProperty {fieldMapping = newValue, ..}
+instance Property "ResourceArn" RdsConfigurationProperty where
+  type PropertyType "ResourceArn" RdsConfigurationProperty = Value Prelude.Text
+  set newValue RdsConfigurationProperty {..}
+    = RdsConfigurationProperty {resourceArn = newValue, ..}
+instance Property "TableName" RdsConfigurationProperty where
+  type PropertyType "TableName" RdsConfigurationProperty = Value Prelude.Text
+  set newValue RdsConfigurationProperty {..}
+    = RdsConfigurationProperty {tableName = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/KnowledgeBase/RdsConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/KnowledgeBase/RdsConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/KnowledgeBase/RdsConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.KnowledgeBase.RdsConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data RdsConfigurationProperty :: Prelude.Type
+instance ToResourceProperties RdsConfigurationProperty
+instance Prelude.Eq RdsConfigurationProperty
+instance Prelude.Show RdsConfigurationProperty
+instance JSON.ToJSON RdsConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/KnowledgeBase/RdsFieldMappingProperty.hs b/gen/Stratosphere/Bedrock/KnowledgeBase/RdsFieldMappingProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/KnowledgeBase/RdsFieldMappingProperty.hs
@@ -0,0 +1,81 @@
+module Stratosphere.Bedrock.KnowledgeBase.RdsFieldMappingProperty (
+        RdsFieldMappingProperty(..), mkRdsFieldMappingProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data RdsFieldMappingProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-rdsfieldmapping.html>
+    RdsFieldMappingProperty {haddock_workaround_ :: (),
+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-rdsfieldmapping.html#cfn-bedrock-knowledgebase-rdsfieldmapping-custommetadatafield>
+                             customMetadataField :: (Prelude.Maybe (Value Prelude.Text)),
+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-rdsfieldmapping.html#cfn-bedrock-knowledgebase-rdsfieldmapping-metadatafield>
+                             metadataField :: (Value Prelude.Text),
+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-rdsfieldmapping.html#cfn-bedrock-knowledgebase-rdsfieldmapping-primarykeyfield>
+                             primaryKeyField :: (Value Prelude.Text),
+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-rdsfieldmapping.html#cfn-bedrock-knowledgebase-rdsfieldmapping-textfield>
+                             textField :: (Value Prelude.Text),
+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-rdsfieldmapping.html#cfn-bedrock-knowledgebase-rdsfieldmapping-vectorfield>
+                             vectorField :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkRdsFieldMappingProperty ::
+  Value Prelude.Text
+  -> Value Prelude.Text
+     -> Value Prelude.Text
+        -> Value Prelude.Text -> RdsFieldMappingProperty
+mkRdsFieldMappingProperty
+  metadataField
+  primaryKeyField
+  textField
+  vectorField
+  = RdsFieldMappingProperty
+      {haddock_workaround_ = (), metadataField = metadataField,
+       primaryKeyField = primaryKeyField, textField = textField,
+       vectorField = vectorField, customMetadataField = Prelude.Nothing}
+instance ToResourceProperties RdsFieldMappingProperty where
+  toResourceProperties RdsFieldMappingProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::KnowledgeBase.RdsFieldMapping",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["MetadataField" JSON..= metadataField,
+                            "PrimaryKeyField" JSON..= primaryKeyField,
+                            "TextField" JSON..= textField, "VectorField" JSON..= vectorField]
+                           (Prelude.catMaybes
+                              [(JSON..=) "CustomMetadataField"
+                                 Prelude.<$> customMetadataField]))}
+instance JSON.ToJSON RdsFieldMappingProperty where
+  toJSON RdsFieldMappingProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["MetadataField" JSON..= metadataField,
+               "PrimaryKeyField" JSON..= primaryKeyField,
+               "TextField" JSON..= textField, "VectorField" JSON..= vectorField]
+              (Prelude.catMaybes
+                 [(JSON..=) "CustomMetadataField"
+                    Prelude.<$> customMetadataField])))
+instance Property "CustomMetadataField" RdsFieldMappingProperty where
+  type PropertyType "CustomMetadataField" RdsFieldMappingProperty = Value Prelude.Text
+  set newValue RdsFieldMappingProperty {..}
+    = RdsFieldMappingProperty
+        {customMetadataField = Prelude.pure newValue, ..}
+instance Property "MetadataField" RdsFieldMappingProperty where
+  type PropertyType "MetadataField" RdsFieldMappingProperty = Value Prelude.Text
+  set newValue RdsFieldMappingProperty {..}
+    = RdsFieldMappingProperty {metadataField = newValue, ..}
+instance Property "PrimaryKeyField" RdsFieldMappingProperty where
+  type PropertyType "PrimaryKeyField" RdsFieldMappingProperty = Value Prelude.Text
+  set newValue RdsFieldMappingProperty {..}
+    = RdsFieldMappingProperty {primaryKeyField = newValue, ..}
+instance Property "TextField" RdsFieldMappingProperty where
+  type PropertyType "TextField" RdsFieldMappingProperty = Value Prelude.Text
+  set newValue RdsFieldMappingProperty {..}
+    = RdsFieldMappingProperty {textField = newValue, ..}
+instance Property "VectorField" RdsFieldMappingProperty where
+  type PropertyType "VectorField" RdsFieldMappingProperty = Value Prelude.Text
+  set newValue RdsFieldMappingProperty {..}
+    = RdsFieldMappingProperty {vectorField = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/KnowledgeBase/RdsFieldMappingProperty.hs-boot b/gen/Stratosphere/Bedrock/KnowledgeBase/RdsFieldMappingProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/KnowledgeBase/RdsFieldMappingProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.KnowledgeBase.RdsFieldMappingProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data RdsFieldMappingProperty :: Prelude.Type
+instance ToResourceProperties RdsFieldMappingProperty
+instance Prelude.Eq RdsFieldMappingProperty
+instance Prelude.Show RdsFieldMappingProperty
+instance JSON.ToJSON RdsFieldMappingProperty
diff --git a/gen/Stratosphere/Bedrock/KnowledgeBase/RedshiftConfigurationProperty.hs b/gen/Stratosphere/Bedrock/KnowledgeBase/RedshiftConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/KnowledgeBase/RedshiftConfigurationProperty.hs
@@ -0,0 +1,70 @@
+module Stratosphere.Bedrock.KnowledgeBase.RedshiftConfigurationProperty (
+        module Exports, RedshiftConfigurationProperty(..),
+        mkRedshiftConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.KnowledgeBase.QueryGenerationConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.KnowledgeBase.RedshiftQueryEngineConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.KnowledgeBase.RedshiftQueryEngineStorageConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+data RedshiftConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-redshiftconfiguration.html>
+    RedshiftConfigurationProperty {haddock_workaround_ :: (),
+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-redshiftconfiguration.html#cfn-bedrock-knowledgebase-redshiftconfiguration-queryengineconfiguration>
+                                   queryEngineConfiguration :: RedshiftQueryEngineConfigurationProperty,
+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-redshiftconfiguration.html#cfn-bedrock-knowledgebase-redshiftconfiguration-querygenerationconfiguration>
+                                   queryGenerationConfiguration :: (Prelude.Maybe QueryGenerationConfigurationProperty),
+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-redshiftconfiguration.html#cfn-bedrock-knowledgebase-redshiftconfiguration-storageconfigurations>
+                                   storageConfigurations :: [RedshiftQueryEngineStorageConfigurationProperty]}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkRedshiftConfigurationProperty ::
+  RedshiftQueryEngineConfigurationProperty
+  -> [RedshiftQueryEngineStorageConfigurationProperty]
+     -> RedshiftConfigurationProperty
+mkRedshiftConfigurationProperty
+  queryEngineConfiguration
+  storageConfigurations
+  = RedshiftConfigurationProperty
+      {haddock_workaround_ = (),
+       queryEngineConfiguration = queryEngineConfiguration,
+       storageConfigurations = storageConfigurations,
+       queryGenerationConfiguration = Prelude.Nothing}
+instance ToResourceProperties RedshiftConfigurationProperty where
+  toResourceProperties RedshiftConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::KnowledgeBase.RedshiftConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["QueryEngineConfiguration" JSON..= queryEngineConfiguration,
+                            "StorageConfigurations" JSON..= storageConfigurations]
+                           (Prelude.catMaybes
+                              [(JSON..=) "QueryGenerationConfiguration"
+                                 Prelude.<$> queryGenerationConfiguration]))}
+instance JSON.ToJSON RedshiftConfigurationProperty where
+  toJSON RedshiftConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["QueryEngineConfiguration" JSON..= queryEngineConfiguration,
+               "StorageConfigurations" JSON..= storageConfigurations]
+              (Prelude.catMaybes
+                 [(JSON..=) "QueryGenerationConfiguration"
+                    Prelude.<$> queryGenerationConfiguration])))
+instance Property "QueryEngineConfiguration" RedshiftConfigurationProperty where
+  type PropertyType "QueryEngineConfiguration" RedshiftConfigurationProperty = RedshiftQueryEngineConfigurationProperty
+  set newValue RedshiftConfigurationProperty {..}
+    = RedshiftConfigurationProperty
+        {queryEngineConfiguration = newValue, ..}
+instance Property "QueryGenerationConfiguration" RedshiftConfigurationProperty where
+  type PropertyType "QueryGenerationConfiguration" RedshiftConfigurationProperty = QueryGenerationConfigurationProperty
+  set newValue RedshiftConfigurationProperty {..}
+    = RedshiftConfigurationProperty
+        {queryGenerationConfiguration = Prelude.pure newValue, ..}
+instance Property "StorageConfigurations" RedshiftConfigurationProperty where
+  type PropertyType "StorageConfigurations" RedshiftConfigurationProperty = [RedshiftQueryEngineStorageConfigurationProperty]
+  set newValue RedshiftConfigurationProperty {..}
+    = RedshiftConfigurationProperty
+        {storageConfigurations = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/KnowledgeBase/RedshiftConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/KnowledgeBase/RedshiftConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/KnowledgeBase/RedshiftConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.KnowledgeBase.RedshiftConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data RedshiftConfigurationProperty :: Prelude.Type
+instance ToResourceProperties RedshiftConfigurationProperty
+instance Prelude.Eq RedshiftConfigurationProperty
+instance Prelude.Show RedshiftConfigurationProperty
+instance JSON.ToJSON RedshiftConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/KnowledgeBase/RedshiftProvisionedAuthConfigurationProperty.hs b/gen/Stratosphere/Bedrock/KnowledgeBase/RedshiftProvisionedAuthConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/KnowledgeBase/RedshiftProvisionedAuthConfigurationProperty.hs
@@ -0,0 +1,64 @@
+module Stratosphere.Bedrock.KnowledgeBase.RedshiftProvisionedAuthConfigurationProperty (
+        RedshiftProvisionedAuthConfigurationProperty(..),
+        mkRedshiftProvisionedAuthConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data RedshiftProvisionedAuthConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-redshiftprovisionedauthconfiguration.html>
+    RedshiftProvisionedAuthConfigurationProperty {haddock_workaround_ :: (),
+                                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-redshiftprovisionedauthconfiguration.html#cfn-bedrock-knowledgebase-redshiftprovisionedauthconfiguration-databaseuser>
+                                                  databaseUser :: (Prelude.Maybe (Value Prelude.Text)),
+                                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-redshiftprovisionedauthconfiguration.html#cfn-bedrock-knowledgebase-redshiftprovisionedauthconfiguration-type>
+                                                  type' :: (Value Prelude.Text),
+                                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-redshiftprovisionedauthconfiguration.html#cfn-bedrock-knowledgebase-redshiftprovisionedauthconfiguration-usernamepasswordsecretarn>
+                                                  usernamePasswordSecretArn :: (Prelude.Maybe (Value Prelude.Text))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkRedshiftProvisionedAuthConfigurationProperty ::
+  Value Prelude.Text -> RedshiftProvisionedAuthConfigurationProperty
+mkRedshiftProvisionedAuthConfigurationProperty type'
+  = RedshiftProvisionedAuthConfigurationProperty
+      {haddock_workaround_ = (), type' = type',
+       databaseUser = Prelude.Nothing,
+       usernamePasswordSecretArn = Prelude.Nothing}
+instance ToResourceProperties RedshiftProvisionedAuthConfigurationProperty where
+  toResourceProperties
+    RedshiftProvisionedAuthConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::KnowledgeBase.RedshiftProvisionedAuthConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["Type" JSON..= type']
+                           (Prelude.catMaybes
+                              [(JSON..=) "DatabaseUser" Prelude.<$> databaseUser,
+                               (JSON..=) "UsernamePasswordSecretArn"
+                                 Prelude.<$> usernamePasswordSecretArn]))}
+instance JSON.ToJSON RedshiftProvisionedAuthConfigurationProperty where
+  toJSON RedshiftProvisionedAuthConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["Type" JSON..= type']
+              (Prelude.catMaybes
+                 [(JSON..=) "DatabaseUser" Prelude.<$> databaseUser,
+                  (JSON..=) "UsernamePasswordSecretArn"
+                    Prelude.<$> usernamePasswordSecretArn])))
+instance Property "DatabaseUser" RedshiftProvisionedAuthConfigurationProperty where
+  type PropertyType "DatabaseUser" RedshiftProvisionedAuthConfigurationProperty = Value Prelude.Text
+  set newValue RedshiftProvisionedAuthConfigurationProperty {..}
+    = RedshiftProvisionedAuthConfigurationProperty
+        {databaseUser = Prelude.pure newValue, ..}
+instance Property "Type" RedshiftProvisionedAuthConfigurationProperty where
+  type PropertyType "Type" RedshiftProvisionedAuthConfigurationProperty = Value Prelude.Text
+  set newValue RedshiftProvisionedAuthConfigurationProperty {..}
+    = RedshiftProvisionedAuthConfigurationProperty
+        {type' = newValue, ..}
+instance Property "UsernamePasswordSecretArn" RedshiftProvisionedAuthConfigurationProperty where
+  type PropertyType "UsernamePasswordSecretArn" RedshiftProvisionedAuthConfigurationProperty = Value Prelude.Text
+  set newValue RedshiftProvisionedAuthConfigurationProperty {..}
+    = RedshiftProvisionedAuthConfigurationProperty
+        {usernamePasswordSecretArn = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/KnowledgeBase/RedshiftProvisionedAuthConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/KnowledgeBase/RedshiftProvisionedAuthConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/KnowledgeBase/RedshiftProvisionedAuthConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.KnowledgeBase.RedshiftProvisionedAuthConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data RedshiftProvisionedAuthConfigurationProperty :: Prelude.Type
+instance ToResourceProperties RedshiftProvisionedAuthConfigurationProperty
+instance Prelude.Eq RedshiftProvisionedAuthConfigurationProperty
+instance Prelude.Show RedshiftProvisionedAuthConfigurationProperty
+instance JSON.ToJSON RedshiftProvisionedAuthConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/KnowledgeBase/RedshiftProvisionedConfigurationProperty.hs b/gen/Stratosphere/Bedrock/KnowledgeBase/RedshiftProvisionedConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/KnowledgeBase/RedshiftProvisionedConfigurationProperty.hs
@@ -0,0 +1,49 @@
+module Stratosphere.Bedrock.KnowledgeBase.RedshiftProvisionedConfigurationProperty (
+        module Exports, RedshiftProvisionedConfigurationProperty(..),
+        mkRedshiftProvisionedConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.KnowledgeBase.RedshiftProvisionedAuthConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data RedshiftProvisionedConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-redshiftprovisionedconfiguration.html>
+    RedshiftProvisionedConfigurationProperty {haddock_workaround_ :: (),
+                                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-redshiftprovisionedconfiguration.html#cfn-bedrock-knowledgebase-redshiftprovisionedconfiguration-authconfiguration>
+                                              authConfiguration :: RedshiftProvisionedAuthConfigurationProperty,
+                                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-redshiftprovisionedconfiguration.html#cfn-bedrock-knowledgebase-redshiftprovisionedconfiguration-clusteridentifier>
+                                              clusterIdentifier :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkRedshiftProvisionedConfigurationProperty ::
+  RedshiftProvisionedAuthConfigurationProperty
+  -> Value Prelude.Text -> RedshiftProvisionedConfigurationProperty
+mkRedshiftProvisionedConfigurationProperty
+  authConfiguration
+  clusterIdentifier
+  = RedshiftProvisionedConfigurationProperty
+      {haddock_workaround_ = (), authConfiguration = authConfiguration,
+       clusterIdentifier = clusterIdentifier}
+instance ToResourceProperties RedshiftProvisionedConfigurationProperty where
+  toResourceProperties RedshiftProvisionedConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::KnowledgeBase.RedshiftProvisionedConfiguration",
+         supportsTags = Prelude.False,
+         properties = ["AuthConfiguration" JSON..= authConfiguration,
+                       "ClusterIdentifier" JSON..= clusterIdentifier]}
+instance JSON.ToJSON RedshiftProvisionedConfigurationProperty where
+  toJSON RedshiftProvisionedConfigurationProperty {..}
+    = JSON.object
+        ["AuthConfiguration" JSON..= authConfiguration,
+         "ClusterIdentifier" JSON..= clusterIdentifier]
+instance Property "AuthConfiguration" RedshiftProvisionedConfigurationProperty where
+  type PropertyType "AuthConfiguration" RedshiftProvisionedConfigurationProperty = RedshiftProvisionedAuthConfigurationProperty
+  set newValue RedshiftProvisionedConfigurationProperty {..}
+    = RedshiftProvisionedConfigurationProperty
+        {authConfiguration = newValue, ..}
+instance Property "ClusterIdentifier" RedshiftProvisionedConfigurationProperty where
+  type PropertyType "ClusterIdentifier" RedshiftProvisionedConfigurationProperty = Value Prelude.Text
+  set newValue RedshiftProvisionedConfigurationProperty {..}
+    = RedshiftProvisionedConfigurationProperty
+        {clusterIdentifier = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/KnowledgeBase/RedshiftProvisionedConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/KnowledgeBase/RedshiftProvisionedConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/KnowledgeBase/RedshiftProvisionedConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.KnowledgeBase.RedshiftProvisionedConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data RedshiftProvisionedConfigurationProperty :: Prelude.Type
+instance ToResourceProperties RedshiftProvisionedConfigurationProperty
+instance Prelude.Eq RedshiftProvisionedConfigurationProperty
+instance Prelude.Show RedshiftProvisionedConfigurationProperty
+instance JSON.ToJSON RedshiftProvisionedConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/KnowledgeBase/RedshiftQueryEngineAwsDataCatalogStorageConfigurationProperty.hs b/gen/Stratosphere/Bedrock/KnowledgeBase/RedshiftQueryEngineAwsDataCatalogStorageConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/KnowledgeBase/RedshiftQueryEngineAwsDataCatalogStorageConfigurationProperty.hs
@@ -0,0 +1,40 @@
+module Stratosphere.Bedrock.KnowledgeBase.RedshiftQueryEngineAwsDataCatalogStorageConfigurationProperty (
+        RedshiftQueryEngineAwsDataCatalogStorageConfigurationProperty(..),
+        mkRedshiftQueryEngineAwsDataCatalogStorageConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data RedshiftQueryEngineAwsDataCatalogStorageConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-redshiftqueryengineawsdatacatalogstorageconfiguration.html>
+    RedshiftQueryEngineAwsDataCatalogStorageConfigurationProperty {haddock_workaround_ :: (),
+                                                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-redshiftqueryengineawsdatacatalogstorageconfiguration.html#cfn-bedrock-knowledgebase-redshiftqueryengineawsdatacatalogstorageconfiguration-tablenames>
+                                                                   tableNames :: (ValueList Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkRedshiftQueryEngineAwsDataCatalogStorageConfigurationProperty ::
+  ValueList Prelude.Text
+  -> RedshiftQueryEngineAwsDataCatalogStorageConfigurationProperty
+mkRedshiftQueryEngineAwsDataCatalogStorageConfigurationProperty
+  tableNames
+  = RedshiftQueryEngineAwsDataCatalogStorageConfigurationProperty
+      {haddock_workaround_ = (), tableNames = tableNames}
+instance ToResourceProperties RedshiftQueryEngineAwsDataCatalogStorageConfigurationProperty where
+  toResourceProperties
+    RedshiftQueryEngineAwsDataCatalogStorageConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::KnowledgeBase.RedshiftQueryEngineAwsDataCatalogStorageConfiguration",
+         supportsTags = Prelude.False,
+         properties = ["TableNames" JSON..= tableNames]}
+instance JSON.ToJSON RedshiftQueryEngineAwsDataCatalogStorageConfigurationProperty where
+  toJSON
+    RedshiftQueryEngineAwsDataCatalogStorageConfigurationProperty {..}
+    = JSON.object ["TableNames" JSON..= tableNames]
+instance Property "TableNames" RedshiftQueryEngineAwsDataCatalogStorageConfigurationProperty where
+  type PropertyType "TableNames" RedshiftQueryEngineAwsDataCatalogStorageConfigurationProperty = ValueList Prelude.Text
+  set
+    newValue
+    RedshiftQueryEngineAwsDataCatalogStorageConfigurationProperty {..}
+    = RedshiftQueryEngineAwsDataCatalogStorageConfigurationProperty
+        {tableNames = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/KnowledgeBase/RedshiftQueryEngineAwsDataCatalogStorageConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/KnowledgeBase/RedshiftQueryEngineAwsDataCatalogStorageConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/KnowledgeBase/RedshiftQueryEngineAwsDataCatalogStorageConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.KnowledgeBase.RedshiftQueryEngineAwsDataCatalogStorageConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data RedshiftQueryEngineAwsDataCatalogStorageConfigurationProperty :: Prelude.Type
+instance ToResourceProperties RedshiftQueryEngineAwsDataCatalogStorageConfigurationProperty
+instance Prelude.Eq RedshiftQueryEngineAwsDataCatalogStorageConfigurationProperty
+instance Prelude.Show RedshiftQueryEngineAwsDataCatalogStorageConfigurationProperty
+instance JSON.ToJSON RedshiftQueryEngineAwsDataCatalogStorageConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/KnowledgeBase/RedshiftQueryEngineConfigurationProperty.hs b/gen/Stratosphere/Bedrock/KnowledgeBase/RedshiftQueryEngineConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/KnowledgeBase/RedshiftQueryEngineConfigurationProperty.hs
@@ -0,0 +1,66 @@
+module Stratosphere.Bedrock.KnowledgeBase.RedshiftQueryEngineConfigurationProperty (
+        module Exports, RedshiftQueryEngineConfigurationProperty(..),
+        mkRedshiftQueryEngineConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.KnowledgeBase.RedshiftProvisionedConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.KnowledgeBase.RedshiftServerlessConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data RedshiftQueryEngineConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-redshiftqueryengineconfiguration.html>
+    RedshiftQueryEngineConfigurationProperty {haddock_workaround_ :: (),
+                                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-redshiftqueryengineconfiguration.html#cfn-bedrock-knowledgebase-redshiftqueryengineconfiguration-provisionedconfiguration>
+                                              provisionedConfiguration :: (Prelude.Maybe RedshiftProvisionedConfigurationProperty),
+                                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-redshiftqueryengineconfiguration.html#cfn-bedrock-knowledgebase-redshiftqueryengineconfiguration-serverlessconfiguration>
+                                              serverlessConfiguration :: (Prelude.Maybe RedshiftServerlessConfigurationProperty),
+                                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-redshiftqueryengineconfiguration.html#cfn-bedrock-knowledgebase-redshiftqueryengineconfiguration-type>
+                                              type' :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkRedshiftQueryEngineConfigurationProperty ::
+  Value Prelude.Text -> RedshiftQueryEngineConfigurationProperty
+mkRedshiftQueryEngineConfigurationProperty type'
+  = RedshiftQueryEngineConfigurationProperty
+      {haddock_workaround_ = (), type' = type',
+       provisionedConfiguration = Prelude.Nothing,
+       serverlessConfiguration = Prelude.Nothing}
+instance ToResourceProperties RedshiftQueryEngineConfigurationProperty where
+  toResourceProperties RedshiftQueryEngineConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::KnowledgeBase.RedshiftQueryEngineConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["Type" JSON..= type']
+                           (Prelude.catMaybes
+                              [(JSON..=) "ProvisionedConfiguration"
+                                 Prelude.<$> provisionedConfiguration,
+                               (JSON..=) "ServerlessConfiguration"
+                                 Prelude.<$> serverlessConfiguration]))}
+instance JSON.ToJSON RedshiftQueryEngineConfigurationProperty where
+  toJSON RedshiftQueryEngineConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["Type" JSON..= type']
+              (Prelude.catMaybes
+                 [(JSON..=) "ProvisionedConfiguration"
+                    Prelude.<$> provisionedConfiguration,
+                  (JSON..=) "ServerlessConfiguration"
+                    Prelude.<$> serverlessConfiguration])))
+instance Property "ProvisionedConfiguration" RedshiftQueryEngineConfigurationProperty where
+  type PropertyType "ProvisionedConfiguration" RedshiftQueryEngineConfigurationProperty = RedshiftProvisionedConfigurationProperty
+  set newValue RedshiftQueryEngineConfigurationProperty {..}
+    = RedshiftQueryEngineConfigurationProperty
+        {provisionedConfiguration = Prelude.pure newValue, ..}
+instance Property "ServerlessConfiguration" RedshiftQueryEngineConfigurationProperty where
+  type PropertyType "ServerlessConfiguration" RedshiftQueryEngineConfigurationProperty = RedshiftServerlessConfigurationProperty
+  set newValue RedshiftQueryEngineConfigurationProperty {..}
+    = RedshiftQueryEngineConfigurationProperty
+        {serverlessConfiguration = Prelude.pure newValue, ..}
+instance Property "Type" RedshiftQueryEngineConfigurationProperty where
+  type PropertyType "Type" RedshiftQueryEngineConfigurationProperty = Value Prelude.Text
+  set newValue RedshiftQueryEngineConfigurationProperty {..}
+    = RedshiftQueryEngineConfigurationProperty {type' = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/KnowledgeBase/RedshiftQueryEngineConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/KnowledgeBase/RedshiftQueryEngineConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/KnowledgeBase/RedshiftQueryEngineConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.KnowledgeBase.RedshiftQueryEngineConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data RedshiftQueryEngineConfigurationProperty :: Prelude.Type
+instance ToResourceProperties RedshiftQueryEngineConfigurationProperty
+instance Prelude.Eq RedshiftQueryEngineConfigurationProperty
+instance Prelude.Show RedshiftQueryEngineConfigurationProperty
+instance JSON.ToJSON RedshiftQueryEngineConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/KnowledgeBase/RedshiftQueryEngineRedshiftStorageConfigurationProperty.hs b/gen/Stratosphere/Bedrock/KnowledgeBase/RedshiftQueryEngineRedshiftStorageConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/KnowledgeBase/RedshiftQueryEngineRedshiftStorageConfigurationProperty.hs
@@ -0,0 +1,39 @@
+module Stratosphere.Bedrock.KnowledgeBase.RedshiftQueryEngineRedshiftStorageConfigurationProperty (
+        RedshiftQueryEngineRedshiftStorageConfigurationProperty(..),
+        mkRedshiftQueryEngineRedshiftStorageConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data RedshiftQueryEngineRedshiftStorageConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-redshiftqueryengineredshiftstorageconfiguration.html>
+    RedshiftQueryEngineRedshiftStorageConfigurationProperty {haddock_workaround_ :: (),
+                                                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-redshiftqueryengineredshiftstorageconfiguration.html#cfn-bedrock-knowledgebase-redshiftqueryengineredshiftstorageconfiguration-databasename>
+                                                             databaseName :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkRedshiftQueryEngineRedshiftStorageConfigurationProperty ::
+  Value Prelude.Text
+  -> RedshiftQueryEngineRedshiftStorageConfigurationProperty
+mkRedshiftQueryEngineRedshiftStorageConfigurationProperty
+  databaseName
+  = RedshiftQueryEngineRedshiftStorageConfigurationProperty
+      {haddock_workaround_ = (), databaseName = databaseName}
+instance ToResourceProperties RedshiftQueryEngineRedshiftStorageConfigurationProperty where
+  toResourceProperties
+    RedshiftQueryEngineRedshiftStorageConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::KnowledgeBase.RedshiftQueryEngineRedshiftStorageConfiguration",
+         supportsTags = Prelude.False,
+         properties = ["DatabaseName" JSON..= databaseName]}
+instance JSON.ToJSON RedshiftQueryEngineRedshiftStorageConfigurationProperty where
+  toJSON RedshiftQueryEngineRedshiftStorageConfigurationProperty {..}
+    = JSON.object ["DatabaseName" JSON..= databaseName]
+instance Property "DatabaseName" RedshiftQueryEngineRedshiftStorageConfigurationProperty where
+  type PropertyType "DatabaseName" RedshiftQueryEngineRedshiftStorageConfigurationProperty = Value Prelude.Text
+  set
+    newValue
+    RedshiftQueryEngineRedshiftStorageConfigurationProperty {..}
+    = RedshiftQueryEngineRedshiftStorageConfigurationProperty
+        {databaseName = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/KnowledgeBase/RedshiftQueryEngineRedshiftStorageConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/KnowledgeBase/RedshiftQueryEngineRedshiftStorageConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/KnowledgeBase/RedshiftQueryEngineRedshiftStorageConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.KnowledgeBase.RedshiftQueryEngineRedshiftStorageConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data RedshiftQueryEngineRedshiftStorageConfigurationProperty :: Prelude.Type
+instance ToResourceProperties RedshiftQueryEngineRedshiftStorageConfigurationProperty
+instance Prelude.Eq RedshiftQueryEngineRedshiftStorageConfigurationProperty
+instance Prelude.Show RedshiftQueryEngineRedshiftStorageConfigurationProperty
+instance JSON.ToJSON RedshiftQueryEngineRedshiftStorageConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/KnowledgeBase/RedshiftQueryEngineStorageConfigurationProperty.hs b/gen/Stratosphere/Bedrock/KnowledgeBase/RedshiftQueryEngineStorageConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/KnowledgeBase/RedshiftQueryEngineStorageConfigurationProperty.hs
@@ -0,0 +1,70 @@
+module Stratosphere.Bedrock.KnowledgeBase.RedshiftQueryEngineStorageConfigurationProperty (
+        module Exports,
+        RedshiftQueryEngineStorageConfigurationProperty(..),
+        mkRedshiftQueryEngineStorageConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.KnowledgeBase.RedshiftQueryEngineAwsDataCatalogStorageConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.KnowledgeBase.RedshiftQueryEngineRedshiftStorageConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data RedshiftQueryEngineStorageConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-redshiftqueryenginestorageconfiguration.html>
+    RedshiftQueryEngineStorageConfigurationProperty {haddock_workaround_ :: (),
+                                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-redshiftqueryenginestorageconfiguration.html#cfn-bedrock-knowledgebase-redshiftqueryenginestorageconfiguration-awsdatacatalogconfiguration>
+                                                     awsDataCatalogConfiguration :: (Prelude.Maybe RedshiftQueryEngineAwsDataCatalogStorageConfigurationProperty),
+                                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-redshiftqueryenginestorageconfiguration.html#cfn-bedrock-knowledgebase-redshiftqueryenginestorageconfiguration-redshiftconfiguration>
+                                                     redshiftConfiguration :: (Prelude.Maybe RedshiftQueryEngineRedshiftStorageConfigurationProperty),
+                                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-redshiftqueryenginestorageconfiguration.html#cfn-bedrock-knowledgebase-redshiftqueryenginestorageconfiguration-type>
+                                                     type' :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkRedshiftQueryEngineStorageConfigurationProperty ::
+  Value Prelude.Text
+  -> RedshiftQueryEngineStorageConfigurationProperty
+mkRedshiftQueryEngineStorageConfigurationProperty type'
+  = RedshiftQueryEngineStorageConfigurationProperty
+      {haddock_workaround_ = (), type' = type',
+       awsDataCatalogConfiguration = Prelude.Nothing,
+       redshiftConfiguration = Prelude.Nothing}
+instance ToResourceProperties RedshiftQueryEngineStorageConfigurationProperty where
+  toResourceProperties
+    RedshiftQueryEngineStorageConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::KnowledgeBase.RedshiftQueryEngineStorageConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["Type" JSON..= type']
+                           (Prelude.catMaybes
+                              [(JSON..=) "AwsDataCatalogConfiguration"
+                                 Prelude.<$> awsDataCatalogConfiguration,
+                               (JSON..=) "RedshiftConfiguration"
+                                 Prelude.<$> redshiftConfiguration]))}
+instance JSON.ToJSON RedshiftQueryEngineStorageConfigurationProperty where
+  toJSON RedshiftQueryEngineStorageConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["Type" JSON..= type']
+              (Prelude.catMaybes
+                 [(JSON..=) "AwsDataCatalogConfiguration"
+                    Prelude.<$> awsDataCatalogConfiguration,
+                  (JSON..=) "RedshiftConfiguration"
+                    Prelude.<$> redshiftConfiguration])))
+instance Property "AwsDataCatalogConfiguration" RedshiftQueryEngineStorageConfigurationProperty where
+  type PropertyType "AwsDataCatalogConfiguration" RedshiftQueryEngineStorageConfigurationProperty = RedshiftQueryEngineAwsDataCatalogStorageConfigurationProperty
+  set newValue RedshiftQueryEngineStorageConfigurationProperty {..}
+    = RedshiftQueryEngineStorageConfigurationProperty
+        {awsDataCatalogConfiguration = Prelude.pure newValue, ..}
+instance Property "RedshiftConfiguration" RedshiftQueryEngineStorageConfigurationProperty where
+  type PropertyType "RedshiftConfiguration" RedshiftQueryEngineStorageConfigurationProperty = RedshiftQueryEngineRedshiftStorageConfigurationProperty
+  set newValue RedshiftQueryEngineStorageConfigurationProperty {..}
+    = RedshiftQueryEngineStorageConfigurationProperty
+        {redshiftConfiguration = Prelude.pure newValue, ..}
+instance Property "Type" RedshiftQueryEngineStorageConfigurationProperty where
+  type PropertyType "Type" RedshiftQueryEngineStorageConfigurationProperty = Value Prelude.Text
+  set newValue RedshiftQueryEngineStorageConfigurationProperty {..}
+    = RedshiftQueryEngineStorageConfigurationProperty
+        {type' = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/KnowledgeBase/RedshiftQueryEngineStorageConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/KnowledgeBase/RedshiftQueryEngineStorageConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/KnowledgeBase/RedshiftQueryEngineStorageConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.KnowledgeBase.RedshiftQueryEngineStorageConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data RedshiftQueryEngineStorageConfigurationProperty :: Prelude.Type
+instance ToResourceProperties RedshiftQueryEngineStorageConfigurationProperty
+instance Prelude.Eq RedshiftQueryEngineStorageConfigurationProperty
+instance Prelude.Show RedshiftQueryEngineStorageConfigurationProperty
+instance JSON.ToJSON RedshiftQueryEngineStorageConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/KnowledgeBase/RedshiftServerlessAuthConfigurationProperty.hs b/gen/Stratosphere/Bedrock/KnowledgeBase/RedshiftServerlessAuthConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/KnowledgeBase/RedshiftServerlessAuthConfigurationProperty.hs
@@ -0,0 +1,54 @@
+module Stratosphere.Bedrock.KnowledgeBase.RedshiftServerlessAuthConfigurationProperty (
+        RedshiftServerlessAuthConfigurationProperty(..),
+        mkRedshiftServerlessAuthConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data RedshiftServerlessAuthConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-redshiftserverlessauthconfiguration.html>
+    RedshiftServerlessAuthConfigurationProperty {haddock_workaround_ :: (),
+                                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-redshiftserverlessauthconfiguration.html#cfn-bedrock-knowledgebase-redshiftserverlessauthconfiguration-type>
+                                                 type' :: (Value Prelude.Text),
+                                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-redshiftserverlessauthconfiguration.html#cfn-bedrock-knowledgebase-redshiftserverlessauthconfiguration-usernamepasswordsecretarn>
+                                                 usernamePasswordSecretArn :: (Prelude.Maybe (Value Prelude.Text))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkRedshiftServerlessAuthConfigurationProperty ::
+  Value Prelude.Text -> RedshiftServerlessAuthConfigurationProperty
+mkRedshiftServerlessAuthConfigurationProperty type'
+  = RedshiftServerlessAuthConfigurationProperty
+      {haddock_workaround_ = (), type' = type',
+       usernamePasswordSecretArn = Prelude.Nothing}
+instance ToResourceProperties RedshiftServerlessAuthConfigurationProperty where
+  toResourceProperties
+    RedshiftServerlessAuthConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::KnowledgeBase.RedshiftServerlessAuthConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["Type" JSON..= type']
+                           (Prelude.catMaybes
+                              [(JSON..=) "UsernamePasswordSecretArn"
+                                 Prelude.<$> usernamePasswordSecretArn]))}
+instance JSON.ToJSON RedshiftServerlessAuthConfigurationProperty where
+  toJSON RedshiftServerlessAuthConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["Type" JSON..= type']
+              (Prelude.catMaybes
+                 [(JSON..=) "UsernamePasswordSecretArn"
+                    Prelude.<$> usernamePasswordSecretArn])))
+instance Property "Type" RedshiftServerlessAuthConfigurationProperty where
+  type PropertyType "Type" RedshiftServerlessAuthConfigurationProperty = Value Prelude.Text
+  set newValue RedshiftServerlessAuthConfigurationProperty {..}
+    = RedshiftServerlessAuthConfigurationProperty
+        {type' = newValue, ..}
+instance Property "UsernamePasswordSecretArn" RedshiftServerlessAuthConfigurationProperty where
+  type PropertyType "UsernamePasswordSecretArn" RedshiftServerlessAuthConfigurationProperty = Value Prelude.Text
+  set newValue RedshiftServerlessAuthConfigurationProperty {..}
+    = RedshiftServerlessAuthConfigurationProperty
+        {usernamePasswordSecretArn = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/KnowledgeBase/RedshiftServerlessAuthConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/KnowledgeBase/RedshiftServerlessAuthConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/KnowledgeBase/RedshiftServerlessAuthConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.KnowledgeBase.RedshiftServerlessAuthConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data RedshiftServerlessAuthConfigurationProperty :: Prelude.Type
+instance ToResourceProperties RedshiftServerlessAuthConfigurationProperty
+instance Prelude.Eq RedshiftServerlessAuthConfigurationProperty
+instance Prelude.Show RedshiftServerlessAuthConfigurationProperty
+instance JSON.ToJSON RedshiftServerlessAuthConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/KnowledgeBase/RedshiftServerlessConfigurationProperty.hs b/gen/Stratosphere/Bedrock/KnowledgeBase/RedshiftServerlessConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/KnowledgeBase/RedshiftServerlessConfigurationProperty.hs
@@ -0,0 +1,49 @@
+module Stratosphere.Bedrock.KnowledgeBase.RedshiftServerlessConfigurationProperty (
+        module Exports, RedshiftServerlessConfigurationProperty(..),
+        mkRedshiftServerlessConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.KnowledgeBase.RedshiftServerlessAuthConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data RedshiftServerlessConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-redshiftserverlessconfiguration.html>
+    RedshiftServerlessConfigurationProperty {haddock_workaround_ :: (),
+                                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-redshiftserverlessconfiguration.html#cfn-bedrock-knowledgebase-redshiftserverlessconfiguration-authconfiguration>
+                                             authConfiguration :: RedshiftServerlessAuthConfigurationProperty,
+                                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-redshiftserverlessconfiguration.html#cfn-bedrock-knowledgebase-redshiftserverlessconfiguration-workgrouparn>
+                                             workgroupArn :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkRedshiftServerlessConfigurationProperty ::
+  RedshiftServerlessAuthConfigurationProperty
+  -> Value Prelude.Text -> RedshiftServerlessConfigurationProperty
+mkRedshiftServerlessConfigurationProperty
+  authConfiguration
+  workgroupArn
+  = RedshiftServerlessConfigurationProperty
+      {haddock_workaround_ = (), authConfiguration = authConfiguration,
+       workgroupArn = workgroupArn}
+instance ToResourceProperties RedshiftServerlessConfigurationProperty where
+  toResourceProperties RedshiftServerlessConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::KnowledgeBase.RedshiftServerlessConfiguration",
+         supportsTags = Prelude.False,
+         properties = ["AuthConfiguration" JSON..= authConfiguration,
+                       "WorkgroupArn" JSON..= workgroupArn]}
+instance JSON.ToJSON RedshiftServerlessConfigurationProperty where
+  toJSON RedshiftServerlessConfigurationProperty {..}
+    = JSON.object
+        ["AuthConfiguration" JSON..= authConfiguration,
+         "WorkgroupArn" JSON..= workgroupArn]
+instance Property "AuthConfiguration" RedshiftServerlessConfigurationProperty where
+  type PropertyType "AuthConfiguration" RedshiftServerlessConfigurationProperty = RedshiftServerlessAuthConfigurationProperty
+  set newValue RedshiftServerlessConfigurationProperty {..}
+    = RedshiftServerlessConfigurationProperty
+        {authConfiguration = newValue, ..}
+instance Property "WorkgroupArn" RedshiftServerlessConfigurationProperty where
+  type PropertyType "WorkgroupArn" RedshiftServerlessConfigurationProperty = Value Prelude.Text
+  set newValue RedshiftServerlessConfigurationProperty {..}
+    = RedshiftServerlessConfigurationProperty
+        {workgroupArn = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/KnowledgeBase/RedshiftServerlessConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/KnowledgeBase/RedshiftServerlessConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/KnowledgeBase/RedshiftServerlessConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.KnowledgeBase.RedshiftServerlessConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data RedshiftServerlessConfigurationProperty :: Prelude.Type
+instance ToResourceProperties RedshiftServerlessConfigurationProperty
+instance Prelude.Eq RedshiftServerlessConfigurationProperty
+instance Prelude.Show RedshiftServerlessConfigurationProperty
+instance JSON.ToJSON RedshiftServerlessConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/KnowledgeBase/S3LocationProperty.hs b/gen/Stratosphere/Bedrock/KnowledgeBase/S3LocationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/KnowledgeBase/S3LocationProperty.hs
@@ -0,0 +1,28 @@
+module Stratosphere.Bedrock.KnowledgeBase.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-bedrock-knowledgebase-s3location.html>
+    S3LocationProperty {haddock_workaround_ :: (),
+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-s3location.html#cfn-bedrock-knowledgebase-s3location-uri>
+                        uRI :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkS3LocationProperty :: Value Prelude.Text -> S3LocationProperty
+mkS3LocationProperty uRI
+  = S3LocationProperty {haddock_workaround_ = (), uRI = uRI}
+instance ToResourceProperties S3LocationProperty where
+  toResourceProperties S3LocationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::KnowledgeBase.S3Location",
+         supportsTags = Prelude.False, properties = ["URI" JSON..= uRI]}
+instance JSON.ToJSON S3LocationProperty where
+  toJSON S3LocationProperty {..} = JSON.object ["URI" JSON..= uRI]
+instance Property "URI" S3LocationProperty where
+  type PropertyType "URI" S3LocationProperty = Value Prelude.Text
+  set newValue S3LocationProperty {..}
+    = S3LocationProperty {uRI = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/KnowledgeBase/S3LocationProperty.hs-boot b/gen/Stratosphere/Bedrock/KnowledgeBase/S3LocationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/KnowledgeBase/S3LocationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.KnowledgeBase.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/Bedrock/KnowledgeBase/SqlKnowledgeBaseConfigurationProperty.hs b/gen/Stratosphere/Bedrock/KnowledgeBase/SqlKnowledgeBaseConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/KnowledgeBase/SqlKnowledgeBaseConfigurationProperty.hs
@@ -0,0 +1,53 @@
+module Stratosphere.Bedrock.KnowledgeBase.SqlKnowledgeBaseConfigurationProperty (
+        module Exports, SqlKnowledgeBaseConfigurationProperty(..),
+        mkSqlKnowledgeBaseConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.KnowledgeBase.RedshiftConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data SqlKnowledgeBaseConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-sqlknowledgebaseconfiguration.html>
+    SqlKnowledgeBaseConfigurationProperty {haddock_workaround_ :: (),
+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-sqlknowledgebaseconfiguration.html#cfn-bedrock-knowledgebase-sqlknowledgebaseconfiguration-redshiftconfiguration>
+                                           redshiftConfiguration :: (Prelude.Maybe RedshiftConfigurationProperty),
+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-sqlknowledgebaseconfiguration.html#cfn-bedrock-knowledgebase-sqlknowledgebaseconfiguration-type>
+                                           type' :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkSqlKnowledgeBaseConfigurationProperty ::
+  Value Prelude.Text -> SqlKnowledgeBaseConfigurationProperty
+mkSqlKnowledgeBaseConfigurationProperty type'
+  = SqlKnowledgeBaseConfigurationProperty
+      {haddock_workaround_ = (), type' = type',
+       redshiftConfiguration = Prelude.Nothing}
+instance ToResourceProperties SqlKnowledgeBaseConfigurationProperty where
+  toResourceProperties SqlKnowledgeBaseConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::KnowledgeBase.SqlKnowledgeBaseConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["Type" JSON..= type']
+                           (Prelude.catMaybes
+                              [(JSON..=) "RedshiftConfiguration"
+                                 Prelude.<$> redshiftConfiguration]))}
+instance JSON.ToJSON SqlKnowledgeBaseConfigurationProperty where
+  toJSON SqlKnowledgeBaseConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["Type" JSON..= type']
+              (Prelude.catMaybes
+                 [(JSON..=) "RedshiftConfiguration"
+                    Prelude.<$> redshiftConfiguration])))
+instance Property "RedshiftConfiguration" SqlKnowledgeBaseConfigurationProperty where
+  type PropertyType "RedshiftConfiguration" SqlKnowledgeBaseConfigurationProperty = RedshiftConfigurationProperty
+  set newValue SqlKnowledgeBaseConfigurationProperty {..}
+    = SqlKnowledgeBaseConfigurationProperty
+        {redshiftConfiguration = Prelude.pure newValue, ..}
+instance Property "Type" SqlKnowledgeBaseConfigurationProperty where
+  type PropertyType "Type" SqlKnowledgeBaseConfigurationProperty = Value Prelude.Text
+  set newValue SqlKnowledgeBaseConfigurationProperty {..}
+    = SqlKnowledgeBaseConfigurationProperty {type' = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/KnowledgeBase/SqlKnowledgeBaseConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/KnowledgeBase/SqlKnowledgeBaseConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/KnowledgeBase/SqlKnowledgeBaseConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.KnowledgeBase.SqlKnowledgeBaseConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data SqlKnowledgeBaseConfigurationProperty :: Prelude.Type
+instance ToResourceProperties SqlKnowledgeBaseConfigurationProperty
+instance Prelude.Eq SqlKnowledgeBaseConfigurationProperty
+instance Prelude.Show SqlKnowledgeBaseConfigurationProperty
+instance JSON.ToJSON SqlKnowledgeBaseConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/KnowledgeBase/StorageConfigurationProperty.hs b/gen/Stratosphere/Bedrock/KnowledgeBase/StorageConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/KnowledgeBase/StorageConfigurationProperty.hs
@@ -0,0 +1,116 @@
+module Stratosphere.Bedrock.KnowledgeBase.StorageConfigurationProperty (
+        module Exports, StorageConfigurationProperty(..),
+        mkStorageConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.KnowledgeBase.MongoDbAtlasConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.KnowledgeBase.NeptuneAnalyticsConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.KnowledgeBase.OpenSearchManagedClusterConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.KnowledgeBase.OpenSearchServerlessConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.KnowledgeBase.PineconeConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.KnowledgeBase.RdsConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data StorageConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-storageconfiguration.html>
+    StorageConfigurationProperty {haddock_workaround_ :: (),
+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-storageconfiguration.html#cfn-bedrock-knowledgebase-storageconfiguration-mongodbatlasconfiguration>
+                                  mongoDbAtlasConfiguration :: (Prelude.Maybe MongoDbAtlasConfigurationProperty),
+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-storageconfiguration.html#cfn-bedrock-knowledgebase-storageconfiguration-neptuneanalyticsconfiguration>
+                                  neptuneAnalyticsConfiguration :: (Prelude.Maybe NeptuneAnalyticsConfigurationProperty),
+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-storageconfiguration.html#cfn-bedrock-knowledgebase-storageconfiguration-opensearchmanagedclusterconfiguration>
+                                  opensearchManagedClusterConfiguration :: (Prelude.Maybe OpenSearchManagedClusterConfigurationProperty),
+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-storageconfiguration.html#cfn-bedrock-knowledgebase-storageconfiguration-opensearchserverlessconfiguration>
+                                  opensearchServerlessConfiguration :: (Prelude.Maybe OpenSearchServerlessConfigurationProperty),
+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-storageconfiguration.html#cfn-bedrock-knowledgebase-storageconfiguration-pineconeconfiguration>
+                                  pineconeConfiguration :: (Prelude.Maybe PineconeConfigurationProperty),
+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-storageconfiguration.html#cfn-bedrock-knowledgebase-storageconfiguration-rdsconfiguration>
+                                  rdsConfiguration :: (Prelude.Maybe RdsConfigurationProperty),
+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-storageconfiguration.html#cfn-bedrock-knowledgebase-storageconfiguration-type>
+                                  type' :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkStorageConfigurationProperty ::
+  Value Prelude.Text -> StorageConfigurationProperty
+mkStorageConfigurationProperty type'
+  = StorageConfigurationProperty
+      {haddock_workaround_ = (), type' = type',
+       mongoDbAtlasConfiguration = Prelude.Nothing,
+       neptuneAnalyticsConfiguration = Prelude.Nothing,
+       opensearchManagedClusterConfiguration = Prelude.Nothing,
+       opensearchServerlessConfiguration = Prelude.Nothing,
+       pineconeConfiguration = Prelude.Nothing,
+       rdsConfiguration = Prelude.Nothing}
+instance ToResourceProperties StorageConfigurationProperty where
+  toResourceProperties StorageConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::KnowledgeBase.StorageConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["Type" JSON..= type']
+                           (Prelude.catMaybes
+                              [(JSON..=) "MongoDbAtlasConfiguration"
+                                 Prelude.<$> mongoDbAtlasConfiguration,
+                               (JSON..=) "NeptuneAnalyticsConfiguration"
+                                 Prelude.<$> neptuneAnalyticsConfiguration,
+                               (JSON..=) "OpensearchManagedClusterConfiguration"
+                                 Prelude.<$> opensearchManagedClusterConfiguration,
+                               (JSON..=) "OpensearchServerlessConfiguration"
+                                 Prelude.<$> opensearchServerlessConfiguration,
+                               (JSON..=) "PineconeConfiguration"
+                                 Prelude.<$> pineconeConfiguration,
+                               (JSON..=) "RdsConfiguration" Prelude.<$> rdsConfiguration]))}
+instance JSON.ToJSON StorageConfigurationProperty where
+  toJSON StorageConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["Type" JSON..= type']
+              (Prelude.catMaybes
+                 [(JSON..=) "MongoDbAtlasConfiguration"
+                    Prelude.<$> mongoDbAtlasConfiguration,
+                  (JSON..=) "NeptuneAnalyticsConfiguration"
+                    Prelude.<$> neptuneAnalyticsConfiguration,
+                  (JSON..=) "OpensearchManagedClusterConfiguration"
+                    Prelude.<$> opensearchManagedClusterConfiguration,
+                  (JSON..=) "OpensearchServerlessConfiguration"
+                    Prelude.<$> opensearchServerlessConfiguration,
+                  (JSON..=) "PineconeConfiguration"
+                    Prelude.<$> pineconeConfiguration,
+                  (JSON..=) "RdsConfiguration" Prelude.<$> rdsConfiguration])))
+instance Property "MongoDbAtlasConfiguration" StorageConfigurationProperty where
+  type PropertyType "MongoDbAtlasConfiguration" StorageConfigurationProperty = MongoDbAtlasConfigurationProperty
+  set newValue StorageConfigurationProperty {..}
+    = StorageConfigurationProperty
+        {mongoDbAtlasConfiguration = Prelude.pure newValue, ..}
+instance Property "NeptuneAnalyticsConfiguration" StorageConfigurationProperty where
+  type PropertyType "NeptuneAnalyticsConfiguration" StorageConfigurationProperty = NeptuneAnalyticsConfigurationProperty
+  set newValue StorageConfigurationProperty {..}
+    = StorageConfigurationProperty
+        {neptuneAnalyticsConfiguration = Prelude.pure newValue, ..}
+instance Property "OpensearchManagedClusterConfiguration" StorageConfigurationProperty where
+  type PropertyType "OpensearchManagedClusterConfiguration" StorageConfigurationProperty = OpenSearchManagedClusterConfigurationProperty
+  set newValue StorageConfigurationProperty {..}
+    = StorageConfigurationProperty
+        {opensearchManagedClusterConfiguration = Prelude.pure newValue, ..}
+instance Property "OpensearchServerlessConfiguration" StorageConfigurationProperty where
+  type PropertyType "OpensearchServerlessConfiguration" StorageConfigurationProperty = OpenSearchServerlessConfigurationProperty
+  set newValue StorageConfigurationProperty {..}
+    = StorageConfigurationProperty
+        {opensearchServerlessConfiguration = Prelude.pure newValue, ..}
+instance Property "PineconeConfiguration" StorageConfigurationProperty where
+  type PropertyType "PineconeConfiguration" StorageConfigurationProperty = PineconeConfigurationProperty
+  set newValue StorageConfigurationProperty {..}
+    = StorageConfigurationProperty
+        {pineconeConfiguration = Prelude.pure newValue, ..}
+instance Property "RdsConfiguration" StorageConfigurationProperty where
+  type PropertyType "RdsConfiguration" StorageConfigurationProperty = RdsConfigurationProperty
+  set newValue StorageConfigurationProperty {..}
+    = StorageConfigurationProperty
+        {rdsConfiguration = Prelude.pure newValue, ..}
+instance Property "Type" StorageConfigurationProperty where
+  type PropertyType "Type" StorageConfigurationProperty = Value Prelude.Text
+  set newValue StorageConfigurationProperty {..}
+    = StorageConfigurationProperty {type' = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/KnowledgeBase/StorageConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/KnowledgeBase/StorageConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/KnowledgeBase/StorageConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.KnowledgeBase.StorageConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data StorageConfigurationProperty :: Prelude.Type
+instance ToResourceProperties StorageConfigurationProperty
+instance Prelude.Eq StorageConfigurationProperty
+instance Prelude.Show StorageConfigurationProperty
+instance JSON.ToJSON StorageConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/KnowledgeBase/SupplementalDataStorageConfigurationProperty.hs b/gen/Stratosphere/Bedrock/KnowledgeBase/SupplementalDataStorageConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/KnowledgeBase/SupplementalDataStorageConfigurationProperty.hs
@@ -0,0 +1,41 @@
+module Stratosphere.Bedrock.KnowledgeBase.SupplementalDataStorageConfigurationProperty (
+        module Exports, SupplementalDataStorageConfigurationProperty(..),
+        mkSupplementalDataStorageConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.KnowledgeBase.SupplementalDataStorageLocationProperty as Exports
+import Stratosphere.ResourceProperties
+data SupplementalDataStorageConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-supplementaldatastorageconfiguration.html>
+    SupplementalDataStorageConfigurationProperty {haddock_workaround_ :: (),
+                                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-supplementaldatastorageconfiguration.html#cfn-bedrock-knowledgebase-supplementaldatastorageconfiguration-supplementaldatastoragelocations>
+                                                  supplementalDataStorageLocations :: [SupplementalDataStorageLocationProperty]}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkSupplementalDataStorageConfigurationProperty ::
+  [SupplementalDataStorageLocationProperty]
+  -> SupplementalDataStorageConfigurationProperty
+mkSupplementalDataStorageConfigurationProperty
+  supplementalDataStorageLocations
+  = SupplementalDataStorageConfigurationProperty
+      {haddock_workaround_ = (),
+       supplementalDataStorageLocations = supplementalDataStorageLocations}
+instance ToResourceProperties SupplementalDataStorageConfigurationProperty where
+  toResourceProperties
+    SupplementalDataStorageConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::KnowledgeBase.SupplementalDataStorageConfiguration",
+         supportsTags = Prelude.False,
+         properties = ["SupplementalDataStorageLocations"
+                         JSON..= supplementalDataStorageLocations]}
+instance JSON.ToJSON SupplementalDataStorageConfigurationProperty where
+  toJSON SupplementalDataStorageConfigurationProperty {..}
+    = JSON.object
+        ["SupplementalDataStorageLocations"
+           JSON..= supplementalDataStorageLocations]
+instance Property "SupplementalDataStorageLocations" SupplementalDataStorageConfigurationProperty where
+  type PropertyType "SupplementalDataStorageLocations" SupplementalDataStorageConfigurationProperty = [SupplementalDataStorageLocationProperty]
+  set newValue SupplementalDataStorageConfigurationProperty {..}
+    = SupplementalDataStorageConfigurationProperty
+        {supplementalDataStorageLocations = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/KnowledgeBase/SupplementalDataStorageConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/KnowledgeBase/SupplementalDataStorageConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/KnowledgeBase/SupplementalDataStorageConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.KnowledgeBase.SupplementalDataStorageConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data SupplementalDataStorageConfigurationProperty :: Prelude.Type
+instance ToResourceProperties SupplementalDataStorageConfigurationProperty
+instance Prelude.Eq SupplementalDataStorageConfigurationProperty
+instance Prelude.Show SupplementalDataStorageConfigurationProperty
+instance JSON.ToJSON SupplementalDataStorageConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/KnowledgeBase/SupplementalDataStorageLocationProperty.hs b/gen/Stratosphere/Bedrock/KnowledgeBase/SupplementalDataStorageLocationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/KnowledgeBase/SupplementalDataStorageLocationProperty.hs
@@ -0,0 +1,56 @@
+module Stratosphere.Bedrock.KnowledgeBase.SupplementalDataStorageLocationProperty (
+        module Exports, SupplementalDataStorageLocationProperty(..),
+        mkSupplementalDataStorageLocationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.KnowledgeBase.S3LocationProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data SupplementalDataStorageLocationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-supplementaldatastoragelocation.html>
+    SupplementalDataStorageLocationProperty {haddock_workaround_ :: (),
+                                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-supplementaldatastoragelocation.html#cfn-bedrock-knowledgebase-supplementaldatastoragelocation-s3location>
+                                             s3Location :: (Prelude.Maybe S3LocationProperty),
+                                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-supplementaldatastoragelocation.html#cfn-bedrock-knowledgebase-supplementaldatastoragelocation-supplementaldatastoragelocationtype>
+                                             supplementalDataStorageLocationType :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkSupplementalDataStorageLocationProperty ::
+  Value Prelude.Text -> SupplementalDataStorageLocationProperty
+mkSupplementalDataStorageLocationProperty
+  supplementalDataStorageLocationType
+  = SupplementalDataStorageLocationProperty
+      {haddock_workaround_ = (),
+       supplementalDataStorageLocationType = supplementalDataStorageLocationType,
+       s3Location = Prelude.Nothing}
+instance ToResourceProperties SupplementalDataStorageLocationProperty where
+  toResourceProperties SupplementalDataStorageLocationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::KnowledgeBase.SupplementalDataStorageLocation",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["SupplementalDataStorageLocationType"
+                              JSON..= supplementalDataStorageLocationType]
+                           (Prelude.catMaybes
+                              [(JSON..=) "S3Location" Prelude.<$> s3Location]))}
+instance JSON.ToJSON SupplementalDataStorageLocationProperty where
+  toJSON SupplementalDataStorageLocationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["SupplementalDataStorageLocationType"
+                 JSON..= supplementalDataStorageLocationType]
+              (Prelude.catMaybes
+                 [(JSON..=) "S3Location" Prelude.<$> s3Location])))
+instance Property "S3Location" SupplementalDataStorageLocationProperty where
+  type PropertyType "S3Location" SupplementalDataStorageLocationProperty = S3LocationProperty
+  set newValue SupplementalDataStorageLocationProperty {..}
+    = SupplementalDataStorageLocationProperty
+        {s3Location = Prelude.pure newValue, ..}
+instance Property "SupplementalDataStorageLocationType" SupplementalDataStorageLocationProperty where
+  type PropertyType "SupplementalDataStorageLocationType" SupplementalDataStorageLocationProperty = Value Prelude.Text
+  set newValue SupplementalDataStorageLocationProperty {..}
+    = SupplementalDataStorageLocationProperty
+        {supplementalDataStorageLocationType = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/KnowledgeBase/SupplementalDataStorageLocationProperty.hs-boot b/gen/Stratosphere/Bedrock/KnowledgeBase/SupplementalDataStorageLocationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/KnowledgeBase/SupplementalDataStorageLocationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.KnowledgeBase.SupplementalDataStorageLocationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data SupplementalDataStorageLocationProperty :: Prelude.Type
+instance ToResourceProperties SupplementalDataStorageLocationProperty
+instance Prelude.Eq SupplementalDataStorageLocationProperty
+instance Prelude.Show SupplementalDataStorageLocationProperty
+instance JSON.ToJSON SupplementalDataStorageLocationProperty
diff --git a/gen/Stratosphere/Bedrock/KnowledgeBase/VectorKnowledgeBaseConfigurationProperty.hs b/gen/Stratosphere/Bedrock/KnowledgeBase/VectorKnowledgeBaseConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/KnowledgeBase/VectorKnowledgeBaseConfigurationProperty.hs
@@ -0,0 +1,67 @@
+module Stratosphere.Bedrock.KnowledgeBase.VectorKnowledgeBaseConfigurationProperty (
+        module Exports, VectorKnowledgeBaseConfigurationProperty(..),
+        mkVectorKnowledgeBaseConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.KnowledgeBase.EmbeddingModelConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.KnowledgeBase.SupplementalDataStorageConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data VectorKnowledgeBaseConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-vectorknowledgebaseconfiguration.html>
+    VectorKnowledgeBaseConfigurationProperty {haddock_workaround_ :: (),
+                                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-vectorknowledgebaseconfiguration.html#cfn-bedrock-knowledgebase-vectorknowledgebaseconfiguration-embeddingmodelarn>
+                                              embeddingModelArn :: (Value Prelude.Text),
+                                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-vectorknowledgebaseconfiguration.html#cfn-bedrock-knowledgebase-vectorknowledgebaseconfiguration-embeddingmodelconfiguration>
+                                              embeddingModelConfiguration :: (Prelude.Maybe EmbeddingModelConfigurationProperty),
+                                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-vectorknowledgebaseconfiguration.html#cfn-bedrock-knowledgebase-vectorknowledgebaseconfiguration-supplementaldatastorageconfiguration>
+                                              supplementalDataStorageConfiguration :: (Prelude.Maybe SupplementalDataStorageConfigurationProperty)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkVectorKnowledgeBaseConfigurationProperty ::
+  Value Prelude.Text -> VectorKnowledgeBaseConfigurationProperty
+mkVectorKnowledgeBaseConfigurationProperty embeddingModelArn
+  = VectorKnowledgeBaseConfigurationProperty
+      {haddock_workaround_ = (), embeddingModelArn = embeddingModelArn,
+       embeddingModelConfiguration = Prelude.Nothing,
+       supplementalDataStorageConfiguration = Prelude.Nothing}
+instance ToResourceProperties VectorKnowledgeBaseConfigurationProperty where
+  toResourceProperties VectorKnowledgeBaseConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::KnowledgeBase.VectorKnowledgeBaseConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["EmbeddingModelArn" JSON..= embeddingModelArn]
+                           (Prelude.catMaybes
+                              [(JSON..=) "EmbeddingModelConfiguration"
+                                 Prelude.<$> embeddingModelConfiguration,
+                               (JSON..=) "SupplementalDataStorageConfiguration"
+                                 Prelude.<$> supplementalDataStorageConfiguration]))}
+instance JSON.ToJSON VectorKnowledgeBaseConfigurationProperty where
+  toJSON VectorKnowledgeBaseConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["EmbeddingModelArn" JSON..= embeddingModelArn]
+              (Prelude.catMaybes
+                 [(JSON..=) "EmbeddingModelConfiguration"
+                    Prelude.<$> embeddingModelConfiguration,
+                  (JSON..=) "SupplementalDataStorageConfiguration"
+                    Prelude.<$> supplementalDataStorageConfiguration])))
+instance Property "EmbeddingModelArn" VectorKnowledgeBaseConfigurationProperty where
+  type PropertyType "EmbeddingModelArn" VectorKnowledgeBaseConfigurationProperty = Value Prelude.Text
+  set newValue VectorKnowledgeBaseConfigurationProperty {..}
+    = VectorKnowledgeBaseConfigurationProperty
+        {embeddingModelArn = newValue, ..}
+instance Property "EmbeddingModelConfiguration" VectorKnowledgeBaseConfigurationProperty where
+  type PropertyType "EmbeddingModelConfiguration" VectorKnowledgeBaseConfigurationProperty = EmbeddingModelConfigurationProperty
+  set newValue VectorKnowledgeBaseConfigurationProperty {..}
+    = VectorKnowledgeBaseConfigurationProperty
+        {embeddingModelConfiguration = Prelude.pure newValue, ..}
+instance Property "SupplementalDataStorageConfiguration" VectorKnowledgeBaseConfigurationProperty where
+  type PropertyType "SupplementalDataStorageConfiguration" VectorKnowledgeBaseConfigurationProperty = SupplementalDataStorageConfigurationProperty
+  set newValue VectorKnowledgeBaseConfigurationProperty {..}
+    = VectorKnowledgeBaseConfigurationProperty
+        {supplementalDataStorageConfiguration = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/KnowledgeBase/VectorKnowledgeBaseConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/KnowledgeBase/VectorKnowledgeBaseConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/KnowledgeBase/VectorKnowledgeBaseConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.KnowledgeBase.VectorKnowledgeBaseConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data VectorKnowledgeBaseConfigurationProperty :: Prelude.Type
+instance ToResourceProperties VectorKnowledgeBaseConfigurationProperty
+instance Prelude.Eq VectorKnowledgeBaseConfigurationProperty
+instance Prelude.Show VectorKnowledgeBaseConfigurationProperty
+instance JSON.ToJSON VectorKnowledgeBaseConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/Prompt.hs b/gen/Stratosphere/Bedrock/Prompt.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Prompt.hs
@@ -0,0 +1,82 @@
+module Stratosphere.Bedrock.Prompt (
+        module Exports, Prompt(..), mkPrompt
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.Prompt.PromptVariantProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data Prompt
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-prompt.html>
+    Prompt {haddock_workaround_ :: (),
+            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-prompt.html#cfn-bedrock-prompt-customerencryptionkeyarn>
+            customerEncryptionKeyArn :: (Prelude.Maybe (Value Prelude.Text)),
+            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-prompt.html#cfn-bedrock-prompt-defaultvariant>
+            defaultVariant :: (Prelude.Maybe (Value Prelude.Text)),
+            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-prompt.html#cfn-bedrock-prompt-description>
+            description :: (Prelude.Maybe (Value Prelude.Text)),
+            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-prompt.html#cfn-bedrock-prompt-name>
+            name :: (Value Prelude.Text),
+            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-prompt.html#cfn-bedrock-prompt-tags>
+            tags :: (Prelude.Maybe (Prelude.Map Prelude.Text (Value Prelude.Text))),
+            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-prompt.html#cfn-bedrock-prompt-variants>
+            variants :: (Prelude.Maybe [PromptVariantProperty])}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkPrompt :: Value Prelude.Text -> Prompt
+mkPrompt name
+  = Prompt
+      {haddock_workaround_ = (), name = name,
+       customerEncryptionKeyArn = Prelude.Nothing,
+       defaultVariant = Prelude.Nothing, description = Prelude.Nothing,
+       tags = Prelude.Nothing, variants = Prelude.Nothing}
+instance ToResourceProperties Prompt where
+  toResourceProperties Prompt {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Prompt", supportsTags = Prelude.True,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["Name" JSON..= name]
+                           (Prelude.catMaybes
+                              [(JSON..=) "CustomerEncryptionKeyArn"
+                                 Prelude.<$> customerEncryptionKeyArn,
+                               (JSON..=) "DefaultVariant" Prelude.<$> defaultVariant,
+                               (JSON..=) "Description" Prelude.<$> description,
+                               (JSON..=) "Tags" Prelude.<$> tags,
+                               (JSON..=) "Variants" Prelude.<$> variants]))}
+instance JSON.ToJSON Prompt where
+  toJSON Prompt {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["Name" JSON..= name]
+              (Prelude.catMaybes
+                 [(JSON..=) "CustomerEncryptionKeyArn"
+                    Prelude.<$> customerEncryptionKeyArn,
+                  (JSON..=) "DefaultVariant" Prelude.<$> defaultVariant,
+                  (JSON..=) "Description" Prelude.<$> description,
+                  (JSON..=) "Tags" Prelude.<$> tags,
+                  (JSON..=) "Variants" Prelude.<$> variants])))
+instance Property "CustomerEncryptionKeyArn" Prompt where
+  type PropertyType "CustomerEncryptionKeyArn" Prompt = Value Prelude.Text
+  set newValue Prompt {..}
+    = Prompt {customerEncryptionKeyArn = Prelude.pure newValue, ..}
+instance Property "DefaultVariant" Prompt where
+  type PropertyType "DefaultVariant" Prompt = Value Prelude.Text
+  set newValue Prompt {..}
+    = Prompt {defaultVariant = Prelude.pure newValue, ..}
+instance Property "Description" Prompt where
+  type PropertyType "Description" Prompt = Value Prelude.Text
+  set newValue Prompt {..}
+    = Prompt {description = Prelude.pure newValue, ..}
+instance Property "Name" Prompt where
+  type PropertyType "Name" Prompt = Value Prelude.Text
+  set newValue Prompt {..} = Prompt {name = newValue, ..}
+instance Property "Tags" Prompt where
+  type PropertyType "Tags" Prompt = Prelude.Map Prelude.Text (Value Prelude.Text)
+  set newValue Prompt {..}
+    = Prompt {tags = Prelude.pure newValue, ..}
+instance Property "Variants" Prompt where
+  type PropertyType "Variants" Prompt = [PromptVariantProperty]
+  set newValue Prompt {..}
+    = Prompt {variants = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Prompt/CachePointBlockProperty.hs b/gen/Stratosphere/Bedrock/Prompt/CachePointBlockProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Prompt/CachePointBlockProperty.hs
@@ -0,0 +1,30 @@
+module Stratosphere.Bedrock.Prompt.CachePointBlockProperty (
+        CachePointBlockProperty(..), mkCachePointBlockProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data CachePointBlockProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-cachepointblock.html>
+    CachePointBlockProperty {haddock_workaround_ :: (),
+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-cachepointblock.html#cfn-bedrock-prompt-cachepointblock-type>
+                             type' :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkCachePointBlockProperty ::
+  Value Prelude.Text -> CachePointBlockProperty
+mkCachePointBlockProperty type'
+  = CachePointBlockProperty {haddock_workaround_ = (), type' = type'}
+instance ToResourceProperties CachePointBlockProperty where
+  toResourceProperties CachePointBlockProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Prompt.CachePointBlock",
+         supportsTags = Prelude.False, properties = ["Type" JSON..= type']}
+instance JSON.ToJSON CachePointBlockProperty where
+  toJSON CachePointBlockProperty {..}
+    = JSON.object ["Type" JSON..= type']
+instance Property "Type" CachePointBlockProperty where
+  type PropertyType "Type" CachePointBlockProperty = Value Prelude.Text
+  set newValue CachePointBlockProperty {..}
+    = CachePointBlockProperty {type' = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Prompt/CachePointBlockProperty.hs-boot b/gen/Stratosphere/Bedrock/Prompt/CachePointBlockProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Prompt/CachePointBlockProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Prompt.CachePointBlockProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data CachePointBlockProperty :: Prelude.Type
+instance ToResourceProperties CachePointBlockProperty
+instance Prelude.Eq CachePointBlockProperty
+instance Prelude.Show CachePointBlockProperty
+instance JSON.ToJSON CachePointBlockProperty
diff --git a/gen/Stratosphere/Bedrock/Prompt/ChatPromptTemplateConfigurationProperty.hs b/gen/Stratosphere/Bedrock/Prompt/ChatPromptTemplateConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Prompt/ChatPromptTemplateConfigurationProperty.hs
@@ -0,0 +1,72 @@
+module Stratosphere.Bedrock.Prompt.ChatPromptTemplateConfigurationProperty (
+        module Exports, ChatPromptTemplateConfigurationProperty(..),
+        mkChatPromptTemplateConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.Prompt.MessageProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.Prompt.PromptInputVariableProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.Prompt.SystemContentBlockProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.Prompt.ToolConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+data ChatPromptTemplateConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-chatprompttemplateconfiguration.html>
+    ChatPromptTemplateConfigurationProperty {haddock_workaround_ :: (),
+                                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-chatprompttemplateconfiguration.html#cfn-bedrock-prompt-chatprompttemplateconfiguration-inputvariables>
+                                             inputVariables :: (Prelude.Maybe [PromptInputVariableProperty]),
+                                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-chatprompttemplateconfiguration.html#cfn-bedrock-prompt-chatprompttemplateconfiguration-messages>
+                                             messages :: [MessageProperty],
+                                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-chatprompttemplateconfiguration.html#cfn-bedrock-prompt-chatprompttemplateconfiguration-system>
+                                             system :: (Prelude.Maybe [SystemContentBlockProperty]),
+                                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-chatprompttemplateconfiguration.html#cfn-bedrock-prompt-chatprompttemplateconfiguration-toolconfiguration>
+                                             toolConfiguration :: (Prelude.Maybe ToolConfigurationProperty)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkChatPromptTemplateConfigurationProperty ::
+  [MessageProperty] -> ChatPromptTemplateConfigurationProperty
+mkChatPromptTemplateConfigurationProperty messages
+  = ChatPromptTemplateConfigurationProperty
+      {haddock_workaround_ = (), messages = messages,
+       inputVariables = Prelude.Nothing, system = Prelude.Nothing,
+       toolConfiguration = Prelude.Nothing}
+instance ToResourceProperties ChatPromptTemplateConfigurationProperty where
+  toResourceProperties ChatPromptTemplateConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Prompt.ChatPromptTemplateConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["Messages" JSON..= messages]
+                           (Prelude.catMaybes
+                              [(JSON..=) "InputVariables" Prelude.<$> inputVariables,
+                               (JSON..=) "System" Prelude.<$> system,
+                               (JSON..=) "ToolConfiguration" Prelude.<$> toolConfiguration]))}
+instance JSON.ToJSON ChatPromptTemplateConfigurationProperty where
+  toJSON ChatPromptTemplateConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["Messages" JSON..= messages]
+              (Prelude.catMaybes
+                 [(JSON..=) "InputVariables" Prelude.<$> inputVariables,
+                  (JSON..=) "System" Prelude.<$> system,
+                  (JSON..=) "ToolConfiguration" Prelude.<$> toolConfiguration])))
+instance Property "InputVariables" ChatPromptTemplateConfigurationProperty where
+  type PropertyType "InputVariables" ChatPromptTemplateConfigurationProperty = [PromptInputVariableProperty]
+  set newValue ChatPromptTemplateConfigurationProperty {..}
+    = ChatPromptTemplateConfigurationProperty
+        {inputVariables = Prelude.pure newValue, ..}
+instance Property "Messages" ChatPromptTemplateConfigurationProperty where
+  type PropertyType "Messages" ChatPromptTemplateConfigurationProperty = [MessageProperty]
+  set newValue ChatPromptTemplateConfigurationProperty {..}
+    = ChatPromptTemplateConfigurationProperty {messages = newValue, ..}
+instance Property "System" ChatPromptTemplateConfigurationProperty where
+  type PropertyType "System" ChatPromptTemplateConfigurationProperty = [SystemContentBlockProperty]
+  set newValue ChatPromptTemplateConfigurationProperty {..}
+    = ChatPromptTemplateConfigurationProperty
+        {system = Prelude.pure newValue, ..}
+instance Property "ToolConfiguration" ChatPromptTemplateConfigurationProperty where
+  type PropertyType "ToolConfiguration" ChatPromptTemplateConfigurationProperty = ToolConfigurationProperty
+  set newValue ChatPromptTemplateConfigurationProperty {..}
+    = ChatPromptTemplateConfigurationProperty
+        {toolConfiguration = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Prompt/ChatPromptTemplateConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/Prompt/ChatPromptTemplateConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Prompt/ChatPromptTemplateConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Prompt.ChatPromptTemplateConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data ChatPromptTemplateConfigurationProperty :: Prelude.Type
+instance ToResourceProperties ChatPromptTemplateConfigurationProperty
+instance Prelude.Eq ChatPromptTemplateConfigurationProperty
+instance Prelude.Show ChatPromptTemplateConfigurationProperty
+instance JSON.ToJSON ChatPromptTemplateConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/Prompt/ContentBlockProperty.hs b/gen/Stratosphere/Bedrock/Prompt/ContentBlockProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Prompt/ContentBlockProperty.hs
@@ -0,0 +1,46 @@
+module Stratosphere.Bedrock.Prompt.ContentBlockProperty (
+        module Exports, ContentBlockProperty(..), mkContentBlockProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.Prompt.CachePointBlockProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data ContentBlockProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-contentblock.html>
+    ContentBlockProperty {haddock_workaround_ :: (),
+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-contentblock.html#cfn-bedrock-prompt-contentblock-cachepoint>
+                          cachePoint :: (Prelude.Maybe CachePointBlockProperty),
+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-contentblock.html#cfn-bedrock-prompt-contentblock-text>
+                          text :: (Prelude.Maybe (Value Prelude.Text))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkContentBlockProperty :: ContentBlockProperty
+mkContentBlockProperty
+  = ContentBlockProperty
+      {haddock_workaround_ = (), cachePoint = Prelude.Nothing,
+       text = Prelude.Nothing}
+instance ToResourceProperties ContentBlockProperty where
+  toResourceProperties ContentBlockProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Prompt.ContentBlock",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "CachePoint" Prelude.<$> cachePoint,
+                            (JSON..=) "Text" Prelude.<$> text])}
+instance JSON.ToJSON ContentBlockProperty where
+  toJSON ContentBlockProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "CachePoint" Prelude.<$> cachePoint,
+               (JSON..=) "Text" Prelude.<$> text]))
+instance Property "CachePoint" ContentBlockProperty where
+  type PropertyType "CachePoint" ContentBlockProperty = CachePointBlockProperty
+  set newValue ContentBlockProperty {..}
+    = ContentBlockProperty {cachePoint = Prelude.pure newValue, ..}
+instance Property "Text" ContentBlockProperty where
+  type PropertyType "Text" ContentBlockProperty = Value Prelude.Text
+  set newValue ContentBlockProperty {..}
+    = ContentBlockProperty {text = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Prompt/ContentBlockProperty.hs-boot b/gen/Stratosphere/Bedrock/Prompt/ContentBlockProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Prompt/ContentBlockProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Prompt.ContentBlockProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data ContentBlockProperty :: Prelude.Type
+instance ToResourceProperties ContentBlockProperty
+instance Prelude.Eq ContentBlockProperty
+instance Prelude.Show ContentBlockProperty
+instance JSON.ToJSON ContentBlockProperty
diff --git a/gen/Stratosphere/Bedrock/Prompt/MessageProperty.hs b/gen/Stratosphere/Bedrock/Prompt/MessageProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Prompt/MessageProperty.hs
@@ -0,0 +1,39 @@
+module Stratosphere.Bedrock.Prompt.MessageProperty (
+        module Exports, MessageProperty(..), mkMessageProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.Prompt.ContentBlockProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data MessageProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-message.html>
+    MessageProperty {haddock_workaround_ :: (),
+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-message.html#cfn-bedrock-prompt-message-content>
+                     content :: [ContentBlockProperty],
+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-message.html#cfn-bedrock-prompt-message-role>
+                     role :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkMessageProperty ::
+  [ContentBlockProperty] -> Value Prelude.Text -> MessageProperty
+mkMessageProperty content role
+  = MessageProperty
+      {haddock_workaround_ = (), content = content, role = role}
+instance ToResourceProperties MessageProperty where
+  toResourceProperties MessageProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Prompt.Message",
+         supportsTags = Prelude.False,
+         properties = ["Content" JSON..= content, "Role" JSON..= role]}
+instance JSON.ToJSON MessageProperty where
+  toJSON MessageProperty {..}
+    = JSON.object ["Content" JSON..= content, "Role" JSON..= role]
+instance Property "Content" MessageProperty where
+  type PropertyType "Content" MessageProperty = [ContentBlockProperty]
+  set newValue MessageProperty {..}
+    = MessageProperty {content = newValue, ..}
+instance Property "Role" MessageProperty where
+  type PropertyType "Role" MessageProperty = Value Prelude.Text
+  set newValue MessageProperty {..}
+    = MessageProperty {role = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Prompt/MessageProperty.hs-boot b/gen/Stratosphere/Bedrock/Prompt/MessageProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Prompt/MessageProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Prompt.MessageProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data MessageProperty :: Prelude.Type
+instance ToResourceProperties MessageProperty
+instance Prelude.Eq MessageProperty
+instance Prelude.Show MessageProperty
+instance JSON.ToJSON MessageProperty
diff --git a/gen/Stratosphere/Bedrock/Prompt/PromptAgentResourceProperty.hs b/gen/Stratosphere/Bedrock/Prompt/PromptAgentResourceProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Prompt/PromptAgentResourceProperty.hs
@@ -0,0 +1,32 @@
+module Stratosphere.Bedrock.Prompt.PromptAgentResourceProperty (
+        PromptAgentResourceProperty(..), mkPromptAgentResourceProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data PromptAgentResourceProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-promptagentresource.html>
+    PromptAgentResourceProperty {haddock_workaround_ :: (),
+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-promptagentresource.html#cfn-bedrock-prompt-promptagentresource-agentidentifier>
+                                 agentIdentifier :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkPromptAgentResourceProperty ::
+  Value Prelude.Text -> PromptAgentResourceProperty
+mkPromptAgentResourceProperty agentIdentifier
+  = PromptAgentResourceProperty
+      {haddock_workaround_ = (), agentIdentifier = agentIdentifier}
+instance ToResourceProperties PromptAgentResourceProperty where
+  toResourceProperties PromptAgentResourceProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Prompt.PromptAgentResource",
+         supportsTags = Prelude.False,
+         properties = ["AgentIdentifier" JSON..= agentIdentifier]}
+instance JSON.ToJSON PromptAgentResourceProperty where
+  toJSON PromptAgentResourceProperty {..}
+    = JSON.object ["AgentIdentifier" JSON..= agentIdentifier]
+instance Property "AgentIdentifier" PromptAgentResourceProperty where
+  type PropertyType "AgentIdentifier" PromptAgentResourceProperty = Value Prelude.Text
+  set newValue PromptAgentResourceProperty {..}
+    = PromptAgentResourceProperty {agentIdentifier = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Prompt/PromptAgentResourceProperty.hs-boot b/gen/Stratosphere/Bedrock/Prompt/PromptAgentResourceProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Prompt/PromptAgentResourceProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Prompt.PromptAgentResourceProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data PromptAgentResourceProperty :: Prelude.Type
+instance ToResourceProperties PromptAgentResourceProperty
+instance Prelude.Eq PromptAgentResourceProperty
+instance Prelude.Show PromptAgentResourceProperty
+instance JSON.ToJSON PromptAgentResourceProperty
diff --git a/gen/Stratosphere/Bedrock/Prompt/PromptGenAiResourceProperty.hs b/gen/Stratosphere/Bedrock/Prompt/PromptGenAiResourceProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Prompt/PromptGenAiResourceProperty.hs
@@ -0,0 +1,32 @@
+module Stratosphere.Bedrock.Prompt.PromptGenAiResourceProperty (
+        module Exports, PromptGenAiResourceProperty(..),
+        mkPromptGenAiResourceProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.Prompt.PromptAgentResourceProperty as Exports
+import Stratosphere.ResourceProperties
+data PromptGenAiResourceProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-promptgenairesource.html>
+    PromptGenAiResourceProperty {haddock_workaround_ :: (),
+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-promptgenairesource.html#cfn-bedrock-prompt-promptgenairesource-agent>
+                                 agent :: PromptAgentResourceProperty}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkPromptGenAiResourceProperty ::
+  PromptAgentResourceProperty -> PromptGenAiResourceProperty
+mkPromptGenAiResourceProperty agent
+  = PromptGenAiResourceProperty
+      {haddock_workaround_ = (), agent = agent}
+instance ToResourceProperties PromptGenAiResourceProperty where
+  toResourceProperties PromptGenAiResourceProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Prompt.PromptGenAiResource",
+         supportsTags = Prelude.False, properties = ["Agent" JSON..= agent]}
+instance JSON.ToJSON PromptGenAiResourceProperty where
+  toJSON PromptGenAiResourceProperty {..}
+    = JSON.object ["Agent" JSON..= agent]
+instance Property "Agent" PromptGenAiResourceProperty where
+  type PropertyType "Agent" PromptGenAiResourceProperty = PromptAgentResourceProperty
+  set newValue PromptGenAiResourceProperty {..}
+    = PromptGenAiResourceProperty {agent = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Prompt/PromptGenAiResourceProperty.hs-boot b/gen/Stratosphere/Bedrock/Prompt/PromptGenAiResourceProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Prompt/PromptGenAiResourceProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Prompt.PromptGenAiResourceProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data PromptGenAiResourceProperty :: Prelude.Type
+instance ToResourceProperties PromptGenAiResourceProperty
+instance Prelude.Eq PromptGenAiResourceProperty
+instance Prelude.Show PromptGenAiResourceProperty
+instance JSON.ToJSON PromptGenAiResourceProperty
diff --git a/gen/Stratosphere/Bedrock/Prompt/PromptInferenceConfigurationProperty.hs b/gen/Stratosphere/Bedrock/Prompt/PromptInferenceConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Prompt/PromptInferenceConfigurationProperty.hs
@@ -0,0 +1,33 @@
+module Stratosphere.Bedrock.Prompt.PromptInferenceConfigurationProperty (
+        module Exports, PromptInferenceConfigurationProperty(..),
+        mkPromptInferenceConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.Prompt.PromptModelInferenceConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+data PromptInferenceConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-promptinferenceconfiguration.html>
+    PromptInferenceConfigurationProperty {haddock_workaround_ :: (),
+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-promptinferenceconfiguration.html#cfn-bedrock-prompt-promptinferenceconfiguration-text>
+                                          text :: PromptModelInferenceConfigurationProperty}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkPromptInferenceConfigurationProperty ::
+  PromptModelInferenceConfigurationProperty
+  -> PromptInferenceConfigurationProperty
+mkPromptInferenceConfigurationProperty text
+  = PromptInferenceConfigurationProperty
+      {haddock_workaround_ = (), text = text}
+instance ToResourceProperties PromptInferenceConfigurationProperty where
+  toResourceProperties PromptInferenceConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Prompt.PromptInferenceConfiguration",
+         supportsTags = Prelude.False, properties = ["Text" JSON..= text]}
+instance JSON.ToJSON PromptInferenceConfigurationProperty where
+  toJSON PromptInferenceConfigurationProperty {..}
+    = JSON.object ["Text" JSON..= text]
+instance Property "Text" PromptInferenceConfigurationProperty where
+  type PropertyType "Text" PromptInferenceConfigurationProperty = PromptModelInferenceConfigurationProperty
+  set newValue PromptInferenceConfigurationProperty {..}
+    = PromptInferenceConfigurationProperty {text = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Prompt/PromptInferenceConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/Prompt/PromptInferenceConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Prompt/PromptInferenceConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Prompt.PromptInferenceConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data PromptInferenceConfigurationProperty :: Prelude.Type
+instance ToResourceProperties PromptInferenceConfigurationProperty
+instance Prelude.Eq PromptInferenceConfigurationProperty
+instance Prelude.Show PromptInferenceConfigurationProperty
+instance JSON.ToJSON PromptInferenceConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/Prompt/PromptInputVariableProperty.hs b/gen/Stratosphere/Bedrock/Prompt/PromptInputVariableProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Prompt/PromptInputVariableProperty.hs
@@ -0,0 +1,34 @@
+module Stratosphere.Bedrock.Prompt.PromptInputVariableProperty (
+        PromptInputVariableProperty(..), mkPromptInputVariableProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data PromptInputVariableProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-promptinputvariable.html>
+    PromptInputVariableProperty {haddock_workaround_ :: (),
+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-promptinputvariable.html#cfn-bedrock-prompt-promptinputvariable-name>
+                                 name :: (Prelude.Maybe (Value Prelude.Text))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkPromptInputVariableProperty :: PromptInputVariableProperty
+mkPromptInputVariableProperty
+  = PromptInputVariableProperty
+      {haddock_workaround_ = (), name = Prelude.Nothing}
+instance ToResourceProperties PromptInputVariableProperty where
+  toResourceProperties PromptInputVariableProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Prompt.PromptInputVariable",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes [(JSON..=) "Name" Prelude.<$> name])}
+instance JSON.ToJSON PromptInputVariableProperty where
+  toJSON PromptInputVariableProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes [(JSON..=) "Name" Prelude.<$> name]))
+instance Property "Name" PromptInputVariableProperty where
+  type PropertyType "Name" PromptInputVariableProperty = Value Prelude.Text
+  set newValue PromptInputVariableProperty {..}
+    = PromptInputVariableProperty {name = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Prompt/PromptInputVariableProperty.hs-boot b/gen/Stratosphere/Bedrock/Prompt/PromptInputVariableProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Prompt/PromptInputVariableProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Prompt.PromptInputVariableProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data PromptInputVariableProperty :: Prelude.Type
+instance ToResourceProperties PromptInputVariableProperty
+instance Prelude.Eq PromptInputVariableProperty
+instance Prelude.Show PromptInputVariableProperty
+instance JSON.ToJSON PromptInputVariableProperty
diff --git a/gen/Stratosphere/Bedrock/Prompt/PromptMetadataEntryProperty.hs b/gen/Stratosphere/Bedrock/Prompt/PromptMetadataEntryProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Prompt/PromptMetadataEntryProperty.hs
@@ -0,0 +1,39 @@
+module Stratosphere.Bedrock.Prompt.PromptMetadataEntryProperty (
+        PromptMetadataEntryProperty(..), mkPromptMetadataEntryProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data PromptMetadataEntryProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-promptmetadataentry.html>
+    PromptMetadataEntryProperty {haddock_workaround_ :: (),
+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-promptmetadataentry.html#cfn-bedrock-prompt-promptmetadataentry-key>
+                                 key :: (Value Prelude.Text),
+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-promptmetadataentry.html#cfn-bedrock-prompt-promptmetadataentry-value>
+                                 value :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkPromptMetadataEntryProperty ::
+  Value Prelude.Text
+  -> Value Prelude.Text -> PromptMetadataEntryProperty
+mkPromptMetadataEntryProperty key value
+  = PromptMetadataEntryProperty
+      {haddock_workaround_ = (), key = key, value = value}
+instance ToResourceProperties PromptMetadataEntryProperty where
+  toResourceProperties PromptMetadataEntryProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Prompt.PromptMetadataEntry",
+         supportsTags = Prelude.False,
+         properties = ["Key" JSON..= key, "Value" JSON..= value]}
+instance JSON.ToJSON PromptMetadataEntryProperty where
+  toJSON PromptMetadataEntryProperty {..}
+    = JSON.object ["Key" JSON..= key, "Value" JSON..= value]
+instance Property "Key" PromptMetadataEntryProperty where
+  type PropertyType "Key" PromptMetadataEntryProperty = Value Prelude.Text
+  set newValue PromptMetadataEntryProperty {..}
+    = PromptMetadataEntryProperty {key = newValue, ..}
+instance Property "Value" PromptMetadataEntryProperty where
+  type PropertyType "Value" PromptMetadataEntryProperty = Value Prelude.Text
+  set newValue PromptMetadataEntryProperty {..}
+    = PromptMetadataEntryProperty {value = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Prompt/PromptMetadataEntryProperty.hs-boot b/gen/Stratosphere/Bedrock/Prompt/PromptMetadataEntryProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Prompt/PromptMetadataEntryProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Prompt.PromptMetadataEntryProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data PromptMetadataEntryProperty :: Prelude.Type
+instance ToResourceProperties PromptMetadataEntryProperty
+instance Prelude.Eq PromptMetadataEntryProperty
+instance Prelude.Show PromptMetadataEntryProperty
+instance JSON.ToJSON PromptMetadataEntryProperty
diff --git a/gen/Stratosphere/Bedrock/Prompt/PromptModelInferenceConfigurationProperty.hs b/gen/Stratosphere/Bedrock/Prompt/PromptModelInferenceConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Prompt/PromptModelInferenceConfigurationProperty.hs
@@ -0,0 +1,68 @@
+module Stratosphere.Bedrock.Prompt.PromptModelInferenceConfigurationProperty (
+        PromptModelInferenceConfigurationProperty(..),
+        mkPromptModelInferenceConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data PromptModelInferenceConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-promptmodelinferenceconfiguration.html>
+    PromptModelInferenceConfigurationProperty {haddock_workaround_ :: (),
+                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-promptmodelinferenceconfiguration.html#cfn-bedrock-prompt-promptmodelinferenceconfiguration-maxtokens>
+                                               maxTokens :: (Prelude.Maybe (Value Prelude.Double)),
+                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-promptmodelinferenceconfiguration.html#cfn-bedrock-prompt-promptmodelinferenceconfiguration-stopsequences>
+                                               stopSequences :: (Prelude.Maybe (ValueList Prelude.Text)),
+                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-promptmodelinferenceconfiguration.html#cfn-bedrock-prompt-promptmodelinferenceconfiguration-temperature>
+                                               temperature :: (Prelude.Maybe (Value Prelude.Double)),
+                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-promptmodelinferenceconfiguration.html#cfn-bedrock-prompt-promptmodelinferenceconfiguration-topp>
+                                               topP :: (Prelude.Maybe (Value Prelude.Double))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkPromptModelInferenceConfigurationProperty ::
+  PromptModelInferenceConfigurationProperty
+mkPromptModelInferenceConfigurationProperty
+  = PromptModelInferenceConfigurationProperty
+      {haddock_workaround_ = (), maxTokens = Prelude.Nothing,
+       stopSequences = Prelude.Nothing, temperature = Prelude.Nothing,
+       topP = Prelude.Nothing}
+instance ToResourceProperties PromptModelInferenceConfigurationProperty where
+  toResourceProperties PromptModelInferenceConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Prompt.PromptModelInferenceConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "MaxTokens" Prelude.<$> maxTokens,
+                            (JSON..=) "StopSequences" Prelude.<$> stopSequences,
+                            (JSON..=) "Temperature" Prelude.<$> temperature,
+                            (JSON..=) "TopP" Prelude.<$> topP])}
+instance JSON.ToJSON PromptModelInferenceConfigurationProperty where
+  toJSON PromptModelInferenceConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "MaxTokens" Prelude.<$> maxTokens,
+               (JSON..=) "StopSequences" Prelude.<$> stopSequences,
+               (JSON..=) "Temperature" Prelude.<$> temperature,
+               (JSON..=) "TopP" Prelude.<$> topP]))
+instance Property "MaxTokens" PromptModelInferenceConfigurationProperty where
+  type PropertyType "MaxTokens" PromptModelInferenceConfigurationProperty = Value Prelude.Double
+  set newValue PromptModelInferenceConfigurationProperty {..}
+    = PromptModelInferenceConfigurationProperty
+        {maxTokens = Prelude.pure newValue, ..}
+instance Property "StopSequences" PromptModelInferenceConfigurationProperty where
+  type PropertyType "StopSequences" PromptModelInferenceConfigurationProperty = ValueList Prelude.Text
+  set newValue PromptModelInferenceConfigurationProperty {..}
+    = PromptModelInferenceConfigurationProperty
+        {stopSequences = Prelude.pure newValue, ..}
+instance Property "Temperature" PromptModelInferenceConfigurationProperty where
+  type PropertyType "Temperature" PromptModelInferenceConfigurationProperty = Value Prelude.Double
+  set newValue PromptModelInferenceConfigurationProperty {..}
+    = PromptModelInferenceConfigurationProperty
+        {temperature = Prelude.pure newValue, ..}
+instance Property "TopP" PromptModelInferenceConfigurationProperty where
+  type PropertyType "TopP" PromptModelInferenceConfigurationProperty = Value Prelude.Double
+  set newValue PromptModelInferenceConfigurationProperty {..}
+    = PromptModelInferenceConfigurationProperty
+        {topP = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Prompt/PromptModelInferenceConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/Prompt/PromptModelInferenceConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Prompt/PromptModelInferenceConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Prompt.PromptModelInferenceConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data PromptModelInferenceConfigurationProperty :: Prelude.Type
+instance ToResourceProperties PromptModelInferenceConfigurationProperty
+instance Prelude.Eq PromptModelInferenceConfigurationProperty
+instance Prelude.Show PromptModelInferenceConfigurationProperty
+instance JSON.ToJSON PromptModelInferenceConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/Prompt/PromptTemplateConfigurationProperty.hs b/gen/Stratosphere/Bedrock/Prompt/PromptTemplateConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Prompt/PromptTemplateConfigurationProperty.hs
@@ -0,0 +1,50 @@
+module Stratosphere.Bedrock.Prompt.PromptTemplateConfigurationProperty (
+        module Exports, PromptTemplateConfigurationProperty(..),
+        mkPromptTemplateConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.Prompt.ChatPromptTemplateConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.Prompt.TextPromptTemplateConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+data PromptTemplateConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-prompttemplateconfiguration.html>
+    PromptTemplateConfigurationProperty {haddock_workaround_ :: (),
+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-prompttemplateconfiguration.html#cfn-bedrock-prompt-prompttemplateconfiguration-chat>
+                                         chat :: (Prelude.Maybe ChatPromptTemplateConfigurationProperty),
+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-prompttemplateconfiguration.html#cfn-bedrock-prompt-prompttemplateconfiguration-text>
+                                         text :: (Prelude.Maybe TextPromptTemplateConfigurationProperty)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkPromptTemplateConfigurationProperty ::
+  PromptTemplateConfigurationProperty
+mkPromptTemplateConfigurationProperty
+  = PromptTemplateConfigurationProperty
+      {haddock_workaround_ = (), chat = Prelude.Nothing,
+       text = Prelude.Nothing}
+instance ToResourceProperties PromptTemplateConfigurationProperty where
+  toResourceProperties PromptTemplateConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Prompt.PromptTemplateConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "Chat" Prelude.<$> chat,
+                            (JSON..=) "Text" Prelude.<$> text])}
+instance JSON.ToJSON PromptTemplateConfigurationProperty where
+  toJSON PromptTemplateConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "Chat" Prelude.<$> chat,
+               (JSON..=) "Text" Prelude.<$> text]))
+instance Property "Chat" PromptTemplateConfigurationProperty where
+  type PropertyType "Chat" PromptTemplateConfigurationProperty = ChatPromptTemplateConfigurationProperty
+  set newValue PromptTemplateConfigurationProperty {..}
+    = PromptTemplateConfigurationProperty
+        {chat = Prelude.pure newValue, ..}
+instance Property "Text" PromptTemplateConfigurationProperty where
+  type PropertyType "Text" PromptTemplateConfigurationProperty = TextPromptTemplateConfigurationProperty
+  set newValue PromptTemplateConfigurationProperty {..}
+    = PromptTemplateConfigurationProperty
+        {text = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Prompt/PromptTemplateConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/Prompt/PromptTemplateConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Prompt/PromptTemplateConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Prompt.PromptTemplateConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data PromptTemplateConfigurationProperty :: Prelude.Type
+instance ToResourceProperties PromptTemplateConfigurationProperty
+instance Prelude.Eq PromptTemplateConfigurationProperty
+instance Prelude.Show PromptTemplateConfigurationProperty
+instance JSON.ToJSON PromptTemplateConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/Prompt/PromptVariantProperty.hs b/gen/Stratosphere/Bedrock/Prompt/PromptVariantProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Prompt/PromptVariantProperty.hs
@@ -0,0 +1,113 @@
+module Stratosphere.Bedrock.Prompt.PromptVariantProperty (
+        module Exports, PromptVariantProperty(..), mkPromptVariantProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.Prompt.PromptGenAiResourceProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.Prompt.PromptInferenceConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.Prompt.PromptMetadataEntryProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.Prompt.PromptTemplateConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data PromptVariantProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-promptvariant.html>
+    PromptVariantProperty {haddock_workaround_ :: (),
+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-promptvariant.html#cfn-bedrock-prompt-promptvariant-additionalmodelrequestfields>
+                           additionalModelRequestFields :: (Prelude.Maybe JSON.Object),
+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-promptvariant.html#cfn-bedrock-prompt-promptvariant-genairesource>
+                           genAiResource :: (Prelude.Maybe PromptGenAiResourceProperty),
+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-promptvariant.html#cfn-bedrock-prompt-promptvariant-inferenceconfiguration>
+                           inferenceConfiguration :: (Prelude.Maybe PromptInferenceConfigurationProperty),
+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-promptvariant.html#cfn-bedrock-prompt-promptvariant-metadata>
+                           metadata :: (Prelude.Maybe [PromptMetadataEntryProperty]),
+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-promptvariant.html#cfn-bedrock-prompt-promptvariant-modelid>
+                           modelId :: (Prelude.Maybe (Value Prelude.Text)),
+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-promptvariant.html#cfn-bedrock-prompt-promptvariant-name>
+                           name :: (Value Prelude.Text),
+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-promptvariant.html#cfn-bedrock-prompt-promptvariant-templateconfiguration>
+                           templateConfiguration :: PromptTemplateConfigurationProperty,
+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-promptvariant.html#cfn-bedrock-prompt-promptvariant-templatetype>
+                           templateType :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkPromptVariantProperty ::
+  Value Prelude.Text
+  -> PromptTemplateConfigurationProperty
+     -> Value Prelude.Text -> PromptVariantProperty
+mkPromptVariantProperty name templateConfiguration templateType
+  = PromptVariantProperty
+      {haddock_workaround_ = (), name = name,
+       templateConfiguration = templateConfiguration,
+       templateType = templateType,
+       additionalModelRequestFields = Prelude.Nothing,
+       genAiResource = Prelude.Nothing,
+       inferenceConfiguration = Prelude.Nothing,
+       metadata = Prelude.Nothing, modelId = Prelude.Nothing}
+instance ToResourceProperties PromptVariantProperty where
+  toResourceProperties PromptVariantProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Prompt.PromptVariant",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["Name" JSON..= name,
+                            "TemplateConfiguration" JSON..= templateConfiguration,
+                            "TemplateType" JSON..= templateType]
+                           (Prelude.catMaybes
+                              [(JSON..=) "AdditionalModelRequestFields"
+                                 Prelude.<$> additionalModelRequestFields,
+                               (JSON..=) "GenAiResource" Prelude.<$> genAiResource,
+                               (JSON..=) "InferenceConfiguration"
+                                 Prelude.<$> inferenceConfiguration,
+                               (JSON..=) "Metadata" Prelude.<$> metadata,
+                               (JSON..=) "ModelId" Prelude.<$> modelId]))}
+instance JSON.ToJSON PromptVariantProperty where
+  toJSON PromptVariantProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["Name" JSON..= name,
+               "TemplateConfiguration" JSON..= templateConfiguration,
+               "TemplateType" JSON..= templateType]
+              (Prelude.catMaybes
+                 [(JSON..=) "AdditionalModelRequestFields"
+                    Prelude.<$> additionalModelRequestFields,
+                  (JSON..=) "GenAiResource" Prelude.<$> genAiResource,
+                  (JSON..=) "InferenceConfiguration"
+                    Prelude.<$> inferenceConfiguration,
+                  (JSON..=) "Metadata" Prelude.<$> metadata,
+                  (JSON..=) "ModelId" Prelude.<$> modelId])))
+instance Property "AdditionalModelRequestFields" PromptVariantProperty where
+  type PropertyType "AdditionalModelRequestFields" PromptVariantProperty = JSON.Object
+  set newValue PromptVariantProperty {..}
+    = PromptVariantProperty
+        {additionalModelRequestFields = Prelude.pure newValue, ..}
+instance Property "GenAiResource" PromptVariantProperty where
+  type PropertyType "GenAiResource" PromptVariantProperty = PromptGenAiResourceProperty
+  set newValue PromptVariantProperty {..}
+    = PromptVariantProperty {genAiResource = Prelude.pure newValue, ..}
+instance Property "InferenceConfiguration" PromptVariantProperty where
+  type PropertyType "InferenceConfiguration" PromptVariantProperty = PromptInferenceConfigurationProperty
+  set newValue PromptVariantProperty {..}
+    = PromptVariantProperty
+        {inferenceConfiguration = Prelude.pure newValue, ..}
+instance Property "Metadata" PromptVariantProperty where
+  type PropertyType "Metadata" PromptVariantProperty = [PromptMetadataEntryProperty]
+  set newValue PromptVariantProperty {..}
+    = PromptVariantProperty {metadata = Prelude.pure newValue, ..}
+instance Property "ModelId" PromptVariantProperty where
+  type PropertyType "ModelId" PromptVariantProperty = Value Prelude.Text
+  set newValue PromptVariantProperty {..}
+    = PromptVariantProperty {modelId = Prelude.pure newValue, ..}
+instance Property "Name" PromptVariantProperty where
+  type PropertyType "Name" PromptVariantProperty = Value Prelude.Text
+  set newValue PromptVariantProperty {..}
+    = PromptVariantProperty {name = newValue, ..}
+instance Property "TemplateConfiguration" PromptVariantProperty where
+  type PropertyType "TemplateConfiguration" PromptVariantProperty = PromptTemplateConfigurationProperty
+  set newValue PromptVariantProperty {..}
+    = PromptVariantProperty {templateConfiguration = newValue, ..}
+instance Property "TemplateType" PromptVariantProperty where
+  type PropertyType "TemplateType" PromptVariantProperty = Value Prelude.Text
+  set newValue PromptVariantProperty {..}
+    = PromptVariantProperty {templateType = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Prompt/PromptVariantProperty.hs-boot b/gen/Stratosphere/Bedrock/Prompt/PromptVariantProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Prompt/PromptVariantProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Prompt.PromptVariantProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data PromptVariantProperty :: Prelude.Type
+instance ToResourceProperties PromptVariantProperty
+instance Prelude.Eq PromptVariantProperty
+instance Prelude.Show PromptVariantProperty
+instance JSON.ToJSON PromptVariantProperty
diff --git a/gen/Stratosphere/Bedrock/Prompt/SpecificToolChoiceProperty.hs b/gen/Stratosphere/Bedrock/Prompt/SpecificToolChoiceProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Prompt/SpecificToolChoiceProperty.hs
@@ -0,0 +1,31 @@
+module Stratosphere.Bedrock.Prompt.SpecificToolChoiceProperty (
+        SpecificToolChoiceProperty(..), mkSpecificToolChoiceProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data SpecificToolChoiceProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-specifictoolchoice.html>
+    SpecificToolChoiceProperty {haddock_workaround_ :: (),
+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-specifictoolchoice.html#cfn-bedrock-prompt-specifictoolchoice-name>
+                                name :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkSpecificToolChoiceProperty ::
+  Value Prelude.Text -> SpecificToolChoiceProperty
+mkSpecificToolChoiceProperty name
+  = SpecificToolChoiceProperty
+      {haddock_workaround_ = (), name = name}
+instance ToResourceProperties SpecificToolChoiceProperty where
+  toResourceProperties SpecificToolChoiceProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Prompt.SpecificToolChoice",
+         supportsTags = Prelude.False, properties = ["Name" JSON..= name]}
+instance JSON.ToJSON SpecificToolChoiceProperty where
+  toJSON SpecificToolChoiceProperty {..}
+    = JSON.object ["Name" JSON..= name]
+instance Property "Name" SpecificToolChoiceProperty where
+  type PropertyType "Name" SpecificToolChoiceProperty = Value Prelude.Text
+  set newValue SpecificToolChoiceProperty {..}
+    = SpecificToolChoiceProperty {name = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Prompt/SpecificToolChoiceProperty.hs-boot b/gen/Stratosphere/Bedrock/Prompt/SpecificToolChoiceProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Prompt/SpecificToolChoiceProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Prompt.SpecificToolChoiceProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data SpecificToolChoiceProperty :: Prelude.Type
+instance ToResourceProperties SpecificToolChoiceProperty
+instance Prelude.Eq SpecificToolChoiceProperty
+instance Prelude.Show SpecificToolChoiceProperty
+instance JSON.ToJSON SpecificToolChoiceProperty
diff --git a/gen/Stratosphere/Bedrock/Prompt/SystemContentBlockProperty.hs b/gen/Stratosphere/Bedrock/Prompt/SystemContentBlockProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Prompt/SystemContentBlockProperty.hs
@@ -0,0 +1,48 @@
+module Stratosphere.Bedrock.Prompt.SystemContentBlockProperty (
+        module Exports, SystemContentBlockProperty(..),
+        mkSystemContentBlockProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.Prompt.CachePointBlockProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data SystemContentBlockProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-systemcontentblock.html>
+    SystemContentBlockProperty {haddock_workaround_ :: (),
+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-systemcontentblock.html#cfn-bedrock-prompt-systemcontentblock-cachepoint>
+                                cachePoint :: (Prelude.Maybe CachePointBlockProperty),
+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-systemcontentblock.html#cfn-bedrock-prompt-systemcontentblock-text>
+                                text :: (Prelude.Maybe (Value Prelude.Text))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkSystemContentBlockProperty :: SystemContentBlockProperty
+mkSystemContentBlockProperty
+  = SystemContentBlockProperty
+      {haddock_workaround_ = (), cachePoint = Prelude.Nothing,
+       text = Prelude.Nothing}
+instance ToResourceProperties SystemContentBlockProperty where
+  toResourceProperties SystemContentBlockProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Prompt.SystemContentBlock",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "CachePoint" Prelude.<$> cachePoint,
+                            (JSON..=) "Text" Prelude.<$> text])}
+instance JSON.ToJSON SystemContentBlockProperty where
+  toJSON SystemContentBlockProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "CachePoint" Prelude.<$> cachePoint,
+               (JSON..=) "Text" Prelude.<$> text]))
+instance Property "CachePoint" SystemContentBlockProperty where
+  type PropertyType "CachePoint" SystemContentBlockProperty = CachePointBlockProperty
+  set newValue SystemContentBlockProperty {..}
+    = SystemContentBlockProperty
+        {cachePoint = Prelude.pure newValue, ..}
+instance Property "Text" SystemContentBlockProperty where
+  type PropertyType "Text" SystemContentBlockProperty = Value Prelude.Text
+  set newValue SystemContentBlockProperty {..}
+    = SystemContentBlockProperty {text = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Prompt/SystemContentBlockProperty.hs-boot b/gen/Stratosphere/Bedrock/Prompt/SystemContentBlockProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Prompt/SystemContentBlockProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Prompt.SystemContentBlockProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data SystemContentBlockProperty :: Prelude.Type
+instance ToResourceProperties SystemContentBlockProperty
+instance Prelude.Eq SystemContentBlockProperty
+instance Prelude.Show SystemContentBlockProperty
+instance JSON.ToJSON SystemContentBlockProperty
diff --git a/gen/Stratosphere/Bedrock/Prompt/TextPromptTemplateConfigurationProperty.hs b/gen/Stratosphere/Bedrock/Prompt/TextPromptTemplateConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Prompt/TextPromptTemplateConfigurationProperty.hs
@@ -0,0 +1,71 @@
+module Stratosphere.Bedrock.Prompt.TextPromptTemplateConfigurationProperty (
+        module Exports, TextPromptTemplateConfigurationProperty(..),
+        mkTextPromptTemplateConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.Prompt.CachePointBlockProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.Prompt.PromptInputVariableProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.Prompt.TextS3LocationProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data TextPromptTemplateConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-textprompttemplateconfiguration.html>
+    TextPromptTemplateConfigurationProperty {haddock_workaround_ :: (),
+                                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-textprompttemplateconfiguration.html#cfn-bedrock-prompt-textprompttemplateconfiguration-cachepoint>
+                                             cachePoint :: (Prelude.Maybe CachePointBlockProperty),
+                                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-textprompttemplateconfiguration.html#cfn-bedrock-prompt-textprompttemplateconfiguration-inputvariables>
+                                             inputVariables :: (Prelude.Maybe [PromptInputVariableProperty]),
+                                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-textprompttemplateconfiguration.html#cfn-bedrock-prompt-textprompttemplateconfiguration-text>
+                                             text :: (Prelude.Maybe (Value Prelude.Text)),
+                                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-textprompttemplateconfiguration.html#cfn-bedrock-prompt-textprompttemplateconfiguration-texts3location>
+                                             textS3Location :: (Prelude.Maybe TextS3LocationProperty)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkTextPromptTemplateConfigurationProperty ::
+  TextPromptTemplateConfigurationProperty
+mkTextPromptTemplateConfigurationProperty
+  = TextPromptTemplateConfigurationProperty
+      {haddock_workaround_ = (), cachePoint = Prelude.Nothing,
+       inputVariables = Prelude.Nothing, text = Prelude.Nothing,
+       textS3Location = Prelude.Nothing}
+instance ToResourceProperties TextPromptTemplateConfigurationProperty where
+  toResourceProperties TextPromptTemplateConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Prompt.TextPromptTemplateConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "CachePoint" Prelude.<$> cachePoint,
+                            (JSON..=) "InputVariables" Prelude.<$> inputVariables,
+                            (JSON..=) "Text" Prelude.<$> text,
+                            (JSON..=) "TextS3Location" Prelude.<$> textS3Location])}
+instance JSON.ToJSON TextPromptTemplateConfigurationProperty where
+  toJSON TextPromptTemplateConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "CachePoint" Prelude.<$> cachePoint,
+               (JSON..=) "InputVariables" Prelude.<$> inputVariables,
+               (JSON..=) "Text" Prelude.<$> text,
+               (JSON..=) "TextS3Location" Prelude.<$> textS3Location]))
+instance Property "CachePoint" TextPromptTemplateConfigurationProperty where
+  type PropertyType "CachePoint" TextPromptTemplateConfigurationProperty = CachePointBlockProperty
+  set newValue TextPromptTemplateConfigurationProperty {..}
+    = TextPromptTemplateConfigurationProperty
+        {cachePoint = Prelude.pure newValue, ..}
+instance Property "InputVariables" TextPromptTemplateConfigurationProperty where
+  type PropertyType "InputVariables" TextPromptTemplateConfigurationProperty = [PromptInputVariableProperty]
+  set newValue TextPromptTemplateConfigurationProperty {..}
+    = TextPromptTemplateConfigurationProperty
+        {inputVariables = Prelude.pure newValue, ..}
+instance Property "Text" TextPromptTemplateConfigurationProperty where
+  type PropertyType "Text" TextPromptTemplateConfigurationProperty = Value Prelude.Text
+  set newValue TextPromptTemplateConfigurationProperty {..}
+    = TextPromptTemplateConfigurationProperty
+        {text = Prelude.pure newValue, ..}
+instance Property "TextS3Location" TextPromptTemplateConfigurationProperty where
+  type PropertyType "TextS3Location" TextPromptTemplateConfigurationProperty = TextS3LocationProperty
+  set newValue TextPromptTemplateConfigurationProperty {..}
+    = TextPromptTemplateConfigurationProperty
+        {textS3Location = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Prompt/TextPromptTemplateConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/Prompt/TextPromptTemplateConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Prompt/TextPromptTemplateConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Prompt.TextPromptTemplateConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data TextPromptTemplateConfigurationProperty :: Prelude.Type
+instance ToResourceProperties TextPromptTemplateConfigurationProperty
+instance Prelude.Eq TextPromptTemplateConfigurationProperty
+instance Prelude.Show TextPromptTemplateConfigurationProperty
+instance JSON.ToJSON TextPromptTemplateConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/Prompt/TextS3LocationProperty.hs b/gen/Stratosphere/Bedrock/Prompt/TextS3LocationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Prompt/TextS3LocationProperty.hs
@@ -0,0 +1,52 @@
+module Stratosphere.Bedrock.Prompt.TextS3LocationProperty (
+        TextS3LocationProperty(..), mkTextS3LocationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data TextS3LocationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-texts3location.html>
+    TextS3LocationProperty {haddock_workaround_ :: (),
+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-texts3location.html#cfn-bedrock-prompt-texts3location-bucket>
+                            bucket :: (Value Prelude.Text),
+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-texts3location.html#cfn-bedrock-prompt-texts3location-key>
+                            key :: (Value Prelude.Text),
+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-texts3location.html#cfn-bedrock-prompt-texts3location-version>
+                            version :: (Prelude.Maybe (Value Prelude.Text))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkTextS3LocationProperty ::
+  Value Prelude.Text -> Value Prelude.Text -> TextS3LocationProperty
+mkTextS3LocationProperty bucket key
+  = TextS3LocationProperty
+      {haddock_workaround_ = (), bucket = bucket, key = key,
+       version = Prelude.Nothing}
+instance ToResourceProperties TextS3LocationProperty where
+  toResourceProperties TextS3LocationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Prompt.TextS3Location",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["Bucket" JSON..= bucket, "Key" JSON..= key]
+                           (Prelude.catMaybes [(JSON..=) "Version" Prelude.<$> version]))}
+instance JSON.ToJSON TextS3LocationProperty where
+  toJSON TextS3LocationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["Bucket" JSON..= bucket, "Key" JSON..= key]
+              (Prelude.catMaybes [(JSON..=) "Version" Prelude.<$> version])))
+instance Property "Bucket" TextS3LocationProperty where
+  type PropertyType "Bucket" TextS3LocationProperty = Value Prelude.Text
+  set newValue TextS3LocationProperty {..}
+    = TextS3LocationProperty {bucket = newValue, ..}
+instance Property "Key" TextS3LocationProperty where
+  type PropertyType "Key" TextS3LocationProperty = Value Prelude.Text
+  set newValue TextS3LocationProperty {..}
+    = TextS3LocationProperty {key = newValue, ..}
+instance Property "Version" TextS3LocationProperty where
+  type PropertyType "Version" TextS3LocationProperty = Value Prelude.Text
+  set newValue TextS3LocationProperty {..}
+    = TextS3LocationProperty {version = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Prompt/TextS3LocationProperty.hs-boot b/gen/Stratosphere/Bedrock/Prompt/TextS3LocationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Prompt/TextS3LocationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Prompt.TextS3LocationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data TextS3LocationProperty :: Prelude.Type
+instance ToResourceProperties TextS3LocationProperty
+instance Prelude.Eq TextS3LocationProperty
+instance Prelude.Show TextS3LocationProperty
+instance JSON.ToJSON TextS3LocationProperty
diff --git a/gen/Stratosphere/Bedrock/Prompt/ToolChoiceProperty.hs b/gen/Stratosphere/Bedrock/Prompt/ToolChoiceProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Prompt/ToolChoiceProperty.hs
@@ -0,0 +1,53 @@
+module Stratosphere.Bedrock.Prompt.ToolChoiceProperty (
+        module Exports, ToolChoiceProperty(..), mkToolChoiceProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.Prompt.SpecificToolChoiceProperty as Exports
+import Stratosphere.ResourceProperties
+data ToolChoiceProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-toolchoice.html>
+    ToolChoiceProperty {haddock_workaround_ :: (),
+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-toolchoice.html#cfn-bedrock-prompt-toolchoice-any>
+                        any :: (Prelude.Maybe JSON.Object),
+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-toolchoice.html#cfn-bedrock-prompt-toolchoice-auto>
+                        auto :: (Prelude.Maybe JSON.Object),
+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-toolchoice.html#cfn-bedrock-prompt-toolchoice-tool>
+                        tool :: (Prelude.Maybe SpecificToolChoiceProperty)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkToolChoiceProperty :: ToolChoiceProperty
+mkToolChoiceProperty
+  = ToolChoiceProperty
+      {haddock_workaround_ = (), any = Prelude.Nothing,
+       auto = Prelude.Nothing, tool = Prelude.Nothing}
+instance ToResourceProperties ToolChoiceProperty where
+  toResourceProperties ToolChoiceProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Prompt.ToolChoice",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "Any" Prelude.<$> any,
+                            (JSON..=) "Auto" Prelude.<$> auto,
+                            (JSON..=) "Tool" Prelude.<$> tool])}
+instance JSON.ToJSON ToolChoiceProperty where
+  toJSON ToolChoiceProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "Any" Prelude.<$> any,
+               (JSON..=) "Auto" Prelude.<$> auto,
+               (JSON..=) "Tool" Prelude.<$> tool]))
+instance Property "Any" ToolChoiceProperty where
+  type PropertyType "Any" ToolChoiceProperty = JSON.Object
+  set newValue ToolChoiceProperty {..}
+    = ToolChoiceProperty {any = Prelude.pure newValue, ..}
+instance Property "Auto" ToolChoiceProperty where
+  type PropertyType "Auto" ToolChoiceProperty = JSON.Object
+  set newValue ToolChoiceProperty {..}
+    = ToolChoiceProperty {auto = Prelude.pure newValue, ..}
+instance Property "Tool" ToolChoiceProperty where
+  type PropertyType "Tool" ToolChoiceProperty = SpecificToolChoiceProperty
+  set newValue ToolChoiceProperty {..}
+    = ToolChoiceProperty {tool = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Prompt/ToolChoiceProperty.hs-boot b/gen/Stratosphere/Bedrock/Prompt/ToolChoiceProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Prompt/ToolChoiceProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Prompt.ToolChoiceProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data ToolChoiceProperty :: Prelude.Type
+instance ToResourceProperties ToolChoiceProperty
+instance Prelude.Eq ToolChoiceProperty
+instance Prelude.Show ToolChoiceProperty
+instance JSON.ToJSON ToolChoiceProperty
diff --git a/gen/Stratosphere/Bedrock/Prompt/ToolConfigurationProperty.hs b/gen/Stratosphere/Bedrock/Prompt/ToolConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Prompt/ToolConfigurationProperty.hs
@@ -0,0 +1,51 @@
+module Stratosphere.Bedrock.Prompt.ToolConfigurationProperty (
+        module Exports, ToolConfigurationProperty(..),
+        mkToolConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.Prompt.ToolProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.Prompt.ToolChoiceProperty as Exports
+import Stratosphere.ResourceProperties
+data ToolConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-toolconfiguration.html>
+    ToolConfigurationProperty {haddock_workaround_ :: (),
+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-toolconfiguration.html#cfn-bedrock-prompt-toolconfiguration-toolchoice>
+                               toolChoice :: (Prelude.Maybe ToolChoiceProperty),
+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-toolconfiguration.html#cfn-bedrock-prompt-toolconfiguration-tools>
+                               tools :: [ToolProperty]}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkToolConfigurationProperty ::
+  [ToolProperty] -> ToolConfigurationProperty
+mkToolConfigurationProperty tools
+  = ToolConfigurationProperty
+      {haddock_workaround_ = (), tools = tools,
+       toolChoice = Prelude.Nothing}
+instance ToResourceProperties ToolConfigurationProperty where
+  toResourceProperties ToolConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Prompt.ToolConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["Tools" JSON..= tools]
+                           (Prelude.catMaybes
+                              [(JSON..=) "ToolChoice" Prelude.<$> toolChoice]))}
+instance JSON.ToJSON ToolConfigurationProperty where
+  toJSON ToolConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["Tools" JSON..= tools]
+              (Prelude.catMaybes
+                 [(JSON..=) "ToolChoice" Prelude.<$> toolChoice])))
+instance Property "ToolChoice" ToolConfigurationProperty where
+  type PropertyType "ToolChoice" ToolConfigurationProperty = ToolChoiceProperty
+  set newValue ToolConfigurationProperty {..}
+    = ToolConfigurationProperty
+        {toolChoice = Prelude.pure newValue, ..}
+instance Property "Tools" ToolConfigurationProperty where
+  type PropertyType "Tools" ToolConfigurationProperty = [ToolProperty]
+  set newValue ToolConfigurationProperty {..}
+    = ToolConfigurationProperty {tools = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Prompt/ToolConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/Prompt/ToolConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Prompt/ToolConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Prompt.ToolConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data ToolConfigurationProperty :: Prelude.Type
+instance ToResourceProperties ToolConfigurationProperty
+instance Prelude.Eq ToolConfigurationProperty
+instance Prelude.Show ToolConfigurationProperty
+instance JSON.ToJSON ToolConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/Prompt/ToolInputSchemaProperty.hs b/gen/Stratosphere/Bedrock/Prompt/ToolInputSchemaProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Prompt/ToolInputSchemaProperty.hs
@@ -0,0 +1,28 @@
+module Stratosphere.Bedrock.Prompt.ToolInputSchemaProperty (
+        ToolInputSchemaProperty(..), mkToolInputSchemaProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+data ToolInputSchemaProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-toolinputschema.html>
+    ToolInputSchemaProperty {haddock_workaround_ :: (),
+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-toolinputschema.html#cfn-bedrock-prompt-toolinputschema-json>
+                             json :: JSON.Object}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkToolInputSchemaProperty :: JSON.Object -> ToolInputSchemaProperty
+mkToolInputSchemaProperty json
+  = ToolInputSchemaProperty {haddock_workaround_ = (), json = json}
+instance ToResourceProperties ToolInputSchemaProperty where
+  toResourceProperties ToolInputSchemaProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Prompt.ToolInputSchema",
+         supportsTags = Prelude.False, properties = ["Json" JSON..= json]}
+instance JSON.ToJSON ToolInputSchemaProperty where
+  toJSON ToolInputSchemaProperty {..}
+    = JSON.object ["Json" JSON..= json]
+instance Property "Json" ToolInputSchemaProperty where
+  type PropertyType "Json" ToolInputSchemaProperty = JSON.Object
+  set newValue ToolInputSchemaProperty {..}
+    = ToolInputSchemaProperty {json = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Prompt/ToolInputSchemaProperty.hs-boot b/gen/Stratosphere/Bedrock/Prompt/ToolInputSchemaProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Prompt/ToolInputSchemaProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Prompt.ToolInputSchemaProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data ToolInputSchemaProperty :: Prelude.Type
+instance ToResourceProperties ToolInputSchemaProperty
+instance Prelude.Eq ToolInputSchemaProperty
+instance Prelude.Show ToolInputSchemaProperty
+instance JSON.ToJSON ToolInputSchemaProperty
diff --git a/gen/Stratosphere/Bedrock/Prompt/ToolProperty.hs b/gen/Stratosphere/Bedrock/Prompt/ToolProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Prompt/ToolProperty.hs
@@ -0,0 +1,46 @@
+module Stratosphere.Bedrock.Prompt.ToolProperty (
+        module Exports, ToolProperty(..), mkToolProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.Prompt.CachePointBlockProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.Prompt.ToolSpecificationProperty as Exports
+import Stratosphere.ResourceProperties
+data ToolProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-tool.html>
+    ToolProperty {haddock_workaround_ :: (),
+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-tool.html#cfn-bedrock-prompt-tool-cachepoint>
+                  cachePoint :: (Prelude.Maybe CachePointBlockProperty),
+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-tool.html#cfn-bedrock-prompt-tool-toolspec>
+                  toolSpec :: (Prelude.Maybe ToolSpecificationProperty)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkToolProperty :: ToolProperty
+mkToolProperty
+  = ToolProperty
+      {haddock_workaround_ = (), cachePoint = Prelude.Nothing,
+       toolSpec = Prelude.Nothing}
+instance ToResourceProperties ToolProperty where
+  toResourceProperties ToolProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Prompt.Tool",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "CachePoint" Prelude.<$> cachePoint,
+                            (JSON..=) "ToolSpec" Prelude.<$> toolSpec])}
+instance JSON.ToJSON ToolProperty where
+  toJSON ToolProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "CachePoint" Prelude.<$> cachePoint,
+               (JSON..=) "ToolSpec" Prelude.<$> toolSpec]))
+instance Property "CachePoint" ToolProperty where
+  type PropertyType "CachePoint" ToolProperty = CachePointBlockProperty
+  set newValue ToolProperty {..}
+    = ToolProperty {cachePoint = Prelude.pure newValue, ..}
+instance Property "ToolSpec" ToolProperty where
+  type PropertyType "ToolSpec" ToolProperty = ToolSpecificationProperty
+  set newValue ToolProperty {..}
+    = ToolProperty {toolSpec = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Prompt/ToolProperty.hs-boot b/gen/Stratosphere/Bedrock/Prompt/ToolProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Prompt/ToolProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Prompt.ToolProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data ToolProperty :: Prelude.Type
+instance ToResourceProperties ToolProperty
+instance Prelude.Eq ToolProperty
+instance Prelude.Show ToolProperty
+instance JSON.ToJSON ToolProperty
diff --git a/gen/Stratosphere/Bedrock/Prompt/ToolSpecificationProperty.hs b/gen/Stratosphere/Bedrock/Prompt/ToolSpecificationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Prompt/ToolSpecificationProperty.hs
@@ -0,0 +1,58 @@
+module Stratosphere.Bedrock.Prompt.ToolSpecificationProperty (
+        module Exports, ToolSpecificationProperty(..),
+        mkToolSpecificationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.Prompt.ToolInputSchemaProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data ToolSpecificationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-toolspecification.html>
+    ToolSpecificationProperty {haddock_workaround_ :: (),
+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-toolspecification.html#cfn-bedrock-prompt-toolspecification-description>
+                               description :: (Prelude.Maybe (Value Prelude.Text)),
+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-toolspecification.html#cfn-bedrock-prompt-toolspecification-inputschema>
+                               inputSchema :: ToolInputSchemaProperty,
+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-toolspecification.html#cfn-bedrock-prompt-toolspecification-name>
+                               name :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkToolSpecificationProperty ::
+  ToolInputSchemaProperty
+  -> Value Prelude.Text -> ToolSpecificationProperty
+mkToolSpecificationProperty inputSchema name
+  = ToolSpecificationProperty
+      {haddock_workaround_ = (), inputSchema = inputSchema, name = name,
+       description = Prelude.Nothing}
+instance ToResourceProperties ToolSpecificationProperty where
+  toResourceProperties ToolSpecificationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::Prompt.ToolSpecification",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["InputSchema" JSON..= inputSchema, "Name" JSON..= name]
+                           (Prelude.catMaybes
+                              [(JSON..=) "Description" Prelude.<$> description]))}
+instance JSON.ToJSON ToolSpecificationProperty where
+  toJSON ToolSpecificationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["InputSchema" JSON..= inputSchema, "Name" JSON..= name]
+              (Prelude.catMaybes
+                 [(JSON..=) "Description" Prelude.<$> description])))
+instance Property "Description" ToolSpecificationProperty where
+  type PropertyType "Description" ToolSpecificationProperty = Value Prelude.Text
+  set newValue ToolSpecificationProperty {..}
+    = ToolSpecificationProperty
+        {description = Prelude.pure newValue, ..}
+instance Property "InputSchema" ToolSpecificationProperty where
+  type PropertyType "InputSchema" ToolSpecificationProperty = ToolInputSchemaProperty
+  set newValue ToolSpecificationProperty {..}
+    = ToolSpecificationProperty {inputSchema = newValue, ..}
+instance Property "Name" ToolSpecificationProperty where
+  type PropertyType "Name" ToolSpecificationProperty = Value Prelude.Text
+  set newValue ToolSpecificationProperty {..}
+    = ToolSpecificationProperty {name = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/Prompt/ToolSpecificationProperty.hs-boot b/gen/Stratosphere/Bedrock/Prompt/ToolSpecificationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/Prompt/ToolSpecificationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.Prompt.ToolSpecificationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data ToolSpecificationProperty :: Prelude.Type
+instance ToResourceProperties ToolSpecificationProperty
+instance Prelude.Eq ToolSpecificationProperty
+instance Prelude.Show ToolSpecificationProperty
+instance JSON.ToJSON ToolSpecificationProperty
diff --git a/gen/Stratosphere/Bedrock/PromptVersion.hs b/gen/Stratosphere/Bedrock/PromptVersion.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/PromptVersion.hs
@@ -0,0 +1,55 @@
+module Stratosphere.Bedrock.PromptVersion (
+        PromptVersion(..), mkPromptVersion
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data PromptVersion
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-promptversion.html>
+    PromptVersion {haddock_workaround_ :: (),
+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-promptversion.html#cfn-bedrock-promptversion-description>
+                   description :: (Prelude.Maybe (Value Prelude.Text)),
+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-promptversion.html#cfn-bedrock-promptversion-promptarn>
+                   promptArn :: (Value Prelude.Text),
+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-promptversion.html#cfn-bedrock-promptversion-tags>
+                   tags :: (Prelude.Maybe (Prelude.Map Prelude.Text (Value Prelude.Text)))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkPromptVersion :: Value Prelude.Text -> PromptVersion
+mkPromptVersion promptArn
+  = PromptVersion
+      {haddock_workaround_ = (), promptArn = promptArn,
+       description = Prelude.Nothing, tags = Prelude.Nothing}
+instance ToResourceProperties PromptVersion where
+  toResourceProperties PromptVersion {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::PromptVersion",
+         supportsTags = Prelude.True,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["PromptArn" JSON..= promptArn]
+                           (Prelude.catMaybes
+                              [(JSON..=) "Description" Prelude.<$> description,
+                               (JSON..=) "Tags" Prelude.<$> tags]))}
+instance JSON.ToJSON PromptVersion where
+  toJSON PromptVersion {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["PromptArn" JSON..= promptArn]
+              (Prelude.catMaybes
+                 [(JSON..=) "Description" Prelude.<$> description,
+                  (JSON..=) "Tags" Prelude.<$> tags])))
+instance Property "Description" PromptVersion where
+  type PropertyType "Description" PromptVersion = Value Prelude.Text
+  set newValue PromptVersion {..}
+    = PromptVersion {description = Prelude.pure newValue, ..}
+instance Property "PromptArn" PromptVersion where
+  type PropertyType "PromptArn" PromptVersion = Value Prelude.Text
+  set newValue PromptVersion {..}
+    = PromptVersion {promptArn = newValue, ..}
+instance Property "Tags" PromptVersion where
+  type PropertyType "Tags" PromptVersion = Prelude.Map Prelude.Text (Value Prelude.Text)
+  set newValue PromptVersion {..}
+    = PromptVersion {tags = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/PromptVersion/CachePointBlockProperty.hs b/gen/Stratosphere/Bedrock/PromptVersion/CachePointBlockProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/PromptVersion/CachePointBlockProperty.hs
@@ -0,0 +1,30 @@
+module Stratosphere.Bedrock.PromptVersion.CachePointBlockProperty (
+        CachePointBlockProperty(..), mkCachePointBlockProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data CachePointBlockProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-cachepointblock.html>
+    CachePointBlockProperty {haddock_workaround_ :: (),
+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-cachepointblock.html#cfn-bedrock-promptversion-cachepointblock-type>
+                             type' :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkCachePointBlockProperty ::
+  Value Prelude.Text -> CachePointBlockProperty
+mkCachePointBlockProperty type'
+  = CachePointBlockProperty {haddock_workaround_ = (), type' = type'}
+instance ToResourceProperties CachePointBlockProperty where
+  toResourceProperties CachePointBlockProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::PromptVersion.CachePointBlock",
+         supportsTags = Prelude.False, properties = ["Type" JSON..= type']}
+instance JSON.ToJSON CachePointBlockProperty where
+  toJSON CachePointBlockProperty {..}
+    = JSON.object ["Type" JSON..= type']
+instance Property "Type" CachePointBlockProperty where
+  type PropertyType "Type" CachePointBlockProperty = Value Prelude.Text
+  set newValue CachePointBlockProperty {..}
+    = CachePointBlockProperty {type' = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/PromptVersion/CachePointBlockProperty.hs-boot b/gen/Stratosphere/Bedrock/PromptVersion/CachePointBlockProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/PromptVersion/CachePointBlockProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.PromptVersion.CachePointBlockProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data CachePointBlockProperty :: Prelude.Type
+instance ToResourceProperties CachePointBlockProperty
+instance Prelude.Eq CachePointBlockProperty
+instance Prelude.Show CachePointBlockProperty
+instance JSON.ToJSON CachePointBlockProperty
diff --git a/gen/Stratosphere/Bedrock/PromptVersion/ChatPromptTemplateConfigurationProperty.hs b/gen/Stratosphere/Bedrock/PromptVersion/ChatPromptTemplateConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/PromptVersion/ChatPromptTemplateConfigurationProperty.hs
@@ -0,0 +1,72 @@
+module Stratosphere.Bedrock.PromptVersion.ChatPromptTemplateConfigurationProperty (
+        module Exports, ChatPromptTemplateConfigurationProperty(..),
+        mkChatPromptTemplateConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.PromptVersion.MessageProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.PromptVersion.PromptInputVariableProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.PromptVersion.SystemContentBlockProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.PromptVersion.ToolConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+data ChatPromptTemplateConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-chatprompttemplateconfiguration.html>
+    ChatPromptTemplateConfigurationProperty {haddock_workaround_ :: (),
+                                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-chatprompttemplateconfiguration.html#cfn-bedrock-promptversion-chatprompttemplateconfiguration-inputvariables>
+                                             inputVariables :: (Prelude.Maybe [PromptInputVariableProperty]),
+                                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-chatprompttemplateconfiguration.html#cfn-bedrock-promptversion-chatprompttemplateconfiguration-messages>
+                                             messages :: [MessageProperty],
+                                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-chatprompttemplateconfiguration.html#cfn-bedrock-promptversion-chatprompttemplateconfiguration-system>
+                                             system :: (Prelude.Maybe [SystemContentBlockProperty]),
+                                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-chatprompttemplateconfiguration.html#cfn-bedrock-promptversion-chatprompttemplateconfiguration-toolconfiguration>
+                                             toolConfiguration :: (Prelude.Maybe ToolConfigurationProperty)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkChatPromptTemplateConfigurationProperty ::
+  [MessageProperty] -> ChatPromptTemplateConfigurationProperty
+mkChatPromptTemplateConfigurationProperty messages
+  = ChatPromptTemplateConfigurationProperty
+      {haddock_workaround_ = (), messages = messages,
+       inputVariables = Prelude.Nothing, system = Prelude.Nothing,
+       toolConfiguration = Prelude.Nothing}
+instance ToResourceProperties ChatPromptTemplateConfigurationProperty where
+  toResourceProperties ChatPromptTemplateConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::PromptVersion.ChatPromptTemplateConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["Messages" JSON..= messages]
+                           (Prelude.catMaybes
+                              [(JSON..=) "InputVariables" Prelude.<$> inputVariables,
+                               (JSON..=) "System" Prelude.<$> system,
+                               (JSON..=) "ToolConfiguration" Prelude.<$> toolConfiguration]))}
+instance JSON.ToJSON ChatPromptTemplateConfigurationProperty where
+  toJSON ChatPromptTemplateConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["Messages" JSON..= messages]
+              (Prelude.catMaybes
+                 [(JSON..=) "InputVariables" Prelude.<$> inputVariables,
+                  (JSON..=) "System" Prelude.<$> system,
+                  (JSON..=) "ToolConfiguration" Prelude.<$> toolConfiguration])))
+instance Property "InputVariables" ChatPromptTemplateConfigurationProperty where
+  type PropertyType "InputVariables" ChatPromptTemplateConfigurationProperty = [PromptInputVariableProperty]
+  set newValue ChatPromptTemplateConfigurationProperty {..}
+    = ChatPromptTemplateConfigurationProperty
+        {inputVariables = Prelude.pure newValue, ..}
+instance Property "Messages" ChatPromptTemplateConfigurationProperty where
+  type PropertyType "Messages" ChatPromptTemplateConfigurationProperty = [MessageProperty]
+  set newValue ChatPromptTemplateConfigurationProperty {..}
+    = ChatPromptTemplateConfigurationProperty {messages = newValue, ..}
+instance Property "System" ChatPromptTemplateConfigurationProperty where
+  type PropertyType "System" ChatPromptTemplateConfigurationProperty = [SystemContentBlockProperty]
+  set newValue ChatPromptTemplateConfigurationProperty {..}
+    = ChatPromptTemplateConfigurationProperty
+        {system = Prelude.pure newValue, ..}
+instance Property "ToolConfiguration" ChatPromptTemplateConfigurationProperty where
+  type PropertyType "ToolConfiguration" ChatPromptTemplateConfigurationProperty = ToolConfigurationProperty
+  set newValue ChatPromptTemplateConfigurationProperty {..}
+    = ChatPromptTemplateConfigurationProperty
+        {toolConfiguration = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/PromptVersion/ChatPromptTemplateConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/PromptVersion/ChatPromptTemplateConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/PromptVersion/ChatPromptTemplateConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.PromptVersion.ChatPromptTemplateConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data ChatPromptTemplateConfigurationProperty :: Prelude.Type
+instance ToResourceProperties ChatPromptTemplateConfigurationProperty
+instance Prelude.Eq ChatPromptTemplateConfigurationProperty
+instance Prelude.Show ChatPromptTemplateConfigurationProperty
+instance JSON.ToJSON ChatPromptTemplateConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/PromptVersion/ContentBlockProperty.hs b/gen/Stratosphere/Bedrock/PromptVersion/ContentBlockProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/PromptVersion/ContentBlockProperty.hs
@@ -0,0 +1,46 @@
+module Stratosphere.Bedrock.PromptVersion.ContentBlockProperty (
+        module Exports, ContentBlockProperty(..), mkContentBlockProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.PromptVersion.CachePointBlockProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data ContentBlockProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-contentblock.html>
+    ContentBlockProperty {haddock_workaround_ :: (),
+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-contentblock.html#cfn-bedrock-promptversion-contentblock-cachepoint>
+                          cachePoint :: (Prelude.Maybe CachePointBlockProperty),
+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-contentblock.html#cfn-bedrock-promptversion-contentblock-text>
+                          text :: (Prelude.Maybe (Value Prelude.Text))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkContentBlockProperty :: ContentBlockProperty
+mkContentBlockProperty
+  = ContentBlockProperty
+      {haddock_workaround_ = (), cachePoint = Prelude.Nothing,
+       text = Prelude.Nothing}
+instance ToResourceProperties ContentBlockProperty where
+  toResourceProperties ContentBlockProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::PromptVersion.ContentBlock",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "CachePoint" Prelude.<$> cachePoint,
+                            (JSON..=) "Text" Prelude.<$> text])}
+instance JSON.ToJSON ContentBlockProperty where
+  toJSON ContentBlockProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "CachePoint" Prelude.<$> cachePoint,
+               (JSON..=) "Text" Prelude.<$> text]))
+instance Property "CachePoint" ContentBlockProperty where
+  type PropertyType "CachePoint" ContentBlockProperty = CachePointBlockProperty
+  set newValue ContentBlockProperty {..}
+    = ContentBlockProperty {cachePoint = Prelude.pure newValue, ..}
+instance Property "Text" ContentBlockProperty where
+  type PropertyType "Text" ContentBlockProperty = Value Prelude.Text
+  set newValue ContentBlockProperty {..}
+    = ContentBlockProperty {text = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/PromptVersion/ContentBlockProperty.hs-boot b/gen/Stratosphere/Bedrock/PromptVersion/ContentBlockProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/PromptVersion/ContentBlockProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.PromptVersion.ContentBlockProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data ContentBlockProperty :: Prelude.Type
+instance ToResourceProperties ContentBlockProperty
+instance Prelude.Eq ContentBlockProperty
+instance Prelude.Show ContentBlockProperty
+instance JSON.ToJSON ContentBlockProperty
diff --git a/gen/Stratosphere/Bedrock/PromptVersion/MessageProperty.hs b/gen/Stratosphere/Bedrock/PromptVersion/MessageProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/PromptVersion/MessageProperty.hs
@@ -0,0 +1,39 @@
+module Stratosphere.Bedrock.PromptVersion.MessageProperty (
+        module Exports, MessageProperty(..), mkMessageProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.PromptVersion.ContentBlockProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data MessageProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-message.html>
+    MessageProperty {haddock_workaround_ :: (),
+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-message.html#cfn-bedrock-promptversion-message-content>
+                     content :: [ContentBlockProperty],
+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-message.html#cfn-bedrock-promptversion-message-role>
+                     role :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkMessageProperty ::
+  [ContentBlockProperty] -> Value Prelude.Text -> MessageProperty
+mkMessageProperty content role
+  = MessageProperty
+      {haddock_workaround_ = (), content = content, role = role}
+instance ToResourceProperties MessageProperty where
+  toResourceProperties MessageProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::PromptVersion.Message",
+         supportsTags = Prelude.False,
+         properties = ["Content" JSON..= content, "Role" JSON..= role]}
+instance JSON.ToJSON MessageProperty where
+  toJSON MessageProperty {..}
+    = JSON.object ["Content" JSON..= content, "Role" JSON..= role]
+instance Property "Content" MessageProperty where
+  type PropertyType "Content" MessageProperty = [ContentBlockProperty]
+  set newValue MessageProperty {..}
+    = MessageProperty {content = newValue, ..}
+instance Property "Role" MessageProperty where
+  type PropertyType "Role" MessageProperty = Value Prelude.Text
+  set newValue MessageProperty {..}
+    = MessageProperty {role = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/PromptVersion/MessageProperty.hs-boot b/gen/Stratosphere/Bedrock/PromptVersion/MessageProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/PromptVersion/MessageProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.PromptVersion.MessageProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data MessageProperty :: Prelude.Type
+instance ToResourceProperties MessageProperty
+instance Prelude.Eq MessageProperty
+instance Prelude.Show MessageProperty
+instance JSON.ToJSON MessageProperty
diff --git a/gen/Stratosphere/Bedrock/PromptVersion/PromptAgentResourceProperty.hs b/gen/Stratosphere/Bedrock/PromptVersion/PromptAgentResourceProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/PromptVersion/PromptAgentResourceProperty.hs
@@ -0,0 +1,32 @@
+module Stratosphere.Bedrock.PromptVersion.PromptAgentResourceProperty (
+        PromptAgentResourceProperty(..), mkPromptAgentResourceProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data PromptAgentResourceProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-promptagentresource.html>
+    PromptAgentResourceProperty {haddock_workaround_ :: (),
+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-promptagentresource.html#cfn-bedrock-promptversion-promptagentresource-agentidentifier>
+                                 agentIdentifier :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkPromptAgentResourceProperty ::
+  Value Prelude.Text -> PromptAgentResourceProperty
+mkPromptAgentResourceProperty agentIdentifier
+  = PromptAgentResourceProperty
+      {haddock_workaround_ = (), agentIdentifier = agentIdentifier}
+instance ToResourceProperties PromptAgentResourceProperty where
+  toResourceProperties PromptAgentResourceProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::PromptVersion.PromptAgentResource",
+         supportsTags = Prelude.False,
+         properties = ["AgentIdentifier" JSON..= agentIdentifier]}
+instance JSON.ToJSON PromptAgentResourceProperty where
+  toJSON PromptAgentResourceProperty {..}
+    = JSON.object ["AgentIdentifier" JSON..= agentIdentifier]
+instance Property "AgentIdentifier" PromptAgentResourceProperty where
+  type PropertyType "AgentIdentifier" PromptAgentResourceProperty = Value Prelude.Text
+  set newValue PromptAgentResourceProperty {..}
+    = PromptAgentResourceProperty {agentIdentifier = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/PromptVersion/PromptAgentResourceProperty.hs-boot b/gen/Stratosphere/Bedrock/PromptVersion/PromptAgentResourceProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/PromptVersion/PromptAgentResourceProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.PromptVersion.PromptAgentResourceProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data PromptAgentResourceProperty :: Prelude.Type
+instance ToResourceProperties PromptAgentResourceProperty
+instance Prelude.Eq PromptAgentResourceProperty
+instance Prelude.Show PromptAgentResourceProperty
+instance JSON.ToJSON PromptAgentResourceProperty
diff --git a/gen/Stratosphere/Bedrock/PromptVersion/PromptGenAiResourceProperty.hs b/gen/Stratosphere/Bedrock/PromptVersion/PromptGenAiResourceProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/PromptVersion/PromptGenAiResourceProperty.hs
@@ -0,0 +1,32 @@
+module Stratosphere.Bedrock.PromptVersion.PromptGenAiResourceProperty (
+        module Exports, PromptGenAiResourceProperty(..),
+        mkPromptGenAiResourceProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.PromptVersion.PromptAgentResourceProperty as Exports
+import Stratosphere.ResourceProperties
+data PromptGenAiResourceProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-promptgenairesource.html>
+    PromptGenAiResourceProperty {haddock_workaround_ :: (),
+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-promptgenairesource.html#cfn-bedrock-promptversion-promptgenairesource-agent>
+                                 agent :: PromptAgentResourceProperty}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkPromptGenAiResourceProperty ::
+  PromptAgentResourceProperty -> PromptGenAiResourceProperty
+mkPromptGenAiResourceProperty agent
+  = PromptGenAiResourceProperty
+      {haddock_workaround_ = (), agent = agent}
+instance ToResourceProperties PromptGenAiResourceProperty where
+  toResourceProperties PromptGenAiResourceProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::PromptVersion.PromptGenAiResource",
+         supportsTags = Prelude.False, properties = ["Agent" JSON..= agent]}
+instance JSON.ToJSON PromptGenAiResourceProperty where
+  toJSON PromptGenAiResourceProperty {..}
+    = JSON.object ["Agent" JSON..= agent]
+instance Property "Agent" PromptGenAiResourceProperty where
+  type PropertyType "Agent" PromptGenAiResourceProperty = PromptAgentResourceProperty
+  set newValue PromptGenAiResourceProperty {..}
+    = PromptGenAiResourceProperty {agent = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/PromptVersion/PromptGenAiResourceProperty.hs-boot b/gen/Stratosphere/Bedrock/PromptVersion/PromptGenAiResourceProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/PromptVersion/PromptGenAiResourceProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.PromptVersion.PromptGenAiResourceProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data PromptGenAiResourceProperty :: Prelude.Type
+instance ToResourceProperties PromptGenAiResourceProperty
+instance Prelude.Eq PromptGenAiResourceProperty
+instance Prelude.Show PromptGenAiResourceProperty
+instance JSON.ToJSON PromptGenAiResourceProperty
diff --git a/gen/Stratosphere/Bedrock/PromptVersion/PromptInferenceConfigurationProperty.hs b/gen/Stratosphere/Bedrock/PromptVersion/PromptInferenceConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/PromptVersion/PromptInferenceConfigurationProperty.hs
@@ -0,0 +1,33 @@
+module Stratosphere.Bedrock.PromptVersion.PromptInferenceConfigurationProperty (
+        module Exports, PromptInferenceConfigurationProperty(..),
+        mkPromptInferenceConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.PromptVersion.PromptModelInferenceConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+data PromptInferenceConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-promptinferenceconfiguration.html>
+    PromptInferenceConfigurationProperty {haddock_workaround_ :: (),
+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-promptinferenceconfiguration.html#cfn-bedrock-promptversion-promptinferenceconfiguration-text>
+                                          text :: PromptModelInferenceConfigurationProperty}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkPromptInferenceConfigurationProperty ::
+  PromptModelInferenceConfigurationProperty
+  -> PromptInferenceConfigurationProperty
+mkPromptInferenceConfigurationProperty text
+  = PromptInferenceConfigurationProperty
+      {haddock_workaround_ = (), text = text}
+instance ToResourceProperties PromptInferenceConfigurationProperty where
+  toResourceProperties PromptInferenceConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::PromptVersion.PromptInferenceConfiguration",
+         supportsTags = Prelude.False, properties = ["Text" JSON..= text]}
+instance JSON.ToJSON PromptInferenceConfigurationProperty where
+  toJSON PromptInferenceConfigurationProperty {..}
+    = JSON.object ["Text" JSON..= text]
+instance Property "Text" PromptInferenceConfigurationProperty where
+  type PropertyType "Text" PromptInferenceConfigurationProperty = PromptModelInferenceConfigurationProperty
+  set newValue PromptInferenceConfigurationProperty {..}
+    = PromptInferenceConfigurationProperty {text = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/PromptVersion/PromptInferenceConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/PromptVersion/PromptInferenceConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/PromptVersion/PromptInferenceConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.PromptVersion.PromptInferenceConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data PromptInferenceConfigurationProperty :: Prelude.Type
+instance ToResourceProperties PromptInferenceConfigurationProperty
+instance Prelude.Eq PromptInferenceConfigurationProperty
+instance Prelude.Show PromptInferenceConfigurationProperty
+instance JSON.ToJSON PromptInferenceConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/PromptVersion/PromptInputVariableProperty.hs b/gen/Stratosphere/Bedrock/PromptVersion/PromptInputVariableProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/PromptVersion/PromptInputVariableProperty.hs
@@ -0,0 +1,34 @@
+module Stratosphere.Bedrock.PromptVersion.PromptInputVariableProperty (
+        PromptInputVariableProperty(..), mkPromptInputVariableProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data PromptInputVariableProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-promptinputvariable.html>
+    PromptInputVariableProperty {haddock_workaround_ :: (),
+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-promptinputvariable.html#cfn-bedrock-promptversion-promptinputvariable-name>
+                                 name :: (Prelude.Maybe (Value Prelude.Text))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkPromptInputVariableProperty :: PromptInputVariableProperty
+mkPromptInputVariableProperty
+  = PromptInputVariableProperty
+      {haddock_workaround_ = (), name = Prelude.Nothing}
+instance ToResourceProperties PromptInputVariableProperty where
+  toResourceProperties PromptInputVariableProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::PromptVersion.PromptInputVariable",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes [(JSON..=) "Name" Prelude.<$> name])}
+instance JSON.ToJSON PromptInputVariableProperty where
+  toJSON PromptInputVariableProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes [(JSON..=) "Name" Prelude.<$> name]))
+instance Property "Name" PromptInputVariableProperty where
+  type PropertyType "Name" PromptInputVariableProperty = Value Prelude.Text
+  set newValue PromptInputVariableProperty {..}
+    = PromptInputVariableProperty {name = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/PromptVersion/PromptInputVariableProperty.hs-boot b/gen/Stratosphere/Bedrock/PromptVersion/PromptInputVariableProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/PromptVersion/PromptInputVariableProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.PromptVersion.PromptInputVariableProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data PromptInputVariableProperty :: Prelude.Type
+instance ToResourceProperties PromptInputVariableProperty
+instance Prelude.Eq PromptInputVariableProperty
+instance Prelude.Show PromptInputVariableProperty
+instance JSON.ToJSON PromptInputVariableProperty
diff --git a/gen/Stratosphere/Bedrock/PromptVersion/PromptMetadataEntryProperty.hs b/gen/Stratosphere/Bedrock/PromptVersion/PromptMetadataEntryProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/PromptVersion/PromptMetadataEntryProperty.hs
@@ -0,0 +1,39 @@
+module Stratosphere.Bedrock.PromptVersion.PromptMetadataEntryProperty (
+        PromptMetadataEntryProperty(..), mkPromptMetadataEntryProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data PromptMetadataEntryProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-promptmetadataentry.html>
+    PromptMetadataEntryProperty {haddock_workaround_ :: (),
+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-promptmetadataentry.html#cfn-bedrock-promptversion-promptmetadataentry-key>
+                                 key :: (Value Prelude.Text),
+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-promptmetadataentry.html#cfn-bedrock-promptversion-promptmetadataentry-value>
+                                 value :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkPromptMetadataEntryProperty ::
+  Value Prelude.Text
+  -> Value Prelude.Text -> PromptMetadataEntryProperty
+mkPromptMetadataEntryProperty key value
+  = PromptMetadataEntryProperty
+      {haddock_workaround_ = (), key = key, value = value}
+instance ToResourceProperties PromptMetadataEntryProperty where
+  toResourceProperties PromptMetadataEntryProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::PromptVersion.PromptMetadataEntry",
+         supportsTags = Prelude.False,
+         properties = ["Key" JSON..= key, "Value" JSON..= value]}
+instance JSON.ToJSON PromptMetadataEntryProperty where
+  toJSON PromptMetadataEntryProperty {..}
+    = JSON.object ["Key" JSON..= key, "Value" JSON..= value]
+instance Property "Key" PromptMetadataEntryProperty where
+  type PropertyType "Key" PromptMetadataEntryProperty = Value Prelude.Text
+  set newValue PromptMetadataEntryProperty {..}
+    = PromptMetadataEntryProperty {key = newValue, ..}
+instance Property "Value" PromptMetadataEntryProperty where
+  type PropertyType "Value" PromptMetadataEntryProperty = Value Prelude.Text
+  set newValue PromptMetadataEntryProperty {..}
+    = PromptMetadataEntryProperty {value = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/PromptVersion/PromptMetadataEntryProperty.hs-boot b/gen/Stratosphere/Bedrock/PromptVersion/PromptMetadataEntryProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/PromptVersion/PromptMetadataEntryProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.PromptVersion.PromptMetadataEntryProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data PromptMetadataEntryProperty :: Prelude.Type
+instance ToResourceProperties PromptMetadataEntryProperty
+instance Prelude.Eq PromptMetadataEntryProperty
+instance Prelude.Show PromptMetadataEntryProperty
+instance JSON.ToJSON PromptMetadataEntryProperty
diff --git a/gen/Stratosphere/Bedrock/PromptVersion/PromptModelInferenceConfigurationProperty.hs b/gen/Stratosphere/Bedrock/PromptVersion/PromptModelInferenceConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/PromptVersion/PromptModelInferenceConfigurationProperty.hs
@@ -0,0 +1,68 @@
+module Stratosphere.Bedrock.PromptVersion.PromptModelInferenceConfigurationProperty (
+        PromptModelInferenceConfigurationProperty(..),
+        mkPromptModelInferenceConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data PromptModelInferenceConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-promptmodelinferenceconfiguration.html>
+    PromptModelInferenceConfigurationProperty {haddock_workaround_ :: (),
+                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-promptmodelinferenceconfiguration.html#cfn-bedrock-promptversion-promptmodelinferenceconfiguration-maxtokens>
+                                               maxTokens :: (Prelude.Maybe (Value Prelude.Double)),
+                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-promptmodelinferenceconfiguration.html#cfn-bedrock-promptversion-promptmodelinferenceconfiguration-stopsequences>
+                                               stopSequences :: (Prelude.Maybe (ValueList Prelude.Text)),
+                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-promptmodelinferenceconfiguration.html#cfn-bedrock-promptversion-promptmodelinferenceconfiguration-temperature>
+                                               temperature :: (Prelude.Maybe (Value Prelude.Double)),
+                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-promptmodelinferenceconfiguration.html#cfn-bedrock-promptversion-promptmodelinferenceconfiguration-topp>
+                                               topP :: (Prelude.Maybe (Value Prelude.Double))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkPromptModelInferenceConfigurationProperty ::
+  PromptModelInferenceConfigurationProperty
+mkPromptModelInferenceConfigurationProperty
+  = PromptModelInferenceConfigurationProperty
+      {haddock_workaround_ = (), maxTokens = Prelude.Nothing,
+       stopSequences = Prelude.Nothing, temperature = Prelude.Nothing,
+       topP = Prelude.Nothing}
+instance ToResourceProperties PromptModelInferenceConfigurationProperty where
+  toResourceProperties PromptModelInferenceConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::PromptVersion.PromptModelInferenceConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "MaxTokens" Prelude.<$> maxTokens,
+                            (JSON..=) "StopSequences" Prelude.<$> stopSequences,
+                            (JSON..=) "Temperature" Prelude.<$> temperature,
+                            (JSON..=) "TopP" Prelude.<$> topP])}
+instance JSON.ToJSON PromptModelInferenceConfigurationProperty where
+  toJSON PromptModelInferenceConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "MaxTokens" Prelude.<$> maxTokens,
+               (JSON..=) "StopSequences" Prelude.<$> stopSequences,
+               (JSON..=) "Temperature" Prelude.<$> temperature,
+               (JSON..=) "TopP" Prelude.<$> topP]))
+instance Property "MaxTokens" PromptModelInferenceConfigurationProperty where
+  type PropertyType "MaxTokens" PromptModelInferenceConfigurationProperty = Value Prelude.Double
+  set newValue PromptModelInferenceConfigurationProperty {..}
+    = PromptModelInferenceConfigurationProperty
+        {maxTokens = Prelude.pure newValue, ..}
+instance Property "StopSequences" PromptModelInferenceConfigurationProperty where
+  type PropertyType "StopSequences" PromptModelInferenceConfigurationProperty = ValueList Prelude.Text
+  set newValue PromptModelInferenceConfigurationProperty {..}
+    = PromptModelInferenceConfigurationProperty
+        {stopSequences = Prelude.pure newValue, ..}
+instance Property "Temperature" PromptModelInferenceConfigurationProperty where
+  type PropertyType "Temperature" PromptModelInferenceConfigurationProperty = Value Prelude.Double
+  set newValue PromptModelInferenceConfigurationProperty {..}
+    = PromptModelInferenceConfigurationProperty
+        {temperature = Prelude.pure newValue, ..}
+instance Property "TopP" PromptModelInferenceConfigurationProperty where
+  type PropertyType "TopP" PromptModelInferenceConfigurationProperty = Value Prelude.Double
+  set newValue PromptModelInferenceConfigurationProperty {..}
+    = PromptModelInferenceConfigurationProperty
+        {topP = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/PromptVersion/PromptModelInferenceConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/PromptVersion/PromptModelInferenceConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/PromptVersion/PromptModelInferenceConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.PromptVersion.PromptModelInferenceConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data PromptModelInferenceConfigurationProperty :: Prelude.Type
+instance ToResourceProperties PromptModelInferenceConfigurationProperty
+instance Prelude.Eq PromptModelInferenceConfigurationProperty
+instance Prelude.Show PromptModelInferenceConfigurationProperty
+instance JSON.ToJSON PromptModelInferenceConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/PromptVersion/PromptTemplateConfigurationProperty.hs b/gen/Stratosphere/Bedrock/PromptVersion/PromptTemplateConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/PromptVersion/PromptTemplateConfigurationProperty.hs
@@ -0,0 +1,50 @@
+module Stratosphere.Bedrock.PromptVersion.PromptTemplateConfigurationProperty (
+        module Exports, PromptTemplateConfigurationProperty(..),
+        mkPromptTemplateConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.PromptVersion.ChatPromptTemplateConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.PromptVersion.TextPromptTemplateConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+data PromptTemplateConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-prompttemplateconfiguration.html>
+    PromptTemplateConfigurationProperty {haddock_workaround_ :: (),
+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-prompttemplateconfiguration.html#cfn-bedrock-promptversion-prompttemplateconfiguration-chat>
+                                         chat :: (Prelude.Maybe ChatPromptTemplateConfigurationProperty),
+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-prompttemplateconfiguration.html#cfn-bedrock-promptversion-prompttemplateconfiguration-text>
+                                         text :: (Prelude.Maybe TextPromptTemplateConfigurationProperty)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkPromptTemplateConfigurationProperty ::
+  PromptTemplateConfigurationProperty
+mkPromptTemplateConfigurationProperty
+  = PromptTemplateConfigurationProperty
+      {haddock_workaround_ = (), chat = Prelude.Nothing,
+       text = Prelude.Nothing}
+instance ToResourceProperties PromptTemplateConfigurationProperty where
+  toResourceProperties PromptTemplateConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::PromptVersion.PromptTemplateConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "Chat" Prelude.<$> chat,
+                            (JSON..=) "Text" Prelude.<$> text])}
+instance JSON.ToJSON PromptTemplateConfigurationProperty where
+  toJSON PromptTemplateConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "Chat" Prelude.<$> chat,
+               (JSON..=) "Text" Prelude.<$> text]))
+instance Property "Chat" PromptTemplateConfigurationProperty where
+  type PropertyType "Chat" PromptTemplateConfigurationProperty = ChatPromptTemplateConfigurationProperty
+  set newValue PromptTemplateConfigurationProperty {..}
+    = PromptTemplateConfigurationProperty
+        {chat = Prelude.pure newValue, ..}
+instance Property "Text" PromptTemplateConfigurationProperty where
+  type PropertyType "Text" PromptTemplateConfigurationProperty = TextPromptTemplateConfigurationProperty
+  set newValue PromptTemplateConfigurationProperty {..}
+    = PromptTemplateConfigurationProperty
+        {text = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/PromptVersion/PromptTemplateConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/PromptVersion/PromptTemplateConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/PromptVersion/PromptTemplateConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.PromptVersion.PromptTemplateConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data PromptTemplateConfigurationProperty :: Prelude.Type
+instance ToResourceProperties PromptTemplateConfigurationProperty
+instance Prelude.Eq PromptTemplateConfigurationProperty
+instance Prelude.Show PromptTemplateConfigurationProperty
+instance JSON.ToJSON PromptTemplateConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/PromptVersion/PromptVariantProperty.hs b/gen/Stratosphere/Bedrock/PromptVersion/PromptVariantProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/PromptVersion/PromptVariantProperty.hs
@@ -0,0 +1,113 @@
+module Stratosphere.Bedrock.PromptVersion.PromptVariantProperty (
+        module Exports, PromptVariantProperty(..), mkPromptVariantProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.PromptVersion.PromptGenAiResourceProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.PromptVersion.PromptInferenceConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.PromptVersion.PromptMetadataEntryProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.PromptVersion.PromptTemplateConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data PromptVariantProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-promptvariant.html>
+    PromptVariantProperty {haddock_workaround_ :: (),
+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-promptvariant.html#cfn-bedrock-promptversion-promptvariant-additionalmodelrequestfields>
+                           additionalModelRequestFields :: (Prelude.Maybe JSON.Object),
+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-promptvariant.html#cfn-bedrock-promptversion-promptvariant-genairesource>
+                           genAiResource :: (Prelude.Maybe PromptGenAiResourceProperty),
+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-promptvariant.html#cfn-bedrock-promptversion-promptvariant-inferenceconfiguration>
+                           inferenceConfiguration :: (Prelude.Maybe PromptInferenceConfigurationProperty),
+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-promptvariant.html#cfn-bedrock-promptversion-promptvariant-metadata>
+                           metadata :: (Prelude.Maybe [PromptMetadataEntryProperty]),
+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-promptvariant.html#cfn-bedrock-promptversion-promptvariant-modelid>
+                           modelId :: (Prelude.Maybe (Value Prelude.Text)),
+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-promptvariant.html#cfn-bedrock-promptversion-promptvariant-name>
+                           name :: (Value Prelude.Text),
+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-promptvariant.html#cfn-bedrock-promptversion-promptvariant-templateconfiguration>
+                           templateConfiguration :: PromptTemplateConfigurationProperty,
+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-promptvariant.html#cfn-bedrock-promptversion-promptvariant-templatetype>
+                           templateType :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkPromptVariantProperty ::
+  Value Prelude.Text
+  -> PromptTemplateConfigurationProperty
+     -> Value Prelude.Text -> PromptVariantProperty
+mkPromptVariantProperty name templateConfiguration templateType
+  = PromptVariantProperty
+      {haddock_workaround_ = (), name = name,
+       templateConfiguration = templateConfiguration,
+       templateType = templateType,
+       additionalModelRequestFields = Prelude.Nothing,
+       genAiResource = Prelude.Nothing,
+       inferenceConfiguration = Prelude.Nothing,
+       metadata = Prelude.Nothing, modelId = Prelude.Nothing}
+instance ToResourceProperties PromptVariantProperty where
+  toResourceProperties PromptVariantProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::PromptVersion.PromptVariant",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["Name" JSON..= name,
+                            "TemplateConfiguration" JSON..= templateConfiguration,
+                            "TemplateType" JSON..= templateType]
+                           (Prelude.catMaybes
+                              [(JSON..=) "AdditionalModelRequestFields"
+                                 Prelude.<$> additionalModelRequestFields,
+                               (JSON..=) "GenAiResource" Prelude.<$> genAiResource,
+                               (JSON..=) "InferenceConfiguration"
+                                 Prelude.<$> inferenceConfiguration,
+                               (JSON..=) "Metadata" Prelude.<$> metadata,
+                               (JSON..=) "ModelId" Prelude.<$> modelId]))}
+instance JSON.ToJSON PromptVariantProperty where
+  toJSON PromptVariantProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["Name" JSON..= name,
+               "TemplateConfiguration" JSON..= templateConfiguration,
+               "TemplateType" JSON..= templateType]
+              (Prelude.catMaybes
+                 [(JSON..=) "AdditionalModelRequestFields"
+                    Prelude.<$> additionalModelRequestFields,
+                  (JSON..=) "GenAiResource" Prelude.<$> genAiResource,
+                  (JSON..=) "InferenceConfiguration"
+                    Prelude.<$> inferenceConfiguration,
+                  (JSON..=) "Metadata" Prelude.<$> metadata,
+                  (JSON..=) "ModelId" Prelude.<$> modelId])))
+instance Property "AdditionalModelRequestFields" PromptVariantProperty where
+  type PropertyType "AdditionalModelRequestFields" PromptVariantProperty = JSON.Object
+  set newValue PromptVariantProperty {..}
+    = PromptVariantProperty
+        {additionalModelRequestFields = Prelude.pure newValue, ..}
+instance Property "GenAiResource" PromptVariantProperty where
+  type PropertyType "GenAiResource" PromptVariantProperty = PromptGenAiResourceProperty
+  set newValue PromptVariantProperty {..}
+    = PromptVariantProperty {genAiResource = Prelude.pure newValue, ..}
+instance Property "InferenceConfiguration" PromptVariantProperty where
+  type PropertyType "InferenceConfiguration" PromptVariantProperty = PromptInferenceConfigurationProperty
+  set newValue PromptVariantProperty {..}
+    = PromptVariantProperty
+        {inferenceConfiguration = Prelude.pure newValue, ..}
+instance Property "Metadata" PromptVariantProperty where
+  type PropertyType "Metadata" PromptVariantProperty = [PromptMetadataEntryProperty]
+  set newValue PromptVariantProperty {..}
+    = PromptVariantProperty {metadata = Prelude.pure newValue, ..}
+instance Property "ModelId" PromptVariantProperty where
+  type PropertyType "ModelId" PromptVariantProperty = Value Prelude.Text
+  set newValue PromptVariantProperty {..}
+    = PromptVariantProperty {modelId = Prelude.pure newValue, ..}
+instance Property "Name" PromptVariantProperty where
+  type PropertyType "Name" PromptVariantProperty = Value Prelude.Text
+  set newValue PromptVariantProperty {..}
+    = PromptVariantProperty {name = newValue, ..}
+instance Property "TemplateConfiguration" PromptVariantProperty where
+  type PropertyType "TemplateConfiguration" PromptVariantProperty = PromptTemplateConfigurationProperty
+  set newValue PromptVariantProperty {..}
+    = PromptVariantProperty {templateConfiguration = newValue, ..}
+instance Property "TemplateType" PromptVariantProperty where
+  type PropertyType "TemplateType" PromptVariantProperty = Value Prelude.Text
+  set newValue PromptVariantProperty {..}
+    = PromptVariantProperty {templateType = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/PromptVersion/PromptVariantProperty.hs-boot b/gen/Stratosphere/Bedrock/PromptVersion/PromptVariantProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/PromptVersion/PromptVariantProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.PromptVersion.PromptVariantProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data PromptVariantProperty :: Prelude.Type
+instance ToResourceProperties PromptVariantProperty
+instance Prelude.Eq PromptVariantProperty
+instance Prelude.Show PromptVariantProperty
+instance JSON.ToJSON PromptVariantProperty
diff --git a/gen/Stratosphere/Bedrock/PromptVersion/SpecificToolChoiceProperty.hs b/gen/Stratosphere/Bedrock/PromptVersion/SpecificToolChoiceProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/PromptVersion/SpecificToolChoiceProperty.hs
@@ -0,0 +1,31 @@
+module Stratosphere.Bedrock.PromptVersion.SpecificToolChoiceProperty (
+        SpecificToolChoiceProperty(..), mkSpecificToolChoiceProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data SpecificToolChoiceProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-specifictoolchoice.html>
+    SpecificToolChoiceProperty {haddock_workaround_ :: (),
+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-specifictoolchoice.html#cfn-bedrock-promptversion-specifictoolchoice-name>
+                                name :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkSpecificToolChoiceProperty ::
+  Value Prelude.Text -> SpecificToolChoiceProperty
+mkSpecificToolChoiceProperty name
+  = SpecificToolChoiceProperty
+      {haddock_workaround_ = (), name = name}
+instance ToResourceProperties SpecificToolChoiceProperty where
+  toResourceProperties SpecificToolChoiceProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::PromptVersion.SpecificToolChoice",
+         supportsTags = Prelude.False, properties = ["Name" JSON..= name]}
+instance JSON.ToJSON SpecificToolChoiceProperty where
+  toJSON SpecificToolChoiceProperty {..}
+    = JSON.object ["Name" JSON..= name]
+instance Property "Name" SpecificToolChoiceProperty where
+  type PropertyType "Name" SpecificToolChoiceProperty = Value Prelude.Text
+  set newValue SpecificToolChoiceProperty {..}
+    = SpecificToolChoiceProperty {name = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/PromptVersion/SpecificToolChoiceProperty.hs-boot b/gen/Stratosphere/Bedrock/PromptVersion/SpecificToolChoiceProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/PromptVersion/SpecificToolChoiceProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.PromptVersion.SpecificToolChoiceProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data SpecificToolChoiceProperty :: Prelude.Type
+instance ToResourceProperties SpecificToolChoiceProperty
+instance Prelude.Eq SpecificToolChoiceProperty
+instance Prelude.Show SpecificToolChoiceProperty
+instance JSON.ToJSON SpecificToolChoiceProperty
diff --git a/gen/Stratosphere/Bedrock/PromptVersion/SystemContentBlockProperty.hs b/gen/Stratosphere/Bedrock/PromptVersion/SystemContentBlockProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/PromptVersion/SystemContentBlockProperty.hs
@@ -0,0 +1,48 @@
+module Stratosphere.Bedrock.PromptVersion.SystemContentBlockProperty (
+        module Exports, SystemContentBlockProperty(..),
+        mkSystemContentBlockProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.PromptVersion.CachePointBlockProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data SystemContentBlockProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-systemcontentblock.html>
+    SystemContentBlockProperty {haddock_workaround_ :: (),
+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-systemcontentblock.html#cfn-bedrock-promptversion-systemcontentblock-cachepoint>
+                                cachePoint :: (Prelude.Maybe CachePointBlockProperty),
+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-systemcontentblock.html#cfn-bedrock-promptversion-systemcontentblock-text>
+                                text :: (Prelude.Maybe (Value Prelude.Text))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkSystemContentBlockProperty :: SystemContentBlockProperty
+mkSystemContentBlockProperty
+  = SystemContentBlockProperty
+      {haddock_workaround_ = (), cachePoint = Prelude.Nothing,
+       text = Prelude.Nothing}
+instance ToResourceProperties SystemContentBlockProperty where
+  toResourceProperties SystemContentBlockProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::PromptVersion.SystemContentBlock",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "CachePoint" Prelude.<$> cachePoint,
+                            (JSON..=) "Text" Prelude.<$> text])}
+instance JSON.ToJSON SystemContentBlockProperty where
+  toJSON SystemContentBlockProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "CachePoint" Prelude.<$> cachePoint,
+               (JSON..=) "Text" Prelude.<$> text]))
+instance Property "CachePoint" SystemContentBlockProperty where
+  type PropertyType "CachePoint" SystemContentBlockProperty = CachePointBlockProperty
+  set newValue SystemContentBlockProperty {..}
+    = SystemContentBlockProperty
+        {cachePoint = Prelude.pure newValue, ..}
+instance Property "Text" SystemContentBlockProperty where
+  type PropertyType "Text" SystemContentBlockProperty = Value Prelude.Text
+  set newValue SystemContentBlockProperty {..}
+    = SystemContentBlockProperty {text = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/PromptVersion/SystemContentBlockProperty.hs-boot b/gen/Stratosphere/Bedrock/PromptVersion/SystemContentBlockProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/PromptVersion/SystemContentBlockProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.PromptVersion.SystemContentBlockProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data SystemContentBlockProperty :: Prelude.Type
+instance ToResourceProperties SystemContentBlockProperty
+instance Prelude.Eq SystemContentBlockProperty
+instance Prelude.Show SystemContentBlockProperty
+instance JSON.ToJSON SystemContentBlockProperty
diff --git a/gen/Stratosphere/Bedrock/PromptVersion/TextPromptTemplateConfigurationProperty.hs b/gen/Stratosphere/Bedrock/PromptVersion/TextPromptTemplateConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/PromptVersion/TextPromptTemplateConfigurationProperty.hs
@@ -0,0 +1,61 @@
+module Stratosphere.Bedrock.PromptVersion.TextPromptTemplateConfigurationProperty (
+        module Exports, TextPromptTemplateConfigurationProperty(..),
+        mkTextPromptTemplateConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.PromptVersion.CachePointBlockProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.PromptVersion.PromptInputVariableProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data TextPromptTemplateConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-textprompttemplateconfiguration.html>
+    TextPromptTemplateConfigurationProperty {haddock_workaround_ :: (),
+                                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-textprompttemplateconfiguration.html#cfn-bedrock-promptversion-textprompttemplateconfiguration-cachepoint>
+                                             cachePoint :: (Prelude.Maybe CachePointBlockProperty),
+                                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-textprompttemplateconfiguration.html#cfn-bedrock-promptversion-textprompttemplateconfiguration-inputvariables>
+                                             inputVariables :: (Prelude.Maybe [PromptInputVariableProperty]),
+                                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-textprompttemplateconfiguration.html#cfn-bedrock-promptversion-textprompttemplateconfiguration-text>
+                                             text :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkTextPromptTemplateConfigurationProperty ::
+  Value Prelude.Text -> TextPromptTemplateConfigurationProperty
+mkTextPromptTemplateConfigurationProperty text
+  = TextPromptTemplateConfigurationProperty
+      {haddock_workaround_ = (), text = text,
+       cachePoint = Prelude.Nothing, inputVariables = Prelude.Nothing}
+instance ToResourceProperties TextPromptTemplateConfigurationProperty where
+  toResourceProperties TextPromptTemplateConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::PromptVersion.TextPromptTemplateConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["Text" JSON..= text]
+                           (Prelude.catMaybes
+                              [(JSON..=) "CachePoint" Prelude.<$> cachePoint,
+                               (JSON..=) "InputVariables" Prelude.<$> inputVariables]))}
+instance JSON.ToJSON TextPromptTemplateConfigurationProperty where
+  toJSON TextPromptTemplateConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["Text" JSON..= text]
+              (Prelude.catMaybes
+                 [(JSON..=) "CachePoint" Prelude.<$> cachePoint,
+                  (JSON..=) "InputVariables" Prelude.<$> inputVariables])))
+instance Property "CachePoint" TextPromptTemplateConfigurationProperty where
+  type PropertyType "CachePoint" TextPromptTemplateConfigurationProperty = CachePointBlockProperty
+  set newValue TextPromptTemplateConfigurationProperty {..}
+    = TextPromptTemplateConfigurationProperty
+        {cachePoint = Prelude.pure newValue, ..}
+instance Property "InputVariables" TextPromptTemplateConfigurationProperty where
+  type PropertyType "InputVariables" TextPromptTemplateConfigurationProperty = [PromptInputVariableProperty]
+  set newValue TextPromptTemplateConfigurationProperty {..}
+    = TextPromptTemplateConfigurationProperty
+        {inputVariables = Prelude.pure newValue, ..}
+instance Property "Text" TextPromptTemplateConfigurationProperty where
+  type PropertyType "Text" TextPromptTemplateConfigurationProperty = Value Prelude.Text
+  set newValue TextPromptTemplateConfigurationProperty {..}
+    = TextPromptTemplateConfigurationProperty {text = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/PromptVersion/TextPromptTemplateConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/PromptVersion/TextPromptTemplateConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/PromptVersion/TextPromptTemplateConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.PromptVersion.TextPromptTemplateConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data TextPromptTemplateConfigurationProperty :: Prelude.Type
+instance ToResourceProperties TextPromptTemplateConfigurationProperty
+instance Prelude.Eq TextPromptTemplateConfigurationProperty
+instance Prelude.Show TextPromptTemplateConfigurationProperty
+instance JSON.ToJSON TextPromptTemplateConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/PromptVersion/ToolChoiceProperty.hs b/gen/Stratosphere/Bedrock/PromptVersion/ToolChoiceProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/PromptVersion/ToolChoiceProperty.hs
@@ -0,0 +1,53 @@
+module Stratosphere.Bedrock.PromptVersion.ToolChoiceProperty (
+        module Exports, ToolChoiceProperty(..), mkToolChoiceProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.PromptVersion.SpecificToolChoiceProperty as Exports
+import Stratosphere.ResourceProperties
+data ToolChoiceProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-toolchoice.html>
+    ToolChoiceProperty {haddock_workaround_ :: (),
+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-toolchoice.html#cfn-bedrock-promptversion-toolchoice-any>
+                        any :: (Prelude.Maybe JSON.Object),
+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-toolchoice.html#cfn-bedrock-promptversion-toolchoice-auto>
+                        auto :: (Prelude.Maybe JSON.Object),
+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-toolchoice.html#cfn-bedrock-promptversion-toolchoice-tool>
+                        tool :: (Prelude.Maybe SpecificToolChoiceProperty)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkToolChoiceProperty :: ToolChoiceProperty
+mkToolChoiceProperty
+  = ToolChoiceProperty
+      {haddock_workaround_ = (), any = Prelude.Nothing,
+       auto = Prelude.Nothing, tool = Prelude.Nothing}
+instance ToResourceProperties ToolChoiceProperty where
+  toResourceProperties ToolChoiceProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::PromptVersion.ToolChoice",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "Any" Prelude.<$> any,
+                            (JSON..=) "Auto" Prelude.<$> auto,
+                            (JSON..=) "Tool" Prelude.<$> tool])}
+instance JSON.ToJSON ToolChoiceProperty where
+  toJSON ToolChoiceProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "Any" Prelude.<$> any,
+               (JSON..=) "Auto" Prelude.<$> auto,
+               (JSON..=) "Tool" Prelude.<$> tool]))
+instance Property "Any" ToolChoiceProperty where
+  type PropertyType "Any" ToolChoiceProperty = JSON.Object
+  set newValue ToolChoiceProperty {..}
+    = ToolChoiceProperty {any = Prelude.pure newValue, ..}
+instance Property "Auto" ToolChoiceProperty where
+  type PropertyType "Auto" ToolChoiceProperty = JSON.Object
+  set newValue ToolChoiceProperty {..}
+    = ToolChoiceProperty {auto = Prelude.pure newValue, ..}
+instance Property "Tool" ToolChoiceProperty where
+  type PropertyType "Tool" ToolChoiceProperty = SpecificToolChoiceProperty
+  set newValue ToolChoiceProperty {..}
+    = ToolChoiceProperty {tool = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/PromptVersion/ToolChoiceProperty.hs-boot b/gen/Stratosphere/Bedrock/PromptVersion/ToolChoiceProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/PromptVersion/ToolChoiceProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.PromptVersion.ToolChoiceProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data ToolChoiceProperty :: Prelude.Type
+instance ToResourceProperties ToolChoiceProperty
+instance Prelude.Eq ToolChoiceProperty
+instance Prelude.Show ToolChoiceProperty
+instance JSON.ToJSON ToolChoiceProperty
diff --git a/gen/Stratosphere/Bedrock/PromptVersion/ToolConfigurationProperty.hs b/gen/Stratosphere/Bedrock/PromptVersion/ToolConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/PromptVersion/ToolConfigurationProperty.hs
@@ -0,0 +1,51 @@
+module Stratosphere.Bedrock.PromptVersion.ToolConfigurationProperty (
+        module Exports, ToolConfigurationProperty(..),
+        mkToolConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.PromptVersion.ToolProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.PromptVersion.ToolChoiceProperty as Exports
+import Stratosphere.ResourceProperties
+data ToolConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-toolconfiguration.html>
+    ToolConfigurationProperty {haddock_workaround_ :: (),
+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-toolconfiguration.html#cfn-bedrock-promptversion-toolconfiguration-toolchoice>
+                               toolChoice :: (Prelude.Maybe ToolChoiceProperty),
+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-toolconfiguration.html#cfn-bedrock-promptversion-toolconfiguration-tools>
+                               tools :: [ToolProperty]}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkToolConfigurationProperty ::
+  [ToolProperty] -> ToolConfigurationProperty
+mkToolConfigurationProperty tools
+  = ToolConfigurationProperty
+      {haddock_workaround_ = (), tools = tools,
+       toolChoice = Prelude.Nothing}
+instance ToResourceProperties ToolConfigurationProperty where
+  toResourceProperties ToolConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::PromptVersion.ToolConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["Tools" JSON..= tools]
+                           (Prelude.catMaybes
+                              [(JSON..=) "ToolChoice" Prelude.<$> toolChoice]))}
+instance JSON.ToJSON ToolConfigurationProperty where
+  toJSON ToolConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["Tools" JSON..= tools]
+              (Prelude.catMaybes
+                 [(JSON..=) "ToolChoice" Prelude.<$> toolChoice])))
+instance Property "ToolChoice" ToolConfigurationProperty where
+  type PropertyType "ToolChoice" ToolConfigurationProperty = ToolChoiceProperty
+  set newValue ToolConfigurationProperty {..}
+    = ToolConfigurationProperty
+        {toolChoice = Prelude.pure newValue, ..}
+instance Property "Tools" ToolConfigurationProperty where
+  type PropertyType "Tools" ToolConfigurationProperty = [ToolProperty]
+  set newValue ToolConfigurationProperty {..}
+    = ToolConfigurationProperty {tools = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/PromptVersion/ToolConfigurationProperty.hs-boot b/gen/Stratosphere/Bedrock/PromptVersion/ToolConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/PromptVersion/ToolConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.PromptVersion.ToolConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data ToolConfigurationProperty :: Prelude.Type
+instance ToResourceProperties ToolConfigurationProperty
+instance Prelude.Eq ToolConfigurationProperty
+instance Prelude.Show ToolConfigurationProperty
+instance JSON.ToJSON ToolConfigurationProperty
diff --git a/gen/Stratosphere/Bedrock/PromptVersion/ToolInputSchemaProperty.hs b/gen/Stratosphere/Bedrock/PromptVersion/ToolInputSchemaProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/PromptVersion/ToolInputSchemaProperty.hs
@@ -0,0 +1,28 @@
+module Stratosphere.Bedrock.PromptVersion.ToolInputSchemaProperty (
+        ToolInputSchemaProperty(..), mkToolInputSchemaProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+data ToolInputSchemaProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-toolinputschema.html>
+    ToolInputSchemaProperty {haddock_workaround_ :: (),
+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-toolinputschema.html#cfn-bedrock-promptversion-toolinputschema-json>
+                             json :: JSON.Object}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkToolInputSchemaProperty :: JSON.Object -> ToolInputSchemaProperty
+mkToolInputSchemaProperty json
+  = ToolInputSchemaProperty {haddock_workaround_ = (), json = json}
+instance ToResourceProperties ToolInputSchemaProperty where
+  toResourceProperties ToolInputSchemaProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::PromptVersion.ToolInputSchema",
+         supportsTags = Prelude.False, properties = ["Json" JSON..= json]}
+instance JSON.ToJSON ToolInputSchemaProperty where
+  toJSON ToolInputSchemaProperty {..}
+    = JSON.object ["Json" JSON..= json]
+instance Property "Json" ToolInputSchemaProperty where
+  type PropertyType "Json" ToolInputSchemaProperty = JSON.Object
+  set newValue ToolInputSchemaProperty {..}
+    = ToolInputSchemaProperty {json = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/PromptVersion/ToolInputSchemaProperty.hs-boot b/gen/Stratosphere/Bedrock/PromptVersion/ToolInputSchemaProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/PromptVersion/ToolInputSchemaProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.PromptVersion.ToolInputSchemaProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data ToolInputSchemaProperty :: Prelude.Type
+instance ToResourceProperties ToolInputSchemaProperty
+instance Prelude.Eq ToolInputSchemaProperty
+instance Prelude.Show ToolInputSchemaProperty
+instance JSON.ToJSON ToolInputSchemaProperty
diff --git a/gen/Stratosphere/Bedrock/PromptVersion/ToolProperty.hs b/gen/Stratosphere/Bedrock/PromptVersion/ToolProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/PromptVersion/ToolProperty.hs
@@ -0,0 +1,46 @@
+module Stratosphere.Bedrock.PromptVersion.ToolProperty (
+        module Exports, ToolProperty(..), mkToolProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.PromptVersion.CachePointBlockProperty as Exports
+import {-# SOURCE #-} Stratosphere.Bedrock.PromptVersion.ToolSpecificationProperty as Exports
+import Stratosphere.ResourceProperties
+data ToolProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-tool.html>
+    ToolProperty {haddock_workaround_ :: (),
+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-tool.html#cfn-bedrock-promptversion-tool-cachepoint>
+                  cachePoint :: (Prelude.Maybe CachePointBlockProperty),
+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-tool.html#cfn-bedrock-promptversion-tool-toolspec>
+                  toolSpec :: (Prelude.Maybe ToolSpecificationProperty)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkToolProperty :: ToolProperty
+mkToolProperty
+  = ToolProperty
+      {haddock_workaround_ = (), cachePoint = Prelude.Nothing,
+       toolSpec = Prelude.Nothing}
+instance ToResourceProperties ToolProperty where
+  toResourceProperties ToolProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::PromptVersion.Tool",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "CachePoint" Prelude.<$> cachePoint,
+                            (JSON..=) "ToolSpec" Prelude.<$> toolSpec])}
+instance JSON.ToJSON ToolProperty where
+  toJSON ToolProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "CachePoint" Prelude.<$> cachePoint,
+               (JSON..=) "ToolSpec" Prelude.<$> toolSpec]))
+instance Property "CachePoint" ToolProperty where
+  type PropertyType "CachePoint" ToolProperty = CachePointBlockProperty
+  set newValue ToolProperty {..}
+    = ToolProperty {cachePoint = Prelude.pure newValue, ..}
+instance Property "ToolSpec" ToolProperty where
+  type PropertyType "ToolSpec" ToolProperty = ToolSpecificationProperty
+  set newValue ToolProperty {..}
+    = ToolProperty {toolSpec = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/PromptVersion/ToolProperty.hs-boot b/gen/Stratosphere/Bedrock/PromptVersion/ToolProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/PromptVersion/ToolProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.PromptVersion.ToolProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data ToolProperty :: Prelude.Type
+instance ToResourceProperties ToolProperty
+instance Prelude.Eq ToolProperty
+instance Prelude.Show ToolProperty
+instance JSON.ToJSON ToolProperty
diff --git a/gen/Stratosphere/Bedrock/PromptVersion/ToolSpecificationProperty.hs b/gen/Stratosphere/Bedrock/PromptVersion/ToolSpecificationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/PromptVersion/ToolSpecificationProperty.hs
@@ -0,0 +1,58 @@
+module Stratosphere.Bedrock.PromptVersion.ToolSpecificationProperty (
+        module Exports, ToolSpecificationProperty(..),
+        mkToolSpecificationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Bedrock.PromptVersion.ToolInputSchemaProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data ToolSpecificationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-toolspecification.html>
+    ToolSpecificationProperty {haddock_workaround_ :: (),
+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-toolspecification.html#cfn-bedrock-promptversion-toolspecification-description>
+                               description :: (Prelude.Maybe (Value Prelude.Text)),
+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-toolspecification.html#cfn-bedrock-promptversion-toolspecification-inputschema>
+                               inputSchema :: ToolInputSchemaProperty,
+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-toolspecification.html#cfn-bedrock-promptversion-toolspecification-name>
+                               name :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkToolSpecificationProperty ::
+  ToolInputSchemaProperty
+  -> Value Prelude.Text -> ToolSpecificationProperty
+mkToolSpecificationProperty inputSchema name
+  = ToolSpecificationProperty
+      {haddock_workaround_ = (), inputSchema = inputSchema, name = name,
+       description = Prelude.Nothing}
+instance ToResourceProperties ToolSpecificationProperty where
+  toResourceProperties ToolSpecificationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Bedrock::PromptVersion.ToolSpecification",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["InputSchema" JSON..= inputSchema, "Name" JSON..= name]
+                           (Prelude.catMaybes
+                              [(JSON..=) "Description" Prelude.<$> description]))}
+instance JSON.ToJSON ToolSpecificationProperty where
+  toJSON ToolSpecificationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["InputSchema" JSON..= inputSchema, "Name" JSON..= name]
+              (Prelude.catMaybes
+                 [(JSON..=) "Description" Prelude.<$> description])))
+instance Property "Description" ToolSpecificationProperty where
+  type PropertyType "Description" ToolSpecificationProperty = Value Prelude.Text
+  set newValue ToolSpecificationProperty {..}
+    = ToolSpecificationProperty
+        {description = Prelude.pure newValue, ..}
+instance Property "InputSchema" ToolSpecificationProperty where
+  type PropertyType "InputSchema" ToolSpecificationProperty = ToolInputSchemaProperty
+  set newValue ToolSpecificationProperty {..}
+    = ToolSpecificationProperty {inputSchema = newValue, ..}
+instance Property "Name" ToolSpecificationProperty where
+  type PropertyType "Name" ToolSpecificationProperty = Value Prelude.Text
+  set newValue ToolSpecificationProperty {..}
+    = ToolSpecificationProperty {name = newValue, ..}
diff --git a/gen/Stratosphere/Bedrock/PromptVersion/ToolSpecificationProperty.hs-boot b/gen/Stratosphere/Bedrock/PromptVersion/ToolSpecificationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Bedrock/PromptVersion/ToolSpecificationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Bedrock.PromptVersion.ToolSpecificationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data ToolSpecificationProperty :: Prelude.Type
+instance ToResourceProperties ToolSpecificationProperty
+instance Prelude.Eq ToolSpecificationProperty
+instance Prelude.Show ToolSpecificationProperty
+instance JSON.ToJSON ToolSpecificationProperty
diff --git a/stratosphere-bedrock.cabal b/stratosphere-bedrock.cabal
new file mode 100644
--- /dev/null
+++ b/stratosphere-bedrock.cabal
@@ -0,0 +1,378 @@
+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-bedrock
+version:        1.0.0
+synopsis:       Stratosphere integration for AWS Bedrock.
+description:    Integration into stratosphere to generate resources and properties for AWS Bedrock
+category:       AWS, Cloud, Bedrock
+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.Bedrock.Agent
+      Stratosphere.Bedrock.Agent.ActionGroupExecutorProperty
+      Stratosphere.Bedrock.Agent.AgentActionGroupProperty
+      Stratosphere.Bedrock.Agent.AgentCollaboratorProperty
+      Stratosphere.Bedrock.Agent.AgentDescriptorProperty
+      Stratosphere.Bedrock.Agent.AgentKnowledgeBaseProperty
+      Stratosphere.Bedrock.Agent.APISchemaProperty
+      Stratosphere.Bedrock.Agent.CustomOrchestrationProperty
+      Stratosphere.Bedrock.Agent.FunctionProperty
+      Stratosphere.Bedrock.Agent.FunctionSchemaProperty
+      Stratosphere.Bedrock.Agent.GuardrailConfigurationProperty
+      Stratosphere.Bedrock.Agent.InferenceConfigurationProperty
+      Stratosphere.Bedrock.Agent.MemoryConfigurationProperty
+      Stratosphere.Bedrock.Agent.OrchestrationExecutorProperty
+      Stratosphere.Bedrock.Agent.ParameterDetailProperty
+      Stratosphere.Bedrock.Agent.PromptConfigurationProperty
+      Stratosphere.Bedrock.Agent.PromptOverrideConfigurationProperty
+      Stratosphere.Bedrock.Agent.S3IdentifierProperty
+      Stratosphere.Bedrock.Agent.SessionSummaryConfigurationProperty
+      Stratosphere.Bedrock.AgentAlias
+      Stratosphere.Bedrock.AgentAlias.AgentAliasHistoryEventProperty
+      Stratosphere.Bedrock.AgentAlias.AgentAliasRoutingConfigurationListItemProperty
+      Stratosphere.Bedrock.ApplicationInferenceProfile
+      Stratosphere.Bedrock.ApplicationInferenceProfile.InferenceProfileModelProperty
+      Stratosphere.Bedrock.ApplicationInferenceProfile.InferenceProfileModelSourceProperty
+      Stratosphere.Bedrock.AutomatedReasoningPolicy
+      Stratosphere.Bedrock.AutomatedReasoningPolicy.PolicyDefinitionProperty
+      Stratosphere.Bedrock.AutomatedReasoningPolicy.PolicyDefinitionRuleProperty
+      Stratosphere.Bedrock.AutomatedReasoningPolicy.PolicyDefinitionTypeProperty
+      Stratosphere.Bedrock.AutomatedReasoningPolicy.PolicyDefinitionTypeValueProperty
+      Stratosphere.Bedrock.AutomatedReasoningPolicy.PolicyDefinitionVariableProperty
+      Stratosphere.Bedrock.AutomatedReasoningPolicyVersion
+      Stratosphere.Bedrock.Blueprint
+      Stratosphere.Bedrock.DataAutomationProject
+      Stratosphere.Bedrock.DataAutomationProject.AudioExtractionCategoryProperty
+      Stratosphere.Bedrock.DataAutomationProject.AudioExtractionCategoryTypeConfigurationProperty
+      Stratosphere.Bedrock.DataAutomationProject.AudioOverrideConfigurationProperty
+      Stratosphere.Bedrock.DataAutomationProject.AudioStandardExtractionProperty
+      Stratosphere.Bedrock.DataAutomationProject.AudioStandardGenerativeFieldProperty
+      Stratosphere.Bedrock.DataAutomationProject.AudioStandardOutputConfigurationProperty
+      Stratosphere.Bedrock.DataAutomationProject.BlueprintItemProperty
+      Stratosphere.Bedrock.DataAutomationProject.ChannelLabelingConfigurationProperty
+      Stratosphere.Bedrock.DataAutomationProject.CustomOutputConfigurationProperty
+      Stratosphere.Bedrock.DataAutomationProject.DocumentBoundingBoxProperty
+      Stratosphere.Bedrock.DataAutomationProject.DocumentExtractionGranularityProperty
+      Stratosphere.Bedrock.DataAutomationProject.DocumentOutputAdditionalFileFormatProperty
+      Stratosphere.Bedrock.DataAutomationProject.DocumentOutputFormatProperty
+      Stratosphere.Bedrock.DataAutomationProject.DocumentOutputTextFormatProperty
+      Stratosphere.Bedrock.DataAutomationProject.DocumentOverrideConfigurationProperty
+      Stratosphere.Bedrock.DataAutomationProject.DocumentStandardExtractionProperty
+      Stratosphere.Bedrock.DataAutomationProject.DocumentStandardGenerativeFieldProperty
+      Stratosphere.Bedrock.DataAutomationProject.DocumentStandardOutputConfigurationProperty
+      Stratosphere.Bedrock.DataAutomationProject.ImageBoundingBoxProperty
+      Stratosphere.Bedrock.DataAutomationProject.ImageExtractionCategoryProperty
+      Stratosphere.Bedrock.DataAutomationProject.ImageOverrideConfigurationProperty
+      Stratosphere.Bedrock.DataAutomationProject.ImageStandardExtractionProperty
+      Stratosphere.Bedrock.DataAutomationProject.ImageStandardGenerativeFieldProperty
+      Stratosphere.Bedrock.DataAutomationProject.ImageStandardOutputConfigurationProperty
+      Stratosphere.Bedrock.DataAutomationProject.ModalityProcessingConfigurationProperty
+      Stratosphere.Bedrock.DataAutomationProject.ModalityRoutingConfigurationProperty
+      Stratosphere.Bedrock.DataAutomationProject.OverrideConfigurationProperty
+      Stratosphere.Bedrock.DataAutomationProject.SpeakerLabelingConfigurationProperty
+      Stratosphere.Bedrock.DataAutomationProject.SplitterConfigurationProperty
+      Stratosphere.Bedrock.DataAutomationProject.StandardOutputConfigurationProperty
+      Stratosphere.Bedrock.DataAutomationProject.TranscriptConfigurationProperty
+      Stratosphere.Bedrock.DataAutomationProject.VideoBoundingBoxProperty
+      Stratosphere.Bedrock.DataAutomationProject.VideoExtractionCategoryProperty
+      Stratosphere.Bedrock.DataAutomationProject.VideoOverrideConfigurationProperty
+      Stratosphere.Bedrock.DataAutomationProject.VideoStandardExtractionProperty
+      Stratosphere.Bedrock.DataAutomationProject.VideoStandardGenerativeFieldProperty
+      Stratosphere.Bedrock.DataAutomationProject.VideoStandardOutputConfigurationProperty
+      Stratosphere.Bedrock.DataSource
+      Stratosphere.Bedrock.DataSource.BedrockDataAutomationConfigurationProperty
+      Stratosphere.Bedrock.DataSource.BedrockFoundationModelConfigurationProperty
+      Stratosphere.Bedrock.DataSource.BedrockFoundationModelContextEnrichmentConfigurationProperty
+      Stratosphere.Bedrock.DataSource.ChunkingConfigurationProperty
+      Stratosphere.Bedrock.DataSource.ConfluenceCrawlerConfigurationProperty
+      Stratosphere.Bedrock.DataSource.ConfluenceDataSourceConfigurationProperty
+      Stratosphere.Bedrock.DataSource.ConfluenceSourceConfigurationProperty
+      Stratosphere.Bedrock.DataSource.ContextEnrichmentConfigurationProperty
+      Stratosphere.Bedrock.DataSource.CrawlFilterConfigurationProperty
+      Stratosphere.Bedrock.DataSource.CustomTransformationConfigurationProperty
+      Stratosphere.Bedrock.DataSource.DataSourceConfigurationProperty
+      Stratosphere.Bedrock.DataSource.EnrichmentStrategyConfigurationProperty
+      Stratosphere.Bedrock.DataSource.FixedSizeChunkingConfigurationProperty
+      Stratosphere.Bedrock.DataSource.HierarchicalChunkingConfigurationProperty
+      Stratosphere.Bedrock.DataSource.HierarchicalChunkingLevelConfigurationProperty
+      Stratosphere.Bedrock.DataSource.IntermediateStorageProperty
+      Stratosphere.Bedrock.DataSource.ParsingConfigurationProperty
+      Stratosphere.Bedrock.DataSource.ParsingPromptProperty
+      Stratosphere.Bedrock.DataSource.PatternObjectFilterConfigurationProperty
+      Stratosphere.Bedrock.DataSource.PatternObjectFilterProperty
+      Stratosphere.Bedrock.DataSource.S3DataSourceConfigurationProperty
+      Stratosphere.Bedrock.DataSource.S3LocationProperty
+      Stratosphere.Bedrock.DataSource.SalesforceCrawlerConfigurationProperty
+      Stratosphere.Bedrock.DataSource.SalesforceDataSourceConfigurationProperty
+      Stratosphere.Bedrock.DataSource.SalesforceSourceConfigurationProperty
+      Stratosphere.Bedrock.DataSource.SeedUrlProperty
+      Stratosphere.Bedrock.DataSource.SemanticChunkingConfigurationProperty
+      Stratosphere.Bedrock.DataSource.ServerSideEncryptionConfigurationProperty
+      Stratosphere.Bedrock.DataSource.SharePointCrawlerConfigurationProperty
+      Stratosphere.Bedrock.DataSource.SharePointDataSourceConfigurationProperty
+      Stratosphere.Bedrock.DataSource.SharePointSourceConfigurationProperty
+      Stratosphere.Bedrock.DataSource.TransformationFunctionProperty
+      Stratosphere.Bedrock.DataSource.TransformationLambdaConfigurationProperty
+      Stratosphere.Bedrock.DataSource.TransformationProperty
+      Stratosphere.Bedrock.DataSource.UrlConfigurationProperty
+      Stratosphere.Bedrock.DataSource.VectorIngestionConfigurationProperty
+      Stratosphere.Bedrock.DataSource.WebCrawlerConfigurationProperty
+      Stratosphere.Bedrock.DataSource.WebCrawlerLimitsProperty
+      Stratosphere.Bedrock.DataSource.WebDataSourceConfigurationProperty
+      Stratosphere.Bedrock.DataSource.WebSourceConfigurationProperty
+      Stratosphere.Bedrock.Flow
+      Stratosphere.Bedrock.Flow.AgentFlowNodeConfigurationProperty
+      Stratosphere.Bedrock.Flow.ConditionFlowNodeConfigurationProperty
+      Stratosphere.Bedrock.Flow.FieldForRerankingProperty
+      Stratosphere.Bedrock.Flow.FlowConditionalConnectionConfigurationProperty
+      Stratosphere.Bedrock.Flow.FlowConditionProperty
+      Stratosphere.Bedrock.Flow.FlowConnectionConfigurationProperty
+      Stratosphere.Bedrock.Flow.FlowConnectionProperty
+      Stratosphere.Bedrock.Flow.FlowDataConnectionConfigurationProperty
+      Stratosphere.Bedrock.Flow.FlowDefinitionProperty
+      Stratosphere.Bedrock.Flow.FlowNodeConfigurationProperty
+      Stratosphere.Bedrock.Flow.FlowNodeInputProperty
+      Stratosphere.Bedrock.Flow.FlowNodeOutputProperty
+      Stratosphere.Bedrock.Flow.FlowNodeProperty
+      Stratosphere.Bedrock.Flow.FlowValidationProperty
+      Stratosphere.Bedrock.Flow.GuardrailConfigurationProperty
+      Stratosphere.Bedrock.Flow.InlineCodeFlowNodeConfigurationProperty
+      Stratosphere.Bedrock.Flow.KnowledgeBaseFlowNodeConfigurationProperty
+      Stratosphere.Bedrock.Flow.KnowledgeBaseOrchestrationConfigurationProperty
+      Stratosphere.Bedrock.Flow.KnowledgeBasePromptTemplateProperty
+      Stratosphere.Bedrock.Flow.LambdaFunctionFlowNodeConfigurationProperty
+      Stratosphere.Bedrock.Flow.LexFlowNodeConfigurationProperty
+      Stratosphere.Bedrock.Flow.LoopControllerFlowNodeConfigurationProperty
+      Stratosphere.Bedrock.Flow.LoopFlowNodeConfigurationProperty
+      Stratosphere.Bedrock.Flow.MetadataConfigurationForRerankingProperty
+      Stratosphere.Bedrock.Flow.PerformanceConfigurationProperty
+      Stratosphere.Bedrock.Flow.PromptFlowNodeConfigurationProperty
+      Stratosphere.Bedrock.Flow.PromptFlowNodeInlineConfigurationProperty
+      Stratosphere.Bedrock.Flow.PromptFlowNodeResourceConfigurationProperty
+      Stratosphere.Bedrock.Flow.PromptFlowNodeSourceConfigurationProperty
+      Stratosphere.Bedrock.Flow.PromptInferenceConfigurationProperty
+      Stratosphere.Bedrock.Flow.PromptInputVariableProperty
+      Stratosphere.Bedrock.Flow.PromptModelInferenceConfigurationProperty
+      Stratosphere.Bedrock.Flow.PromptTemplateConfigurationProperty
+      Stratosphere.Bedrock.Flow.RerankingMetadataSelectiveModeConfigurationProperty
+      Stratosphere.Bedrock.Flow.RetrievalFlowNodeConfigurationProperty
+      Stratosphere.Bedrock.Flow.RetrievalFlowNodeS3ConfigurationProperty
+      Stratosphere.Bedrock.Flow.RetrievalFlowNodeServiceConfigurationProperty
+      Stratosphere.Bedrock.Flow.S3LocationProperty
+      Stratosphere.Bedrock.Flow.StorageFlowNodeConfigurationProperty
+      Stratosphere.Bedrock.Flow.StorageFlowNodeS3ConfigurationProperty
+      Stratosphere.Bedrock.Flow.StorageFlowNodeServiceConfigurationProperty
+      Stratosphere.Bedrock.Flow.TextPromptTemplateConfigurationProperty
+      Stratosphere.Bedrock.Flow.VectorSearchBedrockRerankingConfigurationProperty
+      Stratosphere.Bedrock.Flow.VectorSearchBedrockRerankingModelConfigurationProperty
+      Stratosphere.Bedrock.Flow.VectorSearchRerankingConfigurationProperty
+      Stratosphere.Bedrock.FlowAlias
+      Stratosphere.Bedrock.FlowAlias.FlowAliasConcurrencyConfigurationProperty
+      Stratosphere.Bedrock.FlowAlias.FlowAliasRoutingConfigurationListItemProperty
+      Stratosphere.Bedrock.FlowVersion
+      Stratosphere.Bedrock.FlowVersion.AgentFlowNodeConfigurationProperty
+      Stratosphere.Bedrock.FlowVersion.ConditionFlowNodeConfigurationProperty
+      Stratosphere.Bedrock.FlowVersion.FieldForRerankingProperty
+      Stratosphere.Bedrock.FlowVersion.FlowConditionalConnectionConfigurationProperty
+      Stratosphere.Bedrock.FlowVersion.FlowConditionProperty
+      Stratosphere.Bedrock.FlowVersion.FlowConnectionConfigurationProperty
+      Stratosphere.Bedrock.FlowVersion.FlowConnectionProperty
+      Stratosphere.Bedrock.FlowVersion.FlowDataConnectionConfigurationProperty
+      Stratosphere.Bedrock.FlowVersion.FlowDefinitionProperty
+      Stratosphere.Bedrock.FlowVersion.FlowNodeConfigurationProperty
+      Stratosphere.Bedrock.FlowVersion.FlowNodeInputProperty
+      Stratosphere.Bedrock.FlowVersion.FlowNodeOutputProperty
+      Stratosphere.Bedrock.FlowVersion.FlowNodeProperty
+      Stratosphere.Bedrock.FlowVersion.GuardrailConfigurationProperty
+      Stratosphere.Bedrock.FlowVersion.InlineCodeFlowNodeConfigurationProperty
+      Stratosphere.Bedrock.FlowVersion.KnowledgeBaseFlowNodeConfigurationProperty
+      Stratosphere.Bedrock.FlowVersion.KnowledgeBaseOrchestrationConfigurationProperty
+      Stratosphere.Bedrock.FlowVersion.KnowledgeBasePromptTemplateProperty
+      Stratosphere.Bedrock.FlowVersion.LambdaFunctionFlowNodeConfigurationProperty
+      Stratosphere.Bedrock.FlowVersion.LexFlowNodeConfigurationProperty
+      Stratosphere.Bedrock.FlowVersion.LoopControllerFlowNodeConfigurationProperty
+      Stratosphere.Bedrock.FlowVersion.LoopFlowNodeConfigurationProperty
+      Stratosphere.Bedrock.FlowVersion.MetadataConfigurationForRerankingProperty
+      Stratosphere.Bedrock.FlowVersion.PerformanceConfigurationProperty
+      Stratosphere.Bedrock.FlowVersion.PromptFlowNodeConfigurationProperty
+      Stratosphere.Bedrock.FlowVersion.PromptFlowNodeInlineConfigurationProperty
+      Stratosphere.Bedrock.FlowVersion.PromptFlowNodeResourceConfigurationProperty
+      Stratosphere.Bedrock.FlowVersion.PromptFlowNodeSourceConfigurationProperty
+      Stratosphere.Bedrock.FlowVersion.PromptInferenceConfigurationProperty
+      Stratosphere.Bedrock.FlowVersion.PromptInputVariableProperty
+      Stratosphere.Bedrock.FlowVersion.PromptModelInferenceConfigurationProperty
+      Stratosphere.Bedrock.FlowVersion.PromptTemplateConfigurationProperty
+      Stratosphere.Bedrock.FlowVersion.RerankingMetadataSelectiveModeConfigurationProperty
+      Stratosphere.Bedrock.FlowVersion.RetrievalFlowNodeConfigurationProperty
+      Stratosphere.Bedrock.FlowVersion.RetrievalFlowNodeS3ConfigurationProperty
+      Stratosphere.Bedrock.FlowVersion.RetrievalFlowNodeServiceConfigurationProperty
+      Stratosphere.Bedrock.FlowVersion.StorageFlowNodeConfigurationProperty
+      Stratosphere.Bedrock.FlowVersion.StorageFlowNodeS3ConfigurationProperty
+      Stratosphere.Bedrock.FlowVersion.StorageFlowNodeServiceConfigurationProperty
+      Stratosphere.Bedrock.FlowVersion.TextPromptTemplateConfigurationProperty
+      Stratosphere.Bedrock.FlowVersion.VectorSearchBedrockRerankingConfigurationProperty
+      Stratosphere.Bedrock.FlowVersion.VectorSearchBedrockRerankingModelConfigurationProperty
+      Stratosphere.Bedrock.FlowVersion.VectorSearchRerankingConfigurationProperty
+      Stratosphere.Bedrock.Guardrail
+      Stratosphere.Bedrock.Guardrail.AutomatedReasoningPolicyConfigProperty
+      Stratosphere.Bedrock.Guardrail.ContentFilterConfigProperty
+      Stratosphere.Bedrock.Guardrail.ContentFiltersTierConfigProperty
+      Stratosphere.Bedrock.Guardrail.ContentPolicyConfigProperty
+      Stratosphere.Bedrock.Guardrail.ContextualGroundingFilterConfigProperty
+      Stratosphere.Bedrock.Guardrail.ContextualGroundingPolicyConfigProperty
+      Stratosphere.Bedrock.Guardrail.GuardrailCrossRegionConfigProperty
+      Stratosphere.Bedrock.Guardrail.ManagedWordsConfigProperty
+      Stratosphere.Bedrock.Guardrail.PiiEntityConfigProperty
+      Stratosphere.Bedrock.Guardrail.RegexConfigProperty
+      Stratosphere.Bedrock.Guardrail.SensitiveInformationPolicyConfigProperty
+      Stratosphere.Bedrock.Guardrail.TopicConfigProperty
+      Stratosphere.Bedrock.Guardrail.TopicPolicyConfigProperty
+      Stratosphere.Bedrock.Guardrail.TopicsTierConfigProperty
+      Stratosphere.Bedrock.Guardrail.WordConfigProperty
+      Stratosphere.Bedrock.Guardrail.WordPolicyConfigProperty
+      Stratosphere.Bedrock.GuardrailVersion
+      Stratosphere.Bedrock.IntelligentPromptRouter
+      Stratosphere.Bedrock.IntelligentPromptRouter.PromptRouterTargetModelProperty
+      Stratosphere.Bedrock.IntelligentPromptRouter.RoutingCriteriaProperty
+      Stratosphere.Bedrock.KnowledgeBase
+      Stratosphere.Bedrock.KnowledgeBase.BedrockEmbeddingModelConfigurationProperty
+      Stratosphere.Bedrock.KnowledgeBase.CuratedQueryProperty
+      Stratosphere.Bedrock.KnowledgeBase.EmbeddingModelConfigurationProperty
+      Stratosphere.Bedrock.KnowledgeBase.KendraKnowledgeBaseConfigurationProperty
+      Stratosphere.Bedrock.KnowledgeBase.KnowledgeBaseConfigurationProperty
+      Stratosphere.Bedrock.KnowledgeBase.MongoDbAtlasConfigurationProperty
+      Stratosphere.Bedrock.KnowledgeBase.MongoDbAtlasFieldMappingProperty
+      Stratosphere.Bedrock.KnowledgeBase.NeptuneAnalyticsConfigurationProperty
+      Stratosphere.Bedrock.KnowledgeBase.NeptuneAnalyticsFieldMappingProperty
+      Stratosphere.Bedrock.KnowledgeBase.OpenSearchManagedClusterConfigurationProperty
+      Stratosphere.Bedrock.KnowledgeBase.OpenSearchManagedClusterFieldMappingProperty
+      Stratosphere.Bedrock.KnowledgeBase.OpenSearchServerlessConfigurationProperty
+      Stratosphere.Bedrock.KnowledgeBase.OpenSearchServerlessFieldMappingProperty
+      Stratosphere.Bedrock.KnowledgeBase.PineconeConfigurationProperty
+      Stratosphere.Bedrock.KnowledgeBase.PineconeFieldMappingProperty
+      Stratosphere.Bedrock.KnowledgeBase.QueryGenerationColumnProperty
+      Stratosphere.Bedrock.KnowledgeBase.QueryGenerationConfigurationProperty
+      Stratosphere.Bedrock.KnowledgeBase.QueryGenerationContextProperty
+      Stratosphere.Bedrock.KnowledgeBase.QueryGenerationTableProperty
+      Stratosphere.Bedrock.KnowledgeBase.RdsConfigurationProperty
+      Stratosphere.Bedrock.KnowledgeBase.RdsFieldMappingProperty
+      Stratosphere.Bedrock.KnowledgeBase.RedshiftConfigurationProperty
+      Stratosphere.Bedrock.KnowledgeBase.RedshiftProvisionedAuthConfigurationProperty
+      Stratosphere.Bedrock.KnowledgeBase.RedshiftProvisionedConfigurationProperty
+      Stratosphere.Bedrock.KnowledgeBase.RedshiftQueryEngineAwsDataCatalogStorageConfigurationProperty
+      Stratosphere.Bedrock.KnowledgeBase.RedshiftQueryEngineConfigurationProperty
+      Stratosphere.Bedrock.KnowledgeBase.RedshiftQueryEngineRedshiftStorageConfigurationProperty
+      Stratosphere.Bedrock.KnowledgeBase.RedshiftQueryEngineStorageConfigurationProperty
+      Stratosphere.Bedrock.KnowledgeBase.RedshiftServerlessAuthConfigurationProperty
+      Stratosphere.Bedrock.KnowledgeBase.RedshiftServerlessConfigurationProperty
+      Stratosphere.Bedrock.KnowledgeBase.S3LocationProperty
+      Stratosphere.Bedrock.KnowledgeBase.SqlKnowledgeBaseConfigurationProperty
+      Stratosphere.Bedrock.KnowledgeBase.StorageConfigurationProperty
+      Stratosphere.Bedrock.KnowledgeBase.SupplementalDataStorageConfigurationProperty
+      Stratosphere.Bedrock.KnowledgeBase.SupplementalDataStorageLocationProperty
+      Stratosphere.Bedrock.KnowledgeBase.VectorKnowledgeBaseConfigurationProperty
+      Stratosphere.Bedrock.Prompt
+      Stratosphere.Bedrock.Prompt.CachePointBlockProperty
+      Stratosphere.Bedrock.Prompt.ChatPromptTemplateConfigurationProperty
+      Stratosphere.Bedrock.Prompt.ContentBlockProperty
+      Stratosphere.Bedrock.Prompt.MessageProperty
+      Stratosphere.Bedrock.Prompt.PromptAgentResourceProperty
+      Stratosphere.Bedrock.Prompt.PromptGenAiResourceProperty
+      Stratosphere.Bedrock.Prompt.PromptInferenceConfigurationProperty
+      Stratosphere.Bedrock.Prompt.PromptInputVariableProperty
+      Stratosphere.Bedrock.Prompt.PromptMetadataEntryProperty
+      Stratosphere.Bedrock.Prompt.PromptModelInferenceConfigurationProperty
+      Stratosphere.Bedrock.Prompt.PromptTemplateConfigurationProperty
+      Stratosphere.Bedrock.Prompt.PromptVariantProperty
+      Stratosphere.Bedrock.Prompt.SpecificToolChoiceProperty
+      Stratosphere.Bedrock.Prompt.SystemContentBlockProperty
+      Stratosphere.Bedrock.Prompt.TextPromptTemplateConfigurationProperty
+      Stratosphere.Bedrock.Prompt.TextS3LocationProperty
+      Stratosphere.Bedrock.Prompt.ToolChoiceProperty
+      Stratosphere.Bedrock.Prompt.ToolConfigurationProperty
+      Stratosphere.Bedrock.Prompt.ToolInputSchemaProperty
+      Stratosphere.Bedrock.Prompt.ToolProperty
+      Stratosphere.Bedrock.Prompt.ToolSpecificationProperty
+      Stratosphere.Bedrock.PromptVersion
+      Stratosphere.Bedrock.PromptVersion.CachePointBlockProperty
+      Stratosphere.Bedrock.PromptVersion.ChatPromptTemplateConfigurationProperty
+      Stratosphere.Bedrock.PromptVersion.ContentBlockProperty
+      Stratosphere.Bedrock.PromptVersion.MessageProperty
+      Stratosphere.Bedrock.PromptVersion.PromptAgentResourceProperty
+      Stratosphere.Bedrock.PromptVersion.PromptGenAiResourceProperty
+      Stratosphere.Bedrock.PromptVersion.PromptInferenceConfigurationProperty
+      Stratosphere.Bedrock.PromptVersion.PromptInputVariableProperty
+      Stratosphere.Bedrock.PromptVersion.PromptMetadataEntryProperty
+      Stratosphere.Bedrock.PromptVersion.PromptModelInferenceConfigurationProperty
+      Stratosphere.Bedrock.PromptVersion.PromptTemplateConfigurationProperty
+      Stratosphere.Bedrock.PromptVersion.PromptVariantProperty
+      Stratosphere.Bedrock.PromptVersion.SpecificToolChoiceProperty
+      Stratosphere.Bedrock.PromptVersion.SystemContentBlockProperty
+      Stratosphere.Bedrock.PromptVersion.TextPromptTemplateConfigurationProperty
+      Stratosphere.Bedrock.PromptVersion.ToolChoiceProperty
+      Stratosphere.Bedrock.PromptVersion.ToolConfigurationProperty
+      Stratosphere.Bedrock.PromptVersion.ToolInputSchemaProperty
+      Stratosphere.Bedrock.PromptVersion.ToolProperty
+      Stratosphere.Bedrock.PromptVersion.ToolSpecificationProperty
+  other-modules:
+      Paths_stratosphere_bedrock
+  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
