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

oscerd pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-kamelets.git


The following commit(s) were added to refs/heads/main by this push:
     new 24420967d chore: make the Kamelet descriptions I added one liners 
(#3029)
24420967d is described below

commit 24420967dcb3140f136c514be7ac09844e5413ac
Author: Andrea Cosentino <[email protected]>
AuthorDate: Mon Sep 14 15:11:02 2026 +0200

    chore: make the Kamelet descriptions I added one liners (#3029)
    
    The catalog settled on a one line spec.definition.description in #2589, with
    anything longer living in docs/modules/ROOT/partials. The nine Kamelets I
    added or touched recently did not follow that, so this moves them across.
    
      aws-bedrock-agent-sink   ceph-event-based-source  couchbase-source
      replace-field-action     salesforce-pubsub-source sap-netweaver-sink
      smpp-sink                smpp-source              snmp-source
    
    Each keeps its first sentence as the description and gains a
    <name>-description.adoc partial holding the rest, organised into sections
    rather than transcribed as loose paragraphs. Nothing is lost: the couchbase
    statement requirements, the SNMP community string warning, the Salesforce
    protobuf caveat and the rest are all in the partials.
    
    No template or property changes, so behaviour is untouched.
    
    
    Claude-Session: https://claude.ai/code/session_01TvXfz2pbDbHPz33TcpxhPm
    
    Co-authored-by: Claude Opus 5 <[email protected]>
---
 .../aws-bedrock-agent-sink-description.adoc        | 18 ++++++++++++++++
 .../ceph-event-based-source-description.adoc       | 18 ++++++++++++++++
 .../partials/couchbase-source-description.adoc     | 21 ++++++++++++++++++
 .../partials/replace-field-action-description.adoc | 11 ++++++++++
 .../salesforce-pubsub-source-description.adoc      | 25 ++++++++++++++++++++++
 .../partials/sap-netweaver-sink-description.adoc   | 10 +++++++++
 .../ROOT/partials/smpp-sink-description.adoc       | 12 +++++++++++
 .../ROOT/partials/smpp-source-description.adoc     | 12 +++++++++++
 .../ROOT/partials/snmp-source-description.adoc     | 17 +++++++++++++++
 kamelets/aws-bedrock-agent-sink.kamelet.yaml       |  5 +----
 kamelets/ceph-event-based-source.kamelet.yaml      |  7 +-----
 kamelets/couchbase-source.kamelet.yaml             |  5 +----
 kamelets/replace-field-action.kamelet.yaml         |  6 +-----
 kamelets/salesforce-pubsub-source.kamelet.yaml     |  7 +-----
 kamelets/sap-netweaver-sink.kamelet.yaml           |  5 +----
 kamelets/smpp-sink.kamelet.yaml                    |  5 +----
 kamelets/smpp-source.kamelet.yaml                  |  5 +----
 kamelets/snmp-source.kamelet.yaml                  |  7 +-----
 18 files changed, 153 insertions(+), 43 deletions(-)

diff --git a/docs/modules/ROOT/partials/aws-bedrock-agent-sink-description.adoc 
b/docs/modules/ROOT/partials/aws-bedrock-agent-sink-description.adoc
new file mode 100644
index 000000000..5643350a6
--- /dev/null
+++ b/docs/modules/ROOT/partials/aws-bedrock-agent-sink-description.adoc
@@ -0,0 +1,18 @@
+== AWS Bedrock Agent Sink Kamelet Description
+
+=== Operations
+
+This Kamelet manages the data source ingestion jobs of a knowledge base. The 
operation
+property selects which one runs:
+
+- `startIngestionJob` - kick off an ingestion of the configured data source
+- `listIngestionJobs` - list the ingestion jobs of the knowledge base
+- `getIngestionJob` - look up a single job
+
+=== Job Id
+
+For the `getIngestionJob` operation the job id is taken from the
+`CamelAwsBedrockAgentIngestionJobId` header, which is the one input this 
Kamelet
+deliberately reads from the message. Every other `CamelAwsBedrockAgent*` 
header is
+removed before the call, so an inbound message cannot change the operation, the
+knowledge base or the data source.
diff --git 
a/docs/modules/ROOT/partials/ceph-event-based-source-description.adoc 
b/docs/modules/ROOT/partials/ceph-event-based-source-description.adoc
new file mode 100644
index 000000000..7a45743da
--- /dev/null
+++ b/docs/modules/ROOT/partials/ceph-event-based-source-description.adoc
@@ -0,0 +1,18 @@
+== Ceph Event Based Source Kamelet Description
+
+=== How Notifications Arrive
+
+Ceph RGW pushes bucket notifications to an endpoint configured on the topic 
rather than
+being polled. This Kamelet consumes the Kafka flavour of that.
+
+Configuring the notification and the topic on the Ceph side is done out of 
band, with the
+S3 and topic APIs, and is not something this Kamelet does.
+
+=== Fetching the Object
+
+Set `getObject` to true to fetch the object body from Ceph for `ObjectCreated` 
events,
+using the same S3 compatible path that `ceph-source` and `ceph-sink` use. The 
notification
+JSON is emitted unchanged otherwise.
+
+When `getObject` is enabled, `cephUrl`, `accessKey`, `secretKey` and 
`zoneGroup` are
+required so the object can be read back from the RGW endpoint.
diff --git a/docs/modules/ROOT/partials/couchbase-source-description.adoc 
b/docs/modules/ROOT/partials/couchbase-source-description.adoc
new file mode 100644
index 000000000..f4e2e8d75
--- /dev/null
+++ b/docs/modules/ROOT/partials/couchbase-source-description.adoc
@@ -0,0 +1,21 @@
+== Couchbase Source Kamelet Description
+
+=== Query Modes
+
+The bucket is polled in one of two modes.
+
+By default the N1QL statement in the `statement` property is run against the 
bucket on each
+poll. Set `useView` to true to poll a MapReduce view instead, selected with
+`designDocumentName` and `viewName`.
+
+=== Writing the Statement
+
+The statement runs in the bucket scope, so the keyspace is the collection 
rather than the
+bucket name - use `_default` for the default collection.
+
+It must also alias the document id as `__id`, because the consumer skips any 
row without
+that field. A query that omits it produces a source that polls without 
emitting anything:
+
+----
+SELECT META().id AS __id, * FROM _default
+----
diff --git a/docs/modules/ROOT/partials/replace-field-action-description.adoc 
b/docs/modules/ROOT/partials/replace-field-action-description.adoc
new file mode 100644
index 000000000..b6da2f530
--- /dev/null
+++ b/docs/modules/ROOT/partials/replace-field-action-description.adoc
@@ -0,0 +1,11 @@
+== Replace Field Action Kamelet Description
+
+=== Scope
+
+Only top level fields are considered. Fields nested inside an object are 
passed through
+untouched, so a rename that names a nested field has no effect.
+
+The `enabled` and `disabled` properties filter on the same top level keys.
+
+For example, with a body of `{"message":{"Hola":"mundo"}}`, renaming `message` 
works while
+renaming `Hola` does nothing.
diff --git 
a/docs/modules/ROOT/partials/salesforce-pubsub-source-description.adoc 
b/docs/modules/ROOT/partials/salesforce-pubsub-source-description.adoc
new file mode 100644
index 000000000..c261deec3
--- /dev/null
+++ b/docs/modules/ROOT/partials/salesforce-pubsub-source-description.adoc
@@ -0,0 +1,25 @@
+== Salesforce Pub/Sub Source Kamelet Description
+
+=== Which API
+
+This is the gRPC based Pub/Sub API, not the older streaming API that 
`salesforce-source`
+uses. Subscribe to a channel such as `/event/MyEvent__e`, `/topic/MyTopic` or
+`/data/AccountChangeEvent`.
+
+=== Deserialization
+
+`deserializeType` defaults to JSON so the body is usable downstream without 
further
+decoding. The component's own default is AVRO, which emits binary. Use POJO 
together with
+`pojoClass` to deserialise into a generated class.
+
+=== Runtime Dependency
+
+The Pub/Sub API is gRPC based and needs a `protobuf-java` new enough for the 
generated
+stubs in `camel-salesforce`. Under Camel JBang an older protobuf is resolved 
and the route
+fails to start during class loading:
+
+----
+java.lang.NoClassDefFoundError: 
com/google/protobuf/RuntimeVersion$RuntimeDomain
+----
+
+Adding protobuf-java as an explicit dependency resolves it.
diff --git a/docs/modules/ROOT/partials/sap-netweaver-sink-description.adoc 
b/docs/modules/ROOT/partials/sap-netweaver-sink-description.adoc
new file mode 100644
index 000000000..d241b571c
--- /dev/null
+++ b/docs/modules/ROOT/partials/sap-netweaver-sink-description.adoc
@@ -0,0 +1,10 @@
+== SAP NetWeaver Sink Kamelet Description
+
+=== The Command
+
+The `command` property is the OData command to run against the gateway, and it 
becomes the
+request path.
+
+The component reads the command from the `CamelNetWeaverCommand` header, which 
this
+Kamelet sets from the property. Setting it also overwrites any inbound value, 
so a caller
+cannot choose the request path.
diff --git a/docs/modules/ROOT/partials/smpp-sink-description.adoc 
b/docs/modules/ROOT/partials/smpp-sink-description.adoc
new file mode 100644
index 000000000..45bc159d8
--- /dev/null
+++ b/docs/modules/ROOT/partials/smpp-sink-description.adoc
@@ -0,0 +1,12 @@
+== SMPP Sink Kamelet Description
+
+=== Message
+
+The message body is sent as the short message text.
+
+=== Connection
+
+The SMPP producer binds to the SMSC when the route starts, so an unreachable 
SMSC or wrong
+credentials fail the route rather than the individual exchange.
+
+Set `usingSSL` to secure the connection with TLS, where the SMSC supports it.
diff --git a/docs/modules/ROOT/partials/smpp-source-description.adoc 
b/docs/modules/ROOT/partials/smpp-source-description.adoc
new file mode 100644
index 000000000..e99ce66fc
--- /dev/null
+++ b/docs/modules/ROOT/partials/smpp-source-description.adoc
@@ -0,0 +1,12 @@
+== SMPP Source Kamelet Description
+
+=== Message
+
+The short message text is emitted as the message body. Details of the received 
PDU stay in
+the `CamelSmpp*` headers the component sets, such as `CamelSmppMessageType`,
+`CamelSmppStatus` and `CamelSmppOptionalParameters`.
+
+=== Address Range
+
+`addressRange` is the consumer side option that tells the SMSC which messages 
to route to
+this ESME, as defined in section 5.2.7 of the SMPP 3.4 specification.
diff --git a/docs/modules/ROOT/partials/snmp-source-description.adoc 
b/docs/modules/ROOT/partials/snmp-source-description.adoc
new file mode 100644
index 000000000..b5844463a
--- /dev/null
+++ b/docs/modules/ROOT/partials/snmp-source-description.adoc
@@ -0,0 +1,17 @@
+== SNMP Source Kamelet Description
+
+=== Modes
+
+Set `type` to `POLL` or `GET_NEXT` to query the OIDs listed in the `oids` 
property on a
+schedule, or to `TRAP` to listen for traps sent to this host and port.
+
+Polling normally uses port 161 and trap listening normally uses port 162.
+
+=== Security
+
+SNMP v1 and v2c authenticate with a community string that is sent in clear 
text, so the
+`snmpCommunity` value should be treated as a credential even though it is not 
encrypted on
+the wire.
+
+Prefer `snmpVersion` 3 where the device supports it. `securityLevel` defaults 
to 3
+(authPriv), which gives both authentication and privacy.
diff --git a/kamelets/aws-bedrock-agent-sink.kamelet.yaml 
b/kamelets/aws-bedrock-agent-sink.kamelet.yaml
index a9a87441a..de26017bc 100644
--- a/kamelets/aws-bedrock-agent-sink.kamelet.yaml
+++ b/kamelets/aws-bedrock-agent-sink.kamelet.yaml
@@ -30,10 +30,7 @@ metadata:
 spec:
   definition:
     title: "AWS Bedrock Agent Sink"
-    description: |-
-      Manage the data source ingestion jobs of an AWS Bedrock knowledge base.
-
-      Use startIngestionJob to kick off an ingestion of the configured data 
source, listIngestionJobs to list the jobs of a knowledge base, or 
getIngestionJob to look one up. For getIngestionJob the job id is taken from 
the CamelAwsBedrockAgentIngestionJobId header.
+    description: Manage the data source ingestion jobs of an AWS Bedrock 
knowledge base.
     required:
       - knowledgeBaseId
       - region
diff --git a/kamelets/ceph-event-based-source.kamelet.yaml 
b/kamelets/ceph-event-based-source.kamelet.yaml
index 418e830a8..3db5f2067 100644
--- a/kamelets/ceph-event-based-source.kamelet.yaml
+++ b/kamelets/ceph-event-based-source.kamelet.yaml
@@ -30,12 +30,7 @@ metadata:
 spec:
   definition:
     title: "Ceph Event Based Source"
-    description: |-
-      Receive Ceph RGW bucket notifications from a Kafka topic, and optionally 
fetch the object each notification refers to.
-
-      Ceph pushes bucket notifications to an endpoint configured on the topic; 
this Kamelet consumes the Kafka flavour of that. Configuring the notification 
and the topic on the Ceph side is done out of band with the S3 and topic APIs, 
not by this Kamelet.
-
-      Set getObject to true to fetch the object body from Ceph for 
ObjectCreated events. The notification JSON is emitted unchanged otherwise.
+    description: Receive Ceph RGW bucket notifications from a Kafka topic, and 
optionally fetch the object each notification refers to.
     required:
       - topic
       - bootstrapServers
diff --git a/kamelets/couchbase-source.kamelet.yaml 
b/kamelets/couchbase-source.kamelet.yaml
index c91fb9e31..bfc957fcf 100644
--- a/kamelets/couchbase-source.kamelet.yaml
+++ b/kamelets/couchbase-source.kamelet.yaml
@@ -30,10 +30,7 @@ metadata:
 spec:
   definition:
     title: "Couchbase Source"
-    description: |-
-      Poll a Couchbase bucket and emit the results.
-
-      By default the bucket is queried with the N1QL statement given in the 
statement property. Set useView to true to poll a MapReduce view instead, 
selected with designDocumentName and viewName.
+    description: Poll a Couchbase bucket and emit the results.
     required:
       - protocol
       - couchbaseHostname
diff --git a/kamelets/replace-field-action.kamelet.yaml 
b/kamelets/replace-field-action.kamelet.yaml
index ee03ff120..dd9aedc95 100644
--- a/kamelets/replace-field-action.kamelet.yaml
+++ b/kamelets/replace-field-action.kamelet.yaml
@@ -30,11 +30,7 @@ metadata:
 spec:
   definition:
     title: "Replace Field Action"
-    description: |-
-      Replace field with a different key in the message in transit.
-
-      Only top level fields are considered. Fields nested inside an object are 
passed through
-      untouched, so a rename that names a nested field has no effect.
+    description: Replace field with a different key in the message in transit.
     required:
       - renames
     properties:
diff --git a/kamelets/salesforce-pubsub-source.kamelet.yaml 
b/kamelets/salesforce-pubsub-source.kamelet.yaml
index 4bc3455f0..3a6f9728b 100644
--- a/kamelets/salesforce-pubsub-source.kamelet.yaml
+++ b/kamelets/salesforce-pubsub-source.kamelet.yaml
@@ -30,12 +30,7 @@ metadata:
 spec:
   definition:
     title: "Salesforce Pub/Sub Source"
-    description: |-
-      Receive events from the Salesforce Pub/Sub API.
-
-      This is the gRPC based Pub/Sub API, not the older streaming API that 
salesforce-source uses. Subscribe to a channel such as /event/MyEvent__e, 
/topic/MyTopic or /data/AccountChangeEvent.
-
-      The Pub/Sub API is gRPC based and needs a protobuf-java new enough for 
the generated stubs in camel-salesforce. Under Camel JBang an older protobuf is 
resolved and the route fails to start with NoClassDefFoundError on 
com.google.protobuf.RuntimeVersion; adding protobuf-java as an explicit 
dependency resolves it.
+    description: Receive events from the Salesforce Pub/Sub API.
     required:
       - topic
       - clientId
diff --git a/kamelets/sap-netweaver-sink.kamelet.yaml 
b/kamelets/sap-netweaver-sink.kamelet.yaml
index d04e9c1de..e08941dba 100644
--- a/kamelets/sap-netweaver-sink.kamelet.yaml
+++ b/kamelets/sap-netweaver-sink.kamelet.yaml
@@ -30,10 +30,7 @@ metadata:
 spec:
   definition:
     title: "SAP NetWeaver Sink"
-    description: |-
-      Send requests to an SAP NetWeaver Gateway over HTTP.
-
-      The command property is the OData command to run against the gateway, 
and is pinned by this Kamelet rather than taken from the message.
+    description: Send requests to an SAP NetWeaver Gateway over HTTP.
     required:
       - url
       - username
diff --git a/kamelets/smpp-sink.kamelet.yaml b/kamelets/smpp-sink.kamelet.yaml
index bb169695f..05036b16f 100644
--- a/kamelets/smpp-sink.kamelet.yaml
+++ b/kamelets/smpp-sink.kamelet.yaml
@@ -30,10 +30,7 @@ metadata:
 spec:
   definition:
     title: "SMPP Sink"
-    description: |-
-      Send SMS messages through a SMSC (Short Message Service Center) using 
the SMPP protocol.
-
-      The message body is sent as the short message text.
+    description: Send SMS messages through a SMSC (Short Message Service 
Center) using the SMPP protocol.
     required:
     - host
     type: object
diff --git a/kamelets/smpp-source.kamelet.yaml 
b/kamelets/smpp-source.kamelet.yaml
index 6cfe54ddb..4faa94c05 100644
--- a/kamelets/smpp-source.kamelet.yaml
+++ b/kamelets/smpp-source.kamelet.yaml
@@ -30,10 +30,7 @@ metadata:
 spec:
   definition:
     title: "SMPP Source"
-    description: |-
-      Receive SMS messages and delivery receipts from a SMSC (Short Message 
Service Center) using the SMPP protocol.
-
-      The short message text is emitted as the message body. Details of the 
received PDU are available in the CamelSmpp* headers.
+    description: Receive SMS messages and delivery receipts from a SMSC (Short 
Message Service Center) using the SMPP protocol.
     required:
     - host
     type: object
diff --git a/kamelets/snmp-source.kamelet.yaml 
b/kamelets/snmp-source.kamelet.yaml
index 728b99f56..9136c342d 100644
--- a/kamelets/snmp-source.kamelet.yaml
+++ b/kamelets/snmp-source.kamelet.yaml
@@ -30,12 +30,7 @@ metadata:
 spec:
   definition:
     title: "SNMP Source"
-    description: |-
-      Poll SNMP (Simple Network Management Protocol) capable devices, or 
receive SNMP traps.
-
-      Set type to POLL or GET_NEXT to query the OIDs listed in the oids 
property on a schedule, or to TRAP to listen for traps sent to this host and 
port.
-
-      SNMP v1 and v2c authenticate with a plaintext community string. Prefer 
snmpVersion 3 with authentication and privacy where the device supports it.
+    description: Poll SNMP (Simple Network Management Protocol) capable 
devices, or receive SNMP traps.
     required:
     - host
     type: object

Reply via email to