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

davsclaus pushed a commit to branch fix/CAMEL-24720-doc-endpoint-examples
in repository https://gitbox.apache.org/repos/asf/camel.git

commit f9b692da2cd57ad31a7b2364f43d84ed1c7975a2
Author: Claus Ibsen <[email protected]>
AuthorDate: Thu Sep 17 20:57:44 2026 +0200

    CAMEL-24720: camel-aws-secrets-manager - the producer operations section 
shows createSecret, getSecret, deleteSecret and listSecrets with the headers 
they take
    
    The page had examples of the properties function only; the producer section 
listed the operations (two
    were missing) without an example. It now says which header names the secret 
(SecretName to create, SecretId
    for the rest), what the body is before and after, and shows the four common 
operations in Java, XML and
    YAML with the default credentials provider.
    
    Co-Authored-By: Claude Fable 5.1 <[email protected]>
    Signed-off-by: Claus Ibsen <[email protected]>
---
 .../docs/aws-secrets-manager-component.adoc        | 210 +++++++++++++++++++++
 .../main/docs/aws-secrets-manager-component.adoc   | 210 +++++++++++++++++++++
 2 files changed, 420 insertions(+)

diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/aws-secrets-manager-component.adoc
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/aws-secrets-manager-component.adoc
index a0e521f61bdb..4dcea506222a 100644
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/aws-secrets-manager-component.adoc
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/aws-secrets-manager-component.adoc
@@ -526,6 +526,216 @@ Camel-AWS-Secrets-manager component provides the 
following operation on the prod
 - batchGetSecret
 - updateSecret
 - replicateSecretToRegions
+- restoreSecret
+- putSecretValue
+
+The `operation` option selects what to do (the 
`CamelAwsSecretsManagerOperation` header overrides it per
+message), and the secret to work on comes from a header: 
`CamelAwsSecretsManagerSecretName` when creating a
+secret, `CamelAwsSecretsManagerSecretId` (the name or the ARN) for the other 
operations. The path of the
+endpoint is a logical name for the client, not a secret. With 
`pojoRequest=true` the message body is the AWS
+SDK request object instead.
+
+==== Creating a secret
+
+The message body is the value of the secret, as a string (with 
`binaryPayload=true` it is stored as binary):
+
+[tabs]
+====
+Java::
++
+[source,java]
+----
+from("direct:createSecret")
+    .setHeader(SecretsManagerConstants.SECRET_NAME, constant("database"))
+    .setBody(constant("{\"username\":\"camel\",\"password\":\"secret\"}"))
+    
.to("aws-secrets-manager:secrets?operation=createSecret&region=eu-west-1&useDefaultCredentialsProvider=true");
+----
+
+XML::
++
+[source,xml]
+----
+<camelContext>
+    <route>
+        <from uri="direct:createSecret"/>
+        <setHeader name="CamelAwsSecretsManagerSecretName">
+            <constant>database</constant>
+        </setHeader>
+        <setBody>
+            <constant>{"username":"camel","password":"secret"}</constant>
+        </setBody>
+        <to 
uri="aws-secrets-manager:secrets?operation=createSecret&amp;region=eu-west-1&amp;useDefaultCredentialsProvider=true"/>
+    </route>
+</camelContext>
+----
+
+YAML::
++
+[source,yaml]
+----
+- route:
+    from:
+      uri: direct:createSecret
+      steps:
+        - setHeader:
+            name: CamelAwsSecretsManagerSecretName
+            expression:
+              constant:
+                expression: database
+        - setBody:
+            expression:
+              constant:
+                expression: '{"username":"camel","password":"secret"}'
+        - to:
+            uri: 
aws-secrets-manager:secrets?operation=createSecret&region=eu-west-1&useDefaultCredentialsProvider=true
+----
+====
+
+==== Getting a secret
+
+The message body becomes the value of the secret, and the 
`CamelAwsSecretsManagerSecretVersionId` header its
+version:
+
+[tabs]
+====
+Java::
++
+[source,java]
+----
+from("direct:getSecret")
+    .setHeader(SecretsManagerConstants.SECRET_ID, constant("database"))
+    
.to("aws-secrets-manager:secrets?operation=getSecret&region=eu-west-1&useDefaultCredentialsProvider=true")
+    .log("The database secret is ${body}");
+----
+
+XML::
++
+[source,xml]
+----
+<camelContext>
+    <route>
+        <from uri="direct:getSecret"/>
+        <setHeader name="CamelAwsSecretsManagerSecretId">
+            <constant>database</constant>
+        </setHeader>
+        <to 
uri="aws-secrets-manager:secrets?operation=getSecret&amp;region=eu-west-1&amp;useDefaultCredentialsProvider=true"/>
+        <log message="The database secret is ${body}"/>
+    </route>
+</camelContext>
+----
+
+YAML::
++
+[source,yaml]
+----
+- route:
+    from:
+      uri: direct:getSecret
+      steps:
+        - setHeader:
+            name: CamelAwsSecretsManagerSecretId
+            expression:
+              constant:
+                expression: database
+        - to:
+            uri: 
aws-secrets-manager:secrets?operation=getSecret&region=eu-west-1&useDefaultCredentialsProvider=true
+        - log:
+            message: "The database secret is ${body}"
+----
+====
+
+==== Deleting a secret
+
+The secret is scheduled for deletion with the default recovery window; the 
`CamelAwsSecretsManagerSecretForceDeletion`
+header set to `true` deletes it without a retention period:
+
+[tabs]
+====
+Java::
++
+[source,java]
+----
+from("direct:deleteSecret")
+    .setHeader(SecretsManagerConstants.SECRET_ID, constant("database"))
+    
.to("aws-secrets-manager:secrets?operation=deleteSecret&region=eu-west-1&useDefaultCredentialsProvider=true");
+----
+
+XML::
++
+[source,xml]
+----
+<camelContext>
+    <route>
+        <from uri="direct:deleteSecret"/>
+        <setHeader name="CamelAwsSecretsManagerSecretId">
+            <constant>database</constant>
+        </setHeader>
+        <to 
uri="aws-secrets-manager:secrets?operation=deleteSecret&amp;region=eu-west-1&amp;useDefaultCredentialsProvider=true"/>
+    </route>
+</camelContext>
+----
+
+YAML::
++
+[source,yaml]
+----
+- route:
+    from:
+      uri: direct:deleteSecret
+      steps:
+        - setHeader:
+            name: CamelAwsSecretsManagerSecretId
+            expression:
+              constant:
+                expression: database
+        - to:
+            uri: 
aws-secrets-manager:secrets?operation=deleteSecret&region=eu-west-1&useDefaultCredentialsProvider=true
+----
+====
+
+==== Listing the secrets
+
+The message body becomes the `ListSecretsResponse` of the AWS SDK, with the 
list of the secrets in the region;
+the `CamelAwsSecretsManagerMaxResults` header limits how many are returned:
+
+[tabs]
+====
+Java::
++
+[source,java]
+----
+from("direct:listSecrets")
+    
.to("aws-secrets-manager:secrets?operation=listSecrets&region=eu-west-1&useDefaultCredentialsProvider=true")
+    .log("The secrets are ${body}");
+----
+
+XML::
++
+[source,xml]
+----
+<camelContext>
+    <route>
+        <from uri="direct:listSecrets"/>
+        <to 
uri="aws-secrets-manager:secrets?operation=listSecrets&amp;region=eu-west-1&amp;useDefaultCredentialsProvider=true"/>
+        <log message="The secrets are ${body}"/>
+    </route>
+</camelContext>
+----
+
+YAML::
++
+[source,yaml]
+----
+- route:
+    from:
+      uri: direct:listSecrets
+      steps:
+        - to:
+            uri: 
aws-secrets-manager:secrets?operation=listSecrets&region=eu-west-1&useDefaultCredentialsProvider=true
+        - log:
+            message: "The secrets are ${body}"
+----
+====
 
 == Dependencies
 
