diff --git a/avro-deserialize-action.kamelet.yaml b/avro-deserialize-action.kamelet.yaml
index 0ed9541c5..87715be7f 100644
--- a/avro-deserialize-action.kamelet.yaml
+++ b/avro-deserialize-action.kamelet.yaml
@@ -1,12 +1,14 @@
-apiVersion: camel.apache.org/v1alpha1
+apiVersion: camel.apache.org/v1
kind: Kamelet
metadata:
name: avro-deserialize-action
annotations:
- camel.apache.org/catalog.version: "2.2.0"
+ camel.apache.org/kamelet.support.level: "Stable"
+ camel.apache.org/catalog.version: "2.2.0-SNAPSHOT"
camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgdmlld0JveD0iMCAtMjU2IDE3OTIgMTc5MiIKICAgaWQ9InN2ZzMwMjUiCiAgIHZlcnNpb249IjEuMSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMC40OC4zLjEgcjk4ODYiCiAgIHdpZHRoPSIxMDAlIgogICBoZWlnaHQ9IjEwMCUiCiAgIHNvZGlwb2RpOmRvY25hbWU9ImNvZ19mb250X2F3ZXNvbWUuc3ZnIj4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGEzMDM1Ij4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZGVmcwogICAgIGlkPSJkZWZzMzAzMyIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgcGFnZWNvbG9yPSIjZmZmZmZmIgogICAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IgogICAgIGJvcmRlcm9wYWNpdHk9IjEiCiAgICAgb2JqZWN0dG9sZXJhbmNlPSIxMCIKICAgICBncmlkdG9sZXJhbmNlPSIxMCIKICAgICBndWlkZXRvbGVyYW5jZT0iMTAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAiCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjY0MCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSI0ODAiCiAgICAgaWQ9Im5hbWVkdmlldzMwMzEiCiAgICAgc2hvd2dyaWQ9ImZhbHNlIgogICAgIGlua3NjYXBlOnpvb209IjAuMTMxNjk2NDMiCiAgICAgaW5rc2NhcGU6Y3g9Ijg5NiIKICAgICBpbmtzY2FwZTpjeT0iODk2IgogICAgIGlua3NjYXBlOndpbmRvdy14PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy15PSIyNSIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIwIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9InN2ZzMwMjUiIC8+CiAgPGcKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwxMjEuNDkxNTMsMTI4NS40MjM3KSIKICAgICBpZD0iZzMwMjciPgogICAgPHBhdGgKICAgICAgIGQ9Im0gMTAyNCw2NDAgcSAwLDEwNiAtNzUsMTgxIC03NSw3NSAtMTgxLDc1IC0xMDYsMCAtMTgxLC03NSAtNzUsLTc1IC03NSwtMTgxIDAsLTEwNiA3NSwtMTgxIDc1LC03NSAxODEsLTc1IDEwNiwwIDE4MSw3NSA3NSw3NSA3NSwxODEgeiBtIDUxMiwxMDkgViA1MjcgcSAwLC0xMiAtOCwtMjMgLTgsLTExIC0yMCwtMTMgbCAtMTg1LC0yOCBxIC0xOSwtNTQgLTM5LC05MSAzNSwtNTAgMTA3LC0xMzggMTAsLTEyIDEwLC0yNSAwLC0xMyAtOSwtMjMgLTI3LC0zNyAtOTksLTEwOCAtNzIsLTcxIC05NCwtNzEgLTEyLDAgLTI2LDkgbCAtMTM4LDEwOCBxIC00NCwtMjMgLTkxLC0zOCAtMTYsLTEzNiAtMjksLTE4NiAtNywtMjggLTM2LC0yOCBIIDY1NyBxIC0xNCwwIC0yNC41LDguNSBRIDYyMiwtMTExIDYyMSwtOTggTCA1OTMsODYgcSAtNDksMTYgLTkwLDM3IEwgMzYyLDE2IFEgMzUyLDcgMzM3LDcgMzIzLDcgMzEyLDE4IDE4NiwxMzIgMTQ3LDE4NiBxIC03LDEwIC03LDIzIDAsMTIgOCwyMyAxNSwyMSA1MSw2Ni41IDM2LDQ1LjUgNTQsNzAuNSAtMjcsNTAgLTQxLDk5IEwgMjksNDk1IFEgMTYsNDk3IDgsNTA3LjUgMCw1MTggMCw1MzEgdiAyMjIgcSAwLDEyIDgsMjMgOCwxMSAxOSwxMyBsIDE4NiwyOCBxIDE0LDQ2IDM5LDkyIC00MCw1NyAtMTA3LDEzOCAtMTAsMTIgLTEwLDI0IDAsMTAgOSwyMyAyNiwzNiA5OC41LDEwNy41IDcyLjUsNzEuNSA5NC41LDcxLjUgMTMsMCAyNiwtMTAgbCAxMzgsLTEwNyBxIDQ0LDIzIDkxLDM4IDE2LDEzNiAyOSwxODYgNywyOCAzNiwyOCBoIDIyMiBxIDE0LDAgMjQuNSwtOC41IFEgOTE0LDEzOTEgOTE1LDEzNzggbCAyOCwtMTg0IHEgNDksLTE2IDkwLC0zNyBsIDE0MiwxMDcgcSA5LDkgMjQsOSAxMywwIDI1LC0xMCAxMjksLTExOSAxNjUsLTE3MCA3LC04IDcsLTIyIDAsLTEyIC04LC0yMyAtMTUsLTIxIC01MSwtNjYuNSAtMzYsLTQ1LjUgLTU0LC03MC41IDI2LC01MCA0MSwtOTggbCAxODMsLTI4IHEgMTMsLTIgMjEsLTEyLjUgOCwtMTAuNSA4LC0yMy41IHoiCiAgICAgICBpZD0icGF0aDMwMjkiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgc3R5bGU9ImZpbGw6Y3VycmVudENvbG9yIiAvPgogIDwvZz4KPC9zdmc+Cg=="
camel.apache.org/provider: "Red Hat"
camel.apache.org/kamelet.group: "Actions"
+ camel.apache.org/kamelet.namespace: "Transformation"
labels:
camel.apache.org/kamelet.type: "action"
spec:
@@ -14,8 +16,6 @@ spec:
title: "Avro Deserialize Action"
description: "Deserialize payload to Avro"
type: object
- required:
- - schema
properties:
schema:
title: Schema
@@ -30,28 +30,26 @@ spec:
x-descriptors:
- 'urn:alm:descriptor:com.tectonic.ui:checkbox'
dependencies:
- - "mvn:org.apache.camel.kamelets:camel-kamelets-utils:2.2.0"
+ - "github:openshift-integration.kamelet-catalog:camel-kamelets-utils:2.2.0-SNAPSHOT"
- "camel:kamelet"
- "camel:core"
- "camel:jackson-avro"
template:
+ beans:
+ - name: schemaResolver
+ type: "#class:org.apache.camel.kamelets.utils.format.converter.avro.AvroSchemaResolver"
+ property:
+ - key: validate
+ value: '{{validate}}'
+ - key: schema
+ value: '{{schema:}}'
from:
uri: kamelet:source
steps:
- - set-property:
- name: schema
- constant: "{{schema}}"
- - set-property:
- name: validate
- constant: "{{validate}}"
- unmarshal:
avro:
library: Jackson
unmarshalType: com.fasterxml.jackson.databind.JsonNode
- schemaResolver: "#class:org.apache.camel.kamelets.utils.serialization.InflightAvroSchemaResolver"
- - remove-property:
- name: schema
- - remove-property:
- name: validate
+ schemaResolver: "#bean:{{schemaResolver}}"
- remove-header:
name: "Content-Type"
diff --git a/avro-serialize-action.kamelet.yaml b/avro-serialize-action.kamelet.yaml
index 502abbd52..a5d469aaa 100644
--- a/avro-serialize-action.kamelet.yaml
+++ b/avro-serialize-action.kamelet.yaml
@@ -1,12 +1,14 @@
-apiVersion: camel.apache.org/v1alpha1
+apiVersion: camel.apache.org/v1
kind: Kamelet
metadata:
name: avro-serialize-action
annotations:
- camel.apache.org/catalog.version: "2.2.0"
+ camel.apache.org/kamelet.support.level: "Stable"
+ camel.apache.org/catalog.version: "2.2.0-SNAPSHOT"
camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgdmlld0JveD0iMCAtMjU2IDE3OTIgMTc5MiIKICAgaWQ9InN2ZzMwMjUiCiAgIHZlcnNpb249IjEuMSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMC40OC4zLjEgcjk4ODYiCiAgIHdpZHRoPSIxMDAlIgogICBoZWlnaHQ9IjEwMCUiCiAgIHNvZGlwb2RpOmRvY25hbWU9ImNvZ19mb250X2F3ZXNvbWUuc3ZnIj4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGEzMDM1Ij4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZGVmcwogICAgIGlkPSJkZWZzMzAzMyIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgcGFnZWNvbG9yPSIjZmZmZmZmIgogICAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IgogICAgIGJvcmRlcm9wYWNpdHk9IjEiCiAgICAgb2JqZWN0dG9sZXJhbmNlPSIxMCIKICAgICBncmlkdG9sZXJhbmNlPSIxMCIKICAgICBndWlkZXRvbGVyYW5jZT0iMTAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAiCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjY0MCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSI0ODAiCiAgICAgaWQ9Im5hbWVkdmlldzMwMzEiCiAgICAgc2hvd2dyaWQ9ImZhbHNlIgogICAgIGlua3NjYXBlOnpvb209IjAuMTMxNjk2NDMiCiAgICAgaW5rc2NhcGU6Y3g9Ijg5NiIKICAgICBpbmtzY2FwZTpjeT0iODk2IgogICAgIGlua3NjYXBlOndpbmRvdy14PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy15PSIyNSIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIwIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9InN2ZzMwMjUiIC8+CiAgPGcKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwxMjEuNDkxNTMsMTI4NS40MjM3KSIKICAgICBpZD0iZzMwMjciPgogICAgPHBhdGgKICAgICAgIGQ9Im0gMTAyNCw2NDAgcSAwLDEwNiAtNzUsMTgxIC03NSw3NSAtMTgxLDc1IC0xMDYsMCAtMTgxLC03NSAtNzUsLTc1IC03NSwtMTgxIDAsLTEwNiA3NSwtMTgxIDc1LC03NSAxODEsLTc1IDEwNiwwIDE4MSw3NSA3NSw3NSA3NSwxODEgeiBtIDUxMiwxMDkgViA1MjcgcSAwLC0xMiAtOCwtMjMgLTgsLTExIC0yMCwtMTMgbCAtMTg1LC0yOCBxIC0xOSwtNTQgLTM5LC05MSAzNSwtNTAgMTA3LC0xMzggMTAsLTEyIDEwLC0yNSAwLC0xMyAtOSwtMjMgLTI3LC0zNyAtOTksLTEwOCAtNzIsLTcxIC05NCwtNzEgLTEyLDAgLTI2LDkgbCAtMTM4LDEwOCBxIC00NCwtMjMgLTkxLC0zOCAtMTYsLTEzNiAtMjksLTE4NiAtNywtMjggLTM2LC0yOCBIIDY1NyBxIC0xNCwwIC0yNC41LDguNSBRIDYyMiwtMTExIDYyMSwtOTggTCA1OTMsODYgcSAtNDksMTYgLTkwLDM3IEwgMzYyLDE2IFEgMzUyLDcgMzM3LDcgMzIzLDcgMzEyLDE4IDE4NiwxMzIgMTQ3LDE4NiBxIC03LDEwIC03LDIzIDAsMTIgOCwyMyAxNSwyMSA1MSw2Ni41IDM2LDQ1LjUgNTQsNzAuNSAtMjcsNTAgLTQxLDk5IEwgMjksNDk1IFEgMTYsNDk3IDgsNTA3LjUgMCw1MTggMCw1MzEgdiAyMjIgcSAwLDEyIDgsMjMgOCwxMSAxOSwxMyBsIDE4NiwyOCBxIDE0LDQ2IDM5LDkyIC00MCw1NyAtMTA3LDEzOCAtMTAsMTIgLTEwLDI0IDAsMTAgOSwyMyAyNiwzNiA5OC41LDEwNy41IDcyLjUsNzEuNSA5NC41LDcxLjUgMTMsMCAyNiwtMTAgbCAxMzgsLTEwNyBxIDQ0LDIzIDkxLDM4IDE2LDEzNiAyOSwxODYgNywyOCAzNiwyOCBoIDIyMiBxIDE0LDAgMjQuNSwtOC41IFEgOTE0LDEzOTEgOTE1LDEzNzggbCAyOCwtMTg0IHEgNDksLTE2IDkwLC0zNyBsIDE0MiwxMDcgcSA5LDkgMjQsOSAxMywwIDI1LC0xMCAxMjksLTExOSAxNjUsLTE3MCA3LC04IDcsLTIyIDAsLTEyIC04LC0yMyAtMTUsLTIxIC01MSwtNjYuNSAtMzYsLTQ1LjUgLTU0LC03MC41IDI2LC01MCA0MSwtOTggbCAxODMsLTI4IHEgMTMsLTIgMjEsLTEyLjUgOCwtMTAuNSA4LC0yMy41IHoiCiAgICAgICBpZD0icGF0aDMwMjkiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgc3R5bGU9ImZpbGw6Y3VycmVudENvbG9yIiAvPgogIDwvZz4KPC9zdmc+Cg=="
camel.apache.org/provider: "Red Hat"
camel.apache.org/kamelet.group: "Actions"
+ camel.apache.org/kamelet.namespace: "Transformation"
labels:
camel.apache.org/kamelet.type: "action"
spec:
@@ -14,8 +16,6 @@ spec:
title: "Avro Serialize Action"
description: "Serialize payload to Avro"
type: object
- required:
- - schema
properties:
schema:
title: Schema
@@ -30,29 +30,27 @@ spec:
x-descriptors:
- 'urn:alm:descriptor:com.tectonic.ui:checkbox'
dependencies:
- - "mvn:org.apache.camel.kamelets:camel-kamelets-utils:2.2.0"
+ - "github:openshift-integration.kamelet-catalog:camel-kamelets-utils:2.2.0-SNAPSHOT"
- "camel:kamelet"
- "camel:core"
- "camel:jackson-avro"
template:
+ beans:
+ - name: schemaResolver
+ type: "#class:org.apache.camel.kamelets.utils.format.converter.avro.AvroSchemaResolver"
+ property:
+ - key: validate
+ value: '{{validate}}'
+ - key: schema
+ value: '{{schema:}}'
from:
uri: kamelet:source
steps:
- - set-property:
- name: schema
- constant: "{{schema}}"
- - set-property:
- name: validate
- constant: "{{validate}}"
- marshal:
avro:
library: Jackson
unmarshalType: com.fasterxml.jackson.databind.JsonNode
- schemaResolver: "#class:org.apache.camel.kamelets.utils.serialization.InflightAvroSchemaResolver"
- - remove-property:
- name: schema
- - remove-property:
- name: validate
+ schemaResolver: "#bean:{{schemaResolver}}"
- set-header:
name: "Content-Type"
constant: "application/avro"
diff --git a/aws-cloudwatch-sink.kamelet.yaml b/aws-cloudwatch-sink.kamelet.yaml
deleted file mode 100644
index 66189e076..000000000
--- a/aws-cloudwatch-sink.kamelet.yaml
+++ /dev/null
@@ -1,151 +0,0 @@
-apiVersion: camel.apache.org/v1alpha1
-kind: Kamelet
-metadata:
- name: aws-cloudwatch-sink
- annotations:
- camel.apache.org/catalog.version: "2.2.0"
- camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjIwNyIgaGVpZ2h0PSIyNTAwIiB2aWV3Qm94PSIwIDAgMjU2IDI5MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCI+PHBhdGggZD0iTTI1NiAxOTkuMzA1bC0xMjcuOTU3LTE4Ljc5N0wwIDE5OS4zMjlsMTI4LjAxIDQ3LjQzOUwyNTYgMTk5LjMwNSIgZmlsbD0iI0I3Q0E5RCIvPjxwYXRoIGQ9Ik0yNS42MjEgMTk3LjExM2wyMS42MyA2Ljc2MSAxLjk3MS0yLjIzOFY1MC4yODRsLTEuOTcxLTIuNTg1LTIxLjYzIDguMjc0djE0MS4xNCIgZmlsbD0iIzRCNjEyQyIvPjxwYXRoIGQ9Ik0xMjMuODMyIDE5MC40MjNsLTc2LjU4MSAxMy40NTFWNDcuNzAzbDc2LjU4MSAxNy4yMjJ2MTI1LjQ5OCIgZmlsbD0iIzc1OUMzRSIvPjxwYXRoIGQ9Ik04OS42ODYgMjE2Ljg4OWwtMjkuODQ4LTkuMjAxVjE0LjkyOEw4OS42ODYuMDA0bDIuNjEyIDIuODQ1djIxMC44NThsLTIuNjEyIDMuMTgyIiBmaWxsPSIjNEI2MTJDIi8+PHBhdGggZD0iTTE5MS45NjcgMTkyLjg5NEw4OS42ODYgMjE2Ljg4OVYwbDEwMi4yODEgMzkuODY2djE1My4wMjgiIGZpbGw9IiM3NTlDM0UiLz48cGF0aCBkPSJNMTI3Ljk2NSAyNDQuNzE0TDAgMTk5LjMyOXYyNi4zMjRsMTI3Ljk2NSA2My45ODN2LTQ0LjkyMiIgZmlsbD0iIzRCNjEyQyIvPjxwYXRoIGQ9Ik0yNTYgMjI1LjYyMmwtMTI4LjAzNSA2NC4wMTR2LTQ0LjkyMkwyNTYgMTk5LjMwNXYyNi4zMTciIGZpbGw9IiM3NTlDM0UiLz48cGF0aCBkPSJNMjIwLjAzOSAxNTUuNjkyaC0zMS4wMjZsLTg4LjQ0NSA2LjAyNkwxMjggMTY2Ljc3NWw5Mi4wMzktMTEuMDgzIiBmaWxsPSIjQjdDQTlEIi8+PHBhdGggZD0iTTEwMC41NjggMjE5LjkwNmwyNy40MiA4LjIyNi43ODktLjg0OS0uMDIzLTYxLjg0OS0uNzg5LS43NTgtMjcuMzk3LTIuOTU4djU4LjE4OCIgZmlsbD0iIzRCNjEyQyIvPjxwYXRoIGQ9Ik0yMjAuMDM5IDE1NS42OTJsLTkyLjA3NCA4Ljk4LjAyMyA2My40NiA5Mi4wNTEtMjcuNzExdi00NC43MjkiIGZpbGw9IiM3NTlDM0UiLz48L3N2Zz4K"
- camel.apache.org/provider: "Red Hat"
- camel.apache.org/kamelet.group: "AWS Cloudwatch"
- labels:
- camel.apache.org/kamelet.type: "sink"
-spec:
- definition:
- title: "AWS CloudWatch Metrics Sink"
- description: |-
- Send messages to AWS CloudWatch metrics.
-
- There are several properties you can set in the headers, such as:
-
- `metric-name` / `ce-metricname` for the metric name.
- `metric-value` / `ce-metricvalue` for the metric value.
- `metric-unit` / `ce-metricunit` for the metric unit.
- `metric-timestamp` / `ce-metrictimestamp` for the metric timestamp.
- `metric-dimension-name` / `ce-metricdimensionname` for the dimension name.
- `metric-dimension-value` / `ce-metricdimensionvalue` for the dimension value.
- required:
- - cw_namespace
- - accessKey
- - secretKey
- - region
- type: object
- properties:
- cw_namespace:
- title: Cloud Watch Namespace
- description: The cloud watch metric namespace.
- type: string
- accessKey:
- title: Access Key
- description: The access key obtained from AWS.
- type: string
- format: password
- x-descriptors:
- - urn:alm:descriptor:com.tectonic.ui:password
- - urn:camel:group:credentials
- secretKey:
- title: Secret Key
- description: The secret key obtained from AWS.
- type: string
- format: password
- x-descriptors:
- - urn:alm:descriptor:com.tectonic.ui:password
- - urn:camel:group:credentials
- region:
- title: AWS Region
- description: The AWS region to connect to.
- type: string
- example: eu-west-1
- useDefaultCredentialsProvider:
- title: Default Credentials Provider
- description: If true, the CloudWatch client loads credentials through a default credentials provider. If false, it uses the basic authentication method (access key and secret key).
- type: boolean
- x-descriptors:
- - 'urn:alm:descriptor:com.tectonic.ui:checkbox'
- default: false
- dependencies:
- - camel:core
- - "camel:aws2-cw"
- - "camel:kamelet"
- template:
- from:
- uri: kamelet:source
- steps:
- - choice:
- when:
- - simple: "${header[metric-name]}"
- steps:
- - set-header:
- name: CamelAwsCwMetricName
- simple: "${header[metric-name]}"
- - simple: "${header[ce-metricname]}"
- steps:
- - set-header:
- name: CamelAwsCwMetricName
- simple: "${header[ce-metricname]}"
- - choice:
- when:
- - simple: "${header[metric-value]}"
- steps:
- - set-header:
- name: CamelAwsCwMetricValue
- simple: "${header[metric-value]}"
- - simple: "${header[ce-metricvalue]}"
- steps:
- - set-header:
- name: CamelAwsCwMetricValue
- simple: "${header[ce-metricvalue]}"
- - choice:
- when:
- - simple: "${header[metric-unit]}"
- steps:
- - set-header:
- name: CamelAwsCwMetricUnit
- simple: "${header[metric-unit]}"
- - simple: "${header[ce-metricunit]}"
- steps:
- - set-header:
- name: CamelAwsCwMetricUnit
- simple: "${header[ce-metricunit]}"
- - choice:
- when:
- - simple: "${header[metric-timestamp]}"
- steps:
- - set-header:
- name: CamelAwsCwMetricTimestamp
- simple: "${header[metric-timestamp]}"
- - simple: "${header[ce-metrictimestamp]}"
- steps:
- - set-header:
- name: CamelAwsCwMetricTimestamp
- simple: "${header[ce-metrictimestamp]}"
- - choice:
- when:
- - simple: "${header[metric-dimension-name]}"
- steps:
- - set-header:
- name: CamelAwsCwMetricDimensionName
- simple: "${header[metric-dimension-name]}"
- - simple: "${header[ce-metricdimensionname]}"
- steps:
- - set-header:
- name: CamelAwsCwMetricDimensionName
- simple: "${header[ce-metricdimensionname]}"
- - choice:
- when:
- - simple: "${header[metric-dimension-value]}"
- steps:
- - set-header:
- name: CamelAwsCwMetricDimensionValue
- simple: "${header[metric-dimension-value]}"
- - simple: "${header[ce-metricdimensionvalue]}"
- steps:
- - set-header:
- name: CamelAwsCwMetricDimensionValue
- simple: "${header[ce-metricdimensionvalue]}"
- - to:
- uri: "aws2-cw:{{cw_namespace}}"
- parameters:
- secretKey: "{{?secretKey}}"
- accessKey: "{{?accessKey}}"
- region: "{{region}}"
- useDefaultCredentialsProvider: "{{useDefaultCredentialsProvider}}"
diff --git a/aws-ddb-sink.kamelet.yaml b/aws-ddb-sink.kamelet.yaml
index 7ab4a47a5..555c22c3b 100644
--- a/aws-ddb-sink.kamelet.yaml
+++ b/aws-ddb-sink.kamelet.yaml
@@ -1,46 +1,37 @@
-# ---------------------------------------------------------------------------
-# 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.
-# ---------------------------------------------------------------------------
-
-apiVersion: camel.apache.org/v1alpha1
+apiVersion: camel.apache.org/v1
kind: Kamelet
metadata:
name: aws-ddb-sink
annotations:
- camel.apache.org/catalog.version: "2.2.0"
+ camel.apache.org/kamelet.support.level: "Stable"
+ camel.apache.org/catalog.version: "2.2.0-SNAPSHOT"
camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjEwMCIgd2lkdGg9IjEwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBmaWxsPSIjMkQ3MkI4IiBkPSJNNzQuMTc0IDMxLjgwN2w3LjQzNyA1LjM2N3YtNy42MDJsLTcuNDgtOC43NjV2MTAuOTU3bC4wNDMuMDE1eiIvPjxwYXRoIGZpbGw9IiM1Mjk0Q0YiIGQ9Ik01OS44MzggODUuNjY2bDE0LjI5My03LjE0NlYyMC43OTFsLTE0LjMwMy03LjEyNHoiLz48cGF0aCBmaWxsPSIjMjA1Qjk4IiBkPSJNMzkuNDk2IDg1LjY2NkwyNS4yMDMgNzguNTJWMjAuNzkxbDE0LjMwMy03LjEyNHoiLz48cGF0aCBmaWxsPSIjMkQ3MkI4IiBkPSJNMzkuNTA2IDEzLjY2N2gyMC4zMjF2NzEuOTk5SDM5LjUwNnpNNzQuMTMxIDY3LjU2NFY3OC41Mmw3LjQ4LTguNzY0di03LjYwMmwtNy40MzcgNS4zOTd6TTc0LjEzMSA2Mi45MzZsLjA0My0uMDEgNy40MzctNHYtNy42NDlsLTcuNDguNjg4ek03NC4xNzQgMzYuNDI5bC0uMDQzLS4wMVY0Ny4zNWw3LjQ4LjY5OXYtNy42NDV6Ii8+PHBhdGggZmlsbD0iIzFBNDc2RiIgZD0iTTgxLjYxMSA0OC4wNDlsLTcuNDgtLjY5OS0xNC4zMDMtLjU3MkgzOS41MDZsLTE0LjMwMy41NzJWMzYuNDQzbC0uMDE1LjAwOC4wMTUtLjAzMiAxNC4zMDMtMy4zMTRINTkuODI4bDE0LjMwMyAzLjMxNCA1LjI1OCAyLjc5NXYtMS43OTdsMi4yMjItLjI0My03LjQ4LTUuNDEtMTQuMzAzLTQuNDMySDM5LjUwNmwtMTQuMzAzIDQuNDMyVjIwLjgwN2wtNy40OCA4Ljc2M3Y3LjY1M2wuMDU4LS4wNDIgMi4xNjQuMjM2djEuODM0bC0yLjIyMiAxLjE4OXY3LjYxNWwuMDU4LS4wMDYgMi4xNjQuMDMydjMuMTk2bC0xLjg2Ny4wMjgtLjM1NS0uMDM0djcuNjE4bDIuMjIyIDEuMTk1djEuODU1bC0yLjEyOS4yMzUtLjA5My0uMDd2Ny42NTJsNy40OCA4Ljc2NFY2Ny41NjRsMTQuMzAzIDQuNDMySDU5LjgyOGwxNC4zNDUtNC40NDUgNy40MzgtNS4zNjctMi4yMjItLjI0NXYtMS44MThsLTUuMjE2IDIuODA1LTE0LjM0NSAzLjI5NXYuMDA0SDM5LjUwNnYtLjAwNGwtMTQuMzQ4LTMuMjk1LS4wMjUtLjA1MS4wNy4wMzdWNTEuOTY1bDE0LjMwMy41N3YuMDE0SDU5LjgyOHYtLjAxNGwxNC4zMDMtLjU3IDcuNDgtLjY1Ni0yLjIyMi0uMDMydi0zLjE5NnoiLz48L3N2Zz4="
camel.apache.org/provider: "Red Hat"
camel.apache.org/kamelet.group: "AWS DynamoDB Streams"
+ camel.apache.org/kamelet.namespace: "AWS"
labels:
camel.apache.org/kamelet.type: "sink"
spec:
definition:
title: "AWS DynamoDB Sink"
description: |-
- Send data to AWS DynamoDB service. The sent data will insert/update/delete an item on the given AWS DynamoDB table.
+ Send data to Amazon DynamoDB. The sent data inserts, updates, or deletes an item on the specified AWS DynamoDB table.
- Access Key/Secret Key are the basic method for authenticating to the AWS DynamoDB service. These parameters are optional, because the Kamelet provide also the 'useDefaultCredentialsProvider'.
+ The basic authentication method for the AWS DynamoDB service is to specify an access key and a secret key. These parameters are optional because the Kamelet provides a default credentials provider.
- When using a default Credentials Provider the AWS DynamoDB client will load the credentials through this provider and won't use the static credential. This is reason for not having the access key and secret key as mandatory parameter for this Kamelet.
+ If you use the default credentials provider, the DynamoDB client loads the credentials through this provider and doesn't use the basic authentication method.
- This Kamelet expects a JSON as body. The mapping between the JSON fields and table attribute values is done by key, so if you have the input:
+ This Kamelet expects a JSON-formatted body and it must include the primary key values that define the DynamoDB item. The mapping between the JSON fields and table attribute values is done by key. For example, for '{"username":"oscerd", "city":"Rome"}' input, the Kamelet inserts or update an item in the specified AWS DynamoDB table and sets the values for the 'username' and 'city' attributes.
- '{"username":"oscerd", "city":"Rome"}'
+ For PutItem operation the Json body defines all item attributes.
+ For DeleteItem operation the Json body defines only the primary key attributes that identify the item to delete.
+ For UpdateItem operation the Json body defines both key attributes to identify the item to be updated and all item attributes tht get updated on the item.
- The Kamelet will insert/update an item in the given AWS DynamoDB table and set the attributes 'username' and 'city' respectively. Please note that the JSON object must include the primary key values that define the item.
+ The given Json body can use "key" and "item" as top level properties. Both define a Json object that will be mapped to respective attribute value maps
+ {
+ "key": {},
+ "item": {}
+ }
required:
- table
- region
@@ -48,11 +39,11 @@ spec:
properties:
table:
title: Table
- description: Name of the DynamoDB table to look at
+ description: The name of the DynamoDB table.
type: string
accessKey:
title: Access Key
- description: The access key obtained from AWS
+ description: The access key obtained from AWS.
type: string
format: password
x-descriptors:
@@ -60,7 +51,7 @@ spec:
- urn:camel:group:credentials
secretKey:
title: Secret Key
- description: The secret key obtained from AWS
+ description: The secret key obtained from AWS.
type: string
format: password
x-descriptors:
@@ -68,35 +59,30 @@ spec:
- urn:camel:group:credentials
region:
title: AWS Region
- description: The AWS region to connect to
+ description: The AWS region to access.
type: string
- example: eu-west-1
- enum: ["af-south-1", "ap-east-1", "ap-northeast-1", "ap-northeast-2", "ap-northeast-3", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ap-southeast-3", "ca-central-1", "eu-central-1", "eu-north-1", "eu-south-1", "eu-west-1", "eu-west-2", "eu-west-3", "fips-us-east-1", "fips-us-east-2", "fips-us-west-1", "fips-us-west-2", "me-south-1", "sa-east-1", "us-east-1", "us-east-2", "us-west-1", "us-west-2", "cn-north-1", "cn-northwest-1", "us-gov-east-1", "us-gov-west-1", "us-iso-east-1", "us-iso-west-1", "us-isob-east-1"]
+ enum: ["ap-south-1", "eu-south-1", "us-gov-east-1", "me-central-1", "ca-central-1", "eu-central-1", "us-iso-west-1", "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-northeast-1", "me-south-1", "sa-east-1", "ap-east-1", "cn-north-1", "us-gov-west-1", "ap-southeast-1", "ap-southeast-2", "us-iso-east-1", "ap-southeast-3", "us-east-1", "us-east-2", "cn-northwest-1", "us-isob-east-1", "aws-global", "aws-cn-global", "aws-us-gov-global", "aws-iso-global", "aws-iso-b-global"]
operation:
title: Operation
- description: The operation to perform (one of PutItem, UpdateItem, DeleteItem)
+ description: "The operation to perform."
type: string
+ enum: ["PutItem", "UpdateItem", "DeleteItem"]
default: PutItem
example: PutItem
- writeCapacity:
- title: Write Capacity
- description: The provisioned throughput to reserved for writing resources to your table
- type: integer
- default: 1
useDefaultCredentialsProvider:
title: Default Credentials Provider
- description: Set whether the DynamoDB client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in.
+ description: If true, the DynamoDB client loads credentials through a default credentials provider. If false, it uses the basic authentication method (access key and secret key).
type: boolean
x-descriptors:
- 'urn:alm:descriptor:com.tectonic.ui:checkbox'
default: false
uriEndpointOverride:
title: Overwrite Endpoint URI
- description: Set the overriding endpoint URI. This option needs to be used in combination with overrideEndpoint option.
+ description: The overriding endpoint URI. To use this option, you must also select the `overrideEndpoint` option.
type: string
overrideEndpoint:
title: Endpoint Overwrite
- description: Set the need for overiding the endpoint URI. This option needs to be used in combination with uriEndpointOverride setting.
+ description: Select this option to override the endpoint URI. To use this option, you must also provide a URI for the `uriEndpointOverride` option.
type: boolean
x-descriptors:
- 'urn:alm:descriptor:com.tectonic.ui:checkbox'
@@ -105,7 +91,7 @@ spec:
in:
mediaType: application/json
dependencies:
- - "mvn:org.apache.camel.kamelets:camel-kamelets-utils:2.2.0"
+ - github:openshift-integration.kamelet-catalog:camel-kamelets-utils:2.2.0-SNAPSHOT
- "camel:core"
- "camel:jackson"
- "camel:aws2-ddb"
@@ -117,11 +103,8 @@ spec:
- set-property:
name: operation
constant: "{{operation}}"
- - unmarshal:
- json:
- library: Jackson
- unmarshalType: com.fasterxml.jackson.databind.JsonNode
- - bean: "org.apache.camel.kamelets.utils.transform.aws.ddb.JsonToDdbModelConverter"
+ - transform:
+ to-type: "aws2-ddb:application-json"
- to:
uri: "aws2-ddb:{{table}}"
parameters:
@@ -129,7 +112,6 @@ spec:
accessKey: "{{?accessKey}}"
region: "{{region}}"
operation: "{{operation}}"
- writeCapacity: "{{?writeCapacity}}"
useDefaultCredentialsProvider: "{{useDefaultCredentialsProvider}}"
uriEndpointOverride: "{{?uriEndpointOverride}}"
overrideEndpoint: "{{overrideEndpoint}}"
diff --git a/aws-ddb-streams-source.kamelet.yaml b/aws-ddb-streams-source.kamelet.yaml
deleted file mode 100644
index 031e3ec06..000000000
--- a/aws-ddb-streams-source.kamelet.yaml
+++ /dev/null
@@ -1,101 +0,0 @@
-apiVersion: camel.apache.org/v1alpha1
-kind: Kamelet
-metadata:
- name: aws-ddb-streams-source
- annotations:
- camel.apache.org/catalog.version: "2.2.0"
- camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjEwMCIgd2lkdGg9IjEwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBmaWxsPSIjMkQ3MkI4IiBkPSJNNzQuMTc0IDMxLjgwN2w3LjQzNyA1LjM2N3YtNy42MDJsLTcuNDgtOC43NjV2MTAuOTU3bC4wNDMuMDE1eiIvPjxwYXRoIGZpbGw9IiM1Mjk0Q0YiIGQ9Ik01OS44MzggODUuNjY2bDE0LjI5My03LjE0NlYyMC43OTFsLTE0LjMwMy03LjEyNHoiLz48cGF0aCBmaWxsPSIjMjA1Qjk4IiBkPSJNMzkuNDk2IDg1LjY2NkwyNS4yMDMgNzguNTJWMjAuNzkxbDE0LjMwMy03LjEyNHoiLz48cGF0aCBmaWxsPSIjMkQ3MkI4IiBkPSJNMzkuNTA2IDEzLjY2N2gyMC4zMjF2NzEuOTk5SDM5LjUwNnpNNzQuMTMxIDY3LjU2NFY3OC41Mmw3LjQ4LTguNzY0di03LjYwMmwtNy40MzcgNS4zOTd6TTc0LjEzMSA2Mi45MzZsLjA0My0uMDEgNy40MzctNHYtNy42NDlsLTcuNDguNjg4ek03NC4xNzQgMzYuNDI5bC0uMDQzLS4wMVY0Ny4zNWw3LjQ4LjY5OXYtNy42NDV6Ii8+PHBhdGggZmlsbD0iIzFBNDc2RiIgZD0iTTgxLjYxMSA0OC4wNDlsLTcuNDgtLjY5OS0xNC4zMDMtLjU3MkgzOS41MDZsLTE0LjMwMy41NzJWMzYuNDQzbC0uMDE1LjAwOC4wMTUtLjAzMiAxNC4zMDMtMy4zMTRINTkuODI4bDE0LjMwMyAzLjMxNCA1LjI1OCAyLjc5NXYtMS43OTdsMi4yMjItLjI0My03LjQ4LTUuNDEtMTQuMzAzLTQuNDMySDM5LjUwNmwtMTQuMzAzIDQuNDMyVjIwLjgwN2wtNy40OCA4Ljc2M3Y3LjY1M2wuMDU4LS4wNDIgMi4xNjQuMjM2djEuODM0bC0yLjIyMiAxLjE4OXY3LjYxNWwuMDU4LS4wMDYgMi4xNjQuMDMydjMuMTk2bC0xLjg2Ny4wMjgtLjM1NS0uMDM0djcuNjE4bDIuMjIyIDEuMTk1djEuODU1bC0yLjEyOS4yMzUtLjA5My0uMDd2Ny42NTJsNy40OCA4Ljc2NFY2Ny41NjRsMTQuMzAzIDQuNDMySDU5LjgyOGwxNC4zNDUtNC40NDUgNy40MzgtNS4zNjctMi4yMjItLjI0NXYtMS44MThsLTUuMjE2IDIuODA1LTE0LjM0NSAzLjI5NXYuMDA0SDM5LjUwNnYtLjAwNGwtMTQuMzQ4LTMuMjk1LS4wMjUtLjA1MS4wNy4wMzdWNTEuOTY1bDE0LjMwMy41N3YuMDE0SDU5LjgyOHYtLjAxNGwxNC4zMDMtLjU3IDcuNDgtLjY1Ni0yLjIyMi0uMDMydi0zLjE5NnoiLz48L3N2Zz4="
- camel.apache.org/provider: "Red Hat"
- camel.apache.org/kamelet.group: "AWS DynamoDB Streams"
- labels:
- camel.apache.org/kamelet.type: "source"
-spec:
- definition:
- title: "AWS DynamoDB Streams Source"
- description: |-
- Receive events from Amazon DynamoDB Streams.
- The basic authentication method for the AWS DynamoDB Streams service is to specify an access key and a secret key. These parameters are optional because the Kamelet provides a default credentials provider.
- If you use the default credentials provider, the DynamoDB Streams client loads the credentials through this provider and doesn't use the basic authentication method.
- required:
- - table
- - region
- type: object
- properties:
- table:
- title: Table
- description: The name of the DynamoDB table.
- type: string
- accessKey:
- title: Access Key
- description: The access key obtained from AWS.
- type: string
- format: password
- x-descriptors:
- - urn:alm:descriptor:com.tectonic.ui:password
- - urn:camel:group:credentials
- secretKey:
- title: Secret Key
- description: The secret key obtained from AWS.
- type: string
- format: password
- x-descriptors:
- - urn:alm:descriptor:com.tectonic.ui:password
- - urn:camel:group:credentials
- region:
- title: AWS Region
- description: The AWS region to access.
- type: string
- example: eu-west-1
- enum: ["af-south-1", "ap-east-1", "ap-northeast-1", "ap-northeast-2", "ap-northeast-3", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ap-southeast-3", "ca-central-1", "eu-central-1", "eu-north-1", "eu-south-1", "eu-west-1", "eu-west-2", "eu-west-3", "fips-us-east-1", "fips-us-east-2", "fips-us-west-1", "fips-us-west-2", "me-south-1", "sa-east-1", "us-east-1", "us-east-2", "us-west-1", "us-west-2", "cn-north-1", "cn-northwest-1", "us-gov-east-1", "us-gov-west-1", "us-iso-east-1", "us-iso-west-1", "us-isob-east-1"]
- streamIteratorType:
- title: Stream Iterator Type
- description: Defines where in the DynamoDB stream to start getting records. There are two enums and the value can be one of FROM_LATEST and FROM_START. Note that using FROM_START can cause a significant delay before the stream has caught up to real-time.
- type: string
- default: FROM_LATEST
- useDefaultCredentialsProvider:
- title: Default Credentials Provider
- description: If true, the DynamoDB client loads credentials through a default credentials provider. If false, it uses the basic authentication method (access key and secret key).
- type: boolean
- x-descriptors:
- - 'urn:alm:descriptor:com.tectonic.ui:checkbox'
- default: false
- uriEndpointOverride:
- title: Overwrite Endpoint URI
- description: The overriding endpoint URI. To use this option, you must also select the `overrideEndpoint` option.
- type: string
- overrideEndpoint:
- title: Endpoint Overwrite
- description: Select this option to override the endpoint URI. To use this option, you must also provide a URI for the `uriEndpointOverride` option.
- type: boolean
- x-descriptors:
- - 'urn:alm:descriptor:com.tectonic.ui:checkbox'
- default: false
- delay:
- title: Delay
- description: The number of milliseconds before the next poll from the database.
- type: integer
- default: 500
- types:
- out:
- mediaType: application/json
- dependencies:
- - "camel:gson"
- - "camel:aws2-ddb"
- - "camel:kamelet"
- template:
- from:
- uri: "aws2-ddbstream:{{table}}"
- parameters:
- secretKey: "{{?secretKey}}"
- accessKey: "{{?accessKey}}"
- region: "{{region}}"
- streamIteratorType: "{{streamIteratorType}}"
- useDefaultCredentialsProvider: "{{useDefaultCredentialsProvider}}"
- uriEndpointOverride: "{{?uriEndpointOverride}}"
- overrideEndpoint: "{{overrideEndpoint}}"
- delay: "{{delay}}"
- steps:
- - marshal:
- json:
- library: Gson
- - to: "kamelet:sink"
diff --git a/aws-kinesis-firehose-sink.kamelet.yaml b/aws-kinesis-firehose-sink.kamelet.yaml
deleted file mode 100644
index 35cd3cfbd..000000000
--- a/aws-kinesis-firehose-sink.kamelet.yaml
+++ /dev/null
@@ -1,69 +0,0 @@
-apiVersion: camel.apache.org/v1alpha1
-kind: Kamelet
-metadata:
- name: aws-kinesis-firehose-sink
- annotations:
- camel.apache.org/catalog.version: "2.2.0"
- camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgODUgODUiIGZpbGw9IiNmZmYiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc3Ryb2tlPSIjMDAwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjx1c2UgeGxpbms6aHJlZj0iI0EiIHg9IjIuNSIgeT0iMi41Ii8+PHN5bWJvbCBpZD0iQSIgb3ZlcmZsb3c9InZpc2libGUiPjxnIHN0cm9rZT0ibm9uZSI+PHBhdGggZD0iTTEzLjc2NiAzLjEyaDUyLjQ2OGMzLjY1MSAwIDcuMTUyIDEuMzYzIDkuNzM0IDMuNzg4UzgwIDEyLjYyNCA4MCAxNi4wNTR2MjEuNjk4Yy0yLjcxNy0xLjMxOS04LjY2NC0yLjcyMy0xNy40NjQtMi43MjMtMy4zNy0uMDEzLTYuNzM3LjIyNC0xMC4wNjguNzA5LTUuOTMyLjkyMi05LjA1NyAyLjUxLTkuMDU3IDMuNDg5djM2Ljg3M2MwIC42MS44OTEgMS40MTggMi41ODEgMi4yMTJIMTMuNzY2QzYuMTYzIDc4LjMxMyAwIDcyLjUyMiAwIDY1LjM3OVYxNi4wNTRDMCA4LjkxMSA2LjE2MyAzLjEyIDEzLjc2NiAzLjEyeiIgZmlsbD0iIzlkNTAyNSIvPjxwYXRoIGQ9Ik0xMy43NjYgMGg1Mi40NjhjMy42NTEgMCA3LjE1MiAxLjM2MyA5LjczNCAzLjc4OFM4MCA5LjUwNCA4MCAxMi45MzR2MjEuNjdjLTIuNzE3LTEuMzE5LTguNjY0LTIuNzIzLTE3LjQ2NC0yLjcyM2E2Ny45NCA2Ny45NCAwIDAgMC0xMC4wNjguNzA5Yy01LjkzMi45MjItOS4wNTcgMi41MS05LjA1NyAzLjQ4OXYzNi44MTZjMCAuNjEuODkxIDEuNDE4IDIuNTgxIDIuMjEySDEzLjc2NmMtMy42NTEgMC03LjE1Mi0xLjM2My05LjczNC0zLjc4OFMwIDY1LjYwNCAwIDYyLjE3NHYtNDkuMjRDMCA1Ljc5MSA2LjE2MyAwIDEzLjc2NiAweiIgZmlsbD0iI2Y1ODUzNCIvPjxwYXRoIGQ9Ik02My45MjQgNDEuODA4YTU3LjAzIDU3LjAzIDAgMCAwLTguNDUzLjU5NiAyNi40NCAyNi40NCAwIDAgMS03LjU0Ny0uNjI0djMuNTQ2YzAgLjgyMyAyLjY0MSAyLjE1NiA3LjU0NyAyLjkwN2E1NC40NyA1NC40NyAwIDAgMCA4LjQ1My41OTZDNzQuMzM5IDQ4LjgyOCA4MCA0Ni41MTcgODAgNDUuMzI2VjQxLjc4em0tMTYuMzc3IDEwLjQxdjI0LjI1MWMwIDEuMjIgNC41MjggMy41MTcgMTUuMzIxIDMuNTE3YTUxLjY4IDUxLjY4IDAgMCAwIDEzLjI2OC0xLjQxOGMyLjE0My0uNjUyIDMuNjY4LTEuNDE4IDMuODM0LTEuOTQzVjUyLjUxNmMtMy4xNCAxLjgyOS05LjYxNSAyLjgzNi0xNi4wNDUgMi44MzZoLTIuNjcxbC0xLjYzLS4yN2gtLjgxNWwtMS4yNjgtLjA5OS0uNjc5LS4wOTktMS4zNTgtLjE3YTIyLjQ5IDIyLjQ5IDAgMCAxLTcuOTU1LTIuNDk2eiIgZmlsbD0iIzlkNTAyNSIvPjxwYXRoIGQ9Ik02My45MjQgMzguMjc3YTU3LjAxIDU3LjAxIDAgMCAwLTguNDUzLjU5NmMtNC45ODEuNzgtNy41NDcgMi4xMTMtNy41NDcgMi45MjJzMi42NDEgMi4xNTYgNy41NDcgMi45MDdhNTQuNDYgNTQuNDYgMCAwIDAgOC40NTMuNTk2Qzc0LjMzOSA0NS4yOTggODAgNDIuOTg2IDgwIDQxLjc5NXMtNS42Ni0zLjUxNy0xNi4wNzYtMy41MTd6TTQ3LjU0NyA0OC42NzN2MjQuMjIzYzAgMS4yMzQgNC41MjggMy41MDMgMTUuMjc1IDMuNTAzYTUxLjY4IDUxLjY4IDAgMCAwIDEzLjI2OC0xLjQxOGMyLjE0My0uNjUyIDMuNjY4LTEuNDE4IDMuODM0LTEuOTQzdi0yNC4xMWMtMy4xNCAxLjgzLTkuNjE1IDIuODM2LTE2LjA0NSAyLjgzNmgtMi42NzJsLTEuNTg1LS4yMjdoLS44MTVsLTEuMjY4LS4wOTktLjY3OS0uMDk5LTEuMzU4LS4xN2EyMi40OSAyMi40OSAwIDAgMS03Ljk1NS0yLjQ5NnoiIGZpbGw9IiNmNTg1MzQiLz48cGF0aCBkPSJNMTMuNzY2IDc1LjE2NWgzMi4xOTZ2My4xMkgxMy43NjZDNi4xNjMgNzguMjg1IDAgNzIuNDk0IDAgNjUuMzUxdi0zLjEyYzAgNy4xNDMgNi4xNjMgMTIuOTM0IDEzLjc2NiAxMi45MzR6IiBmaWxsPSIjOWQ1MDI1Ii8+PHBhdGggZD0iTTY1LjE3NyAxNi4xNjhMNTMuMTAyIDQuODIydjUuNjczSDM0LjI0OVYzMC4zNWgxOC44MjN2Mi4xODRsNC4yNTYtLjQ0TDY5LjcyIDIwLjQyMnptLTU3LjU2OS0uMDAxdjE0LjE4MmgyMC44M1YxMC40NTJINy42MDh2NS43MTV6bTUuODExIDMzLjUxMnYxNC4xODJoMjAuODNWNDMuOTY0aC0yMC44M3Y1LjcxNXoiLz48L2c+PC9zeW1ib2w+PC9zdmc+"
- camel.apache.org/provider: "Red Hat"
- camel.apache.org/kamelet.group: "AWS Kinesis Firehose"
- labels:
- camel.apache.org/kamelet.type: sink
-spec:
- definition:
- title: AWS Kinesis Firehose Sink
- description: |-
- Send message to an AWS Kinesis Firehose Stream
- required:
- - streamName
- - accessKey
- - secretKey
- - region
- type: object
- properties:
- streamName:
- title: Stream name
- description: The name of the stream we want to send to data to
- type: string
- accessKey:
- title: Access Key
- description: The access key obtained from AWS
- type: string
- format: password
- x-descriptors:
- - urn:alm:descriptor:com.tectonic.ui:password
- - urn:camel:group:credentials
- secretKey:
- title: Secret Key
- description: The secret key obtained from AWS
- type: string
- format: password
- x-descriptors:
- - urn:alm:descriptor:com.tectonic.ui:password
- - urn:camel:group:credentials
- region:
- title: AWS Region
- description: The AWS region to connect to
- type: string
- example: eu-west-1
- useDefaultCredentialsProvider:
- title: Default Credentials Provider
- description: If true, the KinesisFirehose client loads credentials through a default credentials provider. If false, it uses the basic authentication method (access key and secret key).
- type: boolean
- x-descriptors:
- - 'urn:alm:descriptor:com.tectonic.ui:checkbox'
- default: false
- dependencies:
- - "camel:kamelet"
- - "camel:aws2-kinesis"
- template:
- from:
- uri: kamelet:source
- steps:
- - to:
- uri: "aws2-kinesis-firehose:{{streamName}}"
- parameters:
- accessKey: "{{?accessKey}}"
- secretKey: "{{?secretKey}}"
- region: "{{region}}"
- useDefaultCredentialsProvider: "{{useDefaultCredentialsProvider}}"
diff --git a/aws-kinesis-sink.kamelet.yaml b/aws-kinesis-sink.kamelet.yaml
index 829969ee5..6f7899150 100644
--- a/aws-kinesis-sink.kamelet.yaml
+++ b/aws-kinesis-sink.kamelet.yaml
@@ -1,12 +1,14 @@
-apiVersion: camel.apache.org/v1alpha1
+apiVersion: camel.apache.org/v1
kind: Kamelet
metadata:
name: aws-kinesis-sink
annotations:
- camel.apache.org/catalog.version: "2.2.0"
+ camel.apache.org/kamelet.support.level: "Stable"
+ camel.apache.org/catalog.version: "2.2.0-SNAPSHOT"
camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMzA4LjIzNDAxIj48dGl0bGU+YXdzLWtpbmVzaXM8L3RpdGxlPjxwYXRoIGQ9Ik0wLDE3Mi4wODdsMTI3Ljc1NCw1OC44MSwxMjcuNzUyLTU4LjgxLTEyNy43NTItNS4yOTNaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwIDAuMDAwMDUpIiBmaWxsPSIjZmNiZjkyIi8+PHBhdGggZD0iTTEyOC4xNDcsMCwuMDU5LDYzLjg4MXY5MC4xMzZIMTUzLjY0OFYxMi43NTFaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwIDAuMDAwMDUpIiBmaWxsPSIjOWQ1MDI1Ii8+PHBhdGggZD0iTS4wNTksMjE3LjU1OWwxMjguMTYyLDkwLjY3NUwyNTYsMjE3LjU1OSwxMjcuOTQ1LDE5OC45MjZaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwIDAuMDAwMDUpIiBmaWxsPSIjZmNiZjkyIi8+PHBhdGggZD0iTTEyOC4xNDYsMTU0LjAxN2g2Ny41NzdWNTcuODM2TDE3NS45OSw0OS45NDMsMTI4LjE0Niw2My44OThaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwIDAuMDAwMDUpIiBmaWxsPSIjOWQ1MDI1Ii8+PHBhdGggZD0iTTE3NS45OSwxNTQuMDE3aDUyLjIzM1Y5MS42MzJsLTE0Ljk0LTQuNDgxLTM3LjI5Myw2LjMzWiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCAwLjAwMDA1KSIgZmlsbD0iIzlkNTAyNSIvPjxwYXRoIGQ9Ik0yMTMuMjgyLDgyLjI2djcxLjc1N2g0Mi4yMjRMMjU2LDgxLjk0MWwtMTIuODI2LTUuMTI0WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCAwLjAwMDA1KSIgZmlsbD0iIzlkNTAyNSIvPjxwYXRoIGQ9Ik0xMjguMTQ3LDBWMTU0LjAxN2gyNS41VjEyLjc1MVoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgMC4wMDAwNSkiIGZpbGw9IiNmNjg1MzQiLz48cGF0aCBkPSJNMTk1LjcyNCw1Ny44MzZsLTE5LjczMy03Ljg5NFYxNTQuMDE3aDE5LjczMloiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgMC4wMDAwNSkiIGZpbGw9IiNmNjg1MzQiLz48cGF0aCBkPSJNMjI4LjIyNCw5MS42MzJsLTE0Ljk0MS00LjQ4djY2Ljg2NWgxNC45NFoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgMC4wMDAwNSkiIGZpbGw9IiNmNjg1MzQiLz48cGF0aCBkPSJNMjQzLjE3NCwxNTQuMDE3SDI1NlY4MS45NDFsLTEyLjgyNi01LjEyNFoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgMC4wMDAwNSkiIGZpbGw9IiNmNjg1MzQiLz48cGF0aCBkPSJNMTI3Ljc1NCwxODQuODYzdjQ2LjAzM2wxMjcuNzUyLTMxLjg0NFYxNzIuMDg3WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCAwLjAwMDA1KSIgZmlsbD0iI2Y2ODUzNCIvPjxwYXRoIGQ9Ik0xMjcuNzU0LDI2Mi43ODF2NDUuNDUzTDI1NiwyNDQuMTE0VjIxNy41NloiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgMC4wMDAwNSkiIGZpbGw9IiNmNjg1MzQiLz48cGF0aCBkPSJNLjA1OSwyNDQuMzlsMTI3LjY5NSw2My44NDRWMjYyLjQ0OEwuMDU4LDIxNy41NThaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwIDAuMDAwMDUpIiBmaWxsPSIjOWQ1MDI1Ii8+PHBhdGggZD0iTTAsMTk5LjA1MWwxMjcuNzU0LDMxLjg0NVYxODQuODYyTDAsMTcyLjA4NloiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgMC4wMDAwNSkiIGZpbGw9IiM5ZDUwMjUiLz48L3N2Zz4="
camel.apache.org/provider: "Red Hat"
camel.apache.org/kamelet.group: "AWS Kinesis"
+ camel.apache.org/kamelet.namespace: "AWS"
labels:
camel.apache.org/kamelet.type: sink
spec:
@@ -15,31 +17,28 @@ spec:
description: |-
Send data to AWS Kinesis.
- The Kamelet expects the following header:
+ The basic authentication method for the Kinesis service is to specify an access key and a secret key. These parameters are optional because the Kamelet provides a default credentials provider.
- - `partition` / `ce-partition`: to set the Kinesis partition key
+ If you use the default credentials provider, the Kinesis client loads the credentials through this provider and doesn't use the basic authentication method.
- If the header won't be set the exchange ID will be used.
+ In the header, you can optionally set the `file` / `ce-partition` property to set the Kinesis partition key.
- The Kamelet is also able to recognize the following header:
+ If you do not set the property in the header, the Kamelet uses the exchange ID for the partition key.
- - `sequence-number` / `ce-sequencenumber`: to set the Sequence number
+ You can also set the `sequence-number` / `ce-sequencenumber` property in the header to specify the Sequence number.
- This header is optional.
required:
- stream
- - accessKey
- - secretKey
- region
type: object
properties:
stream:
title: Stream Name
- description: The Kinesis stream that you want to access (needs to be created in advance)
+ description: The Kinesis stream that you want to access. The Kinesis stream that you specify must already exist.
type: string
accessKey:
title: Access Key
- description: The access key obtained from AWS
+ description: The access key obtained from AWS.
type: string
format: password
x-descriptors:
@@ -47,7 +46,7 @@ spec:
- urn:camel:group:credentials
secretKey:
title: Secret Key
- description: The secret key obtained from AWS
+ description: The secret key obtained from AWS.
type: string
format: password
x-descriptors:
@@ -55,9 +54,9 @@ spec:
- urn:camel:group:credentials
region:
title: AWS Region
- description: The AWS region to connect to
+ description: The AWS region to access.
type: string
- example: eu-west-1
+ enum: ["ap-south-1", "eu-south-1", "us-gov-east-1", "me-central-1", "ca-central-1", "eu-central-1", "us-iso-west-1", "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-northeast-1", "me-south-1", "sa-east-1", "ap-east-1", "cn-north-1", "us-gov-west-1", "ap-southeast-1", "ap-southeast-2", "us-iso-east-1", "ap-southeast-3", "us-east-1", "us-east-2", "cn-northwest-1", "us-isob-east-1", "aws-global", "aws-cn-global", "aws-us-gov-global", "aws-iso-global", "aws-iso-b-global"]
useDefaultCredentialsProvider:
title: Default Credentials Provider
description: If true, the Kinesis client loads credentials through a default credentials provider. If false, it uses the basic authentication method (access key and secret key).
@@ -65,8 +64,22 @@ spec:
x-descriptors:
- 'urn:alm:descriptor:com.tectonic.ui:checkbox'
default: false
+ uriEndpointOverride:
+ title: Overwrite Endpoint URI
+ description: The overriding endpoint URI. To use this option, you must also select the `overrideEndpoint` option.
+ type: string
+ overrideEndpoint:
+ title: Endpoint Overwrite
+ description: Select this option to override the endpoint URI. To use this option, you must also provide a URI for the `uriEndpointOverride` option.
+ type: boolean
+ x-descriptors:
+ - 'urn:alm:descriptor:com.tectonic.ui:checkbox'
+ default: false
+ types:
+ in:
+ mediaType: application/octet-stream
dependencies:
- - camel:core
+ - "camel:core"
- "camel:aws2-kinesis"
- "camel:kamelet"
template:
@@ -109,3 +122,5 @@ spec:
accessKey: "{{?accessKey}}"
region: "{{region}}"
useDefaultCredentialsProvider: "{{useDefaultCredentialsProvider}}"
+ uriEndpointOverride: "{{?uriEndpointOverride}}"
+ overrideEndpoint: "{{overrideEndpoint}}"
diff --git a/aws-kinesis-source.kamelet.yaml b/aws-kinesis-source.kamelet.yaml
index ca3e7a7eb..691e007d8 100644
--- a/aws-kinesis-source.kamelet.yaml
+++ b/aws-kinesis-source.kamelet.yaml
@@ -1,12 +1,14 @@
-apiVersion: camel.apache.org/v1alpha1
+apiVersion: camel.apache.org/v1
kind: Kamelet
metadata:
name: aws-kinesis-source
annotations:
- camel.apache.org/catalog.version: "2.2.0"
+ camel.apache.org/kamelet.support.level: "Stable"
+ camel.apache.org/catalog.version: "2.2.0-SNAPSHOT"
camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMzA4LjIzNDAxIj48dGl0bGU+YXdzLWtpbmVzaXM8L3RpdGxlPjxwYXRoIGQ9Ik0wLDE3Mi4wODdsMTI3Ljc1NCw1OC44MSwxMjcuNzUyLTU4LjgxLTEyNy43NTItNS4yOTNaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwIDAuMDAwMDUpIiBmaWxsPSIjZmNiZjkyIi8+PHBhdGggZD0iTTEyOC4xNDcsMCwuMDU5LDYzLjg4MXY5MC4xMzZIMTUzLjY0OFYxMi43NTFaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwIDAuMDAwMDUpIiBmaWxsPSIjOWQ1MDI1Ii8+PHBhdGggZD0iTS4wNTksMjE3LjU1OWwxMjguMTYyLDkwLjY3NUwyNTYsMjE3LjU1OSwxMjcuOTQ1LDE5OC45MjZaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwIDAuMDAwMDUpIiBmaWxsPSIjZmNiZjkyIi8+PHBhdGggZD0iTTEyOC4xNDYsMTU0LjAxN2g2Ny41NzdWNTcuODM2TDE3NS45OSw0OS45NDMsMTI4LjE0Niw2My44OThaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwIDAuMDAwMDUpIiBmaWxsPSIjOWQ1MDI1Ii8+PHBhdGggZD0iTTE3NS45OSwxNTQuMDE3aDUyLjIzM1Y5MS42MzJsLTE0Ljk0LTQuNDgxLTM3LjI5Myw2LjMzWiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCAwLjAwMDA1KSIgZmlsbD0iIzlkNTAyNSIvPjxwYXRoIGQ9Ik0yMTMuMjgyLDgyLjI2djcxLjc1N2g0Mi4yMjRMMjU2LDgxLjk0MWwtMTIuODI2LTUuMTI0WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCAwLjAwMDA1KSIgZmlsbD0iIzlkNTAyNSIvPjxwYXRoIGQ9Ik0xMjguMTQ3LDBWMTU0LjAxN2gyNS41VjEyLjc1MVoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgMC4wMDAwNSkiIGZpbGw9IiNmNjg1MzQiLz48cGF0aCBkPSJNMTk1LjcyNCw1Ny44MzZsLTE5LjczMy03Ljg5NFYxNTQuMDE3aDE5LjczMloiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgMC4wMDAwNSkiIGZpbGw9IiNmNjg1MzQiLz48cGF0aCBkPSJNMjI4LjIyNCw5MS42MzJsLTE0Ljk0MS00LjQ4djY2Ljg2NWgxNC45NFoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgMC4wMDAwNSkiIGZpbGw9IiNmNjg1MzQiLz48cGF0aCBkPSJNMjQzLjE3NCwxNTQuMDE3SDI1NlY4MS45NDFsLTEyLjgyNi01LjEyNFoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgMC4wMDAwNSkiIGZpbGw9IiNmNjg1MzQiLz48cGF0aCBkPSJNMTI3Ljc1NCwxODQuODYzdjQ2LjAzM2wxMjcuNzUyLTMxLjg0NFYxNzIuMDg3WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCAwLjAwMDA1KSIgZmlsbD0iI2Y2ODUzNCIvPjxwYXRoIGQ9Ik0xMjcuNzU0LDI2Mi43ODF2NDUuNDUzTDI1NiwyNDQuMTE0VjIxNy41NloiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgMC4wMDAwNSkiIGZpbGw9IiNmNjg1MzQiLz48cGF0aCBkPSJNLjA1OSwyNDQuMzlsMTI3LjY5NSw2My44NDRWMjYyLjQ0OEwuMDU4LDIxNy41NThaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwIDAuMDAwMDUpIiBmaWxsPSIjOWQ1MDI1Ii8+PHBhdGggZD0iTTAsMTk5LjA1MWwxMjcuNzU0LDMxLjg0NVYxODQuODYyTDAsMTcyLjA4NloiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgMC4wMDAwNSkiIGZpbGw9IiM5ZDUwMjUiLz48L3N2Zz4="
camel.apache.org/provider: "Red Hat"
camel.apache.org/kamelet.group: "AWS Kinesis"
+ camel.apache.org/kamelet.namespace: "AWS"
labels:
camel.apache.org/kamelet.type: "source"
spec:
@@ -14,20 +16,24 @@ spec:
title: "AWS Kinesis Source"
description: |-
Receive data from AWS Kinesis.
+
+ The basic authentication method for the Kinesis service is to specify an access key and a secret key. These parameters are optional because the Kamelet provides a default credentials provider.
+
+ If you use the default credentials provider, the Kinesis client loads the credentials through this provider and doesn't use the basic authentication method.
+
+ Two headers will be duplicated with different names for clarity at sink level, CamelAwsKinesisPartitionKey will be duplicated into aws.kinesis.partition.key and CamelAwsKinesisSequenceNumber will be duplicated in aws.kinesis.sequence.number
required:
- stream
- - accessKey
- - secretKey
- region
type: object
properties:
stream:
title: Stream Name
- description: The Kinesis stream that you want to access (needs to be created in advance)
+ description: The Kinesis stream that you want to access. The Kinesis stream that you specify must already exist.
type: string
accessKey:
title: Access Key
- description: The access key obtained from AWS
+ description: The access key obtained from AWS.
type: string
format: password
x-descriptors:
@@ -35,7 +41,7 @@ spec:
- urn:camel:group:credentials
secretKey:
title: Secret Key
- description: The secret key obtained from AWS
+ description: The secret key obtained from AWS.
type: string
format: password
x-descriptors:
@@ -43,9 +49,9 @@ spec:
- urn:camel:group:credentials
region:
title: AWS Region
- description: The AWS region to connect to
+ description: The AWS region to access.
type: string
- example: eu-west-1
+ enum: ["ap-south-1", "eu-south-1", "us-gov-east-1", "me-central-1", "ca-central-1", "eu-central-1", "us-iso-west-1", "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-northeast-1", "me-south-1", "sa-east-1", "ap-east-1", "cn-north-1", "us-gov-west-1", "ap-southeast-1", "ap-southeast-2", "us-iso-east-1", "ap-southeast-3", "us-east-1", "us-east-2", "cn-northwest-1", "us-isob-east-1", "aws-global", "aws-cn-global", "aws-us-gov-global", "aws-iso-global", "aws-iso-b-global"]
useDefaultCredentialsProvider:
title: Default Credentials Provider
description: If true, the Kinesis client loads credentials through a default credentials provider. If false, it uses the basic authentication method (access key and secret key).
@@ -53,14 +59,39 @@ spec:
x-descriptors:
- 'urn:alm:descriptor:com.tectonic.ui:checkbox'
default: false
+ uriEndpointOverride:
+ title: Overwrite Endpoint URI
+ description: The overriding endpoint URI. To use this option, you must also select the `overrideEndpoint` option.
+ type: string
+ overrideEndpoint:
+ title: Endpoint Overwrite
+ description: Select this option to override the endpoint URI. To use this option, you must also provide a URI for the `uriEndpointOverride` option.
+ type: boolean
+ x-descriptors:
+ - 'urn:alm:descriptor:com.tectonic.ui:checkbox'
+ default: false
+ delay:
+ title: Delay
+ description: The number of milliseconds before the next poll of the selected stream.
+ type: integer
+ default: 500
types:
out:
- mediaType: application/json
+ mediaType: application/octet-stream
dependencies:
- - "camel:gson"
- - "camel:kamelet"
- - "camel:aws2-kinesis"
+ - "camel:aws2-kinesis"
+ - "camel:kamelet"
+ - "camel:core"
+ - "github:openshift-integration.kamelet-catalog:camel-kamelets-utils:2.2.0-SNAPSHOT"
template:
+ beans:
+ - name: duplicateHeaders
+ type: "#class:org.apache.camel.kamelets.utils.headers.DuplicateNamingHeaders"
+ properties:
+ prefix: 'CamelAwsKinesis'
+ renamingPrefix: 'aws.kinesis.'
+ mode: 'filtering'
+ selectedHeaders: 'CamelAwsKinesisPartitionKey,CamelAwsKinesisSequenceNumber'
from:
uri: aws2-kinesis:{{stream}}
parameters:
@@ -68,8 +99,10 @@ spec:
accessKey: "{{?accessKey}}"
region: "{{region}}"
useDefaultCredentialsProvider: "{{useDefaultCredentialsProvider}}"
+ uriEndpointOverride: "{{?uriEndpointOverride}}"
+ overrideEndpoint: "{{overrideEndpoint}}"
+ delay: "{{delay}}"
steps:
- - marshal:
- json:
- library: Gson
+ - process:
+ ref: "{{duplicateHeaders}}"
- to: "kamelet:sink"
diff --git a/aws-lambda-sink.kamelet.yaml b/aws-lambda-sink.kamelet.yaml
index 1e5b40259..a07c88e43 100644
--- a/aws-lambda-sink.kamelet.yaml
+++ b/aws-lambda-sink.kamelet.yaml
@@ -1,33 +1,37 @@
-apiVersion: camel.apache.org/v1alpha1
+apiVersion: camel.apache.org/v1
kind: Kamelet
metadata:
name: aws-lambda-sink
annotations:
- camel.apache.org/catalog.version: "2.2.0"
+ camel.apache.org/kamelet.support.level: "Stable"
+ camel.apache.org/catalog.version: "2.2.0-SNAPSHOT"
camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjA2NSIgaGVpZ2h0PSIyNTAwIiB2aWV3Qm94PSIwIDAgMjU2IDMxMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCI+PHBhdGggZD0iTTAgMjQ1LjI2MmwxNi4zMjIgOC4xNjFMMTkgMjQ4LjY2OFY1OS4zMzNsLTIuNjc4LTMuNDk0TDAgNjR2MTgxLjI2MiIgZmlsbD0iIzlENTAyNSIvPjxwYXRoIGQ9Ik00Ny42NzggNjMuNTdsLTMxLjM1Ni03LjczMXYxOTcuNTg0bDMxLjM1Ni03LjMwMlY2My41NyIgZmlsbD0iI0Y2ODUzNiIvPjxwYXRoIGQ9Ik0xNDMuODkzIDc4LjYwNGwyMi4zMzUtMTEuNTk3IDc0LjMwOSAyOC43NzgtMTkuNzU4IDIuNTc3LTc2Ljg4Ni0xOS43NTgiIGZpbGw9IiM2QjNBMTkiLz48cGF0aCBkPSJNMTQ0Ljc1MiAyMzAuNjU4bDIxLjkwNiAxMS41OTcgNzQuMzA4LTI4Ljc3OC0xOS43NTgtMi41NzgtNzYuNDU2IDE5Ljc1OSIgZmlsbD0iI0ZCQkY5MyIvPjxwYXRoIGQ9Ik0xNTAuMzM2IDE5OC44NzJsMzkuMDg3IDUuMTU1IDIuMjQ0LTQuMDI3di05MGwtMi4yNDQtNC43NjUtMzkuMDg3IDUuMTU0djg4LjQ4M00zNS42NTEgNDUuOTZsMjQuMDU0LTEyLjAyN0w2Mi4zMzMgMzl2MjMxbC0yLjYyOCA1LjMyOS0yNC4wNTQtMTIuMDI3VjQ1Ljk2IiBmaWxsPSIjOUQ1MDI1Ii8+PHBhdGggZD0iTTEwOC42NzEgMjU5LjAwN2wtNDguOTY2IDE1Ljg5MlYzMy45MzNsNDguOTY2IDE1Ljg5M3YyMDkuMTgxIiBmaWxsPSIjRjY4NTM2Ii8+PHBhdGggZD0iTTg5Ljc3MiAyODkuOTMzTDEyOCAzMDkuMjYybDQtNC41OTV2LTI5OUwxMjggMCA4OS43NzIgMTkuMzI5djI3MC42MDRNMjE5LjkxOSA5OC4zNjJsMTkuNzU5LTIuNTc3IDEuNjk3IDIuNDY1VjIxMWwtMS42OTcgMi45MDYtMTkuNzU5LTIuNTc3Vjk4LjM2MiIgZmlsbD0iIzlENTAyNSIvPjxwYXRoIGQ9Ik0xODkuNDIzIDEwNS4yMzV2OTkuMjIxbDQwLjgwNS00OS44MjUtNDAuODA1LTQ5LjM5NiIgZmlsbD0iI0Y2ODUzNiIvPjxwYXRoIGQ9Ik0yMzkuNjc4IDU1LjgzOUwxMjggMHYzMDkuMjYybDEyOC02NFY2NGwtMTYuMzIyLTguMTYxem0wIDE1OC4yMTdsLTczLjQ1IDIxLjkzNlY3My4yN2w3My40NSAyMS45MzZ2MTE4Ljg1eiIgZmlsbD0iI0Y2ODUzNiIvPjwvc3ZnPg=="
camel.apache.org/provider: "Red Hat"
camel.apache.org/kamelet.group: "AWS Lambda"
+ camel.apache.org/kamelet.namespace: "AWS"
labels:
camel.apache.org/kamelet.type: sink
spec:
definition:
title: AWS Lambda Sink
description: |-
- Send a payload to an AWS Lambda function
+ Send a payload to an AWS Lambda function.
+
+ The basic authentication method for the Lambda service is to specify an access key and a secret key. These parameters are optional because the Kamelet provides a default credentials provider.
+
+ If you use the default credentials provider, the Lambda client loads the credentials through this provider and doesn't use the basic authentication method.
required:
- function
- - accessKey
- - secretKey
- region
type: object
properties:
function:
title: Function Name
- description: The Lambda Function name
+ description: The Lambda Function name.
type: string
accessKey:
title: Access Key
- description: The access key obtained from AWS
+ description: The access key obtained from AWS.
type: string
format: password
x-descriptors:
@@ -35,7 +39,7 @@ spec:
- urn:camel:group:credentials
secretKey:
title: Secret Key
- description: The secret key obtained from AWS
+ description: The secret key obtained from AWS.
type: string
format: password
x-descriptors:
@@ -43,9 +47,9 @@ spec:
- urn:camel:group:credentials
region:
title: AWS Region
- description: The AWS region to connect to
+ description: The AWS region to access.
type: string
- example: eu-west-1
+ enum: ["ap-south-1", "eu-south-1", "us-gov-east-1", "me-central-1", "ca-central-1", "eu-central-1", "us-iso-west-1", "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-northeast-1", "me-south-1", "sa-east-1", "ap-east-1", "cn-north-1", "us-gov-west-1", "ap-southeast-1", "ap-southeast-2", "us-iso-east-1", "ap-southeast-3", "us-east-1", "us-east-2", "cn-northwest-1", "us-isob-east-1", "aws-global", "aws-cn-global", "aws-us-gov-global", "aws-iso-global", "aws-iso-b-global"]
useDefaultCredentialsProvider:
title: Default Credentials Provider
description: If true, the Lambda client loads credentials through a default credentials provider. If false, it uses the basic authentication method (access key and secret key).
@@ -54,8 +58,8 @@ spec:
- 'urn:alm:descriptor:com.tectonic.ui:checkbox'
default: false
dependencies:
- - "camel:kamelet"
- - "camel:aws2-lambda"
+ - "camel:aws2-lambda"
+ - "camel:kamelet"
template:
from:
uri: kamelet:source
diff --git a/aws-redshift-sink.kamelet.yaml b/aws-redshift-sink.kamelet.yaml
index 11e23b953..c1fe17581 100644
--- a/aws-redshift-sink.kamelet.yaml
+++ b/aws-redshift-sink.kamelet.yaml
@@ -1,28 +1,14 @@
-# ---------------------------------------------------------------------------
-# 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.
-# ---------------------------------------------------------------------------
-apiVersion: camel.apache.org/v1alpha1
+apiVersion: camel.apache.org/v1
kind: Kamelet
metadata:
name: aws-redshift-sink
annotations:
- camel.apache.org/catalog.version: "2.2.0"
+ camel.apache.org/kamelet.support.level: "Stable"
+ camel.apache.org/catalog.version: "2.2.0-SNAPSHOT"
camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxNjE1IDE3ODMuNyIgdmlld0JveD0iMCAwIDE2MTUgMTc4My43IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Im04MDcuNSAxMzYzLjggNjc4LjMgMTYxLjV2LTEyNzAuNWwtNjc4LjMgMTYxLjV6IiBmaWxsPSIjMjA1Yjk3Ii8+PHBhdGggZD0ibTE0ODUuOCAyNTQuOCAxMjkuMiA2NC42djExNDEuM2wtMTI5LjIgNjQuNnptLTY3OC4zIDExMDktNjc4LjMgMTYxLjV2LTEyNzAuNWw2NzguMyAxNjEuNXoiIGZpbGw9IiM1MTkzY2UiLz48cGF0aCBkPSJtMTI5LjIgMjU0LjgtMTI5LjIgNjQuNnYxMTQxLjNsMTI5LjIgNjQuNnoiIGZpbGw9IiMyMDViOTciLz48cGF0aCBkPSJtOTc5LjggMTc4My43IDI1OC40LTEyOS4ydi0xNTI1LjNsLTI1OC40LTEyOS4yLTc5IDg0N3oiIGZpbGw9IiM1MTkzY2UiLz48cGF0aCBkPSJtNjM1LjIgMTc4My43LTI1OC40LTEyOS4ydi0xNTI1LjNsMjU4LjQtMTI5LjIgNzkgODQ3eiIgZmlsbD0iIzIwNWI5NyIvPjxwYXRoIGQ9Im02MzUuMiAwaDM0OC4xdjE3ODAuMWgtMzQ4LjF6IiBmaWxsPSIjMmU3M2I3Ii8+PC9zdmc+"
camel.apache.org/provider: "Red Hat"
camel.apache.org/kamelet.group: "AWS Redshift"
+ camel.apache.org/kamelet.namespace: "AWS"
labels:
camel.apache.org/kamelet.type: "sink"
spec:
@@ -31,11 +17,11 @@ spec:
description: |-
Send data to an AWS Redshift Database.
- This Kamelet expects a JSON as body. The mapping between the JSON fields and parameters is done by key, so if you have the following query:
+ This Kamelet expects a JSON-formatted body. Use key:value pairs to map the JSON fields and parameters. For example, here is a query:
'INSERT INTO accounts (username,city) VALUES (:#username,:#city)'
- The Kamelet needs to receive as input something like:
+ Here is example input for the example query:
'{ "username":"oscerd", "city":"Rome"}'
required:
@@ -48,23 +34,23 @@ spec:
properties:
serverName:
title: Server Name
- description: Server Name for the data source
+ description: The server name for the data source.
type: string
example: localhost
serverPort:
title: Server Port
- description: Server Port for the data source
+ description: The server port for the AWS RedShi data source.
type: string
default: 5439
username:
title: Username
- description: The username to use for accessing a secured AWS Redshift Database
+ description: The username to access a secured AWS Redshift Database.
type: string
x-descriptors:
- urn:camel:group:credentials
password:
title: Password
- description: The password to use for accessing a secured AWS Redshift Database
+ description: The password to access a secured AWS Redshift Database.
type: string
format: password
x-descriptors:
@@ -72,12 +58,12 @@ spec:
- urn:camel:group:credentials
query:
title: Query
- description: The Query to execute against the AWS Redshift Database
+ description: The query to execute against the AWS Redshift Database.
type: string
example: 'INSERT INTO accounts (username,city) VALUES (:#username,:#city)'
databaseName:
title: Database Name
- description: The Database Name we are pointing
+ description: The name of the AWS RedShift Database.
type: string
types:
in:
@@ -86,21 +72,17 @@ spec:
- "camel:jackson"
- "camel:kamelet"
- "camel:sql"
- - "mvn:com.amazon.redshift:redshift-jdbc42:2.1.0.5"
- - "mvn:org.apache.commons:commons-dbcp2:2.7.0"
+ - "mvn:com.amazon.redshift:redshift-jdbc42:2.1.0.18"
+ - "mvn:org.apache.commons:commons-dbcp2:2.10.0"
template:
beans:
- name: dsBean
type: "#class:org.apache.commons.dbcp2.BasicDataSource"
- property:
- - key: username
- value: '{{username}}'
- - key: password
- value: '{{password}}'
- - key: url
- value: 'jdbc:redshift://{{serverName}}:{{serverPort}}/{{databaseName}}'
- - key: driverClassName
- value: 'com.amazon.redshift.jdbc.Driver'
+ properties:
+ username: '{{username}}'
+ password: '{{password}}'
+ url: 'jdbc:redshift://{{serverName}}:{{serverPort}}/{{databaseName}}'
+ driverClassName: 'com.amazon.redshift.jdbc.Driver'
from:
uri: "kamelet:source"
steps:
diff --git a/aws-s3-sink.kamelet.yaml b/aws-s3-sink.kamelet.yaml
index ccd583ee6..af177d049 100644
--- a/aws-s3-sink.kamelet.yaml
+++ b/aws-s3-sink.kamelet.yaml
@@ -1,35 +1,37 @@
-apiVersion: camel.apache.org/v1alpha1
+apiVersion: camel.apache.org/v1
kind: Kamelet
metadata:
name: aws-s3-sink
annotations:
- camel.apache.org/catalog.version: "2.2.0"
+ camel.apache.org/kamelet.support.level: "Stable"
+ camel.apache.org/catalog.version: "2.2.0-SNAPSHOT"
camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHg9IjAiIHk9IjAiIHZpZXdCb3g9IjAgMCAyNDguMiAzMDAiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxzdHlsZT4uc3QyOHtmaWxsOiM4YzMxMjN9LnN0Mjl7ZmlsbDojZTA1MjQzfTwvc3R5bGU+PHBhdGggY2xhc3M9InN0MjgiIGQ9Ik0yMCA1Mi4xTDAgNjJ2MTc1LjVsMjAgOS45LjEtLjFWNTIuMmwtLjEtLjEiLz48cGF0aCBjbGFzcz0ic3QyOSIgZD0iTTEyNyAyMjJMMjAgMjQ3LjVWNTIuMUwxMjcgNzd2MTQ1Ii8+PHBhdGggY2xhc3M9InN0MjgiIGQ9Ik03OC43IDE4Mi4xbDQ1LjQgNS44LjMtLjcuMy03NC40LS41LS42LTQ1LjQgNS43LS4xIDY0LjIiLz48cGF0aCBjbGFzcz0ic3QyOCIgZD0iTTEyNC4xIDIyMi4zbDEwNC4xIDI1LjIuMi0uM1Y1Mi4xbC0uMi0uMi0xMDQuMSAyNS40djE0NSIvPjxwYXRoIGNsYXNzPSJzdDI5IiBkPSJNMTY5LjUgMTgyLjFsLTQ1LjQgNS44di03NS43bDQ1LjQgNS43djY0LjIiLz48cGF0aCBkPSJNMTY5LjUgODYuOWwtNDUuNCA4LjMtNDUuNC04LjNMMTI0IDc1bDQ1LjUgMTEuOSIgZmlsbD0iIzVlMWYxOCIvPjxwYXRoIGQ9Ik0xNjkuNSAyMTMuMWwtNDUuNC04LjMtNDUuNCA4LjMgNDUuMyAxMi43IDQ1LjUtMTIuNyIgZmlsbD0iI2YyYjBhOSIvPjxwYXRoIGNsYXNzPSJzdDI4IiBkPSJNNzguNyA4Ni45bDQ1LjQtMTEuMi40LS4xVi4zbC0uNC0uMy00NS40IDIyLjd2NjQuMiIvPjxwYXRoIGNsYXNzPSJzdDI5IiBkPSJNMTY5LjUgODYuOWwtNDUuNC0xMS4yVjBsNDUuNCAyMi43djY0LjIiLz48cGF0aCBjbGFzcz0ic3QyOCIgZD0iTTEyNC4xIDMwMGwtNDUuNC0yMi43di02NC4ybDQ1LjQgMTEuMi43LjgtLjIgNzMuNi0uNSAxLjMiLz48cGF0aCBjbGFzcz0ic3QyOSIgZD0iTTEyNC4xIDMwMGw0NS40LTIyLjd2LTY0LjJsLTQ1LjQgMTEuMlYzMDBNMjI4LjIgNTIuMWwyMCAxMHYxNzUuNWwtMjAgMTBWNTIuMSIvPjwvc3ZnPg=="
camel.apache.org/provider: "Red Hat"
camel.apache.org/kamelet.group: "AWS S3"
+ camel.apache.org/kamelet.namespace: "AWS"
labels:
camel.apache.org/kamelet.type: "sink"
spec:
definition:
title: "AWS S3 Sink"
description: |-
- Upload data to AWS S3.
+ Upload data to an Amazon S3 Bucket.
- The Kamelet expects the following headers to be set:
+ The basic authentication method for the S3 service is to specify an access key and a secret key. These parameters are optional because the Kamelet provides a default credentials provider.
- - `file` / `ce-file`: as the file name to upload
+ If you use the default credentials provider, the S3 client loads the credentials through this provider and doesn't use the basic authentication method.
- If the header won't be set the exchange ID will be used as file name.
+ In the header, you can optionally set the `file` / `ce-partition` property to specify the name of the file to upload.
+
+ If you do not set the property in the header, the Kamelet uses the exchange ID for the file name.
required:
- bucketNameOrArn
- - accessKey
- - secretKey
- region
type: object
properties:
bucketNameOrArn:
title: Bucket Name
- description: The S3 Bucket name or ARN.
+ description: The S3 Bucket name or Amazon Resource Name (ARN).
type: string
accessKey:
title: Access Key
@@ -49,12 +51,12 @@ spec:
- urn:camel:group:credentials
region:
title: AWS Region
- description: The AWS region to connect to.
+ description: The AWS region to access.
type: string
- example: eu-west-1
+ enum: ["ap-south-1", "eu-south-1", "us-gov-east-1", "me-central-1", "ca-central-1", "eu-central-1", "us-iso-west-1", "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-northeast-1", "me-south-1", "sa-east-1", "ap-east-1", "cn-north-1", "us-gov-west-1", "ap-southeast-1", "ap-southeast-2", "us-iso-east-1", "ap-southeast-3", "us-east-1", "us-east-2", "cn-northwest-1", "us-isob-east-1", "aws-global", "aws-cn-global", "aws-us-gov-global", "aws-iso-global", "aws-iso-b-global"]
autoCreateBucket:
title: Autocreate Bucket
- description: Setting the autocreation of the S3 bucket bucketName.
+ description: Specifies to automatically create the S3 bucket.
type: boolean
x-descriptors:
- 'urn:alm:descriptor:com.tectonic.ui:checkbox'
@@ -66,8 +68,23 @@ spec:
x-descriptors:
- 'urn:alm:descriptor:com.tectonic.ui:checkbox'
default: false
+ uriEndpointOverride:
+ title: Overwrite Endpoint URI
+ description: The overriding endpoint URI. To use this option, you must also select the `overrideEndpoint` option.
+ type: string
+ overrideEndpoint:
+ title: Endpoint Overwrite
+ description: Select this option to override the endpoint URI. To use this option, you must also provide a URI for the `uriEndpointOverride` option.
+ type: boolean
+ x-descriptors:
+ - 'urn:alm:descriptor:com.tectonic.ui:checkbox'
+ default: false
+ keyName:
+ title: Key Name
+ description: The key name for saving an element in the bucket.
+ type: string
dependencies:
- - camel:core
+ - "camel:core"
- "camel:aws2-s3"
- "camel:kamelet"
template:
@@ -75,27 +92,35 @@ spec:
uri: "kamelet:source"
steps:
- choice:
+ precondition: true
when:
- - simple: "${header[file]}"
- steps:
- - set-header:
- name: CamelAwsS3Key
- simple: "${header[file]}"
- - simple: "${header[ce-file]}"
- steps:
- - set-header:
- name: CamelAwsS3Key
- simple: "${header[ce-file]}"
- otherwise:
- steps:
- - set-header:
- name: CamelAwsS3Key
- simple: "${exchangeId}"
+ - simple: '${propertiesExist:!keyName}'
+ steps:
+ - choice:
+ when:
+ - simple: "${header[file]}"
+ steps:
+ - set-header:
+ name: CamelAwsS3Key
+ simple: "${header[file]}"
+ - simple: "${header[ce-file]}"
+ steps:
+ - set-header:
+ name: CamelAwsS3Key
+ simple: "${header[ce-file]}"
+ otherwise:
+ steps:
+ - set-header:
+ name: CamelAwsS3Key
+ simple: "${exchangeId}"
- to:
uri: "aws2-s3:{{bucketNameOrArn}}"
parameters:
secretKey: "{{?secretKey}}"
accessKey: "{{?accessKey}}"
region: "{{region}}"
- useDefaultCredentialsProvider: "{{useDefaultCredentialsProvider}}"
autoCreateBucket: "{{autoCreateBucket}}"
+ useDefaultCredentialsProvider: "{{useDefaultCredentialsProvider}}"
+ uriEndpointOverride: "{{?uriEndpointOverride}}"
+ overrideEndpoint: "{{overrideEndpoint}}"
+ keyName: "{{?keyName}}"
diff --git a/aws-s3-source.kamelet.yaml b/aws-s3-source.kamelet.yaml
index 0538d0e2d..558b2d41b 100644
--- a/aws-s3-source.kamelet.yaml
+++ b/aws-s3-source.kamelet.yaml
@@ -1,40 +1,46 @@
-apiVersion: camel.apache.org/v1alpha1
+apiVersion: camel.apache.org/v1
kind: Kamelet
metadata:
name: aws-s3-source
annotations:
- camel.apache.org/catalog.version: "2.2.0"
+ camel.apache.org/kamelet.support.level: "Stable"
+ camel.apache.org/catalog.version: "2.2.0-SNAPSHOT"
camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHg9IjAiIHk9IjAiIHZpZXdCb3g9IjAgMCAyNDguMiAzMDAiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxzdHlsZT4uc3QyOHtmaWxsOiM4YzMxMjN9LnN0Mjl7ZmlsbDojZTA1MjQzfTwvc3R5bGU+PHBhdGggY2xhc3M9InN0MjgiIGQ9Ik0yMCA1Mi4xTDAgNjJ2MTc1LjVsMjAgOS45LjEtLjFWNTIuMmwtLjEtLjEiLz48cGF0aCBjbGFzcz0ic3QyOSIgZD0iTTEyNyAyMjJMMjAgMjQ3LjVWNTIuMUwxMjcgNzd2MTQ1Ii8+PHBhdGggY2xhc3M9InN0MjgiIGQ9Ik03OC43IDE4Mi4xbDQ1LjQgNS44LjMtLjcuMy03NC40LS41LS42LTQ1LjQgNS43LS4xIDY0LjIiLz48cGF0aCBjbGFzcz0ic3QyOCIgZD0iTTEyNC4xIDIyMi4zbDEwNC4xIDI1LjIuMi0uM1Y1Mi4xbC0uMi0uMi0xMDQuMSAyNS40djE0NSIvPjxwYXRoIGNsYXNzPSJzdDI5IiBkPSJNMTY5LjUgMTgyLjFsLTQ1LjQgNS44di03NS43bDQ1LjQgNS43djY0LjIiLz48cGF0aCBkPSJNMTY5LjUgODYuOWwtNDUuNCA4LjMtNDUuNC04LjNMMTI0IDc1bDQ1LjUgMTEuOSIgZmlsbD0iIzVlMWYxOCIvPjxwYXRoIGQ9Ik0xNjkuNSAyMTMuMWwtNDUuNC04LjMtNDUuNCA4LjMgNDUuMyAxMi43IDQ1LjUtMTIuNyIgZmlsbD0iI2YyYjBhOSIvPjxwYXRoIGNsYXNzPSJzdDI4IiBkPSJNNzguNyA4Ni45bDQ1LjQtMTEuMi40LS4xVi4zbC0uNC0uMy00NS40IDIyLjd2NjQuMiIvPjxwYXRoIGNsYXNzPSJzdDI5IiBkPSJNMTY5LjUgODYuOWwtNDUuNC0xMS4yVjBsNDUuNCAyMi43djY0LjIiLz48cGF0aCBjbGFzcz0ic3QyOCIgZD0iTTEyNC4xIDMwMGwtNDUuNC0yMi43di02NC4ybDQ1LjQgMTEuMi43LjgtLjIgNzMuNi0uNSAxLjMiLz48cGF0aCBjbGFzcz0ic3QyOSIgZD0iTTEyNC4xIDMwMGw0NS40LTIyLjd2LTY0LjJsLTQ1LjQgMTEuMlYzMDBNMjI4LjIgNTIuMWwyMCAxMHYxNzUuNWwtMjAgMTBWNTIuMSIvPjwvc3ZnPg=="
camel.apache.org/provider: "Red Hat"
camel.apache.org/kamelet.group: "AWS S3"
+ camel.apache.org/kamelet.namespace: "AWS"
labels:
camel.apache.org/kamelet.type: "source"
spec:
definition:
title: "AWS S3 Source"
description: |-
- Receive data from AWS S3.
+ Receive data from an Amazon S3 Bucket.
+
+ The basic authentication method for the S3 service is to specify an access key and a secret key. These parameters are optional because the Kamelet provides a default credentials provider.
+
+ If you use the default credentials provider, the S3 client loads the credentials through this provider and doesn't use the basic authentication method.
+
+ Two headers will be duplicated with different names for clarity at sink level, CamelAwsS3Key will be duplicated into aws.s3.key and CamelAwsS3BucketName will be duplicated in aws.s3.bucket.name
required:
- bucketNameOrArn
- - accessKey
- - secretKey
- region
type: object
properties:
bucketNameOrArn:
title: Bucket Name
- description: The S3 Bucket name or ARN
+ description: The S3 Bucket name or Amazon Resource Name (ARN).
type: string
deleteAfterRead:
title: Auto-delete Objects
- description: Delete objects after consuming them
+ description: Specifies to delete objects after consuming them.
type: boolean
x-descriptors:
- 'urn:alm:descriptor:com.tectonic.ui:checkbox'
default: true
accessKey:
title: Access Key
- description: The access key obtained from AWS
+ description: The access key obtained from AWS.
type: string
format: password
x-descriptors:
@@ -42,7 +48,7 @@ spec:
- urn:camel:group:credentials
secretKey:
title: Secret Key
- description: The secret key obtained from AWS
+ description: The secret key obtained from AWS.
type: string
format: password
x-descriptors:
@@ -50,12 +56,24 @@ spec:
- urn:camel:group:credentials
region:
title: AWS Region
- description: The AWS region to connect to
+ description: The AWS region to access.
type: string
- example: eu-west-1
+ enum: ["ap-south-1", "eu-south-1", "us-gov-east-1", "me-central-1", "ca-central-1", "eu-central-1", "us-iso-west-1", "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-northeast-1", "me-south-1", "sa-east-1", "ap-east-1", "cn-north-1", "us-gov-west-1", "ap-southeast-1", "ap-southeast-2", "us-iso-east-1", "ap-southeast-3", "us-east-1", "us-east-2", "cn-northwest-1", "us-isob-east-1", "aws-global", "aws-cn-global", "aws-us-gov-global", "aws-iso-global", "aws-iso-b-global"]
autoCreateBucket:
title: Autocreate Bucket
- description: Setting the autocreation of the S3 bucket bucketName.
+ description: Specifies to automatically create the S3 bucket.
+ type: boolean
+ x-descriptors:
+ - 'urn:alm:descriptor:com.tectonic.ui:checkbox'
+ default: false
+ prefix:
+ title: Prefix
+ description: The AWS S3 bucket prefix to consider while searching.
+ type: string
+ example: 'folder/'
+ ignoreBody:
+ title: Ignore Body
+ description: If true, the S3 Object body is ignored. Setting this to true overrides any behavior defined by the `includeBody` option. If false, the S3 object is put in the body.
type: boolean
x-descriptors:
- 'urn:alm:descriptor:com.tectonic.ui:checkbox'
@@ -67,10 +85,41 @@ spec:
x-descriptors:
- 'urn:alm:descriptor:com.tectonic.ui:checkbox'
default: false
+ uriEndpointOverride:
+ title: Overwrite Endpoint URI
+ description: The overriding endpoint URI. To use this option, you must also select the `overrideEndpoint` option.
+ type: string
+ overrideEndpoint:
+ title: Endpoint Overwrite
+ description: Select this option to override the endpoint URI. To use this option, you must also provide a URI for the `uriEndpointOverride` option.
+ type: boolean
+ x-descriptors:
+ - 'urn:alm:descriptor:com.tectonic.ui:checkbox'
+ default: false
+ delay:
+ title: Delay
+ description: The number of milliseconds before the next poll of the selected bucket.
+ type: integer
+ default: 500
+ maxMessagesPerPoll:
+ title: Max Messages Per Poll
+ description: Gets the maximum number of messages as a limit to poll at each polling. Gets the maximum number of messages as a limit to poll at each polling. The default value is 10. Use 0 or a negative number to set it as unlimited.
+ type: integer
+ default: 10
dependencies:
- - "camel:kamelet"
- - "camel:aws2-s3"
+ - "camel:core"
+ - "camel:aws2-s3"
+ - "github:openshift-integration.kamelet-catalog:camel-kamelets-utils:2.2.0-SNAPSHOT"
+ - "camel:kamelet"
template:
+ beans:
+ - name: renameHeaders
+ type: "#class:org.apache.camel.kamelets.utils.headers.DuplicateNamingHeaders"
+ properties:
+ prefix: 'CamelAwsS3'
+ renamingPrefix: 'aws.s3.'
+ mode: 'filtering'
+ selectedHeaders: 'CamelAwsS3Key,CamelAwsS3BucketName'
from:
uri: "aws2-s3:{{bucketNameOrArn}}"
parameters:
@@ -78,7 +127,15 @@ spec:
secretKey: "{{?secretKey}}"
accessKey: "{{?accessKey}}"
region: "{{region}}"
- useDefaultCredentialsProvider: "{{useDefaultCredentialsProvider}}"
+ ignoreBody: "{{ignoreBody}}"
deleteAfterRead: "{{deleteAfterRead}}"
+ prefix: "{{?prefix}}"
+ useDefaultCredentialsProvider: "{{useDefaultCredentialsProvider}}"
+ uriEndpointOverride: "{{?uriEndpointOverride}}"
+ overrideEndpoint: "{{overrideEndpoint}}"
+ delay: "{{delay}}"
+ maxMessagesPerPoll: "{{maxMessagesPerPoll}}"
steps:
+ - process:
+ ref: "{{renameHeaders}}"
- to: "kamelet:sink"
diff --git a/aws-s3-streaming-upload-sink.kamelet.yaml b/aws-s3-streaming-upload-sink.kamelet.yaml
index 537b52706..9f19ceb5c 100644
--- a/aws-s3-streaming-upload-sink.kamelet.yaml
+++ b/aws-s3-streaming-upload-sink.kamelet.yaml
@@ -1,12 +1,14 @@
-apiVersion: camel.apache.org/v1alpha1
+apiVersion: camel.apache.org/v1
kind: Kamelet
metadata:
name: aws-s3-streaming-upload-sink
annotations:
- camel.apache.org/catalog.version: "2.2.0"
+ camel.apache.org/kamelet.support.level: "Stable"
+ camel.apache.org/catalog.version: "2.2.0-SNAPSHOT"
camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHg9IjAiIHk9IjAiIHZpZXdCb3g9IjAgMCAyNDguMiAzMDAiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxzdHlsZT4uc3QyOHtmaWxsOiM4YzMxMjN9LnN0Mjl7ZmlsbDojZTA1MjQzfTwvc3R5bGU+PHBhdGggY2xhc3M9InN0MjgiIGQ9Ik0yMCA1Mi4xTDAgNjJ2MTc1LjVsMjAgOS45LjEtLjFWNTIuMmwtLjEtLjEiLz48cGF0aCBjbGFzcz0ic3QyOSIgZD0iTTEyNyAyMjJMMjAgMjQ3LjVWNTIuMUwxMjcgNzd2MTQ1Ii8+PHBhdGggY2xhc3M9InN0MjgiIGQ9Ik03OC43IDE4Mi4xbDQ1LjQgNS44LjMtLjcuMy03NC40LS41LS42LTQ1LjQgNS43LS4xIDY0LjIiLz48cGF0aCBjbGFzcz0ic3QyOCIgZD0iTTEyNC4xIDIyMi4zbDEwNC4xIDI1LjIuMi0uM1Y1Mi4xbC0uMi0uMi0xMDQuMSAyNS40djE0NSIvPjxwYXRoIGNsYXNzPSJzdDI5IiBkPSJNMTY5LjUgMTgyLjFsLTQ1LjQgNS44di03NS43bDQ1LjQgNS43djY0LjIiLz48cGF0aCBkPSJNMTY5LjUgODYuOWwtNDUuNCA4LjMtNDUuNC04LjNMMTI0IDc1bDQ1LjUgMTEuOSIgZmlsbD0iIzVlMWYxOCIvPjxwYXRoIGQ9Ik0xNjkuNSAyMTMuMWwtNDUuNC04LjMtNDUuNCA4LjMgNDUuMyAxMi43IDQ1LjUtMTIuNyIgZmlsbD0iI2YyYjBhOSIvPjxwYXRoIGNsYXNzPSJzdDI4IiBkPSJNNzguNyA4Ni45bDQ1LjQtMTEuMi40LS4xVi4zbC0uNC0uMy00NS40IDIyLjd2NjQuMiIvPjxwYXRoIGNsYXNzPSJzdDI5IiBkPSJNMTY5LjUgODYuOWwtNDUuNC0xMS4yVjBsNDUuNCAyMi43djY0LjIiLz48cGF0aCBjbGFzcz0ic3QyOCIgZD0iTTEyNC4xIDMwMGwtNDUuNC0yMi43di02NC4ybDQ1LjQgMTEuMi43LjgtLjIgNzMuNi0uNSAxLjMiLz48cGF0aCBjbGFzcz0ic3QyOSIgZD0iTTEyNC4xIDMwMGw0NS40LTIyLjd2LTY0LjJsLTQ1LjQgMTEuMlYzMDBNMjI4LjIgNTIuMWwyMCAxMHYxNzUuNWwtMjAgMTBWNTIuMSIvPjwvc3ZnPg=="
camel.apache.org/provider: "Red Hat"
camel.apache.org/kamelet.group: "AWS S3"
+ camel.apache.org/kamelet.namespace: "AWS"
labels:
camel.apache.org/kamelet.type: "sink"
spec:
@@ -14,17 +16,19 @@ spec:
title: "AWS S3 Streaming upload Sink"
description: |-
Upload data to AWS S3 in streaming upload mode.
+
+ Access Key/Secret Key are the basic method for authenticating to the AWS S3 Service. These parameters are optional because the Kamelet provides the 'useDefaultCredentialsProvider'.
+
+ When using a default Credentials Provider the S3 client will load the credentials through this provider and won't use the static credential. This is reason for not having the access key and secret key as mandatory parameter for this Kamelet.
required:
- bucketNameOrArn
- - accessKey
- - secretKey
- region
- keyName
type: object
properties:
bucketNameOrArn:
title: Bucket Name
- description: The S3 Bucket name or ARN.
+ description: The S3 Bucket name or Amazon Resource Name (ARN)..
type: string
accessKey:
title: Access Key
@@ -44,9 +48,9 @@ spec:
- urn:camel:group:credentials
region:
title: AWS Region
- description: The AWS region to connect to.
+ description: The AWS region to access.
type: string
- example: eu-west-1
+ enum: ["ap-south-1", "eu-south-1", "us-gov-east-1", "me-central-1", "ca-central-1", "eu-central-1", "us-iso-west-1", "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-northeast-1", "me-south-1", "sa-east-1", "ap-east-1", "cn-north-1", "us-gov-west-1", "ap-southeast-1", "ap-southeast-2", "us-iso-east-1", "ap-southeast-3", "us-east-1", "us-east-2", "cn-northwest-1", "us-isob-east-1", "aws-global", "aws-cn-global", "aws-us-gov-global", "aws-iso-global", "aws-iso-b-global"]
autoCreateBucket:
title: Autocreate Bucket
description: Setting the autocreation of the S3 bucket bucketName.
@@ -62,29 +66,44 @@ spec:
batchMessageNumber:
title: Batch Message Number
description: The number of messages composing a batch in streaming upload mode
- type: int
+ type: integer
default: 10
batchSize:
title: Batch Size
description: The batch size (in bytes) in streaming upload mode
- type: int
+ type: integer
default: 1000000
+ streamingUploadTimeout:
+ title: Streaming Upload Timeout
+ description: While streaming upload mode is true, this option set the timeout to complete upload
+ type: integer
namingStrategy:
title: Naming Strategy
description: The naming strategy to use in streaming upload mode. There are 2 enums and the value can be one of progressive, random
type: string
default: "progressive"
- keyName:
+ keyName:
title: Key Name
description: Setting the key name for an element in the bucket through endpoint parameter. In Streaming Upload, with the default configuration, this will be the base for the progressive creation of files.
type: string
useDefaultCredentialsProvider:
title: Default Credentials Provider
- description: If true, the S3 client loads credentials through a default credentials provider. If false, it uses the basic authentication method (access key and secret key).
+ description: Set whether the S3 client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in.
type: boolean
x-descriptors:
- 'urn:alm:descriptor:com.tectonic.ui:checkbox'
default: false
+ uriEndpointOverride:
+ title: Overwrite Endpoint URI
+ description: The overriding endpoint URI. To use this option, you must also select the `overrideEndpoint` option.
+ type: string
+ overrideEndpoint:
+ title: Endpoint Overwrite
+ description: Select this option to override the endpoint URI. To use this option, you must also provide a URI for the `uriEndpointOverride` option.
+ type: boolean
+ x-descriptors:
+ - 'urn:alm:descriptor:com.tectonic.ui:checkbox'
+ default: false
dependencies:
- "camel:aws2-s3"
- "camel:kamelet"
@@ -98,7 +117,6 @@ spec:
secretKey: "{{?secretKey}}"
accessKey: "{{?accessKey}}"
region: "{{region}}"
- useDefaultCredentialsProvider: "{{useDefaultCredentialsProvider}}"
autoCreateBucket: "{{autoCreateBucket}}"
streamingUploadMode: "true"
restartingPolicy: "{{restartingPolicy}}"
@@ -106,4 +124,7 @@ spec:
batchSize: "{{batchSize}}"
namingStrategy: "{{namingStrategy}}"
keyName: "{{keyName}}"
-
+ streamingUploadTimeout: "{{?streamingUploadTimeout}}"
+ useDefaultCredentialsProvider: "{{useDefaultCredentialsProvider}}"
+ uriEndpointOverride: "{{?uriEndpointOverride}}"
+ overrideEndpoint: "{{overrideEndpoint}}"
diff --git a/aws-sns-sink.kamelet.yaml b/aws-sns-sink.kamelet.yaml
index 3db0c4ef0..39cee1af3 100644
--- a/aws-sns-sink.kamelet.yaml
+++ b/aws-sns-sink.kamelet.yaml
@@ -1,33 +1,39 @@
-apiVersion: camel.apache.org/v1alpha1
+apiVersion: camel.apache.org/v1
kind: Kamelet
metadata:
name: aws-sns-sink
annotations:
- camel.apache.org/catalog.version: "2.2.0"
+ camel.apache.org/kamelet.support.level: "Stable"
+ camel.apache.org/catalog.version: "2.2.0-SNAPSHOT"
camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+DQo8c3ZnICAgdmlld0JveD0iMCAwIDI1NiAyNTciIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQiPg0KCTxnPg0KCQk8cGF0aCBkPSJNOTguODc1LDIzMi4wMzMgTDcyLjQ0MiwyMjQuNjI1IEw0Ny40NDEsMTk2LjExNyBMNzguNzEzLDE5NS4yNTQgTDk4Ljg3NSwyMzIuMDMzIiBmaWxsPSIjOTk1QjgwIj48L3BhdGg+DQoJCTxwYXRoIGQ9Ik0zNy43NSwyMTMuMjMzIEwyMi44NzUsMjA5LjA2NyBMOC44MTcsMTkzLjAzMyBMMjUuODk5LDE5MC4yMjQgTDM3Ljc1LDIxMy4yMzMiIGZpbGw9IiM5OTVCODAiPjwvcGF0aD4NCgkJPHBhdGggZD0iTTAsMTkxLjAxNyBMMTUuMjA0LDE5NC4xMDggTDE3LjQxMSwxOTAuMjI2IEwxNy40MTEsNTguNTAzIEwxNS4yMDQsNTUuOTQyIEwwLDY0LjYgTDAsMTkxLjAxNyIgZmlsbD0iIzdCM0Y2NSI+PC9wYXRoPg0KCQk8cGF0aCBkPSJNNzMuOTMzLDY5LjcwOCBMMTUuMjA4LDU1Ljk0MiBMMTUuMjA4LDE5NC4xMDggTDI0LjAwNiwxOTMuMjkgTDM3Ljc1LDIxMy4yMzMgTDQ4LjM1LDE5MS4wMjggTDczLjkzMywxODguNjUgTDczLjkzMyw2OS43MDgiIGZpbGw9IiNDMTdCOUQiPjwvcGF0aD4NCgkJPHBhdGggZD0iTTMzLjk1OCwxOTguMTMzIEw2MC4wMjEsMjAzLjM4MyBMNjEuNzM3LDE5OS4zMzggTDYxLjczNywzNy40NCBMNjAuMDIxLDMzLjc3NSBMMzMuOTU4LDQ2Ljk4MyBMMzMuOTU4LDE5OC4xMzMiIGZpbGw9IiM3QjNGNjUiPjwvcGF0aD4NCgkJPHBhdGggZD0iTTIwOC43MzQsODEuNTE2IEw2MC4wMjEsMzMuNzc1IEw2MC4wMjEsMjAzLjM4NyBMNzcuMjQyLDIwMS4xNzEgTDk4Ljg3NSwyMzIuMDMzIEwxMTYuMDAxLDE5Ni4xODMgTDIwOC43MzQsMTg0LjI1IEwyMDguNzM0LDgxLjUxNiIgZmlsbD0iI0MxN0I5RCI+PC9wYXRoPg0KCQk8cGF0aCBkPSJNMTgxLjgzMywyNTYuNDkyIEwxNDQuMjY3LDI0NS45NjcgTDEwOC43NTgsMjA1LjQ2NyBMMTU0Ljc5MSwyMDQuOTk5IEwxODEuODMzLDI1Ni40OTIiIGZpbGw9IiM5OTVCODAiPjwvcGF0aD4NCgkJPHBhdGggZD0iTTg5LjU5MSwyMDguOTUgTDEyNy45MjEsMjE2LjM2NyBMMTMwLjg5OCwyMTMuODAxIEwxMzAuODk4LDQuMTE3IEwxMjcuOTIxLDAgTDg5LjU5MSwxOS4xNTggTDg5LjU5MSwyMDguOTUiIGZpbGw9IiM3QjNGNjUiPjwvcGF0aD4NCgkJPHBhdGggZD0iTTI1Niw2NC4wMzMgTDEyNy45MjUsMCBMMTI3LjkyNSwyMTYuMzY3IEwxNTAuNTIyLDIxMS44MzkgTDE4MS44MzMsMjU2LjQ5MiBMMjA4LjczNCwyMDAuMTgzIEwyMDguNzE3LDIwMC4xODEgTDI1NiwxOTAuNzA4IEwyNTYsNjQuMDMzIiBmaWxsPSIjQzE3QjlEIj48L3BhdGg+DQoJPC9nPg0KPC9zdmc+DQo="
camel.apache.org/provider: "Red Hat"
camel.apache.org/kamelet.group: "AWS SNS"
+ camel.apache.org/kamelet.namespace: "AWS"
labels:
camel.apache.org/kamelet.type: sink
spec:
definition:
title: AWS SNS Sink
description: |-
- Send message to an AWS SNS Topic
+ Send message to an Amazon Simple Notification Service (SNS) topic.
+
+ The basic authentication method for the SNS service is to specify an access key and a secret key. These parameters are optional because the Kamelet provides a default credentials provider.
+
+ If you use the default credentials provider, the SNS client loads the credentials through this provider and doesn't use the basic authentication method.
+
+ In the header, you can optionally set the `subject` / `ce-subject` property to specify the subject of the message.
required:
- topicNameOrArn
- - accessKey
- - secretKey
- region
type: object
properties:
topicNameOrArn:
title: Topic Name
- description: The SQS Topic name or ARN
+ description: The SNS topic name name or Amazon Resource Name (ARN).
type: string
accessKey:
title: Access Key
- description: The access key obtained from AWS
+ description: The access key obtained from AWS.
type: string
format: password
x-descriptors:
@@ -35,7 +41,7 @@ spec:
- urn:camel:group:credentials
secretKey:
title: Secret Key
- description: The secret key obtained from AWS
+ description: The secret key obtained from AWS.
type: string
format: password
x-descriptors:
@@ -43,12 +49,12 @@ spec:
- urn:camel:group:credentials
region:
title: AWS Region
- description: The AWS region to connect to
+ description: The AWS region to access.
type: string
- example: eu-west-1
+ enum: ["ap-south-1", "eu-south-1", "us-gov-east-1", "me-central-1", "ca-central-1", "eu-central-1", "us-iso-west-1", "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-northeast-1", "me-south-1", "sa-east-1", "ap-east-1", "cn-north-1", "us-gov-west-1", "ap-southeast-1", "ap-southeast-2", "us-iso-east-1", "ap-southeast-3", "us-east-1", "us-east-2", "cn-northwest-1", "us-isob-east-1", "aws-global", "aws-cn-global", "aws-us-gov-global", "aws-iso-global", "aws-iso-b-global"]
autoCreateTopic:
title: Autocreate Topic
- description: Setting the autocreation of the SNS topic.
+ description: Setting the autocreation of the SNS topic.
type: boolean
x-descriptors:
- 'urn:alm:descriptor:com.tectonic.ui:checkbox'
@@ -60,13 +66,37 @@ spec:
x-descriptors:
- 'urn:alm:descriptor:com.tectonic.ui:checkbox'
default: false
+ uriEndpointOverride:
+ title: Overwrite Endpoint URI
+ description: The overriding endpoint URI. To use this option, you must also select the `overrideEndpoint` option.
+ type: string
+ overrideEndpoint:
+ title: Endpoint Overwrite
+ description: Select this option to override the endpoint URI. To use this option, you must also provide a URI for the `uriEndpointOverride` option.
+ type: boolean
+ x-descriptors:
+ - 'urn:alm:descriptor:com.tectonic.ui:checkbox'
+ default: false
dependencies:
- - "camel:kamelet"
- - "camel:aws2-sns"
+ - "camel:core"
+ - "camel:aws2-sns"
+ - "camel:kamelet"
template:
from:
uri: kamelet:source
steps:
+ - choice:
+ when:
+ - simple: "${header[subject]}"
+ steps:
+ - set-header:
+ name: CamelAwsSnsSubject
+ simple: "${header[subject]}"
+ - simple: "${header[ce-subject]}"
+ steps:
+ - set-header:
+ name: CamelAwsSnsSubject
+ simple: "${header[ce-subject]}"
- to:
uri: "aws2-sns:{{topicNameOrArn}}"
parameters:
@@ -75,3 +105,5 @@ spec:
secretKey: "{{?secretKey}}"
region: "{{region}}"
useDefaultCredentialsProvider: "{{useDefaultCredentialsProvider}}"
+ uriEndpointOverride: "{{?uriEndpointOverride}}"
+ overrideEndpoint: "{{overrideEndpoint}}"
diff --git a/aws-sqs-fifo-sink.kamelet.yaml b/aws-sqs-fifo-sink.kamelet.yaml
index 4df0cce14..68e5eab0a 100644
--- a/aws-sqs-fifo-sink.kamelet.yaml
+++ b/aws-sqs-fifo-sink.kamelet.yaml
@@ -1,23 +1,28 @@
-apiVersion: camel.apache.org/v1alpha1
+apiVersion: camel.apache.org/v1
kind: Kamelet
metadata:
name: aws-sqs-fifo-sink
annotations:
- camel.apache.org/catalog.version: "2.2.0"
- camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/PjwhRE9DVFlQRSBzdmcgIFBVQkxJQyAnLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4nICAnaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkJz48c3ZnIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDEwMCAxMDAiIGhlaWdodD0iMTAwcHgiIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDEwMCAxMDAiIHdpZHRoPSIxMDBweCIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGcgaWQ9IkFtYXpvbl9DbG91ZFNlYXJjaCI+PGc+PHBvbHlnb24gZmlsbD0iI0Q5QTc0MSIgcG9pbnRzPSI1NC40Niw1OS41MDYgMjMuOTg1LDYzLjc5MyAyMy45ODcsMzYuMjAxIDU0LjQ2Miw0MC40OTQgICAiLz48cG9seWdvbiBmaWxsPSIjODc2OTI5IiBwb2ludHM9IjIwLjE3OSwzNy4zNDQgNTAuMDAzLDI4LjM5OSA1MC4wMDMsMTQgMjAuMTc5LDI4LjkwOCAgICIvPjxwb2x5Z29uIGZpbGw9IiM4NzY5MjkiIHBvaW50cz0iMjAuMTksNjIuNjU0IDQ5Ljk5OSw3MS42IDQ5Ljk5Nyw4NiAyMC4xOSw3MS4wOTQgICAiLz48cG9seWdvbiBmaWxsPSIjRDlBNzQxIiBwb2ludHM9Ijc5LjgyMywzNy4zNSA1MC4wMDMsMjguMzk5IDUwLjAwMywxNCA3OS44MjUsMjguOTE0ICAgIi8+PHBvbHlnb24gZmlsbD0iI0Q5QTc0MSIgcG9pbnRzPSI3OS44MDYsNjIuNjYgNDkuOTk5LDcxLjYgNDkuOTk3LDg2IDc5LjgwNiw3MS4wOTkgICAiLz48cG9seWdvbiBmaWxsPSIjODc2OTI5IiBwb2ludHM9IjIzLjk4NSw3Mi45OSAyMC4xNzUsNzEuMDg2IDIwLjE3OSwyOC45MDggMjMuOTg5LDI3LjAwNCAgICIvPjxwb2x5Z29uIGZpbGw9IiM4NzY5MjkiIHBvaW50cz0iMzkuMDE3LDU3Ljc2MiA0OS45OTksNTkuMTYgNTAuMDAxLDQwLjgzMiAzOS4wMTksNDIuMjI5ICAgIi8+PHBvbHlnb24gZmlsbD0iIzg3NjkyOSIgcG9pbnRzPSIyNy45NTQsNTYuMzU0IDM1LjA4MSw1Ny4yNiAzNS4wODMsNDIuNzI5IDI3Ljk1NCw0My42MzcgICAiLz48cG9seWdvbiBmaWxsPSIjNjI0QTFFIiBwb2ludHM9IjIzLjk4NywzNi4yMDEgNTAuMDAzLDI4LjM5OSA3OS44MjMsMzcuMzUgNTQuNDgxLDQwLjQ5NiAgICIvPjxwb2x5Z29uIGZpbGw9IiNGQUQ3OTEiIHBvaW50cz0iMjMuOTg1LDYzLjc5MyA0OS45OTksNzEuNiA3OS44MDYsNjIuNjYgNTQuNDYsNTkuNTA2ICAgIi8+PHBvbHlnb24gZmlsbD0iI0Q5QTc0MSIgcG9pbnRzPSI3OS44MDgsNTUuMzMgNDkuOTk5LDU5LjA5MiA1MC4wMDEsNDAuODMyIDc5LjgwOCw0NC42MjkgICAiLz48L2c+PC9nPjwvc3ZnPg=="
+ camel.apache.org/kamelet.support.level: "Stable"
+ camel.apache.org/catalog.version: "2.2.0-SNAPSHOT"
+ camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMTAwIDEwMCIKICAgaGVpZ2h0PSI3Mi4xOTk5OTciCiAgIHZlcnNpb249IjEuMSIKICAgdmlld0JveD0iMCAwIDU5Ljg0OTk5OCA3Mi4xOTk5OTciCiAgIHdpZHRoPSI1OS44NDk5OTgiCiAgIHhtbDpzcGFjZT0icHJlc2VydmUiCiAgIGlkPSJzdmcxNDUiCiAgIHNvZGlwb2RpOmRvY25hbWU9ImRvd25sb2FkLnN2ZyIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMS4wLjIgKGU4NmM4NzA4NzksIDIwMjEtMDEtMTUpIj48bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGExNTEiPjxyZGY6UkRGPjxjYzpXb3JrCiAgICAgICAgIHJkZjphYm91dD0iIj48ZGM6Zm9ybWF0PmltYWdlL3N2Zyt4bWw8L2RjOmZvcm1hdD48ZGM6dHlwZQogICAgICAgICAgIHJkZjpyZXNvdXJjZT0iaHR0cDovL3B1cmwub3JnL2RjL2RjbWl0eXBlL1N0aWxsSW1hZ2UiIC8+PGRjOnRpdGxlPjwvZGM6dGl0bGU+PC9jYzpXb3JrPjwvcmRmOlJERj48L21ldGFkYXRhPjxkZWZzCiAgICAgaWQ9ImRlZnMxNDkiIC8+PHNvZGlwb2RpOm5hbWVkdmlldwogICAgIHBhZ2Vjb2xvcj0iI2ZmZmZmZiIKICAgICBib3JkZXJjb2xvcj0iIzY2NjY2NiIKICAgICBib3JkZXJvcGFjaXR5PSIxIgogICAgIG9iamVjdHRvbGVyYW5jZT0iMTAiCiAgICAgZ3JpZHRvbGVyYW5jZT0iMTAiCiAgICAgZ3VpZGV0b2xlcmFuY2U9IjEwIgogICAgIGlua3NjYXBlOnBhZ2VvcGFjaXR5PSIwIgogICAgIGlua3NjYXBlOnBhZ2VzaGFkb3c9IjIiCiAgICAgaW5rc2NhcGU6d2luZG93LXdpZHRoPSIxOTIwIgogICAgIGlua3NjYXBlOndpbmRvdy1oZWlnaHQ9IjEwMTYiCiAgICAgaWQ9Im5hbWVkdmlldzE0NyIKICAgICBzaG93Z3JpZD0iZmFsc2UiCiAgICAgZml0LW1hcmdpbi10b3A9IjAuMSIKICAgICBmaXQtbWFyZ2luLWxlZnQ9IjAuMSIKICAgICBmaXQtbWFyZ2luLXJpZ2h0PSIwLjEiCiAgICAgZml0LW1hcmdpbi1ib3R0b209IjAuMSIKICAgICBpbmtzY2FwZTp6b29tPSI4LjE5IgogICAgIGlua3NjYXBlOmN4PSIyOS45MjUiCiAgICAgaW5rc2NhcGU6Y3k9IjM2LjEiCiAgICAgaW5rc2NhcGU6d2luZG93LXg9IjAiCiAgICAgaW5rc2NhcGU6d2luZG93LXk9IjI3IgogICAgIGlua3NjYXBlOndpbmRvdy1tYXhpbWl6ZWQ9IjEiCiAgICAgaW5rc2NhcGU6Y3VycmVudC1sYXllcj0ic3ZnMTQ1IiAvPjxnCiAgICAgaWQ9IkFtYXpvbl9DbG91ZFNlYXJjaCIKICAgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjAuMDc1LC0xMy45KSI+PGcKICAgICAgIGlkPSJnMTQyIj48cG9seWdvbgogICAgICAgICBmaWxsPSIjZDlhNzQxIgogICAgICAgICBwb2ludHM9IjIzLjk4NywzNi4yMDEgNTQuNDYyLDQwLjQ5NCA1NC40Niw1OS41MDYgMjMuOTg1LDYzLjc5MyAiCiAgICAgICAgIGlkPSJwb2x5Z29uMTIwIiAvPjxwb2x5Z29uCiAgICAgICAgIGZpbGw9IiM4NzY5MjkiCiAgICAgICAgIHBvaW50cz0iNTAuMDAzLDE0IDIwLjE3OSwyOC45MDggMjAuMTc5LDM3LjM0NCA1MC4wMDMsMjguMzk5ICIKICAgICAgICAgaWQ9InBvbHlnb24xMjIiIC8+PHBvbHlnb24KICAgICAgICAgZmlsbD0iIzg3NjkyOSIKICAgICAgICAgcG9pbnRzPSI0OS45OTcsODYgMjAuMTksNzEuMDk0IDIwLjE5LDYyLjY1NCA0OS45OTksNzEuNiAiCiAgICAgICAgIGlkPSJwb2x5Z29uMTI0IiAvPjxwb2x5Z29uCiAgICAgICAgIGZpbGw9IiNkOWE3NDEiCiAgICAgICAgIHBvaW50cz0iNTAuMDAzLDE0IDc5LjgyNSwyOC45MTQgNzkuODIzLDM3LjM1IDUwLjAwMywyOC4zOTkgIgogICAgICAgICBpZD0icG9seWdvbjEyNiIgLz48cG9seWdvbgogICAgICAgICBmaWxsPSIjZDlhNzQxIgogICAgICAgICBwb2ludHM9IjQ5Ljk5Nyw4NiA3OS44MDYsNzEuMDk5IDc5LjgwNiw2Mi42NiA0OS45OTksNzEuNiAiCiAgICAgICAgIGlkPSJwb2x5Z29uMTI4IiAvPjxwb2x5Z29uCiAgICAgICAgIGZpbGw9IiM4NzY5MjkiCiAgICAgICAgIHBvaW50cz0iMjAuMTc5LDI4LjkwOCAyMy45ODksMjcuMDA0IDIzLjk4NSw3Mi45OSAyMC4xNzUsNzEuMDg2ICIKICAgICAgICAgaWQ9InBvbHlnb24xMzAiIC8+PHBvbHlnb24KICAgICAgICAgZmlsbD0iIzg3NjkyOSIKICAgICAgICAgcG9pbnRzPSI1MC4wMDEsNDAuODMyIDM5LjAxOSw0Mi4yMjkgMzkuMDE3LDU3Ljc2MiA0OS45OTksNTkuMTYgIgogICAgICAgICBpZD0icG9seWdvbjEzMiIgLz48cG9seWdvbgogICAgICAgICBmaWxsPSIjODc2OTI5IgogICAgICAgICBwb2ludHM9IjM1LjA4Myw0Mi43MjkgMjcuOTU0LDQzLjYzNyAyNy45NTQsNTYuMzU0IDM1LjA4MSw1Ny4yNiAiCiAgICAgICAgIGlkPSJwb2x5Z29uMTM0IiAvPjxwb2x5Z29uCiAgICAgICAgIGZpbGw9IiM2MjRhMWUiCiAgICAgICAgIHBvaW50cz0iNzkuODIzLDM3LjM1IDU0LjQ4MSw0MC40OTYgMjMuOTg3LDM2LjIwMSA1MC4wMDMsMjguMzk5ICIKICAgICAgICAgaWQ9InBvbHlnb24xMzYiIC8+PHBvbHlnb24KICAgICAgICAgZmlsbD0iI2ZhZDc5MSIKICAgICAgICAgcG9pbnRzPSI3OS44MDYsNjIuNjYgNTQuNDYsNTkuNTA2IDIzLjk4NSw2My43OTMgNDkuOTk5LDcxLjYgIgogICAgICAgICBpZD0icG9seWdvbjEzOCIgLz48cG9seWdvbgogICAgICAgICBmaWxsPSIjZDlhNzQxIgogICAgICAgICBwb2ludHM9IjUwLjAwMSw0MC44MzIgNzkuODA4LDQ0LjYyOSA3OS44MDgsNTUuMzMgNDkuOTk5LDU5LjA5MiAiCiAgICAgICAgIGlkPSJwb2x5Z29uMTQwIiAvPjwvZz48L2c+PC9zdmc+Cg=="
camel.apache.org/provider: "Red Hat"
camel.apache.org/kamelet.group: "AWS SQS"
+ camel.apache.org/kamelet.namespace: "AWS"
labels:
camel.apache.org/kamelet.type: sink
- camel.apache.org/requires.runtime: "camel-quarkus"
spec:
definition:
title: AWS SQS FIFO Sink
- description: Send message to an AWS SQS FIFO Queue
+ description: |-
+
+ Send message to an AWS SQS FIFO Queue.
+
+ Access Key/Secret Key are the basic method for authenticating to the AWS SQS Service. These parameters are optional because the Kamelet provides the 'useDefaultCredentialsProvider'.
+
+ When using a default Credentials Provider the SQS client will load the credentials through this provider and won't use the static credential. This is reason for not having the access key and secret key as mandatory parameter for this Kamelet.
required:
- queueNameOrArn
- - accessKey
- - secretKey
- region
type: object
properties:
@@ -27,7 +32,7 @@ spec:
type: string
accessKey:
title: Access Key
- description: The access key obtained from AWS
+ description: The access key obtained from AWS.
type: string
format: password
x-descriptors:
@@ -35,7 +40,7 @@ spec:
- urn:camel:group:credentials
secretKey:
title: Secret Key
- description: The secret key obtained from AWS
+ description: The secret key obtained from AWS.
type: string
format: password
x-descriptors:
@@ -43,9 +48,9 @@ spec:
- urn:camel:group:credentials
region:
title: AWS Region
- description: The AWS region to connect to
+ description: The AWS region to access.
type: string
- example: eu-west-1
+ enum: ["ap-south-1", "eu-south-1", "us-gov-east-1", "me-central-1", "ca-central-1", "eu-central-1", "us-iso-west-1", "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-northeast-1", "me-south-1", "sa-east-1", "ap-east-1", "cn-north-1", "us-gov-west-1", "ap-southeast-1", "ap-southeast-2", "us-iso-east-1", "ap-southeast-3", "us-east-1", "us-east-2", "cn-northwest-1", "us-isob-east-1", "aws-global", "aws-cn-global", "aws-us-gov-global", "aws-iso-global", "aws-iso-b-global"]
contentBasedDeduplication:
title: Content-Based Deduplication
description: Use content-based deduplication (should be enabled in the SQS FIFO queue first)
@@ -55,18 +60,40 @@ spec:
- 'urn:alm:descriptor:com.tectonic.ui:checkbox'
autoCreateQueue:
title: Autocreate Queue
- description: Setting the autocreation of the SQS queue.
+ description: Setting the autocreation of the SQS queue.
type: boolean
x-descriptors:
- 'urn:alm:descriptor:com.tectonic.ui:checkbox'
default: false
+ amazonAWSHost:
+ title: AWS Host
+ description: The hostname of the Amazon AWS cloud.
+ type: string
+ default: amazonaws.com
+ protocol:
+ title: Protocol
+ description: The underlying protocol used to communicate with SQS
+ type: string
+ example: http or https
+ default: https
useDefaultCredentialsProvider:
title: Default Credentials Provider
- description: If true, the SQS client loads credentials through a default credentials provider. If false, it uses the basic authentication method (access key and secret key).
+ description: Set whether the SQS client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in.
type: boolean
x-descriptors:
- 'urn:alm:descriptor:com.tectonic.ui:checkbox'
default: false
+ uriEndpointOverride:
+ title: Overwrite Endpoint URI
+ description: The overriding endpoint URI. To use this option, you must also select the `overrideEndpoint` option.
+ type: string
+ overrideEndpoint:
+ title: Endpoint Overwrite
+ description: Select this option to override the endpoint URI. To use this option, you must also provide a URI for the `uriEndpointOverride` option.
+ type: boolean
+ x-descriptors:
+ - 'urn:alm:descriptor:com.tectonic.ui:checkbox'
+ default: false
dependencies:
- "camel:aws2-sqs"
- "camel:core"
@@ -109,6 +136,10 @@ spec:
useDefaultCredentialsProvider: "{{useDefaultCredentialsProvider}}"
messageGroupIdStrategy: "usePropertyValue"
messageDeduplicationIdStrategy: "useContentBasedDeduplication"
+ amazonAWSHost: "{{?amazonAWSHost}}"
+ protocol: "{{?protocol}}"
+ uriEndpointOverride: "{{?uriEndpointOverride}}"
+ overrideEndpoint: "{{overrideEndpoint}}"
otherwise:
steps:
- to:
@@ -121,3 +152,7 @@ spec:
useDefaultCredentialsProvider: "{{useDefaultCredentialsProvider}}"
messageGroupIdStrategy: "usePropertyValue"
messageDeduplicationIdStrategy: "useExchangeId"
+ amazonAWSHost: "{{?amazonAWSHost}}"
+ protocol: "{{?protocol}}"
+ uriEndpointOverride: "{{?uriEndpointOverride}}"
+ overrideEndpoint: "{{overrideEndpoint}}"
diff --git a/aws-sqs-sink.kamelet.yaml b/aws-sqs-sink.kamelet.yaml
index c160ca025..2e7a9a0c9 100644
--- a/aws-sqs-sink.kamelet.yaml
+++ b/aws-sqs-sink.kamelet.yaml
@@ -1,33 +1,37 @@
-apiVersion: camel.apache.org/v1alpha1
+apiVersion: camel.apache.org/v1
kind: Kamelet
metadata:
name: aws-sqs-sink
annotations:
- camel.apache.org/catalog.version: "2.2.0"
- camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/PjwhRE9DVFlQRSBzdmcgIFBVQkxJQyAnLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4nICAnaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkJz48c3ZnIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDEwMCAxMDAiIGhlaWdodD0iMTAwcHgiIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDEwMCAxMDAiIHdpZHRoPSIxMDBweCIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGcgaWQ9IkFtYXpvbl9DbG91ZFNlYXJjaCI+PGc+PHBvbHlnb24gZmlsbD0iI0Q5QTc0MSIgcG9pbnRzPSI1NC40Niw1OS41MDYgMjMuOTg1LDYzLjc5MyAyMy45ODcsMzYuMjAxIDU0LjQ2Miw0MC40OTQgICAiLz48cG9seWdvbiBmaWxsPSIjODc2OTI5IiBwb2ludHM9IjIwLjE3OSwzNy4zNDQgNTAuMDAzLDI4LjM5OSA1MC4wMDMsMTQgMjAuMTc5LDI4LjkwOCAgICIvPjxwb2x5Z29uIGZpbGw9IiM4NzY5MjkiIHBvaW50cz0iMjAuMTksNjIuNjU0IDQ5Ljk5OSw3MS42IDQ5Ljk5Nyw4NiAyMC4xOSw3MS4wOTQgICAiLz48cG9seWdvbiBmaWxsPSIjRDlBNzQxIiBwb2ludHM9Ijc5LjgyMywzNy4zNSA1MC4wMDMsMjguMzk5IDUwLjAwMywxNCA3OS44MjUsMjguOTE0ICAgIi8+PHBvbHlnb24gZmlsbD0iI0Q5QTc0MSIgcG9pbnRzPSI3OS44MDYsNjIuNjYgNDkuOTk5LDcxLjYgNDkuOTk3LDg2IDc5LjgwNiw3MS4wOTkgICAiLz48cG9seWdvbiBmaWxsPSIjODc2OTI5IiBwb2ludHM9IjIzLjk4NSw3Mi45OSAyMC4xNzUsNzEuMDg2IDIwLjE3OSwyOC45MDggMjMuOTg5LDI3LjAwNCAgICIvPjxwb2x5Z29uIGZpbGw9IiM4NzY5MjkiIHBvaW50cz0iMzkuMDE3LDU3Ljc2MiA0OS45OTksNTkuMTYgNTAuMDAxLDQwLjgzMiAzOS4wMTksNDIuMjI5ICAgIi8+PHBvbHlnb24gZmlsbD0iIzg3NjkyOSIgcG9pbnRzPSIyNy45NTQsNTYuMzU0IDM1LjA4MSw1Ny4yNiAzNS4wODMsNDIuNzI5IDI3Ljk1NCw0My42MzcgICAiLz48cG9seWdvbiBmaWxsPSIjNjI0QTFFIiBwb2ludHM9IjIzLjk4NywzNi4yMDEgNTAuMDAzLDI4LjM5OSA3OS44MjMsMzcuMzUgNTQuNDgxLDQwLjQ5NiAgICIvPjxwb2x5Z29uIGZpbGw9IiNGQUQ3OTEiIHBvaW50cz0iMjMuOTg1LDYzLjc5MyA0OS45OTksNzEuNiA3OS44MDYsNjIuNjYgNTQuNDYsNTkuNTA2ICAgIi8+PHBvbHlnb24gZmlsbD0iI0Q5QTc0MSIgcG9pbnRzPSI3OS44MDgsNTUuMzMgNDkuOTk5LDU5LjA5MiA1MC4wMDEsNDAuODMyIDc5LjgwOCw0NC42MjkgICAiLz48L2c+PC9nPjwvc3ZnPg=="
+ camel.apache.org/kamelet.support.level: "Stable"
+ camel.apache.org/catalog.version: "2.2.0-SNAPSHOT"
+ camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMTAwIDEwMCIKICAgaGVpZ2h0PSI3Mi4xOTk5OTciCiAgIHZlcnNpb249IjEuMSIKICAgdmlld0JveD0iMCAwIDU5Ljg0OTk5OCA3Mi4xOTk5OTciCiAgIHdpZHRoPSI1OS44NDk5OTgiCiAgIHhtbDpzcGFjZT0icHJlc2VydmUiCiAgIGlkPSJzdmcxNDUiCiAgIHNvZGlwb2RpOmRvY25hbWU9ImRvd25sb2FkLnN2ZyIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMS4wLjIgKGU4NmM4NzA4NzksIDIwMjEtMDEtMTUpIj48bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGExNTEiPjxyZGY6UkRGPjxjYzpXb3JrCiAgICAgICAgIHJkZjphYm91dD0iIj48ZGM6Zm9ybWF0PmltYWdlL3N2Zyt4bWw8L2RjOmZvcm1hdD48ZGM6dHlwZQogICAgICAgICAgIHJkZjpyZXNvdXJjZT0iaHR0cDovL3B1cmwub3JnL2RjL2RjbWl0eXBlL1N0aWxsSW1hZ2UiIC8+PGRjOnRpdGxlPjwvZGM6dGl0bGU+PC9jYzpXb3JrPjwvcmRmOlJERj48L21ldGFkYXRhPjxkZWZzCiAgICAgaWQ9ImRlZnMxNDkiIC8+PHNvZGlwb2RpOm5hbWVkdmlldwogICAgIHBhZ2Vjb2xvcj0iI2ZmZmZmZiIKICAgICBib3JkZXJjb2xvcj0iIzY2NjY2NiIKICAgICBib3JkZXJvcGFjaXR5PSIxIgogICAgIG9iamVjdHRvbGVyYW5jZT0iMTAiCiAgICAgZ3JpZHRvbGVyYW5jZT0iMTAiCiAgICAgZ3VpZGV0b2xlcmFuY2U9IjEwIgogICAgIGlua3NjYXBlOnBhZ2VvcGFjaXR5PSIwIgogICAgIGlua3NjYXBlOnBhZ2VzaGFkb3c9IjIiCiAgICAgaW5rc2NhcGU6d2luZG93LXdpZHRoPSIxOTIwIgogICAgIGlua3NjYXBlOndpbmRvdy1oZWlnaHQ9IjEwMTYiCiAgICAgaWQ9Im5hbWVkdmlldzE0NyIKICAgICBzaG93Z3JpZD0iZmFsc2UiCiAgICAgZml0LW1hcmdpbi10b3A9IjAuMSIKICAgICBmaXQtbWFyZ2luLWxlZnQ9IjAuMSIKICAgICBmaXQtbWFyZ2luLXJpZ2h0PSIwLjEiCiAgICAgZml0LW1hcmdpbi1ib3R0b209IjAuMSIKICAgICBpbmtzY2FwZTp6b29tPSI4LjE5IgogICAgIGlua3NjYXBlOmN4PSIyOS45MjUiCiAgICAgaW5rc2NhcGU6Y3k9IjM2LjEiCiAgICAgaW5rc2NhcGU6d2luZG93LXg9IjAiCiAgICAgaW5rc2NhcGU6d2luZG93LXk9IjI3IgogICAgIGlua3NjYXBlOndpbmRvdy1tYXhpbWl6ZWQ9IjEiCiAgICAgaW5rc2NhcGU6Y3VycmVudC1sYXllcj0ic3ZnMTQ1IiAvPjxnCiAgICAgaWQ9IkFtYXpvbl9DbG91ZFNlYXJjaCIKICAgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjAuMDc1LC0xMy45KSI+PGcKICAgICAgIGlkPSJnMTQyIj48cG9seWdvbgogICAgICAgICBmaWxsPSIjZDlhNzQxIgogICAgICAgICBwb2ludHM9IjIzLjk4NywzNi4yMDEgNTQuNDYyLDQwLjQ5NCA1NC40Niw1OS41MDYgMjMuOTg1LDYzLjc5MyAiCiAgICAgICAgIGlkPSJwb2x5Z29uMTIwIiAvPjxwb2x5Z29uCiAgICAgICAgIGZpbGw9IiM4NzY5MjkiCiAgICAgICAgIHBvaW50cz0iNTAuMDAzLDE0IDIwLjE3OSwyOC45MDggMjAuMTc5LDM3LjM0NCA1MC4wMDMsMjguMzk5ICIKICAgICAgICAgaWQ9InBvbHlnb24xMjIiIC8+PHBvbHlnb24KICAgICAgICAgZmlsbD0iIzg3NjkyOSIKICAgICAgICAgcG9pbnRzPSI0OS45OTcsODYgMjAuMTksNzEuMDk0IDIwLjE5LDYyLjY1NCA0OS45OTksNzEuNiAiCiAgICAgICAgIGlkPSJwb2x5Z29uMTI0IiAvPjxwb2x5Z29uCiAgICAgICAgIGZpbGw9IiNkOWE3NDEiCiAgICAgICAgIHBvaW50cz0iNTAuMDAzLDE0IDc5LjgyNSwyOC45MTQgNzkuODIzLDM3LjM1IDUwLjAwMywyOC4zOTkgIgogICAgICAgICBpZD0icG9seWdvbjEyNiIgLz48cG9seWdvbgogICAgICAgICBmaWxsPSIjZDlhNzQxIgogICAgICAgICBwb2ludHM9IjQ5Ljk5Nyw4NiA3OS44MDYsNzEuMDk5IDc5LjgwNiw2Mi42NiA0OS45OTksNzEuNiAiCiAgICAgICAgIGlkPSJwb2x5Z29uMTI4IiAvPjxwb2x5Z29uCiAgICAgICAgIGZpbGw9IiM4NzY5MjkiCiAgICAgICAgIHBvaW50cz0iMjAuMTc5LDI4LjkwOCAyMy45ODksMjcuMDA0IDIzLjk4NSw3Mi45OSAyMC4xNzUsNzEuMDg2ICIKICAgICAgICAgaWQ9InBvbHlnb24xMzAiIC8+PHBvbHlnb24KICAgICAgICAgZmlsbD0iIzg3NjkyOSIKICAgICAgICAgcG9pbnRzPSI1MC4wMDEsNDAuODMyIDM5LjAxOSw0Mi4yMjkgMzkuMDE3LDU3Ljc2MiA0OS45OTksNTkuMTYgIgogICAgICAgICBpZD0icG9seWdvbjEzMiIgLz48cG9seWdvbgogICAgICAgICBmaWxsPSIjODc2OTI5IgogICAgICAgICBwb2ludHM9IjM1LjA4Myw0Mi43MjkgMjcuOTU0LDQzLjYzNyAyNy45NTQsNTYuMzU0IDM1LjA4MSw1Ny4yNiAiCiAgICAgICAgIGlkPSJwb2x5Z29uMTM0IiAvPjxwb2x5Z29uCiAgICAgICAgIGZpbGw9IiM2MjRhMWUiCiAgICAgICAgIHBvaW50cz0iNzkuODIzLDM3LjM1IDU0LjQ4MSw0MC40OTYgMjMuOTg3LDM2LjIwMSA1MC4wMDMsMjguMzk5ICIKICAgICAgICAgaWQ9InBvbHlnb24xMzYiIC8+PHBvbHlnb24KICAgICAgICAgZmlsbD0iI2ZhZDc5MSIKICAgICAgICAgcG9pbnRzPSI3OS44MDYsNjIuNjYgNTQuNDYsNTkuNTA2IDIzLjk4NSw2My43OTMgNDkuOTk5LDcxLjYgIgogICAgICAgICBpZD0icG9seWdvbjEzOCIgLz48cG9seWdvbgogICAgICAgICBmaWxsPSIjZDlhNzQxIgogICAgICAgICBwb2ludHM9IjUwLjAwMSw0MC44MzIgNzkuODA4LDQ0LjYyOSA3OS44MDgsNTUuMzMgNDkuOTk5LDU5LjA5MiAiCiAgICAgICAgIGlkPSJwb2x5Z29uMTQwIiAvPjwvZz48L2c+PC9zdmc+Cg=="
camel.apache.org/provider: "Red Hat"
camel.apache.org/kamelet.group: "AWS SQS"
+ camel.apache.org/kamelet.namespace: "AWS"
labels:
camel.apache.org/kamelet.type: sink
spec:
definition:
title: AWS SQS Sink
description: |-
- Send message to an AWS SQS Queue
+ Send messages to an Amazon Simple Queue Service (SQS) queue.
+
+ The basic authentication method for the SQS service is to specify an access key and a secret key. These parameters are optional because the Kamelet provides a default credentials provider.
+
+ If you use the default credentials provider, the SQS client loads the credentials through this provider and doesn't use the basic authentication method.
required:
- queueNameOrArn
- - accessKey
- - secretKey
- region
type: object
properties:
queueNameOrArn:
title: Queue Name
- description: The SQS Queue name or ARN
+ description: The SQS Queue name or or Amazon Resource Name (ARN).
type: string
accessKey:
title: Access Key
- description: The access key obtained from AWS
+ description: The access key obtained from AWS.
type: string
format: password
x-descriptors:
@@ -35,7 +39,7 @@ spec:
- urn:camel:group:credentials
secretKey:
title: Secret Key
- description: The secret key obtained from AWS
+ description: The secret key obtained from AWS.
type: string
format: password
x-descriptors:
@@ -43,16 +47,27 @@ spec:
- urn:camel:group:credentials
region:
title: AWS Region
- description: The AWS region to connect to
+ description: The AWS region to access.
type: string
- example: eu-west-1
+ enum: ["ap-south-1", "eu-south-1", "us-gov-east-1", "me-central-1", "ca-central-1", "eu-central-1", "us-iso-west-1", "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-northeast-1", "me-south-1", "sa-east-1", "ap-east-1", "cn-north-1", "us-gov-west-1", "ap-southeast-1", "ap-southeast-2", "us-iso-east-1", "ap-southeast-3", "us-east-1", "us-east-2", "cn-northwest-1", "us-isob-east-1", "aws-global", "aws-cn-global", "aws-us-gov-global", "aws-iso-global", "aws-iso-b-global"]
autoCreateQueue:
title: Autocreate Queue
- description: Setting the autocreation of the SQS queue.
+ description: Automatically create the SQS queue.
type: boolean
x-descriptors:
- 'urn:alm:descriptor:com.tectonic.ui:checkbox'
default: false
+ amazonAWSHost:
+ title: AWS Host
+ description: The hostname of the Amazon AWS cloud.
+ type: string
+ default: amazonaws.com
+ protocol:
+ title: Protocol
+ description: The underlying protocol used to communicate with SQS.
+ type: string
+ example: http or https
+ default: https
useDefaultCredentialsProvider:
title: Default Credentials Provider
description: If true, the SQS client loads credentials through a default credentials provider. If false, it uses the basic authentication method (access key and secret key).
@@ -60,10 +75,20 @@ spec:
x-descriptors:
- 'urn:alm:descriptor:com.tectonic.ui:checkbox'
default: false
+ uriEndpointOverride:
+ title: Overwrite Endpoint URI
+ description: The overriding endpoint URI. To use this option, you must also select the `overrideEndpoint` option.
+ type: string
+ overrideEndpoint:
+ title: Endpoint Overwrite
+ description: Select this option to override the endpoint URI. To use this option, you must also provide a URI for the `uriEndpointOverride` option.
+ type: boolean
+ x-descriptors:
+ - 'urn:alm:descriptor:com.tectonic.ui:checkbox'
+ default: false
dependencies:
- - "camel:aws2-sqs"
- - "camel:core"
- - "camel:kamelet"
+ - "camel:aws2-sqs"
+ - "camel:kamelet"
template:
from:
uri: kamelet:source
@@ -75,4 +100,8 @@ spec:
accessKey: "{{?accessKey}}"
secretKey: "{{?secretKey}}"
region: "{{region}}"
+ amazonAWSHost: "{{?amazonAWSHost}}"
+ protocol: "{{?protocol}}"
useDefaultCredentialsProvider: "{{useDefaultCredentialsProvider}}"
+ uriEndpointOverride: "{{?uriEndpointOverride}}"
+ overrideEndpoint: "{{overrideEndpoint}}"
diff --git a/aws-sqs-source.kamelet.yaml b/aws-sqs-source.kamelet.yaml
index 151e7a283..80145c764 100644
--- a/aws-sqs-source.kamelet.yaml
+++ b/aws-sqs-source.kamelet.yaml
@@ -1,12 +1,15 @@
-apiVersion: camel.apache.org/v1alpha1
+apiVersion: camel.apache.org/v1
kind: Kamelet
metadata:
name: aws-sqs-source
annotations:
- camel.apache.org/catalog.version: "2.2.0"
- camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/PjwhRE9DVFlQRSBzdmcgIFBVQkxJQyAnLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4nICAnaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkJz48c3ZnIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDEwMCAxMDAiIGhlaWdodD0iMTAwcHgiIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDEwMCAxMDAiIHdpZHRoPSIxMDBweCIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGcgaWQ9IkFtYXpvbl9DbG91ZFNlYXJjaCI+PGc+PHBvbHlnb24gZmlsbD0iI0Q5QTc0MSIgcG9pbnRzPSI1NC40Niw1OS41MDYgMjMuOTg1LDYzLjc5MyAyMy45ODcsMzYuMjAxIDU0LjQ2Miw0MC40OTQgICAiLz48cG9seWdvbiBmaWxsPSIjODc2OTI5IiBwb2ludHM9IjIwLjE3OSwzNy4zNDQgNTAuMDAzLDI4LjM5OSA1MC4wMDMsMTQgMjAuMTc5LDI4LjkwOCAgICIvPjxwb2x5Z29uIGZpbGw9IiM4NzY5MjkiIHBvaW50cz0iMjAuMTksNjIuNjU0IDQ5Ljk5OSw3MS42IDQ5Ljk5Nyw4NiAyMC4xOSw3MS4wOTQgICAiLz48cG9seWdvbiBmaWxsPSIjRDlBNzQxIiBwb2ludHM9Ijc5LjgyMywzNy4zNSA1MC4wMDMsMjguMzk5IDUwLjAwMywxNCA3OS44MjUsMjguOTE0ICAgIi8+PHBvbHlnb24gZmlsbD0iI0Q5QTc0MSIgcG9pbnRzPSI3OS44MDYsNjIuNjYgNDkuOTk5LDcxLjYgNDkuOTk3LDg2IDc5LjgwNiw3MS4wOTkgICAiLz48cG9seWdvbiBmaWxsPSIjODc2OTI5IiBwb2ludHM9IjIzLjk4NSw3Mi45OSAyMC4xNzUsNzEuMDg2IDIwLjE3OSwyOC45MDggMjMuOTg5LDI3LjAwNCAgICIvPjxwb2x5Z29uIGZpbGw9IiM4NzY5MjkiIHBvaW50cz0iMzkuMDE3LDU3Ljc2MiA0OS45OTksNTkuMTYgNTAuMDAxLDQwLjgzMiAzOS4wMTksNDIuMjI5ICAgIi8+PHBvbHlnb24gZmlsbD0iIzg3NjkyOSIgcG9pbnRzPSIyNy45NTQsNTYuMzU0IDM1LjA4MSw1Ny4yNiAzNS4wODMsNDIuNzI5IDI3Ljk1NCw0My42MzcgICAiLz48cG9seWdvbiBmaWxsPSIjNjI0QTFFIiBwb2ludHM9IjIzLjk4NywzNi4yMDEgNTAuMDAzLDI4LjM5OSA3OS44MjMsMzcuMzUgNTQuNDgxLDQwLjQ5NiAgICIvPjxwb2x5Z29uIGZpbGw9IiNGQUQ3OTEiIHBvaW50cz0iMjMuOTg1LDYzLjc5MyA0OS45OTksNzEuNiA3OS44MDYsNjIuNjYgNTQuNDYsNTkuNTA2ICAgIi8+PHBvbHlnb24gZmlsbD0iI0Q5QTc0MSIgcG9pbnRzPSI3OS44MDgsNTUuMzMgNDkuOTk5LDU5LjA5MiA1MC4wMDEsNDAuODMyIDc5LjgwOCw0NC42MjkgICAiLz48L2c+PC9nPjwvc3ZnPg=="
+ camel.apache.org/kamelet.support.level: "Stable"
+ camel.apache.org/catalog.version: "2.2.0-SNAPSHOT"
+ camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMTAwIDEwMCIKICAgaGVpZ2h0PSI3Mi4xOTk5OTciCiAgIHZlcnNpb249IjEuMSIKICAgdmlld0JveD0iMCAwIDU5Ljg0OTk5OCA3Mi4xOTk5OTciCiAgIHdpZHRoPSI1OS44NDk5OTgiCiAgIHhtbDpzcGFjZT0icHJlc2VydmUiCiAgIGlkPSJzdmcxNDUiCiAgIHNvZGlwb2RpOmRvY25hbWU9ImRvd25sb2FkLnN2ZyIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMS4wLjIgKGU4NmM4NzA4NzksIDIwMjEtMDEtMTUpIj48bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGExNTEiPjxyZGY6UkRGPjxjYzpXb3JrCiAgICAgICAgIHJkZjphYm91dD0iIj48ZGM6Zm9ybWF0PmltYWdlL3N2Zyt4bWw8L2RjOmZvcm1hdD48ZGM6dHlwZQogICAgICAgICAgIHJkZjpyZXNvdXJjZT0iaHR0cDovL3B1cmwub3JnL2RjL2RjbWl0eXBlL1N0aWxsSW1hZ2UiIC8+PGRjOnRpdGxlPjwvZGM6dGl0bGU+PC9jYzpXb3JrPjwvcmRmOlJERj48L21ldGFkYXRhPjxkZWZzCiAgICAgaWQ9ImRlZnMxNDkiIC8+PHNvZGlwb2RpOm5hbWVkdmlldwogICAgIHBhZ2Vjb2xvcj0iI2ZmZmZmZiIKICAgICBib3JkZXJjb2xvcj0iIzY2NjY2NiIKICAgICBib3JkZXJvcGFjaXR5PSIxIgogICAgIG9iamVjdHRvbGVyYW5jZT0iMTAiCiAgICAgZ3JpZHRvbGVyYW5jZT0iMTAiCiAgICAgZ3VpZGV0b2xlcmFuY2U9IjEwIgogICAgIGlua3NjYXBlOnBhZ2VvcGFjaXR5PSIwIgogICAgIGlua3NjYXBlOnBhZ2VzaGFkb3c9IjIiCiAgICAgaW5rc2NhcGU6d2luZG93LXdpZHRoPSIxOTIwIgogICAgIGlua3NjYXBlOndpbmRvdy1oZWlnaHQ9IjEwMTYiCiAgICAgaWQ9Im5hbWVkdmlldzE0NyIKICAgICBzaG93Z3JpZD0iZmFsc2UiCiAgICAgZml0LW1hcmdpbi10b3A9IjAuMSIKICAgICBmaXQtbWFyZ2luLWxlZnQ9IjAuMSIKICAgICBmaXQtbWFyZ2luLXJpZ2h0PSIwLjEiCiAgICAgZml0LW1hcmdpbi1ib3R0b209IjAuMSIKICAgICBpbmtzY2FwZTp6b29tPSI4LjE5IgogICAgIGlua3NjYXBlOmN4PSIyOS45MjUiCiAgICAgaW5rc2NhcGU6Y3k9IjM2LjEiCiAgICAgaW5rc2NhcGU6d2luZG93LXg9IjAiCiAgICAgaW5rc2NhcGU6d2luZG93LXk9IjI3IgogICAgIGlua3NjYXBlOndpbmRvdy1tYXhpbWl6ZWQ9IjEiCiAgICAgaW5rc2NhcGU6Y3VycmVudC1sYXllcj0ic3ZnMTQ1IiAvPjxnCiAgICAgaWQ9IkFtYXpvbl9DbG91ZFNlYXJjaCIKICAgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjAuMDc1LC0xMy45KSI+PGcKICAgICAgIGlkPSJnMTQyIj48cG9seWdvbgogICAgICAgICBmaWxsPSIjZDlhNzQxIgogICAgICAgICBwb2ludHM9IjIzLjk4NywzNi4yMDEgNTQuNDYyLDQwLjQ5NCA1NC40Niw1OS41MDYgMjMuOTg1LDYzLjc5MyAiCiAgICAgICAgIGlkPSJwb2x5Z29uMTIwIiAvPjxwb2x5Z29uCiAgICAgICAgIGZpbGw9IiM4NzY5MjkiCiAgICAgICAgIHBvaW50cz0iNTAuMDAzLDE0IDIwLjE3OSwyOC45MDggMjAuMTc5LDM3LjM0NCA1MC4wMDMsMjguMzk5ICIKICAgICAgICAgaWQ9InBvbHlnb24xMjIiIC8+PHBvbHlnb24KICAgICAgICAgZmlsbD0iIzg3NjkyOSIKICAgICAgICAgcG9pbnRzPSI0OS45OTcsODYgMjAuMTksNzEuMDk0IDIwLjE5LDYyLjY1NCA0OS45OTksNzEuNiAiCiAgICAgICAgIGlkPSJwb2x5Z29uMTI0IiAvPjxwb2x5Z29uCiAgICAgICAgIGZpbGw9IiNkOWE3NDEiCiAgICAgICAgIHBvaW50cz0iNTAuMDAzLDE0IDc5LjgyNSwyOC45MTQgNzkuODIzLDM3LjM1IDUwLjAwMywyOC4zOTkgIgogICAgICAgICBpZD0icG9seWdvbjEyNiIgLz48cG9seWdvbgogICAgICAgICBmaWxsPSIjZDlhNzQxIgogICAgICAgICBwb2ludHM9IjQ5Ljk5Nyw4NiA3OS44MDYsNzEuMDk5IDc5LjgwNiw2Mi42NiA0OS45OTksNzEuNiAiCiAgICAgICAgIGlkPSJwb2x5Z29uMTI4IiAvPjxwb2x5Z29uCiAgICAgICAgIGZpbGw9IiM4NzY5MjkiCiAgICAgICAgIHBvaW50cz0iMjAuMTc5LDI4LjkwOCAyMy45ODksMjcuMDA0IDIzLjk4NSw3Mi45OSAyMC4xNzUsNzEuMDg2ICIKICAgICAgICAgaWQ9InBvbHlnb24xMzAiIC8+PHBvbHlnb24KICAgICAgICAgZmlsbD0iIzg3NjkyOSIKICAgICAgICAgcG9pbnRzPSI1MC4wMDEsNDAuODMyIDM5LjAxOSw0Mi4yMjkgMzkuMDE3LDU3Ljc2MiA0OS45OTksNTkuMTYgIgogICAgICAgICBpZD0icG9seWdvbjEzMiIgLz48cG9seWdvbgogICAgICAgICBmaWxsPSIjODc2OTI5IgogICAgICAgICBwb2ludHM9IjM1LjA4Myw0Mi43MjkgMjcuOTU0LDQzLjYzNyAyNy45NTQsNTYuMzU0IDM1LjA4MSw1Ny4yNiAiCiAgICAgICAgIGlkPSJwb2x5Z29uMTM0IiAvPjxwb2x5Z29uCiAgICAgICAgIGZpbGw9IiM2MjRhMWUiCiAgICAgICAgIHBvaW50cz0iNzkuODIzLDM3LjM1IDU0LjQ4MSw0MC40OTYgMjMuOTg3LDM2LjIwMSA1MC4wMDMsMjguMzk5ICIKICAgICAgICAgaWQ9InBvbHlnb24xMzYiIC8+PHBvbHlnb24KICAgICAgICAgZmlsbD0iI2ZhZDc5MSIKICAgICAgICAgcG9pbnRzPSI3OS44MDYsNjIuNjYgNTQuNDYsNTkuNTA2IDIzLjk4NSw2My43OTMgNDkuOTk5LDcxLjYgIgogICAgICAgICBpZD0icG9seWdvbjEzOCIgLz48cG9seWdvbgogICAgICAgICBmaWxsPSIjZDlhNzQxIgogICAgICAgICBwb2ludHM9IjUwLjAwMSw0MC44MzIgNzkuODA4LDQ0LjYyOSA3OS44MDgsNTUuMzMgNDkuOTk5LDU5LjA5MiAiCiAgICAgICAgIGlkPSJwb2x5Z29uMTQwIiAvPjwvZz48L2c+PC9zdmc+Cg=="
camel.apache.org/provider: "Red Hat"
camel.apache.org/kamelet.group: "AWS SQS"
+ camel.apache.org/keda.type: "aws-sqs-queue"
+ camel.apache.org/kamelet.namespace: "AWS"
labels:
camel.apache.org/kamelet.type: "source"
spec:
@@ -14,16 +17,20 @@ spec:
title: "AWS SQS Source"
description: |-
Receive data from AWS SQS.
+
+ Access Key/Secret Key are the basic method for authenticating to the AWS SQS Service. These parameters are optional because the Kamelet provides the 'useDefaultCredentialsProvider'.
+
+ When using a default Credentials Provider the SQS client will load the credentials through this provider and won't use the static credential. This is reason for not having the access key and secret key as mandatory parameter for this Kamelet.
+
+ Two headers will be duplicated with different names for clarity at sink level, CamelAwsSqsMessageId will be duplicated into aws.sqs.message.id and CamelAwsSqsReceiptHandle will be duplicated in aws.sqs.receipt.handle
required:
- queueNameOrArn
- - accessKey
- - secretKey
- region
type: object
properties:
queueNameOrArn:
title: Queue Name
- description: The SQS Queue name or ARN
+ description: The SQS Queue Name or ARN
type: string
deleteAfterRead:
title: Auto-delete Messages
@@ -34,32 +41,57 @@ spec:
default: true
accessKey:
title: Access Key
- description: The access key obtained from AWS
+ description: The access key obtained from AWS.
type: string
format: password
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:password
- urn:camel:group:credentials
+ - urn:keda:authentication:awsAccessKeyID
+ - urn:keda:required
secretKey:
title: Secret Key
- description: The secret key obtained from AWS
+ description: The secret key obtained from AWS.
type: string
format: password
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:password
- urn:camel:group:credentials
+ - urn:keda:authentication:awsSecretAccessKey
+ - urn:keda:required
region:
title: AWS Region
- description: The AWS region to connect to
+ description: The AWS region to access.
type: string
- example: eu-west-1
+ x-descriptors:
+ - urn:keda:metadata:awsRegion
+ - urn:keda:required
+ enum: ["ap-south-1", "eu-south-1", "us-gov-east-1", "me-central-1", "ca-central-1", "eu-central-1", "us-iso-west-1", "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-northeast-1", "me-south-1", "sa-east-1", "ap-east-1", "cn-north-1", "us-gov-west-1", "ap-southeast-1", "ap-southeast-2", "us-iso-east-1", "ap-southeast-3", "us-east-1", "us-east-2", "cn-northwest-1", "us-isob-east-1", "aws-global", "aws-cn-global", "aws-us-gov-global", "aws-iso-global", "aws-iso-b-global"]
autoCreateQueue:
title: Autocreate Queue
- description: Setting the autocreation of the SQS queue.
+ description: Setting the autocreation of the SQS queue.
type: boolean
x-descriptors:
- 'urn:alm:descriptor:com.tectonic.ui:checkbox'
default: false
+ amazonAWSHost:
+ title: AWS Host
+ description: The hostname of the Amazon AWS cloud.
+ type: string
+ default: amazonaws.com
+ protocol:
+ title: Protocol
+ description: The underlying protocol used to communicate with SQS
+ type: string
+ example: http or https
+ default: https
+ queueURL:
+ title: Queue URL
+ description: The full SQS Queue URL (required if using KEDA)
+ type: string
+ x-descriptors:
+ - urn:keda:metadata:queueURL
+ - urn:keda:required
useDefaultCredentialsProvider:
title: Default Credentials Provider
description: If true, the SQS client loads credentials through a default credentials provider. If false, it uses the basic authentication method (access key and secret key).
@@ -67,15 +99,43 @@ spec:
x-descriptors:
- 'urn:alm:descriptor:com.tectonic.ui:checkbox'
default: false
- types:
- out:
- mediaType: application/json
+ uriEndpointOverride:
+ title: Overwrite Endpoint URI
+ description: The overriding endpoint URI. To use this option, you must also select the `overrideEndpoint` option.
+ type: string
+ overrideEndpoint:
+ title: Endpoint Overwrite
+ description: Select this option to override the endpoint URI. To use this option, you must also provide a URI for the `uriEndpointOverride` option.
+ type: boolean
+ x-descriptors:
+ - 'urn:alm:descriptor:com.tectonic.ui:checkbox'
+ default: false
+ delay:
+ title: Delay
+ description: The number of milliseconds before the next poll of the selected stream
+ type: integer
+ default: 500
+ greedy:
+ title: Greedy Scheduler
+ description: If greedy is enabled, then the polling will happen immediately again, if the previous run polled 1 or more messages.
+ type: boolean
+ x-descriptors:
+ - 'urn:alm:descriptor:com.tectonic.ui:checkbox'
+ default: false
dependencies:
- - "camel:aws2-sqs"
- - "camel:core"
- - "camel:kamelet"
- - "camel:jackson"
+ - "camel:core"
+ - "camel:aws2-sqs"
+ - "github:openshift-integration.kamelet-catalog:camel-kamelets-utils:2.2.0-SNAPSHOT"
+ - "camel:kamelet"
template:
+ beans:
+ - name: renameHeaders
+ type: "#class:org.apache.camel.kamelets.utils.headers.DuplicateNamingHeaders"
+ properties:
+ prefix: 'CamelAwsSqs'
+ renamingPrefix: 'aws.sqs.'
+ mode: 'filtering'
+ selectedHeaders: 'CamelAwsSqsReceiptHandle,CamelAwsSqsMessageId'
from:
uri: "aws2-sqs:{{queueNameOrArn}}"
parameters:
@@ -83,9 +143,15 @@ spec:
secretKey: "{{?secretKey}}"
accessKey: "{{?accessKey}}"
region: "{{region}}"
- useDefaultCredentialsProvider: "{{useDefaultCredentialsProvider}}"
deleteAfterRead: "{{deleteAfterRead}}"
+ amazonAWSHost: "{{?amazonAWSHost}}"
+ protocol: "{{?protocol}}"
+ useDefaultCredentialsProvider: "{{useDefaultCredentialsProvider}}"
+ uriEndpointOverride: "{{?uriEndpointOverride}}"
+ overrideEndpoint: "{{overrideEndpoint}}"
+ delay: "{{delay}}"
+ greedy: "{{greedy}}"
steps:
- - marshal:
- json: {}
+ - process:
+ ref: "{{renameHeaders}}"
- to: "kamelet:sink"
diff --git a/azure-servicebus-sink.kamelet.yaml b/azure-servicebus-sink.kamelet.yaml
deleted file mode 100644
index a0ce3a0e5..000000000
--- a/azure-servicebus-sink.kamelet.yaml
+++ /dev/null
@@ -1,67 +0,0 @@
-# ---------------------------------------------------------------------------
-# 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.
-# ---------------------------------------------------------------------------
-
-apiVersion: camel.apache.org/v1alpha1
-kind: Kamelet
-metadata:
- name: azure-servicebus-sink
- annotations:
- camel.apache.org/catalog.version: "2.2.0"
- camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgODEgODIiIGZpbGw9IiNmZmYiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc3Ryb2tlPSIjMDAwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjx1c2UgeGxpbms6aHJlZj0iI0EiIHg9Ii41IiB5PSIuNSIvPjxzeW1ib2wgaWQ9IkEiIG92ZXJmbG93PSJ2aXNpYmxlIj48cGF0aCBkPSJNMS4zMzMgMEMuNTMzIDAgMCAuNTMzIDAgMS4zMzN2MTZjMCAuOC41MzMgMS4zMzMgMS4zMzMgMS4zMzNoOGMuOCAwIDEuMzMzLS41MzMgMS4zMzMtMS4zMzN2LTYuNjY2aDU4LjY2N3Y2LjY2N2MwIC44LjUzMyAxLjMzMyAxLjYgMS4zMzNoNy43MzNjLjggMCAxLjMzMy0uNTMzIDEuMzMzLTEuMzMzdi04LThDODAgLjUzMyA3OS40NjcgMCA3OC42NjcgMGgwSDEuMzMzem03Ny4zMzQgODBjLjggMCAxLjMzMy0uNTMzIDEuMzMzLTEuMzMzVjYyLjkzNGMwLS44LS41MzMtMS4zMzMtMS4zMzMtMS4zMzNoLTcuNzMzYy0uOCAwLTEuMzMzLjUzMy0xLjMzMyAxLjMzM3Y2LjRIMTAuNjY3di02LjY2N2MwLS44LS41MzMtMS4zMzMtMS42LTEuMzMzSDEuMzMzYy0uOCAwLTEuMzMzLjUzMy0xLjMzMyAxLjZ2MTUuNzMzQzAgNzkuNDY3LjUzMyA4MCAxLjMzMyA4MGg3Ny4zMzR6IiBmaWxsPSIjMDA3MmM2IiBzdHJva2U9Im5vbmUiLz48cGF0aCBkPSJNMjkuNTE5IDM2LjQ0N2wzLjQ1Mi0zLjQ1MiAyLjU1NiAyLjU1Ni0zLjQ1MiAzLjQ1MXptNS4wMDctNS4wMDhsMy40NTYtMy40NTYgMi41NiAyLjU2TDM3LjA4NiAzNHptNy41Ny0yLjQ2M2wtMi41Ni0yLjU0NCAzLjQyNC0zLjQyNCAyLjU2IDIuNTQ0ek0zOS41MzUgNTIuNWwyLjU2MS0yLjU2IDMuNDI0IDMuNDI2LTIuNTYxIDIuNTZ6bS0xLjU1MS0xLjU3MmwtMy40NTYtMy40NTYgMi41Ni0yLjU0NCAzLjQ1NiAzLjQ1NnptLTUuMDA4LTUuMDA4bC0zLjQ1Ni0zLjQ1NiAyLjU2LTIuNTQ0IDMuNDQgMy40NHoiIHN0cm9rZT0ibm9uZSIgZmlsbD0iI2I4ZDQzMiIvPjxwYXRoIGQ9Ik01Ny44MSAyNC4zOTVhNC40NCA0LjQ0IDAgMCAxLTMuMTU4IDEuMzA5IDQuNDMgNC40MyAwIDAgMS0zLjE1OC0xLjMwOWwtNi4wNTMtNi4wNTN2MTIuMzA2aDE4LjQyNFYxOC4zNDJsLTYuMDU0IDYuMDUzem0tMy4xNjEuNDA5YTMuNTQgMy41NCAwIDAgMCAyLjUyMy0xLjA0NWw2LjY5LTYuNjl2LS4zNTVINDUuNDM4di4zNTVsNi42OSA2LjY5YTMuNTQgMy41NCAwIDAgMCAyLjUyMiAxLjA0NXptMy4xNjEgMzEuMTVhNC40NCA0LjQ0IDAgMCAxLTMuMTU4IDEuMzA5IDQuNDMgNC40MyAwIDAgMS0zLjE1OC0xLjMwOWwtNi4wNTMtNi4wNTN2MTIuMzA2aDE4LjQyNFY0OS45MDFsLTYuMDU0IDYuMDUzem0tMy4xNjEuNDFhMy41NCAzLjU0IDAgMCAwIDIuNTIzLTEuMDQ1bDYuNjktNi42ODl2LS4zNTVINDUuNDM4di4zNTVsNi42OSA2LjY4OWEzLjU0IDMuNTQgMCAwIDAgMi41MjIgMS4wNDV6TTE5LjcxOCA0MC41OTljLTEuMzQ0IDEuMzQ0LTMuMTMzIDIuMDg1LTUuMDM1IDIuMDg1cy0zLjY5LS43NDEtNS4wMzUtMi4wODVMMCAzMC45NDl2MTkuNjEzaDI5LjM2NlYzMC45NDlsLTkuNjQ4IDkuNjV6bS01LjAzNS42NTJhNS42NSA1LjY1IDAgMCAwIDQuMDIyLTEuNjY2bDEwLjY2MS0xMC42NjF2LS41NjVIMHYuNTY2bDEwLjY2MSAxMC42NjFhNS42NiA1LjY2IDAgMCAwIDQuMDIyIDEuNjY0eiIgc3Ryb2tlPSJub25lIiBmaWxsPSIjNTliNGQ5Ii8+PC9zeW1ib2w+PC9zdmc+"
- camel.apache.org/provider: "Red Hat"
- camel.apache.org/kamelet.group: "Azure Servicebus"
- camel.apache.org/kamelet.namespace: "Azure"
- labels:
- camel.apache.org/kamelet.type: "sink"
-spec:
- definition:
- title: "Azure Servicebus Sink"
- description: |-
- Send Messages to Azure Servicebus.
- required:
- - topicOrQueueName
- - connectionString
- type: object
- properties:
- topicOrQueueName:
- title: Topic Or Queue Name
- description: Topic Or Queue Name for the Azure Servicebus instance
- type: string
- connectionString:
- title: Connection String
- description: Connection String for Azure Servicebus instance
- type: string
- format: password
- x-descriptors:
- - urn:alm:descriptor:com.tectonic.ui:password
- - urn:camel:group:credentials
- types:
- in:
- mediaType: application/octet-stream
- dependencies:
- - "camel:azure-servicebus"
- - "camel:kamelet"
- - "camel:core"
- template:
- from:
- uri: kamelet:source
- steps:
- - to:
- uri: "azure-servicebus:{{topicOrQueueName}}"
- parameters:
- connectionString: "{{connectionString}}"
- producerOperation: "sendMessages"
diff --git a/azure-servicebus-source.kamelet.yaml b/azure-servicebus-source.kamelet.yaml
deleted file mode 100644
index 82a5d9596..000000000
--- a/azure-servicebus-source.kamelet.yaml
+++ /dev/null
@@ -1,82 +0,0 @@
-# ---------------------------------------------------------------------------
-# 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.
-# ---------------------------------------------------------------------------
-
-apiVersion: camel.apache.org/v1alpha1
-kind: Kamelet
-metadata:
- name: azure-servicebus-source
- annotations:
- camel.apache.org/catalog.version: "2.2.0"
- camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgODEgODIiIGZpbGw9IiNmZmYiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc3Ryb2tlPSIjMDAwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjx1c2UgeGxpbms6aHJlZj0iI0EiIHg9Ii41IiB5PSIuNSIvPjxzeW1ib2wgaWQ9IkEiIG92ZXJmbG93PSJ2aXNpYmxlIj48cGF0aCBkPSJNMS4zMzMgMEMuNTMzIDAgMCAuNTMzIDAgMS4zMzN2MTZjMCAuOC41MzMgMS4zMzMgMS4zMzMgMS4zMzNoOGMuOCAwIDEuMzMzLS41MzMgMS4zMzMtMS4zMzN2LTYuNjY2aDU4LjY2N3Y2LjY2N2MwIC44LjUzMyAxLjMzMyAxLjYgMS4zMzNoNy43MzNjLjggMCAxLjMzMy0uNTMzIDEuMzMzLTEuMzMzdi04LThDODAgLjUzMyA3OS40NjcgMCA3OC42NjcgMGgwSDEuMzMzem03Ny4zMzQgODBjLjggMCAxLjMzMy0uNTMzIDEuMzMzLTEuMzMzVjYyLjkzNGMwLS44LS41MzMtMS4zMzMtMS4zMzMtMS4zMzNoLTcuNzMzYy0uOCAwLTEuMzMzLjUzMy0xLjMzMyAxLjMzM3Y2LjRIMTAuNjY3di02LjY2N2MwLS44LS41MzMtMS4zMzMtMS42LTEuMzMzSDEuMzMzYy0uOCAwLTEuMzMzLjUzMy0xLjMzMyAxLjZ2MTUuNzMzQzAgNzkuNDY3LjUzMyA4MCAxLjMzMyA4MGg3Ny4zMzR6IiBmaWxsPSIjMDA3MmM2IiBzdHJva2U9Im5vbmUiLz48cGF0aCBkPSJNMjkuNTE5IDM2LjQ0N2wzLjQ1Mi0zLjQ1MiAyLjU1NiAyLjU1Ni0zLjQ1MiAzLjQ1MXptNS4wMDctNS4wMDhsMy40NTYtMy40NTYgMi41NiAyLjU2TDM3LjA4NiAzNHptNy41Ny0yLjQ2M2wtMi41Ni0yLjU0NCAzLjQyNC0zLjQyNCAyLjU2IDIuNTQ0ek0zOS41MzUgNTIuNWwyLjU2MS0yLjU2IDMuNDI0IDMuNDI2LTIuNTYxIDIuNTZ6bS0xLjU1MS0xLjU3MmwtMy40NTYtMy40NTYgMi41Ni0yLjU0NCAzLjQ1NiAzLjQ1NnptLTUuMDA4LTUuMDA4bC0zLjQ1Ni0zLjQ1NiAyLjU2LTIuNTQ0IDMuNDQgMy40NHoiIHN0cm9rZT0ibm9uZSIgZmlsbD0iI2I4ZDQzMiIvPjxwYXRoIGQ9Ik01Ny44MSAyNC4zOTVhNC40NCA0LjQ0IDAgMCAxLTMuMTU4IDEuMzA5IDQuNDMgNC40MyAwIDAgMS0zLjE1OC0xLjMwOWwtNi4wNTMtNi4wNTN2MTIuMzA2aDE4LjQyNFYxOC4zNDJsLTYuMDU0IDYuMDUzem0tMy4xNjEuNDA5YTMuNTQgMy41NCAwIDAgMCAyLjUyMy0xLjA0NWw2LjY5LTYuNjl2LS4zNTVINDUuNDM4di4zNTVsNi42OSA2LjY5YTMuNTQgMy41NCAwIDAgMCAyLjUyMiAxLjA0NXptMy4xNjEgMzEuMTVhNC40NCA0LjQ0IDAgMCAxLTMuMTU4IDEuMzA5IDQuNDMgNC40MyAwIDAgMS0zLjE1OC0xLjMwOWwtNi4wNTMtNi4wNTN2MTIuMzA2aDE4LjQyNFY0OS45MDFsLTYuMDU0IDYuMDUzem0tMy4xNjEuNDFhMy41NCAzLjU0IDAgMCAwIDIuNTIzLTEuMDQ1bDYuNjktNi42ODl2LS4zNTVINDUuNDM4di4zNTVsNi42OSA2LjY4OWEzLjU0IDMuNTQgMCAwIDAgMi41MjIgMS4wNDV6TTE5LjcxOCA0MC41OTljLTEuMzQ0IDEuMzQ0LTMuMTMzIDIuMDg1LTUuMDM1IDIuMDg1cy0zLjY5LS43NDEtNS4wMzUtMi4wODVMMCAzMC45NDl2MTkuNjEzaDI5LjM2NlYzMC45NDlsLTkuNjQ4IDkuNjV6bS01LjAzNS42NTJhNS42NSA1LjY1IDAgMCAwIDQuMDIyLTEuNjY2bDEwLjY2MS0xMC42NjF2LS41NjVIMHYuNTY2bDEwLjY2MSAxMC42NjFhNS42NiA1LjY2IDAgMCAwIDQuMDIyIDEuNjY0eiIgc3Ryb2tlPSJub25lIiBmaWxsPSIjNTliNGQ5Ii8+PC9zeW1ib2w+PC9zdmc+"
- camel.apache.org/provider: "Red Hat"
- camel.apache.org/kamelet.group: "Azure Servicebus"
- camel.apache.org/kamelet.namespace: "Azure"
- labels:
- camel.apache.org/kamelet.type: "source"
-spec:
- definition:
- title: "Azure Servicebus Source"
- description: |-
- Consume Messages from Azure Servicebus.
-
- The subscribtion name parameter needs to be populated in case of consuming from a Topic.
- required:
- - topicOrQueueName
- - connectionString
- type: object
- properties:
- topicOrQueueName:
- title: Topic Or Queue Name
- description: Topic Or Queue Name for the Azure Servicebus instance
- type: string
- connectionString:
- title: Connection String
- description: Connection String for Azure Servicebus instance
- type: string
- format: password
- x-descriptors:
- - urn:alm:descriptor:com.tectonic.ui:password
- - urn:camel:group:credentials
- serviceBusReceiveMode:
- title: Servicebus Receive Mode
- description: Sets the receive mode for the receiver
- type: string
- default: PEEK_LOCK
- enum: ["PEEK_LOCK", "RECEIVE_AND_DELETE"]
- subscriptionName:
- title: Subscription Name
- description: Sets the name of the subscription in the topic to listen to. This parameter is mandatory in case of topic.
- type: string
- types:
- out:
- mediaType: application/octet-stream
- dependencies:
- - "camel:azure-servicebus"
- - "camel:kamelet"
- - "camel:core"
- template:
- from:
- uri: "azure-servicebus:{{topicOrQueueName}}"
- parameters:
- connectionString: "{{connectionString}}"
- serviceBusReceiveMode: "{{serviceBusReceiveMode}}"
- subscriptionName: "{{?subscriptionName}}"
- steps:
- - set-body:
- simple: "${body.toBytes()}"
- - to: "kamelet:sink"
-
diff --git a/azure-storage-blob-append-sink.kamelet.yaml b/azure-storage-blob-append-sink.kamelet.yaml
deleted file mode 100644
index f4ef2479f..000000000
--- a/azure-storage-blob-append-sink.kamelet.yaml
+++ /dev/null
@@ -1,96 +0,0 @@
-# ---------------------------------------------------------------------------
-# 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.
-# ---------------------------------------------------------------------------
-
-apiVersion: camel.apache.org/v1alpha1
-kind: Kamelet
-metadata:
- name: azure-storage-blob-append-sink
- annotations:
- camel.apache.org/catalog.version: "2.2.0"
- camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgOTEgODEiIGZpbGw9IiNmZmYiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc3Ryb2tlPSIjMDAwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjx1c2UgeGxpbms6aHJlZj0iI0EiIHg9Ii41IiB5PSIuNSIvPjxzeW1ib2wgaWQ9IkEiIG92ZXJmbG93PSJ2aXNpYmxlIj48cGF0aCBkPSJNNjcuNTU4IDBIMjIuNDQxTDAgNDBsMjIuNDQxIDQwaDQ1LjExN0w5MCA0MCA2Ny41NTggMHptLjIzNCA1Ny45NjRjMCAzLjM1My0yLjgwNSA2LjIyNy02LjA3OCA2LjIyN0gyOC41MmMtMy4yNzMgMC02LjA3OC0yLjg3NC02LjA3OC02LjIyN1YyMi4yNzZjMC0zLjM1MyAyLjgwNS02LjIyOCA2LjA3OC02LjIyOGgyOS45MjJsOS4zNTEgOS41ODF2MzIuMzM1ek00MS42MSA0Ni40NjdjMC0uNDc5LS4yMzQtLjcxOC0uMjM0LS45NThzLS4yMzQtLjQ3OS0uNDY3LS43MTgtLjIzNC0uMjQtLjQ2OC0uMjRoLS43MDFjLS40NjggMC0uNzAyIDAtLjkzNS4yNHMtLjQ2OC40NzktLjcwMS45NTgtLjIzNC45NTgtLjIzNCAxLjQzN3Y0LjU1MWMwIC43MTkuMjM0IDEuMTk3LjQ2OCAxLjQzNy4yMzQuNDc5LjQ2OC43MTkuNzAxLjcxOS4yMzQuMjQuNDY4LjI0LjkzNS4yNC4yMzQgMCAuNDY4IDAgLjcwMS0uMjRhLjUxLjUxIDAgMCAwIC40NjgtLjQ3OWMuMjM0LS4yNC4yMzQtLjQ3OS40NjctLjcxOCAwLS4yNC4yMzQtLjQ3OS4yMzQtLjk1OCAwLS4yMzkgMC0uNzE5LjIzMy0xLjE5OHYtMy4xMTRjLS40NjctLjI0LS40NjctLjQ3OS0uNDY3LS45NTh6bTEwLjUyLTE4LjY4M2MwLS40NzktLjIzNC0uNzE4LS4yMzQtLjk1OHMtLjIzNC0uNDc5LS40NjgtLjcxOS0uMjM0LS4yNC0uNDY4LS4yNGgtLjcwMWMtLjQ2NyAwLS43MDEgMC0uOTM1LjI0cy0uNDY4LjQ3OS0uNzAyLjk1OC0uMjMzLjk1OC0uMjMzIDEuNDM3djQuNTUxYzAgLjcxOS4yMzMgMS4xOTguNDY3IDEuNDM3LjIzNC40NzkuNDY4LjcxOS43MDEuNzE5LjIzNC4yNC40NjcuMjQuOTM1LjI0LjIzNCAwIC40NjcgMCAuNzAxLS4yNGEuNTEuNTEgMCAwIDAgLjQ2OC0uNDc5Yy4yMzQtLjI0LjIzNC0uNDc5LjQ2OC0uNzE5IDAtLjIzOS4yMzQtLjQ3OS4yMzQtLjk1OCAwLS4yMzkgMC0uNzE4LjIzNC0xLjE5OHYtMy4xMTRjLS4yMzQgMC0uMjM0LS40NzktLjQ2Ny0uOTU4em00LjY3NS04LjM4M0gyOC41MTljLTEuNjM2IDAtMi44MDUgMS4xOTgtMi44MDUgMi44NzR2MzUuNjg5YzAgMS42NzcgMS4xNjkgMi44NzQgMi44MDUgMi44NzRoMzMuMTk1YTIuODggMi44OCAwIDAgMCAyLjgwNS0yLjg3NFYyNy4zMDVoLTcuNDh2LTcuOTA0ek0zNiAyNi41ODd2LS40NzlsLjIzNC0uMjQgMi44MDUtMS45MTZoMi41NzF2MTEuNDk3aDIuMzM4bC4yMzMuMjRjLjIzNC4yMzkgMCAuMjM5IDAgLjIzOXYxLjE5N3MwIC4yNC0uMjMzLjI0aC03LjcxNGwtLjIzNC0uMjR2LTEuNDM3czAtLjI0LjIzNC0uMjRoMi44MDV2LTguODYybC0yLjEwNCAxLjE5OGMtLjIzNCAwLS4yMzQuMjM5LS40NjcuMjM5aC0uMjM0czAtLjIzOS0uMjM0LS4yMzl2LTEuMTk4em04LjE4MiAyNS42MjljLS4yMzMuOTU4LS40NjcgMS42NzctLjkzNSAyLjE1Ni0uNDY4LjcxOC0uOTM1IDEuMTk4LTEuNDAzIDEuNDM3LS43MDEuMjM5LTEuNDAzLjQ3OS0yLjMzOC40NzlzLTEuNjM2LS4yNC0yLjMzOC0uNDc5YTIuMTMgMi4xMyAwIDAgMS0xLjQwMy0xLjQzN2MtLjIzNC0uNzE4LS43MDEtMS40MzctLjcwMS0yLjE1Ni0uMjM0LS45NTgtLjIzNC0xLjkxNi0uMjM0LTIuODc0IDAtMS4xOTggMC0yLjE1Ni4yMzQtMi44NzQuMjM0LS45NTguNDY3LTEuNjc3LjkzNS0yLjE1NnMuOTM1LTEuMTk4IDEuNDAzLTEuNDM3Yy43MDEtLjI0IDEuNDAzLS40NzkgMi4zMzgtLjQ3OXMxLjYzNi4yMzkgMi4zMzcuNDc5YTIuMTMgMi4xMyAwIDAgMSAxLjQwMyAxLjQzN2MuMjM0LjcxOS43MDEgMS40MzcuNzAxIDIuMTU2LjIzNC45NTguMjM0IDEuOTE2LjIzNCAyLjg3NCAwIDEuMTk4IDAgMi4xNTYtLjIzNCAyLjg3NHptMTAuNTIgMy4zNTN2LjI0czAgLjIzOS0uMjM0LjIzOWgtNy43MTRsLS4yMzQtLjIzOXYtMS40MzdzMC0uMjM5LjIzNC0uMjM5aDIuODA1di04Ljg2MmwtMi4xMDQgMS4xOThjLS4yMzQgMC0uMjM0LjIzOS0uNDY4LjIzOWgtLjIzNHMwLS4yMzktLjIzNC0uMjM5VjQ0Ljc5bC4yMzQtLjI0IDIuODA1LTEuOTE2aDIuNTcydjExLjQ5N2gyLjMzOGwuMjM0LjIzOXYxLjE5OHptLjIzNC0yMi4wMzZjLS4yMzQuOTU4LS40NjggMS42NzctLjkzNSAyLjE1Ni0uNDY4LjcxOC0uOTM1IDEuMTk4LTEuNDAzIDEuNDM3LS43MDEuMjQtMS40MDMuNDc5LTIuMzM4LjQ3OXMtMS42MzYtLjI0LTIuMzM4LS40NzlhMi4xMyAyLjEzIDAgMCAxLTEuNDAzLTEuNDM3Yy0uMjM0LS40NzktLjcwMS0xLjQzNy0uNzAxLTIuMTU2cy0uMjM0LTEuOTE2LS4yMzQtMi44NzRjMC0xLjE5OCAwLTIuMTU2LjIzNC0yLjg3NC4yMzQtLjk1OC40NjgtMS42NzcuOTM1LTIuMTU2LjQ2OC0uNzE4LjkzNS0xLjE5OCAxLjQwMy0xLjQzNy43MDEtLjI0IDEuNDAzLS40NzkgMi4zMzgtLjQ3OXMxLjYzNi4yNCAyLjMzOC40NzlhMi4xMyAyLjEzIDAgMCAxIDEuNDAzIDEuNDM3Yy4yMzQuNzE4LjcwMSAxLjQzNy43MDEgMi4xNTYuMjM0Ljk1OC4yMzQgMS45MTYuMjM0IDIuODc0IDAgMS4xOTgtLjIzNCAyLjE1Ni0uMjM0IDIuODc0eiIgZmlsbD0iIzAwNzhkNyIgc3Ryb2tlPSJub25lIi8+PC9zeW1ib2w+PC9zdmc+"
- camel.apache.org/provider: "Red Hat"
- camel.apache.org/kamelet.group: "Azure Storage Blob"
- labels:
- camel.apache.org/kamelet.type: "sink"
-spec:
- definition:
- title: "Azure Storage Blob Append Sink"
- description: |-
- Upload data in append mode to Azure Storage Blob.
-
- In the header, you can set the `file` / `ce-file` property to specify the filename to upload. If you do set property in the header, the Kamelet uses the exchange ID as filename.
- required:
- - accountName
- - containerName
- type: object
- properties:
- accountName:
- title: Account Name
- description: The Azure Storage Blob account name.
- type: string
- x-descriptors:
- - urn:camel:group:credentials
- containerName:
- title: Container Name
- description: The Azure Storage Blob container name.
- type: string
- accessKey:
- title: Access Key
- description: The Azure Storage Blob access key.
- type: string
- format: password
- x-descriptors:
- - urn:alm:descriptor:com.tectonic.ui:password
- - urn:camel:group:credentials
- credentialType:
- title: Credential Type
- description: Determines the credential strategy to adopt.
- type: string
- enum: ["SHARED_ACCOUNT_KEY", "AZURE_IDENTITY"]
- default: "SHARED_ACCOUNT_KEY"
- dependencies:
- - "camel:core"
- - "camel:azure-storage-blob"
- - "camel:kamelet"
- template:
- from:
- uri: "kamelet:source"
- steps:
- - choice:
- when:
- - simple: "${header[file]}"
- steps:
- - set-header:
- name: CamelAzureStorageBlobBlobName
- simple: "${header[file]}"
- - simple: "${header[ce-file]}"
- steps:
- - set-header:
- name: CamelAzureStorageBlobBlobName
- simple: "${header[ce-file]}"
- otherwise:
- steps:
- - set-header:
- name: CamelAzureStorageBlobBlobName
- simple: "${exchangeId}"
- - to:
- uri: "azure-storage-blob://{{accountName}}/{{containerName}}"
- parameters:
- accessKey: "{{?accessKey}}"
- operation: "commitAppendBlob"
- blobType: "appendBlob"
- credentialType: "{{credentialType}}"
diff --git a/azure-storage-blob-sink.kamelet.yaml b/azure-storage-blob-sink.kamelet.yaml
index 587dd9065..98b4a6e28 100644
--- a/azure-storage-blob-sink.kamelet.yaml
+++ b/azure-storage-blob-sink.kamelet.yaml
@@ -1,12 +1,14 @@
-apiVersion: camel.apache.org/v1alpha1
+apiVersion: camel.apache.org/v1
kind: Kamelet
metadata:
name: azure-storage-blob-sink
annotations:
- camel.apache.org/catalog.version: "2.2.0"
+ camel.apache.org/kamelet.support.level: "Stable"
+ camel.apache.org/catalog.version: "2.2.0-SNAPSHOT"
camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgOTEgODEiIGZpbGw9IiNmZmYiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc3Ryb2tlPSIjMDAwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjx1c2UgeGxpbms6aHJlZj0iI0EiIHg9Ii41IiB5PSIuNSIvPjxzeW1ib2wgaWQ9IkEiIG92ZXJmbG93PSJ2aXNpYmxlIj48cGF0aCBkPSJNNjcuNTU4IDBIMjIuNDQxTDAgNDBsMjIuNDQxIDQwaDQ1LjExN0w5MCA0MCA2Ny41NTggMHptLjIzNCA1Ny45NjRjMCAzLjM1My0yLjgwNSA2LjIyNy02LjA3OCA2LjIyN0gyOC41MmMtMy4yNzMgMC02LjA3OC0yLjg3NC02LjA3OC02LjIyN1YyMi4yNzZjMC0zLjM1MyAyLjgwNS02LjIyOCA2LjA3OC02LjIyOGgyOS45MjJsOS4zNTEgOS41ODF2MzIuMzM1ek00MS42MSA0Ni40NjdjMC0uNDc5LS4yMzQtLjcxOC0uMjM0LS45NThzLS4yMzQtLjQ3OS0uNDY3LS43MTgtLjIzNC0uMjQtLjQ2OC0uMjRoLS43MDFjLS40NjggMC0uNzAyIDAtLjkzNS4yNHMtLjQ2OC40NzktLjcwMS45NTgtLjIzNC45NTgtLjIzNCAxLjQzN3Y0LjU1MWMwIC43MTkuMjM0IDEuMTk3LjQ2OCAxLjQzNy4yMzQuNDc5LjQ2OC43MTkuNzAxLjcxOS4yMzQuMjQuNDY4LjI0LjkzNS4yNC4yMzQgMCAuNDY4IDAgLjcwMS0uMjRhLjUxLjUxIDAgMCAwIC40NjgtLjQ3OWMuMjM0LS4yNC4yMzQtLjQ3OS40NjctLjcxOCAwLS4yNC4yMzQtLjQ3OS4yMzQtLjk1OCAwLS4yMzkgMC0uNzE5LjIzMy0xLjE5OHYtMy4xMTRjLS40NjctLjI0LS40NjctLjQ3OS0uNDY3LS45NTh6bTEwLjUyLTE4LjY4M2MwLS40NzktLjIzNC0uNzE4LS4yMzQtLjk1OHMtLjIzNC0uNDc5LS40NjgtLjcxOS0uMjM0LS4yNC0uNDY4LS4yNGgtLjcwMWMtLjQ2NyAwLS43MDEgMC0uOTM1LjI0cy0uNDY4LjQ3OS0uNzAyLjk1OC0uMjMzLjk1OC0uMjMzIDEuNDM3djQuNTUxYzAgLjcxOS4yMzMgMS4xOTguNDY3IDEuNDM3LjIzNC40NzkuNDY4LjcxOS43MDEuNzE5LjIzNC4yNC40NjcuMjQuOTM1LjI0LjIzNCAwIC40NjcgMCAuNzAxLS4yNGEuNTEuNTEgMCAwIDAgLjQ2OC0uNDc5Yy4yMzQtLjI0LjIzNC0uNDc5LjQ2OC0uNzE5IDAtLjIzOS4yMzQtLjQ3OS4yMzQtLjk1OCAwLS4yMzkgMC0uNzE4LjIzNC0xLjE5OHYtMy4xMTRjLS4yMzQgMC0uMjM0LS40NzktLjQ2Ny0uOTU4em00LjY3NS04LjM4M0gyOC41MTljLTEuNjM2IDAtMi44MDUgMS4xOTgtMi44MDUgMi44NzR2MzUuNjg5YzAgMS42NzcgMS4xNjkgMi44NzQgMi44MDUgMi44NzRoMzMuMTk1YTIuODggMi44OCAwIDAgMCAyLjgwNS0yLjg3NFYyNy4zMDVoLTcuNDh2LTcuOTA0ek0zNiAyNi41ODd2LS40NzlsLjIzNC0uMjQgMi44MDUtMS45MTZoMi41NzF2MTEuNDk3aDIuMzM4bC4yMzMuMjRjLjIzNC4yMzkgMCAuMjM5IDAgLjIzOXYxLjE5N3MwIC4yNC0uMjMzLjI0aC03LjcxNGwtLjIzNC0uMjR2LTEuNDM3czAtLjI0LjIzNC0uMjRoMi44MDV2LTguODYybC0yLjEwNCAxLjE5OGMtLjIzNCAwLS4yMzQuMjM5LS40NjcuMjM5aC0uMjM0czAtLjIzOS0uMjM0LS4yMzl2LTEuMTk4em04LjE4MiAyNS42MjljLS4yMzMuOTU4LS40NjcgMS42NzctLjkzNSAyLjE1Ni0uNDY4LjcxOC0uOTM1IDEuMTk4LTEuNDAzIDEuNDM3LS43MDEuMjM5LTEuNDAzLjQ3OS0yLjMzOC40NzlzLTEuNjM2LS4yNC0yLjMzOC0uNDc5YTIuMTMgMi4xMyAwIDAgMS0xLjQwMy0xLjQzN2MtLjIzNC0uNzE4LS43MDEtMS40MzctLjcwMS0yLjE1Ni0uMjM0LS45NTgtLjIzNC0xLjkxNi0uMjM0LTIuODc0IDAtMS4xOTggMC0yLjE1Ni4yMzQtMi44NzQuMjM0LS45NTguNDY3LTEuNjc3LjkzNS0yLjE1NnMuOTM1LTEuMTk4IDEuNDAzLTEuNDM3Yy43MDEtLjI0IDEuNDAzLS40NzkgMi4zMzgtLjQ3OXMxLjYzNi4yMzkgMi4zMzcuNDc5YTIuMTMgMi4xMyAwIDAgMSAxLjQwMyAxLjQzN2MuMjM0LjcxOS43MDEgMS40MzcuNzAxIDIuMTU2LjIzNC45NTguMjM0IDEuOTE2LjIzNCAyLjg3NCAwIDEuMTk4IDAgMi4xNTYtLjIzNCAyLjg3NHptMTAuNTIgMy4zNTN2LjI0czAgLjIzOS0uMjM0LjIzOWgtNy43MTRsLS4yMzQtLjIzOXYtMS40MzdzMC0uMjM5LjIzNC0uMjM5aDIuODA1di04Ljg2MmwtMi4xMDQgMS4xOThjLS4yMzQgMC0uMjM0LjIzOS0uNDY4LjIzOWgtLjIzNHMwLS4yMzktLjIzNC0uMjM5VjQ0Ljc5bC4yMzQtLjI0IDIuODA1LTEuOTE2aDIuNTcydjExLjQ5N2gyLjMzOGwuMjM0LjIzOXYxLjE5OHptLjIzNC0yMi4wMzZjLS4yMzQuOTU4LS40NjggMS42NzctLjkzNSAyLjE1Ni0uNDY4LjcxOC0uOTM1IDEuMTk4LTEuNDAzIDEuNDM3LS43MDEuMjQtMS40MDMuNDc5LTIuMzM4LjQ3OXMtMS42MzYtLjI0LTIuMzM4LS40NzlhMi4xMyAyLjEzIDAgMCAxLTEuNDAzLTEuNDM3Yy0uMjM0LS40NzktLjcwMS0xLjQzNy0uNzAxLTIuMTU2cy0uMjM0LTEuOTE2LS4yMzQtMi44NzRjMC0xLjE5OCAwLTIuMTU2LjIzNC0yLjg3NC4yMzQtLjk1OC40NjgtMS42NzcuOTM1LTIuMTU2LjQ2OC0uNzE4LjkzNS0xLjE5OCAxLjQwMy0xLjQzNy43MDEtLjI0IDEuNDAzLS40NzkgMi4zMzgtLjQ3OXMxLjYzNi4yNCAyLjMzOC40NzlhMi4xMyAyLjEzIDAgMCAxIDEuNDAzIDEuNDM3Yy4yMzQuNzE4LjcwMSAxLjQzNy43MDEgMi4xNTYuMjM0Ljk1OC4yMzQgMS45MTYuMjM0IDIuODc0IDAgMS4xOTgtLjIzNCAyLjE1Ni0uMjM0IDIuODc0eiIgZmlsbD0iIzAwNzhkNyIgc3Ryb2tlPSJub25lIi8+PC9zeW1ib2w+PC9zdmc+"
camel.apache.org/provider: "Red Hat"
camel.apache.org/kamelet.group: "Azure Storage Blob"
+ camel.apache.org/kamelet.namespace: "Azure"
labels:
camel.apache.org/kamelet.type: "sink"
spec:
@@ -15,45 +17,38 @@ spec:
description: |-
Upload data to Azure Storage Blob.
- The Kamelet expects the following headers to be set:
-
- - `file` / `ce-file`: as the file name to upload
-
- If the header won't be set the exchange ID will be used as file name.
+ In the header, you can set the `file` / `ce-file` property to specify the filename to upload. If you do set property in the header, the Kamelet uses the exchange ID as filename.
required:
- accountName
- containerName
- - accessKey
type: object
properties:
accountName:
title: Account Name
description: The Azure Storage Blob account name.
type: string
+ x-descriptors:
+ - urn:camel:group:credentials
containerName:
title: Container Name
description: The Azure Storage Blob container name.
type: string
accessKey:
title: Access Key
- description: The Azure Storage Blob access Key.
+ description: The Azure Storage Blob access key.
type: string
format: password
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:password
- urn:camel:group:credentials
- operation:
- title: Operation Name
- description: The operation to perform.
- type: string
- default: uploadBlockBlob
credentialType:
title: Credential Type
- description: Determines the credential strategy to adopt. Possible values are SHARED_ACCOUNT_KEY, SHARED_KEY_CREDENTIAL and AZURE_IDENTITY
+ description: Determines the credential strategy to adopt.
type: string
- default: SHARED_ACCOUNT_KEY
+ enum: ["SHARED_ACCOUNT_KEY", "AZURE_IDENTITY"]
+ default: "SHARED_ACCOUNT_KEY"
dependencies:
- - camel:core
+ - "camel:core"
- "camel:azure-storage-blob"
- "camel:kamelet"
template:
@@ -80,6 +75,6 @@ spec:
- to:
uri: "azure-storage-blob://{{accountName}}/{{containerName}}"
parameters:
- accessKey: "{{accessKey}}"
- operation: "{{operation}}"
+ accessKey: "{{?accessKey}}"
+ operation: "uploadBlockBlob"
credentialType: "{{credentialType}}"
diff --git a/azure-storage-blob-source.kamelet.yaml b/azure-storage-blob-source.kamelet.yaml
index f53aaa417..c5731dd70 100644
--- a/azure-storage-blob-source.kamelet.yaml
+++ b/azure-storage-blob-source.kamelet.yaml
@@ -1,72 +1,89 @@
-apiVersion: camel.apache.org/v1alpha1
+apiVersion: camel.apache.org/v1
kind: Kamelet
metadata:
name: azure-storage-blob-source
annotations:
- camel.apache.org/catalog.version: "2.2.0"
+ camel.apache.org/kamelet.support.level: "Stable"
+ camel.apache.org/catalog.version: "2.2.0-SNAPSHOT"
camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgOTEgODEiIGZpbGw9IiNmZmYiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc3Ryb2tlPSIjMDAwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjx1c2UgeGxpbms6aHJlZj0iI0EiIHg9Ii41IiB5PSIuNSIvPjxzeW1ib2wgaWQ9IkEiIG92ZXJmbG93PSJ2aXNpYmxlIj48cGF0aCBkPSJNNjcuNTU4IDBIMjIuNDQxTDAgNDBsMjIuNDQxIDQwaDQ1LjExN0w5MCA0MCA2Ny41NTggMHptLjIzNCA1Ny45NjRjMCAzLjM1My0yLjgwNSA2LjIyNy02LjA3OCA2LjIyN0gyOC41MmMtMy4yNzMgMC02LjA3OC0yLjg3NC02LjA3OC02LjIyN1YyMi4yNzZjMC0zLjM1MyAyLjgwNS02LjIyOCA2LjA3OC02LjIyOGgyOS45MjJsOS4zNTEgOS41ODF2MzIuMzM1ek00MS42MSA0Ni40NjdjMC0uNDc5LS4yMzQtLjcxOC0uMjM0LS45NThzLS4yMzQtLjQ3OS0uNDY3LS43MTgtLjIzNC0uMjQtLjQ2OC0uMjRoLS43MDFjLS40NjggMC0uNzAyIDAtLjkzNS4yNHMtLjQ2OC40NzktLjcwMS45NTgtLjIzNC45NTgtLjIzNCAxLjQzN3Y0LjU1MWMwIC43MTkuMjM0IDEuMTk3LjQ2OCAxLjQzNy4yMzQuNDc5LjQ2OC43MTkuNzAxLjcxOS4yMzQuMjQuNDY4LjI0LjkzNS4yNC4yMzQgMCAuNDY4IDAgLjcwMS0uMjRhLjUxLjUxIDAgMCAwIC40NjgtLjQ3OWMuMjM0LS4yNC4yMzQtLjQ3OS40NjctLjcxOCAwLS4yNC4yMzQtLjQ3OS4yMzQtLjk1OCAwLS4yMzkgMC0uNzE5LjIzMy0xLjE5OHYtMy4xMTRjLS40NjctLjI0LS40NjctLjQ3OS0uNDY3LS45NTh6bTEwLjUyLTE4LjY4M2MwLS40NzktLjIzNC0uNzE4LS4yMzQtLjk1OHMtLjIzNC0uNDc5LS40NjgtLjcxOS0uMjM0LS4yNC0uNDY4LS4yNGgtLjcwMWMtLjQ2NyAwLS43MDEgMC0uOTM1LjI0cy0uNDY4LjQ3OS0uNzAyLjk1OC0uMjMzLjk1OC0uMjMzIDEuNDM3djQuNTUxYzAgLjcxOS4yMzMgMS4xOTguNDY3IDEuNDM3LjIzNC40NzkuNDY4LjcxOS43MDEuNzE5LjIzNC4yNC40NjcuMjQuOTM1LjI0LjIzNCAwIC40NjcgMCAuNzAxLS4yNGEuNTEuNTEgMCAwIDAgLjQ2OC0uNDc5Yy4yMzQtLjI0LjIzNC0uNDc5LjQ2OC0uNzE5IDAtLjIzOS4yMzQtLjQ3OS4yMzQtLjk1OCAwLS4yMzkgMC0uNzE4LjIzNC0xLjE5OHYtMy4xMTRjLS4yMzQgMC0uMjM0LS40NzktLjQ2Ny0uOTU4em00LjY3NS04LjM4M0gyOC41MTljLTEuNjM2IDAtMi44MDUgMS4xOTgtMi44MDUgMi44NzR2MzUuNjg5YzAgMS42NzcgMS4xNjkgMi44NzQgMi44MDUgMi44NzRoMzMuMTk1YTIuODggMi44OCAwIDAgMCAyLjgwNS0yLjg3NFYyNy4zMDVoLTcuNDh2LTcuOTA0ek0zNiAyNi41ODd2LS40NzlsLjIzNC0uMjQgMi44MDUtMS45MTZoMi41NzF2MTEuNDk3aDIuMzM4bC4yMzMuMjRjLjIzNC4yMzkgMCAuMjM5IDAgLjIzOXYxLjE5N3MwIC4yNC0uMjMzLjI0aC03LjcxNGwtLjIzNC0uMjR2LTEuNDM3czAtLjI0LjIzNC0uMjRoMi44MDV2LTguODYybC0yLjEwNCAxLjE5OGMtLjIzNCAwLS4yMzQuMjM5LS40NjcuMjM5aC0uMjM0czAtLjIzOS0uMjM0LS4yMzl2LTEuMTk4em04LjE4MiAyNS42MjljLS4yMzMuOTU4LS40NjcgMS42NzctLjkzNSAyLjE1Ni0uNDY4LjcxOC0uOTM1IDEuMTk4LTEuNDAzIDEuNDM3LS43MDEuMjM5LTEuNDAzLjQ3OS0yLjMzOC40NzlzLTEuNjM2LS4yNC0yLjMzOC0uNDc5YTIuMTMgMi4xMyAwIDAgMS0xLjQwMy0xLjQzN2MtLjIzNC0uNzE4LS43MDEtMS40MzctLjcwMS0yLjE1Ni0uMjM0LS45NTgtLjIzNC0xLjkxNi0uMjM0LTIuODc0IDAtMS4xOTggMC0yLjE1Ni4yMzQtMi44NzQuMjM0LS45NTguNDY3LTEuNjc3LjkzNS0yLjE1NnMuOTM1LTEuMTk4IDEuNDAzLTEuNDM3Yy43MDEtLjI0IDEuNDAzLS40NzkgMi4zMzgtLjQ3OXMxLjYzNi4yMzkgMi4zMzcuNDc5YTIuMTMgMi4xMyAwIDAgMSAxLjQwMyAxLjQzN2MuMjM0LjcxOS43MDEgMS40MzcuNzAxIDIuMTU2LjIzNC45NTguMjM0IDEuOTE2LjIzNCAyLjg3NCAwIDEuMTk4IDAgMi4xNTYtLjIzNCAyLjg3NHptMTAuNTIgMy4zNTN2LjI0czAgLjIzOS0uMjM0LjIzOWgtNy43MTRsLS4yMzQtLjIzOXYtMS40MzdzMC0uMjM5LjIzNC0uMjM5aDIuODA1di04Ljg2MmwtMi4xMDQgMS4xOThjLS4yMzQgMC0uMjM0LjIzOS0uNDY4LjIzOWgtLjIzNHMwLS4yMzktLjIzNC0uMjM5VjQ0Ljc5bC4yMzQtLjI0IDIuODA1LTEuOTE2aDIuNTcydjExLjQ5N2gyLjMzOGwuMjM0LjIzOXYxLjE5OHptLjIzNC0yMi4wMzZjLS4yMzQuOTU4LS40NjggMS42NzctLjkzNSAyLjE1Ni0uNDY4LjcxOC0uOTM1IDEuMTk4LTEuNDAzIDEuNDM3LS43MDEuMjQtMS40MDMuNDc5LTIuMzM4LjQ3OXMtMS42MzYtLjI0LTIuMzM4LS40NzlhMi4xMyAyLjEzIDAgMCAxLTEuNDAzLTEuNDM3Yy0uMjM0LS40NzktLjcwMS0xLjQzNy0uNzAxLTIuMTU2cy0uMjM0LTEuOTE2LS4yMzQtMi44NzRjMC0xLjE5OCAwLTIuMTU2LjIzNC0yLjg3NC4yMzQtLjk1OC40NjgtMS42NzcuOTM1LTIuMTU2LjQ2OC0uNzE4LjkzNS0xLjE5OCAxLjQwMy0xLjQzNy43MDEtLjI0IDEuNDAzLS40NzkgMi4zMzgtLjQ3OXMxLjYzNi4yNCAyLjMzOC40NzlhMi4xMyAyLjEzIDAgMCAxIDEuNDAzIDEuNDM3Yy4yMzQuNzE4LjcwMSAxLjQzNy43MDEgMi4xNTYuMjM0Ljk1OC4yMzQgMS45MTYuMjM0IDIuODc0IDAgMS4xOTgtLjIzNCAyLjE1Ni0uMjM0IDIuODc0eiIgZmlsbD0iIzAwNzhkNyIgc3Ryb2tlPSJub25lIi8+PC9zeW1ib2w+PC9zdmc+"
camel.apache.org/provider: "Red Hat"
camel.apache.org/kamelet.group: "Azure Storage Blob"
+ camel.apache.org/kamelet.namespace: "Azure"
labels:
camel.apache.org/kamelet.type: "source"
spec:
definition:
title: "Azure Storage Blob Source"
description: |-
- Consume Files from Azure Storage Blob.
+ Consume files from Azure Storage Blob.
+
+ Two headers will be duplicated with different names for clarity at sink level, CamelAzureStorageBlobETag will be duplicated into azure.storage.blob.e.tag and CamelAzureStorageBlobBlobSize will be duplicated in azure.storage.blob.blob.size
required:
- accountName
- containerName
- - accessKey
type: object
properties:
accountName:
title: Account Name
description: The Azure Storage Blob account name.
type: string
+ x-descriptors:
+ - urn:camel:group:credentials
containerName:
title: Container Name
description: The Azure Storage Blob container name.
type: string
accessKey:
title: Access Key
- description: The Azure Storage Blob access Key.
+ description: The Azure Storage Blob access key.
type: string
format: password
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:password
- urn:camel:group:credentials
- credentialType:
- title: Credential Type
- description: Determines the credential strategy to adopt. Possible values are SHARED_ACCOUNT_KEY, SHARED_KEY_CREDENTIAL and AZURE_IDENTITY
- type: string
- default: SHARED_ACCOUNT_KEY
delay:
title: Delay
description: The number of milliseconds before the next poll of the selected blob.
type: integer
default: 500
deleteAfterRead:
- title: Auto-delete Blob
+ title: Auto-delete Blob
description: Specifies to delete blobs after consuming them
type: boolean
x-descriptors:
- 'urn:alm:descriptor:com.tectonic.ui:checkbox'
default: false
+ credentialType:
+ title: Credential Type
+ description: Determines the credential strategy to adopt.
+ type: string
+ enum: ["SHARED_ACCOUNT_KEY", "AZURE_IDENTITY"]
+ default: "SHARED_ACCOUNT_KEY"
dependencies:
- - "camel:azure-storage-blob"
- - "camel:jsonpath"
- - "camel:core"
- - "camel:timer"
- - "camel:kamelet"
+ - "camel:azure-storage-blob"
+ - "camel:kamelet"
+ - "camel:core"
+ - "camel:jsonpath"
+ - "camel:timer"
+ - "github:openshift-integration.kamelet-catalog:camel-kamelets-utils:2.2.0-SNAPSHOT"
template:
+ beans:
+ - name: duplicateHeaders
+ type: "#class:org.apache.camel.kamelets.utils.headers.DuplicateNamingHeaders"
+ properties:
+ prefix: 'CamelAzureStorageBlob'
+ renamingPrefix: 'azure.storage.blob.'
+ mode: 'filtering'
+ selectedHeaders: 'CamelAzureStorageBlobETag,CamelAzureStorageBlobBlobSize'
from:
uri: "azure-storage-blob:{{accountName}}/{{containerName}}"
parameters:
- accessKey: "{{accessKey}}"
+ accessKey: "{{?accessKey}}"
credentialType: "{{credentialType}}"
delay: "{{delay}}"
steps:
+ - process:
+ ref: "{{duplicateHeaders}}"
- to: "kamelet:sink"
- choice:
precondition: true
@@ -77,6 +94,6 @@ spec:
uri: "azure-storage-blob:{{accountName}}/{{containerName}}"
parameters:
operation: "deleteBlob"
- accessKey: "{{accessKey}}"
+ accessKey: "{{?accessKey}}"
credentialType: "{{credentialType}}"
diff --git a/azure-storage-queue-sink.kamelet.yaml b/azure-storage-queue-sink.kamelet.yaml
index f2ea7179d..546a3e2e8 100644
--- a/azure-storage-queue-sink.kamelet.yaml
+++ b/azure-storage-queue-sink.kamelet.yaml
@@ -1,27 +1,23 @@
-apiVersion: camel.apache.org/v1alpha1
+apiVersion: camel.apache.org/v1
kind: Kamelet
metadata:
name: azure-storage-queue-sink
annotations:
- camel.apache.org/catalog.version: "2.2.0"
+ camel.apache.org/kamelet.support.level: "Stable"
+ camel.apache.org/catalog.version: "2.2.0-SNAPSHOT"
camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgOTEgODEiIGZpbGw9IiNmZmYiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc3Ryb2tlPSIjMDAwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjx1c2UgeGxpbms6aHJlZj0iI0EiIHg9Ii41IiB5PSIuNSIvPjxzeW1ib2wgaWQ9IkEiIG92ZXJmbG93PSJ2aXNpYmxlIj48cGF0aCBkPSJNNzAuMDUzIDM0LjYzNEg1MC41OGw5LjczNiA3LjgwNXptLTM5LjQyIDEwLjQ4OGMtLjIzOCAwLS40NzUgMC0uNzEzLS4yNDRsLTkuMDI0LTcuMzE3djExLjk1MWgyMC42NlYzNy4zMTdsLTkuNzM2IDcuNTYxYy0uNDc1LjI0NC0uOTUuMjQ0LTEuMTg3LjI0NHptMjkuNjgzIDBjLS4yMzggMC0uNzEzIDAtLjcxMy0uMjQ0bC05LjI2MS03LjMxN3YxMS45NTFoMjAuNjZWMzcuMzE3bC05LjczNiA3LjU2MWMtLjQ3NS4yNDQtLjcxMy4yNDQtLjk1LjI0NHpNNjcuNjc4IDBIMjIuNTU5TDAgNDBsMjIuNTU5IDQwSDY3LjQ0TDkwIDQwIDY3LjY3OCAwem03LjgzNiA1Ny4wNzNIMTQuMDExYy0xLjkgMC0zLjMyNS0xLjcwNy0zLjMyNS0zLjY1OVYyOS4yNjhjMC0xLjk1MSAxLjQyNS0zLjY1OCAzLjMyNS0zLjY1OGg2MS41MDRjLjcxMyAwIDEuOSAwIDkuOTc0IDE1LjYxbC4yMzcuNzMyLS4yMzcuNzMyYy04LjA3NCAxNC4zOS05LjI2MSAxNC4zOS05Ljk3NCAxNC4zOXpNNDAuMzcgMzQuNjM0SDIwLjY2bDkuNzM2IDcuODA1em0tMjYuMzU5LTYuMzQxYy0uNDc1IDAtLjk1LjQ4OC0uOTUuOTc2djI0LjE0NmMwIC40ODguNDc1IDEuMjIuOTUgMS4yMkg3NS4wNGMxLjE4OC0xLjIyIDQuNzQ5LTcuMDczIDcuODM3LTEyLjY4My0zLjA4Ny02LjA5OC02Ljg4Ni0xMi40MzktNy44MzctMTMuNjU5SDE0LjAxMXptMjkuOTIxIDIyLjQzOWMwIC43MzItLjcxMyAxLjQ2My0xLjY2MyAxLjQ2M0gxOC45OThjLS43MTMgMC0uOTUtLjczMi0uOTUtMS40NjNWMzIuOTI3YzAtLjczMi4yMzgtLjk3Ni45NS0uOTc2SDQyLjI3Yy43MTIgMCAxLjY2My4yNDQgMS42NjMuOTc2djE3LjgwNXptMjkuMjA5IDBjMCAuNzMyLS40NzUgMS40NjMtMS4xODggMS40NjNINDguOTE5Yy0uNzEyIDAtMS4xODctLjczMi0xLjE4Ny0xLjQ2M1YzMi45MjdjMC0uNzMyLjQ3NS0uOTc2IDEuMTg3LS45NzZoMjMuMDM0Yy43MTMgMCAxLjE4OC4yNDQgMS4xODguOTc2djE3LjgwNXoiIGZpbGw9IiMwMDc4ZDciIHN0cm9rZT0ibm9uZSIvPjwvc3ltYm9sPjwvc3ZnPg=="
camel.apache.org/provider: "Red Hat"
camel.apache.org/kamelet.group: "Azure Storage Queue"
+ camel.apache.org/kamelet.namespace: "Azure"
labels:
camel.apache.org/kamelet.type: "sink"
spec:
definition:
title: "Azure Storage Queue Sink"
description: |-
- Send Messages to Azure Storage queues.
+ Send events to Azure Storage queues.
- The Kamelet is able to understand the following headers to be set:
-
- - `expiration` / `ce-expiration`: as the time to live of the message in the queue.
-
- If the header won't be set the default of 7 days will be used.
-
- The format should be in this form: PnDTnHnMn.nS., e.g: PT20.345S — parses as 20.345 seconds, P2D — parses as 2 days.
+ In the header, you can set the `partition` / `ce-partition` property to determine how long an event remains in the Azure Storage queue. Use `PnDTnHnMn.nS.` format. For example, `PT20.345S` parses as 20.345 seconds and `P2D` parses as 2 days. If you not set the property in the header, the Kamelet uses the default of `P27D` (7 days).
required:
- accountName
- queueName
@@ -32,20 +28,22 @@ spec:
title: Account Name
description: The Azure Storage Queue account name.
type: string
+ x-descriptors:
+ - urn:camel:group:credentials
queueName:
title: Queue Name
description: The Azure Storage Queue container name.
type: string
accessKey:
title: Access Key
- description: The Azure Storage Queue access Key.
+ description: The Azure Storage Queue access key.
type: string
format: password
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:password
- urn:camel:group:credentials
dependencies:
- - camel:core
+ - "camel:core"
- "camel:azure-storage-queue"
- "camel:kamelet"
template:
diff --git a/azure-storage-queue-source.kamelet.yaml b/azure-storage-queue-source.kamelet.yaml
index b4b1e31c5..0688ade16 100644
--- a/azure-storage-queue-source.kamelet.yaml
+++ b/azure-storage-queue-source.kamelet.yaml
@@ -1,19 +1,23 @@
-apiVersion: camel.apache.org/v1alpha1
+apiVersion: camel.apache.org/v1
kind: Kamelet
metadata:
name: azure-storage-queue-source
annotations:
- camel.apache.org/catalog.version: "2.2.0"
+ camel.apache.org/kamelet.support.level: "Stable"
+ camel.apache.org/catalog.version: "2.2.0-SNAPSHOT"
camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgOTEgODEiIGZpbGw9IiNmZmYiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc3Ryb2tlPSIjMDAwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjx1c2UgeGxpbms6aHJlZj0iI0EiIHg9Ii41IiB5PSIuNSIvPjxzeW1ib2wgaWQ9IkEiIG92ZXJmbG93PSJ2aXNpYmxlIj48cGF0aCBkPSJNNzAuMDUzIDM0LjYzNEg1MC41OGw5LjczNiA3LjgwNXptLTM5LjQyIDEwLjQ4OGMtLjIzOCAwLS40NzUgMC0uNzEzLS4yNDRsLTkuMDI0LTcuMzE3djExLjk1MWgyMC42NlYzNy4zMTdsLTkuNzM2IDcuNTYxYy0uNDc1LjI0NC0uOTUuMjQ0LTEuMTg3LjI0NHptMjkuNjgzIDBjLS4yMzggMC0uNzEzIDAtLjcxMy0uMjQ0bC05LjI2MS03LjMxN3YxMS45NTFoMjAuNjZWMzcuMzE3bC05LjczNiA3LjU2MWMtLjQ3NS4yNDQtLjcxMy4yNDQtLjk1LjI0NHpNNjcuNjc4IDBIMjIuNTU5TDAgNDBsMjIuNTU5IDQwSDY3LjQ0TDkwIDQwIDY3LjY3OCAwem03LjgzNiA1Ny4wNzNIMTQuMDExYy0xLjkgMC0zLjMyNS0xLjcwNy0zLjMyNS0zLjY1OVYyOS4yNjhjMC0xLjk1MSAxLjQyNS0zLjY1OCAzLjMyNS0zLjY1OGg2MS41MDRjLjcxMyAwIDEuOSAwIDkuOTc0IDE1LjYxbC4yMzcuNzMyLS4yMzcuNzMyYy04LjA3NCAxNC4zOS05LjI2MSAxNC4zOS05Ljk3NCAxNC4zOXpNNDAuMzcgMzQuNjM0SDIwLjY2bDkuNzM2IDcuODA1em0tMjYuMzU5LTYuMzQxYy0uNDc1IDAtLjk1LjQ4OC0uOTUuOTc2djI0LjE0NmMwIC40ODguNDc1IDEuMjIuOTUgMS4yMkg3NS4wNGMxLjE4OC0xLjIyIDQuNzQ5LTcuMDczIDcuODM3LTEyLjY4My0zLjA4Ny02LjA5OC02Ljg4Ni0xMi40MzktNy44MzctMTMuNjU5SDE0LjAxMXptMjkuOTIxIDIyLjQzOWMwIC43MzItLjcxMyAxLjQ2My0xLjY2MyAxLjQ2M0gxOC45OThjLS43MTMgMC0uOTUtLjczMi0uOTUtMS40NjNWMzIuOTI3YzAtLjczMi4yMzgtLjk3Ni45NS0uOTc2SDQyLjI3Yy43MTIgMCAxLjY2My4yNDQgMS42NjMuOTc2djE3LjgwNXptMjkuMjA5IDBjMCAuNzMyLS40NzUgMS40NjMtMS4xODggMS40NjNINDguOTE5Yy0uNzEyIDAtMS4xODctLjczMi0xLjE4Ny0xLjQ2M1YzMi45MjdjMC0uNzMyLjQ3NS0uOTc2IDEuMTg3LS45NzZoMjMuMDM0Yy43MTMgMCAxLjE4OC4yNDQgMS4xODguOTc2djE3LjgwNXoiIGZpbGw9IiMwMDc4ZDciIHN0cm9rZT0ibm9uZSIvPjwvc3ltYm9sPjwvc3ZnPg=="
camel.apache.org/provider: "Red Hat"
camel.apache.org/kamelet.group: "Azure Storage Queue"
+ camel.apache.org/kamelet.namespace: "Azure"
labels:
camel.apache.org/kamelet.type: "source"
spec:
definition:
title: "Azure Storage Queue Source"
description: |-
- Receive Messages from Azure Storage queues.
+ Receive events from Azure Storage queues.
+
+ One header will be duplicated with different names for clarity at sink level, CamelAzureStorageQueueMessageId will be duplicated into azure.storage.queue.message.id
required:
- accountName
- queueName
@@ -24,13 +28,15 @@ spec:
title: Account Name
description: The Azure Storage Queue account name.
type: string
+ x-descriptors:
+ - urn:camel:group:credentials
queueName:
title: Queue Name
description: The Azure Storage Queue container name.
type: string
accessKey:
title: Access Key
- description: The Azure Storage Queue access Key.
+ description: The Azure Storage Queue access key.
type: string
format: password
x-descriptors:
@@ -38,17 +44,29 @@ spec:
- urn:camel:group:credentials
maxMessages:
title: Maximum Messages
- description: Maximum number of messages to get, if there are less messages exist in the queue than requested all the messages will be returned. By default it will consider 1 message to be retrieved, the allowed range is 1 to 32 messages.
- type: int
+ description: The maximum number of messages to get. You can specify a value between 1 and 32. The default is 1 (one message). If there are fewer than the maximum number of messages in the queue, then all the messages are returned.
+ type: integer
default: 1
dependencies:
- "camel:azure-storage-queue"
- "camel:kamelet"
+ - "github:openshift-integration.kamelet-catalog:camel-kamelets-utils:2.2.0-SNAPSHOT"
+ - "camel:core"
template:
+ beans:
+ - name: renameHeaders
+ type: "#class:org.apache.camel.kamelets.utils.headers.DuplicateNamingHeaders"
+ properties:
+ prefix: 'CamelAzureStorageQueue'
+ renamingPrefix: 'azure.storage.queue.'
+ mode: 'filtering'
+ selectedHeaders: 'CamelAzureStorageQueueMessageId'
from:
uri: "azure-storage-queue://{{accountName}}/{{queueName}}"
parameters:
accessKey: "{{accessKey}}"
maxMessages: "{{maxMessages}}"
steps:
+ - process:
+ ref: "{{renameHeaders}}"
- to: "kamelet:sink"
diff --git a/cassandra-sink.kamelet.yaml b/cassandra-sink.kamelet.yaml
index d7d72354d..74c7a05f4 100644
--- a/cassandra-sink.kamelet.yaml
+++ b/cassandra-sink.kamelet.yaml
@@ -1,52 +1,54 @@
-apiVersion: camel.apache.org/v1alpha1
+apiVersion: camel.apache.org/v1
kind: Kamelet
metadata:
name: cassandra-sink
annotations:
- camel.apache.org/catalog.version: "2.2.0"
+ camel.apache.org/kamelet.support.level: "Stable"
+ camel.apache.org/catalog.version: "2.2.0-SNAPSHOT"
camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDIyLjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCAzMiAzMiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMzIgMzI7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHRpdGxlPmNhc3NhbmRyYTwvdGl0bGU+CjxwYXRoIGQ9Ik0yMy4zLDguN2MwLDAtMC4zLDAuMy0wLjUsMC41Yy0wLjUsMC41LTEuMiwxLjMtMS43LDEuNWgwYy0wLjEsMC0wLjEsMC0wLjItMC4xbDAuOS0xLjlsMCwwYzAsMC4xLTEsMS45LTIuMiwxLjZsMCwwCgljMCwwLDAsMC0wLjEsMGMwLjYtMC44LDAuOC0xLjUsMC44LTEuNXMtMSwxLjYtMi4zLDEuMmMwLDAtMC4xLDAtMC4xLTAuMWMwLDAsMC0wLjEsMC0wLjFjMC0wLjEsMC4xLTAuMSwwLjEtMC4yCgljMC4xLTAuMiwwLjMtMC41LDAuMy0wLjVTMTguMyw5LjUsMTgsOS43bDAsMGMtMC4yLDAuMS0wLjUsMC4zLTAuNywwLjNjLTAuMSwwLTAuMSwwLTAuMiwwYy0wLjMtMC4xLTAuMy0wLjMtMC4yLTAuNgoJYzAuMS0wLjMsMC4yLTAuNSwwLjItMC41cy0wLjMsMC40LTAuNSwwLjhjLTAuMiwwLjMtMC40LDAuNS0wLjYsMC42bC0wLjIsMGMtMC4xLTAuMiwwLjEtMSwwLjEtMWMtMC4xLDAuMi0wLjMsMC40LTAuNCwwLjYKCWMtMC4xLDAuMi0wLjMsMC4zLTAuNSwwLjRoMGMtMC4xLDAtMC4yLDAtMC4zLDBjMCwwLTAuMS0wLjEtMC4xLTAuMmMtMC4xLTAuNCwwLjItMSwwLjItMWMwLDAtMC4xLDAuMy0wLjMsMC43djAKCWMwLDAuMS0wLjEsMC4yLTAuMSwwLjJjLTAuMSwwLjItMC4yLDAuMy0wLjMsMC4zYy0wLjItMC4xLTAuMy0wLjMtMC4zLTAuNWMtMC4xLTAuMi0wLjEtMC40LTAuMS0wLjRzMCwwLjMtMC4yLDAuNwoJYzAsMC4xLTAuMSwwLjItMC4yLDAuM2MwLDAtMC4xLDAuMS0wLjEsMC4xYy0xLjIsMC4yLTIuNCwwLjYtMy41LDFjLTAuMywwLjEtMC42LDAuMi0wLjksMC4zYy0xLDAuNC0yLDEtMy4xLDEuNwoJYy0xLjIsMC44LTIuMywxLjYtMy40LDIuNmMtMC42LDAuNS0xLjIsMS4xLTEuOCwxLjdjNC43LTIuNiw2LjYtNi4zLDE1LjUtNi43YzYuNy0wLjMsOS45LDIuOCwxMC45LDIuOWMyLjYsMC4xLDQuMy0xLjksNC45LTIuNgoJYzAuMS0wLjIsMC4yLTAuMywwLjItMC4zYzAsMC0wLjQsMC41LTEsMWwwLDBjLTAuNiwwLjUtMS40LDAuOS0yLjEsMC44aDBjLTAuMSwwLTAuMiwwLTAuMywwYzEtMC42LDEuNi0xLjYsMi0yLjEKCWMwLjEtMC4yLDAuMy0wLjUsMC4zLTAuNXMtMi4zLDIuNC00LjEsMi4yYy0wLjEsMC0wLjEsMC0wLjIsMGMwLjgtMC42LDEuMy0xLjQsMS43LTIuMXYwaDBjMC40LTAuNywwLjYtMS4zLDAuNi0xLjMKCWMwLDAtMC40LDAuNy0xLDEuNGwwLDBjLTAuNiwwLjctMS4zLDEuNS0yLDEuN2MtMC4xLDAtMC4yLDAuMS0wLjMsMC4xYzEuNC0xLjMsMi4xLTMuMSwyLjEtMy4xcy0xLjUsMi4xLTIuNywyLjUKCWMtMC4xLDAtMC4yLDAuMS0wLjIsMC4xYzAuOC0wLjcsMS4yLTEuMiwxLjQtMS43YzAuMy0wLjUsMC40LTAuOSwwLjQtMC45bDAsMGMtMC4xLDAuMi0wLjIsMC4zLTAuNCwwLjRsMCwwYy0wLjMsMC40LTAuOSwxLTEuNCwxLjQKCWwwLDBjLTAuMSwwLjEtMC4zLDAuMi0wLjQsMC4zYzAsMC0wLjEsMC4xLTAuMSwwLjFjLTAuMSwwLjEtMC4yLDAuMS0wLjQsMC4yYzAsMC0wLjEsMC0wLjEsMGMtMC4xLTAuMS0wLjItMC4xLTAuMy0wLjIKCWMtMC4xLDAuMS0wLjEsMC4yLTAuMiwwLjJoMGMwLDAtMC4xLDAtMC4xLDBjMS4xLTEuMiwxLjktMi44LDEuOS0yLjhsMCwwYzAsMC0xLjYsMi4xLTIuMywyLjNjLTAuMSwwLTAuMi0wLjEtMC4zLTAuMQoJYzAtMC4xLDAtMC4xLDAuMS0wLjJjMC4yLTAuNCwwLjYtMSwwLjYtMXMtMC4xLDAuMS0wLjIsMC4xYy0wLjEsMC4xLTAuMywwLjItMC40LDAuM2MtMC4xLDAuMS0wLjIsMC4xLTAuMiwwLjEKCWMtMC4xLDAuMS0wLjIsMC4xLTAuMywwLjFjLTAuMSwwLjEtMC4yLDAuMS0wLjMsMC4xYy0wLjEsMC0wLjEsMC0wLjEsMEMyMi4zLDEwLjUsMjMuMyw4LjcsMjMuMyw4LjdMMjMuMyw4Ljd6IE0xNywxMS42CgljLTAuNCwwLTAuOCwwLTEuMiwwYy0wLjQsMC0wLjcsMC0xLjEsMC4xYy0wLjQsMC4yLTAuNywwLjQtMSwwLjZjMCwwLjEsMCwwLjEsMCwwLjJjMCwwLjEsMCwwLjItMC4xLDAuMmwxLjIsMC45bDAsMGwtMC41LTEuNwoJbDAuOCwxLjVjMCwwLDAuMSwwLDAuMSwwbDAtMS42bDAuNSwxLjZsMC42LTEuNWwwLDEuN2MwLDAsMCwwLDAsMGwwLjktMS4zbC0wLjUsMS42bDAsMGwxLjQtMC45bC0xLDEuNHYwbDEuMy0wLjVjMCwwLDAsMCwwLjEtMC4xCgljLTAuMy0wLjQsMC0wLjksMC41LTAuOGMwLjItMC4zLDAuMy0wLjcsMC40LTFDMTguNiwxMS43LDE3LjgsMTEuNiwxNywxMS42TDE3LDExLjZ6IE0xMy42LDExLjhMMTMuNiwxMS44Yy0wLjQsMC0wLjgsMC4xLTEuMiwwLjIKCXMtMC44LDAuMS0xLjEsMC4yaDBjMC4yLDAuNSwwLjQsMSwwLjcsMS40YzAuMS0wLjMsMC4zLTAuNiwwLjUtMC45Yy0wLjItMC41LDAuMy0wLjksMC44LTAuN0MxMy40LDExLjksMTMuNSwxMS44LDEzLjYsMTEuOAoJTDEzLjYsMTEuOHogTTE5LjYsMTEuOWMwLDAuNC0wLjEsMC43LTAuMiwxLjFjMC40LDAuMywwLjEsMS0wLjQsMC45Yy0wLjIsMC4zLTAuNSwwLjYtMC43LDAuOGwwLjksMGwtMS4zLDAuM2MwLDAtMC4xLDAuMS0wLjEsMC4xCgljMC44LDAuMSwxLjUsMC40LDIuMSwwLjljMC40LTAuOCwwLjctMS42LDAuNy0yLjZDMjAuNCwxMi44LDIwLDEyLjMsMTkuNiwxMS45TDE5LjYsMTEuOXogTTExLjEsMTIuMmMtMC40LDAuMS0wLjgsMC4yLTEuMSwwLjMKCWMtMC4yLDAuMy0wLjMsMC43LTAuMywxYzAsMi4yLDEuMyw0LDMuMSw0LjlsMCwwYy0wLjMtMC4zLTAuNi0wLjctMC44LTEuMWMtMC45LDAuMS0xLjItMS4xLTAuNC0xLjRjLTAuMS0wLjYsMC0xLjMsMC4yLTEuOQoJQzExLjUsMTMuNSwxMS4yLDEyLjksMTEuMSwxMi4yTDExLjEsMTIuMnogTTIxLjMsMTIuMmMwLjIsMC41LDAuMywxLjEsMC4zLDEuN2MwLDMuMy0yLjksNS45LTYuNiw1LjljLTMuNiwwLTYuNi0yLjYtNi42LTUuOQoJYzAtMC4zLDAtMC42LDAuMS0wLjljLTEsMC40LTEuOSwwLjktMi44LDEuNWMtMC4zLDAuNS0wLjQsMS4xLTAuNCwxLjZjMC4xLDEuMywxLjMsMi40LDMsMy4ybC0wLjMtMC4xYy0zLjEtMC45LTUuNSwwLjctOC4xLTAuNwoJYzAuNiwwLjUsMS4zLDEsMy4zLDFjMC43LDAsMi45LTAuMSwzLjMsMC4yYzAuNCwwLjMtMS40LDItMS40LDJzMy0yLjUsMy4zLTEuN2MwLjIsMC41LTAuOSwyLTAuOSwyczEtMS40LDEuOC0xLjcKCWMwLjUtMC4yLDEtMC4yLDEuNCwwLjRjMC4yLDAuMy0xLjIsMi4xLTEuMiwyLjFzMi0xLjksMi4zLTEuOGMwLjQsMC4xLDAsMS44LDAsMS44czAuNy0xLjcsMS4xLTEuOWMwLjUtMC4yLTEuMiw0LTEuMiw0CglzMi4xLTMuOSwyLjUtNGMwLjctMC4yLDEuMSwyLjcsMS4xLDIuN3MtMC4zLTIuNSwwLTIuN2MyLjMtMSwxLDQuMywxLDQuM3MxLjUtMy42LDAuNi00LjRjMi40LDEuNiwyLjEsNC40LDIuMSw0LjRzMC42LTEuNC0xLjEtNC43CgljMSwwLDIuNCwyLjUsMi40LDIuNXMtMS42LTIuOC0wLjUtMi44YzIuMS0wLjEsMi4zLDMuNywyLjMsMy43czAuNi0wLjUtMS4xLTQuMmMxLjEtMC43LDMuNywzLjQsMy43LDMuNHMtMi40LTQtMi00LjMKCWMwLjQtMC4zLDEuOCwxLjMsMS44LDEuM3MtMS4xLTEuNS0wLjgtMS42YzAuMy0wLjIsMy4yLDIuOSwzLjIsMi45cy0yLjUtMy0yLjEtMy40YzAuNC0wLjQsMi4zLDEsMi4zLDFzLTIuOC0xLjktMi4zLTIuMgoJYzAuOC0wLjQsMywxLDMsMXMtMS4zLTEuMS0xLjEtMS40YzAuMi0wLjMsMi44LDEuNywyLjgsMS43cy0yLjMtMS44LTIuNC0yLjNjLTAuMS0wLjUsMS44LDAuMiwxLjgsMC4ycy0yLjEtMS0yLjItMS4zCgljMC0wLjMsMS40LDAuMywxLjQsMC4zcy0yLTEuNi0yLjUtMC4zYy0wLjEsMC4yLTAuMiwwLjQtMC40LDAuNmMwLjEtMC40LDAuMi0wLjcsMC4xLTEuMWMwLTAuMSwwLTAuMi0wLjEtMC40CglDMjQuNiwxMy41LDIzLjIsMTIuOCwyMS4zLDEyLjJMMjEuMywxMi4yeiBNMTMuNSwxMi44Yy0wLjEsMC4yLTAuNCwwLjMtMC43LDAuMmMtMC4xLDAuMS0wLjEsMC4yLTAuMiwwLjNsMS43LDAuNmMwLDAsMCwwLDAtMC4xCglMMTMuNSwxMi44eiBNMTIuNywxMy40Yy0wLjEsMC4yLTAuMiwwLjQtMC4zLDAuN2MwLjIsMC4yLDAuMywwLjMsMC41LDAuNWwxLjIsMGwwLDBMMTIuNywxMy40eiBNMTguMiwxNC4xbC0wLjgsMC42bDAuMSwwCglDMTcuOCwxNC41LDE4LDE0LjMsMTguMiwxNC4xeiBNMTIuMiwxNC41QzEyLjIsMTQuNSwxMi4yLDE0LjUsMTIuMiwxNC41Yy0wLjEsMC41LTAuMSwwLjktMC4xLDEuM2MwLjMsMC4xLDAuNiwwLjMsMC42LDAuNmwxLjItMC44CgljLTAuMSwwLTAuMi0wLjEtMC4zLTAuMWwtMS40LTAuMWwwLjgtMC4yQzEyLjgsMTUsMTIuNSwxNC44LDEyLjIsMTQuNUwxMi4yLDE0LjV6IE0xMy4zLDE0LjhjMC4yLDAuMSwwLjQsMC4yLDAuNiwwLjNsMC4yLDAKCWMwLDAsMCwwLDAtMC4xTDEzLjMsMTQuOHogTTE3LjQsMTUuN2wxLjIsMS4yTDE3LDE2LjJsMC45LDEuNGwtMS40LTEuMWwwLDBsMC41LDEuN2wtMC44LTEuNWwtMC4xLDEuOGwtMC41LTEuOGwtMC42LDEuN2wwLjItMS44CglsMCwwTDE0LDE4LjJsMC40LTEuNWMtMC41LDAuNC0wLjgsMS0xLjEsMS42YzAuMSwwLjEsMC4zLDAuMywwLjQsMC40YzIuMiwwLjYsNC42LTAuMyw1LjgtMi4zYy0wLjUtMC4zLTEuMS0wLjYtMS43LTAuN0wxNy40LDE1Ljd6CgkgTTE0LjIsMTZsLTEuNCwwLjVjMCwwLDAsMCwwLDAuMWMwLDAuMi0wLjEsMC40LTAuMiwwLjZjMC4xLDAuMywwLjMsMC42LDAuNSwwLjhjMC4xLTAuMywwLjMtMC42LDAuNC0wLjhMMTMsMTcuNEwxNC4yLDE2egoJIE0xOSwxOS43Yy0wLjIsMC4xLTAuNSwwLjEtMC44LDAuMkMxOC41LDE5LjgsMTguOCwxOS43LDE5LDE5Ljd6IE0xNy42LDIwYy0wLjIsMC0wLjMsMC4xLTAuNSwwLjFjLTAuMywwLTAuNSwwLjEtMC44LDAuMQoJQzE2LjgsMjAuMSwxNy4yLDIwLjEsMTcuNiwyMEwxNy42LDIweiBNMTUuOCwyMC4yYy0wLjEsMC0wLjMsMC0wLjQsMEMxNS41LDIwLjIsMTUuNiwyMC4yLDE1LjgsMjAuMnoiLz4KPC9zdmc+Cg=="
camel.apache.org/provider: "Red Hat"
camel.apache.org/kamelet.group: "Cassandra"
+ camel.apache.org/kamelet.namespace: "Nosql"
labels:
camel.apache.org/kamelet.type: "sink"
spec:
definition:
title: "Cassandra Sink"
description: |-
- Send data to a Cassandra Cluster.
+ Send data to an Apache Cassandra cluster.
- This Kamelet expects the body as JSON Array. The content of the JSON Array will be used as input for the CQL Prepared Statement set in the query parameter.
+ This Kamelet expects JSON Array formatted data. The content of the JSON Array is used as input for the CQL Prepared Statement set in the query parameter.
required:
- connectionHost
- connectionPort
- keyspace
- - username
- - password
- query
type: object
properties:
connectionHost:
title: Connection Host
- description: Hostname(s) cassandra server(s). Multiple hosts can be separated by comma.
+ description: The hostname(s) for the Cassandra server(s). Use a comma to separate multiple hostnames.
type: string
example: localhost
connectionPort:
title: Connection Port
- description: Port number of cassandra server(s)
+ description: The port number(s) of the cassandra server(s). Use a comma to separate multiple port numbers.
type: string
example: 9042
keyspace:
- title: Keyspace
- description: Keyspace to use
+ title: Keyspace
+ description: The keyspace to use.
type: string
example: customers
username:
title: Username
- description: The username to use for accessing a secured Cassandra Cluster
+ description: The username for accessing a secured Cassandra cluster.
type: string
+ x-descriptors:
+ - urn:camel:group:credentials
password:
title: Password
- description: The password to use for accessing a secured Cassandra Cluster
+ description: The password for accessing a secured Cassandra cluster.
type: string
format: password
x-descriptors:
@@ -54,13 +56,26 @@ spec:
- urn:camel:group:credentials
consistencyLevel:
title: Consistency Level
- description: Consistency level to use. The value can be one of ANY, ONE, TWO, THREE, QUORUM, ALL, LOCAL_QUORUM, EACH_QUORUM, SERIAL, LOCAL_SERIAL, LOCAL_ONE
+ description: The consistency level to use.
type: string
default: ANY
+ enum: ["ANY", "ONE", "TWO", "THREE", "QUORUM", "ALL", "LOCAL_QUORUM", "EACH_QUORUM", "LOCAL_ONE"]
+ prepareStatements:
+ title: Prepare Statements
+ description: If true, specifies to use PreparedStatements as the query. If false, specifies to use regular Statements as the query.
+ type: boolean
+ default: true
+ x-descriptors:
+ - urn:alm:descriptor:com.tectonic.ui:checkbox
query:
title: Query
- description: The Prepared statement to execute against the Cassandra cluster table
+ description: The query to execute against the Cassandra cluster table.
type: string
+ extraTypeCodecs:
+ title: Extra Type Codecs
+ description: To use a specific comma separated list of Extra Type codecs.
+ type: string
+ enum: ["BLOB_TO_ARRAY", "BOOLEAN_LIST_TO_ARRAY", "BYTE_LIST_TO_ARRAY", "SHORT_LIST_TO_ARRAY", "INT_LIST_TO_ARRAY", "LONG_LIST_TO_ARRAY", "FLOAT_LIST_TO_ARRAY", "DOUBLE_LIST_TO_ARRAY", "TIMESTAMP_UTC", "TIMESTAMP_MILLIS_SYSTEM", "TIMESTAMP_MILLIS_UTC", "ZONED_TIMESTAMP_SYSTEM", "ZONED_TIMESTAMP_UTC", "ZONED_TIMESTAMP_PERSISTED", "LOCAL_TIMESTAMP_SYSTEM", "LOCAL_TIMESTAMP_UTC"]
types:
in:
mediaType: application/json
@@ -73,13 +88,15 @@ spec:
uri: "kamelet:source"
steps:
- unmarshal:
- json:
+ json:
library: Jackson
useList: true
- - to:
+ - to:
uri: "cql://{{connectionHost}}:{{connectionPort}}/{{keyspace}}"
parameters:
- username: "{{username}}"
- password: "{{password}}"
- cql: "{{query}}"
+ username: "{{?username}}"
+ password: "{{?password}}"
+ prepareStatements: "{{prepareStatements}}"
consistencyLevel: "{{consistencyLevel}}"
+ cql: "{{query}}"
+ extraTypeCodecs: "{{?extraTypeCodecs}}"
diff --git a/cassandra-source.kamelet.yaml b/cassandra-source.kamelet.yaml
index befa15099..16252e1b9 100644
--- a/cassandra-source.kamelet.yaml
+++ b/cassandra-source.kamelet.yaml
@@ -1,50 +1,52 @@
-apiVersion: camel.apache.org/v1alpha1
+apiVersion: camel.apache.org/v1
kind: Kamelet
metadata:
name: cassandra-source
annotations:
- camel.apache.org/catalog.version: "2.2.0"
+ camel.apache.org/kamelet.support.level: "Stable"
+ camel.apache.org/catalog.version: "2.2.0-SNAPSHOT"
camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDIyLjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCAzMiAzMiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMzIgMzI7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHRpdGxlPmNhc3NhbmRyYTwvdGl0bGU+CjxwYXRoIGQ9Ik0yMy4zLDguN2MwLDAtMC4zLDAuMy0wLjUsMC41Yy0wLjUsMC41LTEuMiwxLjMtMS43LDEuNWgwYy0wLjEsMC0wLjEsMC0wLjItMC4xbDAuOS0xLjlsMCwwYzAsMC4xLTEsMS45LTIuMiwxLjZsMCwwCgljMCwwLDAsMC0wLjEsMGMwLjYtMC44LDAuOC0xLjUsMC44LTEuNXMtMSwxLjYtMi4zLDEuMmMwLDAtMC4xLDAtMC4xLTAuMWMwLDAsMC0wLjEsMC0wLjFjMC0wLjEsMC4xLTAuMSwwLjEtMC4yCgljMC4xLTAuMiwwLjMtMC41LDAuMy0wLjVTMTguMyw5LjUsMTgsOS43bDAsMGMtMC4yLDAuMS0wLjUsMC4zLTAuNywwLjNjLTAuMSwwLTAuMSwwLTAuMiwwYy0wLjMtMC4xLTAuMy0wLjMtMC4yLTAuNgoJYzAuMS0wLjMsMC4yLTAuNSwwLjItMC41cy0wLjMsMC40LTAuNSwwLjhjLTAuMiwwLjMtMC40LDAuNS0wLjYsMC42bC0wLjIsMGMtMC4xLTAuMiwwLjEtMSwwLjEtMWMtMC4xLDAuMi0wLjMsMC40LTAuNCwwLjYKCWMtMC4xLDAuMi0wLjMsMC4zLTAuNSwwLjRoMGMtMC4xLDAtMC4yLDAtMC4zLDBjMCwwLTAuMS0wLjEtMC4xLTAuMmMtMC4xLTAuNCwwLjItMSwwLjItMWMwLDAtMC4xLDAuMy0wLjMsMC43djAKCWMwLDAuMS0wLjEsMC4yLTAuMSwwLjJjLTAuMSwwLjItMC4yLDAuMy0wLjMsMC4zYy0wLjItMC4xLTAuMy0wLjMtMC4zLTAuNWMtMC4xLTAuMi0wLjEtMC40LTAuMS0wLjRzMCwwLjMtMC4yLDAuNwoJYzAsMC4xLTAuMSwwLjItMC4yLDAuM2MwLDAtMC4xLDAuMS0wLjEsMC4xYy0xLjIsMC4yLTIuNCwwLjYtMy41LDFjLTAuMywwLjEtMC42LDAuMi0wLjksMC4zYy0xLDAuNC0yLDEtMy4xLDEuNwoJYy0xLjIsMC44LTIuMywxLjYtMy40LDIuNmMtMC42LDAuNS0xLjIsMS4xLTEuOCwxLjdjNC43LTIuNiw2LjYtNi4zLDE1LjUtNi43YzYuNy0wLjMsOS45LDIuOCwxMC45LDIuOWMyLjYsMC4xLDQuMy0xLjksNC45LTIuNgoJYzAuMS0wLjIsMC4yLTAuMywwLjItMC4zYzAsMC0wLjQsMC41LTEsMWwwLDBjLTAuNiwwLjUtMS40LDAuOS0yLjEsMC44aDBjLTAuMSwwLTAuMiwwLTAuMywwYzEtMC42LDEuNi0xLjYsMi0yLjEKCWMwLjEtMC4yLDAuMy0wLjUsMC4zLTAuNXMtMi4zLDIuNC00LjEsMi4yYy0wLjEsMC0wLjEsMC0wLjIsMGMwLjgtMC42LDEuMy0xLjQsMS43LTIuMXYwaDBjMC40LTAuNywwLjYtMS4zLDAuNi0xLjMKCWMwLDAtMC40LDAuNy0xLDEuNGwwLDBjLTAuNiwwLjctMS4zLDEuNS0yLDEuN2MtMC4xLDAtMC4yLDAuMS0wLjMsMC4xYzEuNC0xLjMsMi4xLTMuMSwyLjEtMy4xcy0xLjUsMi4xLTIuNywyLjUKCWMtMC4xLDAtMC4yLDAuMS0wLjIsMC4xYzAuOC0wLjcsMS4yLTEuMiwxLjQtMS43YzAuMy0wLjUsMC40LTAuOSwwLjQtMC45bDAsMGMtMC4xLDAuMi0wLjIsMC4zLTAuNCwwLjRsMCwwYy0wLjMsMC40LTAuOSwxLTEuNCwxLjQKCWwwLDBjLTAuMSwwLjEtMC4zLDAuMi0wLjQsMC4zYzAsMC0wLjEsMC4xLTAuMSwwLjFjLTAuMSwwLjEtMC4yLDAuMS0wLjQsMC4yYzAsMC0wLjEsMC0wLjEsMGMtMC4xLTAuMS0wLjItMC4xLTAuMy0wLjIKCWMtMC4xLDAuMS0wLjEsMC4yLTAuMiwwLjJoMGMwLDAtMC4xLDAtMC4xLDBjMS4xLTEuMiwxLjktMi44LDEuOS0yLjhsMCwwYzAsMC0xLjYsMi4xLTIuMywyLjNjLTAuMSwwLTAuMi0wLjEtMC4zLTAuMQoJYzAtMC4xLDAtMC4xLDAuMS0wLjJjMC4yLTAuNCwwLjYtMSwwLjYtMXMtMC4xLDAuMS0wLjIsMC4xYy0wLjEsMC4xLTAuMywwLjItMC40LDAuM2MtMC4xLDAuMS0wLjIsMC4xLTAuMiwwLjEKCWMtMC4xLDAuMS0wLjIsMC4xLTAuMywwLjFjLTAuMSwwLjEtMC4yLDAuMS0wLjMsMC4xYy0wLjEsMC0wLjEsMC0wLjEsMEMyMi4zLDEwLjUsMjMuMyw4LjcsMjMuMyw4LjdMMjMuMyw4Ljd6IE0xNywxMS42CgljLTAuNCwwLTAuOCwwLTEuMiwwYy0wLjQsMC0wLjcsMC0xLjEsMC4xYy0wLjQsMC4yLTAuNywwLjQtMSwwLjZjMCwwLjEsMCwwLjEsMCwwLjJjMCwwLjEsMCwwLjItMC4xLDAuMmwxLjIsMC45bDAsMGwtMC41LTEuNwoJbDAuOCwxLjVjMCwwLDAuMSwwLDAuMSwwbDAtMS42bDAuNSwxLjZsMC42LTEuNWwwLDEuN2MwLDAsMCwwLDAsMGwwLjktMS4zbC0wLjUsMS42bDAsMGwxLjQtMC45bC0xLDEuNHYwbDEuMy0wLjVjMCwwLDAsMCwwLjEtMC4xCgljLTAuMy0wLjQsMC0wLjksMC41LTAuOGMwLjItMC4zLDAuMy0wLjcsMC40LTFDMTguNiwxMS43LDE3LjgsMTEuNiwxNywxMS42TDE3LDExLjZ6IE0xMy42LDExLjhMMTMuNiwxMS44Yy0wLjQsMC0wLjgsMC4xLTEuMiwwLjIKCXMtMC44LDAuMS0xLjEsMC4yaDBjMC4yLDAuNSwwLjQsMSwwLjcsMS40YzAuMS0wLjMsMC4zLTAuNiwwLjUtMC45Yy0wLjItMC41LDAuMy0wLjksMC44LTAuN0MxMy40LDExLjksMTMuNSwxMS44LDEzLjYsMTEuOAoJTDEzLjYsMTEuOHogTTE5LjYsMTEuOWMwLDAuNC0wLjEsMC43LTAuMiwxLjFjMC40LDAuMywwLjEsMS0wLjQsMC45Yy0wLjIsMC4zLTAuNSwwLjYtMC43LDAuOGwwLjksMGwtMS4zLDAuM2MwLDAtMC4xLDAuMS0wLjEsMC4xCgljMC44LDAuMSwxLjUsMC40LDIuMSwwLjljMC40LTAuOCwwLjctMS42LDAuNy0yLjZDMjAuNCwxMi44LDIwLDEyLjMsMTkuNiwxMS45TDE5LjYsMTEuOXogTTExLjEsMTIuMmMtMC40LDAuMS0wLjgsMC4yLTEuMSwwLjMKCWMtMC4yLDAuMy0wLjMsMC43LTAuMywxYzAsMi4yLDEuMyw0LDMuMSw0LjlsMCwwYy0wLjMtMC4zLTAuNi0wLjctMC44LTEuMWMtMC45LDAuMS0xLjItMS4xLTAuNC0xLjRjLTAuMS0wLjYsMC0xLjMsMC4yLTEuOQoJQzExLjUsMTMuNSwxMS4yLDEyLjksMTEuMSwxMi4yTDExLjEsMTIuMnogTTIxLjMsMTIuMmMwLjIsMC41LDAuMywxLjEsMC4zLDEuN2MwLDMuMy0yLjksNS45LTYuNiw1LjljLTMuNiwwLTYuNi0yLjYtNi42LTUuOQoJYzAtMC4zLDAtMC42LDAuMS0wLjljLTEsMC40LTEuOSwwLjktMi44LDEuNWMtMC4zLDAuNS0wLjQsMS4xLTAuNCwxLjZjMC4xLDEuMywxLjMsMi40LDMsMy4ybC0wLjMtMC4xYy0zLjEtMC45LTUuNSwwLjctOC4xLTAuNwoJYzAuNiwwLjUsMS4zLDEsMy4zLDFjMC43LDAsMi45LTAuMSwzLjMsMC4yYzAuNCwwLjMtMS40LDItMS40LDJzMy0yLjUsMy4zLTEuN2MwLjIsMC41LTAuOSwyLTAuOSwyczEtMS40LDEuOC0xLjcKCWMwLjUtMC4yLDEtMC4yLDEuNCwwLjRjMC4yLDAuMy0xLjIsMi4xLTEuMiwyLjFzMi0xLjksMi4zLTEuOGMwLjQsMC4xLDAsMS44LDAsMS44czAuNy0xLjcsMS4xLTEuOWMwLjUtMC4yLTEuMiw0LTEuMiw0CglzMi4xLTMuOSwyLjUtNGMwLjctMC4yLDEuMSwyLjcsMS4xLDIuN3MtMC4zLTIuNSwwLTIuN2MyLjMtMSwxLDQuMywxLDQuM3MxLjUtMy42LDAuNi00LjRjMi40LDEuNiwyLjEsNC40LDIuMSw0LjRzMC42LTEuNC0xLjEtNC43CgljMSwwLDIuNCwyLjUsMi40LDIuNXMtMS42LTIuOC0wLjUtMi44YzIuMS0wLjEsMi4zLDMuNywyLjMsMy43czAuNi0wLjUtMS4xLTQuMmMxLjEtMC43LDMuNywzLjQsMy43LDMuNHMtMi40LTQtMi00LjMKCWMwLjQtMC4zLDEuOCwxLjMsMS44LDEuM3MtMS4xLTEuNS0wLjgtMS42YzAuMy0wLjIsMy4yLDIuOSwzLjIsMi45cy0yLjUtMy0yLjEtMy40YzAuNC0wLjQsMi4zLDEsMi4zLDFzLTIuOC0xLjktMi4zLTIuMgoJYzAuOC0wLjQsMywxLDMsMXMtMS4zLTEuMS0xLjEtMS40YzAuMi0wLjMsMi44LDEuNywyLjgsMS43cy0yLjMtMS44LTIuNC0yLjNjLTAuMS0wLjUsMS44LDAuMiwxLjgsMC4ycy0yLjEtMS0yLjItMS4zCgljMC0wLjMsMS40LDAuMywxLjQsMC4zcy0yLTEuNi0yLjUtMC4zYy0wLjEsMC4yLTAuMiwwLjQtMC40LDAuNmMwLjEtMC40LDAuMi0wLjcsMC4xLTEuMWMwLTAuMSwwLTAuMi0wLjEtMC40CglDMjQuNiwxMy41LDIzLjIsMTIuOCwyMS4zLDEyLjJMMjEuMywxMi4yeiBNMTMuNSwxMi44Yy0wLjEsMC4yLTAuNCwwLjMtMC43LDAuMmMtMC4xLDAuMS0wLjEsMC4yLTAuMiwwLjNsMS43LDAuNmMwLDAsMCwwLDAtMC4xCglMMTMuNSwxMi44eiBNMTIuNywxMy40Yy0wLjEsMC4yLTAuMiwwLjQtMC4zLDAuN2MwLjIsMC4yLDAuMywwLjMsMC41LDAuNWwxLjIsMGwwLDBMMTIuNywxMy40eiBNMTguMiwxNC4xbC0wLjgsMC42bDAuMSwwCglDMTcuOCwxNC41LDE4LDE0LjMsMTguMiwxNC4xeiBNMTIuMiwxNC41QzEyLjIsMTQuNSwxMi4yLDE0LjUsMTIuMiwxNC41Yy0wLjEsMC41LTAuMSwwLjktMC4xLDEuM2MwLjMsMC4xLDAuNiwwLjMsMC42LDAuNmwxLjItMC44CgljLTAuMSwwLTAuMi0wLjEtMC4zLTAuMWwtMS40LTAuMWwwLjgtMC4yQzEyLjgsMTUsMTIuNSwxNC44LDEyLjIsMTQuNUwxMi4yLDE0LjV6IE0xMy4zLDE0LjhjMC4yLDAuMSwwLjQsMC4yLDAuNiwwLjNsMC4yLDAKCWMwLDAsMCwwLDAtMC4xTDEzLjMsMTQuOHogTTE3LjQsMTUuN2wxLjIsMS4yTDE3LDE2LjJsMC45LDEuNGwtMS40LTEuMWwwLDBsMC41LDEuN2wtMC44LTEuNWwtMC4xLDEuOGwtMC41LTEuOGwtMC42LDEuN2wwLjItMS44CglsMCwwTDE0LDE4LjJsMC40LTEuNWMtMC41LDAuNC0wLjgsMS0xLjEsMS42YzAuMSwwLjEsMC4zLDAuMywwLjQsMC40YzIuMiwwLjYsNC42LTAuMyw1LjgtMi4zYy0wLjUtMC4zLTEuMS0wLjYtMS43LTAuN0wxNy40LDE1Ljd6CgkgTTE0LjIsMTZsLTEuNCwwLjVjMCwwLDAsMCwwLDAuMWMwLDAuMi0wLjEsMC40LTAuMiwwLjZjMC4xLDAuMywwLjMsMC42LDAuNSwwLjhjMC4xLTAuMywwLjMtMC42LDAuNC0wLjhMMTMsMTcuNEwxNC4yLDE2egoJIE0xOSwxOS43Yy0wLjIsMC4xLTAuNSwwLjEtMC44LDAuMkMxOC41LDE5LjgsMTguOCwxOS43LDE5LDE5Ljd6IE0xNy42LDIwYy0wLjIsMC0wLjMsMC4xLTAuNSwwLjFjLTAuMywwLTAuNSwwLjEtMC44LDAuMQoJQzE2LjgsMjAuMSwxNy4yLDIwLjEsMTcuNiwyMEwxNy42LDIweiBNMTUuOCwyMC4yYy0wLjEsMC0wLjMsMC0wLjQsMEMxNS41LDIwLjIsMTUuNiwyMC4yLDE1LjgsMjAuMnoiLz4KPC9zdmc+Cg=="
camel.apache.org/provider: "Red Hat"
camel.apache.org/kamelet.group: "Cassandra"
+ camel.apache.org/kamelet.namespace: "Nosql"
labels:
camel.apache.org/kamelet.type: "source"
spec:
definition:
title: "Cassandra Source"
description: |-
- Query a Cassandra cluster table.
+ Send a query to an Apache Cassandra cluster table.
required:
- connectionHost
- connectionPort
- keyspace
- - username
- - password
- query
type: object
properties:
connectionHost:
title: Connection Host
- description: Hostname(s) cassandra server(s). Multiple hosts can be separated by comma.
+ description: The hostname(s) for the Cassandra server(s). Use a comma to separate multiple hostnames.
type: string
example: localhost
connectionPort:
title: Connection Port
- description: Port number of cassandra server(s)
+ description: The port number(s) of the cassandra server(s). Use a comma to separate multiple port numbers.
type: string
example: 9042
keyspace:
- title: Keyspace
- description: Keyspace to use
+ title: Keyspace
+ description: The keyspace to use.
type: string
example: customers
username:
title: Username
- description: The username to use for accessing a secured Cassandra Cluster
+ description: The username for accessing a secured Cassandra cluster.
type: string
+ x-descriptors:
+ - urn:camel:group:credentials
password:
title: Password
- description: The password to use for accessing a secured Cassandra Cluster
+ description: The password for accessing a secured Cassandra cluster.
type: string
format: password
x-descriptors:
@@ -52,18 +54,25 @@ spec:
- urn:camel:group:credentials
resultStrategy:
title: Result Strategy
- description: The strategy to convert the result set of the query. Possible values are ALL, ONE, LIMIT_10, LIMIT_100...
+ description: The strategy to convert the result set of the query.
type: string
default: ALL
+ enum: ["ALL", "ONE", "LIMIT_10", "LIMIT_100"]
consistencyLevel:
title: Consistency Level
- description: Consistency level to use. The value can be one of ANY, ONE, TWO, THREE, QUORUM, ALL, LOCAL_QUORUM, EACH_QUORUM, SERIAL, LOCAL_SERIAL, LOCAL_ONE
+ description: The consistency level to use.
type: string
default: QUORUM
+ enum: ["ONE", "TWO", "THREE", "QUORUM", "ALL", "LOCAL_QUORUM", "EACH_QUORUM", "SERIAL", "LOCAL_SERIAL", "LOCAL_ONE"]
query:
title: Query
- description: The query to execute against the Cassandra cluster table
+ description: The query to execute against the Cassandra cluster table.
+ type: string
+ extraTypeCodecs:
+ title: Extra Type Codecs
+ description: To use a specific comma separated list of Extra Type codecs.
type: string
+ enum: ["BLOB_TO_ARRAY", "BOOLEAN_LIST_TO_ARRAY", "BYTE_LIST_TO_ARRAY", "SHORT_LIST_TO_ARRAY", "INT_LIST_TO_ARRAY", "LONG_LIST_TO_ARRAY", "FLOAT_LIST_TO_ARRAY", "DOUBLE_LIST_TO_ARRAY", "TIMESTAMP_UTC", "TIMESTAMP_MILLIS_SYSTEM", "TIMESTAMP_MILLIS_UTC", "ZONED_TIMESTAMP_SYSTEM", "ZONED_TIMESTAMP_UTC", "ZONED_TIMESTAMP_PERSISTED", "LOCAL_TIMESTAMP_SYSTEM", "LOCAL_TIMESTAMP_UTC"]
types:
out:
mediaType: application/json
@@ -75,11 +84,12 @@ spec:
from:
uri: "cql://{{connectionHost}}:{{connectionPort}}/{{keyspace}}"
parameters:
- username: "{{username}}"
- password: "{{password}}"
+ username: "{{?username}}"
+ password: "{{?password}}"
cql: "{{query}}"
consistencyLevel: "{{consistencyLevel}}"
resultSetConversionStrategy: "{{resultStrategy}}"
+ extraTypeCodecs: "{{?extraTypeCodecs}}"
steps:
- marshal:
json: {}
diff --git a/ceph-sink.kamelet.yaml b/ceph-sink.kamelet.yaml
index 1c761056d..4219a3534 100644
--- a/ceph-sink.kamelet.yaml
+++ b/ceph-sink.kamelet.yaml
@@ -1,12 +1,14 @@
-apiVersion: camel.apache.org/v1alpha1
+apiVersion: camel.apache.org/v1
kind: Kamelet
metadata:
name: ceph-sink
annotations:
- camel.apache.org/catalog.version: "2.2.0"
+ camel.apache.org/kamelet.support.level: "Stable"
+ camel.apache.org/catalog.version: "2.2.0-SNAPSHOT"
camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4gPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNjAiIGhlaWdodD0iMTU3IiB2aWV3Qm94PSIwIDAgMTYwIDE1NyIgZmlsbD0ibm9uZSI+PGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwKSI+PHBhdGggZD0iTTc5LjgxNTIgOTYuMDczOUM4OC42ODM2IDk2LjA3MzkgOTUuNzA0NCA4OS4wNTMxIDk1LjcwNDQgODAuMTg0OEM5NS43MDQ0IDcxLjMxNjQgODguNjgzNiA2NC4yOTU2IDc5LjgxNTIgNjQuMjk1NkM3MC45NDY5IDY0LjI5NTYgNjMuOTI2MSA3MS4zMTY0IDYzLjkyNjEgODAuMTg0OEM2My45MjYxIDg4LjY4MzYgNzEuMzE2NCA5Ni4wNzM5IDc5LjgxNTIgOTYuMDczOVpNMTAxLjI0NyAxNTYuMzA1TDEwNS42ODEgMTU0LjgyN0MxMTAuMTE1IDE1My4zNDkgMTE0LjkxOSAxNTEuNTAxIDExOC45ODQgMTQ4LjkxNUMxMTEuNTk0IDE0NC44NSAxMDcuMTU5IDEzNy40NiAxMDcuMTU5IDEyOC45NjFDMTA3LjE1OSAxMjMuNDE4IDEwOS4zNzYgMTE4LjI0NSAxMTMuNDQxIDExMy4wNzJDMTEzLjQ0MSAxMTMuMDcyIDExMy40NDEgMTEzLjA3MiAxMTMuODExIDExMi43MDJMMTE0LjkxOSAxMTEuMjI0QzExNi4wMjggMTA5Ljc0NiAxMTcuMTM2IDEwOC42MzcgMTE4LjI0NSAxMDcuMTU5QzEyMS45NCAxMDEuOTg2IDEyNC44OTYgOTYuMDczOSAxMjYuMzc0IDg5Ljc5MjJDMTI3Ljg1MiA4Mi43NzE0IDEyOC4yMjIgNzUuNzUwNiAxMjYuNzQ0IDY4LjcyOThDMTI1LjI2NiA2Mi40NDggMTIyLjY3OSA1Ni4xNjYzIDExOC45ODQgNTAuOTkzMUMxMTUuMjg5IDQ1LjgxOTkgMTEwLjg1NSA0MS4zODU3IDEwNS4zMTIgMzguMDZDOTkuNzY5MSAzNC43MzQ0IDkzLjQ4NzMgMzIuMTQ3OCA4Ni44MzYgMzEuNDA4OEM4NC42MTg5IDMxLjAzOTMgODIuNDAxOSAzMS4wMzkzIDgwLjE4NDggMzEuMDM5M0g3OS40NDU3Qzc3LjIyODYgMzEuMDM5MyA3NS4wMTE2IDMxLjAzOTMgNzIuNzk0NSAzMS40MDg4QzY2LjE0MzIgMzIuNTE3MyA1OS44NjE0IDM0LjczNDQgNTQuMzE4NyAzOC4wNkM0OS4xNDU1IDQxLjM4NTcgNDQuMzQxOCA0NS44MTk5IDQwLjY0NjcgNTAuOTkzMUMzNi45NTE1IDU2LjE2NjMgMzMuOTk1NCA2Mi40NDggMzIuODg2OCA2OC43Mjk4QzMxLjQwODggNzUuNzUwNiAzMS40MDg4IDgyLjc3MTQgMzMuMjU2NCA4OS40MjI2QzM0LjczNDQgOTUuNzA0NCAzNy42OTA1IDEwMS42MTcgNDEuMzg1NyAxMDYuNzlMNDQuNzExMyAxMTAuODU1TDQ1LjgxOTkgMTEyLjMzM0M0OS44ODQ1IDExNy4xMzYgNTIuMTAxNiAxMjIuNjc5IDUyLjEwMTYgMTI4LjIyMkM1Mi4xMDE2IDEzNi43MjEgNDcuMjk3OSAxNDQuMTExIDQwLjI3NzEgMTQ4LjE3NkM0NC4zNDE4IDE1MC4zOTMgNDkuMTQ1NSAxNTIuNjEgNTMuNTc5NyAxNTQuMDg4TDU4LjM4MzQgMTU1LjU2NkM1OS4xMjI0IDE1NC44MjcgNjIuNDQ4IDE1Mi42MSA2NS40MDQyIDE0OC4xNzZDNjguMzYwMyAxNDQuMTExIDcxLjY4NTkgMTM3LjQ2IDcxLjY4NTkgMTI4LjIyMkM3MS42ODU5IDEyMi42NzkgNzAuNTc3NCAxMTcuNTA2IDY4LjM2MDMgMTEyLjMzM0M2Ni4xNDMyIDEwNy4xNTkgNjMuMTg3MSAxMDIuNzI1IDU5LjQ5MTkgOTguNjYwNUw1OC43NTI5IDk3LjU1MkM1Ny4yNzQ4IDk2LjA3MzkgNTUuNzk2OCA5NC4yMjYzIDU0LjY4ODIgOTIuMzc4OEM1My4yMTAyIDg5Ljc5MjIgNTIuMTAxNiA4Ny41NzUxIDUxLjczMjEgODQuNjE4OUM1MC42MjM2IDgwLjU1NDMgNTAuNjIzNiA3Ni40ODk2IDUxLjczMjEgNzIuNDI0OUM1Mi40NzExIDY4LjcyOTggNTMuOTQ5MiA2NS4wMzQ2IDU2LjE2NjMgNjIuMDc4NUM1OC4zODM0IDU5LjEyMjQgNjAuOTcgNTYuNTM1OCA2NC4yOTU2IDU0LjMxODdDNjcuNjIxMiA1Mi4xMDE2IDcxLjMxNjQgNTAuOTkzMSA3NS4wMTE1IDUwLjI1NEM3Ni40ODk2IDQ5Ljg4NDUgNzcuNTk4MiA0OS44ODQ1IDc5LjA3NjIgNDkuODg0NUg3OS44MTUyQzgxLjI5MzMgNDkuODg0NSA4Mi40MDE5IDQ5Ljg4NDUgODMuODc5OSA1MC4yNTRDODcuNTc1MSA1MC42MjM2IDkxLjI3MDIgNTIuMTAxNiA5NC41OTU4IDU0LjMxODdDOTcuOTIxNSA1Ni4xNjYzIDEwMC41MDggNTguNzUyOSAxMDIuNzI1IDYyLjA3ODVDMTA0Ljk0MiA2NS4wMzQ2IDEwNi40MiA2OC43Mjk4IDEwNy4xNTkgNzIuNDI0OUMxMDcuODk4IDc2LjQ4OTYgMTA3Ljg5OCA4MC41NTQzIDEwNy4xNTkgODQuNjE4OUMxMDYuNDIgODcuMjA1NSAxMDUuNjgxIDg5Ljc5MjIgMTA0LjIwMyA5Mi4zNzg4QzEwMy4wOTUgOTQuMjI2MyAxMDEuNjE3IDk2LjA3MzkgMTAwLjEzOSA5Ny41NTJMOTkuMzk5NSA5OC42NjA1Qzk1LjcwNDQgMTAyLjcyNSA5Mi43NDgzIDEwNy4xNTkgOTAuNTMxMiAxMTIuMzMzQzg4LjMxNDEgMTE3LjUwNiA4Ny4yMDU1IDEyMi42NzkgODcuMjA1NSAxMjguMjIyQzg3LjIwNTUgMTM3LjQ2IDkwLjUzMTIgMTQ0LjExMSA5My40ODczIDE0OC4xNzZDOTYuODEyOSAxNTMuMzQ5IDEwMC4xMzkgMTU1LjkzNSAxMDEuMjQ3IDE1Ni4zMDVaTTEzMC40MzkgMTQxLjUyNEMxMzkuMzA3IDEzNC4xMzQgMTQ3LjA2NyAxMjQuNTI3IDE1MS44NzEgMTE0LjU1QzE1NC40NTcgMTA5LjM3NiAxNTYuMzA1IDEwMy40NjQgMTU3Ljc4MyA5Ny45MjE1QzE1OS4yNjEgOTIuMDA5MiAxNjAgODUuNzI3NSAxNjAgNzkuODE1MkMxNjAgNjkuMDk5MyAxNTcuNzgzIDU4LjM4MzQgMTUzLjcxOCA0OC43NzZDMTQ5LjY1NCAzOS4xNjg2IDE0My43NDEgMzAuNjY5NyAxMzYuNzIxIDIzLjI3OTRDMTI5LjMzIDE1Ljg4OTEgMTIwLjgzMSAxMC4zNDY0IDExMS4yMjQgNi4yODE3NkMxMDEuMjQ3IDIuMjE3MDkgOTAuOTAwNyAwIDgwLjE4NDggMEg3OS44MTUyQzY5LjA5OTMgMCA1OC4zODM0IDIuMjE3MDkgNDguNzc2IDYuMjgxNzZDMzkuMTY4NiAxMC4zNDY0IDMwLjY2OTcgMTYuMjU4NyAyMy4yNzk0IDIzLjI3OTRDMTUuODg5MSAzMC42Njk3IDEwLjM0NjQgMzkuMTY4NiA2LjI4MTc2IDQ4Ljc3NkMyLjIxNzA5IDU4Ljc1MjkgMCA2OS4wOTkzIDAgNzkuODE1MkMwIDg2LjA5NyAwLjczOTAzIDkyLjAwOTIgMi4yMTcwOSA5Ny45MjE1QzMuNjk1MTUgMTAzLjgzNCA1LjU0MjczIDEwOS4zNzYgOC4xMjkzMyAxMTQuNTVDMTIuOTMzIDEyNC41MjcgMjAuNjkyOCAxMzQuMTM0IDI5LjU2MTIgMTQxLjUyNEMzNS40NzM0IDEzOC4xOTkgMzguNDI5NiAxMzQuODczIDM5LjE2ODYgMTMxLjE3OEMzOS45MDc2IDEyNy40ODMgMzguNDI5NiAxMjMuNzg4IDM0LjM2NDkgMTE4Ljk4NEMyNC43NTc1IDEwNy44OTggMTkuNTg0MyA5My44NTY4IDE5LjU4NDMgNzkuNDQ1N0MxOS41ODQzIDQ2LjE4OTQgNDYuNTU4OSAxOS4yMTQ4IDc5LjgxNTIgMTguODQ1M0g4MC4xODQ4SDgwLjU1NDNDMTEzLjgxMSAxOC44NDUzIDE0MC43ODUgNDUuODE5OSAxNDAuNzg1IDc5LjQ0NTdDMTQwLjc4NSA5My44NTY4IDEzNS42MTIgMTA4LjI2OCAxMjYuMDA1IDExOC45ODRDMTIxLjk0IDEyMy43ODggMTIwLjQ2MiAxMjcuNDgzIDEyMS4yMDEgMTMxLjE3OEMxMjEuNTcgMTM0Ljg3MyAxMjQuODk2IDEzOC41NjggMTMwLjQzOSAxNDEuNTI0WiIgZmlsbD0iI0VGNDI0RCI+PC9wYXRoPjwvZz48ZGVmcz48Y2xpcFBhdGggaWQ9ImNsaXAwIj48cmVjdCB3aWR0aD0iMTYwIiBoZWlnaHQ9IjE1Ni4zMDUiIGZpbGw9IndoaXRlIj48L3JlY3Q+PC9jbGlwUGF0aD48L2RlZnM+PC9zdmc+IA=="
camel.apache.org/provider: "Red Hat"
camel.apache.org/kamelet.group: "Ceph"
+ camel.apache.org/kamelet.namespace: "Cloud"
labels:
camel.apache.org/kamelet.type: "sink"
spec:
diff --git a/ceph-source.kamelet.yaml b/ceph-source.kamelet.yaml
index 9885e5764..f40123890 100644
--- a/ceph-source.kamelet.yaml
+++ b/ceph-source.kamelet.yaml
@@ -1,12 +1,14 @@
-apiVersion: camel.apache.org/v1alpha1
+apiVersion: camel.apache.org/v1
kind: Kamelet
metadata:
name: ceph-source
annotations:
- camel.apache.org/catalog.version: "2.2.0"
+ camel.apache.org/kamelet.support.level: "Stable"
+ camel.apache.org/catalog.version: "2.2.0-SNAPSHOT"
camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4gPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNjAiIGhlaWdodD0iMTU3IiB2aWV3Qm94PSIwIDAgMTYwIDE1NyIgZmlsbD0ibm9uZSI+PGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwKSI+PHBhdGggZD0iTTc5LjgxNTIgOTYuMDczOUM4OC42ODM2IDk2LjA3MzkgOTUuNzA0NCA4OS4wNTMxIDk1LjcwNDQgODAuMTg0OEM5NS43MDQ0IDcxLjMxNjQgODguNjgzNiA2NC4yOTU2IDc5LjgxNTIgNjQuMjk1NkM3MC45NDY5IDY0LjI5NTYgNjMuOTI2MSA3MS4zMTY0IDYzLjkyNjEgODAuMTg0OEM2My45MjYxIDg4LjY4MzYgNzEuMzE2NCA5Ni4wNzM5IDc5LjgxNTIgOTYuMDczOVpNMTAxLjI0NyAxNTYuMzA1TDEwNS42ODEgMTU0LjgyN0MxMTAuMTE1IDE1My4zNDkgMTE0LjkxOSAxNTEuNTAxIDExOC45ODQgMTQ4LjkxNUMxMTEuNTk0IDE0NC44NSAxMDcuMTU5IDEzNy40NiAxMDcuMTU5IDEyOC45NjFDMTA3LjE1OSAxMjMuNDE4IDEwOS4zNzYgMTE4LjI0NSAxMTMuNDQxIDExMy4wNzJDMTEzLjQ0MSAxMTMuMDcyIDExMy40NDEgMTEzLjA3MiAxMTMuODExIDExMi43MDJMMTE0LjkxOSAxMTEuMjI0QzExNi4wMjggMTA5Ljc0NiAxMTcuMTM2IDEwOC42MzcgMTE4LjI0NSAxMDcuMTU5QzEyMS45NCAxMDEuOTg2IDEyNC44OTYgOTYuMDczOSAxMjYuMzc0IDg5Ljc5MjJDMTI3Ljg1MiA4Mi43NzE0IDEyOC4yMjIgNzUuNzUwNiAxMjYuNzQ0IDY4LjcyOThDMTI1LjI2NiA2Mi40NDggMTIyLjY3OSA1Ni4xNjYzIDExOC45ODQgNTAuOTkzMUMxMTUuMjg5IDQ1LjgxOTkgMTEwLjg1NSA0MS4zODU3IDEwNS4zMTIgMzguMDZDOTkuNzY5MSAzNC43MzQ0IDkzLjQ4NzMgMzIuMTQ3OCA4Ni44MzYgMzEuNDA4OEM4NC42MTg5IDMxLjAzOTMgODIuNDAxOSAzMS4wMzkzIDgwLjE4NDggMzEuMDM5M0g3OS40NDU3Qzc3LjIyODYgMzEuMDM5MyA3NS4wMTE2IDMxLjAzOTMgNzIuNzk0NSAzMS40MDg4QzY2LjE0MzIgMzIuNTE3MyA1OS44NjE0IDM0LjczNDQgNTQuMzE4NyAzOC4wNkM0OS4xNDU1IDQxLjM4NTcgNDQuMzQxOCA0NS44MTk5IDQwLjY0NjcgNTAuOTkzMUMzNi45NTE1IDU2LjE2NjMgMzMuOTk1NCA2Mi40NDggMzIuODg2OCA2OC43Mjk4QzMxLjQwODggNzUuNzUwNiAzMS40MDg4IDgyLjc3MTQgMzMuMjU2NCA4OS40MjI2QzM0LjczNDQgOTUuNzA0NCAzNy42OTA1IDEwMS42MTcgNDEuMzg1NyAxMDYuNzlMNDQuNzExMyAxMTAuODU1TDQ1LjgxOTkgMTEyLjMzM0M0OS44ODQ1IDExNy4xMzYgNTIuMTAxNiAxMjIuNjc5IDUyLjEwMTYgMTI4LjIyMkM1Mi4xMDE2IDEzNi43MjEgNDcuMjk3OSAxNDQuMTExIDQwLjI3NzEgMTQ4LjE3NkM0NC4zNDE4IDE1MC4zOTMgNDkuMTQ1NSAxNTIuNjEgNTMuNTc5NyAxNTQuMDg4TDU4LjM4MzQgMTU1LjU2NkM1OS4xMjI0IDE1NC44MjcgNjIuNDQ4IDE1Mi42MSA2NS40MDQyIDE0OC4xNzZDNjguMzYwMyAxNDQuMTExIDcxLjY4NTkgMTM3LjQ2IDcxLjY4NTkgMTI4LjIyMkM3MS42ODU5IDEyMi42NzkgNzAuNTc3NCAxMTcuNTA2IDY4LjM2MDMgMTEyLjMzM0M2Ni4xNDMyIDEwNy4xNTkgNjMuMTg3MSAxMDIuNzI1IDU5LjQ5MTkgOTguNjYwNUw1OC43NTI5IDk3LjU1MkM1Ny4yNzQ4IDk2LjA3MzkgNTUuNzk2OCA5NC4yMjYzIDU0LjY4ODIgOTIuMzc4OEM1My4yMTAyIDg5Ljc5MjIgNTIuMTAxNiA4Ny41NzUxIDUxLjczMjEgODQuNjE4OUM1MC42MjM2IDgwLjU1NDMgNTAuNjIzNiA3Ni40ODk2IDUxLjczMjEgNzIuNDI0OUM1Mi40NzExIDY4LjcyOTggNTMuOTQ5MiA2NS4wMzQ2IDU2LjE2NjMgNjIuMDc4NUM1OC4zODM0IDU5LjEyMjQgNjAuOTcgNTYuNTM1OCA2NC4yOTU2IDU0LjMxODdDNjcuNjIxMiA1Mi4xMDE2IDcxLjMxNjQgNTAuOTkzMSA3NS4wMTE1IDUwLjI1NEM3Ni40ODk2IDQ5Ljg4NDUgNzcuNTk4MiA0OS44ODQ1IDc5LjA3NjIgNDkuODg0NUg3OS44MTUyQzgxLjI5MzMgNDkuODg0NSA4Mi40MDE5IDQ5Ljg4NDUgODMuODc5OSA1MC4yNTRDODcuNTc1MSA1MC42MjM2IDkxLjI3MDIgNTIuMTAxNiA5NC41OTU4IDU0LjMxODdDOTcuOTIxNSA1Ni4xNjYzIDEwMC41MDggNTguNzUyOSAxMDIuNzI1IDYyLjA3ODVDMTA0Ljk0MiA2NS4wMzQ2IDEwNi40MiA2OC43Mjk4IDEwNy4xNTkgNzIuNDI0OUMxMDcuODk4IDc2LjQ4OTYgMTA3Ljg5OCA4MC41NTQzIDEwNy4xNTkgODQuNjE4OUMxMDYuNDIgODcuMjA1NSAxMDUuNjgxIDg5Ljc5MjIgMTA0LjIwMyA5Mi4zNzg4QzEwMy4wOTUgOTQuMjI2MyAxMDEuNjE3IDk2LjA3MzkgMTAwLjEzOSA5Ny41NTJMOTkuMzk5NSA5OC42NjA1Qzk1LjcwNDQgMTAyLjcyNSA5Mi43NDgzIDEwNy4xNTkgOTAuNTMxMiAxMTIuMzMzQzg4LjMxNDEgMTE3LjUwNiA4Ny4yMDU1IDEyMi42NzkgODcuMjA1NSAxMjguMjIyQzg3LjIwNTUgMTM3LjQ2IDkwLjUzMTIgMTQ0LjExMSA5My40ODczIDE0OC4xNzZDOTYuODEyOSAxNTMuMzQ5IDEwMC4xMzkgMTU1LjkzNSAxMDEuMjQ3IDE1Ni4zMDVaTTEzMC40MzkgMTQxLjUyNEMxMzkuMzA3IDEzNC4xMzQgMTQ3LjA2NyAxMjQuNTI3IDE1MS44NzEgMTE0LjU1QzE1NC40NTcgMTA5LjM3NiAxNTYuMzA1IDEwMy40NjQgMTU3Ljc4MyA5Ny45MjE1QzE1OS4yNjEgOTIuMDA5MiAxNjAgODUuNzI3NSAxNjAgNzkuODE1MkMxNjAgNjkuMDk5MyAxNTcuNzgzIDU4LjM4MzQgMTUzLjcxOCA0OC43NzZDMTQ5LjY1NCAzOS4xNjg2IDE0My43NDEgMzAuNjY5NyAxMzYuNzIxIDIzLjI3OTRDMTI5LjMzIDE1Ljg4OTEgMTIwLjgzMSAxMC4zNDY0IDExMS4yMjQgNi4yODE3NkMxMDEuMjQ3IDIuMjE3MDkgOTAuOTAwNyAwIDgwLjE4NDggMEg3OS44MTUyQzY5LjA5OTMgMCA1OC4zODM0IDIuMjE3MDkgNDguNzc2IDYuMjgxNzZDMzkuMTY4NiAxMC4zNDY0IDMwLjY2OTcgMTYuMjU4NyAyMy4yNzk0IDIzLjI3OTRDMTUuODg5MSAzMC42Njk3IDEwLjM0NjQgMzkuMTY4NiA2LjI4MTc2IDQ4Ljc3NkMyLjIxNzA5IDU4Ljc1MjkgMCA2OS4wOTkzIDAgNzkuODE1MkMwIDg2LjA5NyAwLjczOTAzIDkyLjAwOTIgMi4yMTcwOSA5Ny45MjE1QzMuNjk1MTUgMTAzLjgzNCA1LjU0MjczIDEwOS4zNzYgOC4xMjkzMyAxMTQuNTVDMTIuOTMzIDEyNC41MjcgMjAuNjkyOCAxMzQuMTM0IDI5LjU2MTIgMTQxLjUyNEMzNS40NzM0IDEzOC4xOTkgMzguNDI5NiAxMzQuODczIDM5LjE2ODYgMTMxLjE3OEMzOS45MDc2IDEyNy40ODMgMzguNDI5NiAxMjMuNzg4IDM0LjM2NDkgMTE4Ljk4NEMyNC43NTc1IDEwNy44OTggMTkuNTg0MyA5My44NTY4IDE5LjU4NDMgNzkuNDQ1N0MxOS41ODQzIDQ2LjE4OTQgNDYuNTU4OSAxOS4yMTQ4IDc5LjgxNTIgMTguODQ1M0g4MC4xODQ4SDgwLjU1NDNDMTEzLjgxMSAxOC44NDUzIDE0MC43ODUgNDUuODE5OSAxNDAuNzg1IDc5LjQ0NTdDMTQwLjc4NSA5My44NTY4IDEzNS42MTIgMTA4LjI2OCAxMjYuMDA1IDExOC45ODRDMTIxLjk0IDEyMy43ODggMTIwLjQ2MiAxMjcuNDgzIDEyMS4yMDEgMTMxLjE3OEMxMjEuNTcgMTM0Ljg3MyAxMjQuODk2IDEzOC41NjggMTMwLjQzOSAxNDEuNTI0WiIgZmlsbD0iI0VGNDI0RCI+PC9wYXRoPjwvZz48ZGVmcz48Y2xpcFBhdGggaWQ9ImNsaXAwIj48cmVjdCB3aWR0aD0iMTYwIiBoZWlnaHQ9IjE1Ni4zMDUiIGZpbGw9IndoaXRlIj48L3JlY3Q+PC9jbGlwUGF0aD48L2RlZnM+PC9zdmc+IA=="
camel.apache.org/provider: "Red Hat"
camel.apache.org/kamelet.group: "Ceph"
+ camel.apache.org/kamelet.namespace: "Cloud"
labels:
camel.apache.org/kamelet.type: "source"
spec:
diff --git a/docs/modules/ROOT/assets/images/kamelets/aws-cloudwatch-sink.svg b/docs/modules/ROOT/assets/images/kamelets/aws-cloudwatch-sink.svg
deleted file mode 100644
index 9e245bfd9..000000000
--- a/docs/modules/ROOT/assets/images/kamelets/aws-cloudwatch-sink.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/docs/modules/ROOT/assets/images/kamelets/aws-ddb-streams-source.svg b/docs/modules/ROOT/assets/images/kamelets/aws-ddb-streams-source.svg
deleted file mode 100644
index c0f23d9da..000000000
--- a/docs/modules/ROOT/assets/images/kamelets/aws-ddb-streams-source.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/docs/modules/ROOT/assets/images/kamelets/aws-kinesis-firehose-sink.svg b/docs/modules/ROOT/assets/images/kamelets/aws-kinesis-firehose-sink.svg
deleted file mode 100644
index be6db90a5..000000000
--- a/docs/modules/ROOT/assets/images/kamelets/aws-kinesis-firehose-sink.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/docs/modules/ROOT/assets/images/kamelets/aws-sqs-fifo-sink.svg b/docs/modules/ROOT/assets/images/kamelets/aws-sqs-fifo-sink.svg
index 04656a393..9676edfc5 100644
--- a/docs/modules/ROOT/assets/images/kamelets/aws-sqs-fifo-sink.svg
+++ b/docs/modules/ROOT/assets/images/kamelets/aws-sqs-fifo-sink.svg
@@ -1 +1,81 @@
-
\ No newline at end of file
+
+
diff --git a/docs/modules/ROOT/assets/images/kamelets/aws-sqs-sink.svg b/docs/modules/ROOT/assets/images/kamelets/aws-sqs-sink.svg
index 04656a393..9676edfc5 100644
--- a/docs/modules/ROOT/assets/images/kamelets/aws-sqs-sink.svg
+++ b/docs/modules/ROOT/assets/images/kamelets/aws-sqs-sink.svg
@@ -1 +1,81 @@
-
\ No newline at end of file
+
+
diff --git a/docs/modules/ROOT/assets/images/kamelets/aws-sqs-source.svg b/docs/modules/ROOT/assets/images/kamelets/aws-sqs-source.svg
index 04656a393..9676edfc5 100644
--- a/docs/modules/ROOT/assets/images/kamelets/aws-sqs-source.svg
+++ b/docs/modules/ROOT/assets/images/kamelets/aws-sqs-source.svg
@@ -1 +1,81 @@
-
\ No newline at end of file
+
+
diff --git a/docs/modules/ROOT/assets/images/kamelets/azure-servicebus-sink.svg b/docs/modules/ROOT/assets/images/kamelets/azure-servicebus-sink.svg
deleted file mode 100644
index f7153ccde..000000000
--- a/docs/modules/ROOT/assets/images/kamelets/azure-servicebus-sink.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/docs/modules/ROOT/assets/images/kamelets/azure-servicebus-source.svg b/docs/modules/ROOT/assets/images/kamelets/azure-servicebus-source.svg
deleted file mode 100644
index f7153ccde..000000000
--- a/docs/modules/ROOT/assets/images/kamelets/azure-servicebus-source.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/docs/modules/ROOT/assets/images/kamelets/azure-storage-blob-append-sink.svg b/docs/modules/ROOT/assets/images/kamelets/azure-storage-blob-append-sink.svg
deleted file mode 100644
index 5065cb059..000000000
--- a/docs/modules/ROOT/assets/images/kamelets/azure-storage-blob-append-sink.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/docs/modules/ROOT/assets/images/kamelets/ftps-sink.svg b/docs/modules/ROOT/assets/images/kamelets/ftps-sink.svg
deleted file mode 100644
index 2faddf298..000000000
--- a/docs/modules/ROOT/assets/images/kamelets/ftps-sink.svg
+++ /dev/null
@@ -1,89 +0,0 @@
-
-
-
diff --git a/docs/modules/ROOT/assets/images/kamelets/ftps-source.svg b/docs/modules/ROOT/assets/images/kamelets/ftps-source.svg
deleted file mode 100644
index 2faddf298..000000000
--- a/docs/modules/ROOT/assets/images/kamelets/ftps-source.svg
+++ /dev/null
@@ -1,89 +0,0 @@
-
-
-
diff --git a/docs/modules/ROOT/assets/images/kamelets/jms-ibm-mq-sink.svg b/docs/modules/ROOT/assets/images/kamelets/jms-ibm-mq-sink.svg
index 312ce54db..5c45015cc 100644
--- a/docs/modules/ROOT/assets/images/kamelets/jms-ibm-mq-sink.svg
+++ b/docs/modules/ROOT/assets/images/kamelets/jms-ibm-mq-sink.svg
@@ -1 +1,28 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/docs/modules/ROOT/assets/images/kamelets/jms-ibm-mq-source.svg b/docs/modules/ROOT/assets/images/kamelets/jms-ibm-mq-source.svg
index 312ce54db..5c45015cc 100644
--- a/docs/modules/ROOT/assets/images/kamelets/jms-ibm-mq-source.svg
+++ b/docs/modules/ROOT/assets/images/kamelets/jms-ibm-mq-source.svg
@@ -1 +1,28 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/docs/modules/ROOT/assets/images/kamelets/kafka-manual-commit-action.svg b/docs/modules/ROOT/assets/images/kamelets/kafka-manual-commit-action.svg
deleted file mode 100644
index fa06352da..000000000
--- a/docs/modules/ROOT/assets/images/kamelets/kafka-manual-commit-action.svg
+++ /dev/null
@@ -1,59 +0,0 @@
-
-
diff --git a/docs/modules/ROOT/assets/images/kamelets/mysql-sink.svg b/docs/modules/ROOT/assets/images/kamelets/mysql-sink.svg
index e7224e288..fc4ab87f8 100644
--- a/docs/modules/ROOT/assets/images/kamelets/mysql-sink.svg
+++ b/docs/modules/ROOT/assets/images/kamelets/mysql-sink.svg
@@ -1,4 +1,4 @@
-