You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ac...@apache.org on 2021/08/30 12:33:06 UTC
[camel-kamelets] 04/07: Added Xj Template Kamelet Action
This is an automated email from the ASF dual-hosted git repository.
acosentino pushed a commit to branch xj-template
in repository https://gitbox.apache.org/repos/asf/camel-kamelets.git
commit aea0db0ddd86d39d88b1563747795f5d6aa924aa
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Mon Aug 30 14:31:36 2021 +0200
Added Xj Template Kamelet Action
---
.../assets/images/kamelets/xj-template-action.svg | 59 +++++++++
docs/modules/ROOT/pages/xj-template-action.adoc | 140 +++++++++++++++++++++
2 files changed, 199 insertions(+)
diff --git a/docs/modules/ROOT/assets/images/kamelets/xj-template-action.svg b/docs/modules/ROOT/assets/images/kamelets/xj-template-action.svg
new file mode 100644
index 0000000..fa06352
--- /dev/null
+++ b/docs/modules/ROOT/assets/images/kamelets/xj-template-action.svg
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ viewBox="0 -256 1792 1792"
+ id="svg3025"
+ version="1.1"
+ inkscape:version="0.48.3.1 r9886"
+ width="100%"
+ height="100%"
+ sodipodi:docname="cog_font_awesome.svg">
+ <metadata
+ id="metadata3035">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <defs
+ id="defs3033" />
+ <sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="640"
+ inkscape:window-height="480"
+ id="namedview3031"
+ showgrid="false"
+ inkscape:zoom="0.13169643"
+ inkscape:cx="896"
+ inkscape:cy="896"
+ inkscape:window-x="0"
+ inkscape:window-y="25"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="svg3025" />
+ <g
+ transform="matrix(1,0,0,-1,121.49153,1285.4237)"
+ id="g3027">
+ <path
+ d="m 1024,640 q 0,106 -75,181 -75,75 -181,75 -106,0 -181,-75 -75,-75 -75,-181 0,-106 75,-181 75,-75 181,-75 106,0 181,75 75,75 75,181 z m 512,109 V 527 q 0,-12 -8,-23 -8,-11 -20,-13 l -185,-28 q -19,-54 -39,-91 35,-50 107,-138 10,-12 10,-25 0,-13 -9,-23 -27,-37 -99,-108 -72,-71 -94,-71 -12,0 -26,9 l -138,108 q -44,-23 -91,-38 -16,-136 -29,-186 -7,-28 -36,-28 H 657 q -14,0 -24.5,8.5 Q 622,-111 621,-98 L 593,86 q -49,16 -90,37 L 362,16 Q 352,7 337,7 323,7 312,18 186,132 147,186 q -7 [...]
+ id="path3029"
+ inkscape:connector-curvature="0"
+ style="fill:currentColor" />
+ </g>
+</svg>
diff --git a/docs/modules/ROOT/pages/xj-template-action.adoc b/docs/modules/ROOT/pages/xj-template-action.adoc
new file mode 100644
index 0000000..d68d60e
--- /dev/null
+++ b/docs/modules/ROOT/pages/xj-template-action.adoc
@@ -0,0 +1,140 @@
+// THIS FILE IS AUTOMATICALLY GENERATED: DO NOT EDIT
+= image:kamelets/xj-template-action.svg[] XJ Template Action
+
+*Provided by: "Apache Software Foundation"*
+
+*Support Level for this Kamelet is: "Preview"*
+
+Apply the XJ Identity Transformation to transform JSON to XML and XML to JSON.
+
+== Configuration Options
+
+The following table summarizes the configuration options available for the `xj-template-action` Kamelet:
+[width="100%",cols="2,^2,3,^2,^2,^3",options="header"]
+|===
+| Property| Name| Description| Type| Default| Example
+| *direction {empty}* *| Direction| The transform direction, possible values are XML2JSON or JSON2XML| String| |
+| *template {empty}* *| Template| The inline template to apply a transformation through template.| binary| |
+|===
+
+NOTE: Fields marked with ({empty}*) are mandatory.
+
+== Usage
+
+This section summarizes how the `xj-template-action` can be used in various contexts.
+
+=== Knative Action
+
+The `xj-template-action` Kamelet can be used as intermediate step in a Knative binding.
+
+.xj-template-action-binding.yaml
+[source,yaml]
+----
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+ name: xj-template-action-binding
+spec:
+ source:
+ ref:
+ kind: Kamelet
+ apiVersion: camel.apache.org/v1alpha1
+ name: timer-source
+ properties:
+ message: "Hello"
+ steps:
+ - ref:
+ kind: Kamelet
+ apiVersion: camel.apache.org/v1alpha1
+ name: xj-template-action
+ properties:
+ direction: "The Direction"
+ template: "The Template"
+ sink:
+ ref:
+ kind: InMemoryChannel
+ apiVersion: messaging.knative.dev/v1
+ name: mychannel
+
+----
+Make sure you have xref:latest@camel-k::installation/installation.adoc[Camel K installed] into the Kubernetes cluster you're connected to.
+
+Save the `xj-template-action-binding.yaml` file into your hard drive, then configure it according to your needs.
+
+You can run the action using the following command:
+
+[source,shell]
+----
+kubectl apply -f xj-template-action-binding.yaml
+----
+
+==== *Binding to Knative using the Kamel CLI:*
+
+The procedure described above can be simplified into a single execution of the `kamel bind` command:
+
+[source,shell]
+----
+kamel bind timer-source?message=Hello --step xj-template-action -p "step-0.direction=The Direction" -p "step-0.template=The Template" channel/mychannel
+----
+
+This will create the KameletBinding under the hood and apply it to the current namespace in the cluster.
+
+=== Kafka Action
+
+The `xj-template-action` Kamelet can be used as intermediate step in a Kafka binding.
+
+.xj-template-action-binding.yaml
+[source,yaml]
+----
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+ name: xj-template-action-binding
+spec:
+ source:
+ ref:
+ kind: Kamelet
+ apiVersion: camel.apache.org/v1alpha1
+ name: timer-source
+ properties:
+ message: "Hello"
+ steps:
+ - ref:
+ kind: Kamelet
+ apiVersion: camel.apache.org/v1alpha1
+ name: xj-template-action
+ properties:
+ direction: "The Direction"
+ template: "The Template"
+ sink:
+ ref:
+ kind: KafkaTopic
+ apiVersion: kafka.strimzi.io/v1beta1
+ name: my-topic
+
+----
+
+Ensure that you've installed https://strimzi.io/[Strimzi] and created a topic named `my-topic` in the current namespace.
+Make also sure you have xref:latest@camel-k::installation/installation.adoc[Camel K installed] into the Kubernetes cluster you're connected to.
+
+Save the `xj-template-action-binding.yaml` file into your hard drive, then configure it according to your needs.
+
+You can run the action using the following command:
+
+[source,shell]
+----
+kubectl apply -f xj-template-action-binding.yaml
+----
+
+==== *Binding to Kafka using the Kamel CLI:*
+
+The procedure described above can be simplified into a single execution of the `kamel bind` command:
+
+[source,shell]
+----
+kamel bind timer-source?message=Hello --step xj-template-action -p "step-0.direction=The Direction" -p "step-0.template=The Template" kafka.strimzi.io/v1beta1:KafkaTopic:my-topic
+----
+
+This will create the KameletBinding under the hood and apply it to the current namespace in the cluster.
+
+// THIS FILE IS AUTOMATICALLY GENERATED: DO NOT EDIT