diff --git 
a/components/camel-aws/camel-aws-secrets-manager/src/main/docs/aws-secrets-manager-component.adoc
 
b/components/camel-aws/camel-aws-secrets-manager/src/main/docs/aws-secrets-manager-component.adoc
index a0e521f61bdb..4dcea506222a 100644
--- 
a/components/camel-aws/camel-aws-secrets-manager/src/main/docs/aws-secrets-manager-component.adoc
+++ 
b/components/camel-aws/camel-aws-secrets-manager/src/main/docs/aws-secrets-manager-component.adoc
@@ -526,6 +526,216 @@ Camel-AWS-Secrets-manager component provides the 
following operation on the prod
 - batchGetSecret
 - updateSecret
 - replicateSecretToRegions
+- restoreSecret
+- putSecretValue
+
+The `operation` option selects what to do (the 
`CamelAwsSecretsManagerOperation` header overrides it per
+message), and the secret to work on comes from a header: 
`CamelAwsSecretsManagerSecretName` when creating a
+secret, `CamelAwsSecretsManagerSecretId` (the name or the ARN) for the other 
operations. The path of the
+endpoint is a logical name for the client, not a secret. With 
`pojoRequest=true` the message body is the AWS
+SDK request object instead.
+
+==== Creating a secret
+
+The message body is the value of the secret, as a string (with 
`binaryPayload=true` it is stored as binary):
+
+[tabs]
+====
+Java::
++
+[source,java]
+----
+from("direct:createSecret")
+    .setHeader(SecretsManagerConstants.SECRET_NAME, constant("database"))
+    .setBody(constant("{\"username\":\"camel\",\"password\":\"secret\"}"))
+    
.to("aws-secrets-manager:secrets?operation=createSecret&region=eu-west-1&useDefaultCredentialsProvider=true");
+----
+
+XML::
++
+[source,xml]
+----
+<camelContext>
+    <route>
+        <from uri="direct:createSecret"/>
+        <setHeader name="CamelAwsSecretsManagerSecretName">
+            <constant>database</constant>
+        </setHeader>
+        <setBody>
+            <constant>{"username":"camel","password":"secret"}</constant>
+        </setBody>
+        <to 
uri="aws-secrets-manager:secrets?operation=createSecret&amp;region=eu-west-1&amp;useDefaultCredentialsProvider=true"/>
+    </route>
+</camelContext>
+----
+
+YAML::
++
+[source,yaml]
+----
+- route:
+    from:
+      uri: direct:createSecret
+      steps:
+        - setHeader:
+            name: CamelAwsSecretsManagerSecretName
+            expression:
+              constant:
+                expression: database
+        - setBody:
+            expression:
+              constant:
+                expression: '{"username":"camel","password":"secret"}'
+        - to:
+            uri: 
aws-secrets-manager:secrets?operation=createSecret&region=eu-west-1&useDefaultCredentialsProvider=true
+----
+====
+
+==== Getting a secret
+
+The message body becomes the value of the secret, and the 
`CamelAwsSecretsManagerSecretVersionId` header its
+version:
+
+[tabs]
+====
+Java::
++
+[source,java]
+----
+from("direct:getSecret")
+    .setHeader(SecretsManagerConstants.SECRET_ID, constant("database"))
+    
.to("aws-secrets-manager:secrets?operation=getSecret&region=eu-west-1&useDefaultCredentialsProvider=true")
+    .log("The database secret is ${body}");
+----
+
+XML::
++
+[source,xml]
+----
+<camelContext>
+    <route>
+        <from uri="direct:getSecret"/>
+        <setHeader name="CamelAwsSecretsManagerSecretId">
+            <constant>database</constant>
+        </setHeader>
+        <to 
uri="aws-secrets-manager:secrets?operation=getSecret&amp;region=eu-west-1&amp;useDefaultCredentialsProvider=true"/>
+        <log message="The database secret is ${body}"/>
+    </route>
+</camelContext>
+----
+
+YAML::
++
+[source,yaml]
+----
+- route:
+    from:
+      uri: direct:getSecret
+      steps:
+        - setHeader:
+            name: CamelAwsSecretsManagerSecretId
+            expression:
+              constant:
+                expression: database
+        - to:
+            uri: 
aws-secrets-manager:secrets?operation=getSecret&region=eu-west-1&useDefaultCredentialsProvider=true
+        - log:
+            message: "The database secret is ${body}"
+----
+====
+
+==== Deleting a secret
+
+The secret is scheduled for deletion with the default recovery window; the 
`CamelAwsSecretsManagerSecretForceDeletion`
+header set to `true` deletes it without a retention period:
+
+[tabs]
+====
+Java::
++
+[source,java]
+----
+from("direct:deleteSecret")
+    .setHeader(SecretsManagerConstants.SECRET_ID, constant("database"))
+    
.to("aws-secrets-manager:secrets?operation=deleteSecret&region=eu-west-1&useDefaultCredentialsProvider=true");
+----
+
+XML::
++
+[source,xml]
+----
+<camelContext>
+    <route>
+        <from uri="direct:deleteSecret"/>
+        <setHeader name="CamelAwsSecretsManagerSecretId">
+            <constant>database</constant>
+        </setHeader>
+        <to 
uri="aws-secrets-manager:secrets?operation=deleteSecret&amp;region=eu-west-1&amp;useDefaultCredentialsProvider=true"/>
+    </route>
+</camelContext>
+----
+
+YAML::
++
+[source,yaml]
+----
+- route:
+    from:
+      uri: direct:deleteSecret
+      steps:
+        - setHeader:
+            name: CamelAwsSecretsManagerSecretId
+            expression:
+              constant:
+                expression: database
+        - to:
+            uri: 
aws-secrets-manager:secrets?operation=deleteSecret&region=eu-west-1&useDefaultCredentialsProvider=true
+----
+====
+
+==== Listing the secrets
+
+The message body becomes the `ListSecretsResponse` of the AWS SDK, with the 
list of the secrets in the region;
+the `CamelAwsSecretsManagerMaxResults` header limits how many are returned:
+
+[tabs]
+====
+Java::
++
+[source,java]
+----
+from("direct:listSecrets")
+    
.to("aws-secrets-manager:secrets?operation=listSecrets&region=eu-west-1&useDefaultCredentialsProvider=true")
+    .log("The secrets are ${body}");
+----
+
+XML::
++
+[source,xml]
+----
+<camelContext>
+    <route>
+        <from uri="direct:listSecrets"/>
+        <to 
uri="aws-secrets-manager:secrets?operation=listSecrets&amp;region=eu-west-1&amp;useDefaultCredentialsProvider=true"/>
+        <log message="The secrets are ${body}"/>
+    </route>
+</camelContext>
+----
+
+YAML::
++
+[source,yaml]
+----
+- route:
+    from:
+      uri: direct:listSecrets
+      steps:
+        - to:
+            uri: 
aws-secrets-manager:secrets?operation=listSecrets&region=eu-west-1&useDefaultCredentialsProvider=true
+        - log:
+            message: "The secrets are ${body}"
+----
+====
 
 == Dependencies
 

Reply via email to