This is an automated email from the ASF dual-hosted git repository.

acosentino pushed a commit to branch kit-bedrock
in repository https://gitbox.apache.org/repos/asf/camel.git

commit e0b9bb5212cd2d8a0cd23d02ae709381bb625e9c
Author: Andrea Cosentino <anco...@gmail.com>
AuthorDate: Tue Feb 27 18:57:30 2024 +0100

    Camel-AWS-Bedrock: Added to kit
    
    Signed-off-by: Andrea Cosentino <anco...@gmail.com>
---
 .../org/apache/camel/catalog/components.properties |   1 +
 .../camel/catalog/components/aws-bedrock.json      |  77 +++
 .../apache/camel/catalog/main/sensitive-keys.json  |   1 +
 .../org/apache/camel/main/components.properties    |   1 +
 .../java/org/apache/camel/util/SensitiveUtils.java |   4 +-
 .../component/ComponentsBuilderFactory.java        |  13 +
 .../dsl/AwsBedrockComponentBuilderFactory.java     | 488 +++++++++++++++
 .../src/generated/resources/metadata.json          |  23 +
 .../builder/endpoint/EndpointBuilderFactory.java   |   1 +
 .../camel/builder/endpoint/EndpointBuilders.java   |   1 +
 .../builder/endpoint/StaticEndpointBuilders.java   |  43 ++
 .../dsl/BedrockEndpointBuilderFactory.java         | 679 +++++++++++++++++++++
 .../camel-component-known-dependencies.properties  |   1 +
 .../camel/kotlin/components/AwsBedrockUriDsl.kt    | 155 +++++
 14 files changed, 1487 insertions(+), 1 deletion(-)

diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components.properties
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components.properties
index f5f6b8a8483..964b2197cc9 100644
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components.properties
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components.properties
@@ -6,6 +6,7 @@ asterisk
 atmosphere-websocket
 atom
 avro
+aws-bedrock
 aws-cloudtrail
 aws-config
 aws-secrets-manager
diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/aws-bedrock.json
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/aws-bedrock.json
new file mode 100644
index 00000000000..85c01b88d9a
--- /dev/null
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/aws-bedrock.json
@@ -0,0 +1,77 @@
+{
+  "component": {
+    "kind": "component",
+    "name": "aws-bedrock",
+    "title": "AWS Bedrock",
+    "description": "Invoke Model of AWS Bedrock service.",
+    "deprecated": false,
+    "firstVersion": "4.5.0",
+    "label": "ai,cloud",
+    "javaType": "org.apache.camel.component.aws2.bedrock.BedrockComponent",
+    "supportLevel": "Preview",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-aws-bedrock",
+    "version": "4.5.0-SNAPSHOT",
+    "scheme": "aws-bedrock",
+    "extendsScheme": "",
+    "syntax": "aws-bedrock:label",
+    "async": false,
+    "api": false,
+    "consumerOnly": false,
+    "producerOnly": true,
+    "lenientProperties": false,
+    "remote": true
+  },
+  "componentProperties": {
+    "configuration": { "index": 0, "kind": "property", "displayName": 
"Configuration", "group": "producer", "label": "", "required": false, "type": 
"object", "javaType": 
"org.apache.camel.component.aws2.bedrock.BedrockConfiguration", "deprecated": 
false, "autowired": false, "secret": false, "description": "Component 
configuration" },
+    "lazyStartProducer": { "index": 1, "kind": "property", "displayName": 
"Lazy Start Producer", "group": "producer", "label": "producer", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": 
"Whether the producer should be started lazy (on the first message). By 
starting lazy you can use this to allow CamelContext and routes to startup in 
situations where a producer may otherwise fail [...]
+    "modelId": { "index": 2, "kind": "property", "displayName": "Model Id", 
"group": "producer", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": true, "configurationClass": 
"org.apache.camel.component.aws2.bedrock.BedrockConfiguration", 
"configurationField": "configuration", "description": "Define the model Id we 
are going to use" },
+    "operation": { "index": 3, "kind": "property", "displayName": "Operation", 
"group": "producer", "label": "", "required": true, "type": "object", 
"javaType": "org.apache.camel.component.aws2.bedrock.BedrockOperations", 
"enum": [ "invokeTextModel" ], "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.aws2.bedrock.BedrockConfiguration", 
"configurationField": "configuration", "description": "The operation to  [...]
+    "overrideEndpoint": { "index": 4, "kind": "property", "displayName": 
"Override Endpoint", "group": "producer", "label": "", "required": false, 
"type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.aws2.bedrock.BedrockConfiguration", 
"configurationField": "configuration", "description": "Set the need for 
overriding the endpoint. This option needs to be used in combina [...]
+    "pojoRequest": { "index": 5, "kind": "property", "displayName": "Pojo 
Request", "group": "producer", "label": "", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.aws2.bedrock.BedrockConfiguration", 
"configurationField": "configuration", "description": "If we want to use a POJO 
request as body or not" },
+    "profileCredentialsName": { "index": 6, "kind": "property", "displayName": 
"Profile Credentials Name", "group": "producer", "label": "", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "false", 
"configurationClass": 
"org.apache.camel.component.aws2.bedrock.BedrockConfiguration", 
"configurationField": "configuration", "description": "If using a profile 
credentials provider, this parameter wi [...]
+    "region": { "index": 7, "kind": "property", "displayName": "Region", 
"group": "producer", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "enum": [ "ap-south-2", "ap-south-1", 
"eu-south-1", "eu-south-2", "us-gov-east-1", "me-central-1", "il-central-1", 
"ca-central-1", "eu-central-1", "us-iso-west-1", "eu-central-2", "us-west-1", 
"us-west-2", "af-south-1", "eu-north-1", "eu-west-3", "eu-west-2", "eu-west-1", 
"ap-northeast-3", "ap-northeast-2", "ap-nor [...]
+    "uriEndpointOverride": { "index": 8, "kind": "property", "displayName": 
"Uri Endpoint Override", "group": "producer", "label": "", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.aws2.bedrock.BedrockConfiguration", 
"configurationField": "configuration", "description": "Set the overriding uri 
endpoint. This option needs to be used in combination with overrid [...]
+    "useDefaultCredentialsProvider": { "index": 9, "kind": "property", 
"displayName": "Use Default Credentials Provider", "group": "producer", 
"label": "", "required": false, "type": "boolean", "javaType": "boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
false, "configurationClass": 
"org.apache.camel.component.aws2.bedrock.BedrockConfiguration", 
"configurationField": "configuration", "description": "Set whether the Bedrock 
client should expect to load  [...]
+    "useProfileCredentialsProvider": { "index": 10, "kind": "property", 
"displayName": "Use Profile Credentials Provider", "group": "producer", 
"label": "", "required": false, "type": "boolean", "javaType": "boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
false, "configurationClass": 
"org.apache.camel.component.aws2.bedrock.BedrockConfiguration", 
"configurationField": "configuration", "description": "Set whether the Bedrock 
client should expect to load [...]
+    "autowiredEnabled": { "index": 11, "kind": "property", "displayName": 
"Autowired Enabled", "group": "advanced", "label": "advanced", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": true, "description": 
"Whether autowiring is enabled. This is used for automatic autowiring options 
(the option must be marked as autowired) by looking up in the registry to find 
if there is a single instance of matching  [...]
+    "bedrockRuntimeClient": { "index": 12, "kind": "property", "displayName": 
"Bedrock Runtime Client", "group": "advanced", "label": "advanced", "required": 
false, "type": "object", "javaType": 
"software.amazon.awssdk.services.bedrockruntime.BedrockRuntimeClient", 
"deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, 
"configurationClass": 
"org.apache.camel.component.aws2.bedrock.BedrockConfiguration", 
"configurationField": "configuration", "description": "To us [...]
+    "healthCheckConsumerEnabled": { "index": 13, "kind": "property", 
"displayName": "Health Check Consumer Enabled", "group": "health", "label": 
"health", "required": false, "type": "boolean", "javaType": "boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": true, 
"description": "Used for enabling or disabling all consumer based health checks 
from this component" },
+    "healthCheckProducerEnabled": { "index": 14, "kind": "property", 
"displayName": "Health Check Producer Enabled", "group": "health", "label": 
"health", "required": false, "type": "boolean", "javaType": "boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": true, 
"description": "Used for enabling or disabling all producer based health checks 
from this component. Notice: Camel has by default disabled all producer based 
health-checks. You can turn on produce [...]
+    "proxyHost": { "index": 15, "kind": "property", "displayName": "Proxy 
Host", "group": "proxy", "label": "proxy", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.aws2.bedrock.BedrockConfiguration", 
"configurationField": "configuration", "description": "To define a proxy host 
when instantiating the Bedrock client" },
+    "proxyPort": { "index": 16, "kind": "property", "displayName": "Proxy 
Port", "group": "proxy", "label": "proxy", "required": false, "type": 
"integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.aws2.bedrock.BedrockConfiguration", 
"configurationField": "configuration", "description": "To define a proxy port 
when instantiating the Bedrock client" },
+    "proxyProtocol": { "index": 17, "kind": "property", "displayName": "Proxy 
Protocol", "group": "proxy", "label": "proxy", "required": false, "type": 
"object", "javaType": "software.amazon.awssdk.core.Protocol", "enum": [ "HTTP", 
"HTTPS" ], "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": "HTTPS", "configurationClass": 
"org.apache.camel.component.aws2.bedrock.BedrockConfiguration", 
"configurationField": "configuration", "description": "To define a proxy 
protoco [...]
+    "accessKey": { "index": 18, "kind": "property", "displayName": "Access 
Key", "group": "security", "label": "security", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": true, "configurationClass": 
"org.apache.camel.component.aws2.bedrock.BedrockConfiguration", 
"configurationField": "configuration", "description": "Amazon AWS Access Key" },
+    "secretKey": { "index": 19, "kind": "property", "displayName": "Secret 
Key", "group": "security", "label": "security", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": true, "configurationClass": 
"org.apache.camel.component.aws2.bedrock.BedrockConfiguration", 
"configurationField": "configuration", "description": "Amazon AWS Secret Key" },
+    "sessionToken": { "index": 20, "kind": "property", "displayName": "Session 
Token", "group": "security", "label": "security", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": true, "configurationClass": 
"org.apache.camel.component.aws2.bedrock.BedrockConfiguration", 
"configurationField": "configuration", "description": "Amazon AWS Session Token 
used when the user needs to assume an IAM role" },
+    "trustAllCertificates": { "index": 21, "kind": "property", "displayName": 
"Trust All Certificates", "group": "security", "label": "security", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, 
"configurationClass": 
"org.apache.camel.component.aws2.bedrock.BedrockConfiguration", 
"configurationField": "configuration", "description": "If we want to trust all 
certificates in case of overriding the  [...]
+    "useSessionCredentials": { "index": 22, "kind": "property", "displayName": 
"Use Session Credentials", "group": "security", "label": "security", 
"required": false, "type": "boolean", "javaType": "boolean", "deprecated": 
false, "autowired": false, "secret": false, "defaultValue": false, 
"configurationClass": 
"org.apache.camel.component.aws2.bedrock.BedrockConfiguration", 
"configurationField": "configuration", "description": "Set whether the Bedrock 
client should expect to use Session C [...]
+  },
+  "headers": {
+    "CamelAwsBedrockOperation": { "index": 0, "kind": "header", "displayName": 
"", "group": "producer", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The operation we want to perform", "constantName": 
"org.apache.camel.component.aws2.bedrock.BedrockConstants#OPERATION" },
+    "CamelAwsBedrockContentType": { "index": 1, "kind": "header", 
"displayName": "", "group": "producer", "label": "", "required": false, 
"javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "description": "The model content type", 
"constantName": 
"org.apache.camel.component.aws2.bedrock.BedrockConstants#MODEL_CONTENT_TYPE" },
+    "CamelAwsBedrockAcceptContentType": { "index": 2, "kind": "header", 
"displayName": "", "group": "producer", "label": "", "required": false, 
"javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "description": "The model accept content type", 
"constantName": 
"org.apache.camel.component.aws2.bedrock.BedrockConstants#MODEL_ACCEPT_CONTENT_TYPE"
 }
+  },
+  "properties": {
+    "label": { "index": 0, "kind": "path", "displayName": "Label", "group": 
"producer", "label": "", "required": true, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.aws2.bedrock.BedrockConfiguration", 
"configurationField": "configuration", "description": "Logical name" },
+    "modelId": { "index": 1, "kind": "parameter", "displayName": "Model Id", 
"group": "producer", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": true, "configurationClass": 
"org.apache.camel.component.aws2.bedrock.BedrockConfiguration", 
"configurationField": "configuration", "description": "Define the model Id we 
are going to use" },
+    "operation": { "index": 2, "kind": "parameter", "displayName": 
"Operation", "group": "producer", "label": "", "required": true, "type": 
"object", "javaType": 
"org.apache.camel.component.aws2.bedrock.BedrockOperations", "enum": [ 
"invokeTextModel" ], "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.aws2.bedrock.BedrockConfiguration", 
"configurationField": "configuration", "description": "The operation to [...]
+    "overrideEndpoint": { "index": 3, "kind": "parameter", "displayName": 
"Override Endpoint", "group": "producer", "label": "", "required": false, 
"type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.aws2.bedrock.BedrockConfiguration", 
"configurationField": "configuration", "description": "Set the need for 
overriding the endpoint. This option needs to be used in combin [...]
+    "pojoRequest": { "index": 4, "kind": "parameter", "displayName": "Pojo 
Request", "group": "producer", "label": "", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.aws2.bedrock.BedrockConfiguration", 
"configurationField": "configuration", "description": "If we want to use a POJO 
request as body or not" },
+    "profileCredentialsName": { "index": 5, "kind": "parameter", 
"displayName": "Profile Credentials Name", "group": "producer", "label": "", 
"required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
"false", "configurationClass": 
"org.apache.camel.component.aws2.bedrock.BedrockConfiguration", 
"configurationField": "configuration", "description": "If using a profile 
credentials provider, this parameter w [...]
+    "region": { "index": 6, "kind": "parameter", "displayName": "Region", 
"group": "producer", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "enum": [ "ap-south-2", "ap-south-1", 
"eu-south-1", "eu-south-2", "us-gov-east-1", "me-central-1", "il-central-1", 
"ca-central-1", "eu-central-1", "us-iso-west-1", "eu-central-2", "us-west-1", 
"us-west-2", "af-south-1", "eu-north-1", "eu-west-3", "eu-west-2", "eu-west-1", 
"ap-northeast-3", "ap-northeast-2", "ap-no [...]
+    "uriEndpointOverride": { "index": 7, "kind": "parameter", "displayName": 
"Uri Endpoint Override", "group": "producer", "label": "", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.aws2.bedrock.BedrockConfiguration", 
"configurationField": "configuration", "description": "Set the overriding uri 
endpoint. This option needs to be used in combination with overri [...]
+    "useDefaultCredentialsProvider": { "index": 8, "kind": "parameter", 
"displayName": "Use Default Credentials Provider", "group": "producer", 
"label": "", "required": false, "type": "boolean", "javaType": "boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
false, "configurationClass": 
"org.apache.camel.component.aws2.bedrock.BedrockConfiguration", 
"configurationField": "configuration", "description": "Set whether the Bedrock 
client should expect to load [...]
+    "useProfileCredentialsProvider": { "index": 9, "kind": "parameter", 
"displayName": "Use Profile Credentials Provider", "group": "producer", 
"label": "", "required": false, "type": "boolean", "javaType": "boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
false, "configurationClass": 
"org.apache.camel.component.aws2.bedrock.BedrockConfiguration", 
"configurationField": "configuration", "description": "Set whether the Bedrock 
client should expect to load [...]
+    "lazyStartProducer": { "index": 10, "kind": "parameter", "displayName": 
"Lazy Start Producer", "group": "producer (advanced)", "label": 
"producer,advanced", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Whether the producer should be started 
lazy (on the first message). By starting lazy you can use this to allow 
CamelContext and routes to startup in situations where a produ [...]
+    "bedrockRuntimeClient": { "index": 11, "kind": "parameter", "displayName": 
"Bedrock Runtime Client", "group": "advanced", "label": "advanced", "required": 
false, "type": "object", "javaType": 
"software.amazon.awssdk.services.bedrockruntime.BedrockRuntimeClient", 
"deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, 
"configurationClass": 
"org.apache.camel.component.aws2.bedrock.BedrockConfiguration", 
"configurationField": "configuration", "description": "To u [...]
+    "proxyHost": { "index": 12, "kind": "parameter", "displayName": "Proxy 
Host", "group": "proxy", "label": "proxy", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.aws2.bedrock.BedrockConfiguration", 
"configurationField": "configuration", "description": "To define a proxy host 
when instantiating the Bedrock client" },
+    "proxyPort": { "index": 13, "kind": "parameter", "displayName": "Proxy 
Port", "group": "proxy", "label": "proxy", "required": false, "type": 
"integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.aws2.bedrock.BedrockConfiguration", 
"configurationField": "configuration", "description": "To define a proxy port 
when instantiating the Bedrock client" },
+    "proxyProtocol": { "index": 14, "kind": "parameter", "displayName": "Proxy 
Protocol", "group": "proxy", "label": "proxy", "required": false, "type": 
"object", "javaType": "software.amazon.awssdk.core.Protocol", "enum": [ "HTTP", 
"HTTPS" ], "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": "HTTPS", "configurationClass": 
"org.apache.camel.component.aws2.bedrock.BedrockConfiguration", 
"configurationField": "configuration", "description": "To define a proxy protoc 
[...]
+    "accessKey": { "index": 15, "kind": "parameter", "displayName": "Access 
Key", "group": "security", "label": "security", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": true, "configurationClass": 
"org.apache.camel.component.aws2.bedrock.BedrockConfiguration", 
"configurationField": "configuration", "description": "Amazon AWS Access Key" },
+    "secretKey": { "index": 16, "kind": "parameter", "displayName": "Secret 
Key", "group": "security", "label": "security", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": true, "configurationClass": 
"org.apache.camel.component.aws2.bedrock.BedrockConfiguration", 
"configurationField": "configuration", "description": "Amazon AWS Secret Key" },
+    "sessionToken": { "index": 17, "kind": "parameter", "displayName": 
"Session Token", "group": "security", "label": "security", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": true, "configurationClass": 
"org.apache.camel.component.aws2.bedrock.BedrockConfiguration", 
"configurationField": "configuration", "description": "Amazon AWS Session Token 
used when the user needs to assume an IAM role" },
+    "trustAllCertificates": { "index": 18, "kind": "parameter", "displayName": 
"Trust All Certificates", "group": "security", "label": "security", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, 
"configurationClass": 
"org.apache.camel.component.aws2.bedrock.BedrockConfiguration", 
"configurationField": "configuration", "description": "If we want to trust all 
certificates in case of overriding the [...]
+    "useSessionCredentials": { "index": 19, "kind": "parameter", 
"displayName": "Use Session Credentials", "group": "security", "label": 
"security", "required": false, "type": "boolean", "javaType": "boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
false, "configurationClass": 
"org.apache.camel.component.aws2.bedrock.BedrockConfiguration", 
"configurationField": "configuration", "description": "Set whether the Bedrock 
client should expect to use Session  [...]
+  }
+}
diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/main/sensitive-keys.json
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/main/sensitive-keys.json
index 14a695c9ab6..a779d45a871 100644
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/main/sensitive-keys.json
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/main/sensitive-keys.json
@@ -27,6 +27,7 @@
   "httpproxypassword",
   "keystore",
   "login",
+  "modelid",
   "oauthclientid",
   "oauthclientsecret",
   "oauthtoken",
diff --git 
a/core/camel-main/src/generated/resources/org/apache/camel/main/components.properties
 
b/core/camel-main/src/generated/resources/org/apache/camel/main/components.properties
index f5f6b8a8483..964b2197cc9 100644
--- 
a/core/camel-main/src/generated/resources/org/apache/camel/main/components.properties
+++ 
b/core/camel-main/src/generated/resources/org/apache/camel/main/components.properties
@@ -6,6 +6,7 @@ asterisk
 atmosphere-websocket
 atom
 avro
+aws-bedrock
 aws-cloudtrail
 aws-config
 aws-secrets-manager
diff --git 
a/core/camel-util/src/main/java/org/apache/camel/util/SensitiveUtils.java 
b/core/camel-util/src/main/java/org/apache/camel/util/SensitiveUtils.java
index ad29dad2a23..a44ec1596d5 100644
--- a/core/camel-util/src/main/java/org/apache/camel/util/SensitiveUtils.java
+++ b/core/camel-util/src/main/java/org/apache/camel/util/SensitiveUtils.java
@@ -56,6 +56,7 @@ public final class SensitiveUtils {
                     "httpproxypassword",
                     "keystore",
                     "login",
+                    "modelid",
                     "oauthclientid",
                     "oauthclientsecret",
                     "oauthtoken",
@@ -135,6 +136,7 @@ public final class SensitiveUtils {
                                                     + 
"|\\Qhttpproxypassword\\E"
                                                     + "|\\Qkeystore\\E"
                                                     + "|\\Qlogin\\E"
+                                                    + "|\\Qmodelid\\E"
                                                     + "|\\Qoauthclientid\\E"
                                                     + 
"|\\Qoauthclientsecret\\E"
                                                     + "|\\Qoauthtoken\\E"
@@ -180,7 +182,7 @@ public final class SensitiveUtils {
                                                     + "|\\Qverificationcode\\E"
                                                     + 
"|\\Qwebhookverifytoken\\E"
                                                     + 
"|\\Qzookeeperpassword\\E"
-    // SENSITIVE-PATTERN: END
+                                                    // SENSITIVE-PATTERN: END
     ;
 
     private SensitiveUtils() {
diff --git 
a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/ComponentsBuilderFactory.java
 
b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/ComponentsBuilderFactory.java
index 64476355fee..a5ad77f680d 100644
--- 
a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/ComponentsBuilderFactory.java
+++ 
b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/ComponentsBuilderFactory.java
@@ -149,6 +149,19 @@ public interface ComponentsBuilderFactory {
     static 
org.apache.camel.builder.component.dsl.AvroComponentBuilderFactory.AvroComponentBuilder
 avro() {
         return 
org.apache.camel.builder.component.dsl.AvroComponentBuilderFactory.avro();
     }
+    /**
+     * AWS Bedrock (camel-aws-bedrock)
+     * Invoke Model of AWS Bedrock service.
+     * 
+     * Category: ai,cloud
+     * Since: 4.5
+     * Maven coordinates: org.apache.camel:camel-aws-bedrock
+     * 
+     * @return the dsl builder
+     */
+    static 
org.apache.camel.builder.component.dsl.AwsBedrockComponentBuilderFactory.AwsBedrockComponentBuilder
 awsBedrock() {
+        return 
org.apache.camel.builder.component.dsl.AwsBedrockComponentBuilderFactory.awsBedrock();
+    }
     /**
      * AWS Cloudtrail (camel-aws-cloudtrail)
      * Consume events from Amazon Cloudtrail using AWS SDK version 2.x.
diff --git 
a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/AwsBedrockComponentBuilderFactory.java
 
b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/AwsBedrockComponentBuilderFactory.java
new file mode 100644
index 00000000000..ca62aca5e66
--- /dev/null
+++ 
b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/AwsBedrockComponentBuilderFactory.java
@@ -0,0 +1,488 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.builder.component.dsl;
+
+import javax.annotation.processing.Generated;
+import org.apache.camel.Component;
+import org.apache.camel.builder.component.AbstractComponentBuilder;
+import org.apache.camel.builder.component.ComponentBuilder;
+import org.apache.camel.component.aws2.bedrock.BedrockComponent;
+
+/**
+ * Invoke Model of AWS Bedrock service.
+ * 
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.maven.packaging.ComponentDslMojo")
+public interface AwsBedrockComponentBuilderFactory {
+
+    /**
+     * AWS Bedrock (camel-aws-bedrock)
+     * Invoke Model of AWS Bedrock service.
+     * 
+     * Category: ai,cloud
+     * Since: 4.5
+     * Maven coordinates: org.apache.camel:camel-aws-bedrock
+     * 
+     * @return the dsl builder
+     */
+    static AwsBedrockComponentBuilder awsBedrock() {
+        return new AwsBedrockComponentBuilderImpl();
+    }
+
+    /**
+     * Builder for the AWS Bedrock component.
+     */
+    interface AwsBedrockComponentBuilder
+            extends
+                ComponentBuilder<BedrockComponent> {
+        /**
+         * Component configuration.
+         * 
+         * The option is a:
+         * 
&lt;code&gt;org.apache.camel.component.aws2.bedrock.BedrockConfiguration&lt;/code&gt;
 type.
+         * 
+         * Group: producer
+         * 
+         * @param configuration the value to set
+         * @return the dsl builder
+         */
+        default AwsBedrockComponentBuilder configuration(
+                org.apache.camel.component.aws2.bedrock.BedrockConfiguration 
configuration) {
+            doSetProperty("configuration", configuration);
+            return this;
+        }
+        /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes 
to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring 
this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that 
when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing 
time
+         * of the processing.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: false
+         * Group: producer
+         * 
+         * @param lazyStartProducer the value to set
+         * @return the dsl builder
+         */
+        default AwsBedrockComponentBuilder lazyStartProducer(
+                boolean lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
+         * Define the model Id we are going to use.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: producer
+         * 
+         * @param modelId the value to set
+         * @return the dsl builder
+         */
+        default AwsBedrockComponentBuilder modelId(java.lang.String modelId) {
+            doSetProperty("modelId", modelId);
+            return this;
+        }
+        /**
+         * The operation to perform.
+         * 
+         * The option is a:
+         * 
&lt;code&gt;org.apache.camel.component.aws2.bedrock.BedrockOperations&lt;/code&gt;
 type.
+         * 
+         * Group: producer
+         * 
+         * @param operation the value to set
+         * @return the dsl builder
+         */
+        default AwsBedrockComponentBuilder operation(
+                org.apache.camel.component.aws2.bedrock.BedrockOperations 
operation) {
+            doSetProperty("operation", operation);
+            return this;
+        }
+        /**
+         * Set the need for overriding the endpoint. This option needs to be
+         * used in combination with the uriEndpointOverride option.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: false
+         * Group: producer
+         * 
+         * @param overrideEndpoint the value to set
+         * @return the dsl builder
+         */
+        default AwsBedrockComponentBuilder overrideEndpoint(
+                boolean overrideEndpoint) {
+            doSetProperty("overrideEndpoint", overrideEndpoint);
+            return this;
+        }
+        /**
+         * If we want to use a POJO request as body or not.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: false
+         * Group: producer
+         * 
+         * @param pojoRequest the value to set
+         * @return the dsl builder
+         */
+        default AwsBedrockComponentBuilder pojoRequest(boolean pojoRequest) {
+            doSetProperty("pojoRequest", pojoRequest);
+            return this;
+        }
+        /**
+         * If using a profile credentials provider, this parameter will set the
+         * profile name.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Default: false
+         * Group: producer
+         * 
+         * @param profileCredentialsName the value to set
+         * @return the dsl builder
+         */
+        default AwsBedrockComponentBuilder profileCredentialsName(
+                java.lang.String profileCredentialsName) {
+            doSetProperty("profileCredentialsName", profileCredentialsName);
+            return this;
+        }
+        /**
+         * The region in which Bedrock client needs to work. When using this
+         * parameter, the configuration will expect the lowercase name of the
+         * region (for example, ap-east-1) You'll need to use the name
+         * Region.EU_WEST_1.id().
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: producer
+         * 
+         * @param region the value to set
+         * @return the dsl builder
+         */
+        default AwsBedrockComponentBuilder region(java.lang.String region) {
+            doSetProperty("region", region);
+            return this;
+        }
+        /**
+         * Set the overriding uri endpoint. This option needs to be used in
+         * combination with overrideEndpoint option.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: producer
+         * 
+         * @param uriEndpointOverride the value to set
+         * @return the dsl builder
+         */
+        default AwsBedrockComponentBuilder uriEndpointOverride(
+                java.lang.String uriEndpointOverride) {
+            doSetProperty("uriEndpointOverride", uriEndpointOverride);
+            return this;
+        }
+        /**
+         * Set whether the Bedrock client should expect to load credentials
+         * through a default credentials provider or to expect static
+         * credentials to be passed in.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: false
+         * Group: producer
+         * 
+         * @param useDefaultCredentialsProvider the value to set
+         * @return the dsl builder
+         */
+        default AwsBedrockComponentBuilder useDefaultCredentialsProvider(
+                boolean useDefaultCredentialsProvider) {
+            doSetProperty("useDefaultCredentialsProvider", 
useDefaultCredentialsProvider);
+            return this;
+        }
+        /**
+         * Set whether the Bedrock client should expect to load credentials
+         * through a profile credentials provider.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: false
+         * Group: producer
+         * 
+         * @param useProfileCredentialsProvider the value to set
+         * @return the dsl builder
+         */
+        default AwsBedrockComponentBuilder useProfileCredentialsProvider(
+                boolean useProfileCredentialsProvider) {
+            doSetProperty("useProfileCredentialsProvider", 
useProfileCredentialsProvider);
+            return this;
+        }
+        /**
+         * Whether autowiring is enabled. This is used for automatic autowiring
+         * options (the option must be marked as autowired) by looking up in 
the
+         * registry to find if there is a single instance of matching type,
+         * which then gets configured on the component. This can be used for
+         * automatic configuring JDBC data sources, JMS connection factories,
+         * AWS Clients, etc.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: true
+         * Group: advanced
+         * 
+         * @param autowiredEnabled the value to set
+         * @return the dsl builder
+         */
+        default AwsBedrockComponentBuilder autowiredEnabled(
+                boolean autowiredEnabled) {
+            doSetProperty("autowiredEnabled", autowiredEnabled);
+            return this;
+        }
+        /**
+         * To use an existing configured AWS Bedrock Runtime client.
+         * 
+         * The option is a:
+         * 
&lt;code&gt;software.amazon.awssdk.services.bedrockruntime.BedrockRuntimeClient&lt;/code&gt;
 type.
+         * 
+         * Group: advanced
+         * 
+         * @param bedrockRuntimeClient the value to set
+         * @return the dsl builder
+         */
+        default AwsBedrockComponentBuilder bedrockRuntimeClient(
+                
software.amazon.awssdk.services.bedrockruntime.BedrockRuntimeClient 
bedrockRuntimeClient) {
+            doSetProperty("bedrockRuntimeClient", bedrockRuntimeClient);
+            return this;
+        }
+        /**
+         * Used for enabling or disabling all consumer based health checks from
+         * this component.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: true
+         * Group: health
+         * 
+         * @param healthCheckConsumerEnabled the value to set
+         * @return the dsl builder
+         */
+        default AwsBedrockComponentBuilder healthCheckConsumerEnabled(
+                boolean healthCheckConsumerEnabled) {
+            doSetProperty("healthCheckConsumerEnabled", 
healthCheckConsumerEnabled);
+            return this;
+        }
+        /**
+         * Used for enabling or disabling all producer based health checks from
+         * this component. Notice: Camel has by default disabled all producer
+         * based health-checks. You can turn on producer checks globally by
+         * setting camel.health.producersEnabled=true.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: true
+         * Group: health
+         * 
+         * @param healthCheckProducerEnabled the value to set
+         * @return the dsl builder
+         */
+        default AwsBedrockComponentBuilder healthCheckProducerEnabled(
+                boolean healthCheckProducerEnabled) {
+            doSetProperty("healthCheckProducerEnabled", 
healthCheckProducerEnabled);
+            return this;
+        }
+        /**
+         * To define a proxy host when instantiating the Bedrock client.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: proxy
+         * 
+         * @param proxyHost the value to set
+         * @return the dsl builder
+         */
+        default AwsBedrockComponentBuilder proxyHost(java.lang.String 
proxyHost) {
+            doSetProperty("proxyHost", proxyHost);
+            return this;
+        }
+        /**
+         * To define a proxy port when instantiating the Bedrock client.
+         * 
+         * The option is a: &lt;code&gt;java.lang.Integer&lt;/code&gt; type.
+         * 
+         * Group: proxy
+         * 
+         * @param proxyPort the value to set
+         * @return the dsl builder
+         */
+        default AwsBedrockComponentBuilder proxyPort(java.lang.Integer 
proxyPort) {
+            doSetProperty("proxyPort", proxyPort);
+            return this;
+        }
+        /**
+         * To define a proxy protocol when instantiating the Bedrock client.
+         * 
+         * The option is a:
+         * &lt;code&gt;software.amazon.awssdk.core.Protocol&lt;/code&gt; type.
+         * 
+         * Default: HTTPS
+         * Group: proxy
+         * 
+         * @param proxyProtocol the value to set
+         * @return the dsl builder
+         */
+        default AwsBedrockComponentBuilder proxyProtocol(
+                software.amazon.awssdk.core.Protocol proxyProtocol) {
+            doSetProperty("proxyProtocol", proxyProtocol);
+            return this;
+        }
+        /**
+         * Amazon AWS Access Key.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: security
+         * 
+         * @param accessKey the value to set
+         * @return the dsl builder
+         */
+        default AwsBedrockComponentBuilder accessKey(java.lang.String 
accessKey) {
+            doSetProperty("accessKey", accessKey);
+            return this;
+        }
+        /**
+         * Amazon AWS Secret Key.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: security
+         * 
+         * @param secretKey the value to set
+         * @return the dsl builder
+         */
+        default AwsBedrockComponentBuilder secretKey(java.lang.String 
secretKey) {
+            doSetProperty("secretKey", secretKey);
+            return this;
+        }
+        /**
+         * Amazon AWS Session Token used when the user needs to assume an IAM
+         * role.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: security
+         * 
+         * @param sessionToken the value to set
+         * @return the dsl builder
+         */
+        default AwsBedrockComponentBuilder sessionToken(
+                java.lang.String sessionToken) {
+            doSetProperty("sessionToken", sessionToken);
+            return this;
+        }
+        /**
+         * If we want to trust all certificates in case of overriding the
+         * endpoint.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: false
+         * Group: security
+         * 
+         * @param trustAllCertificates the value to set
+         * @return the dsl builder
+         */
+        default AwsBedrockComponentBuilder trustAllCertificates(
+                boolean trustAllCertificates) {
+            doSetProperty("trustAllCertificates", trustAllCertificates);
+            return this;
+        }
+        /**
+         * Set whether the Bedrock client should expect to use Session
+         * Credentials. This is useful in a situation in which the user needs 
to
+         * assume an IAM role for doing operations in Bedrock.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: false
+         * Group: security
+         * 
+         * @param useSessionCredentials the value to set
+         * @return the dsl builder
+         */
+        default AwsBedrockComponentBuilder useSessionCredentials(
+                boolean useSessionCredentials) {
+            doSetProperty("useSessionCredentials", useSessionCredentials);
+            return this;
+        }
+    }
+
+    class AwsBedrockComponentBuilderImpl
+            extends
+                AbstractComponentBuilder<BedrockComponent>
+            implements
+                AwsBedrockComponentBuilder {
+        @Override
+        protected BedrockComponent buildConcreteComponent() {
+            return new BedrockComponent();
+        }
+        private org.apache.camel.component.aws2.bedrock.BedrockConfiguration 
getOrCreateConfiguration(
+                org.apache.camel.component.aws2.bedrock.BedrockComponent 
component) {
+            if (component.getConfiguration() == null) {
+                component.setConfiguration(new 
org.apache.camel.component.aws2.bedrock.BedrockConfiguration());
+            }
+            return component.getConfiguration();
+        }
+        @Override
+        protected boolean setPropertyOnComponent(
+                Component component,
+                String name,
+                Object value) {
+            switch (name) {
+            case "configuration": ((BedrockComponent) 
component).setConfiguration((org.apache.camel.component.aws2.bedrock.BedrockConfiguration)
 value); return true;
+            case "lazyStartProducer": ((BedrockComponent) 
component).setLazyStartProducer((boolean) value); return true;
+            case "modelId": getOrCreateConfiguration((BedrockComponent) 
component).setModelId((java.lang.String) value); return true;
+            case "operation": getOrCreateConfiguration((BedrockComponent) 
component).setOperation((org.apache.camel.component.aws2.bedrock.BedrockOperations)
 value); return true;
+            case "overrideEndpoint": 
getOrCreateConfiguration((BedrockComponent) 
component).setOverrideEndpoint((boolean) value); return true;
+            case "pojoRequest": getOrCreateConfiguration((BedrockComponent) 
component).setPojoRequest((boolean) value); return true;
+            case "profileCredentialsName": 
getOrCreateConfiguration((BedrockComponent) 
component).setProfileCredentialsName((java.lang.String) value); return true;
+            case "region": getOrCreateConfiguration((BedrockComponent) 
component).setRegion((java.lang.String) value); return true;
+            case "uriEndpointOverride": 
getOrCreateConfiguration((BedrockComponent) 
component).setUriEndpointOverride((java.lang.String) value); return true;
+            case "useDefaultCredentialsProvider": 
getOrCreateConfiguration((BedrockComponent) 
component).setUseDefaultCredentialsProvider((boolean) value); return true;
+            case "useProfileCredentialsProvider": 
getOrCreateConfiguration((BedrockComponent) 
component).setUseProfileCredentialsProvider((boolean) value); return true;
+            case "autowiredEnabled": ((BedrockComponent) 
component).setAutowiredEnabled((boolean) value); return true;
+            case "bedrockRuntimeClient": 
getOrCreateConfiguration((BedrockComponent) 
component).setBedrockRuntimeClient((software.amazon.awssdk.services.bedrockruntime.BedrockRuntimeClient)
 value); return true;
+            case "healthCheckConsumerEnabled": ((BedrockComponent) 
component).setHealthCheckConsumerEnabled((boolean) value); return true;
+            case "healthCheckProducerEnabled": ((BedrockComponent) 
component).setHealthCheckProducerEnabled((boolean) value); return true;
+            case "proxyHost": getOrCreateConfiguration((BedrockComponent) 
component).setProxyHost((java.lang.String) value); return true;
+            case "proxyPort": getOrCreateConfiguration((BedrockComponent) 
component).setProxyPort((java.lang.Integer) value); return true;
+            case "proxyProtocol": getOrCreateConfiguration((BedrockComponent) 
component).setProxyProtocol((software.amazon.awssdk.core.Protocol) value); 
return true;
+            case "accessKey": getOrCreateConfiguration((BedrockComponent) 
component).setAccessKey((java.lang.String) value); return true;
+            case "secretKey": getOrCreateConfiguration((BedrockComponent) 
component).setSecretKey((java.lang.String) value); return true;
+            case "sessionToken": getOrCreateConfiguration((BedrockComponent) 
component).setSessionToken((java.lang.String) value); return true;
+            case "trustAllCertificates": 
getOrCreateConfiguration((BedrockComponent) 
component).setTrustAllCertificates((boolean) value); return true;
+            case "useSessionCredentials": 
getOrCreateConfiguration((BedrockComponent) 
component).setUseSessionCredentials((boolean) value); return true;
+            default: return false;
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/dsl/camel-componentdsl/src/generated/resources/metadata.json 
b/dsl/camel-componentdsl/src/generated/resources/metadata.json
index b8bb266f4a9..1c04c4eef87 100644
--- a/dsl/camel-componentdsl/src/generated/resources/metadata.json
+++ b/dsl/camel-componentdsl/src/generated/resources/metadata.json
@@ -736,6 +736,29 @@
     "lenientProperties": false,
     "remote": true
   },
+  "AwsBedrockComponentBuilderFactory": {
+    "kind": "component",
+    "name": "aws-bedrock",
+    "title": "AWS Bedrock",
+    "description": "Invoke Model of AWS Bedrock service.",
+    "deprecated": false,
+    "firstVersion": "4.5.0",
+    "label": "ai,cloud",
+    "javaType": "org.apache.camel.component.aws2.bedrock.BedrockComponent",
+    "supportLevel": "Preview",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-aws-bedrock",
+    "version": "4.5.0-SNAPSHOT",
+    "scheme": "aws-bedrock",
+    "extendsScheme": "",
+    "syntax": "aws-bedrock:label",
+    "async": false,
+    "api": false,
+    "consumerOnly": false,
+    "producerOnly": true,
+    "lenientProperties": false,
+    "remote": true
+  },
   "AwsCloudtrailComponentBuilderFactory": {
     "kind": "component",
     "name": "aws-cloudtrail",
diff --git 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilderFactory.java
 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilderFactory.java
index 477e1d0d890..2b46d443dba 100644
--- 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilderFactory.java
+++ 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilderFactory.java
@@ -41,6 +41,7 @@ public interface EndpointBuilderFactory
             
org.apache.camel.builder.endpoint.dsl.AvroEndpointBuilderFactory.AvroBuilders,
             
org.apache.camel.builder.endpoint.dsl.BeanEndpointBuilderFactory.BeanBuilders,
             
org.apache.camel.builder.endpoint.dsl.BeanValidatorEndpointBuilderFactory.BeanValidatorBuilders,
+            
org.apache.camel.builder.endpoint.dsl.BedrockEndpointBuilderFactory.BedrockBuilders,
             
org.apache.camel.builder.endpoint.dsl.BlobEndpointBuilderFactory.BlobBuilders,
             
org.apache.camel.builder.endpoint.dsl.BonitaEndpointBuilderFactory.BonitaBuilders,
             
org.apache.camel.builder.endpoint.dsl.BoxEndpointBuilderFactory.BoxBuilders,
diff --git 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilders.java
 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilders.java
index afb746e6782..80ef3229130 100644
--- 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilders.java
+++ 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilders.java
@@ -38,6 +38,7 @@ public interface EndpointBuilders
             org.apache.camel.builder.endpoint.dsl.AvroEndpointBuilderFactory,
             org.apache.camel.builder.endpoint.dsl.BeanEndpointBuilderFactory,
             
org.apache.camel.builder.endpoint.dsl.BeanValidatorEndpointBuilderFactory,
+            
org.apache.camel.builder.endpoint.dsl.BedrockEndpointBuilderFactory,
             org.apache.camel.builder.endpoint.dsl.BlobEndpointBuilderFactory,
             org.apache.camel.builder.endpoint.dsl.BonitaEndpointBuilderFactory,
             org.apache.camel.builder.endpoint.dsl.BoxEndpointBuilderFactory,
diff --git 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java
 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java
index fe5f8d49376..065f232b926 100644
--- 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java
+++ 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java
@@ -1464,6 +1464,49 @@ public class StaticEndpointBuilders {
             String path) {
         return 
org.apache.camel.builder.endpoint.dsl.Translate2EndpointBuilderFactory.endpointBuilder(componentName,
 path);
     }
+    /**
+     * AWS Bedrock (camel-aws-bedrock)
+     * Invoke Model of AWS Bedrock service.
+     * 
+     * Category: ai,cloud
+     * Since: 4.5
+     * Maven coordinates: org.apache.camel:camel-aws-bedrock
+     * 
+     * Syntax: <code>aws-bedrock:label</code>
+     * 
+     * Path parameter: label (required)
+     * Logical name
+     * 
+     * @param path label
+     * @return the dsl builder
+     */
+    public static 
org.apache.camel.builder.endpoint.dsl.BedrockEndpointBuilderFactory.BedrockEndpointBuilder
 awsBedrock(
+            String path) {
+        return 
org.apache.camel.builder.endpoint.dsl.BedrockEndpointBuilderFactory.endpointBuilder("aws-bedrock",
 path);
+    }
+    /**
+     * AWS Bedrock (camel-aws-bedrock)
+     * Invoke Model of AWS Bedrock service.
+     * 
+     * Category: ai,cloud
+     * Since: 4.5
+     * Maven coordinates: org.apache.camel:camel-aws-bedrock
+     * 
+     * Syntax: <code>aws-bedrock:label</code>
+     * 
+     * Path parameter: label (required)
+     * Logical name
+     * 
+     * @param componentName to use a custom component name for the endpoint
+     * instead of the default name
+     * @param path label
+     * @return the dsl builder
+     */
+    public static 
org.apache.camel.builder.endpoint.dsl.BedrockEndpointBuilderFactory.BedrockEndpointBuilder
 awsBedrock(
+            String componentName,
+            String path) {
+        return 
org.apache.camel.builder.endpoint.dsl.BedrockEndpointBuilderFactory.endpointBuilder(componentName,
 path);
+    }
     /**
      * AWS Cloudtrail (camel-aws-cloudtrail)
      * Consume events from Amazon Cloudtrail using AWS SDK version 2.x.
diff --git 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/BedrockEndpointBuilderFactory.java
 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/BedrockEndpointBuilderFactory.java
new file mode 100644
index 00000000000..4001933f327
--- /dev/null
+++ 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/BedrockEndpointBuilderFactory.java
@@ -0,0 +1,679 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.builder.endpoint.dsl;
+
+import java.util.*;
+import java.util.concurrent.*;
+import java.util.function.*;
+import java.util.stream.*;
+import javax.annotation.processing.Generated;
+import org.apache.camel.builder.EndpointConsumerBuilder;
+import org.apache.camel.builder.EndpointProducerBuilder;
+import org.apache.camel.builder.endpoint.AbstractEndpointBuilder;
+
+/**
+ * Invoke Model of AWS Bedrock service.
+ * 
+ * Generated by camel build tools - do NOT edit this file!
+ */
+@Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
+public interface BedrockEndpointBuilderFactory {
+
+
+    /**
+     * Builder for endpoint for the AWS Bedrock component.
+     */
+    public interface BedrockEndpointBuilder extends EndpointProducerBuilder {
+        default AdvancedBedrockEndpointBuilder advanced() {
+            return (AdvancedBedrockEndpointBuilder) this;
+        }
+        /**
+         * Define the model Id we are going to use.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: producer
+         * 
+         * @param modelId the value to set
+         * @return the dsl builder
+         */
+        default BedrockEndpointBuilder modelId(String modelId) {
+            doSetProperty("modelId", modelId);
+            return this;
+        }
+        /**
+         * The operation to perform.
+         * 
+         * The option is a:
+         * 
&lt;code&gt;org.apache.camel.component.aws2.bedrock.BedrockOperations&lt;/code&gt;
 type.
+         * 
+         * Required: true
+         * Group: producer
+         * 
+         * @param operation the value to set
+         * @return the dsl builder
+         */
+        default BedrockEndpointBuilder operation(
+                org.apache.camel.component.aws2.bedrock.BedrockOperations 
operation) {
+            doSetProperty("operation", operation);
+            return this;
+        }
+        /**
+         * The operation to perform.
+         * 
+         * The option will be converted to a
+         * 
&lt;code&gt;org.apache.camel.component.aws2.bedrock.BedrockOperations&lt;/code&gt;
 type.
+         * 
+         * Required: true
+         * Group: producer
+         * 
+         * @param operation the value to set
+         * @return the dsl builder
+         */
+        default BedrockEndpointBuilder operation(String operation) {
+            doSetProperty("operation", operation);
+            return this;
+        }
+        /**
+         * Set the need for overriding the endpoint. This option needs to be
+         * used in combination with the uriEndpointOverride option.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: false
+         * Group: producer
+         * 
+         * @param overrideEndpoint the value to set
+         * @return the dsl builder
+         */
+        default BedrockEndpointBuilder overrideEndpoint(boolean 
overrideEndpoint) {
+            doSetProperty("overrideEndpoint", overrideEndpoint);
+            return this;
+        }
+        /**
+         * Set the need for overriding the endpoint. This option needs to be
+         * used in combination with the uriEndpointOverride option.
+         * 
+         * The option will be converted to a &lt;code&gt;boolean&lt;/code&gt;
+         * type.
+         * 
+         * Default: false
+         * Group: producer
+         * 
+         * @param overrideEndpoint the value to set
+         * @return the dsl builder
+         */
+        default BedrockEndpointBuilder overrideEndpoint(String 
overrideEndpoint) {
+            doSetProperty("overrideEndpoint", overrideEndpoint);
+            return this;
+        }
+        /**
+         * If we want to use a POJO request as body or not.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: false
+         * Group: producer
+         * 
+         * @param pojoRequest the value to set
+         * @return the dsl builder
+         */
+        default BedrockEndpointBuilder pojoRequest(boolean pojoRequest) {
+            doSetProperty("pojoRequest", pojoRequest);
+            return this;
+        }
+        /**
+         * If we want to use a POJO request as body or not.
+         * 
+         * The option will be converted to a &lt;code&gt;boolean&lt;/code&gt;
+         * type.
+         * 
+         * Default: false
+         * Group: producer
+         * 
+         * @param pojoRequest the value to set
+         * @return the dsl builder
+         */
+        default BedrockEndpointBuilder pojoRequest(String pojoRequest) {
+            doSetProperty("pojoRequest", pojoRequest);
+            return this;
+        }
+        /**
+         * If using a profile credentials provider, this parameter will set the
+         * profile name.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Default: false
+         * Group: producer
+         * 
+         * @param profileCredentialsName the value to set
+         * @return the dsl builder
+         */
+        default BedrockEndpointBuilder profileCredentialsName(
+                String profileCredentialsName) {
+            doSetProperty("profileCredentialsName", profileCredentialsName);
+            return this;
+        }
+        /**
+         * The region in which Bedrock client needs to work. When using this
+         * parameter, the configuration will expect the lowercase name of the
+         * region (for example, ap-east-1) You'll need to use the name
+         * Region.EU_WEST_1.id().
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: producer
+         * 
+         * @param region the value to set
+         * @return the dsl builder
+         */
+        default BedrockEndpointBuilder region(String region) {
+            doSetProperty("region", region);
+            return this;
+        }
+        /**
+         * Set the overriding uri endpoint. This option needs to be used in
+         * combination with overrideEndpoint option.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: producer
+         * 
+         * @param uriEndpointOverride the value to set
+         * @return the dsl builder
+         */
+        default BedrockEndpointBuilder uriEndpointOverride(
+                String uriEndpointOverride) {
+            doSetProperty("uriEndpointOverride", uriEndpointOverride);
+            return this;
+        }
+        /**
+         * Set whether the Bedrock client should expect to load credentials
+         * through a default credentials provider or to expect static
+         * credentials to be passed in.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: false
+         * Group: producer
+         * 
+         * @param useDefaultCredentialsProvider the value to set
+         * @return the dsl builder
+         */
+        default BedrockEndpointBuilder useDefaultCredentialsProvider(
+                boolean useDefaultCredentialsProvider) {
+            doSetProperty("useDefaultCredentialsProvider", 
useDefaultCredentialsProvider);
+            return this;
+        }
+        /**
+         * Set whether the Bedrock client should expect to load credentials
+         * through a default credentials provider or to expect static
+         * credentials to be passed in.
+         * 
+         * The option will be converted to a &lt;code&gt;boolean&lt;/code&gt;
+         * type.
+         * 
+         * Default: false
+         * Group: producer
+         * 
+         * @param useDefaultCredentialsProvider the value to set
+         * @return the dsl builder
+         */
+        default BedrockEndpointBuilder useDefaultCredentialsProvider(
+                String useDefaultCredentialsProvider) {
+            doSetProperty("useDefaultCredentialsProvider", 
useDefaultCredentialsProvider);
+            return this;
+        }
+        /**
+         * Set whether the Bedrock client should expect to load credentials
+         * through a profile credentials provider.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: false
+         * Group: producer
+         * 
+         * @param useProfileCredentialsProvider the value to set
+         * @return the dsl builder
+         */
+        default BedrockEndpointBuilder useProfileCredentialsProvider(
+                boolean useProfileCredentialsProvider) {
+            doSetProperty("useProfileCredentialsProvider", 
useProfileCredentialsProvider);
+            return this;
+        }
+        /**
+         * Set whether the Bedrock client should expect to load credentials
+         * through a profile credentials provider.
+         * 
+         * The option will be converted to a &lt;code&gt;boolean&lt;/code&gt;
+         * type.
+         * 
+         * Default: false
+         * Group: producer
+         * 
+         * @param useProfileCredentialsProvider the value to set
+         * @return the dsl builder
+         */
+        default BedrockEndpointBuilder useProfileCredentialsProvider(
+                String useProfileCredentialsProvider) {
+            doSetProperty("useProfileCredentialsProvider", 
useProfileCredentialsProvider);
+            return this;
+        }
+        /**
+         * To define a proxy host when instantiating the Bedrock client.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: proxy
+         * 
+         * @param proxyHost the value to set
+         * @return the dsl builder
+         */
+        default BedrockEndpointBuilder proxyHost(String proxyHost) {
+            doSetProperty("proxyHost", proxyHost);
+            return this;
+        }
+        /**
+         * To define a proxy port when instantiating the Bedrock client.
+         * 
+         * The option is a: &lt;code&gt;java.lang.Integer&lt;/code&gt; type.
+         * 
+         * Group: proxy
+         * 
+         * @param proxyPort the value to set
+         * @return the dsl builder
+         */
+        default BedrockEndpointBuilder proxyPort(Integer proxyPort) {
+            doSetProperty("proxyPort", proxyPort);
+            return this;
+        }
+        /**
+         * To define a proxy port when instantiating the Bedrock client.
+         * 
+         * The option will be converted to a
+         * &lt;code&gt;java.lang.Integer&lt;/code&gt; type.
+         * 
+         * Group: proxy
+         * 
+         * @param proxyPort the value to set
+         * @return the dsl builder
+         */
+        default BedrockEndpointBuilder proxyPort(String proxyPort) {
+            doSetProperty("proxyPort", proxyPort);
+            return this;
+        }
+        /**
+         * To define a proxy protocol when instantiating the Bedrock client.
+         * 
+         * The option is a:
+         * &lt;code&gt;software.amazon.awssdk.core.Protocol&lt;/code&gt; type.
+         * 
+         * Default: HTTPS
+         * Group: proxy
+         * 
+         * @param proxyProtocol the value to set
+         * @return the dsl builder
+         */
+        default BedrockEndpointBuilder proxyProtocol(
+                software.amazon.awssdk.core.Protocol proxyProtocol) {
+            doSetProperty("proxyProtocol", proxyProtocol);
+            return this;
+        }
+        /**
+         * To define a proxy protocol when instantiating the Bedrock client.
+         * 
+         * The option will be converted to a
+         * &lt;code&gt;software.amazon.awssdk.core.Protocol&lt;/code&gt; type.
+         * 
+         * Default: HTTPS
+         * Group: proxy
+         * 
+         * @param proxyProtocol the value to set
+         * @return the dsl builder
+         */
+        default BedrockEndpointBuilder proxyProtocol(String proxyProtocol) {
+            doSetProperty("proxyProtocol", proxyProtocol);
+            return this;
+        }
+        /**
+         * Amazon AWS Access Key.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: security
+         * 
+         * @param accessKey the value to set
+         * @return the dsl builder
+         */
+        default BedrockEndpointBuilder accessKey(String accessKey) {
+            doSetProperty("accessKey", accessKey);
+            return this;
+        }
+        /**
+         * Amazon AWS Secret Key.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: security
+         * 
+         * @param secretKey the value to set
+         * @return the dsl builder
+         */
+        default BedrockEndpointBuilder secretKey(String secretKey) {
+            doSetProperty("secretKey", secretKey);
+            return this;
+        }
+        /**
+         * Amazon AWS Session Token used when the user needs to assume an IAM
+         * role.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: security
+         * 
+         * @param sessionToken the value to set
+         * @return the dsl builder
+         */
+        default BedrockEndpointBuilder sessionToken(String sessionToken) {
+            doSetProperty("sessionToken", sessionToken);
+            return this;
+        }
+        /**
+         * If we want to trust all certificates in case of overriding the
+         * endpoint.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: false
+         * Group: security
+         * 
+         * @param trustAllCertificates the value to set
+         * @return the dsl builder
+         */
+        default BedrockEndpointBuilder trustAllCertificates(
+                boolean trustAllCertificates) {
+            doSetProperty("trustAllCertificates", trustAllCertificates);
+            return this;
+        }
+        /**
+         * If we want to trust all certificates in case of overriding the
+         * endpoint.
+         * 
+         * The option will be converted to a &lt;code&gt;boolean&lt;/code&gt;
+         * type.
+         * 
+         * Default: false
+         * Group: security
+         * 
+         * @param trustAllCertificates the value to set
+         * @return the dsl builder
+         */
+        default BedrockEndpointBuilder trustAllCertificates(
+                String trustAllCertificates) {
+            doSetProperty("trustAllCertificates", trustAllCertificates);
+            return this;
+        }
+        /**
+         * Set whether the Bedrock client should expect to use Session
+         * Credentials. This is useful in a situation in which the user needs 
to
+         * assume an IAM role for doing operations in Bedrock.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: false
+         * Group: security
+         * 
+         * @param useSessionCredentials the value to set
+         * @return the dsl builder
+         */
+        default BedrockEndpointBuilder useSessionCredentials(
+                boolean useSessionCredentials) {
+            doSetProperty("useSessionCredentials", useSessionCredentials);
+            return this;
+        }
+        /**
+         * Set whether the Bedrock client should expect to use Session
+         * Credentials. This is useful in a situation in which the user needs 
to
+         * assume an IAM role for doing operations in Bedrock.
+         * 
+         * The option will be converted to a &lt;code&gt;boolean&lt;/code&gt;
+         * type.
+         * 
+         * Default: false
+         * Group: security
+         * 
+         * @param useSessionCredentials the value to set
+         * @return the dsl builder
+         */
+        default BedrockEndpointBuilder useSessionCredentials(
+                String useSessionCredentials) {
+            doSetProperty("useSessionCredentials", useSessionCredentials);
+            return this;
+        }
+    }
+
+    /**
+     * Advanced builder for endpoint for the AWS Bedrock component.
+     */
+    public interface AdvancedBedrockEndpointBuilder
+            extends
+                EndpointProducerBuilder {
+        default BedrockEndpointBuilder basic() {
+            return (BedrockEndpointBuilder) this;
+        }
+        /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes 
to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring 
this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that 
when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing 
time
+         * of the processing.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: false
+         * Group: producer (advanced)
+         * 
+         * @param lazyStartProducer the value to set
+         * @return the dsl builder
+         */
+        default AdvancedBedrockEndpointBuilder lazyStartProducer(
+                boolean lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes 
to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring 
this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that 
when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing 
time
+         * of the processing.
+         * 
+         * The option will be converted to a &lt;code&gt;boolean&lt;/code&gt;
+         * type.
+         * 
+         * Default: false
+         * Group: producer (advanced)
+         * 
+         * @param lazyStartProducer the value to set
+         * @return the dsl builder
+         */
+        default AdvancedBedrockEndpointBuilder lazyStartProducer(
+                String lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
+         * To use an existing configured AWS Bedrock Runtime client.
+         * 
+         * The option is a:
+         * 
&lt;code&gt;software.amazon.awssdk.services.bedrockruntime.BedrockRuntimeClient&lt;/code&gt;
 type.
+         * 
+         * Group: advanced
+         * 
+         * @param bedrockRuntimeClient the value to set
+         * @return the dsl builder
+         */
+        default AdvancedBedrockEndpointBuilder bedrockRuntimeClient(
+                
software.amazon.awssdk.services.bedrockruntime.BedrockRuntimeClient 
bedrockRuntimeClient) {
+            doSetProperty("bedrockRuntimeClient", bedrockRuntimeClient);
+            return this;
+        }
+        /**
+         * To use an existing configured AWS Bedrock Runtime client.
+         * 
+         * The option will be converted to a
+         * 
&lt;code&gt;software.amazon.awssdk.services.bedrockruntime.BedrockRuntimeClient&lt;/code&gt;
 type.
+         * 
+         * Group: advanced
+         * 
+         * @param bedrockRuntimeClient the value to set
+         * @return the dsl builder
+         */
+        default AdvancedBedrockEndpointBuilder bedrockRuntimeClient(
+                String bedrockRuntimeClient) {
+            doSetProperty("bedrockRuntimeClient", bedrockRuntimeClient);
+            return this;
+        }
+    }
+
+    public interface BedrockBuilders {
+        /**
+         * AWS Bedrock (camel-aws-bedrock)
+         * Invoke Model of AWS Bedrock service.
+         * 
+         * Category: ai,cloud
+         * Since: 4.5
+         * Maven coordinates: org.apache.camel:camel-aws-bedrock
+         * 
+         * @return the dsl builder for the headers' name.
+         */
+        default BedrockHeaderNameBuilder awsBedrock() {
+            return BedrockHeaderNameBuilder.INSTANCE;
+        }
+        /**
+         * AWS Bedrock (camel-aws-bedrock)
+         * Invoke Model of AWS Bedrock service.
+         * 
+         * Category: ai,cloud
+         * Since: 4.5
+         * Maven coordinates: org.apache.camel:camel-aws-bedrock
+         * 
+         * Syntax: <code>aws-bedrock:label</code>
+         * 
+         * Path parameter: label (required)
+         * Logical name
+         * 
+         * @param path label
+         * @return the dsl builder
+         */
+        default BedrockEndpointBuilder awsBedrock(String path) {
+            return 
BedrockEndpointBuilderFactory.endpointBuilder("aws-bedrock", path);
+        }
+        /**
+         * AWS Bedrock (camel-aws-bedrock)
+         * Invoke Model of AWS Bedrock service.
+         * 
+         * Category: ai,cloud
+         * Since: 4.5
+         * Maven coordinates: org.apache.camel:camel-aws-bedrock
+         * 
+         * Syntax: <code>aws-bedrock:label</code>
+         * 
+         * Path parameter: label (required)
+         * Logical name
+         * 
+         * @param componentName to use a custom component name for the endpoint
+         * instead of the default name
+         * @param path label
+         * @return the dsl builder
+         */
+        default BedrockEndpointBuilder awsBedrock(
+                String componentName,
+                String path) {
+            return 
BedrockEndpointBuilderFactory.endpointBuilder(componentName, path);
+        }
+    }
+
+    /**
+     * The builder of headers' name for the AWS Bedrock component.
+     */
+    public static class BedrockHeaderNameBuilder {
+        /**
+         * The internal instance of the builder used to access to all the
+         * methods representing the name of headers.
+         */
+        private static final BedrockHeaderNameBuilder INSTANCE = new 
BedrockHeaderNameBuilder();
+
+        /**
+         * The operation we want to perform.
+         * 
+         * The option is a: {@code String} type.
+         * 
+         * Group: producer
+         * 
+         * @return the name of the header {@code AwsBedrockOperation}.
+         */
+        public String awsBedrockOperation() {
+            return "CamelAwsBedrockOperation";
+        }
+
+        /**
+         * The model content type.
+         * 
+         * The option is a: {@code String} type.
+         * 
+         * Group: producer
+         * 
+         * @return the name of the header {@code AwsBedrockContentType}.
+         */
+        public String awsBedrockContentType() {
+            return "CamelAwsBedrockContentType";
+        }
+
+        /**
+         * The model accept content type.
+         * 
+         * The option is a: {@code String} type.
+         * 
+         * Group: producer
+         * 
+         * @return the name of the header {@code AwsBedrockAcceptContentType}.
+         */
+        public String awsBedrockAcceptContentType() {
+            return "CamelAwsBedrockAcceptContentType";
+        }
+    }
+    static BedrockEndpointBuilder endpointBuilder(
+            String componentName,
+            String path) {
+        class BedrockEndpointBuilderImpl extends AbstractEndpointBuilder 
implements BedrockEndpointBuilder, AdvancedBedrockEndpointBuilder {
+            public BedrockEndpointBuilderImpl(String path) {
+                super(componentName, path);
+            }
+        }
+        return new BedrockEndpointBuilderImpl(path);
+    }
+}
\ No newline at end of file
diff --git 
a/dsl/camel-kamelet-main/src/generated/resources/camel-component-known-dependencies.properties
 
b/dsl/camel-kamelet-main/src/generated/resources/camel-component-known-dependencies.properties
index 3274c7e9b5d..b89ac864c1e 100644
--- 
a/dsl/camel-kamelet-main/src/generated/resources/camel-component-known-dependencies.properties
+++ 
b/dsl/camel-kamelet-main/src/generated/resources/camel-component-known-dependencies.properties
@@ -29,6 +29,7 @@ 
org.apache.camel.component.aws.cloudtrail.CloudtrailComponent=camel:aws-cloudtra
 org.apache.camel.component.aws.config.AWSConfigComponent=camel:aws-config
 
org.apache.camel.component.aws.secretsmanager.SecretsManagerComponent=camel:aws-secrets-manager
 org.apache.camel.component.aws2.athena.Athena2Component=camel:aws2-athena
+org.apache.camel.component.aws2.bedrock.BedrockComponent=camel:aws-bedrock
 org.apache.camel.component.aws2.cw.Cw2Component=camel:aws2-cw
 org.apache.camel.component.aws2.ddb.Ddb2Component=camel:aws2-ddb
 org.apache.camel.component.aws2.ddbstream.Ddb2StreamComponent=camel:aws2-ddb
diff --git 
a/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/AwsBedrockUriDsl.kt
 
b/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/AwsBedrockUriDsl.kt
new file mode 100644
index 00000000000..e01c5e97310
--- /dev/null
+++ 
b/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/AwsBedrockUriDsl.kt
@@ -0,0 +1,155 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.kotlin.components
+
+import kotlin.Boolean
+import kotlin.Int
+import kotlin.String
+import kotlin.Unit
+import org.apache.camel.kotlin.CamelDslMarker
+import org.apache.camel.kotlin.UriDsl
+
+public fun UriDsl.`aws-bedrock`(i: AwsBedrockUriDsl.() -> Unit) {
+  AwsBedrockUriDsl(this).apply(i)
+}
+
+@CamelDslMarker
+public class AwsBedrockUriDsl(
+  it: UriDsl,
+) {
+  private val it: UriDsl
+
+  init {
+    this.it = it
+    this.it.component("aws-bedrock")
+  }
+
+  private var label: String = ""
+
+  public fun label(label: String) {
+    this.label = label
+    it.url("$label")
+  }
+
+  public fun modelId(modelId: String) {
+    it.property("modelId", modelId)
+  }
+
+  public fun operation(operation: String) {
+    it.property("operation", operation)
+  }
+
+  public fun overrideEndpoint(overrideEndpoint: String) {
+    it.property("overrideEndpoint", overrideEndpoint)
+  }
+
+  public fun overrideEndpoint(overrideEndpoint: Boolean) {
+    it.property("overrideEndpoint", overrideEndpoint.toString())
+  }
+
+  public fun pojoRequest(pojoRequest: String) {
+    it.property("pojoRequest", pojoRequest)
+  }
+
+  public fun pojoRequest(pojoRequest: Boolean) {
+    it.property("pojoRequest", pojoRequest.toString())
+  }
+
+  public fun profileCredentialsName(profileCredentialsName: String) {
+    it.property("profileCredentialsName", profileCredentialsName)
+  }
+
+  public fun region(region: String) {
+    it.property("region", region)
+  }
+
+  public fun uriEndpointOverride(uriEndpointOverride: String) {
+    it.property("uriEndpointOverride", uriEndpointOverride)
+  }
+
+  public fun useDefaultCredentialsProvider(useDefaultCredentialsProvider: 
String) {
+    it.property("useDefaultCredentialsProvider", useDefaultCredentialsProvider)
+  }
+
+  public fun useDefaultCredentialsProvider(useDefaultCredentialsProvider: 
Boolean) {
+    it.property("useDefaultCredentialsProvider", 
useDefaultCredentialsProvider.toString())
+  }
+
+  public fun useProfileCredentialsProvider(useProfileCredentialsProvider: 
String) {
+    it.property("useProfileCredentialsProvider", useProfileCredentialsProvider)
+  }
+
+  public fun useProfileCredentialsProvider(useProfileCredentialsProvider: 
Boolean) {
+    it.property("useProfileCredentialsProvider", 
useProfileCredentialsProvider.toString())
+  }
+
+  public fun lazyStartProducer(lazyStartProducer: String) {
+    it.property("lazyStartProducer", lazyStartProducer)
+  }
+
+  public fun lazyStartProducer(lazyStartProducer: Boolean) {
+    it.property("lazyStartProducer", lazyStartProducer.toString())
+  }
+
+  public fun bedrockRuntimeClient(bedrockRuntimeClient: String) {
+    it.property("bedrockRuntimeClient", bedrockRuntimeClient)
+  }
+
+  public fun proxyHost(proxyHost: String) {
+    it.property("proxyHost", proxyHost)
+  }
+
+  public fun proxyPort(proxyPort: String) {
+    it.property("proxyPort", proxyPort)
+  }
+
+  public fun proxyPort(proxyPort: Int) {
+    it.property("proxyPort", proxyPort.toString())
+  }
+
+  public fun proxyProtocol(proxyProtocol: String) {
+    it.property("proxyProtocol", proxyProtocol)
+  }
+
+  public fun accessKey(accessKey: String) {
+    it.property("accessKey", accessKey)
+  }
+
+  public fun secretKey(secretKey: String) {
+    it.property("secretKey", secretKey)
+  }
+
+  public fun sessionToken(sessionToken: String) {
+    it.property("sessionToken", sessionToken)
+  }
+
+  public fun trustAllCertificates(trustAllCertificates: String) {
+    it.property("trustAllCertificates", trustAllCertificates)
+  }
+
+  public fun trustAllCertificates(trustAllCertificates: Boolean) {
+    it.property("trustAllCertificates", trustAllCertificates.toString())
+  }
+
+  public fun useSessionCredentials(useSessionCredentials: String) {
+    it.property("useSessionCredentials", useSessionCredentials)
+  }
+
+  public fun useSessionCredentials(useSessionCredentials: Boolean) {
+    it.property("useSessionCredentials", useSessionCredentials.toString())
+  }
+}


Reply via email to